← Back to team overview

savoirfairelinux-openerp team mailing list archive

lp:~sebastien.beau/e-commerce-addons/e-commerce-addons-improve-invoice-export into lp:e-commerce-addons/oerp6.1-stable

 

Sébastien BEAU - http://www.akretion.com has proposed merging lp:~sebastien.beau/e-commerce-addons/e-commerce-addons-improve-invoice-export into lp:e-commerce-addons/oerp6.1-stable.

Requested reviews:
  extra-addons-commiter (extra-addons-commiter)

For more details, see:
https://code.launchpad.net/~sebastien.beau/e-commerce-addons/e-commerce-addons-improve-invoice-export/+merge/168289
-- 
https://code.launchpad.net/~sebastien.beau/e-commerce-addons/e-commerce-addons-improve-invoice-export/+merge/168289
Your team extra-addons-commiter is requested to review the proposed merge of lp:~sebastien.beau/e-commerce-addons/e-commerce-addons-improve-invoice-export into lp:e-commerce-addons/oerp6.1-stable.
=== modified file 'base_sale_multichannels/sale.py'
--- base_sale_multichannels/sale.py	2013-06-08 20:04:37 +0000
+++ base_sale_multichannels/sale.py	2013-06-09 15:09:25 +0000
@@ -475,14 +475,21 @@
         return True
 
     def export_invoices(self, cr, uid, ids, context=None):
+        for shop in self.browse(cr, uid, ids, context=None):
+            external_session = ExternalSession(shop.referential_id, shop)
+            self._export_invoice_for_shop(cr, uid, external_session, shop, context=context)
+        return True
+
+    def _export_invoice_for_shop(self, cr, uid, external_session, shop, context=None):
         invoice_obj = self.pool.get('account.invoice')
-        for shop in self.browse(cr, uid, ids, context=None):
-            external_session = ExternalSession(shop.referential_id, shop)
-            invoice_ids = self.get_invoice_to_export(cr, uid, shop.id, context=context)
-            if not invoice_ids:
-                external_session.logger.info("There is no invoice to export for the shop '%s' to the external referential" % (shop.name,))
-            for invoice_id in invoice_ids:
-                self.pool.get('account.invoice')._export_one_resource(cr, uid, external_session, invoice_id, context=context)
+        invoice_ids = self.get_invoice_to_export(cr, uid, shop.id, context=context)
+        external_session.logger.info("Start to export %s invoice for the shop '%s' to the external referential" % (len(invoice_ids), shop.name,))
+        if not invoice_ids:
+            external_session.logger.info("There is no invoice to export for the shop '%s' to the external referential" % (shop.name,))
+        for invoice_id in invoice_ids:
+            with new_cursor(cr, external_session.logger) as new_cr:
+                with commit_now(new_cr, external_session.logger) as cr:
+                    invoice_obj._export_one_resource(new_cr, uid, external_session, invoice_id, context=context)
         return True
 
     def get_invoice_to_export(self, cr, uid, shop_id, context=None):


Follow ups