svn commit: r1153560 [5/15] - in /ofbiz/branches/jackrabbit20100709: ./ applications/accounting/config/ applications/accounting/data/ applications/accounting/entitydef/ applications/accounting/script/org/ofbiz/accounting/invoice/ applications/accountin...

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

svn commit: r1153560 [5/15] - in /ofbiz/branches/jackrabbit20100709: ./ applications/accounting/config/ applications/accounting/data/ applications/accounting/entitydef/ applications/accounting/script/org/ofbiz/accounting/invoice/ applications/accountin...

sascharodekamp
Modified: ofbiz/branches/jackrabbit20100709/applications/order/config/OrderUiLabels.xml
URL: http://svn.apache.org/viewvc/ofbiz/branches/jackrabbit20100709/applications/order/config/OrderUiLabels.xml?rev=1153560&r1=1153559&r2=1153560&view=diff
==============================================================================
--- ofbiz/branches/jackrabbit20100709/applications/order/config/OrderUiLabels.xml (original)
+++ ofbiz/branches/jackrabbit20100709/applications/order/config/OrderUiLabels.xml Wed Aug  3 16:12:58 2011
@@ -306,6 +306,7 @@
     </property>
     <property key="FormFieldTitle_expectedItemStatus">
         <value xml:lang="en">Expected Item Status</value>
+        <value xml:lang="fr">Statut des lignes en exception</value>
         <value xml:lang="it">Stato riga atteso</value>
         <value xml:lang="pt_BR">Estado esperado par ao item</value>
         <value xml:lang="zh">期望的明细状态</value>
@@ -548,6 +549,7 @@
     </property>
     <property key="FormFieldTitle_noteDateTime">
         <value xml:lang="en">Note Date Time</value>
+        <value xml:lang="">Date de la note</value>
         <value xml:lang="it">Data ora nota</value>
         <value xml:lang="nl">Notitiedatum-tijd</value>
         <value xml:lang="pt_BR">Data e hora da nota</value>
@@ -746,6 +748,7 @@
     </property>
     <property key="FormFieldTitle_quantityPurchased">
         <value xml:lang="en">Quantity Purchased</value>
+        <value xml:lang="fr">Quantité achetée</value>
         <value xml:lang="it">Quantità acquistata</value>
         <value xml:lang="pt_BR">Quantidade comprada</value>
         <value xml:lang="zh">采购数量</value>
@@ -976,6 +979,7 @@
     </property>
     <property key="FormFieldTitle_salesChannelEnumId">
         <value xml:lang="en">Sales Channel Enum Id</value>
+        <value xml:lang="fr">Canal de vente</value>
         <value xml:lang="it">Canale di vendita</value>
         <value xml:lang="nl">Verkoopkanaal ID</value>
         <value xml:lang="pt_BR">ID de enumeração de canal de vendas</value>
@@ -1065,6 +1069,7 @@
     </property>
     <property key="FormFieldTitle_shoppingListItemSeqId">
         <value xml:lang="en">Shopping List Item Seq Id</value>
+        <value xml:lang="fr">Ligne de liste d'achat</value>
         <value xml:lang="it">Seq. riga lista d'acquisto</value>
         <value xml:lang="pt_BR">ID de sequência de item da lista de compras</value>
         <value xml:lang="zh">购物列表明细序列号</value>
@@ -1499,6 +1504,7 @@
     </property>
     <property key="OrderAddQntToOrder">
         <value xml:lang="en">to Order</value>
+        <value xml:lang="fr">à la commande</value>
         <value xml:lang="it">all'ordine</value>
         <value xml:lang="pt_BR">a encomendar</value>
         <value xml:lang="zh">到订单</value>
@@ -1582,6 +1588,7 @@
     </property>
     <property key="OrderAddressVerification">
         <value xml:lang="en">Address Verification (AVS)</value>
+        <value xml:lang="fr">Vérification d'adresse (AVS)</value>
         <value xml:lang="it">Verifica indirizzo (AVS)</value>
         <value xml:lang="pt_BR">Verificação de endereço</value>
     </property>
@@ -1634,6 +1641,7 @@
     </property>
     <property key="OrderAffiliate">
         <value xml:lang="en">Affiliate</value>
+        <value xml:lang="fr">Affilié</value>
         <value xml:lang="it">Affiliato</value>
         <value xml:lang="pt_BR">Afiliado</value>
         <value xml:lang="zh">分支机构</value>
@@ -2036,6 +2044,7 @@
     </property>
     <property key="OrderBoxNumber">
         <value xml:lang="en">Box Number</value>
+        <value xml:lang="fr">Numéro de caisse</value>
         <value xml:lang="it">Scatola numero</value>
         <value xml:lang="pt_BR">Número da caixa</value>
         <value xml:lang="zh">信箱号码</value>
@@ -2115,6 +2124,7 @@
     </property>
     <property key="OrderCancelledItemToOrder">
         <value xml:lang="en">Cancelled item to order: </value>
+        <value xml:lang="fr">Lignes annulées sur la commande : </value>
     </property>
     <property key="OrderCancelOrder">
         <value xml:lang="de">Auftrag annullieren</value>
@@ -2179,6 +2189,7 @@
     </property>
     <property key="OrderCannotCancelRequestAlreadyWorkedOn">
         <value xml:lang="en">You cannot cancel this customer request, work has already started on it.</value>
+        <value xml:lang="fr">Vous ne pouvez pas annuler cette demande, elle est en cours de traitement.</value>
         <value xml:lang="it">Tu non puoi cancellare questo cliente, lavoro già iniziato.</value>
         <value xml:lang="pt_BR">Você não pode cancelar essa solicitação de cliente, tarefas já fora iniciadas par tal.</value>
         <value xml:lang="zh">你不能取消这个客户请求,对它已经开始展开工作了。</value>
@@ -2525,6 +2536,7 @@
     </property>
     <property key="OrderCompletedMyCustomerRequests">
         <value xml:lang="en">My Completed customer requests</value>
+        <value xml:lang="fr">Mes demandes terminées</value>
         <value xml:lang="it">Proprie richieste cliente completate</value>
         <value xml:lang="pt_BR">Minhas solicitações de clientes concluídas</value>
         <value xml:lang="zh_TW">個人完成要求</value>
@@ -2635,6 +2647,7 @@
     </property>
     <property key="OrderCreateTestSalesOrderSingleError">
         <value xml:lang="en">No products found in category ${productCategoryId}; no orders will be created</value>
+        <value xml:lang="fr">Pas de produits trouvés dans la catégorie ${productCategoryId}, aucune commande ne peut être créée</value>
         <value xml:lang="it">Nessun prodotto trovato nella categoria ${productCategoryId}; nessun ordine verrà creato</value>
     </property>
     <property key="OrderCreateAsNewOrder">
@@ -2695,6 +2708,7 @@
     </property>
     <property key="OrderCreateExchangeOrder">
         <value xml:lang="en">Create Exchange Order</value>
+        <value xml:lang="fr">Créer une commande d'échange</value>
         <value xml:lang="it">Creare ordine di cambio</value>
         <value xml:lang="pt_BR">Criar pedido de troca</value>
     </property>
@@ -2825,6 +2839,7 @@
     </property>
     <property key="OrderCreateOrderQuoteTerm">
         <value xml:lang="en">Create New Quote Term</value>
+        <value xml:lang="fr">Créer une condition de réglement de devis</value>
     </property>
     <property key="OrderCreateOrderQuoteWorkEfforts">
         <value xml:lang="de">Offerte Arbeitseinsatz erstellen</value>
@@ -2903,6 +2918,7 @@
     <property key="OrderCreateReplacementOrder">
         <value xml:lang="de">Ersatzbestellung erstellen</value>
         <value xml:lang="en">Create Replacement Order</value>
+        <value xml:lang="fr">Créer une commande de remplacement</value>
         <value xml:lang="it">Creare ordine per sostituzione</value>
         <value xml:lang="pt_BR">Criar pedido de reposição</value>
         <value xml:lang="zh_TW">建立換貨訂單</value>
@@ -2924,11 +2940,13 @@
     </property>
     <property key="OrderCreateReturnAdjustment">
         <value xml:lang="en">Create ReturnAdjustment with Id:${seqId} successfully.</value>
+        <value xml:lang="fr">La création d'une ligne d'ajustement a été réalisé sous la référence ${seqId}.</value>
         <value xml:lang="it">Creato aggiustamento reso:${seqId} con successo.</value>
         <value xml:lang="pt_BR">Criado ajuste de devolução com ID:${seqId} bem sucedida</value>
     </property>
     <property key="OrderCreateReturnAdjustmentFailed">
         <value xml:lang="en">Failed to store returnAdjustment</value>
+        <value xml:lang="fr">Échec de l'enregistrement de l'ajustement</value>
         <value xml:lang="it">Fallito la creazione degli aggiustamenti reso</value>
         <value xml:lang="pt_BR">Falha ao armazenar ajuste de devolução</value>
     </property>
@@ -2995,6 +3013,7 @@
     </property>
     <property key="OrderCustRequestNotificationMailCompleted">
         <value xml:lang="en">Customer Request Completed Notification Mai</value>
+        <value xml:lang="fr">La création de la demande est terminée, une notification a été envoyée</value>
         <value xml:lang="it">Notifica mail per richiesta cliente completata</value>
         <value xml:lang="pt_BR">Notificação de solicitação de cliente concluída</value>
         <value xml:lang="zh">完成客户请求的通知邮件</value>
@@ -3002,6 +3021,7 @@
     </property>
     <property key="OrderCustRequestNotificationMailCreation">
         <value xml:lang="en">Customer Request Creation Notification Mail</value>
+        <value xml:lang="fr">Création d'une notification par mail de la demande</value>
         <value xml:lang="it">Notifica mail per richiesta cliente creata</value>
         <value xml:lang="pt_BR">Notificação de criação de solicitação de cliente</value>
         <value xml:lang="zh">创建客户请求的通知邮件</value>
@@ -3009,21 +3029,25 @@
     </property>
     <property key="OrderCustRequestNotificationMailNoteAdded">
         <value xml:lang="en">Customer Request Note added Notification</value>
+        <value xml:lang="fr">Une note de demande a été associée</value>
         <value xml:lang="it">Notifica nota richiesta cliente aggiunta</value>
         <value xml:lang="pt_BR">Notificação de adição de nota de solicitação de cliente</value>
         <value xml:lang="zh_TW">要求註記的通知</value>
     </property>
     <property key="OrderCustRequestShouldHaveCustRequestNameIfNotDraft">
         <value xml:lang="en">Customer Request should have a 'Name' if not in the draft status</value>
+        <value xml:lang="fr">La demande doit avoir un nom si elle n'est pas au statut Brouillon</value>
         <value xml:lang="pt_BR">Requisição de cliente deveria ter um 'Nome' se não for rascunho</value>
         <value xml:lang="zh_TW">如果不是草稿狀態, 要求必須要有名稱</value>
     </property>
     <property key="OrderCustRequestShouldHaveFromPartyIdIfNotDraft">
         <value xml:lang="en">Customer Request should have a 'from' partyId if not in the draft status</value>
+        <value xml:lang="fr">La demande doit avoir un acteur d'origine si elle n'est pas au statut Brouillon</value>
         <value xml:lang="pt_BR">Requisição de cliente deveria ter um partyId de origem se não for rascunho</value>
     </property>
     <property key="OrderCustRequestStatusList">
         <value xml:lang="en">Customer Request Status List</value>
+        <value xml:lang="fr">Statut de la demande</value>
         <value xml:lang="it">Lista stato richiesta cliente</value>
         <value xml:lang="pt_BR">Lista de estados das solicitações de clientes</value>
         <value xml:lang="zh">客户请求状态列表</value>
@@ -3184,6 +3208,7 @@
     </property>
     <property key="OrderDigitalProductFiles">
         <value xml:lang="en">Digital Product Files</value>
+        <value xml:lang="fr">Fichier numérique</value>
         <value xml:lang="it">Files prodotto digitale</value>
         <value xml:lang="pt_BR">Arquivos de produtos digitais</value>
         <value xml:lang="zh">数字产品文件</value>
@@ -3220,6 +3245,7 @@
     </property>
     <property key="OrderDoNotInclude">
         <value xml:lang="en">Do Not Include</value>
+        <value xml:lang="fr">N'est pas inclu</value>
         <value xml:lang="it">Non includere</value>
         <value xml:lang="pt_BR">Não incluir</value>
     </property>
@@ -3451,6 +3477,7 @@
     </property>
     <property key="OrderEntityExceptionSeeLogs">
         <value xml:lang="en">Entity Exception See Logs</value>
+        <value xml:lang="fr">Exception sur les données, voir les journaux système</value>
         <value xml:lang="it">Eccezione entità, controllare i logs</value>
         <value xml:lang="pt_BR">Exceção de entity, veja os relatórios (logs)</value>
     </property>
@@ -4402,10 +4429,12 @@
     </property>
     <property key="OrderItemDescriptionCannotBeEmpty">
         <value xml:lang="en">Item description must not be empty</value>
+        <value xml:lang="fr">La description de la ligne ne doit pas être vide</value>
         <value xml:lang="it">Descrizione riga ordine non può essere vuota</value>
     </property>
     <property key="OrderItemQtyMustBePositive">
         <value xml:lang="en">Quantity must be >0, use cancel item to cancel completely!</value>
+        <value xml:lang="fr">La quantité doit être supérieure à zéro, utiliser "Annuler la ligne" pour l'annuler complètement !</value>
         <value xml:lang="it">Quantità deve essere maggiore di zero, usare le righe cancellate per cancellare completamente l'ordine!</value>
     </property>
     <property key="OrderItemStatus">
@@ -4770,6 +4799,7 @@
     </property>
     <property key="OrderMarketingPackageComposedBy">
         <value xml:lang="en">Marketing Package Composed by:</value>
+        <value xml:lang="fr">La composition commerciale comprend </value>
         <value xml:lang="pt_BR">Pacote de marketing composto por:</value>
         <value xml:lang="zh">行銷包裝組合者:</value>
     </property>
@@ -5129,6 +5159,7 @@
     </property>
     <property key="OrderNoAgreementFoundWithIdNotDoingPromotions">
         <value xml:lang="en">No Agreement Found With Id Not Doing Promotions</value>
+        <value xml:lang="fr">Pas d'accord trouvé avec cette référence. Aucune promotion activée</value>
         <value xml:lang="it">Nessun contratto trovato con questo id nessuna promozione verrà creata</value>
         <value xml:lang="pt_BR">Nenhum acordo encontrado com ID sem fazer promoções</value>
         <value xml:lang="zh">没有找到带有不做促销的标识的合同</value>
@@ -5136,6 +5167,7 @@
     </property>
     <property key="OrderNoAgreementItemFoundForAgreementWithIdNotDoingPromotions">
         <value xml:lang="en">No Agreement Item Found With Id Not Doing Promotions</value>
+        <value xml:lang="fr">Pas ligne d'accord trouvée avec cette référence. Aucune promotion activée</value>
         <value xml:lang="it">Nessuna riga contratto trovata con questo id nessuna promozione verrà creata</value>
         <value xml:lang="pt_BR">Nenhum artigo encontrado com ID sem fazer promoções</value>
         <value xml:lang="zh">没有找到带有不做促销的标识的合同条款</value>
@@ -5157,6 +5189,7 @@
     </property>
     <property key="OrderNoGiftCertificatesFound">
         <value xml:lang="en">No Gift Certificates Found</value>
+        <value xml:lang="fr">Pas de carte cadeau trouvée</value>
         <value xml:lang="pt_BR">Nenhum certificado de presente</value>
         <value xml:lang="zh_TW">找不到禮券</value>
     </property>
@@ -5281,6 +5314,7 @@
     </property>
     <property key="OrderNoProductStoreFinAccountSettingsFound">
         <value xml:lang="en">No Product Store FinAcccount Settings found</value>
+        <value xml:lang="fr">Pas de configuration de compte financier trouvée sur le centre de profit</value>
         <value xml:lang="pt_BR">Nenhuma configuração de para conta de financiamento de produtos encontrada</value>
     </property>
     <property key="OrderNoPurchaseOrderSpecified">
@@ -5764,24 +5798,28 @@
     </property>
     <property key="OrderOnlineUPSShippingEstimates">
         <value xml:lang="en">Online UPS Shipping estimates based on weight and dimensions of packages</value>
+        <value xml:lang="fr">Estimation d'expédition UPS en ligne basé sur le poids et les dimensions des colis</value>
         <value xml:lang="it">Stima spedizione online UPS basata su peso e dimensione dei pacchi</value>
         <value xml:lang="pt_BR">Estimativa de envio online UPS baseada no peso e dimensões dos pacotes</value>
         <value xml:lang="zh_TW">線上UPS貨運評估是基於貨品的重量與尺寸</value>
     </property>
     <property key="OrderOnlyInclude">
         <value xml:lang="en">Only Include</value>
+        <value xml:lang="fr">Inclus seulement</value>
         <value xml:lang="it">Includi solo</value>
         <value xml:lang="pt_BR">Inclui somente</value>
         <value xml:lang="zh_TW">只包含</value>
     </property>
     <property key="OrderOpenCollequeCustomerRequests">
         <value xml:lang="en">Open Customer requests from my Colleques</value>
+        <value xml:lang="fr">Demandes ouvertes de mes collègues</value>
         <value xml:lang="it">Richieste cliente aperte dai miei colleghi</value>
         <value xml:lang="pt_BR">Abrir solicitações de clientes dos meus colegas</value>
         <value xml:lang="zh_TW">開啟我整理的客戶要求</value>
     </property>
     <property key="OrderOpenCompanyCustomerRequests">
         <value xml:lang="en">Other Customer Requests from the same company</value>
+        <value xml:lang="fr">Autres demandes de la même société</value>
         <value xml:lang="it">Altre richieste cliente per la stessa azienda</value>
         <value xml:lang="pt_BR">Outras solicitações de clientes da mesma empresa</value>
         <value xml:lang="zh">来自同一个公司的其它客户请求</value>
@@ -6163,26 +6201,32 @@
     </property>
     <property key="OrderOrderExternalFulfillmentError">
         <value xml:lang="en">Error running external fulfillment service</value>
+        <value xml:lang="fr">Erreur lors de l'appel du service de traitement externe</value>
         <value xml:lang="it">Errore durante l'esecuzione del servizio esterno di avanzamento ordine</value>
     </property>
     <property key="OrderOrderContachMechNotFound">
         <value xml:lang="en">ERROR: Problems getting contact mech: ${errorString}</value>
+        <value xml:lang="fr">ERREUR: Problème de récupération du contact : ${errorString}</value>
         <value xml:lang="it">ERRORE: Problema nel ricavare il contatto: ${errorString}</value>
     </property>
     <property key="OrderOrderNoteCannotBeCreated">
         <value xml:lang="en">Problem associating note with order: ${errorString}</value>
+        <value xml:lang="fr">Problème lors de l'association de la note à la commande : ${errorString}</value>
         <value xml:lang="it">Problema nella creazione della note ordine: ${errorString}</value>
     </property>
     <property key="OrderOrderNotFound">
         <value xml:lang="en">Could not find OrderHeader with ID ${orderId}</value>
+        <value xml:lang="fr">Aucun entête de commande trouvé avec la référence ${orderId}</value>
         <value xml:lang="it">Non è possibile trovare l'ordine ${orderId}</value>
     </property>
     <property key="OrderOrderWithoutWebSite">
         <value xml:lang="en">No website attached to order; cannot generate notification ${orderId}</value>
+        <value xml:lang="fr">Pas de site attaché à la commande ${orderId}, impossible de générer la notification</value>
         <value xml:lang="it">Nessun sito web legato all'ordine; non possibile generare la notifica ordine ${orderId}</value>
     </property>
     <property key="OrderOrderWithoutEmailAddress">
         <value xml:lang="en">Customer is not setup to receive emails; no address(s) found ${orderId}</value>
+        <value xml:lang="fr">Le client sur la commande ${orderId} n'a pas d'email pour recevoir la notification</value>
         <value xml:lang="it">Il cliente non è abilitato a ricevere email; nessun indirizzo email trovato ${orderId}</value>
     </property>
     <property key="OrderOrderNumber">
@@ -6217,54 +6261,67 @@
     </property>
     <property key="OrderOrderPaymentPreferencesCannotGetPaymentMethodTypes">
         <value xml:lang="en">Problems getting PaymentMethodTypes: ${errorString}</value>
+        <value xml:lang="fr">Problème dans la récupération des types de paiement : ${errorString}</value>
         <value xml:lang="it">Problema nel ricavare i tipi metodo di pagamento: ${errorString}</value>
     </property>
     <property key="OrderOrderPaymentGatewayResponseCannotBeCreated">
         <value xml:lang="en">Unable to create PaymentGatewayResponse record</value>
+        <value xml:lang="fr">Échec de la création de la réponse de l'interface de paiement</value>
         <value xml:lang="it">Non è possibile creare il record di risposta al gateway dei pagamenti</value>
     </property>
     <property key="OrderOrderPaymentPreferencesCannotBeCreated">
         <value xml:lang="en">ERROR: Could not create OrderPaymentPreference: ${errorString}</value>
+        <value xml:lang="fr">ERREUR lors de la création de la préférence de paiement : ${errorString}</value>
         <value xml:lang="it">ERRORE: Non è possibile creare le preferenze pagamenti ordine: ${errorString}</value>
     </property>
     <property key="OrderOrderPaymentFailed">
         <value xml:lang="en">Problem creating Payment: ${errorString}</value>
+        <value xml:lang="fr">Problème lors de la création du paiement : ${errorString}</value>
         <value xml:lang="it">Fallita creazione Pagamento: ${errorString}</value>
     </property>
     <property key="OrderOrderPaymentApplicationFailed">
         <value xml:lang="en">Problem creating PaymentApplication: ${errorString}</value>
+        <value xml:lang="fr">Problème lors de la création de l'association du paiement à une facture : ${errorString}</value>
         <value xml:lang="it">Fallita creazione PaymentApplication: ${errorString}</value>
     </property>
     <property key="OrderOrderPaymentCannotBeCreated">
         <value xml:lang="en">Failed to create Payment: Cannot find OrderPaymentPreference with orderPaymentPreferenceId: ${orderPaymentPreferenceId}</value>
+        <value xml:lang="fr">Échec de la création du paiement : aucune préférence de paiement trouvée sous la référence : ${orderPaymentPreferenceId}</value>
         <value xml:lang="it">Fallita creazione Pagamento: Non è possibile trovare OrderPaymentPreference con orderPaymentPreferenceId: ${orderPaymentPreferenceId}</value>
     </property>
     <property key="OrderOrderPaymentCannotBeCreatedPayToPartyIdNotSet">
         <value xml:lang="en">Failed to create Payment: payToPartyId not set in ProductStore</value>
+        <value xml:lang="fr">Échec de la création du paiement : l'acteur créditeur n'est pas défini sur le centre de profit</value>
         <value xml:lang="it">Fallita creazione Pagamento: pagare a non impostato sul negozio</value>
     </property>
     <property key="OrderOrderPaymentCannotBeCreatedWithRelatedOrderHeader">
         <value xml:lang="en">Failed to create Payment: Cannot get related OrderHeader from payment preference</value>
+        <value xml:lang="fr">Échec de la création du paiement : impossible de retrouver l'entête de commande depuis la préférence de paiement</value>
         <value xml:lang="it">Fallita creazione Pagamento: Non è possibile trovare la testata ordine relazionata alle preferenza pagamento</value>
     </property>
     <property key="OrderOrderPaymentCannotBeCreatedWithRelatedProductStore">
         <value xml:lang="en">Failed to create Payment: Cannot get the ProductStore for the order header</value>
+        <value xml:lang="fr">Échec de la création du paiement : le centre de profit n'a pas été trouvé depuis l'entête de commande</value>
         <value xml:lang="it">Fallita creazione Pagamento: Non è possibile trovare il negozio relazionato alla testata ordine</value>
     </property>
     <property key="OrderOrderCancelRemainingPurchaseOrderItemsError">
         <value xml:lang="en">Error cancelRemainingPurchaseOrderItems for order: </value>
+        <value xml:lang="fr">Erreur dans l'annulation des lignes d'achat restantes  pour la commande </value>
         <value xml:lang="it">Errore durante la cancellazione delle rimanenza ordini d'acquisto dagli ordini: </value>
     </property>
     <property key="OrderOrderCheckOrderItemStatusError">
         <value xml:lang="en">Error checkOrderItemStatus for order: </value>
+        <value xml:lang="fr">Erreur dans la vérification des statuts des lignes de la commande : </value>
         <value xml:lang="it">Errore durante la verifica dello stato riga ordine dagli ordini: </value>
     </property>
     <property key="OrderOrderCreatingDropShipmentsError">
         <value xml:lang="en">The following error occurred creating drop shipments for order ${orderId}: ${errorString}</value>
+        <value xml:lang="fr">Les erreurs suivantes ont été soulevées lors de la création de la commande de tiers ${orderId}: ${errorString}</value>
         <value xml:lang="it">Il seguente error è accaduto durante la creazione delle spedizioni conto terzi per l'ordine ${orderId}: ${errorString}</value>
     </property>
     <property key="OrderOrderPickingListCreationError">
         <value xml:lang="en">Error creating picklist from orders: </value>
+        <value xml:lang="fr">Erreur dans la création de la liste de prélèvement pour la commande : </value>
         <value xml:lang="it">Errore durante la creazione della lista di prelievo dagli ordini: </value>
     </property>
     <property key="OrderOrderPurchaseToBeScheduled">
@@ -6298,6 +6355,7 @@
     </property>
     <property key="OrderOrderQuickShipEntireOrderError">
         <value xml:lang="en">Error quickShipEntireOrder for order: </value>
+        <value xml:lang="fr">Erreur dans l'expédition expresse pour la commande : </value>
         <value xml:lang="it">Errore durante spedizione veloce intero ordine: </value>
     </property>
     <property key="OrderOrderQuote">
@@ -6437,10 +6495,12 @@
     </property>
     <property key="OrderOrderQuoteCannotBeFound">
         <value xml:lang="en">Could not find Quote with ID ${quoteId}</value>
+        <value xml:lang="fr">Devis non trouvé sous la référence ${quoteId}</value>
         <value xml:lang="it">Non è possibile trovare il preventivo ${quoteId}</value>
     </property>
     <property key="OrderOrderQuoteCannotBeStored">
         <value xml:lang="en">Could not storing Quote</value>
+        <value xml:lang="fr">Enregistrement du devis impossible</value>
         <value xml:lang="it">Non è possibile registrare il preventivo</value>
     </property>
     <property key="OrderOrderQuoteCoeffName">
@@ -6641,6 +6701,7 @@
     </property>
         <property key="OrderOrderQuoteEditTerm">
         <value xml:lang="en">Edit Quote Term</value>
+        <value xml:lang="fr">Editer les conditions de réglement du devis</value>
     </property>
     <property key="OrderOrderQuoteEditWorkEfforts">
         <value xml:lang="de">Offertarbeitseinsatz bearbeiten</value>
@@ -6857,6 +6918,7 @@
     </property>
         <property key="OrderOrderQuoteListTerms">
         <value xml:lang="en">List Quote Terms</value>
+        <value xml:lang="fr">Liste des conditions de règlement du devis</value>
     </property>
     <property key="OrderOrderQuoteManualUnitPrice">
         <value xml:lang="de">Manueller Stückpreis</value>
@@ -6999,9 +7061,11 @@
     </property>
     <property key="OrderOrderQuoteTerms">
         <value xml:lang="en">Quote Term</value>
+        <value xml:lang="fr">Conditions de règlement du devis</value>
     </property>
     <property key="OrderOrderQuoteTermList">
         <value xml:lang="en">Quote Term List</value>
+        <value xml:lang="fr">Liste de conditions de règlement de devis</value>
     </property>
     <property key="OrderOrderQuoteType">
         <value xml:lang="de">Offerttyp</value>
@@ -7807,6 +7871,7 @@
     </property>
     <property key="OrderPickedBy">
         <value xml:lang="en">Picked By</value>
+        <value xml:lang="fr">Prélevé par</value>
         <value xml:lang="it">Prelevato da</value>
         <value xml:lang="pt_BR">Recolhido por</value>
     </property>
@@ -8055,10 +8120,12 @@
     </property>
     <property key="OrderProcessOrderPayments">
         <value xml:lang="en">Error processing payments:</value>
+        <value xml:lang="fr">Erreur dans l'exécution du paiement :</value>
         <value xml:lang="it">Errore durante l'esecuzione dei pagamenti:</value>
     </property>
     <property key="OrderProcessOrderPaymentsStatusInvalid">
         <value xml:lang="en">ERROR: the Order status is </value>
+        <value xml:lang="fr">ERREUR : la commande est au status </value>
         <value xml:lang="it">ERRORE: lo stato ordine è </value>
     </property>
     <property key="OrderProduct">
@@ -8604,10 +8671,12 @@
     </property>
     <property key="OrderQuoteEmpty">
         <value xml:lang="en">Empty for total quote</value>
+        <value xml:lang="fr">Le total du devis est vide</value>
         <value xml:lang="it">Totale preventivo è vuoto</value>
     </property>
     <property key="OrderQuotePricePermissionError">
         <value xml:lang="en">Quote Price Permission Error</value>
+        <value xml:lang="fr">Pas d'autorisation sur la modification des prix devis</value>
         <value xml:lang="it">Errore permesso prezzo preventivo</value>
         <value xml:lang="pt_BR">Erro de permissão para preço de cotação</value>
         <value xml:lang="zh">询价价格权限错误</value>
@@ -8615,6 +8684,7 @@
     </property>
     <property key="OrderQuoteTermDescription">
         <value xml:lang="en">Term Description</value>
+        <value xml:lang="fr">Description de la cond. de réglement</value>
         <value xml:lang="it">Descrizione termini preventivo</value>
     </property>
     <property key="OrderRanking">
@@ -8771,17 +8841,20 @@
     </property>
     <property key="OrderReceivedQtyHistory">
         <value xml:lang="en">Received Quantity History</value>
+        <value xml:lang="fr">Historique des quantités reçues</value>
         <value xml:lang="it">Storia quantità ricevuta</value>
         <value xml:lang="pt_BR">Histórico de quantidade recebida</value>
         <value xml:lang="zh_TW">收貨數量歷史</value>
     </property>
     <property key="OrderRecipientEmailAdd">
         <value xml:lang="en">Recipient's Email:</value>
+        <value xml:lang="fr">Courriel du réceptionniste ajouté :</value>
         <value xml:lang="pt_BR">Email do receptador:</value>
         <value xml:lang="zh_TW">收件者電子郵件:</value>
     </property>
     <property key="OrderRecipientName">
         <value xml:lang="en">Recipient's Name:</value>
+        <value xml:lang="fr">Nom du réceptionniste :</value>
         <value xml:lang="pt_BR">Nome do receptador:</value>
         <value xml:lang="zh_TW">收件者名字:</value>
     </property>
@@ -9062,6 +9135,7 @@
     </property>
     <property key="OrderRequestInformation">
         <value xml:lang="en">Request Information</value>
+        <value xml:lang="fr">Information de la demande</value>
         <value xml:lang="it">Informazioni sulla richiesta</value>
     </property>
     <property key="OrderRequestItem">
@@ -9609,6 +9683,7 @@
     </property>
     <property key="OrderReturnHistory">
         <value xml:lang="en">Return History</value>
+        <value xml:lang="fr">Historique des retours</value>
         <value xml:lang="it">Storia resi</value>
         <value xml:lang="pt_BR">Histórico de devolução</value>
         <value xml:lang="zh_TW">退貨歷史</value>
@@ -9681,6 +9756,7 @@
     </property>
     <property key="OrderReturnLabelEmailSuccessful">
         <value xml:lang="en">Return shipping label email successfully sent</value>
+        <value xml:lang="fr">Envoi de l'email de confirmation de réception du retour effectué</value>
         <value xml:lang="it">Email etichetta reso spedizione inviata con successo</value>
         <value xml:lang="pt_BR">Etiqueta de envio de devolução enviada pro email com sucesso</value>
     </property>
@@ -9763,6 +9839,7 @@
     </property>
     <property key="OrderReturnPriceHistory">
         <value xml:lang="en">Return Price History</value>
+        <value xml:lang="fr">Historique des prix de retour</value>
         <value xml:lang="it">Storia prezzi reso</value>
         <value xml:lang="pt_BR">Histórico de preços de devolução</value>
         <value xml:lang="zh_TW">退貨價格歷史</value>
@@ -9797,6 +9874,7 @@
     </property>
     <property key="OrderReturnQtyHistory">
         <value xml:lang="en">Return Quantity History</value>
+        <value xml:lang="fr">Historique des quantités de retour</value>
         <value xml:lang="it">Storia quantità resa</value>
         <value xml:lang="pt_BR">Histórico de quantidade de devolução</value>
         <value xml:lang="zh_TW">退貨數量歷史</value>
@@ -9817,6 +9895,7 @@
     </property>
     <property key="OrderReturnReasonHistory">
         <value xml:lang="en">Return Reason History</value>
+        <value xml:lang="fr">Historique des raisons de retour</value>
         <value xml:lang="it">Storia motivazione reso</value>
         <value xml:lang="pt_BR">Histórico de motivação para devolução</value>
         <value xml:lang="zh_TW">退貨原因歷史</value>
@@ -9955,6 +10034,7 @@
     </property>
     <property key="OrderReturnTypeHistory">
         <value xml:lang="en">Return Type History</value>
+        <value xml:lang="fr">Historique des types de retour</value>
         <value xml:lang="it">Storia tipo reso</value>
         <value xml:lang="pt_BR">Histórico de tipo de devolução</value>
         <value xml:lang="zh_TW">退貨類型歷史</value>
@@ -10067,6 +10147,7 @@
     </property>
     <property key="OrderSalesOrderLookupFailed">
         <value xml:lang="en">Sales Order Lookup Failed</value>
+        <value xml:lang="fr">Échec de la recherche des commandes de vente</value>
         <value xml:lang="it">Ricerca ordini di vendita fallita</value>
         <value xml:lang="pt_BR">Busca por pedidos de venda falhou</value>
         <value xml:lang="zh">销售订单查找失败</value>
@@ -10074,6 +10155,7 @@
     </property>
     <property key="OrderSalesReps">
         <value xml:lang="en">Sales Reps</value>
+        <value xml:lang="fr">Responsable des ventes</value>
         <value xml:lang="it">Venditori</value>
     </property>
     <property key="OrderSalesTax">
@@ -10247,6 +10329,7 @@
     </property>
     <property key="OrderSelectGiftAmount">
         <value xml:lang="en">Select The Gift Amount</value>
+        <value xml:lang="fr">Sélectionnez le montant cadeau</value>
         <value xml:lang="pt_BR">Selecione a quantia para presente</value>
     </property>
     <property key="OrderSelectPartyToOrder">
@@ -10330,6 +10413,7 @@
     </property>
     <property key="OrderSelectSupplier">
         <value xml:lang="en">Select Supplier</value>
+        <value xml:lang="fr">Selectionner le fournisseur</value>
         <value xml:lang="it">Seleziona fornitore</value>
         <value xml:lang="pt_BR">Selecione o fornecedor</value>
         <value xml:lang="zh">选择供货商</value>
@@ -10523,6 +10607,7 @@
     </property>
     <property key="OrderSenderName">
         <value xml:lang="en">Sender's Name:</value>
+        <value xml:lang="fr">Nom de l'expéditeur :</value>
         <value xml:lang="pt_BR">Nome do remetente:</value>
     </property>
     <property key="OrderShipAfterDate">
@@ -10646,6 +10731,7 @@
     </property>
     <property key="OrderShipGroupSeqIdInvalid">
         <value xml:lang="en">Invalid shipGroupSeqId ${shipGroupSeqId}</value>
+        <value xml:lang="fr">Le groupe d'expédition sous la référence ${shipGroupSeqId} est invalide</value>
         <value xml:lang="it">Gruppo spedizione ${shipGroupSeqId} invalido</value>
     </property>
     <property key="OrderShipGroupTo">
@@ -10735,6 +10821,7 @@
     </property>
     <property key="OrderShipToCountry">
         <value xml:lang="en">Ship to Country</value>
+        <value xml:lang="fr">Expédier vers le pays</value>
         <value xml:lang="it">Spedisci al paese</value>
         <value xml:lang="pt_BR">Enviar para o país</value>
         <value xml:lang="zh_TW">送貨至國家</value>
@@ -10924,10 +11011,12 @@
     </property>
     <property key="OrderRunSubscriptionAutoReorders">
         <value xml:lang="en">runSubscriptionAutoReorders finished, ${count} subscription extended.</value>
+        <value xml:lang="fr">Le réabonnement automatique a été effectué, ${count} abonnement(s) prolongé(s).</value>
         <value xml:lang="it">runSubscriptionAutoReorders completato, ${count} abbonamenti estesi.</value>
     </property>
     <property key="OrderShoppingListCreationError">
         <value xml:lang="en">Error while creating new shopping list based automatic reorder ${errorString}</value>
+        <value xml:lang="fr">Erreur lors de la création d'une liste d'achat : ${errorString}</value>
         <value xml:lang="it">Error durante la creazione di una nuova lista d'acquisto basata sui ri-ordini automatici ${errorString}</value>
     </property>
     <property key="OrderShortfalled">
@@ -11309,6 +11398,7 @@
     </property>
     <property key="OrderThisOrderDoesNotHaveShippingInstructions">
         <value xml:lang="en">This order does not have shipping instructions</value>
+        <value xml:lang="fr">Cette commande n'a pas d'instructions de livraison</value>
         <value xml:lang="it">Quest'ordine non ha istruzioni di spedizione</value>
         <value xml:lang="pt_BR">Esse pedido não possui instruções para envio</value>
         <value xml:lang="zh_TW">本訂單無遞送指示</value>
@@ -11427,6 +11517,7 @@
     </property>
     <property key="OrderTotalNoOfItems">
         <value xml:lang="en">Total No. of Items</value>
+        <value xml:lang="fr">Nb total de lignes</value>
         <value xml:lang="it">Totale numero di righe</value>
         <value xml:lang="pt_BR">Nº total de itens</value>
         <value xml:lang="zh_TW">合計明細編號</value>
@@ -11721,6 +11812,7 @@
     </property>
     <property key="OrderUpdateReturnAdjustment">
         <value xml:lang="en">Update ReturnAdjustment with Id:${returnAdjustmentId} to amount ${amount} successfully.</value>
+        <value xml:lang="fr">La mise à jour de ligne d'ajustement de référence ${returnAdjustmentId} a été effectuée avec le montant ${amount}.</value>
         <value xml:lang="it">Aggiornato aggiustamento reso:${returnAdjustmentId} per l'importo ${amount} con successo.</value>
         <value xml:lang="pt_BR">Atualizar ReturnAdjustment com Id: ${returnAdjustmentId} para quantia ${amount} bem sucedida.</value>
     </property>
@@ -11991,6 +12083,7 @@
     </property>
     <property key="OrderViewed">
         <value xml:lang="en">Viewed</value>
+        <value xml:lang="fr">Vu</value>
         <value xml:lang="it">Visionato</value>
         <value xml:lang="pt_BR">Visualizado</value>
         <value xml:lang="zh_TW">已檢視</value>
@@ -12204,6 +12297,7 @@
     </property>
     <property key="PageTitleApprovedProductRequirements">
         <value xml:lang="en">Approved Product Requirements</value>
+        <value xml:lang="fr">Approbation des besoins produits</value>
         <value xml:lang="it">Approva fabbisogni prodotto</value>
         <value xml:lang="pt_BR">Requisitos aprovados do produto</value>
         <value xml:lang="zh">已批准的产品需求</value>
@@ -12211,6 +12305,7 @@
     </property>
     <property key="PageTitleApprovedProductRequirementsByVendor">
         <value xml:lang="en">Approved Product Requirements By Vendor</value>
+        <value xml:lang="fr">Approbation des besoins produit par le fournisseur</value>
         <value xml:lang="it">Approva fabbisogni prodotto per fornitore</value>
         <value xml:lang="pt_BR">Requisitos aprovados do produto pelo fornecedor</value>
         <value xml:lang="zh">由供货商批准的产品需求</value>
@@ -12233,6 +12328,7 @@
     </property>
     <property key="PageTitleEditOrderHeader">
         <value xml:lang="en">Edit Order Header</value>
+        <value xml:lang="fr">Éditer l'entête de commande</value>
         <value xml:lang="it">Aggiorna testata ordine</value>
         <value xml:lang="pt_BR">Alterar cabeçalho do pedido</value>
         <value xml:lang="zh">编辑订单头</value>
@@ -12255,6 +12351,7 @@
     </property>
     <property key="PageTitleEditRequestContent">
         <value xml:lang="en">Edit Request Content</value>
+        <value xml:lang="fr">Modifier les documents de la demande</value>
         <value xml:lang="it">Aggiorna contenuto richiesta</value>
         <value xml:lang="pt_BR">Alterar conteúdo de uma solicitação</value>
         <value xml:lang="zh">编辑请求内容</value>
@@ -12384,6 +12481,7 @@
     </property>
     <property key="PageTitleListOrderHeaders">
         <value xml:lang="en">List Order Headers</value>
+        <value xml:lang="fr">Liste des entêtes de commande</value>
         <value xml:lang="it">Lista testate ordini</value>
         <value xml:lang="pt_BR">Listar cabeçalhos de pedidos</value>
         <value xml:lang="zh">订单头列表</value>

Modified: ofbiz/branches/jackrabbit20100709/applications/order/config/order.properties
URL: http://svn.apache.org/viewvc/ofbiz/branches/jackrabbit20100709/applications/order/config/order.properties?rev=1153560&r1=1153559&r2=1153560&view=diff
==============================================================================
--- ofbiz/branches/jackrabbit20100709/applications/order/config/order.properties (original)
+++ ofbiz/branches/jackrabbit20100709/applications/order/config/order.properties Wed Aug  3 16:12:58 2011
@@ -19,3 +19,6 @@
 
 # Days Till Cancel Replacement Order
 daysTillCancelReplacementOrder=30
+
+# Maximum age of auto-save shopping list for anonymous users (in days)
+autosave.max.age=14

Modified: ofbiz/branches/jackrabbit20100709/applications/order/data/OrderScheduledServices.xml
URL: http://svn.apache.org/viewvc/ofbiz/branches/jackrabbit20100709/applications/order/data/OrderScheduledServices.xml?rev=1153560&r1=1153559&r2=1153560&view=diff
==============================================================================
--- ofbiz/branches/jackrabbit20100709/applications/order/data/OrderScheduledServices.xml (original)
+++ ofbiz/branches/jackrabbit20100709/applications/order/data/OrderScheduledServices.xml Wed Aug  3 16:12:58 2011
@@ -30,5 +30,6 @@ under the License.
     <JobSandbox jobId="8006" jobName="Cancels all orders after date" runTime="2009-12-03 03:00:00.000" serviceName="cancelAllBackOrders" poolId="pool" runAsUser="system" tempExprId="MIDNIGHT_DAILY" maxRecurrenceCount="-1"/>
     <JobSandbox jobId="8007" jobName="Replacement Held Order Auto-Cancel" runTime="2000-01-01 00:00:00.000" serviceName="autoCancelReplacementOrders" poolId="pool" runAsUser="system" tempExprId="MIDNIGHT_DAILY" maxRecurrenceCount="-1"/>
     <JobSandbox jobId="8008" jobName="Create Also Bought Product Associations" runTime="2000-01-01 00:00:00.000" serviceName="createAlsoBoughtProductAssocs" poolId="pool" runAsUser="system" tempExprId="MIDNIGHT_DAILY" maxRecurrenceCount="-1"/>
+    <JobSandbox jobId="8009" jobName="Delete auto-save shopping list for anonymous users" runTime="2000-01-01 00:00:00.000" serviceName="autoDeleteAutoSaveShoppingList" poolId="pool" runAsUser="system" tempExprId="MIDNIGHT_DAILY" maxRecurrenceCount="-1"/>
 
 </entity-engine-xml>

Modified: ofbiz/branches/jackrabbit20100709/applications/order/data/OrderTypeData.xml
URL: http://svn.apache.org/viewvc/ofbiz/branches/jackrabbit20100709/applications/order/data/OrderTypeData.xml?rev=1153560&r1=1153559&r2=1153560&view=diff
==============================================================================
--- ofbiz/branches/jackrabbit20100709/applications/order/data/OrderTypeData.xml (original)
+++ ofbiz/branches/jackrabbit20100709/applications/order/data/OrderTypeData.xml Wed Aug  3 16:12:58 2011
@@ -367,8 +367,6 @@ under the License.
     <!-- Content Types -->
     <OrderContentType description="Image" hasTable="N" parentTypeId="" orderContentTypeId="IMAGE_URL"/>
 
-    <WebSite webSiteId="OrderEntry" siteName="Order Entry Web Site" visualThemeSetId="BACKOFFICE"/>
-
     <EmailTemplateSetting
         emailTemplateSettingId="CUST_REQ_ACCEPTED"
         bodyScreenLocation="component://order/widget/ordermgr/CustRequestScreens.xml#CreateCustRequestNotification"

Modified: ofbiz/branches/jackrabbit20100709/applications/order/entitydef/entitymodel_view.xml
URL: http://svn.apache.org/viewvc/ofbiz/branches/jackrabbit20100709/applications/order/entitydef/entitymodel_view.xml?rev=1153560&r1=1153559&r2=1153560&view=diff
==============================================================================
--- ofbiz/branches/jackrabbit20100709/applications/order/entitydef/entitymodel_view.xml (original)
+++ ofbiz/branches/jackrabbit20100709/applications/order/entitydef/entitymodel_view.xml Wed Aug  3 16:12:58 2011
@@ -146,9 +146,9 @@ under the License.
       <alias entity-alias="ORLE" name="partyId" group-by="true"/>
       <alias entity-alias="ORLE" name="roleTypeId" group-by="true"/>
       <alias entity-alias="OH" name="orderId"/>
-      <alias entity-alias="OH" name="orderTypeId"/>
+      <alias entity-alias="OH" name="orderTypeId" group-by="true"/>
       <alias entity-alias="OH" name="orderDate"/>
-      <alias entity-alias="OH" name="statusId"/>
+      <alias entity-alias="OH" name="statusId" group-by="true"/>
       <alias entity-alias="OH" name="totalGrandAmount" field="grandTotal" function="sum"/>
       <alias entity-alias="OH" name="totalSubRemainingAmount" field="remainingSubTotal" function="sum"/>
       <alias entity-alias="OH" name="totalOrders" field="orderId" function="count"/>
@@ -1543,7 +1543,7 @@ under the License.
     </view-entity>
     <view-entity entity-name="RequirementPartyProductCount"
             package-name="org.ofbiz.order.request"
-            title="A join on Requirement and RequirementRole to count number of distinict products required from a supplier party">
+            title="A join on Requirement and RequirementRole to count number of distinct products required from a supplier party">
       <member-entity entity-alias="RQ" entity-name="Requirement"/>
       <member-entity entity-alias="RQR" entity-name="RequirementRole"/>
       <alias entity-alias="RQ" name="requirementTypeId" group-by="false"/>

Propchange: ofbiz/branches/jackrabbit20100709/applications/order/script/org/ofbiz/order/customer/CheckoutMapProcs.xml
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Wed Aug  3 16:12:58 2011
@@ -2,4 +2,4 @@
 /ofbiz/branches/dojo1.4/applications/order/script/org/ofbiz/order/customer/CheckoutMapProcs.xml:951708-952957
 /ofbiz/branches/jquery/applications/order/script/org/ofbiz/order/customer/CheckoutMapProcs.xml:952958-1044489
 /ofbiz/branches/multitenant20100310/applications/order/script/org/ofbiz/order/customer/CheckoutMapProcs.xml:921280-927264
-/ofbiz/trunk/applications/order/script/org/ofbiz/order/customer/CheckoutMapProcs.xml:962442-1128853
+/ofbiz/trunk/applications/order/script/org/ofbiz/order/customer/CheckoutMapProcs.xml:962442-1153542

Modified: ofbiz/branches/jackrabbit20100709/applications/order/script/org/ofbiz/order/quote/QuoteServices.xml
URL: http://svn.apache.org/viewvc/ofbiz/branches/jackrabbit20100709/applications/order/script/org/ofbiz/order/quote/QuoteServices.xml?rev=1153560&r1=1153559&r2=1153560&view=diff
==============================================================================
--- ofbiz/branches/jackrabbit20100709/applications/order/script/org/ofbiz/order/quote/QuoteServices.xml (original)
+++ ofbiz/branches/jackrabbit20100709/applications/order/script/org/ofbiz/order/quote/QuoteServices.xml Wed Aug  3 16:12:58 2011
@@ -194,6 +194,7 @@ under the License.
         <call-service service-name="createQuote" in-map-name="createQuoteInMap">
             <result-to-field result-name="quoteId" field="quoteIdTo"/>
         </call-service>
+        <field-to-result field="quoteIdTo" result-name="quoteId"/>
         <if-compare field="parameters.copyQuoteItems" value="Y" operator="equals">
             <get-related value-field="quote" relation-name="QuoteItem" list="quoteItems"/>
             <iterate list="quoteItems" entry="quoteItem">

Modified: ofbiz/branches/jackrabbit20100709/applications/order/script/org/ofbiz/order/request/CustRequestServices.xml
URL: http://svn.apache.org/viewvc/ofbiz/branches/jackrabbit20100709/applications/order/script/org/ofbiz/order/request/CustRequestServices.xml?rev=1153560&r1=1153559&r2=1153560&view=diff
==============================================================================
--- ofbiz/branches/jackrabbit20100709/applications/order/script/org/ofbiz/order/request/CustRequestServices.xml (original)
+++ ofbiz/branches/jackrabbit20100709/applications/order/script/org/ofbiz/order/request/CustRequestServices.xml Wed Aug  3 16:12:58 2011
@@ -80,6 +80,9 @@ under the License.
         <if-not-empty field="parameters.statusId">
             <set field="setStat.statusId" from-field="parameters.statusId"/>
             <set field="setStat.custRequestId" from-field="newEntity.custRequestId"/>
+            <if-not-empty field="parameters.webSiteId">
+                <set field="setStat.webSiteId" from-field="parameters.webSiteId"/>
+            </if-not-empty>
             <call-service service-name="setCustRequestStatus" in-map-name="setStat"/>
         </if-not-empty>
         
@@ -156,6 +159,9 @@ under the License.
                 </if-compare>
                 <!-- update status and save the changed status in the history -->
                 <set-service-fields service-name="setCustRequestStatus" map="parameters" to-map="setStat"/>
+                <if-not-empty field="parameters.webSiteId">
+                    <set field="setStat.webSiteId" from-field="parameters.webSiteId"/>
+                </if-not-empty>
                 <call-service service-name="setCustRequestStatus" in-map-name="setStat"/>
                 <if-not-empty field="isShowEvent">
                     <clear-field field="successMessage"/>

Modified: ofbiz/branches/jackrabbit20100709/applications/order/script/org/ofbiz/order/shoppinglist/ShoppingListServices.xml
URL: http://svn.apache.org/viewvc/ofbiz/branches/jackrabbit20100709/applications/order/script/org/ofbiz/order/shoppinglist/ShoppingListServices.xml?rev=1153560&r1=1153559&r2=1153560&view=diff
==============================================================================
--- ofbiz/branches/jackrabbit20100709/applications/order/script/org/ofbiz/order/shoppinglist/ShoppingListServices.xml (original)
+++ ofbiz/branches/jackrabbit20100709/applications/order/script/org/ofbiz/order/shoppinglist/ShoppingListServices.xml Wed Aug  3 16:12:58 2011
@@ -20,10 +20,12 @@ under the License.
 
 <simple-methods xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/simple-methods.xsd">
-    <simple-method method-name="createShoppingList" short-description="Create a ShoppingList">
+    <simple-method method-name="createShoppingList" short-description="Create a ShoppingList" login-required="false">
         <if>
             <condition>
                   <and>
+                    <not><if-empty field="userLogin"/></not>
+                    <not><if-compare field="userLogin.userLoginId" operator="equals" value="anonymous"/></not>
                     <not><if-empty field="parameters.partyId"/></not>
                     <not><if-compare-field to-field="userLogin.partyId" field="parameters.partyId" operator="equals"/></not>
                     <not><if-has-permission permission="PARTYMGR" action="_CREATE"/></not>
@@ -111,7 +113,7 @@ under the License.
         <remove-value value-field="shoppingList"/>
     </simple-method>
 
-    <simple-method method-name="createShoppingListItem" short-description="Create a ShoppingList Item">
+    <simple-method method-name="createShoppingListItem" short-description="Create a ShoppingList Item" login-required="false">
         <entity-and list="shoppingListItems" entity-name="ShoppingListItem">
             <field-map field-name="productId" from-field="parameters.productId"></field-map>
             <field-map field-name="shoppingListId" from-field="parameters.shoppingListId"></field-map>
@@ -286,6 +288,7 @@ under the License.
         <if>
             <condition>
                 <and>
+                    <not><if-empty field="shoppingList.partyId"/></not>
                     <not><if-compare-field field="userLogin.partyId" to-field="shoppingList.partyId" operator="equals"/></not>
                     <not><if-has-permission permission="PARTYMGR" action="_${permissionAction}"/></not>
                 </and>

Modified: ofbiz/branches/jackrabbit20100709/applications/order/servicedef/secas.xml
URL: http://svn.apache.org/viewvc/ofbiz/branches/jackrabbit20100709/applications/order/servicedef/secas.xml?rev=1153560&r1=1153559&r2=1153560&view=diff
==============================================================================
--- ofbiz/branches/jackrabbit20100709/applications/order/servicedef/secas.xml (original)
+++ ofbiz/branches/jackrabbit20100709/applications/order/servicedef/secas.xml Wed Aug  3 16:12:58 2011
@@ -360,6 +360,7 @@ under the License.
         <condition field-name="oldStatusId" operator="not-equals" value="CRQ_ACCEPTED"/>
         <condition field-name="oldStatusId" operator="not-equals" value="CRQ_PENDING"/>
         <condition field-name="statusId" operator="equals" value="CRQ_ACCEPTED"/>
+        <condition field-name="webSiteId" operator="equals" value="OrderEntry"/>
         <set field-name="bodyParameters.custRequestId" env-name="custRequestId"/>
         <set field-name="bodyParameters.custRequestName" env-name="custRequestName"/>
         <set field-name="partyIdTo" env-name="fromPartyId"/>
@@ -370,6 +371,7 @@ under the License.
     <eca service="setCustRequestStatus" event="commit">
         <condition field-name="oldStatusId" operator="not-equals" value="CRQ_COMPLETED"/>
         <condition field-name="statusId" operator="equals" value="CRQ_COMPLETED"/>
+        <condition field-name="webSiteId" operator="equals" value="OrderEntry"/>
         <set field-name="bodyParameters.custRequestId" env-name="custRequestId"/>
         <set field-name="partyIdTo" env-name="fromPartyId"/>
         <set field-name="emailTemplateSettingId" value="CUST_REQ_COMPLETED"/>

Modified: ofbiz/branches/jackrabbit20100709/applications/order/servicedef/services_quote.xml
URL: http://svn.apache.org/viewvc/ofbiz/branches/jackrabbit20100709/applications/order/servicedef/services_quote.xml?rev=1153560&r1=1153559&r2=1153560&view=diff
==============================================================================
--- ofbiz/branches/jackrabbit20100709/applications/order/servicedef/services_quote.xml (original)
+++ ofbiz/branches/jackrabbit20100709/applications/order/servicedef/services_quote.xml Wed Aug  3 16:12:58 2011
@@ -55,7 +55,7 @@ under the License.
     <service name="copyQuote" default-entity-name="Quote" engine="simple"
                 location="component://order/script/org/ofbiz/order/quote/QuoteServices.xml" invoke="copyQuote" auth="true">
         <description>Copy a Quote</description>
-        <auto-attributes include="pk" mode="IN" optional="false"/>
+        <auto-attributes include="pk" mode="INOUT" optional="false"/>
         <attribute name="copyQuoteRoles" type="String" mode="IN" optional="true"/>
         <attribute name="copyQuoteAttributes" type="String" mode="IN" optional="true"/>
         <attribute name="copyQuoteCoefficients" type="String" mode="IN" optional="true"/>

Modified: ofbiz/branches/jackrabbit20100709/applications/order/servicedef/services_request.xml
URL: http://svn.apache.org/viewvc/ofbiz/branches/jackrabbit20100709/applications/order/servicedef/services_request.xml?rev=1153560&r1=1153559&r2=1153560&view=diff
==============================================================================
--- ofbiz/branches/jackrabbit20100709/applications/order/servicedef/services_request.xml (original)
+++ ofbiz/branches/jackrabbit20100709/applications/order/servicedef/services_request.xml Wed Aug  3 16:12:58 2011
@@ -41,6 +41,7 @@ under the License.
         <auto-attributes include="pk" mode="INOUT" optional="true"/>
         <auto-attributes include="nonpk" mode="IN" optional="true"/>
         <auto-attributes include="all" mode="IN" entity-name="CustRequestItem" optional="true"/>
+        <attribute name="webSiteId" type="String" mode="IN" optional="true"/><!-- for notification services -->
         <override name="custRequestName" allow-html="safe"/>
         <override name="description" allow-html="safe"/>
         <override name="story" allow-html="safe"/>
@@ -52,6 +53,7 @@ under the License.
         <auto-attributes include="nonpk" mode="IN" optional="true"/>
         <attribute name="oldStatusId" type="String" mode="OUT"/>
         <attribute name="story" mode="IN" type="String" optional="true" allow-html="safe"/>
+        <attribute name="webSiteId" type="String" mode="IN" optional="true"/><!-- for notification services -->
         <override name="custRequestName" allow-html="safe"/>
         <override name="description" allow-html="safe"/>
     </service>
@@ -179,6 +181,7 @@ under the License.
         <attribute name="oldStatusId" type="String" mode="OUT" optional="true"/>
         <attribute name="fromPartyId" type="String" mode="OUT" optional="true"/><!-- for notification services -->
         <attribute name="custRequestName" type="String" mode="OUT" optional="true"/><!-- for notification services -->
+        <attribute name="webSiteId" type="String" mode="IN" optional="true"/><!-- for notification services -->
     </service>
     <service name="createCustRequestFromCommEvent" engine="simple" default-entity-name="CommunicationEvent"
             location="component://order/script/org/ofbiz/order/request/CustRequestServices.xml" invoke="createCustRequestFromCommEvent" auth="true">

Modified: ofbiz/branches/jackrabbit20100709/applications/order/servicedef/services_shoppinglist.xml
URL: http://svn.apache.org/viewvc/ofbiz/branches/jackrabbit20100709/applications/order/servicedef/services_shoppinglist.xml?rev=1153560&r1=1153559&r2=1153560&view=diff
==============================================================================
--- ofbiz/branches/jackrabbit20100709/applications/order/servicedef/services_shoppinglist.xml (original)
+++ ofbiz/branches/jackrabbit20100709/applications/order/servicedef/services_shoppinglist.xml Wed Aug  3 16:12:58 2011
@@ -30,7 +30,7 @@ under the License.
         <auto-attributes mode="IN" entity-name="ShoppingList" include="nonpk" optional="true"/>
         <attribute name="shippingMethodString" type="String" mode="IN" optional="true"/>
     </service>
-    <service name="createShoppingList" engine="simple" auth="true"
+    <service name="createShoppingList" engine="simple" auth="false"
             location="component://order/script/org/ofbiz/order/shoppinglist/ShoppingListServices.xml" invoke="createShoppingList">
         <description>Create a shopping list entity</description>
         <implements service="createShoppingListRecurrence"/>
@@ -108,7 +108,7 @@ under the License.
         <attribute name="quantityPurchased" type="BigDecimal" mode="IN" optional="true"/>
         <attribute name="configId" type="String" mode="IN" optional="true"/>
     </service>
-    <service name="createShoppingListItem" engine="simple" auth="true"
+    <service name="createShoppingListItem" engine="simple" auth="false"
             location="component://order/script/org/ofbiz/order/shoppinglist/ShoppingListServices.xml" invoke="createShoppingListItem">
         <description>Create a shopping list item</description>
         <implements service="shoppingListItemInterface"/>
@@ -143,4 +143,12 @@ under the License.
         <attribute name="productId" type="String" mode="IN" optional="false"/>
         <attribute name="shoppingListItemSeqId" type="String" mode="OUT" optional="false"/>
     </service>
+
+    <service name="autoDeleteAutoSaveShoppingList" engine="java" auth="true" max-retry="3" transaction-timeout="3600"
+            location="org.ofbiz.order.shoppinglist.ShoppingListServices" invoke="autoDeleteAutoSaveShoppingList">
+            <description>
+                Automatic delete auto save shopping list for anonymous users that are not updated in last 30 days.
+                Default to 30 days unless no configuration is specified.
+            </description>
+    </service>
 </services>

Modified: ofbiz/branches/jackrabbit20100709/applications/order/src/org/ofbiz/order/order/OrderLookupServices.java
URL: http://svn.apache.org/viewvc/ofbiz/branches/jackrabbit20100709/applications/order/src/org/ofbiz/order/order/OrderLookupServices.java?rev=1153560&r1=1153559&r2=1153560&view=diff
==============================================================================
--- ofbiz/branches/jackrabbit20100709/applications/order/src/org/ofbiz/order/order/OrderLookupServices.java (original)
+++ ofbiz/branches/jackrabbit20100709/applications/order/src/org/ofbiz/order/order/OrderLookupServices.java Wed Aug  3 16:12:58 2011
@@ -101,7 +101,7 @@ public class OrderLookupServices {
         // dynamic view entity
         DynamicViewEntity dve = new DynamicViewEntity();
         dve.addMemberEntity("OH", "OrderHeader");
-        dve.addAliasAll("OH", ""); // no prefix
+        dve.addAliasAll("OH", "", null); // no prefix
         dve.addRelation("one-nofk", "", "OrderType", UtilMisc.toList(new ModelKeyMap("orderTypeId", "orderTypeId")));
         dve.addRelation("one-nofk", "", "StatusItem", UtilMisc.toList(new ModelKeyMap("statusId", "statusId")));
 

Modified: ofbiz/branches/jackrabbit20100709/applications/order/src/org/ofbiz/order/order/OrderServices.java
URL: http://svn.apache.org/viewvc/ofbiz/branches/jackrabbit20100709/applications/order/src/org/ofbiz/order/order/OrderServices.java?rev=1153560&r1=1153559&r2=1153560&view=diff
==============================================================================
--- ofbiz/branches/jackrabbit20100709/applications/order/src/org/ofbiz/order/order/OrderServices.java (original)
+++ ofbiz/branches/jackrabbit20100709/applications/order/src/org/ofbiz/order/order/OrderServices.java Wed Aug  3 16:12:58 2011
@@ -31,6 +31,7 @@ import java.util.Locale;
 import java.util.Map;
 import java.util.Set;
 import java.util.TreeSet;
+import java.util.concurrent.Callable;
 
 import javax.transaction.Transaction;
 
@@ -5550,7 +5551,7 @@ public class OrderServices {
     }
 
     public static Map<String, Object> createAlsoBoughtProductAssocs(DispatchContext dctx, Map<String, ? extends Object> context) {
-        Delegator delegator = dctx.getDelegator();
+        final Delegator delegator = dctx.getDelegator();
         LocalDispatcher dispatcher = dctx.getDispatcher();
         // All orders with an entryDate > orderEntryFromDateTime will be processed
         Timestamp orderEntryFromDateTime = (Timestamp) context.get("orderEntryFromDateTime");
@@ -5586,33 +5587,42 @@ public class OrderServices {
                 Debug.logError(e, module);
             }
         }
-        EntityListIterator eli = null;
-        try {
-            List<EntityExpr> orderCondList = UtilMisc.toList(EntityCondition.makeCondition("orderTypeId", "SALES_ORDER"));
-            if (!processAllOrders && orderEntryFromDateTime != null) {
-                orderCondList.add(EntityCondition.makeCondition("entryDate", EntityOperator.GREATER_THAN, orderEntryFromDateTime));
-            }
-            EntityCondition cond = EntityCondition.makeCondition(orderCondList);
-            eli = delegator.find("OrderHeader", cond, null, null, UtilMisc.toList("entryDate ASC"), null);
+        List<EntityExpr> orderCondList = UtilMisc.toList(EntityCondition.makeCondition("orderTypeId", "SALES_ORDER"));
+        if (!processAllOrders && orderEntryFromDateTime != null) {
+            orderCondList.add(EntityCondition.makeCondition("entryDate", EntityOperator.GREATER_THAN, orderEntryFromDateTime));
+        }
+        final EntityCondition cond = EntityCondition.makeCondition(orderCondList);
+        List<String> orderIds;
+        try {
+            orderIds = TransactionUtil.doNewTransaction(new Callable<List<String>>() {
+                public List<String> call() throws Exception {
+                    List<String> orderIds = new LinkedList<String>();
+                    EntityListIterator eli = null;
+                    try {
+                        eli = delegator.find("OrderHeader", cond, null, UtilMisc.toSet("orderId"), UtilMisc.toList("entryDate ASC"), null);
+                        GenericValue orderHeader;
+                        while ((orderHeader = eli.next()) != null) {
+                            orderIds.add(orderHeader.getString("orderId"));
+                        }
+                    } finally {
+                        if (eli != null) {
+                            eli.close();
+                        }
+                    }
+                    return orderIds;
+                }
+            }, "getSalesOrderIds", 0, true);
         } catch (GenericEntityException e) {
             Debug.logError(e, module);
             return ServiceUtil.returnError(e.getMessage());
         }
-        if (eli != null) {
-            GenericValue orderHeader = null;
-            while ((orderHeader = eli.next()) != null) {
-                Map<String, Object> svcIn = FastMap.newInstance();
-                svcIn.put("userLogin", context.get("userLogin"));
-                svcIn.put("orderId", orderHeader.get("orderId"));
-                try {
-                    dispatcher.runSync("createAlsoBoughtProductAssocsForOrder", svcIn);
-                } catch (GenericServiceException e) {
-                    Debug.logError(e, module);
-                }
-            }
+        for (String orderId: orderIds) {
+            Map<String, Object> svcIn = FastMap.newInstance();
+            svcIn.put("userLogin", context.get("userLogin"));
+            svcIn.put("orderId", orderId);
             try {
-                eli.close();
-            } catch (GenericEntityException e) {
+                dispatcher.runSync("createAlsoBoughtProductAssocsForOrder", svcIn);
+            } catch (GenericServiceException e) {
                 Debug.logError(e, module);
             }
         }

Modified: ofbiz/branches/jackrabbit20100709/applications/order/src/org/ofbiz/order/shoppingcart/CartEventListener.java
URL: http://svn.apache.org/viewvc/ofbiz/branches/jackrabbit20100709/applications/order/src/org/ofbiz/order/shoppingcart/CartEventListener.java?rev=1153560&r1=1153559&r2=1153560&view=diff
==============================================================================
--- ofbiz/branches/jackrabbit20100709/applications/order/src/org/ofbiz/order/shoppingcart/CartEventListener.java (original)
+++ ofbiz/branches/jackrabbit20100709/applications/order/src/org/ofbiz/order/shoppingcart/CartEventListener.java Wed Aug  3 16:12:58 2011
@@ -25,6 +25,7 @@ import javax.servlet.http.HttpSessionEve
 import javax.servlet.http.HttpSessionListener;
 
 import org.ofbiz.base.util.Debug;
+import org.ofbiz.base.util.UtilProperties;
 import org.ofbiz.base.util.UtilValidate;
 import org.ofbiz.entity.Delegator;
 import org.ofbiz.entity.DelegatorFactory;
@@ -71,6 +72,7 @@ public class CartEventListener implement
 
             GenericValue visit = VisitHandler.getVisit(session);
             if (visit == null) {
+            if (UtilProperties.propertyValueEqualsIgnoreCase("serverstats", "stats.persist.visit", "false")) return;
                 Debug.logError("Could not get the current visit, not saving abandoned cart info.", module);
                 return;
             }

Modified: ofbiz/branches/jackrabbit20100709/applications/order/src/org/ofbiz/order/shoppingcart/CheckOutHelper.java
URL: http://svn.apache.org/viewvc/ofbiz/branches/jackrabbit20100709/applications/order/src/org/ofbiz/order/shoppingcart/CheckOutHelper.java?rev=1153560&r1=1153559&r2=1153560&view=diff
==============================================================================
--- ofbiz/branches/jackrabbit20100709/applications/order/src/org/ofbiz/order/shoppingcart/CheckOutHelper.java (original)
+++ ofbiz/branches/jackrabbit20100709/applications/order/src/org/ofbiz/order/shoppingcart/CheckOutHelper.java Wed Aug  3 16:12:58 2011
@@ -558,7 +558,7 @@ public class CheckOutHelper {
     }
 
     public Map<String, Object> createOrder(GenericValue userLogin) {
-        return createOrder(userLogin, null, null, null, false, null, null);
+        return createOrder(userLogin, null, null, null, false, null, cart.getWebSiteId());
     }
 
     // Create order event - uses createOrder service for processing
@@ -1035,7 +1035,7 @@ public class CheckOutHelper {
                 Debug.logWarning(e, module);
                 throw new GeneralException("Error in authOrderPayments service: " + e.toString(), e.getNested());
             }
-            if (Debug.verboseOn()) Debug.logVerbose("Finsished w/ Payment Service", module);
+            if (Debug.verboseOn()) Debug.logVerbose("Finished w/ Payment Service", module);
 
             if (paymentResult != null && ServiceUtil.isError(paymentResult)) {
                 throw new GeneralException(ServiceUtil.getErrorMessage(paymentResult));

Modified: ofbiz/branches/jackrabbit20100709/applications/order/src/org/ofbiz/order/shoppingcart/ShoppingCart.java
URL: http://svn.apache.org/viewvc/ofbiz/branches/jackrabbit20100709/applications/order/src/org/ofbiz/order/shoppingcart/ShoppingCart.java?rev=1153560&r1=1153559&r2=1153560&view=diff
==============================================================================
--- ofbiz/branches/jackrabbit20100709/applications/order/src/org/ofbiz/order/shoppingcart/ShoppingCart.java (original)
+++ ofbiz/branches/jackrabbit20100709/applications/order/src/org/ofbiz/order/shoppingcart/ShoppingCart.java Wed Aug  3 16:12:58 2011
@@ -1361,7 +1361,6 @@ public class ShoppingCart implements Ite
         this.readOnlyCart = false;
 
         this.lastListRestore = null;
-        this.autoSaveListId = null;
 
         this.orderTermSet = false;
         this.orderTerms.clear();
@@ -1376,6 +1375,8 @@ public class ShoppingCart implements Ite
         this.contactMechIdsMap.clear();
         this.internalOrderNotes.clear();
         this.orderNotes.clear();
+        this.attributes.clear();
+        this.orderAttributes.clear();
 
         // clear the additionalPartyRole Map
         for (Map.Entry<String, List<String>> me : this.additionalPartyRole.entrySet()) {
@@ -1394,7 +1395,10 @@ public class ShoppingCart implements Ite
             if (ul == null) {
                 ul = this.getAutoUserLogin();
             }
-
+            // autoSaveListId shouldn't be set to null for anonymous user until the list is not cleared from the database
+            if (ul != null && !"anonymous".equals(ul.getString("userLoginId"))) {
+                this.autoSaveListId = null;
+            }
             // load the auto-save list ID
             if (autoSaveListId == null) {
                 try {

Modified: ofbiz/branches/jackrabbit20100709/applications/order/src/org/ofbiz/order/shoppingcart/product/ProductPromoWorker.java
URL: http://svn.apache.org/viewvc/ofbiz/branches/jackrabbit20100709/applications/order/src/org/ofbiz/order/shoppingcart/product/ProductPromoWorker.java?rev=1153560&r1=1153559&r2=1153560&view=diff
==============================================================================
--- ofbiz/branches/jackrabbit20100709/applications/order/src/org/ofbiz/order/shoppingcart/product/ProductPromoWorker.java (original)
+++ ofbiz/branches/jackrabbit20100709/applications/order/src/org/ofbiz/order/shoppingcart/product/ProductPromoWorker.java Wed Aug  3 16:12:58 2011
@@ -1122,8 +1122,9 @@ public class ProductPromoWorker {
                         return false;
                     } else {
                         BigDecimal orderSubTotal = (BigDecimal) result.get("totalSubRemainingAmount");
+                        BigDecimal orderSubTotalAndCartSubTotal = orderSubTotal.add(cart.getSubTotal());
                         if (Debug.verboseOn()) Debug.logVerbose("Doing order history sub-total compare: orderSubTotal=" + orderSubTotal + ", for the last " + monthsToInclude + " months.", module);
-                        compareBase = Integer.valueOf(orderSubTotal.compareTo(new BigDecimal(condValue)));
+                        compareBase = Integer.valueOf(orderSubTotalAndCartSubTotal.compareTo(new BigDecimal(condValue)));
                     }
                 } catch (GenericServiceException e) {
                     Debug.logError(e, "Error getting order history sub-total in the getOrderedSummaryInformation service, evaluating condition to false.", module);

Modified: ofbiz/branches/jackrabbit20100709/applications/order/src/org/ofbiz/order/shoppinglist/ShoppingListEvents.java
URL: http://svn.apache.org/viewvc/ofbiz/branches/jackrabbit20100709/applications/order/src/org/ofbiz/order/shoppinglist/ShoppingListEvents.java?rev=1153560&r1=1153559&r2=1153560&view=diff
==============================================================================
--- ofbiz/branches/jackrabbit20100709/applications/order/src/org/ofbiz/order/shoppinglist/ShoppingListEvents.java (original)
+++ ofbiz/branches/jackrabbit20100709/applications/order/src/org/ofbiz/order/shoppinglist/ShoppingListEvents.java Wed Aug  3 16:12:58 2011
@@ -249,6 +249,8 @@ public class ShoppingListEvents {
         // check if we are to clear the cart first
         if (!append) {
             cart.clear();
+            // Prevent the system from creating a new shopping list every time the cart is restored for anonymous user.
+            cart.setAutoSaveListId(shoppingListId);
         }
 
         // get the survey info for all the items
@@ -279,7 +281,7 @@ public class ShoppingListEvents {
                 }
 
                 // check if we have existing survey responses to append
-                if (shoppingListSurveyInfo.containsKey(listId + "." + itemId)) {
+                if (shoppingListSurveyInfo.containsKey(listId + "." + itemId) && UtilValidate.isNotEmpty(shoppingListSurveyInfo.get(listId + "." + itemId))) {
                     attributes.put("surveyResponses", shoppingListSurveyInfo.get(listId + "." + itemId));
                 }
 
@@ -368,18 +370,19 @@ public class ShoppingListEvents {
         }
 
         String autoSaveListId = null;
-        // TODO: add sorting, just in case there are multiple...
-        Map<String, Object> findMap = UtilMisc.<String, Object>toMap("partyId", partyId, "productStoreId", productStoreId, "shoppingListTypeId", "SLT_SPEC_PURP", "listName", PERSISTANT_LIST_NAME);
-        List<GenericValue> existingLists = delegator.findByAnd("ShoppingList", findMap);
-        Debug.logInfo("Finding existing auto-save shopping list with:  \nfindMap: " + findMap + "\nlists: " + existingLists, module);
-
         GenericValue list = null;
-        if (existingLists != null && !existingLists.isEmpty()) {
-            list = EntityUtil.getFirst(existingLists);
-            autoSaveListId = list.getString("shoppingListId");
+        // TODO: add sorting, just in case there are multiple...
+        if (partyId != null) {
+            Map<String, Object> findMap = UtilMisc.<String, Object>toMap("partyId", partyId, "productStoreId", productStoreId, "shoppingListTypeId", "SLT_SPEC_PURP", "listName", PERSISTANT_LIST_NAME);
+            List<GenericValue> existingLists = delegator.findByAnd("ShoppingList", findMap);
+            Debug.logInfo("Finding existing auto-save shopping list with:  \nfindMap: " + findMap + "\nlists: " + existingLists, module);
+    
+            if (existingLists != null && !existingLists.isEmpty()) {
+                list = EntityUtil.getFirst(existingLists);
+                autoSaveListId = list.getString("shoppingListId");
+            }
         }
-
-        if (list == null && dispatcher != null && userLogin != null) {
+        if (list == null && dispatcher != null) {
             Map<String, Object> listFields = UtilMisc.<String, Object>toMap("userLogin", userLogin, "productStoreId", productStoreId, "shoppingListTypeId", "SLT_SPEC_PURP", "listName", PERSISTANT_LIST_NAME);
             Map<String, Object> newListResult = dispatcher.runSync("createShoppingList", listFields);
 
@@ -397,9 +400,12 @@ public class ShoppingListEvents {
     public static void fillAutoSaveList(ShoppingCart cart, LocalDispatcher dispatcher) throws GeneralException {
         if (cart != null && dispatcher != null) {
             GenericValue userLogin = ShoppingListEvents.getCartUserLogin(cart);
-            if (userLogin == null) return; //only save carts when a user is logged in....
             Delegator delegator = cart.getDelegator();
-            String autoSaveListId = getAutoSaveListId(delegator, dispatcher, null, userLogin, cart.getProductStoreId());
+            String autoSaveListId = cart.getAutoSaveListId();
+            if (autoSaveListId == null) {
+                autoSaveListId = getAutoSaveListId(delegator, dispatcher, null, userLogin, cart.getProductStoreId());
+                cart.setAutoSaveListId(autoSaveListId);
+            }
 
             try {
                 String[] itemsArray = makeCartItemsArray(cart);
@@ -455,11 +461,6 @@ public class ShoppingListEvents {
             userLogin = (GenericValue) session.getAttribute("autoUserLogin");
         }
 
-        if (userLogin == null) {
-            // not logged in; cannot identify the user
-            return "success";
-        }
-
         // find the list ID
         String autoSaveListId = cart.getAutoSaveListId();
         if (autoSaveListId == null) {
@@ -469,6 +470,25 @@ public class ShoppingListEvents {
                 Debug.logError(e, module);
             }
             cart.setAutoSaveListId(autoSaveListId);
+        } else if (userLogin != null) {
+            String existingAutoSaveListId = null;
+            try {
+                existingAutoSaveListId = getAutoSaveListId(delegator, dispatcher, null, userLogin, cart.getProductStoreId());
+            } catch (GeneralException e) {
+                Debug.logError(e, module);
+            }
+            if (existingAutoSaveListId != null) {
+                if (!existingAutoSaveListId.equals(autoSaveListId)) {
+                    // Replace with existing shopping list
+                    cart.setAutoSaveListId(existingAutoSaveListId);
+                    autoSaveListId = existingAutoSaveListId;
+                    cart.setLastListRestore(null);
+                } else {
+                    // CASE: User first login and logout and then re-login again. This condition does not require a restore at all
+                    // because at this point items in the cart and the items in the shopping list are same so just return.
+                    return "success";
+                }
+            }
         }
 
         // check to see if we are okay to load this list
@@ -498,7 +518,7 @@ public class ShoppingListEvents {
         if (okayToLoad) {
             String prodCatalogId = CatalogWorker.getCurrentCatalogId(request);
             try {
-                addListToCart(delegator, dispatcher, cart, prodCatalogId, autoSaveListId, false, false, false);
+                addListToCart(delegator, dispatcher, cart, prodCatalogId, autoSaveListId, false, false, userLogin != null ? true : false);
                 cart.setLastListRestore(UtilDateTime.nowTimestamp());
             } catch (IllegalArgumentException e) {
                 Debug.logError(e, module);

Modified: ofbiz/branches/jackrabbit20100709/applications/order/src/org/ofbiz/order/shoppinglist/ShoppingListServices.java
URL: http://svn.apache.org/viewvc/ofbiz/branches/jackrabbit20100709/applications/order/src/org/ofbiz/order/shoppinglist/ShoppingListServices.java?rev=1153560&r1=1153559&r2=1153560&view=diff
==============================================================================
--- ofbiz/branches/jackrabbit20100709/applications/order/src/org/ofbiz/order/shoppinglist/ShoppingListServices.java (original)
+++ ofbiz/branches/jackrabbit20100709/applications/order/src/org/ofbiz/order/shoppinglist/ShoppingListServices.java Wed Aug  3 16:12:58 2011
@@ -23,6 +23,7 @@ import java.sql.Timestamp;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Locale;
+import java.util.Date;
 import java.util.Map;
 
 import javolution.util.FastMap;
@@ -58,6 +59,8 @@ import org.ofbiz.service.ServiceUtil;
 import org.ofbiz.service.calendar.RecurrenceInfo;
 import org.ofbiz.service.calendar.RecurrenceInfoException;
 
+import com.ibm.icu.util.Calendar;
+
 /**
  * Shopping List Services
  */
@@ -586,4 +589,62 @@ public class ShoppingListServices {
         }
         return result;
     }
+
+    public static Map<String,Object> autoDeleteAutoSaveShoppingList(DispatchContext dctx, Map<String, ? extends Object> context) {
+        Delegator delegator = dctx.getDelegator();
+        LocalDispatcher dispatcher = dctx.getDispatcher();
+        GenericValue userLogin = (GenericValue) context.get("userLogin");
+        List<GenericValue> shoppingList = null;
+        try {
+            EntityCondition cond = EntityCondition.makeCondition(UtilMisc.toList(
+                                        EntityCondition.makeCondition("partyId", null),
+                                        EntityCondition.makeCondition("shoppingListTypeId", "SLT_SPEC_PURP")), EntityOperator.AND);
+            shoppingList = delegator.findList("ShoppingList", cond, null, null, null, false);
+        } catch (GenericEntityException e) {
+            Debug.logError(e.getMessage(), module);
+        }
+        String maxDaysStr = UtilProperties.getPropertyValue("order.properties", "autosave.max.age", "30");
+        int maxDays = 0;
+        try {
+            maxDays = Integer.parseInt(maxDaysStr);
+        } catch (NumberFormatException e) {
+            Debug.logError(e, "Unable to get maxDays", module);
+        }
+        for (GenericValue sl : shoppingList) {
+            if (maxDays > 0) {
+                Timestamp lastModified = sl.getTimestamp("lastAdminModified");
+                if (lastModified == null) {
+                    lastModified = sl.getTimestamp("lastUpdatedStamp");
+                }
+                Calendar cal = Calendar.getInstance();
+                cal.setTimeInMillis(lastModified.getTime());
+                cal.add(Calendar.DAY_OF_YEAR, maxDays);
+                Date expireDate = cal.getTime();
+                Date nowDate = new Date();
+                if (expireDate.equals(nowDate) || nowDate.after(expireDate)) {
+                    List<GenericValue> shoppingListItems = null;
+                    try {
+                        shoppingListItems = sl.getRelated("ShoppingListItem");
+                    } catch (GenericEntityException e) {
+                        Debug.logError(e.getMessage(), module);
+                    }
+                    for (GenericValue sli : shoppingListItems) {
+                        try {
+                            dispatcher.runSync("removeShoppingListItem", UtilMisc.toMap("shoppingListId", sl.getString("shoppingListId"),
+                                    "shoppingListItemSeqId", sli.getString("shoppingListItemSeqId"),
+                                    "userLogin", userLogin));
+                        } catch (GenericServiceException e) {
+                            Debug.logError(e.getMessage(), module);
+                        }
+                    }
+                    try {
+                        dispatcher.runSync("removeShoppingList", UtilMisc.toMap("shoppingListId", sl.getString("shoppingListId"), "userLogin", userLogin));
+                    } catch (GenericServiceException e) {
+                        Debug.logError(e.getMessage(), module);
+                    }
+                }
+            }
+        }
+        return ServiceUtil.returnSuccess();
+    }
 }

Modified: ofbiz/branches/jackrabbit20100709/applications/order/webapp/ordermgr/WEB-INF/actions/task/OrderTaskList.groovy
URL: http://svn.apache.org/viewvc/ofbiz/branches/jackrabbit20100709/applications/order/webapp/ordermgr/WEB-INF/actions/task/OrderTaskList.groovy?rev=1153560&r1=1153559&r2=1153560&view=diff
==============================================================================
--- ofbiz/branches/jackrabbit20100709/applications/order/webapp/ordermgr/WEB-INF/actions/task/OrderTaskList.groovy (original)
+++ ofbiz/branches/jackrabbit20100709/applications/order/webapp/ordermgr/WEB-INF/actions/task/OrderTaskList.groovy Wed Aug  3 16:12:58 2011
@@ -56,7 +56,7 @@ partyTasks.each { ptItem ->
 }
 
 // get this user's roles
-partyRoles = delegator.findByAnd("PartyRole", [partyId = userLogin.partyId]);
+partyRoles = delegator.findByAnd("PartyRole", [partyId : userLogin.partyId]);
 
 // build the role list
 pRolesList = [];

Modified: ofbiz/branches/jackrabbit20100709/applications/order/webapp/ordermgr/WEB-INF/web.xml
URL: http://svn.apache.org/viewvc/ofbiz/branches/jackrabbit20100709/applications/order/webapp/ordermgr/WEB-INF/web.xml?rev=1153560&r1=1153559&r2=1153560&view=diff
==============================================================================
--- ofbiz/branches/jackrabbit20100709/applications/order/webapp/ordermgr/WEB-INF/web.xml (original)
+++ ofbiz/branches/jackrabbit20100709/applications/order/webapp/ordermgr/WEB-INF/web.xml Wed Aug  3 16:12:58 2011
@@ -25,11 +25,6 @@ under the License.
     <description>Order Manager Module of the Open For Business Project</description>
 
     <context-param>
-        <param-name>webSiteId</param-name>
-        <param-value>OrderEntry</param-value>
-        <description>A unique ID used to look up the WebSite entity</description>
-    </context-param>
-    <context-param>
         <param-name>entityDelegatorName</param-name>
         <param-value>default</param-value>
         <description>The Name of the Entity Delegator to use, defined in entityengine.xml</description>