[FIX] Fixed methods for submit.
authornoz (OpenERP) <noz@tinyerp.com>
Tue, 5 Jul 2011 13:42:13 +0000 (19:12 +0530)
committernoz (OpenERP) <noz@tinyerp.com>
Tue, 5 Jul 2011 13:42:13 +0000 (19:12 +0530)
bzr revid: noz@tinyerp.com-20110705134213-c83d7bxpxd676uu4

addons/base/controllers/main.py
addons/base/static/src/js/chrome.js

index b085b5b..1a15d4e 100644 (file)
@@ -133,9 +133,11 @@ class Session(openerpweb.Controller):
         elif flag == 'backup':
             db = kw.get('db')
             password = kw.get('password')
-            # todo: content type
+            
             res = req.session.proxy("db").dump(password, db)
             if res:
+                cherrypy.response.headers['Content-Type'] = "application/data"
+                cherrypy.response.headers['Content-Disposition'] = 'filename="' + db + '.dump"'
                 return base64.decodestring(res)
             
         elif flag == 'restore':
index 4316d6f..fb7b7ac 100644 (file)
@@ -943,14 +943,16 @@ openerp.base.Database = openerp.base.Controller.extend({
                
                $("form[name=drop_db_form]").validate();
                
-               self.$option_id.find('#drop_db_btn').click(function() {
+               self.$option_id.find('form[name=drop_db_form]').submit(function(ev) {
+                       ev.preventDefault();
+                       
                        var db = self.$option_id.find("select[name=drop_db]").val();
                        var password = self.$option_id.find("input[name=drop_pwd]").val();
                        
                        if (confirm("Do you really want to delete the database: " + db + " ?")) {
                                self.rpc("/base/session/db_operation", {'flag': 'drop', 'db': db, 'password': password}, 
                                        function(result) {
-                                               if (!result.error) {
+                                               if (result && !result.error) {
                                                        self.$option_id.find("select[name=drop_db] :selected").remove();
                                                        self.notification.notify("Dropping database", "The database '" + db + "' has been dropped");
                                                }
@@ -965,13 +967,15 @@ openerp.base.Database = openerp.base.Controller.extend({
                
                $("form[name=backup_db_form]").validate();
                
-               self.$option_id.find('#backup_db_btn').click(function() {
+               self.$option_id.find('form[name=backup_db_form]').submit(function(ev) {
+                       ev.preventDefault();
+                       
                        var db = self.$option_id.find("select[name=backup_db]").val();
                        var password = self.$option_id.find("input[name=backup_pwd]").val();
-               
+                       
                        self.rpc("/base/session/db_operation", {'flag': 'backup', 'db': db, 'password': password}, 
                        function(result) {
-                               if (!result.error) {
+                               if (result && !result.error) {
                                        self.notification.notify("Backup has been created for the database: '" + db + "'");
                                }
                        });
@@ -984,14 +988,16 @@ openerp.base.Database = openerp.base.Controller.extend({
                
                $("form[name=restore_db_form]").validate();
                
-               self.$option_id.find('#restore_db_btn').click(function() {
+               self.$option_id.find('form[name=restore_db_form]').submit(function(ev) {
+                       ev.preventDefault();
+                       
                        var db = self.$option_id.find("input[name=restore_db]").val();
                        var password = self.$option_id.find("input[name=restore_pwd]").val();
                        var new_db = self.$option_id.find("input[name=new_db]").val();
                
                        self.rpc("/base/session/db_operation", {'flag': 'restore', 'db': db, 'password': password, 'new_db': new_db}, 
                        function(result) {
-                               if (!result.error) {
+                               if (result && !result.error) {
                                        self.notification.notify("You restored your database as: '" + new_db + "'");
                                }
                        });