From 06e483dd69b13f27b8a9d0e505e78d79db0bf1b1 Mon Sep 17 00:00:00 2001
From: Victor Feyens <vfe@odoo.com>
Date: Tue, 28 Apr 2020 15:03:05 +0000
Subject: [PATCH] [IMP] sale_purchase: create sales order lines in batch

---
 addons/sale_purchase/models/sale_order.py | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/addons/sale_purchase/models/sale_order.py b/addons/sale_purchase/models/sale_order.py
index 9eb6ef558492..dc645a7830a4 100644
--- a/addons/sale_purchase/models/sale_order.py
+++ b/addons/sale_purchase/models/sale_order.py
@@ -109,13 +109,14 @@ class SaleOrderLine(models.Model):
     # CRUD
     # --------------------------
 
-    @api.model
+    @api.model_create_multi
     def create(self, values):
-        line = super(SaleOrderLine, self).create(values)
+        lines = super(SaleOrderLine, self).create(values)
         # Do not generate purchase when expense SO line since the product is already delivered
-        if line.state == 'sale' and not line.is_expense:
-            line.sudo()._purchase_service_generation()
-        return line
+        lines.filtered(
+            lambda line: line.state == 'sale' and not line.is_expense
+        )._purchase_service_generation()
+        return lines
 
     def write(self, values):
         increased_lines = None
-- 
GitLab