diff options
| author | pap (openerp) <pap@tinyerp.co.in> | 2010-07-19 17:47:16 +0530 |
|---|---|---|
| committer | pap (openerp) <pap@tinyerp.co.in> | 2010-07-19 17:47:16 +0530 |
| commit | f16d37923f7819b2737612d228b5af6a833c4015 (patch) | |
| tree | 2afa4ab2eb3c6a07bbee70694f1e5b679e5995ff /addons/project/wizard/project_task_delegate.py | |
| parent | 6ced12c29230249275c6b1f68484e2215bf8ee4c (diff) | |
| parent | 233223b2a5102d950d6803b118283109f97dbb94 (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.py | 31 |
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 = {} |
