summaryrefslogtreecommitdiff
path: root/addons/project_issue/project_issue.py
diff options
context:
space:
mode:
authorThibault Delavallée <tde@openerp.com>2013-03-15 12:43:38 +0100
committerThibault Delavallée <tde@openerp.com>2013-03-15 12:43:38 +0100
commit4484a3197ca558341ce595df41ffdc072a8d05d2 (patch)
tree160895b3cd052ef5a0661ed2ee02a53494dab207 /addons/project_issue/project_issue.py
parent4387187b8bdac6223979e9a652b6ef6a19096804 (diff)
parentd0f5b28bd0da703e3d5a23cb68db91a6a87482dc (diff)
[MERGE] Sync with trunk, resolved conflicts due to forward port of 7.0
bzr revid: tde@openerp.com-20130315114338-54scb00rkp7zwr30
Diffstat (limited to 'addons/project_issue/project_issue.py')
-rw-r--r--addons/project_issue/project_issue.py20
1 files changed, 14 insertions, 6 deletions
diff --git a/addons/project_issue/project_issue.py b/addons/project_issue/project_issue.py
index 8eb7281cd24..9233a95634c 100644
--- a/addons/project_issue/project_issue.py
+++ b/addons/project_issue/project_issue.py
@@ -20,6 +20,7 @@
##############################################################################
from openerp.addons.base_status.base_stage import base_stage
+from openerp.addons.project.project import _TASK_STATE
from openerp.addons.crm import crm
from datetime import datetime
from openerp.osv import fields,osv
@@ -41,9 +42,6 @@ class project_issue_version(osv.osv):
}
project_issue_version()
-_ISSUE_STATE = [('draft', 'New'), ('open', 'In Progress'), ('cancel', 'Cancelled'), ('done', 'Done'), ('pending', 'Pending')]
-
-
class project_issue(base_stage, osv.osv):
_name = "project.issue"
_description = "Project Issue"
@@ -252,7 +250,7 @@ class project_issue(base_stage, osv.osv):
'company_id': fields.many2one('res.company', 'Company'),
'description': fields.text('Private Note'),
'state': fields.related('stage_id', 'state', type="selection", store=True,
- selection=_ISSUE_STATE, string="Status", readonly=True,
+ selection=_TASK_STATE, string="Status", readonly=True,
help='The status is set to \'Draft\', when a case is created.\
If the case is in progress the status is set to \'Open\'.\
When the case is over, the status is set to \'Done\'.\
@@ -485,6 +483,15 @@ class project_issue(base_stage, osv.osv):
return [issue.project_id.message_get_reply_to()[0] if issue.project_id else False
for issue in self.browse(cr, uid, ids, context=context)]
+ def message_get_suggested_recipients(self, cr, uid, ids, context=None):
+ recipients = super(project_issue, self).message_get_suggested_recipients(cr, uid, ids, context=context)
+ for issue in self.browse(cr, uid, ids, context=context):
+ if issue.partner_id:
+ self._message_add_suggested_recipient(cr, uid, recipients, issue, partner=issue.partner_id, reason=_('Customer'))
+ elif issue.email_from:
+ self._message_add_suggested_recipient(cr, uid, recipients, issue, email=issue.email_from, reason=_('Customer Email'))
+ return recipients
+
def message_new(self, cr, uid, msg, custom_values=None, context=None):
""" Overrides mail_thread message_new that is called by the mailgateway
through message_process.
@@ -549,12 +556,13 @@ class project(osv.osv):
res = dict.fromkeys(ids, 0)
issue_ids = self.pool.get('project.issue').search(cr, uid, [('project_id', 'in', ids)])
for issue in self.pool.get('project.issue').browse(cr, uid, issue_ids, context):
- res[issue.project_id.id] += 1
+ if issue.state not in ('done', 'cancelled'):
+ res[issue.project_id.id] += 1
return res
_columns = {
'project_escalation_id' : fields.many2one('project.project','Project Escalation', help='If any issue is escalated from the current Project, it will be listed under the project selected here.', states={'close':[('readonly',True)], 'cancelled':[('readonly',True)]}),
- 'issue_count': fields.function(_issue_count, type='integer'),
+ 'issue_count': fields.function(_issue_count, type='integer', string="Unclosed Issues"),
}
def _check_escalation(self, cr, uid, ids, context=None):