diff options
| author | Kunal Chavda (OpenERP) <kch@tinyerp.com> | 2011-11-04 15:22:06 +0530 |
|---|---|---|
| committer | Kunal Chavda (OpenERP) <kch@tinyerp.com> | 2011-11-04 15:22:06 +0530 |
| commit | 0955cc4eeafcf34a8964d31600f7b207c0d8b127 (patch) | |
| tree | 6a9b7f6ba55a0f8ca14913e4c1e08eefd3963ffa /addons/web/static/src | |
| parent | dd5270a00db6991c50991ef58b55daf8fb987d8d (diff) | |
[FIX]Fixed code for getting updated value in boolean field.
bzr revid: kch@tinyerp.com-20111104095206-yy9yv1kmeupgg76d
Diffstat (limited to 'addons/web/static/src')
| -rw-r--r-- | addons/web/static/src/js/view_editor.js | 30 |
1 files changed, 15 insertions, 15 deletions
diff --git a/addons/web/static/src/js/view_editor.js b/addons/web/static/src/js/view_editor.js index 7221a895d17..6f31aa75031 100644 --- a/addons/web/static/src/js/view_editor.js +++ b/addons/web/static/src/js/view_editor.js @@ -9,7 +9,7 @@ var _PROPERTIES = { 'image' : ['filename', 'width', 'height', 'groups'], 'separator' : ['string', 'colspan', 'groups'], 'label': ['string', 'align', 'colspan', 'groups'], - 'button': ['name', 'string', 'icon', 'type', 'states', 'readonly', 'special', 'target', 'confirm', 'context', 'attrs', 'groups'], + 'button': ['name', 'string', 'icon', 'type', 'states', 'readonly', 'special', 'target', 'confirm', 'context', 'attrs', 'groups','colspan'], 'newline' : [], 'hpaned': ['position', 'groups'], 'vpaned': ['position', 'groups'], @@ -587,12 +587,10 @@ openerp.web.ViewEditor = openerp.web.Widget.extend({ height: 200, buttons: { "Update": function(){ - //self.on_update_node(); var update_values = []; _.each(self.edit_widget,function(widget){ update_values.push(widget.get_value()); }); - update_values = _.without(update_values,undefined); self.save_move_arch(obj, view_id, view_xml_id, id_tr, level, "update_node", update_values); }, "Cancel": function(){ @@ -654,15 +652,7 @@ openerp.web.ViewEditor = openerp.web.Widget.extend({ }); }) return def.promise(); - }, - /*on_update_node: function(){ - var self = this; - var values = []; - _.each(self.edit_widget,function(widget){ - values.push(widget.get_value()); - }); - values = _.without(values,undefined); - }*/ + } }); openerp.web.ViewEditor.Field = openerp.web.Class.extend({ init: function(view, node, id) { @@ -686,12 +676,16 @@ openerp.web.ViewEditor.FieldBoolean = openerp.web.ViewEditor.Field.extend({ var view_val = _.detect(this.node[0]['att_list'],function(res) { return _.include(res,self.name); }); - view_val ? this.$element.find("tr[id="+ self.name+"] input").attr('checked', view_val[1]): this.$element.find("tr[id="+self.name+"] input").attr('checked', false); + if(view_val){ + this.$element.find("tr[id="+ self.name+"] input").attr('checked', view_val[1]); + } }, get_value: function(){ - var val = this.$element.find("tr[id="+this.name+"] input").attr('checked'); + var val = this.$element.find("tr[id="+this.name+"] input").is(':checked'); if (val){ return [this.name,val]; + }else{ + return [this.name,null]; } } }); @@ -708,9 +702,12 @@ openerp.web.ViewEditor.FieldChar = openerp.web.ViewEditor.Field.extend({ view_val ? this.$element.find("tr[id="+self.name +"] input").val(view_val[1]): this.$element.find("tr[id="+self.name+"] input").val(); }, get_value: function(){ + var self = this; var val= this.$element.find("tr[id="+this.name+"] input").val(); if (val){ return [this.name,val]; + }else{ + return [this.name,""]; } } }); @@ -725,7 +722,7 @@ openerp.web.ViewEditor.FieldSelect = openerp.web.ViewEditor.Field.extend({ return _.include(res,self.name); }); _.each(value, function(item) { - var select_val = view_val?(view_val[1]==item[0]?true:false):false; + var select_val = view_val?(view_val[1]==((typeof(item)=='string')?item:item[0])?true:false):false; self.$element.find("tr[id="+self.name+"] select").append($("<option/>", { value:(typeof(item)=='string')?item:item[0], text:(typeof(item)=='string')?item:item[1], @@ -734,9 +731,12 @@ openerp.web.ViewEditor.FieldSelect = openerp.web.ViewEditor.Field.extend({ }); }, get_value: function(){ + var self = this; var val = this.$element.find("tr[id="+this.name+"] select").find("option:selected").val(); if (val){ return [this.name,val]; + }else{ + return [this.name,""]; } } }); |
