diff --git a/addons/purchase/purchase.py b/addons/purchase/purchase.py
index 47ff616b548..8743b348583 100644
--- a/addons/purchase/purchase.py
+++ b/addons/purchase/purchase.py
@@ -1072,8 +1072,9 @@ class procurement_order(osv.osv):
'company_id': procurement.company_id.id,
'fiscal_position': partner.property_account_position and partner.property_account_position.id or False
}
- res[procurement.id] = self.create_procurement_purchase_order(cr, uid, procurement, po_vals, line_vals, context=context)
- self.write(cr, uid, [procurement.id], {'state': 'running', 'purchase_id': res[procurement.id]})
+ if not procurement.product_id.purchase_requisition:
+ res[procurement.id] = self.create_procurement_purchase_order(cr, uid, procurement, po_vals, line_vals, context=context)
+ self.write(cr, uid, [procurement.id], {'state': 'running', 'purchase_id': res[procurement.id]})
self.running_send_note(cr, uid, [procurement.id], context=context)
return res
diff --git a/addons/purchase_requisition/purchase_requisition.py b/addons/purchase_requisition/purchase_requisition.py
index be8660bb10b..f0aecbeea55 100644
--- a/addons/purchase_requisition/purchase_requisition.py
+++ b/addons/purchase_requisition/purchase_requisition.py
@@ -280,11 +280,12 @@ class procurement_order(osv.osv):
def make_po(self, cr, uid, ids, context=None):
sequence_obj = self.pool.get('ir.sequence')
res = super(procurement_order, self).make_po(cr, uid, ids, context=context)
- for proc_id, po_id in res.items():
- procurement = self.browse(cr, uid, proc_id, context=context)
- requisition_id=False
- if procurement.product_id.purchase_requisition:
- requisition_id=self.pool.get('purchase.requisition').create(cr, uid, {
+ sequence_obj = self.pool.get('ir.sequence')
+ requisition_obj = self.pool.get('purchase.requisition')
+ procurement = self.browse(cr, uid, ids, context=context)[0]
+ if procurement.product_id.purchase_requisition:
+ requisition_id = requisition_obj.create(cr, uid,
+ {
'name': sequence_obj.get(cr, uid, 'purchase.order.requisition'),
'origin': procurement.origin,
'date_end': procurement.date_planned,
@@ -296,9 +297,9 @@ class procurement_order(osv.osv):
'product_qty': procurement.product_qty
})],
- 'purchase_ids': [(6,0,[po_id])]
})
- self.write(cr,uid,[proc_id],{'requisition_id':requisition_id},context=context)
+ self.write(cr, uid, ids, {'requisition_id':requisition_id}, context=context)
+ return {}
return res
procurement_order()
diff --git a/addons/purchase_requisition/purchase_requisition_view.xml b/addons/purchase_requisition/purchase_requisition_view.xml
index 7a9bf4a1abe..88b2c3a8724 100644
--- a/addons/purchase_requisition/purchase_requisition_view.xml
+++ b/addons/purchase_requisition/purchase_requisition_view.xml
@@ -74,6 +74,8 @@
+
@@ -81,7 +83,7 @@
-
+
@@ -91,8 +93,6 @@
-