[FIX] Used jQuery's serializeArray to get the form values.

bzr revid: noz@tinyerp.com-20110726124523-8unw7svihn7r159q
This commit is contained in:
noz (OpenERP) 2011-07-26 18:15:23 +05:30
parent 8c615cd17e
commit 42a1093225
2 changed files with 73 additions and 77 deletions

View File

@ -70,16 +70,21 @@ class Database(openerpweb.Controller):
return {"db_list": dbs}
@openerpweb.jsonrequest
def create_db(self, req, **kw):
def create_db(self, req, fields):
super_admin_pwd = kw.get('super_admin_pwd')
dbname = kw.get('db')
demo_data = kw.get('demo_data')
db_lang = kw.get('db_lang')
admin_pwd = kw.get('admin_pwd')
confirm_pwd = kw.get('confirm_pwd')
if not re.match('^[a-zA-Z][a-zA-Z0-9_]+$', dbname):
for field in fields:
if field['name'] == 'super_admin_pwd':
super_admin_pwd = field['value']
elif field['name'] == 'db_name':
dbname = field['value']
elif field['name'] == 'demo_data':
demo_data = field['value']
elif field['name'] == 'db_lang':
db_lang = field['value']
elif field['name'] == 'create_admin_pwd':
admin_pwd = field['value']
if dbname and not re.match('^[a-zA-Z][a-zA-Z0-9_]+$', dbname):
return {'error': "You must avoid all accents, space or special characters.", 'title': 'Bad database name'}
ok = False
@ -92,9 +97,12 @@ class Database(openerpweb.Controller):
return {'error': 'Could not create database !', 'title': 'Create Database'}
@openerpweb.jsonrequest
def drop_db(self, req, **kw):
db = kw.get('db')
password = kw.get('password')
def drop_db(self, req, fields):
for field in fields:
if field['name'] == 'drop_db':
db = field['value']
elif field['name'] == 'drop_pwd':
password = field['value']
try:
return req.session.proxy("db").drop(password, db)
@ -105,9 +113,13 @@ class Database(openerpweb.Controller):
return {'error': 'Could not drop database !', 'title': 'Drop Database'}
@openerpweb.jsonrequest
def backup_db(self, req, **kw):
db = kw.get('db')
password = kw.get('password')
def backup_db(self, req, fields):
for field in fields:
if field['name'] == 'backup_db':
db = field['value']
elif field['name'] == 'backup_pwd':
password = field['value']
try:
res = req.session.proxy("db").dump(password, db)
if res:
@ -121,10 +133,14 @@ class Database(openerpweb.Controller):
return {'error': 'Could not drop database !', 'title': 'Backup Database'}
@openerpweb.jsonrequest
def restore_db(self, req, **kw):
filename = kw.get('filename')
db = kw.get('db')
password = kw.get('password')
def restore_db(self, req, fields):
for field in fields:
if field['name'] == 'restore_db':
filename = field['value']
elif field['name'] == 'new_db':
db = field['value']
elif field['name'] == 'restore_pwd':
password = field['value']
try:
data = base64.encodestring(filename.file.read())
@ -136,10 +152,12 @@ class Database(openerpweb.Controller):
return {'error': 'Could not restore database !', 'title': 'Restore Database'}
@openerpweb.jsonrequest
def change_password_db(self, req, **kw):
old_password = kw.get('old_password')
new_password = kw.get('new_password')
confirm_password = kw.get('confirm_password')
def change_password_db(self, req, fields):
for field in fields:
if field['name'] == 'old_pwd':
old_password = field['value']
elif field['name'] == 'new_pwd':
new_password = field['value']
try:
return req.session.proxy("db").change_admin_password(old_password, new_password)

View File

@ -755,26 +755,9 @@ openerp.base.Database = openerp.base.Controller.extend({
self.$option_id.find('form[name=create_db_form]').submit(function(ev) {
ev.preventDefault();
var super_admin_pwd = self.$option_id.find("input[name=super_admin_pwd]").val();
var db = self.$option_id.find("input[name=db_name]").val();
var demo_data = self.$option_id.find("input[name=demo_data]:checked");
var db_lang = self.$option_id.find("select[name=db_lang]").val();
var admin_pwd = self.$option_id.find("input[name=create_admin_pwd]").val();
var confirm_pwd = self.$option_id.find("input[name=create_confirm_pwd]").val();
if (demo_data.length)
demo_data = 'True';
else
demo_data = 'False';
var fields = $(this).serializeArray();
self.rpc("/base/database/create_db", {
'super_admin_pwd': super_admin_pwd,
'db': db,
'demo_data': demo_data,
'db_lang': db_lang,
'admin_pwd': admin_pwd,
'confirm_pwd': confirm_pwd
},
self.rpc("/base/database/create_db", {'fields': fields},
function(result) {
if (result && !result.error) {
@ -803,29 +786,29 @@ openerp.base.Database = openerp.base.Controller.extend({
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/database/drop_db", {'db': db, 'password': password},
function(result) {
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");
} else if(result.error) {
var db_error_dialog = _.uniqueId("db_error_dialog");
$('<div>', {id: db_error_dialog}).dialog({
modal: true,
title: result.title,
buttons: {
Ok: function() {
$(this).dialog("close");
}
}
}).html("<center style='padding-top: 15px; font-size: 15px'>" + result.error + "</center>");
}
});
}
var fields = $(this).serializeArray();
db = $('select[name=drop_db] :selected').val();
if (confirm("Do you really want to delete the database: " + db + " ?")) {
self.rpc("/base/database/drop_db", {'fields': fields},
function(result) {
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");
} else if(result.error) {
var db_error_dialog = _.uniqueId("db_error_dialog");
$('<div>', {id: db_error_dialog}).dialog({
modal: true,
title: result.title,
buttons: {
Ok: function() {
$(this).dialog("close");
}
}
}).html("<center style='padding-top: 15px; font-size: 15px'>" + result.error + "</center>");
}
});
}
});
},
@ -838,10 +821,9 @@ openerp.base.Database = openerp.base.Controller.extend({
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();
var fields = $(self).serializeArray();
self.rpc("/base/database/backup_db", {'db': db, 'password': password},
self.rpc("/base/database/backup_db", {'fields': fields},
function(result) {
if (result && !result.error) {
self.notification.notify("Backup Database", "Backup has been created for the database: '" + db + "'");
@ -870,11 +852,9 @@ openerp.base.Database = openerp.base.Controller.extend({
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();
var fields = $(self).serializeArray();
self.rpc("/base/database/restore_db", {'db': db, 'password': password, 'new_db': new_db},
self.rpc("/base/database/restore_db", {'fields': fields},
function(result) {
if (result && !result.error) {
self.notification.notify("Restore Database", "You restored your database as: '" + new_db + "'");
@ -923,12 +903,10 @@ openerp.base.Database = openerp.base.Controller.extend({
self.$option_id.find('form[name=change_pwd_form]').submit(function(ev) {
ev.preventDefault();
var old_pwd = self.$option_id.find("input[name=old_pwd]").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();
var fields = $(self).serializeArray();
self.rpc("/base/database/change_password_db", {'old_password': old_pwd, 'new_password': new_pwd, 'confirm_password': confirm_pwd},
self.rpc("/base/database/change_password_db", {'fields': fields},
function(result) {
if (result && !result.error) {
self.notification.notify("Changed Password", "Password has been changed successfully");