[IMP]priority widget and dropdown_select widget for direct write instead call method

bzr revid: mba@tinyerp.com-20140214114904-x2fg98k7xo8lxe4w
This commit is contained in:
Mahendra Barad (OpenERP) 2014-02-14 17:19:04 +05:30
parent 8ba46238ae
commit d95e3835e2
2 changed files with 12 additions and 10 deletions

View File

@ -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'
});
/**

View File

@ -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: