diff options
| author | mra (Open ERP) <mra@tinyerp.com> | 2010-03-17 12:45:53 +0530 |
|---|---|---|
| committer | mra (Open ERP) <mra@tinyerp.com> | 2010-03-17 12:45:53 +0530 |
| commit | 838fc7e85c800559d850362cb3607cd43caa0444 (patch) | |
| tree | 847efff22ead4482078fe2909aca00c973f211cb /addons/project_long_term/project_long_term.py | |
| parent | 2319355294ca42ea0b6997eab7f587d1aa037bc0 (diff) | |
[IMP] project_long_term: Bug fixes and clean
[IMP] project: if the task description is not available it will take task name to send mail to partner on Done button
bzr revid: mra@tinyerp.com-20100317071553-3ydcpes6z8f52744
Diffstat (limited to 'addons/project_long_term/project_long_term.py')
| -rw-r--r-- | addons/project_long_term/project_long_term.py | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/addons/project_long_term/project_long_term.py b/addons/project_long_term/project_long_term.py index 684fbcc776a..f0e2a78282f 100644 --- a/addons/project_long_term/project_long_term.py +++ b/addons/project_long_term/project_long_term.py @@ -265,20 +265,24 @@ class task(osv.osv): def onchange_planned(self, cr, uid, ids, project, user_id=False, planned=0.0, effective=0.0, date_start=None, occupation_rate=0.0): result = {} + resource = False resource_obj = self.pool.get('resource.resource') project_pool = self.pool.get('project.project') resource_calendar = self.pool.get('resource.calendar') + if not project: + return {'value' : result} if date_start: hrs = float(planned / float(occupation_rate)) calendar_id = project_pool.browse(cr, uid, project).resource_calendar_id.id dt_start = mx.DateTime.strptime(date_start, '%Y-%m-%d %H:%M:%S') resource_id = resource_obj.search(cr, uid, [('user_id','=',user_id)]) if resource_id: - resource = resource_obj.browse(cr, uid, resource_id)[0] - hrs = planned / (float(occupation_rate) * resource.time_efficiency) - if resource.calendar_id.id: - calendar_id = resource.calendar_id.id - work_times = resource_calendar.interval_get(cr, uid, calendar_id, dt_start, hrs or 0.0, resource.id or False) + resource_data = resource_obj.browse(cr, uid, resource_id)[0] + resource = resource_data.id + hrs = planned / (float(occupation_rate) * resource_data.time_efficiency) + if resource_data.calendar_id.id: + calendar_id = resource_data.calendar_id.id + work_times = resource_calendar.interval_get(cr, uid, calendar_id, dt_start, hrs or 0.0, resource or False) result['date_end'] = work_times[-1][1].strftime('%Y-%m-%d %H:%M:%S') result['remaining_hours'] = planned - effective return {'value' : result} |
