[FIX]Remove extra duplicate method,show valid error msg when invalid db to drop, do_render method call after resolving fetch_langs and call always after fetch_db.

lp bug: https://launchpad.net/bugs/1166856 fixed

bzr revid: vme@tinyerp.com-20130423104647-8xvrthahdzk42r08
This commit is contained in:
Vidhin Mehta
2013-04-23 16:16:47 +05:30
parent e29c8b4d91
commit 2d07136d6f
2 changed files with 9 additions and 14 deletions
+8 -13
View File
@@ -765,14 +765,6 @@ class Database(openerpweb.Controller):
params['db_lang'],
params['create_admin_pwd'])
@openerpweb.jsonrequest
def duplicate(self, req, fields):
params = dict(map(operator.itemgetter('name', 'value'), fields))
return req.session.proxy("db").duplicate_database(
params['super_admin_pwd'],
params['db_original_name'],
params['db_name'])
@openerpweb.jsonrequest
def duplicate(self, req, fields):
params = dict(map(operator.itemgetter('name', 'value'), fields))
@@ -781,7 +773,6 @@ class Database(openerpweb.Controller):
params['db_original_name'],
params['db_name'],
)
return req.session.proxy("db").duplicate_database(*duplicate_attrs)
@openerpweb.jsonrequest
@@ -789,13 +780,17 @@ 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:
return req.session.proxy("db").drop(password, db)
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})
except xmlrpclib.Fault, e:
if e.faultCode and e.faultCode.split(':')[0] == 'AccessDenied':
return {'error': e.faultCode, 'title': 'Drop Database'}
return {'error': _('Could not drop database !'), 'title': _('Drop Database')}
error.update({'error': e.faultCode})
return error
@openerpweb.httprequest
def backup(self, req, backup_db, backup_pwd, token):
+1 -1
View File
@@ -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_db, fetch_langs).done(self.do_render);
return $.when(fetch_langs).done(fetch_db.always(self.do_render));
},
do_render: function() {
var self = this;