From aa2ca3ce0c794479a3cd8961698a948c0821ad74 Mon Sep 17 00:00:00 2001 From: "Foram Katharotiya (OpenERP)" Date: Tue, 4 Dec 2012 13:02:44 +0530 Subject: [PATCH] [IMP] add issue blocked subtype bzr revid: fka@tinyerp.com-20121204073244-2m629bmhs394rpwb --- addons/project_issue/project_issue.py | 25 ++++++++++++++++++++- addons/project_issue/project_issue_data.xml | 5 +++++ addons/project_issue/project_issue_view.xml | 4 ++++ 3 files changed, 33 insertions(+), 1 deletion(-) diff --git a/addons/project_issue/project_issue.py b/addons/project_issue/project_issue.py index 37a94a062a3..a63afaf976c 100644 --- a/addons/project_issue/project_issue.py +++ b/addons/project_issue/project_issue.py @@ -233,6 +233,12 @@ class project_issue(base_stage, osv.osv): When the case is over, the status is set to \'Done\'.\ If the case needs to be reviewed then the status is \ set to \'Pending\'.'), + 'kanban_state': fields.selection([('normal', 'Normal'),('blocked', 'Blocked'),('done', 'Ready for next stage')], 'Kanban State', + help="A task's kanban state indicates special situations affecting it:\n" + " * Normal is the default situation\n" + " * Blocked indicates something is preventing the progress of this task\n" + " * Ready for next stage indicates the task is ready to be pulled to the next stage", + readonly=True, required=False), 'email_from': fields.char('Email', size=128, help="These people will receive email.", select=1), 'email_cc': fields.char('Watchers Emails', size=256, help="These email addresses will be added to the CC field of all inbound and outbound emails for this record before being sent. Separate multiple email addresses with a comma"), 'date_open': fields.datetime('Opened', readonly=True,select=True), @@ -279,6 +285,7 @@ class project_issue(base_stage, osv.osv): 'section_id': lambda s, cr, uid, c: s._get_default_section_id(cr, uid, c), 'company_id': lambda s, cr, uid, c: s.pool.get('res.company')._company_default_get(cr, uid, 'crm.helpdesk', context=c), 'priority': crm.AVAILABLE_PRIORITIES[2][0], + 'kanban_state': 'normal', } _group_by_full = { @@ -551,7 +558,7 @@ class project_issue(base_stage, osv.osv): return self.message_post(cr, uid, ids, body=message, subtype="project_issue.mt_issue_new", context=context) def case_open_send_note(self, cr, uid, ids, context=None): - return self.message_post(cr, uid, ids, body=_("Task started."), subtype="project_issue.mt_issue_started", context=context) + return self.message_post(cr, uid, ids, body=_("Issue started."), subtype="project_issue.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): @@ -563,9 +570,25 @@ class project_issue(base_stage, osv.osv): obj.message_post(body=message) return True + def case_block_send_note(self, cr, uid, ids, context=None): + return self.message_post(cr, uid, ids, body=_("Issue blocked."), subtype="project_issue.mt_issue_blocked", context=context) + def case_close_send_note(self, cr, uid, ids, context=None): return self.message_post(cr, uid, ids, body=_("Project issue closed."), subtype="project_issue.mt_issue_closed", context=context) + 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 True + + def set_kanban_state_normal(self, cr, uid, ids, context=None): + self.write(cr, uid, ids, {'kanban_state': 'normal'}, 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) + return False project_issue() class project(osv.osv): diff --git a/addons/project_issue/project_issue_data.xml b/addons/project_issue/project_issue_data.xml index 4dd39fd6c97..1182aeeea42 100644 --- a/addons/project_issue/project_issue_data.xml +++ b/addons/project_issue/project_issue_data.xml @@ -54,6 +54,11 @@ Access all issues from the top Project menu, and access the issues of a specific project.issue + + Issue Blocked + project.issue + + Issue Closed project.issue diff --git a/addons/project_issue/project_issue_view.xml b/addons/project_issue/project_issue_view.xml index 60cc6448a46..d73ca3e288e 100644 --- a/addons/project_issue/project_issue_view.xml +++ b/addons/project_issue/project_issue_view.xml @@ -240,6 +240,7 @@ +
    @@ -267,6 +268,9 @@
    + + +