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
1=== modified file 'purchase/purchase.py'
2--- purchase/purchase.py 2012-10-09 12:16:14 +0000
3+++ purchase/purchase.py 2013-09-12 15:48:22 +0000
4@@ -655,6 +655,13 @@
5 except Exception, ex:
6 return False
7
8+ def _update_partner_from_purchase(self, cr, uid, ids, context=None):
9+ res = []
10+ obj_purchase = self.pool.get('purchase.order')
11+ for purchase in obj_purchase.read(cr, uid, ids, ['order_line']):
12+ res = purchase['order_line']
13+ return res
14+
15 _columns = {
16 'name': fields.char('Description', size=256, required=True),
17 'product_qty': fields.float('Quantity', digits_compute=dp.get_precision('Product UoM'), required=True),
18@@ -677,7 +684,9 @@
19 \n* The \'Cancelled\' state is set automatically when user cancel purchase order.'),
20 'invoice_lines': fields.many2many('account.invoice.line', 'purchase_order_line_invoice_rel', 'order_line_id', 'invoice_id', 'Invoice Lines', readonly=True),
21 'invoiced': fields.boolean('Invoiced', readonly=True),
22- 'partner_id': fields.related('order_id','partner_id',string='Partner',readonly=True,type="many2one", relation="res.partner", store=True),
23+ 'partner_id': fields.related('order_id','partner_id',string='Partner',readonly=True,type="many2one", relation="res.partner",
24+ store = {'purchase.order.line': (lambda self, cr, uid, ids, c={}: ids, [], 10),
25+ 'purchase.order': (_update_partner_from_purchase, ['partner_id'], 10)}),
26 'date_order': fields.related('order_id','date_order',string='Order Date',readonly=True,type="date")
27
28 }