diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js
index 54c8535dc1d..11dffacd161 100644
--- a/addons/web/static/src/js/view_form.js
+++ b/addons/web/static/src/js/view_form.js
@@ -2420,28 +2420,27 @@ instance.web.form.Priority = instance.web.form.FieldChar.extend({
this._super(field_manager, node);
},
prepare_priority: function() {
- var data = [];
+ var self = this;
var selection = this.field.selection || [];
- _.map(selection, function(res) {
- value = {
- 'name': res[0],
- 'legend_name': res[1]
+ var init_value = selection && selection[0][0] || 0;
+ var data = _.map(selection.slice(1), function(element, index) {
+ var value = {
+ 'value': element[0],
+ 'name': element[1],
+ 'click_value': element[0],
}
- if (res[0] == '0') {
- value['legend']= '7';
- } else {
- value['legend']= '7';
+ if (index == 0 && self.get('value') == element[0]) {
+ value['click_value'] = init_value;
}
- data.push(value)
+ return value;
});
return data;
},
render_value: function() {
var self = this;
- var data = {'widget': self }
- self.record_id = self.view.datarecord.id;
- data['legends'] = self.prepare_priority();
- this.$el.html(QWeb.render("Priority", data));
+ this.record_id = self.view.datarecord.id;
+ this.priorities = self.prepare_priority();
+ this.$el.html(QWeb.render("Priority", {'widget': this}));
this.$el.find('.oe_legend').click(self.do_action.bind(self));
},
do_action: function(e) {
@@ -2449,14 +2448,7 @@ instance.web.form.Priority = instance.web.form.FieldChar.extend({
var li = $(e.target).closest( "li" );
if (li.length) {
var value = {};
- if (self.val == li.data('value') && self.check_star) {
- value[self.name] = String(li.data('value') - 1);
- self.check_star = false
- } else {
- value[self.name] = String(li.data('value'));
- self.check_star = true;
- }
- self.val = li.data('value')
+ value[self.name] = String(li.data('value'));
if (self.record_id) {
return self.view.dataset._model.call('write', [[self.record_id], value, self.view.dataset.get_context()]).done(self.reload_record.bind(self));
} else {
diff --git a/addons/web/static/src/xml/base.xml b/addons/web/static/src/xml/base.xml
index b91f7ea2c99..ff56f6fd34c 100644
--- a/addons/web/static/src/xml/base.xml
+++ b/addons/web/static/src/xml/base.xml
@@ -1034,7 +1034,6 @@
-
Toggle Dropdown
@@ -1045,7 +1044,6 @@
-
@@ -1055,15 +1053,12 @@
-
-
-
-
-
-
-
-
-
+
+ -
+
+ 7
+
+
diff --git a/addons/web_kanban/static/src/js/kanban.js b/addons/web_kanban/static/src/js/kanban.js
index 3c122318ebd..ffb4d5c3d78 100644
--- a/addons/web_kanban/static/src/js/kanban.js
+++ b/addons/web_kanban/static/src/js/kanban.js
@@ -1266,28 +1266,27 @@ instance.web_kanban.Priority = instance.web_kanban.AbstractField.extend({
this.parent = parent;
},
prepare_priority: function() {
- var data = [];
+ var self = this;
var selection = this.field.selection || [];
- _.map(selection, function(res) {
- value = {
- 'name': res[0],
- 'legend_name': res[1]
+ var init_value = selection && selection[0][0] || 0;
+ var data = _.map(selection.slice(1), function(element, index) {
+ var value = {
+ 'value': element[0],
+ 'name': element[1],
+ 'click_value': element[0],
}
- if (res[0] == '0') {
- value['legend'] = '7';
- } else {
- value['legend'] = '7';
+ if (index == 0 && self.get('value') == element[0]) {
+ value['click_value'] = init_value;
}
- data.push(value)
+ return value;
});
return data;
},
renderElement: function() {
var self = this;
- self.record_id = self.parent.id;
- var data = {'widget': self }
- data['legends'] = self.prepare_priority();
- this.$el = $(QWeb.render("Priority", data));
+ this.record_id = self.parent.id;
+ this.priorities = self.prepare_priority();
+ this.$el = $(QWeb.render("Priority", {'widget': this}));
this.$el.find('.oe_legend').click(self.do_action.bind(self));
},
do_action: function(e) {
@@ -1295,14 +1294,7 @@ instance.web_kanban.Priority = instance.web_kanban.AbstractField.extend({
var li = $(e.target).closest( "li" );
if (li.length) {
var value = {};
- if (self.parent.val == li.data('value') && self.parent.check_star) {
- value[self.name] = String(li.data('value') - 1);
- self.parent.check_star = false
- } else {
- value[self.name] = String(li.data('value'));
- self.parent.check_star = true;
- }
- self.parent.val = li.data('value')
+ value[self.name] = String(li.data('value'));
return self.parent.view.dataset._model.call('write', [[self.record_id], value, self.parent.view.dataset.get_context()]).done(self.reload_record.bind(self.parent));
}
},