diff --git a/addons/procurement/procurement.py b/addons/procurement/procurement.py
index 1b2d7c93466..66856663733 100644
--- a/addons/procurement/procurement.py
+++ b/addons/procurement/procurement.py
@@ -361,17 +361,23 @@ class procurement_order(osv.osv):
"""
ok = True
if procurement.move_id:
+ message = False
id = procurement.move_id.id
if not (procurement.move_id.state in ('done','assigned','cancel')):
ok = ok and self.pool.get('stock.move').action_assign(cr, uid, [id])
cr.execute('select count(id) from stock_warehouse_orderpoint where product_id=%s', (procurement.product_id.id,))
- if not cr.fetchone()[0]:
- cr.execute('update procurement_order set message=%s where id=%s',
- (_('Not enough stock and no minimum orderpoint rule defined.'),
- procurement.id))
- message = _("Procurement '%s' is in exception: not enough stock.") % \
- (procurement.name,)
- self.log(cr, uid, procurement.id, message)
+ res = cr.fetchone()[0]
+ if not res and not ok:
+ message = _("Not enough stock and no minimum orderpoint rule defined.")
+ elif not res:
+ message = _("No minimum orderpoint rule defined for '%s'.") % \
+ (procurement.move_id.product_id.name,)
+ elif not ok:
+ message = _("Not enough stock for '%s'.") % (procurement.move_id.product_id.name,)
+
+ if message:
+ self.log(cr, uid, procurement.id, _("Procurement '%s' is in exception: ") % (procurement.name) + message)
+ cr.execute('update procurement_order set message=%s where id=%s', (message, procurement.id))
return ok
def action_produce_assign_service(self, cr, uid, ids, context=None):
diff --git a/addons/product/pricelist.py b/addons/product/pricelist.py
index cd8c338da89..6899b673c70 100644
--- a/addons/product/pricelist.py
+++ b/addons/product/pricelist.py
@@ -166,10 +166,9 @@ class product_pricelist(osv.osv):
pricelist_version_ids = pricelist_ids
else:
# all pricelists:
- pricelist_version_ids = product_pricelist_version_obj.search(cr, uid, [])
+ pricelist_version_ids = self.pool.get('product.pricelist').search(cr, uid, [], context=context)
pricelist_version_ids = list(set(pricelist_version_ids))
-
plversions_search_args = [
('pricelist_id', 'in', pricelist_version_ids),
'|',
diff --git a/addons/purchase/report/purchase_report_view.xml b/addons/purchase/report/purchase_report_view.xml
index 7f52ca73cf0..40c05e2955c 100644
--- a/addons/purchase/report/purchase_report_view.xml
+++ b/addons/purchase/report/purchase_report_view.xml
@@ -171,7 +171,8 @@
-
+
diff --git a/addons/purchase_requisition/purchase_requisition_view.xml b/addons/purchase_requisition/purchase_requisition_view.xml
index ce67b0921c3..c68c6dbbb89 100644
--- a/addons/purchase_requisition/purchase_requisition_view.xml
+++ b/addons/purchase_requisition/purchase_requisition_view.xml
@@ -21,8 +21,8 @@
purchase.order
-
-
+
+
diff --git a/addons/sale/sale.py b/addons/sale/sale.py
index 65991b798d8..2628d7ed509 100644
--- a/addons/sale/sale.py
+++ b/addons/sale/sale.py
@@ -739,12 +739,13 @@ class sale_order(osv.osv):
proc_obj.write(cr, uid, [proc_id], {'product_qty': mov.product_qty, 'product_uos_qty': mov.product_uos_qty})
val = {}
- for proc_id in proc_ids:
- wf_service.trg_validate(uid, 'procurement.order', proc_id, 'button_confirm', cr)
if picking_id:
wf_service.trg_validate(uid, 'stock.picking', picking_id, 'button_confirm', cr)
+ for proc_id in proc_ids:
+ wf_service.trg_validate(uid, 'procurement.order', proc_id, 'button_confirm', cr)
+
if order.state == 'shipping_except':
val['state'] = 'progress'
val['shipped'] = False
diff --git a/addons/stock/stock.py b/addons/stock/stock.py
index 97d5f9a0270..52645f05233 100644
--- a/addons/stock/stock.py
+++ b/addons/stock/stock.py
@@ -1775,7 +1775,7 @@ class stock_move(osv.osv):
picking_obj = self.pool.get('stock.picking')
pick_id= picking_obj.create(cr, uid, {
'name': pick_name,
- 'origin': str(picking.origin or ''),
+ 'origin': tools.ustr(picking.origin or ''),
'type': ptype,
'note': picking.note,
'move_type': picking.move_type,