summaryrefslogtreecommitdiff
path: root/addons/project_long_term/project_long_term.py
diff options
context:
space:
mode:
authorQuentin (OpenERP) <qdp-launchpad@openerp.com>2012-05-16 18:01:15 +0200
committerQuentin (OpenERP) <qdp-launchpad@openerp.com>2012-05-16 18:01:15 +0200
commit76e5e41c506e4b0cbcef2ad9627764b9897bc372 (patch)
treeb710545a8dd6ac07b07e7e23bc6d3160308f1911 /addons/project_long_term/project_long_term.py
parent0f2ac4e545ee4f12ac9e1ca2c6f7fac44383b4e2 (diff)
parent3b88adcdd8c114bc0d05e303cc28f03908de0160 (diff)
[MERGE] merged with main trunk
bzr revid: qdp-launchpad@openerp.com-20120516160115-ufgnhjj8x8hb5mm7
Diffstat (limited to 'addons/project_long_term/project_long_term.py')
-rw-r--r--addons/project_long_term/project_long_term.py16
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 612bd784bb0..8d9319466e3 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,):