summaryrefslogtreecommitdiff
path: root/addons/project_issue
diff options
context:
space:
mode:
authorRajesh Prajapati (OpenERP) <rpr@tinyerp.com>2012-10-05 17:35:03 +0530
committerRajesh Prajapati (OpenERP) <rpr@tinyerp.com>2012-10-05 17:35:03 +0530
commitcdff4611b0a588546afb9b706bbd2d0fbda7bf2f (patch)
tree0a0a99b33e52547987ab69b2a29f3ec23c188142 /addons/project_issue
parent7202b8f7efbc76e2a40b1a4a8d7a95ed0d2ce573 (diff)
parentba97319054728490e4d8a601382dd6fd2ab4f970 (diff)
[MERGE] merge with main addons
bzr revid: rpr@tinyerp.com-20121005120503-07e0zo8ucv8k0q3s
Diffstat (limited to 'addons/project_issue')
-rw-r--r--addons/project_issue/project_issue.py14
-rw-r--r--addons/project_issue/project_issue_data.xml16
-rw-r--r--addons/project_issue/project_issue_demo.xml2
-rw-r--r--addons/project_issue/project_issue_view.xml14
4 files changed, 35 insertions, 11 deletions
diff --git a/addons/project_issue/project_issue.py b/addons/project_issue/project_issue.py
index f39be0c09d5..2004e1310f0 100644
--- a/addons/project_issue/project_issue.py
+++ b/addons/project_issue/project_issue.py
@@ -279,7 +279,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],
- }
+ }
_group_by_full = {
'stage_id': _read_group_stage_ids
@@ -364,6 +364,10 @@ class project_issue(base_stage, osv.osv):
logged_fields = ['stage_id', 'state', 'message_ids']
if any([field in vals for field in logged_fields]):
vals['date_action_last'] = time.strftime('%Y-%m-%d %H:%M:%S')
+ if vals.get('project_id'):
+ project_id = self.pool.get('project.project').browse(cr, uid, vals.get('project_id'), context=context)
+ vals['message_follower_ids'] = [(4, follower.id) for follower in project_id.message_follower_ids]
+
return super(project_issue, self).write(cr, uid, ids, vals, context)
def onchange_task_id(self, cr, uid, ids, task_id, context=None):
@@ -381,6 +385,10 @@ class project_issue(base_stage, osv.osv):
def create(self, cr, uid, vals, context=None):
obj_id = super(project_issue, self).create(cr, uid, vals, context=context)
+ project_id = self.browse(cr, uid, obj_id, context=context).project_id
+ if project_id:
+ followers = [follower.id for follower in project_id.message_follower_ids]
+ self.message_subscribe(cr, uid, [obj_id], followers, context=context)
self.create_send_note(cr, uid, [obj_id], context=context)
return obj_id
@@ -503,7 +511,7 @@ class project_issue(base_stage, osv.osv):
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 <b>%s</b>.") % (stage_name), context=context)
+ return self.message_post(cr, uid, ids, body= _("Stage changed to <b>%s</b>.") % (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. """
@@ -515,7 +523,7 @@ class project_issue(base_stage, osv.osv):
def create_send_note(self, cr, uid, ids, context=None):
message = _("Project issue <b>created</b>.")
- return self.message_post(cr, uid, ids, body=message, context=context)
+ return self.message_post(cr, uid, ids, body=message, subtype="mt_issue_new", context=context)
def case_escalate_send_note(self, cr, uid, ids, context=None):
for obj in self.browse(cr, uid, ids, context=context):
diff --git a/addons/project_issue/project_issue_data.xml b/addons/project_issue/project_issue_data.xml
index ddb0d575e63..edd44e52dd2 100644
--- a/addons/project_issue/project_issue_data.xml
+++ b/addons/project_issue/project_issue_data.xml
@@ -42,5 +42,21 @@ You can record issues, assign them to a responsible person, and keep track of th
Access all issues from the top Project menu, and access the issues of a specific project via the projects gallery view.</field>
</record>
+ <!-- Mail subtypes -->
+ <record id="mail.mt_issue_new" model="mail.message.subtype">
+ <field name="name">created</field>
+ <field name="res_model">project.issue</field>
+ <field name="default" eval="False"/>
+ </record>
+ <record id="mail.mt_issue_new" model="mail.message.subtype">
+ <field name="name">stage change</field>
+ <field name="res_model">project.issue</field>
+ <field name="default" eval="False"/>
+ </record>
+ <record id="mail.mt_issue_closed" model="mail.message.subtype">
+ <field name="name">closed</field>
+ <field name="res_model">project.issue</field>
+ </record>
+
</data>
</openerp>
diff --git a/addons/project_issue/project_issue_demo.xml b/addons/project_issue/project_issue_demo.xml
index 0a4eee3067b..9759d15dabb 100644
--- a/addons/project_issue/project_issue_demo.xml
+++ b/addons/project_issue/project_issue_demo.xml
@@ -31,7 +31,7 @@
</record>
<record id="crm_case_programnotgivingproperoutput0" model="project.issue">
- <field eval="time.strftime('%Y-%m-15 12:50:00')" name="date"/>
+ <field eval="time.strftime('%Y-%m-15 12:50:00')" name="date"/>
<field name="priority">3</field>
<field name="user_id" ref="base.user_root"/>
<field name="partner_id" ref="base.res_partner_1"/>
diff --git a/addons/project_issue/project_issue_view.xml b/addons/project_issue/project_issue_view.xml
index 8d54520261f..3214b93c8d3 100644
--- a/addons/project_issue/project_issue_view.xml
+++ b/addons/project_issue/project_issue_view.xml
@@ -340,13 +340,13 @@
</field>
</record>
- <act_window id="act_project_project_2_project_issue_all"
- name="Issues"
- src_model="project.project"
- res_model="project.issue"
- view_type="form"
- view_mode="kanban,tree,form,calendar,graph"
- context="{'search_default_project_id': [active_id], 'default_project_id': active_id}"/>
+ <record id="act_project_project_2_project_issue_all" model="ir.actions.act_window">
+ <field name="res_model">project.issue</field>
+ <field name="view_type">form</field>
+ <field name="name">Issues</field>
+ <field name="view_mode">kanban,tree,form,calendar,graph</field>
+ <field name="context">{'search_default_project_id': [active_id], 'default_project_id': active_id}</field>
+ </record>
<!-- Project -->
<record id="view_project_form_inherited" model="ir.ui.view">