diff options
| author | Amit Patel (OpenERP) <apa@tinyerp.com> | 2012-05-17 15:45:17 +0530 |
|---|---|---|
| committer | Amit Patel (OpenERP) <apa@tinyerp.com> | 2012-05-17 15:45:17 +0530 |
| commit | 1aefff9733c00eb410eceb1991291d2a605bd329 (patch) | |
| tree | 96c9843ff140321be8af1c1a78e86dcb6fc672a1 /addons/project_long_term/project_long_term.py | |
| parent | 3d7caa7535df1c9f7bd38235b4e37c0cdbaf0859 (diff) | |
| parent | bd0bc7d4c53d96b005603e25b45ad82b22221fba (diff) | |
[MERGE]:merged from trunk
bzr revid: apa@tinyerp.com-20120517101517-npk57s14kgxlk7in
Diffstat (limited to 'addons/project_long_term/project_long_term.py')
| -rw-r--r-- | addons/project_long_term/project_long_term.py | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/addons/project_long_term/project_long_term.py b/addons/project_long_term/project_long_term.py index 9de76097c9c..4a74c9c0b3a 100644 --- a/addons/project_long_term/project_long_term.py +++ b/addons/project_long_term/project_long_term.py @@ -110,7 +110,7 @@ class project_phase(osv.osv): 'previous_phase_ids': fields.many2many('project.phase', 'project_phase_rel', 'next_phase_id', 'prv_phase_id', 'Previous Phases', states={'cancelled':[('readonly',True)]}), 'sequence': fields.integer('Sequence', select=True, help="Gives the sequence order when displaying a list of phases."), 'duration': fields.float('Duration', required=True, help="By default in days", states={'done':[('readonly',True)], 'cancelled':[('readonly',True)]}), - 'product_uom': fields.many2one('product.uom', 'Duration UoM', required=True, help="UoM (Unit of Measure) is the unit of measurement for Duration", states={'done':[('readonly',True)], 'cancelled':[('readonly',True)]}), + 'product_uom': fields.many2one('product.uom', 'Duration Unit of Measure', required=True, help="Unit of Measure (Unit of Measure) is the unit of measurement for Duration", states={'done':[('readonly',True)], 'cancelled':[('readonly',True)]}), 'task_ids': fields.one2many('project.task', 'phase_id', "Project Tasks", states={'done':[('readonly',True)], 'cancelled':[('readonly',True)]}), 'user_force_ids': fields.many2many('res.users', string='Force Assigned Users'), 'user_ids': fields.one2many('project.user.allocation', 'phase_id', "Assigned Users",states={'done':[('readonly',True)], 'cancelled':[('readonly',True)]}, @@ -215,9 +215,23 @@ project_user_allocation() class project(osv.osv): _inherit = "project.project" + + def _phase_count(self, cr, uid, ids, field_name, arg, context=None): + res = dict.fromkeys(ids, 0) + phase_ids = self.pool.get('project.phase').search(cr, uid, [('project_id', 'in', ids)]) + for phase in self.pool.get('project.phase').browse(cr, uid, phase_ids, context): + res[phase.project_id.id] += 1 + return res + _columns = { 'phase_ids': fields.one2many('project.phase', 'project_id', "Project Phases"), + 'use_phases': fields.boolean('Use Phases', help="Check this field if project manages phases"), + 'phase_count': fields.function(_phase_count, type='integer', string="Open Phases"), } + _defaults = { + 'use_phases': True, + } + def schedule_phases(self, cr, uid, ids, context=None): context = context or {} if type(ids) in (long, int,): |
