diff options
| author | Gery Debongnie <ged@openerp.com> | 2014-05-07 15:29:49 +0200 |
|---|---|---|
| committer | Gery Debongnie <ged@openerp.com> | 2014-05-07 15:29:49 +0200 |
| commit | e83709bdcc90eaafb65bbb98fcc76ddcbde5e12d (patch) | |
| tree | 20cf5fd0b94e3f3ae0117ec1d5f6ea3c198e0526 | |
| parent | 626915508d3ad0b855a4ca74e3e5c42c68804b5f (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.py | 22 |
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: |
