Bhumi Thakkar (Open ERP) has proposed merging 
lp:~openerp-dev/openerp-web/6.1-opw-576703-bth into lp:openerp-web/6.1.

Requested reviews:
  OpenERP Core Team (openerp)

For more details, see:
https://code.launchpad.net/~openerp-dev/openerp-web/6.1-opw-576703-bth/+merge/115141

Hello,

   Uncaught exception error in opera browser.

1. Click on any report to print or download.  OR
2. Select Backup database => enter password => click on button backup

Observed: 'Error is coming Uncaught exception error in opera browser'
Expected: 'download reports or file when click on report successfully.'

In getfile method, childnode[1] not exist when trying to parse as got error. 
Check if it is not exist then childnode is passed in error. In Backup database 
error content is passed.

Thanks.
 
 

  
-- 
https://code.launchpad.net/~openerp-dev/openerp-web/6.1-opw-576703-bth/+merge/115141
Your team OpenERP R&D Team is subscribed to branch 
lp:~openerp-dev/openerp-web/6.1-opw-576703-bth.
=== modified file 'addons/web/controllers/main.py'
--- addons/web/controllers/main.py	2012-06-29 09:57:53 +0000
+++ addons/web/controllers/main.py	2012-07-16 13:43:53 +0000
@@ -385,18 +385,21 @@
 
     @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):

=== modified file 'addons/web/static/src/js/chrome.js'
--- addons/web/static/src/js/chrome.js	2012-07-05 10:27:24 +0000
+++ addons/web/static/src/js/chrome.js	2012-07-16 13:43:53 +0000
@@ -455,7 +455,15 @@
                         self.do_notify(_t("Backed"),
                             _t("Database backed up successfully"));
                     },
-                    error: openerp.webclient.crashmanager.on_rpc_error,
+                    error: function(error){
+                        if(error){
+                            self.display_error({
+                                title: 'Backup Database',
+                                error: 'AccessDenied'
+                            })
+                            return;
+                        }
+                    },
                     complete: function() {
                         self.unblockUI();
                     }

=== modified file 'addons/web/static/src/js/core.js'
--- addons/web/static/src/js/core.js	2012-06-14 12:30:24 +0000
+++ addons/web/static/src/js/core.js	2012-07-16 13:43:53 +0000
@@ -860,7 +860,6 @@
             if (options.complete) { options.complete(); }
             clearTimeout(timer);
             $form_data.remove();
-            $target.remove();
             if (remove_form && $form) { $form.remove(); }
         };
         var $target = $('<iframe style="display: none;">')
@@ -869,12 +868,16 @@
             .load(function () {
                 try {
                     if (options.error) {
-                        options.error(JSON.parse(
-                            this.contentDocument.body.childNodes[1].textContent
-                        ));
+                        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();
+                    return;
                 }
             });
 

=== modified file 'addons/web/static/src/js/views.js'
--- addons/web/static/src/js/views.js	2012-06-29 10:53:25 +0000
+++ addons/web/static/src/js/views.js	2012-07-16 13:43:53 +0000
@@ -195,13 +195,13 @@
             self.session.get_file({
                 url: '/web/report',
                 data: {action: JSON.stringify(action)},
-                complete: $.unblockUI,
                 success: function(){
                     if (!self.dialog && on_closed) {
                         on_closed();
                     }
                     self.dialog_stop();
                 },
+                complete: $.unblockUI,
                 error: session.webclient.crashmanager.on_rpc_error
             })
         });

_______________________________________________
Mailing list: https://launchpad.net/~openerp-dev-gtk
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~openerp-dev-gtk
More help   : https://help.launchpad.net/ListHelp

Reply via email to