summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Trigaux <mat@odoo.com>2014-12-10 14:45:30 +0100
committerMartin Trigaux <mat@odoo.com>2014-12-10 14:45:33 +0100
commit6dceae0de948f7ece60fac3dc4c07ba866c0e432 (patch)
treec154b117c31d1711733d15a4e15a8f41624a600c
parenta5d7d2072f595a4322801dd36319d42f5b95016f (diff)
[FIX] purchase: access rights when validating a picking
When a warehouse user transfer an incoming shipment, the linked purchase order is updated as well but the user may not have access to it. Trigger the workflow as admin instead. opw 619775
-rw-r--r--addons/purchase/stock.py7
1 files changed, 5 insertions, 2 deletions
diff --git a/addons/purchase/stock.py b/addons/purchase/stock.py
index 22b335d225b..63e54bc6309 100644
--- a/addons/purchase/stock.py
+++ b/addons/purchase/stock.py
@@ -19,6 +19,7 @@
#
##############################################################################
+from openerp import SUPERUSER_ID
from openerp.osv import fields, osv
from openerp.tools.translate import _
@@ -39,10 +40,12 @@ class stock_move(osv.osv):
for move in self.browse(cr, uid, ids, context=context):
if move.purchase_line_id and move.purchase_line_id.order_id:
order_id = move.purchase_line_id.order_id.id
+ # update linked purchase order as superuser as the warehouse
+ # user may not have rights to access purchase.order
if self.pool.get('purchase.order').test_moves_done(cr, uid, [order_id], context=context):
- workflow.trg_validate(uid, 'purchase.order', order_id, 'picking_done', cr)
+ workflow.trg_validate(SUPERUSER_ID, 'purchase.order', order_id, 'picking_done', cr)
if self.pool.get('purchase.order').test_moves_except(cr, uid, [order_id], context=context):
- workflow.trg_validate(uid, 'purchase.order', order_id, 'picking_cancel', cr)
+ workflow.trg_validate(SUPERUSER_ID, 'purchase.order', order_id, 'picking_cancel', cr)
return res
def copy(self, cr, uid, id, default=None, context=None):