diff --git a/addons/web/static/src/css/base.css b/addons/web/static/src/css/base.css index f2c359333eb..6322cf75921 100644 --- a/addons/web/static/src/css/base.css +++ b/addons/web/static/src/css/base.css @@ -340,7 +340,10 @@ table.db_option_table input.required { background-color: #D2D2FF !important; } -.db_option_table input[type="text"], .db_option_table input[type="password"], .db_option_table select { +.db_option_table input[type="text"], +.db_option_table input[type="password"], +.db_option_table input[type="file"], +.db_option_table select { width: 300px; } @@ -1226,7 +1229,13 @@ label.error { } -.openerp label.oe_label_help, .openerp label.oe_label, .openerp .oe_forms input[type="text"], .openerp .oe_forms input[type="password"], .openerp .oe_forms select, .openerp .oe_forms .oe_button, .openerp .oe_forms textarea { +.openerp label.oe_label_help, .openerp label.oe_label, +.openerp .oe_forms input[type="text"], +.openerp .oe_forms input[type="password"], +.openerp .oe_forms input[type="file"], +.openerp .oe_forms select, +.openerp .oe_forms .oe_button, +.openerp .oe_forms textarea { font-size: 85%; } @@ -1342,7 +1351,11 @@ label.error { min-height:100px; } /* Inputs */ -.openerp .oe_forms input[type="text"], .openerp .oe_forms input[type="password"], .openerp .oe_forms select, .openerp .oe_forms textarea { +.openerp .oe_forms input[type="text"], +.openerp .oe_forms input[type="password"], +.openerp .oe_forms input[type="file"], +.openerp .oe_forms select, +.openerp .oe_forms textarea { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; -ms-box-sizing: border-box; @@ -1402,7 +1415,11 @@ label.error { .openerp .oe_forms textarea { resize:vertical; } -.openerp .oe_forms input[type="text"], .openerp .oe_forms input[type="password"], .openerp .oe_forms select, .openerp .oe_forms .oe_button { +.openerp .oe_forms input[type="text"], +.openerp .oe_forms input[type="password"], +.openerp .oe_forms input[type="file"], +.openerp .oe_forms select, +.openerp .oe_forms .oe_button { height: 22px; } diff --git a/addons/web/static/src/js/chrome.js b/addons/web/static/src/js/chrome.js index 2a470098c39..a28cd6f9a7b 100644 --- a/addons/web/static/src/js/chrome.js +++ b/addons/web/static/src/js/chrome.js @@ -286,9 +286,9 @@ openerp.web.Database = openerp.web.OldWidget.extend(/** @lends openerp.web.Datab this.$option_id = $("#oe_db_options"); var self = this; - var fetch_db = this.rpc("/web/database/get_list", {}, function(result) { - self.db_list = result.db_list; - }); + var fetch_db = this.rpc("/web/database/get_list", {}).pipe( + function(result) { self.db_list = result.db_list; }, + function (_, ev) { ev.preventDefault(); self.db_list = null; }); var fetch_langs = this.rpc("/web/session/get_lang_list", {}, function(result) { if (result.error) { self.display_error(result); @@ -423,9 +423,11 @@ openerp.web.Database = openerp.web.OldWidget.extend(/** @lends openerp.web.Datab self.display_error(result); return; } - self.db_list.push(self.to_object(fields)['db_name']); - self.db_list.sort(); - self.widget_parent.set_db_list(self.db_list); + if (self.db_list) { + self.db_list.push(self.to_object(fields)['db_name']); + self.db_list.sort(); + self.widget_parent.set_db_list(self.db_list); + } var form_obj = self.to_object(fields); self.wait_for_newdb(result, { password: form_obj['super_admin_pwd'], @@ -454,8 +456,10 @@ openerp.web.Database = openerp.web.OldWidget.extend(/** @lends openerp.web.Datab return; } $db_list.find(':selected').remove(); - self.db_list.splice(_.indexOf(self.db_list, db, true), 1); - self.widget_parent.set_db_list(self.db_list); + if (self.db_list) { + self.db_list.splice(_.indexOf(self.db_list, db, true), 1); + self.widget_parent.set_db_list(self.db_list); + } self.do_notify("Dropping database", "The database '" + db + "' has been dropped"); }); } diff --git a/addons/web/static/src/xml/base.xml b/addons/web/static/src/xml/base.xml index d7f08b6fedc..ac9f7b4c12c 100644 --- a/addons/web/static/src/xml/base.xml +++ b/addons/web/static/src/xml/base.xml @@ -120,6 +120,8 @@ +