From d95e3835e2662f29247a42ef6aa962764b8ca597 Mon Sep 17 00:00:00 2001 From: "Mahendra Barad (OpenERP)" Date: Fri, 14 Feb 2014 17:19:04 +0530 Subject: [PATCH] [IMP]priority widget and dropdown_select widget for direct write instead call method bzr revid: mba@tinyerp.com-20140214114904-x2fg98k7xo8lxe4w --- addons/web/static/src/js/view_form.js | 17 +++++++++-------- addons/web_kanban/static/src/js/kanban.js | 5 +++-- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js index 77f6f2809a2..3ef2aea706b 100644 --- a/addons/web/static/src/js/view_form.js +++ b/addons/web/static/src/js/view_form.js @@ -2332,14 +2332,13 @@ instance.web.form.FieldChar = instance.web.form.AbstractField.extend(instance.we }); instance.web.Legend = instance.web.Widget.extend({ - init: function (parent, dataset, options) { + init: function (parent, dataset) { this._super(parent); this.parent = parent; this.dataset = dataset; - this.options = options; }, prepare_kanban_state_legend: function(){ - return [{ 'name': 'normal', 'legend_name': ' Normal', 'legend_class': 'btn-default' }, + return [{ 'name': 'normal', 'legend_name': ' Normal', 'legend_class': 'btn-default' }, { 'name': 'blocked', 'legend_name': ' Blocked', 'legend_class': 'btn-danger' }, { 'name': 'done', 'legend_name': ' Done', 'legend_class': 'btn-success' }] }, @@ -2362,7 +2361,7 @@ instance.web.Legend = instance.web.Widget.extend({ return data; }, prepare_data: function() { - var self =this; + var self =this; if (this.parent.name == 'kanban_state'){ return self.prepare_kanban_state_legend(); } @@ -2388,8 +2387,9 @@ instance.web.Legend = instance.web.Widget.extend({ var self = this; var li = $(e.target).closest( "li" ); if (li.length){ - var value = li.data('value'); - return self.dataset.call_button(self.options.action, [self.record_id, value, self.dataset.get_context()]).done(self.parent.reload_record.bind(self.parent)); + var value = {}; + value[self.parent.name] = String(li.data('value')); + return self.dataset._model.call('write', [[self.record_id], value, self.dataset.get_context()]).done(self.parent.reload_record.bind(self.parent)); } } }); @@ -2397,7 +2397,7 @@ instance.web.Legend = instance.web.Widget.extend({ instance.web.form.Legend = instance.web.form.FieldChar.extend({ init: function (field_manager, node) { this._super(field_manager, node); - this.legend = new instance.web.Legend(this, this.view.dataset, py.eval(node.attrs.options)); + this.legend = new instance.web.Legend(this, this.view.dataset); }, reload_record: function(){ this.view.reload(); @@ -5965,7 +5965,8 @@ instance.web.form.widgets = new instance.web.Registry({ 'monetary': 'instance.web.form.FieldMonetary', 'many2many_checkboxes': 'instance.web.form.FieldMany2ManyCheckBoxes', 'x2many_counter': 'instance.web.form.X2ManyCounter', - 'legend':'instance.web.form.Legend' + 'priority':'instance.web.form.Legend', + 'dropdown_selection':'instance.web.form.Legend' }); /** diff --git a/addons/web_kanban/static/src/js/kanban.js b/addons/web_kanban/static/src/js/kanban.js index 82c434842af..47a21de7eac 100644 --- a/addons/web_kanban/static/src/js/kanban.js +++ b/addons/web_kanban/static/src/js/kanban.js @@ -1265,7 +1265,7 @@ instance.web_kanban.Legend = instance.web_kanban.AbstractField.extend({ this._super.apply(this, arguments); this.name = $node.attr('name') this.parent = parent; - this.legend = new instance.web.Legend(this, parent.view.dataset, this.options); + this.legend = new instance.web.Legend(this, parent.view.dataset); }, reload_record: function(){ this.parent.do_reload(); @@ -1280,7 +1280,8 @@ instance.web_kanban.Legend = instance.web_kanban.AbstractField.extend({ instance.web_kanban.fields_registry = new instance.web.Registry({}); -instance.web_kanban.fields_registry.add('legend','instance.web_kanban.Legend'); +instance.web_kanban.fields_registry.add('priority','instance.web_kanban.Legend'); +instance.web_kanban.fields_registry.add('dropdown_selection','instance.web_kanban.Legend'); }; // vim:et fdc=0 fdl=0 foldnestmax=3 fdm=syntax: