diff --git a/addons/stock/static/src/js/stock_orderpoint_list_controller.js b/addons/stock/static/src/js/stock_orderpoint_list_controller.js deleted file mode 100644 index ff38d58a4bb..00000000000 --- a/addons/stock/static/src/js/stock_orderpoint_list_controller.js +++ /dev/null @@ -1,73 +0,0 @@ -odoo.define('stock.StockOrderpointListController', function (require) { -"use strict"; - -var core = require('web.core'); -var ListController = require('web.ListController'); - -var qweb = core.qweb; - - -var StockOrderpointListController = ListController.extend({ - - // ------------------------------------------------------------------------- - // Public - // ------------------------------------------------------------------------- - - /** - * @override - */ - renderButtons: function () { - this._super.apply(this, arguments); - this.$buttons.find('.o_list_export_xlsx').addClass('d-none'); - this.$buttons.find('.o_list_button_add').removeClass('btn-primary').addClass('btn-secondary'); - var $buttons = $(qweb.render('StockOrderpoint.Buttons')); - var $buttonOrder = $buttons.find('.o_button_order'); - var $buttonSnooze = $buttons.find('.o_button_snooze'); - $buttonOrder.on('click', this._onReplenish.bind(this)); - $buttonSnooze.on('click', this._onSnooze.bind(this)); - $buttons.prependTo(this.$buttons); - }, - - // ------------------------------------------------------------------------- - // Handlers - // ------------------------------------------------------------------------- - - _onButtonClicked: function (ev) { - if (ev.data.attrs.class && ev.data.attrs.class.split(' ').includes('o_replenish_buttons')) { - ev.stopPropagation(); - var self = this; - this._callButtonAction(ev.data.attrs, ev.data.record).then(function () { - self.reload(); - }); - } else { - this._super.apply(this, arguments); - } - }, - - _onReplenish: function () { - var records = this.getSelectedRecords(); - this.model.replenish(records); - }, - - _onSelectionChanged: function (ev) { - this._super(ev); - var $buttonOrder = this.$el.find('.o_button_order'); - var $buttonSnooze = this.$el.find('.o_button_snooze'); - if (this.getSelectedIds().length === 0){ - $buttonOrder.addClass('d-none'); - $buttonSnooze.addClass('d-none'); - } else { - $buttonOrder.removeClass('d-none'); - $buttonSnooze.removeClass('d-none'); - } - }, - - _onSnooze: function () { - var records = this.getSelectedRecords(); - this.model.snooze(records); - }, -}); - -return StockOrderpointListController; - -}); diff --git a/addons/stock/static/src/js/stock_orderpoint_list_model.js b/addons/stock/static/src/js/stock_orderpoint_list_model.js deleted file mode 100644 index dc65dde3f1d..00000000000 --- a/addons/stock/static/src/js/stock_orderpoint_list_model.js +++ /dev/null @@ -1,43 +0,0 @@ -odoo.define('stock.StockOrderpointListModel', function (require) { -"use strict"; - -var ListModel = require('web.ListModel'); - - -var StockOrderpointListModel = ListModel.extend({ - - // ------------------------------------------------------------------------- - // Public - // ------------------------------------------------------------------------- - /** - */ - replenish: function (records) { - var self = this; - var model = records[0].model; - var recordResIds = _.pluck(records, 'res_id'); - var context = records[0].getContext(); - return this._rpc({ - model: model, - method: 'action_replenish', - args: [recordResIds], - context: context, - }).then(function () { - return self.do_action('stock.action_replenishment'); - }); - }, - - snooze: function (records) { - var recordResIds = _.pluck(records, 'res_id'); - var self = this; - return this.do_action('stock.action_orderpoint_snooze', { - additional_context: { - default_orderpoint_ids: recordResIds - }, - on_close: () => self.do_action('stock.action_replenishment') - }); - }, -}); - -return StockOrderpointListModel; - -}); diff --git a/addons/stock/static/src/js/stock_orderpoint_list_view.js b/addons/stock/static/src/js/stock_orderpoint_list_view.js deleted file mode 100644 index d893ba9e5da..00000000000 --- a/addons/stock/static/src/js/stock_orderpoint_list_view.js +++ /dev/null @@ -1,21 +0,0 @@ -odoo.define('stock.StockOrderpointListView', function (require) { -"use strict"; - -var ListView = require('web.ListView'); -var StockOrderpointListController = require('stock.StockOrderpointListController'); -var StockOrderpointListModel = require('stock.StockOrderpointListModel'); -var viewRegistry = require('web.view_registry'); - - -var StockOrderpointListView = ListView.extend({ - config: _.extend({}, ListView.prototype.config, { - Controller: StockOrderpointListController, - Model: StockOrderpointListModel, - }), -}); - -viewRegistry.add('stock_orderpoint_list', StockOrderpointListView); - -return StockOrderpointListView; - -}); diff --git a/addons/stock/static/src/views/stock_orderpoint_list_buttons.xml b/addons/stock/static/src/views/stock_orderpoint_list_buttons.xml new file mode 100644 index 00000000000..1d314a5f3f8 --- /dev/null +++ b/addons/stock/static/src/views/stock_orderpoint_list_buttons.xml @@ -0,0 +1,20 @@ + + + + + + btn btn-secondary o_list_button_add + + + + + + + + diff --git a/addons/stock/static/src/views/stock_orderpoint_list_controller.js b/addons/stock/static/src/views/stock_orderpoint_list_controller.js new file mode 100644 index 00000000000..f871f498c49 --- /dev/null +++ b/addons/stock/static/src/views/stock_orderpoint_list_controller.js @@ -0,0 +1,30 @@ +/** @odoo-module */ + +import { ListController } from '@web/views/list/list_controller'; + +export class StockOrderpointListController extends ListController { + async onClickOrder() { + const resIds = await this.getSelectedResIds(); + const action = await this.model.orm.call(this.props.resModel, 'action_replenish', [resIds], { + context: this.props.context, + }); + if (action) { + await this.actionService.doAction(action); + } + return this.actionService.doAction('stock.action_replenishment', { + stackPosition: 'replaceCurrentAction', + }); + } + + async onClickSnooze() { + const resIds = await this.getSelectedResIds(); + this.actionService.doAction('stock.action_orderpoint_snooze', { + additionalContext: { default_orderpoint_ids: resIds }, + onClose: () => { + this.actionService.doAction('stock.action_replenishment', { + stackPosition: 'replaceCurrentAction', + }); + } + }); + } +} diff --git a/addons/stock/static/src/views/stock_orderpoint_list_view.js b/addons/stock/static/src/views/stock_orderpoint_list_view.js new file mode 100644 index 00000000000..bb5c1f59e51 --- /dev/null +++ b/addons/stock/static/src/views/stock_orderpoint_list_view.js @@ -0,0 +1,13 @@ +/** @odoo-module */ + +import { listView } from '@web/views/list/list_view'; +import { registry } from "@web/core/registry"; +import { StockOrderpointListController as Controller } from './stock_orderpoint_list_controller'; + +export const StockOrderpointListView = { + ...listView, + Controller, + buttonTemplate: 'stock.StockOrderpoint.Buttons', +}; + +registry.category("views").add("stock_orderpoint_list", StockOrderpointListView); diff --git a/addons/stock/static/src/xml/stock_orderpoint.xml b/addons/stock/static/src/xml/stock_orderpoint.xml deleted file mode 100644 index b73225e7feb..00000000000 --- a/addons/stock/static/src/xml/stock_orderpoint.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - diff --git a/addons/stock/views/stock_orderpoint_views.xml b/addons/stock/views/stock_orderpoint_views.xml index b1f1e81a186..1477f1cff8e 100644 --- a/addons/stock/views/stock_orderpoint_views.xml +++ b/addons/stock/views/stock_orderpoint_views.xml @@ -38,7 +38,7 @@ stock.warehouse.orderpoint.tree.editable stock.warehouse.orderpoint - +