From d6024fa36b1406f3f0da27001e66007963bfa2e5 Mon Sep 17 00:00:00 2001 From: Vidhin Mehta Date: Thu, 16 May 2013 22:34:03 +0530 Subject: [PATCH] [FIX]add callback function to fetch_lang and in *drop db* which is not created,after drop it shows 'db succesfully droped'. bzr revid: vme@tinyerp.com-20130516170403-7oil1k6em99a1hmp --- addons/web/controllers/main.py | 12 ++++-------- addons/web/static/src/js/chrome.js | 2 +- 2 files changed, 5 insertions(+), 9 deletions(-) diff --git a/addons/web/controllers/main.py b/addons/web/controllers/main.py index 0c94e9fe55a..6919def601a 100644 --- a/addons/web/controllers/main.py +++ b/addons/web/controllers/main.py @@ -780,17 +780,13 @@ class Database(openerpweb.Controller): password, db = operator.itemgetter( 'drop_pwd', 'drop_db')( dict(map(operator.itemgetter('name', 'value'), fields))) - error = {'error':_('Could not drop database !'), 'title': _('Drop Database') } + try: - proxy = req.session.proxy("db") - if db in proxy.list(True): - return proxy.drop(password, db) - else: - error.update({'error': "Database '%s' does not exist !" % db}) + if req.session.proxy("db").drop(password, db):return True except xmlrpclib.Fault, e: if e.faultCode and e.faultCode.split(':')[0] == 'AccessDenied': - error.update({'error': e.faultCode}) - return error + return {'error': e.faultCode, 'title': 'Drop Database'} + return {'error': _('Could not drop database !'), 'title': _('Drop Database')} @openerpweb.httprequest def backup(self, req, backup_db, backup_pwd, token): diff --git a/addons/web/static/src/js/chrome.js b/addons/web/static/src/js/chrome.js index ee8e741e6da..2ecf5328fd4 100644 --- a/addons/web/static/src/js/chrome.js +++ b/addons/web/static/src/js/chrome.js @@ -380,7 +380,7 @@ instance.web.DatabaseManager = instance.web.Widget.extend({ var fetch_langs = this.rpc("/web/session/get_lang_list", {}).done(function(result) { self.lang_list = result; }); - return $.when(fetch_langs).done(fetch_db.always(self.do_render)); + return $.when(fetch_langs).done(function(){fetch_db.always(self.do_render)}); }, do_render: function() { var self = this;