From 911552c2e7a5e5b79dd5ef215781074091a4ecb8 Mon Sep 17 00:00:00 2001 From: "Jitendra Prajapati (OpenERP)" Date: Thu, 3 Apr 2014 16:44:45 +0530 Subject: [PATCH] [IMP]optimized code for name_get method bzr revid: jpr@tinyerp.com-20140403111445-lej57pocr2d0qokm --- openerp/addons/base/ir/ir_actions.py | 4 +++- openerp/addons/base/ir/ir_config_parameter.py | 2 +- openerp/addons/base/ir/ir_ui_view.py | 5 +++++ openerp/addons/base/res/ir_property.py | 4 +++- openerp/addons/base/workflow/workflow.py | 3 +-- 5 files changed, 13 insertions(+), 5 deletions(-) diff --git a/openerp/addons/base/ir/ir_actions.py b/openerp/addons/base/ir/ir_actions.py index 41d076a03fb..e71496dd49a 100644 --- a/openerp/addons/base/ir/ir_actions.py +++ b/openerp/addons/base/ir/ir_actions.py @@ -1051,7 +1051,9 @@ Launch Manually Once: after having been launched manually, it sets automatically _order="sequence,id" def name_get(self, cr, uid, ids, context=None): - return [(action["id"], "%s" % (action['action_id'][1])) for action in self.read(cr, uid, ids, ['action_id'], context=context)] + if not ids: + return [] + return [(rec.id, rec.action_id.name) for rec in self.browse(cr, uid, ids, context=context)] def action_launch(self, cr, uid, ids, context=None): """ Launch Action of Wizard""" diff --git a/openerp/addons/base/ir/ir_config_parameter.py b/openerp/addons/base/ir/ir_config_parameter.py index 6c7eb533efa..dd6b9729a7b 100644 --- a/openerp/addons/base/ir/ir_config_parameter.py +++ b/openerp/addons/base/ir/ir_config_parameter.py @@ -53,7 +53,7 @@ class ir_config_parameter(osv.osv): ] def name_get(self, cr, uid, ids, context=None): - return [(sys_para["id"], "%s" % (sys_para['key'])) for sys_para in self.read(cr, uid, ids, ['key'], context=context)] + return [(sys_para.id, "%s" % (sys_para.key)) for sys_para in self.browse(cr, uid, ids, context=context)] def init(self, cr, force=False): """ diff --git a/openerp/addons/base/ir/ir_ui_view.py b/openerp/addons/base/ir/ir_ui_view.py index 360c5e37b31..3795fa96d4c 100644 --- a/openerp/addons/base/ir/ir_ui_view.py +++ b/openerp/addons/base/ir/ir_ui_view.py @@ -64,6 +64,11 @@ class view_custom(osv.osv): 'arch': fields.text('View Architecture', required=True), } + def name_get(self, cr, uid, ids, context=None): + if not ids: + return [] + return [(rec.id, rec.user_id.name) for rec in self.browse(cr, uid, ids, context=context)] + def _auto_init(self, cr, context=None): super(view_custom, self)._auto_init(cr, context) cr.execute('SELECT indexname FROM pg_indexes WHERE indexname = \'ir_ui_view_custom_user_id_ref_id\'') diff --git a/openerp/addons/base/res/ir_property.py b/openerp/addons/base/res/ir_property.py index fd41a74d213..6d7c611b5ae 100644 --- a/openerp/addons/base/res/ir_property.py +++ b/openerp/addons/base/res/ir_property.py @@ -114,7 +114,9 @@ class ir_property(osv.osv): return values def name_get(self, cr, uid, ids, context=None): - return [(ir_property["id"], "%s" % (ir_property['name'] or ir_property['fields_id'][1])) for ir_property in self.read(cr, uid, ids, ['fields_id','name'], context=context)] + if not ids: + return [] + return [(rec.id, rec.name or rec.fields_id.field_description) for rec in self.browse(cr, uid, ids, context=context)] def write(self, cr, uid, ids, values, context=None): return super(ir_property, self).write(cr, uid, ids, self._update_values(cr, uid, ids, values), context=context) diff --git a/openerp/addons/base/workflow/workflow.py b/openerp/addons/base/workflow/workflow.py index ba25921a091..eb50fe56e68 100644 --- a/openerp/addons/base/workflow/workflow.py +++ b/openerp/addons/base/workflow/workflow.py @@ -127,8 +127,7 @@ class wkf_transition(osv.osv): def name_get(self, cr, uid, ids, context=None): if not ids: return [] - line = self.browse(cr, uid, ids, context=context) - return [(line.id, (line.act_from.name) + '+' + (line.act_to.name)) if line.signal == False else (line.id, line.signal) for line in line] + return [(line.id, (line.act_from.name) + '+' + (line.act_to.name)) if line.signal == False else (line.id, line.signal) for line in self.browse(cr, uid, ids, context=context)] wkf_transition()