diff --git a/addons/project_long_term/wizard/project_compute_phases.py b/addons/project_long_term/wizard/project_compute_phases.py index 8e41baa9be7..7e84f0681cc 100644 --- a/addons/project_long_term/wizard/project_compute_phases.py +++ b/addons/project_long_term/wizard/project_compute_phases.py @@ -69,7 +69,8 @@ class project_compute_phases(osv.osv_memory): id = mod_obj.read(cr, uid, [result], ['res_id'])[0]['res_id'] result = act_obj.read(cr, uid, [id], context=context)[0] result['target'] = 'current' - result['context'] = {"search_default_project_id":data['project_id'], "default_project_id":data['project_id'], "search_default_responsible_id":uid, "search_default_current": 1} + project_id = data.get('project_id') and data.get('project_id')[0] or False + result['context'] = {"search_default_project_id":project_id, "default_project_id":project_id, "search_default_responsible_id":uid, "search_default_current": 1} return result project_compute_phases() diff --git a/addons/project_timesheet/test/worktask_entry_to_timesheetline_entry.yml b/addons/project_timesheet/test/worktask_entry_to_timesheetline_entry.yml index f9af84d59e8..4cf790c4e2b 100644 --- a/addons/project_timesheet/test/worktask_entry_to_timesheetline_entry.yml +++ b/addons/project_timesheet/test/worktask_entry_to_timesheetline_entry.yml @@ -92,7 +92,7 @@ - !record {model: project.task, id: project_task_getalltimesheetrecords0}: work_ids: - - date: !eval time.strftime('%Y-07-%d %H:%M:%S') + - date: !eval time.strftime('%Y-06-%d %H:%M:%S') hours: 10.0 name: Get work calendar of all employees user_id: res_users_hrmanager0 diff --git a/addons/resource/resource.py b/addons/resource/resource.py index 4bdc0caf22a..d2c284891ef 100644 --- a/addons/resource/resource.py +++ b/addons/resource/resource.py @@ -258,18 +258,17 @@ class resource_resource(osv.osv): leaves = [] resource_eff = 1.0 if resource_ids: - resource_id = resource_ids[0] - resource = self.browse(cr, uid, resource_id, context=context) - resource_eff = resource.time_efficiency - resource_cal = resource.calendar_id.id - if resource_cal: - leaves = self.compute_vacation(cr, uid, calendar_id, resource.id, resource_cal, context=context) - temp = { - 'name' : resource.name, - 'vacation': tuple(leaves), - 'efficiency': resource_eff, - } - resource_objs[resource_id] = temp + for resource in self.browse(cr, uid, resource_ids, context=context): + resource_eff = resource.time_efficiency + resource_cal = resource.calendar_id.id + if resource_cal: + leaves = self.compute_vacation(cr, uid, calendar_id, resource.id, resource_cal, context=context) + temp = { + 'name' : resource.name, + 'vacation': tuple(leaves), + 'efficiency': resource_eff, + } + resource_objs[resource.id] = temp # resource_objs.append(classobj(str(user.name), (Resource,),{ # '__doc__': user.name, # '__name__': user.name,