From 1b1416934322fb43b19d8340152d52064203bb37 Mon Sep 17 00:00:00 2001 From: Fabien Pinckaers Date: Mon, 1 Jun 2009 00:05:07 +0200 Subject: [PATCH] improvement_planning bzr revid: fp@tinyerp.com-20090531220507-3ftpp6cugrl6cxee --- addons/mrp/mrp_view.xml | 2 +- addons/mrp_operations/mrp_operations.py | 16 ++++++++-------- addons/mrp_operations/mrp_operations_view.xml | 4 ++-- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/addons/mrp/mrp_view.xml b/addons/mrp/mrp_view.xml index 38adabb19b5..5ae97154a42 100644 --- a/addons/mrp/mrp_view.xml +++ b/addons/mrp/mrp_view.xml @@ -411,8 +411,8 @@ + - diff --git a/addons/mrp_operations/mrp_operations.py b/addons/mrp_operations/mrp_operations.py index 0724f4e4268..94f1460ca1c 100644 --- a/addons/mrp_operations/mrp_operations.py +++ b/addons/mrp_operations/mrp_operations.py @@ -120,8 +120,8 @@ class mrp_production_workcenter_line(osv.osv): pids2 = {} for prod in self.browse(cr, uid, ids, context=context): if prod.production_id.workcenter_lines: - dstart = prod.production_id.workcenter_lines[0]['date_planned'] - self.pool.get('mrp.production').write(cr, uid, [prod.production_id.id], {'date_start':dstart}, context=context) + dstart = min(vals['date_planned'], prod.production_id.workcenter_lines[0]['date_planned']) + self.pool.get('mrp.production').write(cr, uid, [prod.production_id.id], {'date_start':dstart}, context=context, mini=False) return result def action_draft(self, cr, uid, ids): @@ -178,7 +178,7 @@ class mrp_production(osv.osv): tmp=self.pool.get('mrp.production.workcenter.line').action_cancel(cr,uid,[workcenter_line.id]) return super(mrp_production,self).action_cancel(cr,uid,ids) - def _compute_planned_workcenter(self, cr, uid, ids, context={}): + def _compute_planned_workcenter(self, cr, uid, ids, context={}, mini=False): dt_end = DateTime.now() for po in self.browse(cr, uid, ids, context=context): dt_end = DateTime.strptime(po.date_start or po.date_planned, '%Y-%m-%d %H:%M:%S') @@ -193,7 +193,7 @@ class mrp_production(osv.osv): dt = dt_end if context.get('__last_update'): del context['__last_update'] - if wc.date_planneddt.strftime('%Y-%m-%d %H:%M:%S'): - self.write(cr, uid, [l.production_id.id], {'date_start':dt.strftime('%Y-%m-%d %H:%M:%S')}) + self.write(cr, uid, [l.production_id.id], {'date_start':dt.strftime('%Y-%m-%d %H:%M:%S')}, mini=True) return True def _move_futur(self, cr, uid, ids, context={}): @@ -256,14 +256,14 @@ class mrp_production(osv.osv): break - def write(self, cr, uid, ids, vals, context={}, update=True): + def write(self, cr, uid, ids, vals, context={}, update=True, mini=True): direction = {} if vals.get('date_start', False): for po in self.browse(cr, uid, ids, context=context): direction[po.id] = cmp(po.date_start, vals.get('date_start', False)) result = super(mrp_production, self).write(cr, uid, ids, vals, context=context) if (vals.get('workcenter_lines', False) or vals.get('date_start', False)) and update: - self._compute_planned_workcenter(cr, uid, ids, context=context) + self._compute_planned_workcenter(cr, uid, ids, context=context, mini=mini) for d in direction: if direction[d]==1: # the production order has been moved to the passed diff --git a/addons/mrp_operations/mrp_operations_view.xml b/addons/mrp_operations/mrp_operations_view.xml index b6fff79d53d..7f248929dd5 100644 --- a/addons/mrp_operations/mrp_operations_view.xml +++ b/addons/mrp_operations/mrp_operations_view.xml @@ -240,10 +240,10 @@ mrp.production.workcenter.line graph - + - +