summaryrefslogtreecommitdiff
path: root/addons/web/static/src/js/fields
diff options
context:
space:
mode:
authorMartin Geubelle <mge@odoo.com>2017-03-28 11:01:36 +0200
committerAaron Bohy <aab@odoo.com>2017-04-11 19:44:38 +0200
commit07f5ac3dabd09dafca261ee596015a50c061a8f8 (patch)
treea50cee0938038a7a2c03e4662e285d60ef9653d0 /addons/web/static/src/js/fields
parent7f4e552e3fdea33179c41004ee2b35292534ad08 (diff)
[REF] web: use many2many tag widget in kanban
Some commits haven't been correctly forward-ported, like https://github.com/odoo/enterprise/commit/2a3494a005f38baf2fd3db2c23844129e969e464 or https://github.com/odoo/enterprise/commit/5664a19045abed0cf900ef255bd3c96e16e8886c There purpose is to use the many2many tag widget in the kanban renderer instead of custom manipulation. The tests have also been adapted to correspond to the new tags.
Diffstat (limited to 'addons/web/static/src/js/fields')
-rw-r--r--addons/web/static/src/js/fields/field_registry.js3
-rw-r--r--addons/web/static/src/js/fields/relational_fields.js17
2 files changed, 19 insertions, 1 deletions
diff --git a/addons/web/static/src/js/fields/field_registry.js b/addons/web/static/src/js/fields/field_registry.js
index 405af71438b..0130d20a211 100644
--- a/addons/web/static/src/js/fields/field_registry.js
+++ b/addons/web/static/src/js/fields/field_registry.js
@@ -58,8 +58,9 @@ registry
.add('kanban.many2one', relational_fields.KanbanFieldMany2One)
.add('many2many', relational_fields.FieldMany2Many)
.add('many2many_tags', relational_fields.FieldMany2ManyTags)
- .add('many2many_checkboxes', relational_fields.FieldMany2ManyCheckBoxes)
.add('form.many2many_tags', relational_fields.FormFieldMany2ManyTags)
+ .add('kanban.many2many_tags', relational_fields.KanbanFieldMany2ManyTags)
+ .add('many2many_checkboxes', relational_fields.FieldMany2ManyCheckBoxes)
.add('one2many', relational_fields.FieldOne2Many)
.add('statusbar', relational_fields.FieldStatus)
.add('one2many_list', relational_fields.FieldOne2Many);
diff --git a/addons/web/static/src/js/fields/relational_fields.js b/addons/web/static/src/js/fields/relational_fields.js
index bdd291c6fab..dbc18efd560 100644
--- a/addons/web/static/src/js/fields/relational_fields.js
+++ b/addons/web/static/src/js/fields/relational_fields.js
@@ -1122,6 +1122,22 @@ var FormFieldMany2ManyTags = FieldMany2ManyTags.extend({
},
});
+var KanbanFieldMany2ManyTags = FieldMany2Many.extend({
+ _render: function () {
+ var self = this;
+ this.$el.addClass('o_form_field_many2manytags o_kanban_tags');
+ _.each(this.value.data, function (m2m) {
+ // 10th color is invisible
+ if ('color' in m2m.data && m2m.data.color !== 10) {
+ $('<span>')
+ .addClass('o_tag o_tag_color_' + m2m.data.color)
+ .attr('title', _.str.escapeHTML(m2m.data.display_name))
+ .appendTo(self.$el);
+ }
+ });
+ },
+});
+
var FieldMany2ManyCheckBoxes = AbstractField.extend({
template: 'FieldMany2ManyCheckBoxes',
events: _.extend({}, AbstractField.prototype.events, {
@@ -1464,6 +1480,7 @@ return {
FieldMany2ManyCheckBoxes: FieldMany2ManyCheckBoxes,
FieldMany2ManyTags: FieldMany2ManyTags,
FormFieldMany2ManyTags: FormFieldMany2ManyTags,
+ KanbanFieldMany2ManyTags: KanbanFieldMany2ManyTags,
FieldRadio: FieldRadio,
FieldSelection: FieldSelection,