diff --git a/addons/purchase/purchase.py b/addons/purchase/purchase.py
index 60f9515f42e..1fcaa00667e 100644
--- a/addons/purchase/purchase.py
+++ b/addons/purchase/purchase.py
@@ -414,13 +414,7 @@ class purchase_order(osv.osv):
inv_ids+= [invoice.id for invoice in po.invoice_ids]
if not inv_ids:
raise osv.except_osv(_('Error!'), _('Please create Invoices.'))
- #choose the view_mode accordingly
- if len(inv_ids)>1:
- result['domain'] = "[('id','in',["+','.join(map(str, inv_ids))+"])]"
- else:
- res = mod_obj.get_object_reference(cr, uid, 'account', 'invoice_supplier_form')
- result['views'] = [(res and res[1] or False, 'form')]
- result['res_id'] = inv_ids and inv_ids[0] or False
+ result['domain'] = [('id', 'in', inv_ids)]
return result
def view_invoice(self, cr, uid, ids, context=None):
diff --git a/addons/purchase/purchase_view.xml b/addons/purchase/purchase_view.xml
index 6e391bd6a00..2b417183f61 100644
--- a/addons/purchase/purchase_view.xml
+++ b/addons/purchase/purchase_view.xml
@@ -265,9 +265,8 @@
-
+
-
@@ -278,6 +277,7 @@
+
diff --git a/addons/purchase/stock_view.xml b/addons/purchase/stock_view.xml
index 174dc99d4f5..fcfe2229c76 100644
--- a/addons/purchase/stock_view.xml
+++ b/addons/purchase/stock_view.xml
@@ -36,7 +36,7 @@
class="oe_stat_button"
icon="fa-truck"
attrs="{'invisible': [('shipment_count', '=', 0)]}">
-
+
-
-
@@ -50,13 +51,6 @@
-
-
-
-
-
-
-
@@ -68,8 +62,8 @@
-
-
+
+
@@ -99,10 +93,9 @@
-
-
+
diff --git a/addons/purchase_requisition/test/purchase_requisition.yml b/addons/purchase_requisition/test/purchase_requisition.yml
index 97b0875ed35..7ced8ec22c2 100644
--- a/addons/purchase_requisition/test/purchase_requisition.yml
+++ b/addons/purchase_requisition/test/purchase_requisition.yml
@@ -58,7 +58,7 @@
context.update({"active_model": "purchase.requisition","active_ids": [ref("requisition1")],"active_id": ref("requisition1")})
-
!record {model: purchase.requisition.partner, id: requisition_partner_0}:
- partner_id: base.res_partner_12
+ partner_ids: [base.res_partner_12]
-
!python {model: purchase.requisition.partner}: |
context.update({"mail_create_nolog" : True })
diff --git a/addons/purchase_requisition/wizard/purchase_requisition_partner.py b/addons/purchase_requisition/wizard/purchase_requisition_partner.py
index cef4b6be142..bb93d802234 100644
--- a/addons/purchase_requisition/wizard/purchase_requisition_partner.py
+++ b/addons/purchase_requisition/wizard/purchase_requisition_partner.py
@@ -26,7 +26,7 @@ class purchase_requisition_partner(osv.osv_memory):
_name = "purchase.requisition.partner"
_description = "Purchase Requisition Partner"
_columns = {
- 'partner_id': fields.many2one('res.partner', 'Supplier', required=True,domain=[('supplier', '=', True)]),
+ 'partner_ids': fields.many2many('res.partner', 'purchase_requisition_supplier_rel', 'requisition_id', 'partner_id', string='Suppliers', required=True, domain=[('supplier', '=', True)])
}
def view_init(self, cr, uid, fields_list, context=None):
@@ -41,8 +41,10 @@ class purchase_requisition_partner(osv.osv_memory):
def create_order(self, cr, uid, ids, context=None):
active_ids = context and context.get('active_ids', [])
- data = self.browse(cr, uid, ids, context=context)[0]
- self.pool.get('purchase.requisition').make_purchase_order(cr, uid, active_ids, data.partner_id.id, context=context)
+ purchase_requisition = self.pool.get('purchase.requisition')
+ for wizard in self.browse(cr, uid, ids, context=context):
+ for partner_id in wizard.partner_ids:
+ purchase_requisition.make_purchase_order(cr, uid, active_ids, partner_id.id, context=context)
return {'type': 'ir.actions.act_window_close'}
diff --git a/addons/purchase_requisition/wizard/purchase_requisition_partner_view.xml b/addons/purchase_requisition/wizard/purchase_requisition_partner_view.xml
index a3a1cd5ad6d..4a256eec239 100644
--- a/addons/purchase_requisition/wizard/purchase_requisition_partner_view.xml
+++ b/addons/purchase_requisition/wizard/purchase_requisition_partner_view.xml
@@ -7,7 +7,7 @@