summaryrefslogtreecommitdiff
path: root/addons/base/controllers
diff options
context:
space:
mode:
authorXavier Morel <xmo@openerp.com>2011-08-02 11:13:44 +0200
committerXavier Morel <xmo@openerp.com>2011-08-02 11:13:44 +0200
commit21aab96e41a9b772f07cae3a9dbb8e76bf8b7b60 (patch)
tree9d5014cb50ea24a345cab5a3087df03aaa443eb6 /addons/base/controllers
parent43e9c6488230e0591cefd6187732fb7be33850f5 (diff)
[IMP] deduplicate display of error dialog, add some error handling improvements to restore db
bzr revid: xmo@openerp.com-20110802091344-3lk1wk7ctjhs0j3p
Diffstat (limited to 'addons/base/controllers')
-rw-r--r--addons/base/controllers/main.py13
1 files changed, 4 insertions, 9 deletions
diff --git a/addons/base/controllers/main.py b/addons/base/controllers/main.py
index 25763a42537..b743cf79122 100644
--- a/addons/base/controllers/main.py
+++ b/addons/base/controllers/main.py
@@ -212,20 +212,15 @@ class Database(openerpweb.Controller):
@openerpweb.httprequest
def restore_db(self, req, db_file, restore_pwd, new_db):
- response = None
try:
data = base64.encodestring(db_file.file.read())
- response = simplejson.dumps(
- req.session.proxy("db").restore(restore_pwd, new_db, data))
+ req.session.proxy("db").restore(restore_pwd, new_db, data)
+ return ''
except xmlrpclib.Fault, e:
if e.faultCode and e.faultCode.split(':')[0] == 'AccessDenied':
- response = simplejson.dumps({'error': e.faultCode, 'title': 'Restore Database'})
- if not response:
- response = simplejson.dumps({'error': 'Could not restore database !', 'title': 'Restore Database'})
+ raise cherrypy.HTTPError(403)
- cherrypy.response.headers['Content-Type'] = 'application/json'
- cherrypy.response.headers['Content-Length'] = len(response)
- return response
+ raise cherrypy.HTTPError()
@openerpweb.jsonrequest
def change_password_db(self, req, fields):