Vo Minh Thu (OpenERP) has proposed merging 
lp:~openerp-dev/openerp-web/trunk-duplicate-db into lp:openerp-web.

Requested reviews:
  OpenERP R&D Web Team (openerp-dev-web)

For more details, see:
https://code.launchpad.net/~openerp-dev/openerp-web/trunk-duplicate-db/+merge/130518
-- 
https://code.launchpad.net/~openerp-dev/openerp-web/trunk-duplicate-db/+merge/130518
Your team OpenERP R&D Team is subscribed to branch 
lp:~openerp-dev/openerp-web/trunk-duplicate-db.
=== modified file 'addons/web/controllers/main.py'
--- addons/web/controllers/main.py	2012-10-10 20:37:53 +0000
+++ addons/web/controllers/main.py	2012-10-19 10:24:25 +0000
@@ -817,6 +817,17 @@
         return req.session.proxy("db").create_database(*create_attrs)
 
     @openerpweb.jsonrequest
+    def duplicate(self, req, fields):
+        params = dict(map(operator.itemgetter('name', 'value'), fields))
+        duplicate_attrs = (
+            params['super_admin_pwd'],
+            params['db_original_name'],
+            params['db_name'],
+        )
+
+        return req.session.proxy("db").duplicate_database(*duplicate_attrs)
+
+    @openerpweb.jsonrequest
     def drop(self, req, fields):
         password, db = operator.itemgetter(
             'drop_pwd', 'drop_db')(

=== modified file 'addons/web/static/src/js/chrome.js'
--- addons/web/static/src/js/chrome.js	2012-10-18 08:50:28 +0000
+++ addons/web/static/src/js/chrome.js	2012-10-19 10:24:25 +0000
@@ -326,6 +326,7 @@
         self.$el.find("tr td:first-child").addClass("oe_form_group_cell_label");
         self.$el.find("label").addClass("oe_form_label");
         self.$el.find("form[name=create_db_form]").validate({ submitHandler: self.do_create });
+        self.$el.find("form[name=duplicate_db_form]").validate({ submitHandler: self.do_duplicate });
         self.$el.find("form[name=drop_db_form]").validate({ submitHandler: self.do_drop });
         self.$el.find("form[name=backup_db_form]").validate({ submitHandler: self.do_backup });
         self.$el.find("form[name=restore_db_form]").validate({ submitHandler: self.do_restore });
@@ -411,6 +412,18 @@
             self.do_action(client_action);
         });
     },
+    do_duplicate: function(form) {
+        var self = this;
+        var fields = $(form).serializeArray();
+        self.rpc("/web/database/duplicate", {'fields': fields}).then(function(result) {
+            if (result.error) {
+                self.display_error(result);
+                return;
+            }
+            self.do_notify("Duplicating database", "The database has been duplicated.");
+            self.start();
+        });
+    },
     do_drop: function(form) {
         var self = this;
         var $form = $(form),

=== modified file 'addons/web/static/src/xml/base.xml'
--- addons/web/static/src/xml/base.xml	2012-10-17 12:16:01 +0000
+++ addons/web/static/src/xml/base.xml	2012-10-19 10:24:25 +0000
@@ -152,6 +152,32 @@
                     </tr>
                 </table>
             </form>
+            <form id="db_duplicate" name="duplicate_db_form" style="display: none;">
+                <div class="oe_view_manager oe_view_manager_current">
+                    <div class="oe_view_manager_header" style="padding: 8px;">
+                        <div class="oe_header_row">
+                            <h2 class="oe_view_title">
+                                <span class="oe_view_title_text oe_breadcrumb_title">Duplicate Database</span>
+                            </h2>
+                            <button type="submit" class="oe_button oe_highlight db_duplicate">Duplicate</button>
+                        </div>
+                    </div>
+                </div>
+                <table align="center" class="db_option_table">
+                    <tr>
+                        <td><label for="super_admin_pwd">Master password:</label></td>
+                        <td><input type="password" name="super_admin_pwd" class="required" value="admin" /></td>
+                    </tr>
+                    <tr>
+                        <td><label for="db_original_name">Original database name:</label></td>
+                        <td><input type="text" name="db_original_name" class="required" matches="^[a-zA-Z][a-zA-Z0-9_-]+$" autofocus="true"/></td>
+                    </tr>
+                    <tr>
+                        <td><label for="db_name">New database name:</label></td>
+                        <td><input type="text" name="db_name" class="required" matches="^[a-zA-Z][a-zA-Z0-9_-]+$" /></td>
+                    </tr>
+                </table>
+            </form>
             <form id="db_drop" name="drop_db_form" style="display: none; ">
                 <div class="oe_view_manager oe_view_manager_current">
                     <div class="oe_view_manager_header" style="padding: 8px;">
@@ -279,6 +305,7 @@
     <div class="oe_secondary_menu_section">Database Management</div>
     <ul class="oe_secondary_submenu">
         <li><a href="#db_create">Create</a></li>
+        <li><a href="#db_duplicate">Duplicate</a></li>
         <li><a href="#db_drop">Drop</a></li>
         <li><a href="#db_backup">Backup</a></li>
         <li><a href="#db_restore">Restore</a></li>

_______________________________________________
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