Merge lp:~openerp-dev/openobject-server/trunk-eval-action-context-pna into lp:openobject-server

Proposed by Richard Mathot (Odoo, formerly OpenERP)
Status: Work in progress
Proposed branch: lp:~openerp-dev/openobject-server/trunk-eval-action-context-pna
Merge into: lp:openobject-server
Diff against target: 50 lines (+22/-17)
1 file modified
openerp/addons/base/ir/ir_actions.py (+22/-17)
To merge this branch: bzr merge lp:~openerp-dev/openobject-server/trunk-eval-action-context-pna
Reviewer Review Type Date Requested Status
Richard Mathot (Odoo, formerly OpenERP) (community) Disapprove
Review via email: mp+216827@code.launchpad.net
To post a comment you must log in.
5154. By Richard Mathot (Odoo, formerly OpenERP)

[MERGE] from trunk

Revision history for this message
Richard Mathot (Odoo, formerly OpenERP) (rim-openerp) wrote :

Seems very suspect

review: Disapprove

Unmerged revisions

5154. By Richard Mathot (Odoo, formerly OpenERP)

[MERGE] from trunk

5153. By Pinakin Nayi (OpenERP)

[Merge]with trunk

5152. By Pinakin Nayi (OpenERP)

[Merge]with trunk

5151. By Pinakin Nayi (OpenERP)

[MERGE]with main

5150. By Pinakin Nayi (OpenERP)

[IMP]act_window: eval context and append in result

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'openerp/addons/base/ir/ir_actions.py'
--- openerp/addons/base/ir/ir_actions.py 2014-04-07 17:46:28 +0000
+++ openerp/addons/base/ir/ir_actions.py 2014-04-23 09:58:28 +0000
@@ -306,24 +306,29 @@
306 ids = [ids]306 ids = [ids]
307 results = super(ir_actions_act_window, self).read(cr, uid, ids, fields=fields, context=context, load=load)307 results = super(ir_actions_act_window, self).read(cr, uid, ids, fields=fields, context=context, load=load)
308308
309 if not fields or 'help' in fields:309 context = dict(context or {})
310 context = dict(context or {})310 eval_dict = {
311 eval_dict = {311 'active_model': context.get('active_model'),
312 'active_model': context.get('active_model'),312 'active_id': context.get('active_id'),
313 'active_id': context.get('active_id'),313 'active_ids': context.get('active_ids'),
314 'active_ids': context.get('active_ids'),314 'uid': uid,
315 'uid': uid,315 'context': context,
316 }316 }
317 for res in results:317 for res in results:
318 model = res.get('res_model')318 model = res.get('res_model')
319 if model and self.pool.get(model):319 model_obj = model and self.pool.get(model) or False
320 try:320 if model_obj:
321 with tools.mute_logger("openerp.tools.safe_eval"):321 try:
322 eval_context = eval(res['context'] or "{}", eval_dict) or {}322 with tools.mute_logger("openerp.tools.safe_eval"):
323 except Exception:323 eval_context = eval(res['context'] or "{}", eval_dict) or {}
324 continue324 except Exception:
325 continue
326 if res.get('context') and context and context.get('active_model'):
327 custom_context = dict(**eval_context)
328 res['context'] = str(custom_context)
329 if not fields or 'help' in fields:
325 custom_context = dict(context, **eval_context)330 custom_context = dict(context, **eval_context)
326 res['help'] = self.pool.get(model).get_empty_list_help(cr, uid, res.get('help', ""), context=custom_context)331 res['help'] = model_obj.get_empty_list_help(cr, uid, res.get('help', ""), context=custom_context)
327 if ids_int:332 if ids_int:
328 return results[0]333 return results[0]
329 return results334 return results