From 3b29008aef50504860214ce6a9973f1a6be33abe Mon Sep 17 00:00:00 2001 From: "Rvo (Open ERP)" Date: Thu, 18 Feb 2010 15:37:31 +0530 Subject: [ADD]:added constraints on phases when date_start or date_end field modified,changed interval_min_get method of resource bzr revid: rvo@tinyerp.co.in-20100218100731-cng5emi7udnf0fdf --- addons/project_long_term/wizard/compute_phases_date.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'addons/project_long_term/wizard') diff --git a/addons/project_long_term/wizard/compute_phases_date.py b/addons/project_long_term/wizard/compute_phases_date.py index 2d4cf9fd70e..7778de6bfb0 100644 --- a/addons/project_long_term/wizard/compute_phases_date.py +++ b/addons/project_long_term/wizard/compute_phases_date.py @@ -175,7 +175,6 @@ class wizard_compute_phases(wizard.interface): def phase_schedule(cr,uid,phase,start_date,avg_hour = 0.0): if phase: - # To get resources and the duration for the phase resources_list = resource_list(cr,uid,phase) if not avg_hour: @@ -211,9 +210,8 @@ class wizard_compute_phases(wizard.interface): end_date = e_date # Writing the dates back - phase_pool.write(cr,uid,[phase.id],{'date_start':start_date,'date_end':end_date}) + phase_pool.write(cr,uid,[phase.id],{'date_start':start_date.strftime('%Y-%m-%d %H:%M:%S'),'date_end':end_date.strftime('%Y-%m-%d %H:%M:%S')}) date_start = end_date - # Recursive calling the next phases till all the phases are scheduled for phase in phase.next_phase_ids: phase_schedule(cr,uid,phase,date_start) -- cgit v1.2.3 From 53b12ce0303b35162b0a127e906b73bde6b90989 Mon Sep 17 00:00:00 2001 From: "Rvo (Open ERP)" Date: Thu, 18 Feb 2010 18:47:03 +0530 Subject: removed print statement bzr revid: rvo@tinyerp.co.in-20100218131703-kofy55mbudtwgjtn --- addons/project_long_term/wizard/compute_phases_date.py | 1 - 1 file changed, 1 deletion(-) (limited to 'addons/project_long_term/wizard') diff --git a/addons/project_long_term/wizard/compute_phases_date.py b/addons/project_long_term/wizard/compute_phases_date.py index 7778de6bfb0..8cd3b59c2db 100644 --- a/addons/project_long_term/wizard/compute_phases_date.py +++ b/addons/project_long_term/wizard/compute_phases_date.py @@ -195,7 +195,6 @@ class wizard_compute_phases(wizard.interface): resource = reduce(operator.or_,resources_list) project = BalancedProject(Project) - print 'Project Phase Start & End:::',project.phase.name,project.phase.booked_resource,project.phase.start.to_datetime(),project.phase.end.to_datetime() s_date = project.phase.start.to_datetime() e_date = project.phase.end.to_datetime() -- cgit v1.2.3 From eabe16de50d796e35a8c6cfe9b17cfba163cc6b6 Mon Sep 17 00:00:00 2001 From: "Rvo (Open ERP)" Date: Fri, 19 Feb 2010 15:58:28 +0530 Subject: minor changes bzr revid: rvo@tinyerp.co.in-20100219102828-hrehhv0aacv8conw --- .../wizard/compute_phases_date.py | 32 ++++++++++------------ 1 file changed, 14 insertions(+), 18 deletions(-) (limited to 'addons/project_long_term/wizard') 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 -- cgit v1.2.3 From fa1c5bbc858416da58a80fb8632da86a405efbe6 Mon Sep 17 00:00:00 2001 From: "Rvo (Open ERP)" Date: Fri, 26 Feb 2010 16:48:14 +0530 Subject: [IMP]:changes in project_long_term,improved view and scheduling of tasks and phases bzr revid: rvo@tinyerp.co.in-20100226111814-kiapc4zs7parfl8i --- addons/project_long_term/wizard/__init__.py | 1 + .../wizard/compute_phases_date.py | 240 +++++++-------------- 2 files changed, 75 insertions(+), 166 deletions(-) (limited to 'addons/project_long_term/wizard') diff --git a/addons/project_long_term/wizard/__init__.py b/addons/project_long_term/wizard/__init__.py index a38c9720ebc..236fc2892a3 100644 --- a/addons/project_long_term/wizard/__init__.py +++ b/addons/project_long_term/wizard/__init__.py @@ -20,6 +20,7 @@ ############################################################################## import compute_phases_date +import schedule_tasks # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/project_long_term/wizard/compute_phases_date.py b/addons/project_long_term/wizard/compute_phases_date.py index ff31fec1251..d8ffeaf340c 100644 --- a/addons/project_long_term/wizard/compute_phases_date.py +++ b/addons/project_long_term/wizard/compute_phases_date.py @@ -25,17 +25,17 @@ from tools.translate import _ import datetime from resource.faces import * from new import classobj -import operator +import project.project_resource as proj compute_form = """
- + """ compute_fields = { - 'phase_id': {'string':'Phase', 'type':'many2one', 'relation': 'project.phase', 'required':'True'}, + 'project_id': {'string':'Project', 'type':'many2one', 'relation': 'project.project'}, } @@ -44,181 +44,89 @@ success_msg = """