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 @@ +