From 475abff87be98d860bee408bd011e93a2da3a73a Mon Sep 17 00:00:00 2001 From: Victor Feyens Date: Wed, 1 Apr 2020 18:01:47 +0200 Subject: [PATCH 1/2] [IMP] hr_expense: create products in batch Products are created in batch, unless hr_expense is installed, because its create override isn't defined and implemented for batch creation. Because products creation in batch can be up to 10 times faster than creation record by record, it is important to ensure the creation of products is always done in batch. X-original-commit: e8e34ed5b66274264c27e9a379a7857e086e5264 --- addons/hr_expense/models/product_template.py | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/addons/hr_expense/models/product_template.py b/addons/hr_expense/models/product_template.py index 25c4719a612..614c02898b5 100644 --- a/addons/hr_expense/models/product_template.py +++ b/addons/hr_expense/models/product_template.py @@ -9,13 +9,14 @@ class ProductTemplate(models.Model): can_be_expensed = fields.Boolean(string="Can be Expensed", help="Specify whether the product can be selected in an expense.") - @api.model - def create(self, vals): - # When creating an expense product on the fly, you don't expect to - # have taxes on it - if vals.get('can_be_expensed', False): - vals.update({'supplier_taxes_id': False}) - return super(ProductTemplate, self).create(vals) + @api.model_create_multi + def create(self, vals_list): + for vals in vals_list: + # When creating an expense product on the fly, you don't expect to + # have taxes on it + if vals.get('can_be_expensed', False): + vals.update({'supplier_taxes_id': False}) + return super(ProductTemplate, self).create(vals_list) @api.onchange('type') def _onchange_type_for_expense(self): From 1977f6618bf8aa91b9538607f9cdf4bf8c35e8a1 Mon Sep 17 00:00:00 2001 From: Victor Feyens Date: Thu, 2 Apr 2020 11:28:54 +0200 Subject: [PATCH 2/2] [IMP] mrp_subcontracting: create stock move lines in batch X-original-commit: e721dc6c25c52ae18aa74b3ffc4cc366b45b16f5 --- addons/mrp_subcontracting/models/stock_move_line.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/addons/mrp_subcontracting/models/stock_move_line.py b/addons/mrp_subcontracting/models/stock_move_line.py index 43f2c8a978d..3a18f76cadd 100644 --- a/addons/mrp_subcontracting/models/stock_move_line.py +++ b/addons/mrp_subcontracting/models/stock_move_line.py @@ -1,14 +1,15 @@ # -*- coding: utf-8 -*- # Part of Odoo. See LICENSE file for full copyright and licensing details. -from odoo import models +from odoo import api, models class StockMoveLine(models.Model): _inherit = 'stock.move.line' - def create(self, values): - records = super(StockMoveLine, self).create(values) + @api.model_create_multi + def create(self, vals_list): + records = super(StockMoveLine, self).create(vals_list) records.filtered(lambda ml: ml.move_id.is_subcontract).move_id._check_overprocessed_subcontract_qty() return records