summaryrefslogtreecommitdiff
path: root/addons/web/controllers
diff options
context:
space:
mode:
authorMartin Trigaux <mat@odoo.com>2017-06-06 15:27:23 +0200
committerMartin Trigaux <mat@odoo.com>2017-06-06 15:42:37 +0200
commitebc23b594a73f2287694f1ff0ebff42d285617f8 (patch)
tree84685313078e2961b9dcb881c42571a00ac81b53 /addons/web/controllers
parent75c803bbbda447e6357e7a4fefd9e8b39e81f971 (diff)
[FIX] web: display full error message
In case of a MemoryError, there is no error message, the user gets a "Database restore error: " without any details. Instead fallback to the repr. This way, a wrong password is "Database restore error: Access denied" and a memoryerror "Database restore error: MemoryError()" Closes #17393
Diffstat (limited to 'addons/web/controllers')
-rw-r--r--addons/web/controllers/main.py12
1 files changed, 6 insertions, 6 deletions
diff --git a/addons/web/controllers/main.py b/addons/web/controllers/main.py
index 73bd64694ef..01395b48f0b 100644
--- a/addons/web/controllers/main.py
+++ b/addons/web/controllers/main.py
@@ -657,7 +657,7 @@ class Database(http.Controller):
request.session.authenticate(name, post['login'], password)
return http.local_redirect('/web/')
except Exception, e:
- error = "Database creation error: %s" % e
+ error = "Database creation error: %s" % str(e) or repr(e)
return self._render_template(error=error)
@http.route('/web/database/duplicate', type='http', auth="none", methods=['POST'], csrf=False)
@@ -668,7 +668,7 @@ class Database(http.Controller):
dispatch_rpc('db', 'duplicate_database', [master_pwd, name, new_name])
return http.local_redirect('/web/database/manager')
except Exception, e:
- error = "Database duplication error: %s" % e
+ error = "Database duplication error: %s" % str(e) or repr(e)
return self._render_template(error=error)
@http.route('/web/database/drop', type='http', auth="none", methods=['POST'], csrf=False)
@@ -678,7 +678,7 @@ class Database(http.Controller):
request._cr = None # dropping a database leads to an unusable cursor
return http.local_redirect('/web/database/manager')
except Exception, e:
- error = "Database deletion error: %s" % e
+ error = "Database deletion error: %s" % str(e) or repr(e)
return self._render_template(error=error)
@http.route('/web/database/backup', type='http', auth="none", methods=['POST'], csrf=False)
@@ -696,7 +696,7 @@ class Database(http.Controller):
return response
except Exception, e:
_logger.exception('Database.backup')
- error = "Database backup error: %s" % e
+ error = "Database backup error: %s" % str(e) or repr(e)
return self._render_template(error=error)
@http.route('/web/database/restore', type='http', auth="none", methods=['POST'], csrf=False)
@@ -706,7 +706,7 @@ class Database(http.Controller):
dispatch_rpc('db', 'restore', [master_pwd, name, data, str2bool(copy)])
return http.local_redirect('/web/database/manager')
except Exception, e:
- error = "Database restore error: %s" % e
+ error = "Database restore error: %s" % str(e) or repr(e)
return self._render_template(error=error)
@http.route('/web/database/change_password', type='http', auth="none", methods=['POST'], csrf=False)
@@ -715,7 +715,7 @@ class Database(http.Controller):
dispatch_rpc('db', 'change_admin_password', [master_pwd, master_pwd_new])
return http.local_redirect('/web/database/manager')
except Exception, e:
- error = "Master password update error: %s" % e
+ error = "Master password update error: %s" % str(e) or repr(e)
return self._render_template(error=error)
@http.route('/web/database/list', type='json', auth='none')