From 26dc7e2fa936dd1692a6d9fe767cde520695042b Mon Sep 17 00:00:00 2001 From: Vishmita Date: Thu, 21 Jun 2012 14:34:25 +0530 Subject: [PATCH] [FIX]Minor changes. bzr revid: vja@tinyerp.com-20120621090425-wa3lrw5tait9lt9s --- addons/web/controllers/main.py | 27 +++++++++++++++------------ addons/web/static/src/js/chrome.js | 10 +++++----- addons/web/static/src/js/coresetup.js | 13 ++++++++----- 3 files changed, 28 insertions(+), 22 deletions(-) diff --git a/addons/web/controllers/main.py b/addons/web/controllers/main.py index 12ef0b53524..be2bcdfe6ec 100644 --- a/addons/web/controllers/main.py +++ b/addons/web/controllers/main.py @@ -437,18 +437,21 @@ class Database(openerpweb.Controller): @openerpweb.httprequest def backup(self, req, backup_db, backup_pwd, token): - db_dump = base64.b64decode( - req.session.proxy("db").dump(backup_pwd, backup_db)) - filename = "%(db)s_%(timestamp)s.dump" % { - 'db': backup_db, - 'timestamp': datetime.datetime.utcnow().strftime( - "%Y-%m-%d_%H-%M-%SZ") - } - return req.make_response(db_dump, - [('Content-Type', 'application/octet-stream; charset=binary'), - ('Content-Disposition', 'attachment; filename="' + filename + '"')], - {'fileToken': int(token)} - ) + try: + db_dump = base64.b64decode( + req.session.proxy("db").dump(backup_pwd, backup_db)) + filename = "%(db)s_%(timestamp)s.dump" % { + 'db': backup_db, + 'timestamp': datetime.datetime.utcnow().strftime( + "%Y-%m-%d_%H-%M-%SZ") + } + return req.make_response(db_dump, + [('Content-Type', 'application/octet-stream; charset=binary'), + ('Content-Disposition', 'attachment; filename="' + filename + '"')], + {'fileToken': int(token)} + ) + except xmlrpclib.Fault, e: + return simplejson.dumps([[],[{'error': e.faultCode, 'title': 'backup Database'}]]) @openerpweb.httprequest def restore(self, req, db_file, restore_pwd, new_db): diff --git a/addons/web/static/src/js/chrome.js b/addons/web/static/src/js/chrome.js index 475f0b4d16e..1b318ae13de 100644 --- a/addons/web/static/src/js/chrome.js +++ b/addons/web/static/src/js/chrome.js @@ -392,13 +392,13 @@ instance.web.DatabaseManager = instance.web.Widget.extend({ success: function () { self.do_notify(_t("Backed"), _t("Database backed up successfully")); }, - error: function(){ - if (instance.webclient.crashmanager.on_rpc_error) { - self.display_error({ + error: function(error){ + if(error){ + self.display_error({ title: 'Backup Database', error: 'AccessDenied' - }); - } + }); + } }, complete: function() { self.unblockUI(); diff --git a/addons/web/static/src/js/coresetup.js b/addons/web/static/src/js/coresetup.js index 8e7b5d4f75d..b8924d81680 100644 --- a/addons/web/static/src/js/coresetup.js +++ b/addons/web/static/src/js/coresetup.js @@ -332,11 +332,14 @@ instance.web.Session = instance.web.JsonRPC.extend( /** @lends instance.web.Sess .appendTo(document.body) .load(function () { try { - if (options.error) { - options.error(JSON.parse( - this.contentDocument.body.childNodes[1].textContent - )); - } + if (options.error) { + if (!this.contentDocument.body.childNodes[1]) { + options.error(this.contentDocument.body.childNodes); + } + else { + options.error(JSON.parse(this.contentDocument.body.childNodes[1].textContent)); + } + } } finally { complete(); }