Merge lp:~akretion-team/openobject-addons/6.1_purchase_line_partner_fix into lp:openobject-addons/6.1

Proposed by Florian da Costa
Status: Needs review
Proposed branch: lp:~akretion-team/openobject-addons/6.1_purchase_line_partner_fix
Merge into: lp:openobject-addons/6.1
Diff against target: 28 lines (+10/-1)
1 file modified
purchase/purchase.py (+10/-1)
To merge this branch: bzr merge lp:~akretion-team/openobject-addons/6.1_purchase_line_partner_fix
Reviewer Review Type Date Requested Status
OpenERP Core Team Pending
Review via email: mp+185305@code.launchpad.net
To post a comment you must log in.

Unmerged revisions

7246. By Florian da Costa

[FIX] Add function to recalculate the related field partner_id of purchase_order_line because it would not update when the purchase order's partner_id is updated

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'purchase/purchase.py'
--- purchase/purchase.py 2012-10-09 12:16:14 +0000
+++ purchase/purchase.py 2013-09-12 15:48:22 +0000
@@ -655,6 +655,13 @@
655 except Exception, ex:655 except Exception, ex:
656 return False656 return False
657657
658 def _update_partner_from_purchase(self, cr, uid, ids, context=None):
659 res = []
660 obj_purchase = self.pool.get('purchase.order')
661 for purchase in obj_purchase.read(cr, uid, ids, ['order_line']):
662 res = purchase['order_line']
663 return res
664
658 _columns = {665 _columns = {
659 'name': fields.char('Description', size=256, required=True),666 'name': fields.char('Description', size=256, required=True),
660 'product_qty': fields.float('Quantity', digits_compute=dp.get_precision('Product UoM'), required=True),667 'product_qty': fields.float('Quantity', digits_compute=dp.get_precision('Product UoM'), required=True),
@@ -677,7 +684,9 @@
677 \n* The \'Cancelled\' state is set automatically when user cancel purchase order.'),684 \n* The \'Cancelled\' state is set automatically when user cancel purchase order.'),
678 'invoice_lines': fields.many2many('account.invoice.line', 'purchase_order_line_invoice_rel', 'order_line_id', 'invoice_id', 'Invoice Lines', readonly=True),685 'invoice_lines': fields.many2many('account.invoice.line', 'purchase_order_line_invoice_rel', 'order_line_id', 'invoice_id', 'Invoice Lines', readonly=True),
679 'invoiced': fields.boolean('Invoiced', readonly=True),686 'invoiced': fields.boolean('Invoiced', readonly=True),
680 'partner_id': fields.related('order_id','partner_id',string='Partner',readonly=True,type="many2one", relation="res.partner", store=True),687 'partner_id': fields.related('order_id','partner_id',string='Partner',readonly=True,type="many2one", relation="res.partner",
688 store = {'purchase.order.line': (lambda self, cr, uid, ids, c={}: ids, [], 10),
689 'purchase.order': (_update_partner_from_purchase, ['partner_id'], 10)}),
681 'date_order': fields.related('order_id','date_order',string='Order Date',readonly=True,type="date")690 'date_order': fields.related('order_id','date_order',string='Order Date',readonly=True,type="date")
682691
683 }692 }