summaryrefslogtreecommitdiff
path: root/addons/project/wizard/project_task_delegate.py
diff options
context:
space:
mode:
authorpap (openerp) <pap@tinyerp.co.in>2010-07-19 17:47:16 +0530
committerpap (openerp) <pap@tinyerp.co.in>2010-07-19 17:47:16 +0530
commitf16d37923f7819b2737612d228b5af6a833c4015 (patch)
tree2afa4ab2eb3c6a07bbee70694f1e5b679e5995ff /addons/project/wizard/project_task_delegate.py
parent6ced12c29230249275c6b1f68484e2215bf8ee4c (diff)
parent233223b2a5102d950d6803b118283109f97dbb94 (diff)
[IMP]: recomputed planned_hours, time spent, total_hours and progress_rate for project based on all child projects tasks
bzr revid: pap@tinyerp.co.in-20100719121716-u8ig7tzzoli4m1lr
Diffstat (limited to 'addons/project/wizard/project_task_delegate.py')
-rw-r--r--addons/project/wizard/project_task_delegate.py31
1 files changed, 31 insertions, 0 deletions
diff --git a/addons/project/wizard/project_task_delegate.py b/addons/project/wizard/project_task_delegate.py
index 850f27b99d4..cf4ccb80d29 100644
--- a/addons/project/wizard/project_task_delegate.py
+++ b/addons/project/wizard/project_task_delegate.py
@@ -19,6 +19,8 @@
#
##############################################################################
+from lxml import etree
+
from tools.translate import _
from osv import fields, osv
@@ -83,7 +85,36 @@ class project_task_delegate(osv.osv_memory):
'new_task_description': _get_new_desc,
'state': 'pending',
}
+
+ def fields_view_get(self, cr, uid, view_id=None, view_type='form', context=None, toolbar=False, submenu=False):
+ users_obj = self.pool.get('res.users')
+ obj_tm = users_obj.browse(cr, uid, uid, context).company_id.project_time_mode_id
+ tm = obj_tm and obj_tm.name or 'Hours'
+
+ res = super(project_task_delegate, self).fields_view_get(cr, uid, view_id, view_type, context, toolbar, submenu=submenu)
+
+ if tm in ['Hours','Hour']:
+ return res
+
+ eview = etree.fromstring(res['arch'])
+
+ def _check_rec(eview):
+ if eview.attrib.get('widget','') == 'float_time':
+ eview.set('widget','float')
+ for child in eview:
+ _check_rec(child)
+ return True
+
+ _check_rec(eview)
+
+ res['arch'] = etree.tostring(eview)
+
+ for f in res['fields']:
+ if 'Hours' in res['fields'][f]['string']:
+ res['fields'][f]['string'] = res['fields'][f]['string'].replace('Hours',tm)
+ return res
+
def validate(self, cr, uid, ids, context=None):
if context is None:
context = {}