From eabe16de50d796e35a8c6cfe9b17cfba163cc6b6 Mon Sep 17 00:00:00 2001 From: "Rvo (Open ERP)" Date: Fri, 19 Feb 2010 15:58:28 +0530 Subject: [PATCH] minor changes bzr revid: rvo@tinyerp.co.in-20100219102828-hrehhv0aacv8conw --- addons/project/project.py | 2 +- addons/project/wizard/compute_tasks_date.py | 21 ++++++------ addons/project_long_term/project.py | 3 +- .../wizard/compute_phases_date.py | 32 ++++++++----------- 4 files changed, 25 insertions(+), 33 deletions(-) diff --git a/addons/project/project.py b/addons/project/project.py index 841a688272c..85af339160a 100644 --- a/addons/project/project.py +++ b/addons/project/project.py @@ -265,7 +265,7 @@ class task(osv.osv): if resource_id: resource_obj = self.pool.get('resource.resource').browse(cr,uid,resource_id)[0] hrs = planned/(occupation_rate * resource_obj.time_efficiency) - work_times = self.pool.get('resource.calendar').interval_get(cr, uid, resource_obj.calendar_id.id or False, dt_start, hrs or 0.0, resource_obj.id) + work_times = self.pool.get('resource.calendar').interval_get(cr, uid, resource_obj.calendar_id.id or False, dt_start, hrs or 0.0, resource_obj) else: hrs = planned / occupation_rate work_times = self.pool.get('resource.calendar').interval_get(cr, uid, res.project_id.resource_calendar_id .id or False, dt_start, hrs or 0.0) diff --git a/addons/project/wizard/compute_tasks_date.py b/addons/project/wizard/compute_tasks_date.py index c44fb902e87..c52f0b5f079 100644 --- a/addons/project/wizard/compute_tasks_date.py +++ b/addons/project/wizard/compute_tasks_date.py @@ -61,15 +61,13 @@ def leaves_resource(cr,uid,id): resource_leaves_pool = pool.get('resource.calendar.leaves') resource_leave_ids = resource_leaves_pool.search(cr,uid,[('resource_id','=',id)]) leaves = [] - if resource_leave_ids: - res_leaves = resource_leaves_pool.read(cr,uid,resource_leave_ids,['date_from','date_to']) - for leave in range(len(res_leaves)): - dt_start = datetime.datetime.strptime(res_leaves[leave]['date_from'],'%Y-%m-%d %H:%M:%S') - dt_end = datetime.datetime.strptime(res_leaves[leave]['date_to'],'%Y-%m-%d %H:%M:%S') - no = dt_end - dt_start - leave_days = no.days + 1 - [leaves.append((dt_start + datetime.timedelta(days=x)).strftime('%Y-%m-%d')) for x in range(int(leave_days))] - leaves.sort() + res_leaves = resource_leaves_pool.read(cr,uid,resource_leave_ids,['date_from','date_to']) + for leave in range(len(res_leaves)): + dt_start = datetime.datetime.strptime(res_leaves[leave]['date_from'],'%Y-%m-%d %H:%M:%S') + dt_end = datetime.datetime.strptime(res_leaves[leave]['date_to'],'%Y-%m-%d %H:%M:%S') + no = dt_end - dt_start + [leaves.append((dt_start + datetime.timedelta(days=x)).strftime('%Y-%m-%d')) for x in range(int(no.days + 1))] + leaves.sort() return leaves class wizard_compute_tasks(wizard.interface): @@ -148,9 +146,8 @@ class wizard_compute_tasks(wizard.interface): dt_start = datetime.datetime.strptime(res_leaves[leave]['date_from'],'%Y-%m-%d %H:%M:%S') dt_end = datetime.datetime.strptime(res_leaves[leave]['date_to'],'%Y-%m-%d %H:%M:%S') no = dt_end - dt_start - leave_days = no.days + 1 - [leaves.append((dt_start + datetime.timedelta(days=x)).strftime('%Y-%m-%d')) for x in range(int(leave_days))] - leaves.sort() + [leaves.append((dt_start + datetime.timedelta(days=x)).strftime('%Y-%m-%d')) for x in range(int(no.days + 1))] + leaves.sort() # To create resources which are the Project Members resource = project.members diff --git a/addons/project_long_term/project.py b/addons/project_long_term/project.py index d8aae8b8506..e50b41713b1 100644 --- a/addons/project_long_term/project.py +++ b/addons/project_long_term/project.py @@ -140,7 +140,7 @@ class project_phase(osv.osv): self.write(cr,uid,[phase.id],{'date_start':dt_start,'date_end':date_end.strftime('%Y-%m-%d %H:%M:%S')}) def constraint_date_end(self,cr,uid,phase,date_start,context=None): - # Recursive call for all next phases if change in date_ebd > older time + # Recursive call for all next phases if change in date_end > older time resource_cal_pool = self.pool.get('resource.calendar') calendar_id = phase.project_id.resource_calendar_id.id @@ -191,7 +191,6 @@ class project_resource_allocation(osv.osv): _description = 'Project Resource Allocation' _rec_name = 'resource_id' _columns = { -# 'name': fields.char('Name',size = 64), 'resource_id': fields.many2one('resource.resource', 'Resource', required=True), 'phase_id': fields.many2one('project.phase', 'Project Phase', required=True), 'useability': fields.float('Useability', help="Useability of this ressource for this project phase in percentage (=50%)"), diff --git a/addons/project_long_term/wizard/compute_phases_date.py b/addons/project_long_term/wizard/compute_phases_date.py index 8cd3b59c2db..ff31fec1251 100644 --- a/addons/project_long_term/wizard/compute_phases_date.py +++ b/addons/project_long_term/wizard/compute_phases_date.py @@ -61,15 +61,13 @@ def leaves_resource(cr,uid,id): resource_leaves_pool = pool.get('resource.calendar.leaves') resource_leave_ids = resource_leaves_pool.search(cr,uid,[('resource_id','=',id)]) leaves = [] - if resource_leave_ids: - res_leaves = resource_leaves_pool.read(cr,uid,resource_leave_ids,['date_from','date_to']) - for leave in range(len(res_leaves)): - dt_start = datetime.datetime.strptime(res_leaves[leave]['date_from'],'%Y-%m-%d %H:%M:%S') - dt_end = datetime.datetime.strptime(res_leaves[leave]['date_to'],'%Y-%m-%d %H:%M:%S') - no = dt_end - dt_start - leave_days = no.days + 1 - [leaves.append((dt_start + datetime.timedelta(days=x)).strftime('%Y-%m-%d')) for x in range(int(leave_days))] - leaves.sort() + res_leaves = resource_leaves_pool.read(cr,uid,resource_leave_ids,['date_from','date_to']) + for leave in range(len(res_leaves)): + dt_start = datetime.datetime.strptime(res_leaves[leave]['date_from'],'%Y-%m-%d %H:%M:%S') + dt_end = datetime.datetime.strptime(res_leaves[leave]['date_to'],'%Y-%m-%d %H:%M:%S') + no = dt_end - dt_start + [leaves.append((dt_start + datetime.timedelta(days=x)).strftime('%Y-%m-%d')) for x in range(int(no.days + 1))] + leaves.sort() return leaves def resource_list(cr,uid,obj): @@ -162,14 +160,12 @@ class wizard_compute_phases(wizard.interface): # If project working calendar has any leaves resource_leave_ids = resource_leaves_pool.search(cr,uid,[('calendar_id','=',calendar_id)]) - if resource_leave_ids: - res_leaves = resource_leaves_pool.read(cr,uid,resource_leave_ids,['date_from','date_to']) - for leave in range(len(res_leaves)): - dt_start = datetime.datetime.strptime(res_leaves[leave]['date_from'],'%Y-%m-%d %H:%M:%S') - dt_end = datetime.datetime.strptime(res_leaves[leave]['date_to'],'%Y-%m-%d %H:%M:%S') - no = dt_end - dt_start - leave_days = no.days + 1 - [leaves.append((dt_start + datetime.timedelta(days=x)).strftime('%Y-%m-%d')) for x in range(int(leave_days))] + res_leaves = resource_leaves_pool.read(cr,uid,resource_leave_ids,['date_from','date_to']) + for leave in range(len(res_leaves)): + dt_start = datetime.datetime.strptime(res_leaves[leave]['date_from'],'%Y-%m-%d %H:%M:%S') + dt_end = datetime.datetime.strptime(res_leaves[leave]['date_to'],'%Y-%m-%d %H:%M:%S') + no = dt_end - dt_start + [leaves.append((dt_start + datetime.timedelta(days=x)).strftime('%Y-%m-%d')) for x in range(int(no.days + 1))] leaves.sort() @@ -184,7 +180,7 @@ class wizard_compute_phases(wizard.interface): # Creating a new project for each phase def Project(): start = start_date - + minimum_time_unit = 1 # If project has working calendar else the default one would be considered if wktime_cal: working_days = wktime_cal