From ecafb0fb1b222093c33ee7fd5cf988bc6ad50f1a Mon Sep 17 00:00:00 2001 From: "MGA(OpenERP)" <> Date: Tue, 16 Mar 2010 12:21:15 +0530 Subject: [PATCH 1/6] [IMP] code improvement suggested by mga bzr revid: hda@tinyerp.com-20100316065115-oerzxrmpqf01j168 --- .../base_module_record/base_module_record.py | 44 ++++++++++++------- 1 file changed, 27 insertions(+), 17 deletions(-) diff --git a/addons/base_module_record/base_module_record.py b/addons/base_module_record/base_module_record.py index 91ba7b8782c..1bea209cd78 100644 --- a/addons/base_module_record/base_module_record.py +++ b/addons/base_module_record/base_module_record.py @@ -111,15 +111,19 @@ class base_module_record(osv.osv): return obj.module+'.'+obj.name, obj.noupdate def _create_record(self, cr, uid, doc, model, data, record_id, noupdate=False): + + data_pool = self.pool.get('ir.model.data') + model_pool = self.pool.get(model) + record = doc.createElement('record') record.setAttribute("id", record_id) record.setAttribute("model", model) record_list = [record] - lids = self.pool.get('ir.model.data').search(cr, uid, [('model','=',model)]) - res = self.pool.get('ir.model.data').read(cr, uid, lids[:1], ['module']) + lids = data_pool.search(cr, uid, [('model','=',model)]) + res = data_pool.read(cr, uid, lids[:1], ['module']) if res: self.depends[res[0]['module']]=True - fields = self.pool.get(model).fields_get(cr, uid) + fields = model_pool.fields_get(cr, uid) for key,val in data.items(): if not (val or (fields[key]['type']=='boolean')): continue @@ -142,9 +146,11 @@ class base_module_record(osv.osv): id,update = self._get_id(cr, uid, fields[key]['relation'], val) noupdate = noupdate or update if not id: + relation_pool = self.pool.get(fields[key]['relation']) + field.setAttribute("model", fields[key]['relation']) - fld_nm = self.pool.get(fields[key]['relation'])._rec_name - name = self.pool.get(fields[key]['relation']).read(cr, uid, val,[fld_nm])[fld_nm] or False + fld_nm = relation_pool._rec_name + name = relation_pool.read(cr, uid, val,[fld_nm])[fld_nm] or False field.setAttribute("search", str([(str(fld_nm) ,'=', name)])) else: field.setAttribute("ref", id) @@ -152,10 +158,10 @@ class base_module_record(osv.osv): elif fields[key]['type'] in ('one2many',): for valitem in (val or []): if valitem[0] in (0,1): - if key in self.pool.get(model)._columns: - fname = self.pool.get(model)._columns[key]._fields_id + if key in model_pool._columns: + fname = model_pool._columns[key]._fields_id else: - fname = self.pool.get(model)._inherit_fields[key][2]._fields_id + fname = model_pool._inherit_fields[key][2]._fields_id valitem[2][fname] = record_id newid,update = self._get_id(cr, uid, fields[key]['relation'], valitem[1]) if not newid: @@ -190,14 +196,18 @@ class base_module_record(osv.osv): def _create_yaml_record(self, cr, uid, model, data, record_id): record={'model': model, 'id': str(record_id)} - lids = self.pool.get('ir.model.data').search(cr, uid, [('model','=',model)]) - res = self.pool.get('ir.model.data').read(cr, uid, lids[:1], ['module']) + + model_pool = self.pool.get(model) + data_pool = self.pool.get('ir.model.data') + + lids = data_pool.search(cr, uid, [('model','=',model)]) + res = data_pool.read(cr, uid, lids[:1], ['module']) attrs={} if res: self.depends[res[0]['module']]=True - fields = self.pool.get(model).fields_get(cr, uid) + fields = model_pool.fields_get(cr, uid) defaults={} - defaults[model] = self.pool.get(model).default_get(cr, uid, data) + defaults[model] = model_pool.default_get(cr, uid, data) for key,val in data.items(): if ((key in defaults[model]) and (val == defaults[model][key])) and not(fields[key].get('required',False)): continue @@ -210,19 +220,19 @@ class base_module_record(osv.osv): elif fields[key]['type'] in ('integer','float'): attrs[key] = val elif fields[key]['type'] in ('many2one',): - if type(val) in (type(''),type(u'')): + if type(val) in (type(''), type(u'')): id = val else: - id,update = self._get_id(cr, uid, fields[key]['relation'], val) + id, update = self._get_id(cr, uid, fields[key]['relation'], val) attrs[key] = str(id) elif fields[key]['type'] in ('one2many',): items=[[]] for valitem in (val or []): if valitem[0] in (0,1): - if key in self.pool.get(model)._columns: - fname = self.pool.get(model)._columns[key]._fields_id + if key in model_pool._columns: + fname = model_pool._columns[key]._fields_id else: - fname = self.pool.get(model)._inherit_fields[key][2]._fields_id + fname = model_pool._inherit_fields[key][2]._fields_id valitem[2][fname] = record_id newid,update = self._get_id(cr, uid, fields[key]['relation'], valitem[1]) if not newid: From 7772b182a1179397ce61b184825b1a2e71788ed1 Mon Sep 17 00:00:00 2001 From: "mra (Open ERP)" Date: Tue, 16 Mar 2010 12:22:50 +0530 Subject: [PATCH 2/6] [FIX] project_retro_plannig: date_end rename in project object with date bzr revid: mra@tinyerp.com-20100316065250-o4y7gcqx9kg8lsy1 --- addons/event_project/wizard/project_wizard.py | 6 +++--- .../project_retro_planning.py | 14 +++++++------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/addons/event_project/wizard/project_wizard.py b/addons/event_project/wizard/project_wizard.py index d39c86f4d49..fe70db08e7b 100644 --- a/addons/event_project/wizard/project_wizard.py +++ b/addons/event_project/wizard/project_wizard.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- ############################################################################## -# +# # OpenERP, Open Source Management Solution # Copyright (C) 2004-2010 Tiny SPRL (). # @@ -15,7 +15,7 @@ # GNU Affero General Public License for more details. # # You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . +# along with this program. If not, see . # ############################################################################## @@ -43,7 +43,7 @@ def _create_duplicate(self, cr, uid, data, context): event_obj=pooler.get_pool(cr.dbname).get('event.event') project_obj = pooler.get_pool(cr.dbname).get('project.project') duplicate_project_id= project_obj.copy(cr, uid,data['form']['project_id'], {'active': True}) - project_obj.write(cr, uid, [duplicate_project_id], {'name': "copy of " + project_obj.browse(cr, uid, duplicate_project_id, context).name , 'date_start':time.strftime('%Y-%m-%d'),'date_end': event_obj.browse(cr, uid, [data['id']])[0].date_begin[0:10] }) + project_obj.write(cr, uid, [duplicate_project_id], {'name': "copy of " + project_obj.browse(cr, uid, duplicate_project_id, context).name , 'date_start':time.strftime('%Y-%m-%d'),'date': event_obj.browse(cr, uid, [data['id']])[0].date_begin[0:10] }) event_obj.write(cr, uid, [data['id']], {'project_id': duplicate_project_id }) return {} diff --git a/addons/project_retro_planning/project_retro_planning.py b/addons/project_retro_planning/project_retro_planning.py index 0f35ddb4338..60c8279f16f 100644 --- a/addons/project_retro_planning/project_retro_planning.py +++ b/addons/project_retro_planning/project_retro_planning.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- ############################################################################## -# +# # OpenERP, Open Source Management Solution # Copyright (C) 2004-2010 Tiny SPRL (). # @@ -15,7 +15,7 @@ # GNU Affero General Public License for more details. # # You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . +# along with this program. If not, see . # ############################################################################## @@ -29,12 +29,12 @@ class project_project(osv.osv): _description = 'project.project' def write(self, cr, uid, ids,vals, *args, **kwargs): - if 'date_end' in vals and vals['date_end']: + if 'date' in vals and vals['date']: data_project = self.browse(cr,uid,ids) for prj in data_project: - c= date(*time.strptime(vals['date_end'],'%Y-%m-%d')[:3]) - if prj.date_end: - d= date(*time.strptime(prj.date_end,'%Y-%m-%d')[:3]) + c= date(*time.strptime(vals['date'],'%Y-%m-%d')[:3]) + if prj.date: + d= date(*time.strptime(prj.date,'%Y-%m-%d')[:3]) for task in prj.tasks: start_dt = (datetime(*time.strptime(task.date_start,'%Y-%m-%d %H:%M:%S')[:6])+(c-d)).strftime('%Y-%m-%d %H:%M:%S') if task.date_deadline: @@ -42,7 +42,7 @@ class project_project(osv.osv): self.pool.get('project.task').write(cr,uid,task.id,{'date_start':start_dt, 'date_deadline':deadline_dt}) else: self.pool.get('project.task').write(cr,uid,task.id,{'date_start':start_dt}) - return super(project_project,self).write(cr, uid, ids,vals, *args, **kwargs) + return super(project_project,self).write(cr, uid, ids, vals, *args, **kwargs) project_project() # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: From fae6f09c3c56d520870f1f4f762bff9191200899 Mon Sep 17 00:00:00 2001 From: Julien Thewys Date: Tue, 16 Mar 2010 10:06:22 +0100 Subject: [PATCH 3/6] [FIX] Usability: renamed some labels. bzr revid: jth@openerp.com-20100316090622-xr90w5pwbpmgdr0z --- addons/account/account_view.xml | 4 ++-- addons/account/project/project_view.xml | 2 +- .../account/project/wizard/wizard_account_analytic_line.py | 6 +++--- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/addons/account/account_view.xml b/addons/account/account_view.xml index 3ef24386c2d..d865823e9cd 100644 --- a/addons/account/account_view.xml +++ b/addons/account/account_view.xml @@ -668,7 +668,7 @@ - + - + 1 @@ -26,7 +26,7 @@ 4 Merge - + 1 @@ -39,7 +39,6 @@ 10 Study + Prototype - @@ -47,7 +46,6 @@ 20 Specific Developements - @@ -55,11 +53,10 @@ 30 Install, data import, configuration - - + 38.0