diff --git a/addons/project_long_term/__init__.py b/addons/project_long_term/__init__.py index 5a6ad27710f..c580a068340 100644 --- a/addons/project_long_term/__init__.py +++ b/addons/project_long_term/__init__.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- ############################################################################## -# +# # OpenERP, Open Source Management Solution # Copyright (C) 2004-2009 Tiny SPRL (). # @@ -15,12 +15,11 @@ # GNU Affero General Public License for more details. # # You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . +# along with this program. If not, see . # ############################################################################## import project import wizard -# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - +# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: \ No newline at end of file diff --git a/addons/project_long_term/project.py b/addons/project_long_term/project.py index b5e13d5afa7..48129f40bb8 100644 --- a/addons/project_long_term/project.py +++ b/addons/project_long_term/project.py @@ -118,8 +118,9 @@ class project_phase(osv.osv): def onchange_project(self, cr, uid, ids, project, context={}): result = {} + project_obj = self.pool.get('project.project') if project: - project_id = self.pool.get('project.project').browse(cr, uid, project, context=context) + project_id = project_obj.browse(cr, uid, project, context=context) if project_id.date_start: result['date_start'] = mx.DateTime.strptime(project_id.date_start, "%Y-%m-%d").strftime('%Y-%m-%d %H:%M:%S') return {'value': result} @@ -131,6 +132,7 @@ class project_phase(osv.osv): """ uom_obj = self.pool.get('product.uom') resource_obj = self.pool.get('resource.resource') + cal_obj = self.pool.get('resource.calendar') 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: @@ -139,7 +141,7 @@ class project_phase(osv.osv): calendar_id = cal_id default_uom_id = uom_obj.search(cr, uid, [('name', '=', 'Hour')], context=context)[0] avg_hours = uom_obj._compute_qty(cr, uid, phase.product_uom.id, phase.duration, default_uom_id) - work_times = self.pool.get('resource.calendar').interval_min_get(cr, uid, calendar_id, date_end, avg_hours or 0.0, resource_id and resource_id[0] or False) + work_times = cal_obj.interval_min_get(cr, uid, calendar_id, date_end, avg_hours or 0.0, resource_id and resource_id[0] or False) dt_start = work_times[0][0].strftime('%Y-%m-%d %H:%M:%S') self.write(cr, uid, [phase.id], {'date_start': dt_start, 'date_end': date_end.strftime('%Y-%m-%d %H:%M:%S')}, context=context) @@ -149,6 +151,7 @@ class project_phase(osv.osv): """ uom_obj = self.pool.get('product.uom') resource_obj = self.pool.get('resource.resource') + cal_obj = self.pool.get('resource.calendar') 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: @@ -157,11 +160,14 @@ class project_phase(osv.osv): calendar_id = cal_id default_uom_id = uom_obj.search(cr, uid, [('name', '=', 'Hour')], context=context)[0] avg_hours = uom_obj._compute_qty(cr, uid, phase.product_uom.id, phase.duration, default_uom_id) - work_times = self.pool.get('resource.calendar').interval_get(cr, uid, calendar_id, date_start, avg_hours or 0.0, resource_id and resource_id[0] or False) + work_times = cal_obj.interval_get(cr, uid, calendar_id, date_start, avg_hours or 0.0, resource_id and resource_id[0] or False) dt_end = work_times[-1][1].strftime('%Y-%m-%d %H:%M:%S') self.write(cr, uid, [phase.id], {'date_start': date_start.strftime('%Y-%m-%d %H:%M:%S'), 'date_end': dt_end}, context=context) def write(self, cr, uid, ids, vals, context={}): + resource_calendar_obj = self.pool.get('resource.calendar') + resource_obj = self.pool.get('resource.resource') + uom_obj = self.pool.get('product.uom') if not context: context = {} if context.get('scheduler',False): @@ -169,9 +175,6 @@ class project_phase(osv.osv): # Consider calendar and efficiency if the phase is performed by a resource # otherwise consider the project's working calendar phase = self.browse(cr, uid, ids[0], context=context) - resource_calendar_obj = self.pool.get('resource.calendar') - resource_obj = self.pool.get('resource.resource') - uom_obj = self.pool.get('product.uom') calendar_id = phase.project_id.resource_calendar_id.id resource_id = resource_obj.search(cr, uid, [('user_id', '=', phase.responsible_id.id)],context=context) if resource_id: @@ -258,12 +261,12 @@ 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_obj = self.pool.get('resource.resource') + project_pool = self.pool.get('project.project') + resource_calendar = self.pool.get('resource.calendar') if date_start: - resource_obj = self.pool.get('resource.resource') - project_pool = self.pool.get('project.project') hrs = float(planned / float(occupation_rate)) calendar_id = project_pool.browse(cr, uid, project).resource_calendar_id.id - resource_calendar = self.pool.get('resource.calendar') 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: @@ -313,7 +316,8 @@ class task(osv.osv): self.write(cr, uid, [task.id], {'date_start': date_start.strftime('%Y-%m-%d %H:%M:%S'),'date_end' : dt_end}, context=context) def write(self, cr, uid, ids, vals, context={}): - + resource_calendar_obj = self.pool.get('resource.calendar') + resource_obj = self.pool.get('resource.resource') if not context: context = {} if context.get('scheduler',False): @@ -325,8 +329,6 @@ class task(osv.osv): if isinstance(ids, list): task_id = ids[0] task_rec = self.browse(cr, uid, task_id, context=context) - resource_calendar_obj = self.pool.get('resource.calendar') - resource_obj = self.pool.get('resource.resource') calendar_id = task_rec.project_id.resource_calendar_id.id hrs = task_rec.planned_hours / task_rec.occupation_rate resource_id = resource_obj.search(cr, uid, [('user_id', '=', task_rec.user_id.id)], context=context) diff --git a/addons/project_long_term/project_data.xml b/addons/project_long_term/project_data.xml index 2addd68fa19..32d041544cc 100644 --- a/addons/project_long_term/project_data.xml +++ b/addons/project_long_term/project_data.xml @@ -1,9 +1,7 @@ - + Project project.project diff --git a/addons/project_long_term/project_report.xml b/addons/project_long_term/project_report.xml index c3b681cdd8b..3bbbce1874c 100644 --- a/addons/project_long_term/project_report.xml +++ b/addons/project_long_term/project_report.xml @@ -1,7 +1,6 @@ - diff --git a/addons/project_long_term/project_wizard.xml b/addons/project_long_term/project_wizard.xml index 00e6d41db0a..0904bbb4429 100644 --- a/addons/project_long_term/project_wizard.xml +++ b/addons/project_long_term/project_wizard.xml @@ -21,5 +21,6 @@ parent="base.menu_pm_planning" type="wizard" sequence="1"/> + diff --git a/addons/project_long_term/wizard/compute_phases_date.py b/addons/project_long_term/wizard/compute_phases_date.py index a595a190d4e..f684871e636 100644 --- a/addons/project_long_term/wizard/compute_phases_date.py +++ b/addons/project_long_term/wizard/compute_phases_date.py @@ -149,8 +149,9 @@ class wizard_compute_phases(wizard.interface): """ Return the scheduled phases list. """ - mod_obj = pooler.get_pool(cr.dbname).get('ir.model.data') - act_obj = pooler.get_pool(cr.dbname).get('ir.actions.act_window') + pool = pooler.get_pool(cr.dbname) + mod_obj = pool.get('ir.model.data') + act_obj = pool.get('ir.actions.act_window') result = mod_obj._get_id(cr, uid, 'project_long_term', 'act_project_phase') id = mod_obj.read(cr, uid, [result], ['res_id'])[0]['res_id'] result = act_obj.read(cr, uid, [id], context=context)[0]