diff options
| author | Vir (Open ERP) <vir@tinyerp.com> | 2010-08-18 09:59:27 +0530 |
|---|---|---|
| committer | Vir (Open ERP) <vir@tinyerp.com> | 2010-08-18 09:59:27 +0530 |
| commit | f2b463d1025a46a82a7ac5f8d19cf3e19a73efee (patch) | |
| tree | af26f169924a4732bdebf54af4c9e8a73e7c8537 /addons/project_long_term | |
| parent | 9f00ec5d5398f425a7fa2dc93ea3d893d10afdf1 (diff) | |
| parent | ad32f01bae2d71732a50620ff7bb63e5a6aa6985 (diff) | |
[Merge]
bzr revid: vir@tinyerp.com-20100818042927-kbtyfhzxwczmrupa
Diffstat (limited to 'addons/project_long_term')
6 files changed, 42 insertions, 41 deletions
diff --git a/addons/project_long_term/__openerp__.py b/addons/project_long_term/__openerp__.py index f05d37e0181..c98c85006fa 100644 --- a/addons/project_long_term/__openerp__.py +++ b/addons/project_long_term/__openerp__.py @@ -40,10 +40,10 @@ "init_xml": [], "demo_xml": ["project_long_term_demo.xml"], "test": [ - 'test/schedule_project_phases.yml', - 'test/schedule_project_tasks.yml', - 'test/schedule_phase_tasks.yml' - ], + 'test/schedule_project_phases.yml', + 'test/schedule_project_tasks.yml', + 'test/schedule_phase_tasks.yml' + ], "update_xml": [ "security/ir.model.access.csv", "wizard/project_schedule_tasks_view.xml", @@ -51,7 +51,6 @@ "project_long_term_workflow.xml", "wizard/project_compute_phases_view.xml", "wizard/project_compute_tasks_view.xml", - ], 'installable': True, 'active': False, diff --git a/addons/project_long_term/project_long_term.py b/addons/project_long_term/project_long_term.py index 1bb2510064b..04fde75342e 100644 --- a/addons/project_long_term/project_long_term.py +++ b/addons/project_long_term/project_long_term.py @@ -120,8 +120,6 @@ class project_phase(osv.osv): _constraints = [ (_check_recursion,'Loops in phases not allowed',['next_phase_ids', 'previous_phase_ids']), (_check_dates, 'Phase start-date must be lower than phase end-date.', ['date_start', 'date_end']), - #(_check_constraint_start, 'Phase must start-after constraint start Date.', ['date_start', 'constraint_date_start']), - #(_check_constraint_end, 'Phase must end-before constraint end Date.', ['date_end', 'constraint_date_end']), ] def onchange_project(self, cr, uid, ids, project, context=None): @@ -145,7 +143,6 @@ class project_phase(osv.osv): calendar_id = phase.project_id.resource_calendar_id and phase.project_id.resource_calendar_id.id or False resource_id = resource_obj.search(cr, uid, [('user_id', '=', phase.responsible_id.id)]) if resource_id: -# cal_id = resource_obj.browse(cr, uid, resource_id[0], context=context).calendar_id.id res = resource_obj.read(cr, uid, resource_id, ['calendar_id'], context=context)[0] cal_id = res.get('calendar_id', False) and res.get('calendar_id')[0] or False if cal_id: @@ -168,7 +165,6 @@ class project_phase(osv.osv): calendar_id = phase.project_id.resource_calendar_id and phase.project_id.resource_calendar_id.id or False resource_id = resource_obj.search(cr, uid, [('user_id', '=', phase.responsible_id.id)], context=context) if resource_id: -# cal_id = resource_obj.browse(cr, uid, resource_id[0], context=context).calendar_id.id res = resource_obj.read(cr, uid, resource_id, ['calendar_id'], context=context)[0] cal_id = res.get('calendar_id', False) and res.get('calendar_id')[0] or False if cal_id: diff --git a/addons/project_long_term/project_long_term_view.xml b/addons/project_long_term/project_long_term_view.xml index 842d475b9a3..989465b8a29 100644 --- a/addons/project_long_term/project_long_term_view.xml +++ b/addons/project_long_term/project_long_term_view.xml @@ -319,7 +319,6 @@ <menuitem id="menu_resouce_allocation" action="act_resouce_allocation" name="Resource Allocations" parent="base.menu_project_long_term" sequence="2"/> - <!--<menuitem icon="terp-project" id="base.menu_main_pm" name="Project" sequence="10"/>--> <menuitem id="menu_pm_resources_project1" groups="base.group_extended,base.group_system" name="Resources" parent="project.menu_definitions" sequence="3"/> diff --git a/addons/project_long_term/wizard/project_compute_phases.py b/addons/project_long_term/wizard/project_compute_phases.py index 0c8e11aa9dd..75631fb3d18 100644 --- a/addons/project_long_term/wizard/project_compute_phases.py +++ b/addons/project_long_term/wizard/project_compute_phases.py @@ -38,11 +38,11 @@ class project_compute_phases(osv.osv_memory): ], 'Schedule', required = True), 'project_id': fields.many2one('project.project', 'Project') - } + } _defaults = { 'target_project': 'all' - } + } def check_selection(self, cr, uid, ids, context=None): data_select = self.read(cr, uid, ids, ['target_project'])[0] @@ -76,11 +76,11 @@ class project_compute_phases(osv.osv_memory): leaves = wkcal.compute_leaves(cr, uid, calendar_id , resource.id, resource.calendar_id.id) if not phase.responsible_id: raise osv.except_osv(_('No responsible person assigned !'),_("You must assign a responsible person for phase '%s' !") % (phase.name,)) - phase_resource_obj = classobj((phase.responsible_id.name.encode('utf8')), (Resource,), - {'__doc__': phase.responsible_id.name, - '__name__': phase.responsible_id.name, - 'vacation': tuple(leaves), - 'efficiency': time_efficiency + phase_resource_obj = classobj((phase.responsible_id.name.encode('utf8')), (Resource,),{ + '__doc__': phase.responsible_id.name, + '__name__': phase.responsible_id.name, + 'vacation': tuple(leaves), + 'efficiency': time_efficiency }) default_uom_id = phase_obj._get_default_uom_id(cr, uid) avg_hours = uom_obj._compute_qty(cr, uid, phase.product_uom.id, phase.duration, default_uom_id) @@ -117,9 +117,11 @@ class project_compute_phases(osv.osv_memory): # Write the calculated dates back ctx = context.copy() ctx.update({'scheduler': True}) - phase_obj.write(cr, uid, [phase.id], {'date_start': start_date.strftime('%Y-%m-%d'), - 'date_end': end_date.strftime('%Y-%m-%d')}, - context=ctx) + phase_obj.write(cr, uid, [phase.id], { + 'date_start': start_date.strftime('%Y-%m-%d'), + 'date_end': end_date.strftime('%Y-%m-%d') + }, context=ctx) + # Recursive call till all the next phases scheduled for phase in phase.next_phase_ids: if phase.state in ['draft', 'open', 'pending']: diff --git a/addons/project_long_term/wizard/project_compute_tasks.py b/addons/project_long_term/wizard/project_compute_tasks.py index 0c1b6e2a650..c251ca6f332 100644 --- a/addons/project_long_term/wizard/project_compute_tasks.py +++ b/addons/project_long_term/wizard/project_compute_tasks.py @@ -34,7 +34,7 @@ class project_compute_tasks(osv.osv_memory): _description = 'Project Compute Tasks' _columns = { 'project_id': fields.many2one('project.project', 'Project', required=True) - } + } def compute_date(self, cr, uid, ids, context=None): """ @@ -74,11 +74,12 @@ class project_compute_tasks(osv.osv_memory): if resource.get('calendar_id', False): leaves = wkcal.compute_leaves(cr, uid, calendar_id , resource_id[0], resource['calendar_id'] and resource['calendar_id'][0] or False) time_efficiency = resource.get('time_efficiency') - resources.append(classobj((user.name.encode('utf8')), (Resource,), {'__doc__': user.name, - '__name__': user.name, - 'vacation': tuple(leaves), - 'efficiency': time_efficiency - })) + resources.append(classobj((user.name.encode('utf8')), (Resource,), { + '__doc__': user.name, + '__name__': user.name, + 'vacation': tuple(leaves), + 'efficiency': time_efficiency + })) priority_dict = {'0': 1000, '1': 800, '2': 500, '3': 300,'4': 100} # Create dynamic no of tasks with the resource specified def create_tasks(j, eff, priorty=500, obj=None): @@ -132,10 +133,12 @@ class project_compute_tasks(osv.osv_memory): ctx = context.copy() ctx.update({'scheduler': True}) user_id = user_obj.search(cr, uid, [('name', '=', t.booked_resource[0].__name__)]) - task_pool.write(cr, uid, [tasks[loop_no-1].id], {'date_start': s_date.strftime('%Y-%m-%d %H:%M:%S'), - 'date_end': e_date.strftime('%Y-%m-%d %H:%M:%S'), - 'user_id': user_id[0]}, - context=ctx) + task_pool.write(cr, uid, [tasks[loop_no-1].id], { + 'date_start': s_date.strftime('%Y-%m-%d %H:%M:%S'), + 'date_end': e_date.strftime('%Y-%m-%d %H:%M:%S'), + 'user_id': user_id[0] + }, context=ctx) + loop_no +=1 return {} diff --git a/addons/project_long_term/wizard/project_schedule_tasks.py b/addons/project_long_term/wizard/project_schedule_tasks.py index 343b2536c6e..5931451081b 100644 --- a/addons/project_long_term/wizard/project_schedule_tasks.py +++ b/addons/project_long_term/wizard/project_schedule_tasks.py @@ -35,10 +35,10 @@ class project_schedule_task(osv.osv_memory): _description = 'project.schedule.tasks' _columns = { 'msg': fields.char('Message', size=64) - } + } _defaults = { 'msg': 'Task Scheduling Completed Successfully' - } + } def default_get(self, cr, uid, fields_list, context=None): if context is None: @@ -64,11 +64,11 @@ class project_schedule_task(osv.osv_memory): if resource_cal: cal_id = phase.project_id.resource_calendar_id and phase.project_id.resource_calendar_id.id or False leaves = wkcal.compute_leaves(cr, uid, cal_id, res.id, resource_cal, context=context) - resource_objs.append(classobj(res.user_id.name.encode('utf8'), (Resource,), - {'__doc__': res.user_id.name, - '__name__': res.user_id.name, - 'vacation': tuple(leaves), - 'efficiency': resource_eff, + resource_objs.append(classobj(res.user_id.name.encode('utf8'), (Resource,),{ + '__doc__': res.user_id.name, + '__name__': res.user_id.name, + 'vacation': tuple(leaves), + 'efficiency': resource_eff, })) return resource_objs @@ -153,10 +153,12 @@ class project_schedule_task(osv.osv_memory): ctx = context.copy() ctx.update({'scheduler': True}) user_id = user_obj.search(cr, uid, [('name', '=', t.booked_resource[0].__name__)]) - task_obj.write(cr, uid, [tasks[loop_no-1].id], {'date_start': s_date.strftime('%Y-%m-%d %H:%M:%S'), - 'date_end': e_date.strftime('%Y-%m-%d %H:%M:%S'), - 'user_id': user_id[0]}, - context=ctx) + task_obj.write(cr, uid, [tasks[loop_no-1].id], { + 'date_start': s_date.strftime('%Y-%m-%d %H:%M:%S'), + 'date_end': e_date.strftime('%Y-%m-%d %H:%M:%S'), + 'user_id': user_id[0] + }, context=ctx) + loop_no += 1 return {} |
