From 01636ac48bed089223a6d255a53c2ca9e1690c5f Mon Sep 17 00:00:00 2001 From: "Randhir Mayatra (OpenERP)" Date: Thu, 22 Nov 2012 12:45:22 +0530 Subject: [PATCH] [IMP] improve the code bzr revid: rma@tinyerp.com-20121122071522-ck8a1hyhszqlzd0j --- addons/project/project.py | 7 ++++++- addons/project_issue/project_issue.py | 7 +++++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/addons/project/project.py b/addons/project/project.py index 7b759e58483..5741d32a820 100644 --- a/addons/project/project.py +++ b/addons/project/project.py @@ -1175,6 +1175,7 @@ class task(base_stage, osv.osv): #raise osv.except_osv(_('Warning!'), _('Stage is not defined in the project.')) write_vals = vals_reset_kstate if t.stage_id != new_stage else vals super(task, self).write(cr, uid, [t.id], write_vals, context=context) + self.stage_set_send_note(cr, uid, [t.id], new_stage, context=context) result = True else: result = super(task, self).write(cr, uid, ids, vals, context=context) @@ -1286,7 +1287,11 @@ class task(base_stage, osv.osv): def create_send_note(self, cr, uid, ids, context=None): return self.message_post(cr, uid, ids, body=_("Task has been created."), subtype="project.mt_task_new", context=context) - + def stage_set_send_note(self, cr, uid, ids, stage_id, context=None): + """ Override of the (void) default notification method. """ + stage_name = self.pool.get('project.task.type').name_get(cr, uid, [stage_id], context=context)[0][1] + return self.message_post(cr, uid, ids, body=_("Stage changed to %s.") % (stage_name), + context=context) def case_open_send_note(self, cr, uid, ids, context=None): return self.message_post(cr, uid, ids, body=_("Task has been started."), subtype="project.mt_task_started", context=context) diff --git a/addons/project_issue/project_issue.py b/addons/project_issue/project_issue.py index 075324f1cd8..bb01ea55095 100644 --- a/addons/project_issue/project_issue.py +++ b/addons/project_issue/project_issue.py @@ -387,7 +387,6 @@ class project_issue(base_stage, osv.osv): def write(self, cr, uid, ids, vals, context=None): #Update last action date every time the user change the stage, the state or send a new email logged_fields = ['stage_id', 'state', 'message_ids'] - print "logged_fields-------",logged_fields if any([field in vals for field in logged_fields]): vals['date_action_last'] = time.strftime('%Y-%m-%d %H:%M:%S') @@ -399,6 +398,7 @@ class project_issue(base_stage, osv.osv): if st.state =='open': self.issue_start_send_note(cr, uid, ids, context=context) return super(project_issue, self).write(cr, uid, ids, vals, context) + def issue_start_send_note(self, cr, uid, ids, context=None): return self.message_post(cr, uid, ids, body=_("Issue has been started."), subtype="mt_issue_change", context=context) @@ -547,7 +547,10 @@ class project_issue(base_stage, osv.osv): def convert_to_task_send_note(self, cr, uid, ids, context=None): message = _("Project issue converted to task.") return self.message_post(cr, uid, ids, body=message, context=context) - + def stage_set_send_note(self, cr, uid, ids, stage_id, context=None): + """ Override of the (void) default notification method. """ + stage_name = self.pool.get('project.task.type').name_get(cr, uid, [stage_id], context=context)[0][1] + return self.message_post(cr, uid, ids, body= _("Stage changed to %s.") % (stage_name), subtype="mt_issue_new", context=context) def create_send_note(self, cr, uid, ids, context=None): message = _("Project issue created.") return self.message_post(cr, uid, ids, body=message, subtype="mt_issue_new", context=context)