[IMP] mark a bunch of dialog stuff as exportable (mostly buttons, but also dialog...
authorXavier Morel <xmo@openerp.com>
Thu, 15 Dec 2011 10:40:31 +0000 (11:40 +0100)
committerAntony Lesuisse <al@openerp.com>
Thu, 15 Dec 2011 10:40:31 +0000 (11:40 +0100)
bzr revid: xmo@openerp.com-20111215104031-zy56xwtb7cjwzcbj

addons/web/static/src/js/chrome.js
addons/web/static/src/js/data_export.js
addons/web/static/src/js/data_import.js
addons/web/static/src/js/view_editor.js
addons/web/static/src/js/view_form.js
addons/web/static/src/js/views.js
addons/web_dashboard/static/src/js/dashboard.js
addons/web_diagram/static/src/js/diagram.js
addons/web_process/static/src/js/process.js

index 0d0454c..22b8ff8 100644 (file)
@@ -2,7 +2,8 @@
  * OpenERP Web chrome
  *---------------------------------------------------------*/
 openerp.web.chrome = function(openerp) {
-var QWeb = openerp.web.qweb;
+var QWeb = openerp.web.qweb,
+    _t = openerp.web._t;
 
 openerp.web.Notification =  openerp.web.Widget.extend(/** @lends openerp.web.Notification# */{
     template: 'Notification',
@@ -157,11 +158,9 @@ openerp.web.CrashManager = openerp.web.CallbackEnabled.extend({
     on_managed_error: function(error) {
         $('<div>' + QWeb.render('DialogWarning', {error: error}) + '</div>').dialog({
             title: "OpenERP " + _.str.capitalize(error.type),
-            buttons: {
-                Ok: function() {
-                    $(this).dialog("close");
-                }
-            }
+            buttons: [
+                {text: _t("Ok"), click: function() { $(this).dialog("close"); }}
+            ]
         });
     },
     on_traceback: function(error) {
@@ -172,11 +171,9 @@ openerp.web.CrashManager = openerp.web.CallbackEnabled.extend({
             height: '90%',
             min_width: '800px',
             min_height: '600px',
-            buttons: {
-                Ok: function() {
-                    $(this).dialog("close");
-                }
-            }
+            buttons: [
+                {text: _t("Ok"), click: function() { $(this).dialog("close"); }}
+            ]
         }).start();
         dialog.$element.html(QWeb.render('DialogTraceback', {error: error}));
     }
@@ -368,11 +365,9 @@ openerp.web.Database = openerp.web.Widget.extend(/** @lends openerp.web.Database
         return $('<div>').dialog({
             modal: true,
             title: error.title,
-            buttons: {
-                Ok: function() {
-                    $(this).dialog("close");
-                }
-            }
+            buttons: [
+                {text: _t("Ok"), click: function() { $(this).dialog("close"); }}
+            ]
         }).html(error.error);
     },
     do_create: function() {
@@ -680,7 +675,7 @@ openerp.web.Header =  openerp.web.Widget.extend(/** @lends openerp.web.Header# *
         self.rpc("/web/webclient/version_info", {}).then(function(res) {
             var $help = $(QWeb.render("About-Page", {version_info: res}));
             $help.dialog({autoOpen: true,
-                modal: true, width: 960, title: "About"});
+                modal: true, width: 960, title: _t("About")});
         });
     },
     shortcut_load :function(){
@@ -760,25 +755,22 @@ openerp.web.Header =  openerp.web.Widget.extend(/** @lends openerp.web.Header# *
         });
         this.dialog = new openerp.web.Dialog(this,{
             modal: true,
-            title: 'Preferences',
+            title: _t("Preferences"),
             width: 600,
             height: 500,
-            buttons: {
-                "Change password": function(){
-                    self.change_password();
-            },
-                Cancel: function(){
-                     $(this).dialog('destroy');
-            },
-                Save: function(){
-                    var inner_viewmanager = action_manager.inner_viewmanager;
-                    inner_viewmanager.views[inner_viewmanager.active_view].controller.do_save()
-                    .then(function() {
-                        self.dialog.stop();
-                        window.location.reload();
-                    });
+            buttons: [
+                {text: _t("Change password"), click: function(){ self.change_password(); }},
+                {text: _t("Cancel"), click: function(){ $(this).dialog('destroy'); }},
+                {text: _t("Save"), click: function(){
+                        var inner_viewmanager = action_manager.inner_viewmanager;
+                        inner_viewmanager.views[inner_viewmanager.active_view].controller.do_save()
+                        .then(function() {
+                            self.dialog.stop();
+                            window.location.reload();
+                        });
+                    }
                 }
-            }
+            ]
         });
        this.dialog.start().open();
        action_manager.appendTo(this.dialog);
@@ -789,7 +781,7 @@ openerp.web.Header =  openerp.web.Widget.extend(/** @lends openerp.web.Header# *
         var self = this;
         this.dialog = new openerp.web.Dialog(this,{
             modal : true,
-            title : 'Change Password',
+            title: _t("Change Password"),
             width : 'auto',
             height : 'auto'
         });
@@ -814,11 +806,9 @@ openerp.web.Header =  openerp.web.Widget.extend(/** @lends openerp.web.Header# *
         return $('<div>').dialog({
             modal: true,
             title: error.title,
-            buttons: {
-                Ok: function() {
-                    $(this).dialog("close");
-                }
-            }
+            buttons: [
+                {text: _("Ok"), click: function() { $(this).dialog("close"); }}
+            ]
         }).html(error.error);
     },
     on_logout: function() {
index ea14260..8a2d2c8 100644 (file)
@@ -1,8 +1,9 @@
 openerp.web.data_export = function(openerp) {
-var QWeb = openerp.web.qweb;
+var QWeb = openerp.web.qweb,
+      _t = openerp.web._t;
 openerp.web.DataExport = openerp.web.Dialog.extend({
     template: 'ExportTreeView',
-    dialog_title: 'Export Data',
+    dialog_title: {toString: function () { return _t("Export Data"); }},
     init: function(parent, dataset) {
         this._super(parent);
         this.records = {};
@@ -18,14 +19,10 @@ openerp.web.DataExport = openerp.web.Dialog.extend({
             width: '55%',
             height: 'auto',
             position: 'top',
-            buttons : {
-                "Close" : function() {
-                    self.close();
-                  },
-                "Export To File" : function() {
-                    self.on_click_export_data();
-                  }
-               },
+            buttons : [
+                {text: _t("Close"), click: function() { self.close(); }},
+                {text: _t("Export To File"), click: function() { self.on_click_export_data(); }}
+            ],
             close: function(event, ui){ self.close();}
         });
         self.$element.removeClass('ui-dialog-content ui-widget-content');
index cd699c0..7f4af7b 100644 (file)
@@ -31,7 +31,7 @@ function jsonp(form, attributes, callback) {
 
 openerp.web.DataImport = openerp.web.Dialog.extend({
     template: 'ImportDataView',
-    dialog_title: "Import Data",
+    dialog_title: {toString: function () { return _t("Import Data"); }},
     init: function(parent, dataset){
         var self = this;
         this._super(parent, {});
index 352856c..f925a64 100644 (file)
@@ -35,28 +35,19 @@ openerp.web.ViewEditor =   openerp.web.Widget.extend({
                 pager: false,
                 radio: true,
                 select_view_id: self.parent.fields_view.view_id
-            },
+            }
         };
         this.view_edit_dialog = new openerp.web.Dialog(this, {
             modal: true,
-            title: 'ViewEditor',
+            title: _t("ViewEditor"),
             width: 750,
             height: 500,
-            buttons: {
-                "Create": function(){
-                    self.on_create_view();
-                },
-                "Edit": function(){
-                    self.xml_element_id = 0;
-                    self.get_arch();
-                },
-                "Remove": function(){
-                    self.do_delete_view();
-                },
-                "Close": function(){
-                    self.view_edit_dialog.close();
-                }
-            },
+            buttons: [
+                {text: _t("Create"), click: function() { self.on_create_view(); }},
+                {text: _t("Edit"), click: function() { self.xml_element_id = 0; self.get_arch(); }},
+                {text: _t("Remove"), click: function() { self.do_delete_view(); }},
+                {text: _t("Close"), click: function() { self.view_edit_dialog.close(); }}
+            ]
         }).start().open();
         this.main_view_id = this.parent.fields_view.view_id;
         this.action_manager = new openerp.web.ActionManager(this);
@@ -77,36 +68,34 @@ openerp.web.ViewEditor =   openerp.web.Widget.extend({
         var self = this;
         this.create_view_dialog = new openerp.web.Dialog(this, {
             modal: true,
-            title: _.str.sprintf("Create a view (%s)", self.model),
+            title: _.str.sprintf(_t("Create a view (%s)"), self.model),
             width: 500,
             height: 400,
-            buttons: {
-                    "Save": function(){
-                        var view_values = {};
-                        var warn = false;
-                        _.each(self.create_view_widget, function(widget) {
-                            if (widget.is_invalid) {
-                                warn = true;
-                                return false;
-                            };
-                            if (widget.dirty && !widget.is_invalid) {
-                                view_values[widget.name] = widget.get_value();
-                            }
-                        });
-                        if (warn) {
-                            self.on_valid_create_view(self.create_view_widget);
-                        } 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();
-                            });
+            buttons: [
+                {text: _t("Save"), click: function () {
+                    var view_values = {};
+                    var warn = false;
+                    _.each(self.create_view_widget, function(widget) {
+                        if (widget.is_invalid) {
+                            warn = true;
+                            return false;
                         }
-                    },
-                    "Cancel": function(){
-                        self.create_view_dialog.close();
+                        if (widget.dirty && !widget.is_invalid) {
+                            view_values[widget.name] = widget.get_value();
+                        }
+                    });
+                    if (warn) {
+                        self.on_valid_create_view(self.create_view_widget);
+                    } 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();
+                        });
                     }
-                }
+                }},
+                {text: _t("Cancel"), click: function () { self.create_view_dialog.close(); }}
+            ]
         });
         this.create_view_dialog.start().open();
         var view_widget = [{'name': 'view_name', 'string':'View Name', 'type': 'char', 'required': true, 'value' : this.model + '.custom_' + Math.round(Math.random() * 1000)},
@@ -375,11 +364,11 @@ openerp.web.ViewEditor =   openerp.web.Widget.extend({
         this.one_object = one_object;
         this.edit_xml_dialog = new openerp.web.Dialog(this, {
             modal: true,
-            title: _.str.sprintf("View Editor %d - %s", self.main_view_id, self.model),
+            title: _.str.sprintf(_t("View Editor %d - %s"), self.main_view_id, self.model),
             width: 750,
             height: 500,
-            buttons: {
-                "Preview": function() {
+            buttons: [
+                {text: _t("Preview"), click: function() {
                     var action = {
                         context: self.session.user_context,
                         res_model: self.model,
@@ -389,16 +378,16 @@ openerp.web.ViewEditor =   openerp.web.Widget.extend({
                         flags: {
                             sidebar: false,
                             views_switcher: false,
-                            action_buttons: false,
-                        },
+                            action_buttons: false
+                        }
                     };
                     var action_manager = new openerp.web.ActionManager(self);
                     action_manager.do_action(action);
-                },
-                "Close": function(){
+                }},
+                {text: _t("Close"), click: function(){
                     self.edit_xml_dialog.close();
-                }
-            }
+                }}
+            ]
         }).start().open();
         var no_property_att = [];
         _.each(_PROPERTIES, function(val, key) {
@@ -764,17 +753,17 @@ openerp.web.ViewEditor =   openerp.web.Widget.extend({
         var self = this;
         this.edit_node_dialog = new openerp.web.Dialog(this,{
             modal: true,
-            title: 'Properties',
+            title: _t("Properties"),
             width: 500,
             height: 400,
-            buttons: {
-                "Update": function(){
+            buttons: [
+                {text: _t("Update"), click: function () {
                     var warn = false, update_values = [];
                     _.each(self.edit_widget, function(widget) {
                         if (widget.is_invalid) {
                             warn = true;
                             return false;
-                        };
+                        }
                         if (widget.dirty && !widget.is_invalid) {
                             update_values.push([widget.name, widget.get_value()]);
                         }
@@ -785,11 +774,9 @@ openerp.web.ViewEditor =   openerp.web.Widget.extend({
                         self.do_save_update_arch("update_node", update_values);
                         self.edit_node_dialog.close();
                     }
-                },
-                "Cancel": function(){
-                    self.edit_node_dialog.close();
-                }
-            }
+                }},
+                {text: _t("Cancel"), click: function () { self.edit_node_dialog.close(); }}
+            ]
         });
         this.edit_node_dialog.start().open();
         var _PROPERTIES_ATTRIBUTES = {
@@ -893,32 +880,32 @@ openerp.web.ViewEditor =   openerp.web.Widget.extend({
         this.add_widget = [];
         this.add_node_dialog = new openerp.web.Dialog(this,{
             modal: true,
-            title: 'Properties',
+            title: _t("Properties"),
             width: 450,
             height: 190,
-            buttons: {
-                    "Update": function(){
-                        var check_add_node = true, values = {};
-                        _.each(self.add_widget, function(widget) {
-                            values[widget.name] = widget.get_value() || false;
-                        });
-                       (values.position == "Inside")?
-                        check_add_node =(_.include(_CHILDREN[properties[0]],values.node_type))?true:false:
-                        check_add_node =(_.include(_CHILDREN[properties[1]],values.node_type))?true:false;
-                        if(values.node_type == "field" &&  check_add_node )
-                            {check_add_node = (values.field_value != " ")?true:false;
-                        }
-                        if(check_add_node){
-                            var tag = (values.node_type == "field")?
-                            _.str.sprintf("<%s name='%s'> </%s>",values.node_type,values.field_value,values.node_type):
-                            _.str.sprintf("<%s> </%s>",values.node_type,values.node_type);
-                            self.do_save_update_arch("add_node", [tag, values.position]);
-                        }else{alert("Can't Update View");}
-                    },
-                    "Cancel": function(){
-                        self.add_node_dialog.close();
+            buttons: [
+                {text: _t("Update"), click: function() {
+                    var check_add_node = true, values = {};
+                    _.each(self.add_widget, function(widget) {
+                        values[widget.name] = widget.get_value() || false;
+                    });
+                   (values.position == "Inside")?
+                    check_add_node =(_.include(_CHILDREN[properties[0]],values.node_type))?true:false:
+                    check_add_node =(_.include(_CHILDREN[properties[1]],values.node_type))?true:false;
+                    if(values.node_type == "field" &&  check_add_node )
+                        {check_add_node = (values.field_value != " ")?true:false;
                     }
-           }
+                    if(check_add_node){
+                        var tag = (values.node_type == "field")?
+                        _.str.sprintf("<%s name='%s'> </%s>",values.node_type,values.field_value,values.node_type):
+                        _.str.sprintf("<%s> </%s>",values.node_type,values.node_type);
+                        self.do_save_update_arch("add_node", [tag, values.position]);
+                    } else {
+                        alert("Can't Update View");
+                    }
+                }},
+                {text: _t("Cancel"), click: function() { self.add_node_dialog.close(); }}
+            ]
         }).start().open();
         this.add_node_dialog.$element.append('<table id="rec_table"  style="width:420px" class="oe_forms"><tbody><tr></tbody></table>');
         var table_selector = self.add_node_dialog.$element.find('table[id=rec_table] tbody');
index 83f6768..7be1cfe 100644 (file)
@@ -337,11 +337,9 @@ openerp.web.FormView = openerp.web.View.extend( /** @lends openerp.web.FormView#
         if (!_.isEmpty(result.warning)) {
             $(QWeb.render("DialogWarning", result.warning)).dialog({
                 modal: true,
-                buttons: {
-                    Ok: function() {
-                        $(this).dialog("close");
-                    }
-                }
+                buttons: [
+                    {text: _t("Ok"), click: function() { $(this).dialog("close"); }}
+                ]
             });
         }
         if (result.domain) {
@@ -1053,18 +1051,20 @@ openerp.web.form.WidgetButton = openerp.web.form.Widget.extend({
                 var dialog = $('<div>' + self.node.attrs.confirm + '</div>').dialog({
                     title: _t('Confirm'),
                     modal: true,
-                    buttons: {
-                        Ok: function() {
-                            self.on_confirmed().then(function() {
-                                def.resolve();
-                            });
-                            $(this).dialog("close");
+                    buttons: [
+                        {text: _t("Ok"), click: function() {
+                                self.on_confirmed().then(function() {
+                                    def.resolve();
+                                });
+                                $(this).dialog("close");
+                            }
                         },
-                        Cancel: function() {
-                            def.resolve();
-                            $(this).dialog("close");
+                        {text: _t("Cancel"), click: function() {
+                                def.resolve();
+                                $(this).dialog("close");
+                            }
                         }
-                    }
+                    ]
                 });
                 return def.promise();
             } else {
index ba5ef27..94972fc 100644 (file)
@@ -840,7 +840,7 @@ session.web.Sidebar = session.web.Widget.extend({
 });
 
 session.web.TranslateDialog = session.web.Dialog.extend({
-    dialog_title: _t("Translations"),
+    dialog_title: {toString: function () { return _t("Translations"); }},
     init: function(view) {
         // TODO fme: should add the language to fields_view_get because between the fields view get
         // and the moment the user opens the translation dialog, the user language could have been changed
index ce7e877..28ea127 100644 (file)
@@ -1,5 +1,6 @@
 openerp.web_dashboard = function(openerp) {
-var QWeb = openerp.web.qweb;
+var QWeb = openerp.web.qweb,
+    _t = openerp.web._t;
 
 if (!openerp.web_dashboard) {
     /** @namespace */
@@ -59,7 +60,7 @@ openerp.web.form.DashBoard = openerp.web.form.Widget.extend({
         };
         var $dialog = $('<div>').dialog({
                             modal: true,
-                            title: 'Edit Layout',
+                            title: _t("Edit Layout"),
                             width: 'auto',
                             height: 'auto'
                         }).html(QWeb.render('DashBoard.layouts', qdict));
index 7c2619c..0572b7f 100644 (file)
@@ -3,7 +3,8 @@
  *---------------------------------------------------------*/
 
 openerp.web_diagram = function (openerp) {
-var QWeb = openerp.web.qweb;
+var QWeb = openerp.web.qweb,
+      _t = openerp.web._t;
 openerp.web.views.add('diagram', 'openerp.web.DiagramView');
 openerp.web.DiagramView = openerp.web.View.extend({
     searchable: false,
@@ -203,19 +204,18 @@ openerp.web.DiagramView = openerp.web.View.extend({
         var dialog = new openerp.web.Dialog(this, {
             width: 800,
             height: 600,
-            buttons : {
-                Cancel : function() {
-                    $(this).dialog('destroy');
-                },
-                Save : function() {
-                    var form_view = action_manager.inner_viewmanager.views.form.controller;
-
-                    form_view.do_save(function() {
-                        self.dataset.read_index(_.keys(self.fields_view.fields), self.on_diagram_loaded);
-                    });
-                    $(this).dialog('destroy');
+            buttons : [
+                {text: _t("Cancel"), click: function() { $(this).dialog('destroy'); }},
+                {text: _t("Save"), click: function() {
+                        var form_view = action_manager.inner_viewmanager.views.form.controller;
+
+                        form_view.do_save(function() {
+                            self.dataset.read_index(_.keys(self.fields_view.fields), self.on_diagram_loaded);
+                        });
+                        $(this).dialog('destroy');
+                    }
                 }
-            }
+            ]
         }).start().open();
         action_manager.appendTo(dialog.$element);
         action_manager.do_action({
index 9bf814a..e650530 100644 (file)
@@ -1,5 +1,6 @@
 openerp.web_process = function (openerp) {
-    var QWeb = openerp.web.qweb;
+    var QWeb = openerp.web.qweb,
+          _t = openerp.web._t;
     openerp.web.ViewManager.include({
         start: function() {
             this._super();
@@ -275,19 +276,17 @@ openerp.web_process = function (openerp) {
             var dialog = new openerp.web.Dialog(this, {
                 width: 800,
                 height: 600,
-                buttons : {
-                    Cancel : function() {
-                        $(this).dialog('destroy');
-                    },
-                    Save : function() {
+                buttons : [
+                    {text: _t("Cancel"), click: function() { $(this).dialog('destroy'); }},
+                    {text: _t("Save"), click: function() {
                         var form_view = action_manager.inner_viewmanager.views.form.controller;
 
                         form_view.do_save(function() {
                             self.initialize_process_view();
                         });
                         $(this).dialog('destroy');
-                    }
-                }
+                    }}
+                ]
             }).start().open();
 
             action_manager.appendTo(dialog.$element);