diff options
| author | Gery Debongnie <ged@openerp.com> | 2014-04-10 16:51:31 +0200 |
|---|---|---|
| committer | Gery Debongnie <ged@openerp.com> | 2014-04-10 16:51:31 +0200 |
| commit | 2e9ee9c76e7eae0a98af773ad8abd7585d4ea0ec (patch) | |
| tree | 7bff96787a2521001e88f9a985f07c584b85516f /addons/project_issue/project_issue.py | |
| parent | ac2f58ce68481dfbc05ca8bb496c94c59b137565 (diff) | |
| parent | 4c0f7b1be8d188734b44856f093fa525f6837489 (diff) | |
[MERGE] merge from rma branch
bzr revid: ged@openerp.com-20140410145131-fj17mdpi13wa5a9m
Diffstat (limited to 'addons/project_issue/project_issue.py')
| -rw-r--r-- | addons/project_issue/project_issue.py | 32 |
1 files changed, 20 insertions, 12 deletions
diff --git a/addons/project_issue/project_issue.py b/addons/project_issue/project_issue.py index bfc65ca7d88..098826c0a06 100644 --- a/addons/project_issue/project_issue.py +++ b/addons/project_issue/project_issue.py @@ -229,7 +229,6 @@ class project_issue(osv.Model): if work.task_id: issues += issue_pool.search(cr, uid, [('task_id','=',work.task_id.id)]) return issues - _columns = { 'id': fields.integer('ID', readonly=True), 'name': fields.char('Issue', size=128, required=True), @@ -491,21 +490,15 @@ class project(osv.Model): return [('project.task', "Tasks"), ("project.issue", "Issues")] def _issue_count(self, cr, uid, ids, field_name, arg, context=None): - """ :deprecated: this method will be removed with OpenERP v8. Use issue_ids - fields instead. """ - 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): - if issue.stage_id and not issue.stage_id.fold: - res[issue.project_id.id] += 1 + res={} + for issues in self.browse(cr, uid, ids, context): + res[issues.id] = len(issues.issue_ids) 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', string="Unclosed Issues", - deprecated="This field will be removed in OpenERP v8. Use issue_ids one2many field instead."), + 'issue_count': fields.function(_issue_count, type='integer', string="Issues",), 'issue_ids': fields.one2many('project.issue', 'project_id', domain=[('stage_id.fold', '=', False)]) } @@ -575,5 +568,20 @@ class project_project(osv.Model): self._check_create_write_values(cr, uid, vals, context=context) return super(project_project, self).write(cr, uid, ids, vals, context=context) - +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 + + """ 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: |
