diff --git a/addons/mrp/mrp.py b/addons/mrp/mrp.py
index 7ae3f30b07f..ddc7683a74b 100644
--- a/addons/mrp/mrp.py
+++ b/addons/mrp/mrp.py
@@ -314,7 +314,6 @@ class mrp_bom(osv.osv):
d, m = divmod(factor, wc_use.workcenter_id.capacity_per_cycle)
mult = (d + (m and 1.0 or 0.0))
cycle = mult * wc_use.cycle_nbr
- print mult, wc_use.hour_nbr, wc.time_start, wc.time_stop, cycle
result2.append({
'name': bom.routing_id.name,
'workcenter_id': wc.id,
diff --git a/addons/mrp_procurement/mrp_procurement.py b/addons/mrp_procurement/mrp_procurement.py
index fc47298d8f5..cb20f1561fd 100644
--- a/addons/mrp_procurement/mrp_procurement.py
+++ b/addons/mrp_procurement/mrp_procurement.py
@@ -328,14 +328,11 @@ class mrp_procurement(osv.osv):
'product_qty': procurement.product_qty,
'product_uom': procurement.product_uom.id,
'date_planned': procurement.date_planned,
- 'state': 'confirmed',
+ 'state': 'draft',
'company_id': procurement.company_id.id,
})
+ move_obj.action_confirm(cr, uid, [id], context=context)
self.write(cr, uid, [procurement.id], {'move_id': id, 'close_move': 1})
- else:
- # TODO: check this
- if procurement.procure_method == 'make_to_stock' and procurement.move_id.state in ('waiting','draft'):
- id = move_obj.write(cr, uid, [procurement.move_id.id], {'state':'confirmed'})
self.write(cr, uid, ids, {'state': 'confirmed', 'message': ''})
return True
diff --git a/addons/stock/stock.py b/addons/stock/stock.py
index 898df46e17b..5aa3ebe3cb7 100644
--- a/addons/stock/stock.py
+++ b/addons/stock/stock.py
@@ -402,7 +402,6 @@ stock_tracking()
#----------------------------------------------------------
class stock_picking(osv.osv):
_name = "stock.picking"
- _log_create = True
_description = "Picking List"
def _set_maximum_date(self, cr, uid, ids, name, value, arg, context):
@@ -460,7 +459,15 @@ class stock_picking(osv.osv):
def create(self, cr, user, vals, context=None):
if ('name' not in vals) or (vals.get('name')=='/'):
vals['name'] = self.pool.get('ir.sequence').get(cr, user, 'stock.picking')
-
+ type_list = {
+ 'out':_('Packing List'),
+ 'in':_('Reception'),
+ 'internal': _('Internal picking'),
+ 'delivery': _('Delivery order')
+ }
+ if not vals.get('auto_picking', False):
+ message = type_list.get(vals.get('type',_('Picking'))) + " '" + vals['name'] + "' "+ _("created.")
+ self.log(cr, user, id, message)
return super(stock_picking, self).create(cr, user, vals, context)
_columns = {
@@ -533,7 +540,7 @@ class stock_picking(osv.osv):
def action_confirm(self, cr, uid, ids, context={}):
self.write(cr, uid, ids, {'state': 'confirmed'})
todo = []
- for picking in self.browse(cr, uid, ids):
+ for picking in self.browse(cr, uid, ids, context=context):
for r in picking.move_lines:
if r.state == 'draft':
todo.append(r.id)
@@ -1287,6 +1294,11 @@ class stock_move(osv.osv):
def create(self, cr, user, vals, context=None):
if vals.get('move_stock_return_history',False):
vals['move_stock_return_history'] = []
+ # Check that the stock.move is in draft state at creation to force
+ # passing through button_confirm
+ if vals.get('state','draft') not in ('draft','done','waiting'):
+ logger = netsvc.Logger()
+ logger.notifyChannel("code", netsvc.LOG_WARNING, "All new stock.move must be in state draft at the creation !")
return super(stock_move, self).create(cr, user, vals, context)
def _auto_init(self, cursor, context):
diff --git a/addons/stock/stock_view.xml b/addons/stock/stock_view.xml
index 92554446232..a6e6dc198aa 100644
--- a/addons/stock/stock_view.xml
+++ b/addons/stock/stock_view.xml
@@ -69,7 +69,7 @@
stock.inventory
tree
-
+
@@ -307,7 +307,7 @@
tree
move_history_ids
-
+
@@ -329,7 +329,7 @@
tree
move_history_ids2
-
+
@@ -455,7 +455,7 @@
tree
-
+
@@ -580,7 +580,7 @@
stock.picking
tree
-
+
@@ -611,7 +611,7 @@
-
+
@@ -730,7 +730,7 @@
stock.picking
tree
-
+
@@ -761,7 +761,7 @@
-
+
@@ -907,7 +907,7 @@
stock.picking
tree
-
+
@@ -939,7 +939,7 @@
-
+
@@ -1082,7 +1082,7 @@
stock.picking
tree
-
+
@@ -1116,7 +1116,7 @@
-
+
@@ -1298,7 +1298,7 @@
tree
-
+
@@ -1422,7 +1422,7 @@
tree
-
+