summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXavier Morel <xmo@openerp.com>2011-11-15 10:42:50 +0100
committerXavier Morel <xmo@openerp.com>2011-11-15 10:42:50 +0100
commit92ba7b7fc3cd610287f03ddbbc2dc09e2b30fc3a (patch)
tree36bb050cd30a1bd40f0ade149326864012fb145a
parent6810fd765c0a2113e44e2d31aa57e5ef2405b9a2 (diff)
[IMP] correctly synchronize dblist between db pane and login
bzr revid: xmo@openerp.com-20111115094250-8c2rq2le39oc3z7b
-rw-r--r--addons/web/static/src/js/chrome.js10
1 files changed, 8 insertions, 2 deletions
diff --git a/addons/web/static/src/js/chrome.js b/addons/web/static/src/js/chrome.js
index f5fd32b912e..05dc989df03 100644
--- a/addons/web/static/src/js/chrome.js
+++ b/addons/web/static/src/js/chrome.js
@@ -373,6 +373,7 @@ openerp.web.Database = openerp.web.Widget.extend(/** @lends openerp.web.Database
}
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'],
@@ -402,6 +403,7 @@ openerp.web.Database = openerp.web.Widget.extend(/** @lends openerp.web.Database
}
$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);
self.do_notify("Dropping database", "The database '" + db + "' has been dropped");
});
}
@@ -543,8 +545,7 @@ openerp.web.Login = openerp.web.Widget.extend(/** @lends openerp.web.Login# */{
this.$element.find("form").submit(this.on_submit);
this.rpc("/web/database/get_list", {}, function(result) {
- var tpl = openerp.web.qweb.render('Login_dblist', {db_list: result.db_list, selected_db: self.selected_db});
- self.$element.find("input[name=db]").replaceWith(tpl)
+ self.set_db_list(result.db_list);
},
function(error, event) {
if (error.data.fault_code === 'AccessDenied') {
@@ -557,6 +558,11 @@ openerp.web.Login = openerp.web.Widget.extend(/** @lends openerp.web.Login# */{
this.database.stop();
this._super();
},
+ set_db_list: function (list) {
+ this.$element.find("[name=db]").replaceWith(
+ openerp.web.qweb.render('Login_dblist', {
+ db_list: list, selected_db: this.selected_db}))
+ },
on_login_invalid: function() {
this.$element.closest(".openerp").addClass("login-mode");
},