diff --git a/addons/sale/static/src/js/sale_order_controller.js b/addons/sale/static/src/js/sale_order_controller.js index 81d7105a955..163cca77c57 100644 --- a/addons/sale/static/src/js/sale_order_controller.js +++ b/addons/sale/static/src/js/sale_order_controller.js @@ -23,14 +23,20 @@ odoo.define('sale.SaleOrderFormController', function (require) { * (3) value is the same in all other sale order line */ _onOpenUpdateAllWizard(ev) { - const orderLines = this._DialogReady(ev, 'normal') + const orderLines = this._DialogReady(ev, 'normal'); + const customValuesCommands = []; const confirmCallback = () => { orderLines.slice(1).forEach((line) => { - this.trigger_up('field_changed', { - dataPointID: this.renderer.state.id, - changes: {order_line: {operation: "UPDATE", id: line.id, data: {[ev.data.fieldName]: ev.data.value}}}, + customValuesCommands.push({ + operation: "UPDATE", + id: line.id, + data: {[ev.data.fieldName]: ev.data.value}, }); }); + this.trigger_up('field_changed', { + dataPointID: this.renderer.state.id, + changes: {order_line: {operation: "MULTI", commands: customValuesCommands}}, + }); }; if (orderLines) { Dialog.confirm(this, _t("Do you want to apply this value to all order lines?"), {