You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
odoo.define('web_widget_many2many_tags_multi_selection.multiple_tags', function (require) { "use strict";
var rel_fields = require('web.relational_fields'); var dialogs = require('web.view_dialogs'); var core = require('web.core'); var _t = core._t;
rel_fields.FieldMany2One.include({ _searchCreatePopup: function(view, ids, context) { var self = this;
// Don't include already selected instances in the search domain
var domain = self.record.getDomain({fieldName: self.name}); if (self.field.type === 'many2many') { var selected_ids = self._getSearchBlacklist(); if (selected_ids.length > 0) { domain.push(['id', 'not in', selected_ids]); } }
new dialogs.SelectCreateDialog(self, _.extend({}, self.nodeOptions, { res_model: self.field.relation, domain: domain, context: _.extend({}, self.record.getContext(self.recordParams), context || {}), title: (view === 'search' ? _t("Search: ") : _t("Create: ")) + self.string, initial_ids: ids ? _.map(ids, function(x) {return x[0];}) : undefined, initial_view: view, disable_multiple_selection: self.field.type !== 'many2many', on_selected: function(records) { if (self.field.type !== 'many2many') { self.reinitialize(records[0]); } else { self.reinitialize(records); } self.activate(); } })).open(); }, }); });
|