diff options
| author | Yogesh (OpenERP) <ysa@tinyerp.com> | 2011-11-14 15:36:14 +0530 |
|---|---|---|
| committer | Yogesh (OpenERP) <ysa@tinyerp.com> | 2011-11-14 15:36:14 +0530 |
| commit | 5d9f64d56db4f2b976f56034e6cd047465bdabc9 (patch) | |
| tree | ad04f5582833f54ad5365b02901d8a833acd328b /addons/web/static/src/js/view_editor.js | |
| parent | 712b3c83f4e49095c46c8a11edaef2b9d2b5d1a3 (diff) | |
[IMP] vieweditor :- add warning message for invalid field name in create view.
bzr revid: ysa@tinyerp.com-20111114100614-0fmzahtjx7uh9p2g
Diffstat (limited to 'addons/web/static/src/js/view_editor.js')
| -rw-r--r-- | addons/web/static/src/js/view_editor.js | 34 |
1 files changed, 25 insertions, 9 deletions
diff --git a/addons/web/static/src/js/view_editor.js b/addons/web/static/src/js/view_editor.js index 841ca4ba81c..f4d322542c8 100644 --- a/addons/web/static/src/js/view_editor.js +++ b/addons/web/static/src/js/view_editor.js @@ -83,16 +83,32 @@ openerp.web.ViewEditor = openerp.web.Widget.extend({ buttons: { "Save": function(){ var view_values = {}; + var warn = false; _.each(self.create_view_widget, function(widget) { + if (widget.invalid) { + warn = true + return false; + }; if (widget.dirty && !widget.invalid) { view_values[widget.name] = widget.get_value(); } }); - $.when(self.do_save_view(view_values)).then(function() { - self.create_view_dialog.close(); - var controller = self.action_manager.inner_viewmanager.views[self.action_manager.inner_viewmanager.active_view].controller; - controller.reload_content(); - }); + if (warn) { + var msg = "<ul>"; + _.each(self.create_view_widget, function(widget) { + if (widget.invalid) { + msg += "<li>" + widget.name + "</li>"; + } + }); + msg += "</ul>"; + self.do_warn("The following fields are invalid :", msg); + } else { + $.when(self.do_save_view(view_values)).then(function() { + self.create_view_dialog.close(); + var controller = self.action_manager.inner_viewmanager.views[self.action_manager.inner_viewmanager.active_view].controller; + controller.reload_content(); + }); + } }, "Cancel": function(){ self.create_view_dialog.close(); @@ -100,9 +116,9 @@ openerp.web.ViewEditor = openerp.web.Widget.extend({ } }); this.create_view_dialog.start().open(); - var view_widget = [{'name': 'view_name', 'type': 'char', 'required': true, 'value' : this.model + '.custom_' + Math.round(Math.random() * 1000)}, - {'name': 'view_type', 'type': 'selection', 'required': true, 'value': 'Form', 'selection': [['',''],['tree', 'Tree'],['form', 'Form'],['graph', 'Graph'],['calendar', 'Calender']]}, - {'name': 'pririty', 'type': 'char', 'required': true, 'value':'16'}]; + var view_widget = [{'name': 'view_name', 'string':'View Name', 'type': 'char', 'required': true, 'value' : this.model + '.custom_' + Math.round(Math.random() * 1000)}, + {'name': 'view_type', 'string': 'View Type', 'type': 'selection', 'required': true, 'value': 'Form', 'selection': [['',''],['tree', 'Tree'],['form', 'Form'],['graph', 'Graph'],['calendar', 'Calender']]}, + {'name': 'proirity', 'string': 'Priority', 'type': 'char', 'required': true, 'value':'16'}]; this.create_view_dialog.$element.append('<table id="create_view" style="width:400px" class="oe_forms"></table>'); this.create_view_widget = []; _.each(view_widget, function(widget) { @@ -111,7 +127,7 @@ openerp.web.ViewEditor = openerp.web.Widget.extend({ type_widget.selection = widget.selection; } type_widget.required = widget.required; - self.create_view_dialog.$element.find('table[id=create_view]').append('<tr><td align="right">' + widget.name + ':</td><td id="' +widget.name+ '">' + type_widget.render()+'</td></tr>'); + self.create_view_dialog.$element.find('table[id=create_view]').append('<tr><td align="right">' + widget.string + ':</td><td id="' +widget.name+ '">' + type_widget.render()+'</td></tr>'); var value = null; if (widget.value) { value = [widget.name, widget.value]; |
