Merge lp:~openerp-commiter/openobject-client/6.1-opw-381574-nch into lp:openobject-client/6.1

Proposed by Naresh(OpenERP)
Status: Merged
Merged at revision: 2079
Proposed branch: lp:~openerp-commiter/openobject-client/6.1-opw-381574-nch
Merge into: lp:openobject-client/6.1
Diff against target: 58 lines (+9/-4)
3 files modified
bin/widget/model/field.py (+2/-2)
bin/widget/model/record.py (+6/-1)
bin/widget/view/form_gtk/interface.py (+1/-1)
To merge this branch: bzr merge lp:~openerp-commiter/openobject-client/6.1-opw-381574-nch
Reviewer Review Type Date Requested Status
Xavier ALT Pending
Review via email: mp+94924@code.launchpad.net

Description of the change

[FIX/IMP][381574]:on_change call to pass context defined on the field"

To post a comment you must log in.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'bin/widget/model/field.py'
--- bin/widget/model/field.py 2011-12-09 09:33:16 +0000
+++ bin/widget/model/field.py 2012-02-28 09:17:26 +0000
@@ -62,7 +62,7 @@
62 if self.get_state_attrs(model).get('readonly', False):62 if self.get_state_attrs(model).get('readonly', False):
63 return63 return
64 if self.attrs.get('on_change',False):64 if self.attrs.get('on_change',False):
65 model.on_change(self.attrs['on_change'])65 model.on_change(self.attrs['on_change'], field = self)
66 if self.attrs.get('change_default', False):66 if self.attrs.get('change_default', False):
67 model.cond_default(self.attrs['name'], self.get(model))67 model.cond_default(self.attrs['name'], self.get(model))
6868
@@ -122,7 +122,7 @@
122 res = self.set(model, value)122 res = self.set(model, value)
123 model.cond_default(self.attrs['name'], self.get(model))123 model.cond_default(self.attrs['name'], self.get(model))
124 if self.attrs.get('on_change',False):124 if self.attrs.get('on_change',False):
125 model.on_change(self.attrs['on_change'])125 model.on_change(self.attrs['on_change'], field=self)
126 return res126 return res
127127
128 def get_default(self, model):128 def get_default(self, model):
129129
=== modified file 'bin/widget/model/record.py'
--- bin/widget/model/record.py 2011-11-14 06:07:24 +0000
+++ bin/widget/model/record.py 2012-02-28 09:17:26 +0000
@@ -300,13 +300,18 @@
300 return val300 return val
301301
302 #XXX Shoud use changes of attributes (ro, ...)302 #XXX Shoud use changes of attributes (ro, ...)
303 def on_change(self, callback):303 def on_change(self, callback, field=False):
304 match = re.match('^\s?(.*?)\((.*?)\)\s?$', callback)304 match = re.match('^\s?(.*?)\((.*?)\)\s?$', callback)
305 if not match:305 if not match:
306 raise Exception, 'ERROR: Wrong on_change trigger: %s' % callback306 raise Exception, 'ERROR: Wrong on_change trigger: %s' % callback
307 func_name = match.group(1)307 func_name = match.group(1)
308 arg_names = [n.strip() for n in match.group(2).split(',') if n.strip()]308 arg_names = [n.strip() for n in match.group(2).split(',') if n.strip()]
309 idx = False
310 if 'context' in arg_names:
311 idx = arg_names.index('context')
309 args = [self.expr_eval(arg) for arg in arg_names]312 args = [self.expr_eval(arg) for arg in arg_names]
313 if idx and field:
314 args[idx].update(field.context_get(self))
310 ids = self.id and [self.id] or []315 ids = self.id and [self.id] or []
311 response = getattr(self.rpc, func_name)(ids, *args)316 response = getattr(self.rpc, func_name)(ids, *args)
312 if response:317 if response:
313318
=== modified file 'bin/widget/view/form_gtk/interface.py'
--- bin/widget/view/form_gtk/interface.py 2011-10-28 16:31:34 +0000
+++ bin/widget/view/form_gtk/interface.py 2012-02-28 09:17:26 +0000
@@ -145,7 +145,7 @@
145145
146 def sig_changed(self):146 def sig_changed(self):
147 if self.attrs.get('on_change',False):147 if self.attrs.get('on_change',False):
148 self._view.view_form.screen.on_change(self.attrs['on_change'])148 self._view.view_form.screen.on_change(self.attrs['on_change'], field=self._view.modelfield)
149149
150 def grab_focus(self):150 def grab_focus(self):
151 return self.widget.grab_focus()151 return self.widget.grab_focus()

Subscribers

People subscribed via source and target branches