Merge lp:~agilebg/openobject-addons/7.0-bug-1111430-elbati into lp:openobject-addons/7.0

Proposed by Lorenzo Battistini
Status: Needs review
Proposed branch: lp:~agilebg/openobject-addons/7.0-bug-1111430-elbati
Merge into: lp:openobject-addons/7.0
Diff against target: 86 lines (+30/-16)
3 files modified
account/account_invoice.py (+0/-14)
purchase/purchase.py (+15/-1)
sale/sale.py (+15/-1)
To merge this branch: bzr merge lp:~agilebg/openobject-addons/7.0-bug-1111430-elbati
Reviewer Review Type Date Requested Status
OpenERP Core Team Pending
Review via email: mp+176179@code.launchpad.net
To post a comment you must log in.

Unmerged revisions

9306. By Lorenzo Battistini

[FIX] account.invoice.line fields_view_get is broken

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'account/account_invoice.py'
2--- account/account_invoice.py 2013-06-12 15:38:14 +0000
3+++ account/account_invoice.py 2013-07-22 12:21:17 +0000
4@@ -1441,20 +1441,6 @@
5 'account_id': _default_account_id,
6 }
7
8- def fields_view_get(self, cr, uid, view_id=None, view_type='form', context=None, toolbar=False, submenu=False):
9- if context is None:
10- context = {}
11- res = super(account_invoice_line,self).fields_view_get(cr, uid, view_id=view_id, view_type=view_type, context=context, toolbar=toolbar, submenu=submenu)
12- if context.get('type', False):
13- doc = etree.XML(res['arch'])
14- for node in doc.xpath("//field[@name='product_id']"):
15- if context['type'] in ('in_invoice', 'in_refund'):
16- node.set('domain', "[('purchase_ok', '=', True)]")
17- else:
18- node.set('domain', "[('sale_ok', '=', True)]")
19- res['arch'] = etree.tostring(doc)
20- return res
21-
22 def product_id_change(self, cr, uid, ids, product, uom_id, qty=0, name='', type='out_invoice', partner_id=False, fposition_id=False, price_unit=False, currency_id=False, context=None, company_id=None):
23 if context is None:
24 context = {}
25
26=== modified file 'purchase/purchase.py'
27--- purchase/purchase.py 2013-07-10 21:56:55 +0000
28+++ purchase/purchase.py 2013-07-22 12:21:17 +0000
29@@ -20,6 +20,7 @@
30 ##############################################################################
31
32 import time
33+from lxml import etree
34 import pytz
35 from openerp import SUPERUSER_ID
36 from datetime import datetime
37@@ -1224,4 +1225,17 @@
38 wf_service.trg_validate(uid, 'purchase.order', context['default_res_id'], 'send_rfq', cr)
39 return super(mail_compose_message, self).send_mail(cr, uid, ids, context=context)
40
41-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
42+class account_invoice_line(osv.Model):
43+ _inherit = 'account.invoice.line'
44+
45+ def fields_view_get(self, cr, uid, view_id=None, view_type='form', context=None, toolbar=False, submenu=False):
46+ if context is None:
47+ context = {}
48+ res = super(account_invoice_line,self).fields_view_get(cr, uid, view_id=view_id, view_type=view_type, context=context, toolbar=toolbar, submenu=submenu)
49+ if context.get('type', False):
50+ doc = etree.XML(res['arch'])
51+ for node in doc.xpath("//field[@name='product_id']"):
52+ if context['type'] in ('in_invoice', 'in_refund'):
53+ node.set('domain', "[('purchase_ok', '=', True)]")
54+ res['arch'] = etree.tostring(doc)
55+ return res
56
57=== modified file 'sale/sale.py'
58--- sale/sale.py 2013-06-07 11:38:29 +0000
59+++ sale/sale.py 2013-07-22 12:21:17 +0000
60@@ -19,6 +19,7 @@
61 #
62 ##############################################################################
63
64+from lxml import etree
65 from datetime import datetime, timedelta
66 from dateutil.relativedelta import relativedelta
67 import time
68@@ -1011,4 +1012,17 @@
69 wf_service.trg_validate(uid, 'account.invoice', id, 'invoice_cancel', cr)
70 return super(account_invoice, self).unlink(cr, uid, ids, context=context)
71
72-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
73+class account_invoice_line(osv.Model):
74+ _inherit = 'account.invoice.line'
75+
76+ def fields_view_get(self, cr, uid, view_id=None, view_type='form', context=None, toolbar=False, submenu=False):
77+ if context is None:
78+ context = {}
79+ res = super(account_invoice_line,self).fields_view_get(cr, uid, view_id=view_id, view_type=view_type, context=context, toolbar=toolbar, submenu=submenu)
80+ if context.get('type', False):
81+ doc = etree.XML(res['arch'])
82+ for node in doc.xpath("//field[@name='product_id']"):
83+ if context['type'] in ('out_invoice', 'out_refund'):
84+ node.set('domain', "[('sale_ok', '=', True)]")
85+ res['arch'] = etree.tostring(doc)
86+ return res