diff options
| author | Xavier Morel <xmo@openerp.com> | 2011-11-15 10:42:50 +0100 |
|---|---|---|
| committer | Xavier Morel <xmo@openerp.com> | 2011-11-15 10:42:50 +0100 |
| commit | 92ba7b7fc3cd610287f03ddbbc2dc09e2b30fc3a (patch) | |
| tree | 36bb050cd30a1bd40f0ade149326864012fb145a | |
| parent | 6810fd765c0a2113e44e2d31aa57e5ef2405b9a2 (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.js | 10 |
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"); }, |
