From 6bd82630309ec6f1502bb513a4fdf79a723f0142 Mon Sep 17 00:00:00 2001 From: "Randhir Mayatra (OpenERP)" Date: Mon, 19 Nov 2012 15:42:48 +0530 Subject: [PATCH 01/18] [IMP] change the location of comment in follower widget bzr revid: rma@tinyerp.com-20121119101248-wlpx7x251gpyvhz9 --- addons/mail/static/src/xml/mail_followers.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/addons/mail/static/src/xml/mail_followers.xml b/addons/mail/static/src/xml/mail_followers.xml index 3dec4ef1dd2..2e32f63c79e 100644 --- a/addons/mail/static/src/xml/mail_followers.xml +++ b/addons/mail/static/src/xml/mail_followers.xml @@ -12,11 +12,11 @@ Unfollow Following + +
+
- -
-

Followers

Invite others From 8b9ceee890e351be9fe53adf9609711de18a688e Mon Sep 17 00:00:00 2001 From: "Randhir Mayatra (OpenERP)" Date: Mon, 19 Nov 2012 16:18:28 +0530 Subject: [PATCH 02/18] [IMP] separate the followers and subtypes in follower widget bzr revid: rma@tinyerp.com-20121119104828-87cgl9eulhwpqogr --- addons/mail/static/src/xml/mail_followers.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/addons/mail/static/src/xml/mail_followers.xml b/addons/mail/static/src/xml/mail_followers.xml index 2e32f63c79e..480001357a3 100644 --- a/addons/mail/static/src/xml/mail_followers.xml +++ b/addons/mail/static/src/xml/mail_followers.xml @@ -17,6 +17,7 @@
+

Followers

Invite others From fd598ba6fff1d9903f2bad98e7166c94c0fce6c5 Mon Sep 17 00:00:00 2001 From: "Randhir Mayatra (OpenERP)" Date: Tue, 20 Nov 2012 12:47:15 +0530 Subject: [PATCH 03/18] [IMP] add the subtypes in project tasks bzr revid: rma@tinyerp.com-20121120071715-ap0xs1aw8sfx66q6 --- addons/project/project.py | 17 ++++++++++++++--- addons/project/project_data.xml | 16 ++++++++++++++-- 2 files changed, 28 insertions(+), 5 deletions(-) diff --git a/addons/project/project.py b/addons/project/project.py index 9c28fadeab9..ece0daae623 100644 --- a/addons/project/project.py +++ b/addons/project/project.py @@ -1109,11 +1109,13 @@ class task(base_stage, osv.osv): def set_kanban_state_normal(self, cr, uid, ids, context=None): self.write(cr, uid, ids, {'kanban_state': 'normal'}, context=context) - return False + self.case_block_send_note(cr, uid, ids, context=context) + return True def set_kanban_state_done(self, cr, uid, ids, context=None): self.write(cr, uid, ids, {'kanban_state': 'done'}, context=context) - return False + self.case_open_send_note(cr, uid, ids, context=context) + return True def _store_history(self, cr, uid, ids, context=None): for task in self.browse(cr, uid, ids, context=context): @@ -1295,8 +1297,17 @@ class task(base_stage, osv.osv): context=context) def create_send_note(self, cr, uid, ids, context=None): - return self.message_post(cr, uid, ids, body=_("Task has been created."), context=context) + return self.message_post(cr, uid, ids, body=_("Task has been created."), subtype="project.mt_task_new", 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) + + def case_close_send_note(self, cr, uid, ids, context=None): + return self.message_post(cr, uid, ids, body=_("Task has been done."), subtype="project.mt_task_closed", context=context) + + def case_block_send_note(self, cr, uid, ids, context=None): + return self.message_post(cr, uid, ids, body=_("Task has been blocked."), subtype="project.mt_task_blocked", context=context) + def case_draft_send_note(self, cr, uid, ids, context=None): return self.message_post(cr, uid, ids, body=_('Task has been set as draft.'), context=context) diff --git a/addons/project/project_data.xml b/addons/project/project_data.xml index 08981bd126a..de4cd53a006 100644 --- a/addons/project/project_data.xml +++ b/addons/project/project_data.xml @@ -104,20 +104,32 @@ - New + Task created project.task + - Closed + Done project.task + + Task Started + project.task + + + Tasks Blocked + project.task + + Canceled project.task + Stage Changed project.task + From f06c059fb64ea36e78c9cdb9e0ed79c264fd3031 Mon Sep 17 00:00:00 2001 From: "Randhir Mayatra (OpenERP)" Date: Tue, 20 Nov 2012 13:01:38 +0530 Subject: [PATCH 04/18] [IMP] chnage the help string in project tasks bzr revid: rma@tinyerp.com-20121120073138-ql9dht1do3w3lucx --- addons/mail/data/mail_data.xml | 1 + addons/project/project_view.xml | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/addons/mail/data/mail_data.xml b/addons/mail/data/mail_data.xml index 9b91c519348..f48984c46b4 100644 --- a/addons/mail/data/mail_data.xml +++ b/addons/mail/data/mail_data.xml @@ -29,6 +29,7 @@ Discussions + diff --git a/addons/project/project_view.xml b/addons/project/project_view.xml index e7f12ff3797..a913ed22adc 100644 --- a/addons/project/project_view.xml +++ b/addons/project/project_view.xml @@ -152,7 +152,7 @@
- +
From f8294e75dd2412c4165b05e810e67b0718885707 Mon Sep 17 00:00:00 2001 From: "Randhir Mayatra (OpenERP)" Date: Tue, 20 Nov 2012 15:14:54 +0530 Subject: [PATCH 05/18] [IMP] add the subtype in project issues bzr revid: rma@tinyerp.com-20121120094454-qoxpifbmt5pfiuyj --- addons/project_issue/project_issue_data.xml | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/addons/project_issue/project_issue_data.xml b/addons/project_issue/project_issue_data.xml index c1460167097..e739a68c342 100644 --- a/addons/project_issue/project_issue_data.xml +++ b/addons/project_issue/project_issue_data.xml @@ -45,11 +45,11 @@ Access all issues from the top Project menu, and access the issues of a specific - New + Issue created project.issue - Closed + Issue closed project.issue @@ -60,6 +60,13 @@ Access all issues from the top Project menu, and access the issues of a specific Stage Changed project.issue - + + Issue started + project.issue + + + Issue Blocked + project.issue + From b29f32cd5de65de08bb331bf69bbfd7d35cfb14b Mon Sep 17 00:00:00 2001 From: "Randhir Mayatra (OpenERP)" Date: Tue, 20 Nov 2012 15:43:06 +0530 Subject: [PATCH 06/18] [IMP] add the subtype in project bzr revid: rma@tinyerp.com-20121120101306-nkk46y92qcs37n9c --- addons/project/project_data.xml | 23 ++++++++++++++++++--- addons/project_issue/project_issue_data.xml | 23 ++++++++++++++++++--- 2 files changed, 40 insertions(+), 6 deletions(-) diff --git a/addons/project/project_data.xml b/addons/project/project_data.xml index de4cd53a006..1afcf5c938a 100644 --- a/addons/project/project_data.xml +++ b/addons/project/project_data.xml @@ -102,14 +102,31 @@ Stage Changed project.project - + + Task Created + project.project + + + + Task Done + project.project + + + Task Started + project.project + + + Tasks Blocked + project.project + + - Task created + Task Created project.task - Done + Task Done project.task diff --git a/addons/project_issue/project_issue_data.xml b/addons/project_issue/project_issue_data.xml index e739a68c342..ac2295b6b65 100644 --- a/addons/project_issue/project_issue_data.xml +++ b/addons/project_issue/project_issue_data.xml @@ -45,11 +45,11 @@ Access all issues from the top Project menu, and access the issues of a specific - Issue created + Issue Created project.issue - Issue closed + Issue Closed project.issue @@ -61,12 +61,29 @@ Access all issues from the top Project menu, and access the issues of a specific project.issue - Issue started + Issue Started project.issue Issue Blocked project.issue + + + Issue Created + project.project + + + Issue Closed + project.project + + + Issue Started + project.project + + + Issue Blocked + project.project + From cf50a968b6f0142a30eead3b992ec2df24b97fb9 Mon Sep 17 00:00:00 2001 From: "Randhir Mayatra (OpenERP)" Date: Tue, 20 Nov 2012 16:15:56 +0530 Subject: [PATCH 07/18] [IMP] change the subtype in project issue bzr revid: rma@tinyerp.com-20121120104556-hta7g7z27aa9jgl9 --- addons/project/project.py | 4 ++-- addons/project_issue/project_issue_data.xml | 11 ++--------- 2 files changed, 4 insertions(+), 11 deletions(-) diff --git a/addons/project/project.py b/addons/project/project.py index ece0daae623..47a4ac9d724 100644 --- a/addons/project/project.py +++ b/addons/project/project.py @@ -1105,16 +1105,16 @@ class task(base_stage, osv.osv): def set_kanban_state_blocked(self, cr, uid, ids, context=None): self.write(cr, uid, ids, {'kanban_state': 'blocked'}, context=context) + self.case_block_send_note(cr, uid, ids, context=context) return False def set_kanban_state_normal(self, cr, uid, ids, context=None): self.write(cr, uid, ids, {'kanban_state': 'normal'}, context=context) - self.case_block_send_note(cr, uid, ids, context=context) + self.case_open_send_note(cr, uid, ids, context=context) return True def set_kanban_state_done(self, cr, uid, ids, context=None): self.write(cr, uid, ids, {'kanban_state': 'done'}, context=context) - self.case_open_send_note(cr, uid, ids, context=context) return True def _store_history(self, cr, uid, ids, context=None): diff --git a/addons/project_issue/project_issue_data.xml b/addons/project_issue/project_issue_data.xml index ac2295b6b65..77d4bff648a 100644 --- a/addons/project_issue/project_issue_data.xml +++ b/addons/project_issue/project_issue_data.xml @@ -60,15 +60,7 @@ Access all issues from the top Project menu, and access the issues of a specific Stage Changed project.issue - - Issue Started - project.issue - - - Issue Blocked - project.issue - - + Issue Created project.project @@ -84,6 +76,7 @@ Access all issues from the top Project menu, and access the issues of a specific Issue Blocked project.project + From 78a4f3eab23a23eebd3fb5abc85fa14f9f59bb5c Mon Sep 17 00:00:00 2001 From: "Randhir Mayatra (OpenERP)" Date: Tue, 20 Nov 2012 18:05:13 +0530 Subject: [PATCH 08/18] [IMP] add the state chnage in project issue bzr revid: rma@tinyerp.com-20121120123513-or712ebsxk5ao2rq --- addons/project_issue/project_issue.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/addons/project_issue/project_issue.py b/addons/project_issue/project_issue.py index 90640363906..5f53e1db496 100644 --- a/addons/project_issue/project_issue.py +++ b/addons/project_issue/project_issue.py @@ -387,6 +387,10 @@ 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'] + if 'stage_id' in vals: + for t in self.browse(cr, uid, ids, context=context): + new_stage = vals.get('stage_id') + self.stage_set_send_note(cr, uid, [t.id], new_stage, context=context) if any([field in vals for field in logged_fields]): vals['date_action_last'] = time.strftime('%Y-%m-%d %H:%M:%S') From 7b27d67bc46c8e13575136dd14ff798111846778 Mon Sep 17 00:00:00 2001 From: "Randhir Mayatra (OpenERP)" Date: Wed, 21 Nov 2012 11:55:18 +0530 Subject: [PATCH 09/18] [IMP] make changes into project bzr revid: rma@tinyerp.com-20121121062518-c8dna23myzgwgbgb --- addons/project/project.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/project/project.py b/addons/project/project.py index b7ec3598c8e..978399a1bd1 100644 --- a/addons/project/project.py +++ b/addons/project/project.py @@ -1106,7 +1106,7 @@ class task(base_stage, osv.osv): def set_kanban_state_blocked(self, cr, uid, ids, context=None): self.write(cr, uid, ids, {'kanban_state': 'blocked'}, context=context) self.case_block_send_note(cr, uid, ids, context=context) - return False + return True def set_kanban_state_normal(self, cr, uid, ids, context=None): self.write(cr, uid, ids, {'kanban_state': 'normal'}, context=context) @@ -1115,7 +1115,7 @@ class task(base_stage, osv.osv): def set_kanban_state_done(self, cr, uid, ids, context=None): self.write(cr, uid, ids, {'kanban_state': 'done'}, context=context) - return True + return False def _store_history(self, cr, uid, ids, context=None): for task in self.browse(cr, uid, ids, context=context): From e1c947ad2093fd41609c23fa63cd335519ea2b90 Mon Sep 17 00:00:00 2001 From: "Randhir Mayatra (OpenERP)" Date: Wed, 21 Nov 2012 12:39:01 +0530 Subject: [PATCH 10/18] [IMP] make changes into mail bzr revid: rma@tinyerp.com-20121121070901-vy7s76adxyqobb2z --- addons/mail/data/mail_data.xml | 1 - 1 file changed, 1 deletion(-) diff --git a/addons/mail/data/mail_data.xml b/addons/mail/data/mail_data.xml index f48984c46b4..9b91c519348 100644 --- a/addons/mail/data/mail_data.xml +++ b/addons/mail/data/mail_data.xml @@ -29,7 +29,6 @@ Discussions - From d936c69aaa410c970245a377cd906337ce2f5354 Mon Sep 17 00:00:00 2001 From: "Randhir Mayatra (OpenERP)" Date: Wed, 21 Nov 2012 15:21:40 +0530 Subject: [PATCH 11/18] [IMP] remove the cancelled subtype in project bzr revid: rma@tinyerp.com-20121121095140-qkjkvyqfqpoa9i50 --- addons/project/project.py | 4 ---- addons/project/project_data.xml | 24 +----------------------- 2 files changed, 1 insertion(+), 27 deletions(-) diff --git a/addons/project/project.py b/addons/project/project.py index 978399a1bd1..79828a53d34 100644 --- a/addons/project/project.py +++ b/addons/project/project.py @@ -311,7 +311,6 @@ class project(osv.osv): task_ids = task_obj.search(cr, uid, [('project_id', 'in', ids), ('state', '!=', 'done')]) task_obj.case_cancel(cr, uid, task_ids, context=context) self.write(cr, uid, ids, {'state':'cancelled'}, context=context) - self.set_cancel_send_note(cr, uid, ids, context=context) return True def set_pending(self, cr, uid, ids, context=None): @@ -556,9 +555,6 @@ def Project(): def set_pending_send_note(self, cr, uid, ids, context=None): return self.message_post(cr, uid, ids, body=_("Project is now pending."), context=context) - def set_cancel_send_note(self, cr, uid, ids, context=None): - return self.message_post(cr, uid, ids, body=_("Project has been canceled."), context=context) - def set_close_send_note(self, cr, uid, ids, context=None): return self.message_post(cr, uid, ids, body=_("Project has been closed."), context=context) diff --git a/addons/project/project_data.xml b/addons/project/project_data.xml index 1afcf5c938a..b4b9a98686b 100644 --- a/addons/project/project_data.xml +++ b/addons/project/project_data.xml @@ -86,28 +86,11 @@ - New - project.project - - - - Closed - project.project - - - Canceled - project.project - - - Stage Changed - project.project - - Task Created project.project - + Task Done project.project @@ -115,11 +98,6 @@ Task Started project.project - - Tasks Blocked - project.project - - Task Created project.task From c57028fdd33aa0b228b62d347d46249efa7b4528 Mon Sep 17 00:00:00 2001 From: "Randhir Mayatra (OpenERP)" Date: Wed, 21 Nov 2012 16:08:20 +0530 Subject: [PATCH 12/18] [IMP] remove the cancelled subtype in project task and issue bzr revid: rma@tinyerp.com-20121121103820-ieoqpx0g0rghbav7 --- addons/project/project.py | 8 ----- addons/project/project_data.xml | 37 ++++++++------------- addons/project_issue/project_issue.py | 10 ------ addons/project_issue/project_issue_data.xml | 25 +++++++------- 4 files changed, 27 insertions(+), 53 deletions(-) diff --git a/addons/project/project.py b/addons/project/project.py index 79828a53d34..7b759e58483 100644 --- a/addons/project/project.py +++ b/addons/project/project.py @@ -1008,7 +1008,6 @@ class task(base_stage, osv.osv): self._check_child_task(cr, uid, ids, context=context) for task in tasks: self.case_set(cr, uid, [task.id], 'cancelled', {'remaining_hours': 0.0}, context=context) - self.case_cancel_send_note(cr, uid, [task.id], context=context) return True def do_open(self, cr, uid, ids, context=None): @@ -1176,7 +1175,6 @@ 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,12 +1284,6 @@ class task(base_stage, osv.osv): res = super(task, self).message_get_monitored_follower_fields(cr, uid, ids, context=context) return res + ['user_id', 'manager_id'] - 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 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) diff --git a/addons/project/project_data.xml b/addons/project/project_data.xml index b4b9a98686b..76c8c5341db 100644 --- a/addons/project/project_data.xml +++ b/addons/project/project_data.xml @@ -90,42 +90,33 @@ project.project + + Task Started + project.project + Task Done project.project - - Task Started - project.project - + Task Created project.task + + Task Started + project.task + + + Tasks Blocked + project.task + + Task Done project.task - - Task Started - project.task - - - Tasks Blocked - project.task - - - - Canceled - project.task - - - - Stage Changed - project.task - - diff --git a/addons/project_issue/project_issue.py b/addons/project_issue/project_issue.py index 5f53e1db496..7a055c343fd 100644 --- a/addons/project_issue/project_issue.py +++ b/addons/project_issue/project_issue.py @@ -387,10 +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'] - if 'stage_id' in vals: - for t in self.browse(cr, uid, ids, context=context): - new_stage = vals.get('stage_id') - self.stage_set_send_note(cr, uid, [t.id], new_stage, context=context) if any([field in vals for field in logged_fields]): vals['date_action_last'] = time.strftime('%Y-%m-%d %H:%M:%S') @@ -461,7 +457,6 @@ class project_issue(base_stage, osv.osv): def case_cancel(self, cr, uid, ids, context=None): """ Cancels case """ self.case_set(cr, uid, ids, 'cancelled', {'active': True}, context=context) - self.case_cancel_send_note(cr, uid, ids, context=context) return True def case_escalate(self, cr, uid, ids, context=None): @@ -540,11 +535,6 @@ class project_issue(base_stage, osv.osv): # OpenChatter methods and notifications # ------------------------------------------------------- - 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 case_get_note_msg_prefix(self, cr, uid, id, context=None): """ Override of default prefix for notifications. """ return 'Project issue' diff --git a/addons/project_issue/project_issue_data.xml b/addons/project_issue/project_issue_data.xml index 77d4bff648a..226884e9b83 100644 --- a/addons/project_issue/project_issue_data.xml +++ b/addons/project_issue/project_issue_data.xml @@ -48,27 +48,23 @@ Access all issues from the top Project menu, and access the issues of a specific Issue Created project.issue + + Issue Started + project.issue + + + Issue Blocked + project.issue + Issue Closed project.issue - - Canceled - project.issue - - - Stage Changed - project.issue - Issue Created project.project - - Issue Closed - project.project - Issue Started project.project @@ -78,5 +74,10 @@ Access all issues from the top Project menu, and access the issues of a specific project.project + + Issue Closed + project.project + + From 4c2649e5ce3d1c2cd949d69ba23f271e9069c0cf Mon Sep 17 00:00:00 2001 From: "Randhir Mayatra (OpenERP)" Date: Wed, 21 Nov 2012 18:10:24 +0530 Subject: [PATCH 13/18] [IMP] add the method for issue start in project issue bzr revid: rma@tinyerp.com-20121121124024-rwf5j3as4m8taqmv --- addons/project_issue/project_issue.py | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/addons/project_issue/project_issue.py b/addons/project_issue/project_issue.py index 7a055c343fd..9a049d03652 100644 --- a/addons/project_issue/project_issue.py +++ b/addons/project_issue/project_issue.py @@ -394,6 +394,10 @@ class project_issue(base_stage, osv.osv): if vals.get('project_id'): for id in ids: self._subscribe_project_followers_to_issue(cr, uid, id, context=context) + if 'stage_id' in vals: + for t in self.browse(cr, uid, ids, context=context): + new_stage = vals.get('stage_id') + self.stage_set(cr, uid, [t.id], new_stage, context=context) return super(project_issue, self).write(cr, uid, ids, vals, context) @@ -546,7 +550,15 @@ class project_issue(base_stage, osv.osv): 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) - + def stage_set(self, cr, uid, ids, stage_id, context=None): + stage_name = self.pool.get('project.task.type').name_get(cr, uid, [stage_id], context=context)[0][1] + if stage_name in['Design','Development','Testing','Merge']: + self.issue_start_send_note(cr, uid, ids, context=context) + return True + + 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_started", context=context) + def case_escalate_send_note(self, cr, uid, ids, context=None): for obj in self.browse(cr, uid, ids, context=context): if obj.project_id: From 68022fdcbf3ff6d3efd181774ff43985e1e1184a Mon Sep 17 00:00:00 2001 From: "Randhir Mayatra (OpenERP)" Date: Thu, 22 Nov 2012 10:59:57 +0530 Subject: [PATCH 14/18] [IMP] remove the method for issue start in project issue bzr revid: rma@tinyerp.com-20121122052957-x6a1ei6t2ma8wujk --- addons/project_issue/project_issue.py | 15 +-------------- addons/project_issue/project_issue_data.xml | 2 +- 2 files changed, 2 insertions(+), 15 deletions(-) diff --git a/addons/project_issue/project_issue.py b/addons/project_issue/project_issue.py index 9a049d03652..654bcdd308a 100644 --- a/addons/project_issue/project_issue.py +++ b/addons/project_issue/project_issue.py @@ -394,11 +394,6 @@ class project_issue(base_stage, osv.osv): if vals.get('project_id'): for id in ids: self._subscribe_project_followers_to_issue(cr, uid, id, context=context) - if 'stage_id' in vals: - for t in self.browse(cr, uid, ids, context=context): - new_stage = vals.get('stage_id') - self.stage_set(cr, uid, [t.id], new_stage, context=context) - return super(project_issue, self).write(cr, uid, ids, vals, context) def onchange_task_id(self, cr, uid, ids, task_id, context=None): @@ -550,15 +545,7 @@ class project_issue(base_stage, osv.osv): 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) - def stage_set(self, cr, uid, ids, stage_id, context=None): - stage_name = self.pool.get('project.task.type').name_get(cr, uid, [stage_id], context=context)[0][1] - if stage_name in['Design','Development','Testing','Merge']: - self.issue_start_send_note(cr, uid, ids, context=context) - return True - - 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_started", context=context) - + def case_escalate_send_note(self, cr, uid, ids, context=None): for obj in self.browse(cr, uid, ids, context=context): if obj.project_id: diff --git a/addons/project_issue/project_issue_data.xml b/addons/project_issue/project_issue_data.xml index 226884e9b83..2b4ef35f904 100644 --- a/addons/project_issue/project_issue_data.xml +++ b/addons/project_issue/project_issue_data.xml @@ -48,7 +48,7 @@ Access all issues from the top Project menu, and access the issues of a specific Issue Created project.issue - + Issue Started project.issue From 0bd018cbd51ed8b059dee2807a04b44a165b1dcb Mon Sep 17 00:00:00 2001 From: "Randhir Mayatra (OpenERP)" Date: Thu, 22 Nov 2012 11:40:14 +0530 Subject: [PATCH 15/18] [IMP] improve the code bzr revid: rma@tinyerp.com-20121122061014-hzcoqkrdspk40jnb --- addons/project_issue/project_issue_data.xml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/addons/project_issue/project_issue_data.xml b/addons/project_issue/project_issue_data.xml index 2b4ef35f904..af0adb75f75 100644 --- a/addons/project_issue/project_issue_data.xml +++ b/addons/project_issue/project_issue_data.xml @@ -52,10 +52,6 @@ Access all issues from the top Project menu, and access the issues of a specific Issue Started project.issue - - Issue Blocked - project.issue - Issue Closed project.issue From 828b38bfdd26a3d945d4548a635696dba4e6425a Mon Sep 17 00:00:00 2001 From: "Randhir Mayatra (OpenERP)" Date: Thu, 22 Nov 2012 12:11:41 +0530 Subject: [PATCH 16/18] [IMP] add the method issue_start_send note in issue bzr revid: rma@tinyerp.com-20121122064141-1lw99chpi7jp3doj --- addons/project_issue/project_issue.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/addons/project_issue/project_issue.py b/addons/project_issue/project_issue.py index 654bcdd308a..075324f1cd8 100644 --- a/addons/project_issue/project_issue.py +++ b/addons/project_issue/project_issue.py @@ -387,6 +387,7 @@ 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') @@ -394,7 +395,12 @@ class project_issue(base_stage, osv.osv): if vals.get('project_id'): for id in ids: self._subscribe_project_followers_to_issue(cr, uid, id, context=context) + st = self.pool.get('project.task.type').browse(cr, uid, vals.get('stage_id'), context=context); + 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) def onchange_task_id(self, cr, uid, ids, task_id, context=None): if not task_id: From 01636ac48bed089223a6d255a53c2ca9e1690c5f Mon Sep 17 00:00:00 2001 From: "Randhir Mayatra (OpenERP)" Date: Thu, 22 Nov 2012 12:45:22 +0530 Subject: [PATCH 17/18] [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) From c3ef32a2cbfa5d38909f86279f008494de238ab7 Mon Sep 17 00:00:00 2001 From: "Randhir Mayatra (OpenERP)" Date: Thu, 22 Nov 2012 13:00:50 +0530 Subject: [PATCH 18/18] [IMP] improve method the code bzr revid: rma@tinyerp.com-20121122073050-6qnu5x2kci8sts39 --- addons/project_issue/project_issue.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/addons/project_issue/project_issue.py b/addons/project_issue/project_issue.py index bb01ea55095..9201ceaf0cf 100644 --- a/addons/project_issue/project_issue.py +++ b/addons/project_issue/project_issue.py @@ -539,7 +539,11 @@ class project_issue(base_stage, osv.osv): # ------------------------------------------------------- # OpenChatter methods and notifications # ------------------------------------------------------- - + 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 case_get_note_msg_prefix(self, cr, uid, id, context=None): """ Override of default prefix for notifications. """ return 'Project issue' @@ -547,10 +551,7 @@ 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)