summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGery Debongnie <ged@openerp.com>2014-05-07 15:29:49 +0200
committerGery Debongnie <ged@openerp.com>2014-05-07 15:29:49 +0200
commite83709bdcc90eaafb65bbb98fcc76ddcbde5e12d (patch)
tree20cf5fd0b94e3f3ae0117ec1d5f6ea3c198e0526
parent626915508d3ad0b855a4ca74e3e5c42c68804b5f (diff)
[FIX] code cleanup (addon project_issue)
improves the code of _issue_count (both in partner and in project). This makes the issue_ids field in res_partner useless, so issue_ids is also removed. bzr revid: ged@openerp.com-20140507132949-tbtd4pl33zwhzgwd
-rw-r--r--addons/project_issue/project_issue.py22
1 files changed, 10 insertions, 12 deletions
diff --git a/addons/project_issue/project_issue.py b/addons/project_issue/project_issue.py
index 098826c0a06..e07d4dbe957 100644
--- a/addons/project_issue/project_issue.py
+++ b/addons/project_issue/project_issue.py
@@ -490,10 +490,11 @@ class project(osv.Model):
return [('project.task', "Tasks"), ("project.issue", "Issues")]
def _issue_count(self, cr, uid, ids, field_name, arg, context=None):
- res={}
- for issues in self.browse(cr, uid, ids, context):
- res[issues.id] = len(issues.issue_ids)
- return res
+ Issue = self.pool['project.issue']
+ return {
+ project_id: Issue.search_count(cr,uid, [('project_id', '=', project_id), ('stage_id.fold', '=', False)], context=context)
+ for project_id in ids
+ }
_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.',
@@ -570,18 +571,15 @@ class project_project(osv.Model):
class res_partner(osv.osv):
def _issue_count(self, cr, uid, ids, field_name, arg, context=None):
- res = dict(map(lambda x: (x,0), ids))
- try:
- for partner in self.browse(cr, uid, ids, context=context):
- res[partner.id] = len(partner.issue_ids)
- except:
- pass
- return res
+ Issue = self.pool['project.issue']
+ return {
+ partner_id: Issue.search_count(cr,uid, [('partner_id', '=', partner_id)])
+ for partner_id in ids
+ }
""" Inherits partner and adds Issue information in the partner form """
_inherit = 'res.partner'
_columns = {
- 'issue_ids': fields.one2many('project.issue', 'partner_id', 'Issues'),
'issue_count': fields.function(_issue_count, string='# Issues', type='integer'),
}
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: