Reviewers: ,


Please review this at http://codereview.tryton.org/566003/

Affected files:
  M invoice.py


Index: invoice.py
===================================================================
--- a/invoice.py
+++ b/invoice.py
@@ -72,10 +72,10 @@
     @Workflow.transition('draft')
     def draft(cls, invoices):
         Purchase = Pool().get('purchase.purchase')
-        purchases = Purchase.search([
-                ('invoices', 'in', [i.id for i in invoices]),
-                ])
-
+        with Transaction().set_user(0, set_context=True):
+            purchases = Purchase.search([
+                    ('invoices', 'in', [i.id for i in invoices]),
+                    ])
         if purchases:
             cls.raise_user_error('reset_invoice_purchase')

@@ -86,14 +86,18 @@
         pool = Pool()
         Purchase = pool.get('purchase.purchase')
         super(Invoice, cls).paid(invoices)
-        Purchase.process([p for i in invoices for p in i.purchases])
+        with Transaction().set_user(0, set_context=True):
+            Purchase.process([p for i in cls.browse(invoices)
+                    for p in i.purchases])

     @classmethod
     def cancel(cls, invoices):
         pool = Pool()
         Purchase = pool.get('purchase.purchase')
         super(Invoice, cls).cancel(invoices)
-        Purchase.process([p for i in invoices for p in i.purchases])
+        with Transaction().set_user(0, set_context=True):
+            Purchase.process([p for i in cls.browse(invoices)
+                    for p in i.purchases])


 class InvoiceLine:


--
[email protected] mailing list

Reply via email to