summaryrefslogtreecommitdiff
path: root/addons/web/static/src
diff options
context:
space:
mode:
authorVo Minh Thu <vmt@openerp.com>2012-11-14 13:12:50 +0100
committerVo Minh Thu <vmt@openerp.com>2012-11-14 13:12:50 +0100
commit19011a6d760ff4c821ba26605645bf5e5ebb9e16 (patch)
treebc617976cad157ad7109626f9668aef608e15580 /addons/web/static/src
parent01630d6800ca4fbeb81feb60cc8e423835e55bcf (diff)
parent1ba3ae959f7ba430fdf4c15f49881856731f3064 (diff)
[MERGE] added a duplicate operation to the database managment screen.
bzr revid: vmt@openerp.com-20121114121250-9l0qmlvriwzp7zr9
Diffstat (limited to 'addons/web/static/src')
-rw-r--r--addons/web/static/src/js/chrome.js13
-rw-r--r--addons/web/static/src/xml/base.xml27
2 files changed, 40 insertions, 0 deletions
diff --git a/addons/web/static/src/js/chrome.js b/addons/web/static/src/js/chrome.js
index 51e12a3a9dc..e0bd18ad05f 100644
--- a/addons/web/static/src/js/chrome.js
+++ b/addons/web/static/src/js/chrome.js
@@ -333,6 +333,7 @@ instance.web.DatabaseManager = instance.web.Widget.extend({
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 });
@@ -418,6 +419,18 @@ instance.web.DatabaseManager = instance.web.Widget.extend({
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),
diff --git a/addons/web/static/src/xml/base.xml b/addons/web/static/src/xml/base.xml
index ca116b27e60..1b7a5cea53a 100644
--- a/addons/web/static/src/xml/base.xml
+++ b/addons/web/static/src/xml/base.xml
@@ -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>