[IMP] Improved methods for backup, restore, change password.
bzr revid: noz@tinyerp.com-20110704134823-bhn2qg4nwgx819ii
This commit is contained in:
parent
9d77bed1ca
commit
6c971a0fda
|
@ -127,7 +127,31 @@ class Session(openerpweb.Controller):
|
|||
if flag == 'drop':
|
||||
db = kw.get('db')
|
||||
password = kw.get('password')
|
||||
|
||||
return req.session.proxy("db").drop(password, db)
|
||||
|
||||
elif flag == 'backup':
|
||||
db = kw.get('db')
|
||||
password = kw.get('password')
|
||||
# todo: content type
|
||||
res = rpc.session.proxy("db").dump(password, db)
|
||||
if res:
|
||||
return base64.decodestring(res)
|
||||
|
||||
elif flag == 'restore':
|
||||
filename = kw.get('filename')
|
||||
db = kw.get('db')
|
||||
password = kw.get('password')
|
||||
|
||||
data = base64.encodestring(filename.file.read())
|
||||
return rpc.session.proxy("db").restore(password, db, data)
|
||||
|
||||
elif flag == 'change_password':
|
||||
old_password = kw.get('old_password')
|
||||
new_password = kw.get('new_password')
|
||||
confirm_password = kw.get('confirm_password')
|
||||
|
||||
return rpc.session.proxy("db").change_admin_password(old_password, new_password)
|
||||
|
||||
@openerpweb.jsonrequest
|
||||
def modules(self, req):
|
||||
|
|
|
@ -935,13 +935,14 @@ openerp.base.Database = openerp.base.Controller.extend({
|
|||
self.db_string = "CREATE DATABASE";
|
||||
self.$option_id.html(QWeb.render("CreateDB", self));
|
||||
});
|
||||
|
||||
self.$element.find('#db-drop').click(function() {
|
||||
self.db_string = "DROP DATABASE";
|
||||
self.$option_id.html(QWeb.render("DropDB", self));
|
||||
|
||||
self.$option_id.find('#drop_db_btn').click(function() {
|
||||
var db = self.$option_id.find("select[name=drop_db]").val();
|
||||
var password = self.$option_id.find("input[name=drop_password]").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},
|
||||
|
@ -953,20 +954,61 @@ openerp.base.Database = openerp.base.Controller.extend({
|
|||
});
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
self.$element.find('#db-backup').click(function() {
|
||||
self.db_string = "BACKUP DATABASE";
|
||||
self.$option_id.html(QWeb.render("BackupDB", self));
|
||||
|
||||
self.$option_id.find('#backup_db_btn').click(function() {
|
||||
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) {
|
||||
self.notification.notify("Backup has been created for the database: '" + db + "'");
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
self.$element.find('#db-restore').click(function() {
|
||||
self.db_string = "RESTORE DATABASE";
|
||||
self.$option_id.html(QWeb.render("RestoreDB", self));
|
||||
|
||||
self.$option_id.find('#restore_db_btn').click(function() {
|
||||
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) {
|
||||
self.notification.notify("You restored your database as: '" + new_db + "'");
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
self.$element.find('#db-change-password').click(function() {
|
||||
self.db_string = "CHANGE DATABASE PASSWORD";
|
||||
self.$option_id.html(QWeb.render("Change_DB_Pwd", self));
|
||||
|
||||
self.$option_id.find('#change_pwd_btn').click(function() {
|
||||
var old_pwd = self.$option_id.find("input[name=old_db]").val();
|
||||
var new_pwd = self.$option_id.find("input[name=new_pwd]").val();
|
||||
var confirm_pwd = self.$option_id.find("input[name=confirm_pwd]").val();
|
||||
|
||||
self.rpc("/base/session/db_operation", {'flag': 'change_password', 'old_password': old_pwd, 'new_password': new_pwd, 'confirm_password': confirm_pwd},
|
||||
function(result) {
|
||||
if (!result.error) {
|
||||
self.notification.notify("Password has been changed successfully");
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
self.$element.find('#back-to-login').click(function() {
|
||||
self.header = new openerp.base.Header(self.session, "oe_header");
|
||||
self.header.on_logout();
|
||||
|
|
|
@ -113,7 +113,7 @@
|
|||
<td><input type="text" name="confirm_pwd"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2" align="right"><button type="button">Create</button></td>
|
||||
<td colspan="2" align="right"><button type="button" id="create_db_btn">Create</button></td>
|
||||
</tr>
|
||||
</table>
|
||||
</t>
|
||||
|
@ -137,8 +137,8 @@
|
|||
</t>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><label for="droppassword">Password:</label></td>
|
||||
<td><input type="password" name="drop_password" value=""/></td>
|
||||
<td><label for="drop_password">Password:</label></td>
|
||||
<td><input type="password" name="drop_pwd" value=""/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2" align="right"><button type="button" id="drop_db_btn">Drop</button></td>
|
||||
|
@ -155,10 +155,10 @@
|
|||
</table>
|
||||
<table align="center" class="db_option_table">
|
||||
<tr>
|
||||
<td><label for="db_name">Database:</label></td>
|
||||
<td><label for="backup_db">Database:</label></td>
|
||||
<td>
|
||||
<t t-if="db_list">
|
||||
<select name="db">
|
||||
<select name="backup_db">
|
||||
<t t-foreach="db_list" t-as="db">
|
||||
<option t-att-value="db"><t t-esc="db"/></option>
|
||||
</t>
|
||||
|
@ -167,11 +167,11 @@
|
|||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><label for="pwd">Password:</label></td>
|
||||
<td><input type="password" name="pwd"/></td>
|
||||
<td><label for="backup_pwd">Password:</label></td>
|
||||
<td><input type="password" name="backup_pwd"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2" align="right"><button type="button">Backup</button></td>
|
||||
<td colspan="2" align="right"><button type="button" id="backup_db_btn">Backup</button></td>
|
||||
</tr>
|
||||
</table>
|
||||
</t>
|
||||
|
@ -185,19 +185,19 @@
|
|||
</table>
|
||||
<table align="center" class="db_option_table">
|
||||
<tr>
|
||||
<td><label for="db_name">File:</label></td>
|
||||
<td><input type="file"/></td>
|
||||
<td><label for="restore_db">File:</label></td>
|
||||
<td><input type="file" name="restore_db"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><label for="pwd">Password:</label></td>
|
||||
<td><input type="password" name="pwd"/></td>
|
||||
<td><label for="restore_pwd">Password:</label></td>
|
||||
<td><input type="password" name="restore_pwd"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><label for="new_db">New database name:</label></td>
|
||||
<td><input type="text" name="new_db"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2" align="right"><button type="button">Restore</button></td>
|
||||
<td colspan="2" align="right"><button type="button" id="restore_db_btn">Restore</button></td>
|
||||
</tr>
|
||||
</table>
|
||||
</t>
|
||||
|
@ -223,7 +223,7 @@
|
|||
<td><input type="password" name="confirm_pwd"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2" align="right"><button type="button">Change Password</button></td>
|
||||
<td colspan="2" align="right"><button type="button" id="change_pwd_btn">Change Password</button></td>
|
||||
</tr>
|
||||
</table>
|
||||
</t>
|
||||
|
|
Loading…
Reference in New Issue