From cb2c902c6be96f2092732634dd0e54b90b827f2f Mon Sep 17 00:00:00 2001 From: "Turkesh Patel (Open ERP)" Date: Wed, 4 Jul 2012 15:03:43 +0530 Subject: [PATCH] [IMP] project: improved code. bzr revid: tpa@tinyerp.com-20120704093343-3q7a6flz5qbrsza1 --- addons/project/project.py | 13 ++++++------- addons/project/project_demo.xml | 10 +++++----- addons/project/project_view.xml | 2 +- addons/project_issue/project_issue.py | 3 ++- addons/project_issue/project_issue_view.xml | 3 +++ 5 files changed, 17 insertions(+), 14 deletions(-) diff --git a/addons/project/project.py b/addons/project/project.py index 98731983dfb..fd472c4e161 100644 --- a/addons/project/project.py +++ b/addons/project/project.py @@ -165,7 +165,7 @@ class project(osv.osv): res[task.project_id.id] += 1 return res def _get_alias_model(self, cr, uid, context=None): - return [('model_project_task', "Tasks")] + return [('project.task', "Tasks")] def _get_followers(self, cr, uid, ids, name, arg, context=None): ''' @@ -239,7 +239,7 @@ class project(osv.osv): 'priority': 1, 'sequence': 10, 'type_ids': _get_type_common, - 'alias_model':'model_project_task', + 'alias_model':'project.task', } # TODO: Why not using a SQL contraints ? @@ -523,7 +523,7 @@ def Project(): def create(self, cr, uid, vals, context=None): alias_pool = self.pool.get('mail.alias') if not vals.get('alias_id'): - alias_id = alias_pool.create_unique_alias(cr, uid, {'alias_name': "project."+vals['name'], 'alias_model_id': self._name}, context=context) + alias_id = alias_pool.create_unique_alias(cr, uid, {'alias_name': "project."+vals['name'], 'alias_model_id': vals.get('alias_model','project.task')}, context=context) vals.update({'alias_id': alias_id}) res = super( project, self).create(cr, uid, vals, context) record = self.read(cr, uid, res, context) @@ -551,16 +551,15 @@ def Project(): return self.message_append_note(cr, uid, ids, body=message, context=context) def write(self, cr, uid, ids, vals, context=None): - model_pool = self.pool.get('ir.model.data') + model_pool = self.pool.get('ir.model') alias_pool = self.pool.get('mail.alias') # if alias_model have been changed then change alias_model_id of alias also. if vals.get('alias_model'): - model, res_id = model_pool.get_object_reference( cr, uid, "project", vals.get('alias_model','model_project_task')) + model_ids = model_pool.search(cr, uid, [('model', '=', vals.get('alias_model','project.task'))]) alias_id = self.browse(cr, uid, ids[0], context).alias_id - alias_pool.write(cr, uid, [alias_id.id], {'alias_model_id': res_id}, context=context) + alias_pool.write(cr, uid, [alias_id.id], {'alias_model_id': model_ids[0]}, context=context) return super(project, self).write(cr, uid, ids, vals, context=context) - class task(base_stage, osv.osv): _name = "project.task" _description = "Task" diff --git a/addons/project/project_demo.xml b/addons/project/project_demo.xml index 889cc285af3..fb394d1bfca 100644 --- a/addons/project/project_demo.xml +++ b/addons/project/project_demo.xml @@ -66,7 +66,7 @@ ref('base.user_vad')])]" name="members"/> Integrate a Sale and Warehouse Management. - model_project_task + project.task @@ -291,7 +291,7 @@ - model_project_task + project.task 10 @@ -300,7 +300,7 @@ - model_project_task + project.task 20 @@ -309,7 +309,7 @@ - model_project_task + project.task 30 @@ -317,7 +317,7 @@ Install, data import, configuration - model_project_task + project.task diff --git a/addons/project/project_view.xml b/addons/project/project_view.xml index 8024e4e8c63..cc64f528cda 100644 --- a/addons/project/project_view.xml +++ b/addons/project/project_view.xml @@ -56,7 +56,7 @@ - + diff --git a/addons/project_issue/project_issue.py b/addons/project_issue/project_issue.py index a7322959e70..04263ee7e21 100644 --- a/addons/project_issue/project_issue.py +++ b/addons/project_issue/project_issue.py @@ -582,7 +582,7 @@ class project(osv.osv): _inherit = "project.project" def _get_alias_model(self, cr, uid, context=None): - return [('model_project_task', "Tasks"),("model_project_issue", "Issue")] + return [('project.task', "Tasks"),("project.issue", "Issue")] def _issue_count(self, cr, uid, ids, field_name, arg, context=None): res = dict.fromkeys(ids, 0) @@ -608,6 +608,7 @@ class project(osv.osv): _constraints = [ (_check_escalation, 'Error! You cannot assign escalation to the same project!', ['project_escalation_id']) ] + project() class account_analytic_account(osv.osv): diff --git a/addons/project_issue/project_issue_view.xml b/addons/project_issue/project_issue_view.xml index 016c3f8d9d0..0738f9fe850 100644 --- a/addons/project_issue/project_issue_view.xml +++ b/addons/project_issue/project_issue_view.xml @@ -352,6 +352,9 @@ + + +