[FIX] Fixed spaces instead of tabs.

bzr revid: noz@tinyerp.com-20110726080318-gu5xvwlepj8o7nmi
This commit is contained in:
noz (OpenERP) 2011-07-26 13:33:18 +05:30
parent c2bbedd32b
commit 01ae186bec
2 changed files with 262 additions and 262 deletions

View File

@ -73,23 +73,21 @@ class Database(openerpweb.Controller):
return {"db_list": dbs} return {"db_list": dbs}
@openerpweb.jsonrequest @openerpweb.jsonrequest
def db_operation(self, req, flag, **kw): def create_db(self, req, **kw):
if flag == 'create': super_admin_pwd = kw.get('super_admin_pwd')
dbname = kw.get('db')
super_admin_pwd = kw.get('super_admin_pwd') demo_data = kw.get('demo_data')
dbname = kw.get('db') db_lang = kw.get('db_lang')
demo_data = kw.get('demo_data') admin_pwd = kw.get('admin_pwd')
db_lang = kw.get('db_lang') confirm_pwd = kw.get('confirm_pwd')
admin_pwd = kw.get('admin_pwd')
confirm_pwd = kw.get('confirm_pwd') if 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'}
if 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
try:
ok = False return req.session.proxy("db").create(super_admin_pwd, dbname, demo_data, db_lang, admin_pwd)
try:
return req.session.proxy("db").create(super_admin_pwd, dbname, demo_data, db_lang, admin_pwd)
# while True: # while True:
# try: # try:
# progress, users = req.session.proxy('db').get_progress(super_admin_pwd, res) # progress, users = req.session.proxy('db').get_progress(super_admin_pwd, res)
@ -106,65 +104,69 @@ class Database(openerpweb.Controller):
# except DatabaseCreationCrash: # except DatabaseCreationCrash:
# return {'error': "The server crashed during installation.\nWe suggest you to drop this database.", # return {'error': "The server crashed during installation.\nWe suggest you to drop this database.",
# 'title': 'Error during database creation'} # 'title': 'Error during database creation'}
except Exception, e: except Exception, e:
if e.faultCode and e.faultCode.split(':')[0] == 'AccessDenied': if e.faultCode and e.faultCode.split(':')[0] == 'AccessDenied':
return {'error': 'Bad super admin password !', 'title': 'Create Database'} return {'error': 'Bad super admin password !', 'title': 'Create Database'}
else: else:
return {'error': 'Could not create database !', 'title': 'Create Database'} 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')
elif flag == 'drop': try:
db = kw.get('db') return req.session.proxy("db").drop(password, db)
password = kw.get('password') except Exception, e:
if e.faultCode and e.faultCode.split(':')[0] == 'AccessDenied':
return {'error': 'Bad super admin password !', 'title': 'Drop Database'}
else:
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')
try:
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)
except Exception, e:
if e.faultCode and e.faultCode.split(':')[0] == 'AccessDenied':
return {'error': 'Bad super admin password !', 'title': 'Backup Database'}
else:
return {'error': 'Could not drop database !', 'title': 'Backup Database'}
try: @openerpweb.jsonrequest
return req.session.proxy("db").drop(password, db) def restore_db(self, req, **kw):
except Exception, e: filename = kw.get('filename')
if e.faultCode and e.faultCode.split(':')[0] == 'AccessDenied': db = kw.get('db')
return {'error': 'Bad super admin password !', 'title': 'Drop Database'} password = kw.get('password')
else:
return {'error': 'Could not drop database !', 'title': 'Drop Database'}
elif flag == 'backup': try:
db = kw.get('db') data = base64.encodestring(filename.file.read())
password = kw.get('password') return req.session.proxy("db").restore(password, db, data)
try: except Exception, e:
res = req.session.proxy("db").dump(password, db) if e.faultCode and e.faultCode.split(':')[0] == 'AccessDenied':
if res: return {'error': 'Bad super admin password !', 'title': 'Restore Database'}
cherrypy.response.headers['Content-Type'] = "application/data" else:
cherrypy.response.headers['Content-Disposition'] = 'filename="' + db + '.dump"' return {'error': 'Could not restore database !', 'title': 'Restore Database'}
return base64.decodestring(res)
except Exception, e:
if e.faultCode and e.faultCode.split(':')[0] == 'AccessDenied':
return {'error': 'Bad super admin password !', 'title': 'Backup Database'}
else:
return {'error': 'Could not drop database !', 'title': 'Backup Database'}
elif flag == 'restore':
filename = kw.get('filename')
db = kw.get('db')
password = kw.get('password')
try:
data = base64.encodestring(filename.file.read())
return req.session.proxy("db").restore(password, db, data)
except Exception, e:
if e.faultCode and e.faultCode.split(':')[0] == 'AccessDenied':
return {'error': 'Bad super admin password !', 'title': 'Restore Database'}
else:
return {'error': 'Could not restore database !', 'title': 'Restore Database'}
elif flag == 'change_password': @openerpweb.jsonrequest
old_password = kw.get('old_password') def change_password_db(self, req, **kw):
new_password = kw.get('new_password') old_password = kw.get('old_password')
confirm_password = kw.get('confirm_password') new_password = kw.get('new_password')
confirm_password = kw.get('confirm_password')
try:
return req.session.proxy("db").change_admin_password(old_password, new_password) try:
except Exception, e: return req.session.proxy("db").change_admin_password(old_password, new_password)
if e.faultCode and e.faultCode.split(':')[0] == 'AccessDenied': except Exception, e:
return {'error': 'Bad super admin password !', 'title': 'Change Password'} if e.faultCode and e.faultCode.split(':')[0] == 'AccessDenied':
else: return {'error': 'Bad super admin password !', 'title': 'Change Password'}
return {'error': 'Error, password not changed !', 'title': 'Change Password'} else:
return {'error': 'Error, password not changed !', 'title': 'Change Password'}
class Session(openerpweb.Controller): class Session(openerpweb.Controller):
_cp_path = "/base/session" _cp_path = "/base/session"

View File

@ -688,19 +688,18 @@ openerp.base.Loading = openerp.base.Controller.extend({
}); });
openerp.base.Database = openerp.base.Controller.extend({ openerp.base.Database = openerp.base.Controller.extend({
init: function(parent, element_id, option_id) { init: function(parent, element_id, option_id) {
this._super(parent, element_id); this._super(parent, element_id);
this.option_id = option_id; this.option_id = option_id;
this.$option_id = $('#' + option_id); this.$option_id = $('#' + option_id);
this.$option_id.html(''); this.$option_id.html('');
if(this.parent && this.parent.session) { if(this.parent && this.parent.session) {
this.session = this.parent.session; this.session = this.parent.session;
} }
}, },
start: function() { start: function() {
this.$element.html(QWeb.render("Database", this)); this.$element.html(QWeb.render("Database", this));
this.$element.closest(".openerp").removeClass("login-mode");
this.$element.closest(".openerp").removeClass("login-mode");
this.$element.closest(".openerp").addClass("database_block"); this.$element.closest(".openerp").addClass("database_block");
var self = this; var self = this;
@ -710,8 +709,8 @@ openerp.base.Database = openerp.base.Controller.extend({
}); });
this.rpc("/base/session/get_lang_list", {}, function(result) { this.rpc("/base/session/get_lang_list", {}, function(result) {
self.lang_list = result.lang_list; self.lang_list = result.lang_list;
self.do_db_create(); self.do_db_create();
}); });
this.$element.find('#db-create').click(this.do_db_create); this.$element.find('#db-create').click(this.do_db_create);
@ -720,228 +719,227 @@ openerp.base.Database = openerp.base.Controller.extend({
this.$element.find('#db-restore').click(this.do_db_restore); this.$element.find('#db-restore').click(this.do_db_restore);
this.$element.find('#db-change-password').click(this.do_change_password); this.$element.find('#db-change-password').click(this.do_change_password);
this.$element.find('#back-to-login').click(function() { this.$element.find('#back-to-login').click(function() {
self.header = new openerp.base.Header(self, "oe_header"); self.header = new openerp.base.Header(self, "oe_header");
self.header.on_logout(); self.header.on_logout();
}); });
}, },
do_db_create: function() { do_db_create: function() {
var self = this; var self = this;
self.db_string = "CREATE DATABASE"; self.db_string = "CREATE DATABASE";
self.$option_id.html(QWeb.render("CreateDB", self)); self.$option_id.html(QWeb.render("CreateDB", self));
$("form[name=create_db_form]").validate(); $("form[name=create_db_form]").validate();
$("input[name=create_confirm_pwd]").rules("add", { $("input[name=create_confirm_pwd]").rules("add", {
equalTo: 'input[name=create_admin_pwd]', equalTo: 'input[name=create_admin_pwd]',
messages: { messages: {
required: "Password did not match !" required: "Password did not match !"
} }
}); });
$("input[name=super_admin_pwd]").focus(); $("input[name=super_admin_pwd]").focus();
self.$option_id.find('form[name=create_db_form]').submit(function(ev) { self.$option_id.find('form[name=create_db_form]').submit(function(ev) {
ev.preventDefault(); ev.preventDefault();
var super_admin_pwd = self.$option_id.find("input[name=super_admin_pwd]").val(); 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 db = self.$option_id.find("input[name=db_name]").val();
var demo_data = self.$option_id.find("input[name=demo_data]:checked"); 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 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 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(); var confirm_pwd = self.$option_id.find("input[name=create_confirm_pwd]").val();
if (demo_data.length) if (demo_data.length)
demo_data = 'True'; demo_data = 'True';
else else
demo_data = 'False'; demo_data = 'False';
self.rpc("/base/database/db_operation", { self.rpc("/base/database/create_db", {
'flag': 'create', 'super_admin_pwd': super_admin_pwd,
'super_admin_pwd': super_admin_pwd, 'db': db,
'db': db, 'demo_data': demo_data,
'demo_data': demo_data, 'db_lang': db_lang,
'db_lang': db_lang, 'admin_pwd': admin_pwd,
'admin_pwd': admin_pwd, 'confirm_pwd': confirm_pwd
'confirm_pwd': confirm_pwd },
}, function(result) {
function(result) { if (result && !result.error) {
if (result && !result.error) {
} else if(result.error) {
} else if(result.error) { var db_error_dialog = _.uniqueId("db_error_dialog");
var db_error_dialog = _.uniqueId("db_error_dialog"); $('<div>', {id: db_error_dialog}).dialog({
$('<div>', {id: db_error_dialog}).dialog({ modal: true,
modal: true, title: result.title,
title: result.title, buttons: {
buttons: { Ok: function() {
Ok: function() { $(this).dialog("close");
$(this).dialog("close"); }
} }
} }).html("<center style='padding-top: 15px; font-size: 15px'>" + result.error + "</center>");
}).html("<center style='padding-top: 15px; font-size: 15px'>" + result.error + "</center>"); }
} });
}); });
});
}, },
do_db_drop: function() { do_db_drop: function() {
var self = this; var self = this;
self.db_string = "DROP DATABASE"; self.db_string = "DROP DATABASE";
self.$option_id.html(QWeb.render("DropDB", self)); self.$option_id.html(QWeb.render("DropDB", self));
$("form[name=drop_db_form]").validate(); $("form[name=drop_db_form]").validate();
self.$option_id.find('form[name=drop_db_form]').submit(function(ev) { self.$option_id.find('form[name=drop_db_form]').submit(function(ev) {
ev.preventDefault(); ev.preventDefault();
var db = self.$option_id.find("select[name=drop_db]").val(); var db = self.$option_id.find("select[name=drop_db]").val();
var password = self.$option_id.find("input[name=drop_pwd]").val(); var password = self.$option_id.find("input[name=drop_pwd]").val();
if (confirm("Do you really want to delete the database: " + db + " ?")) { if (confirm("Do you really want to delete the database: " + db + " ?")) {
self.rpc("/base/database/db_operation", {'flag': 'drop', 'db': db, 'password': password}, self.rpc("/base/database/drop_db", {'db': db, 'password': password},
function(result) { function(result) {
if (result && ! result.error) { if (result && ! result.error) {
self.$option_id.find("select[name=drop_db] :selected").remove(); self.$option_id.find("select[name=drop_db] :selected").remove();
self.notification.notify("Dropping database", "The database '" + db + "' has been dropped"); self.notification.notify("Dropping database", "The database '" + db + "' has been dropped");
} else if(result.error) { } else if(result.error) {
var db_error_dialog = _.uniqueId("db_error_dialog"); var db_error_dialog = _.uniqueId("db_error_dialog");
$('<div>', {id: db_error_dialog}).dialog({ $('<div>', {id: db_error_dialog}).dialog({
modal: true, modal: true,
title: result.title, title: result.title,
buttons: { buttons: {
Ok: function() { Ok: function() {
$(this).dialog("close"); $(this).dialog("close");
} }
} }
}).html("<center style='padding-top: 15px; font-size: 15px'>" + result.error + "</center>"); }).html("<center style='padding-top: 15px; font-size: 15px'>" + result.error + "</center>");
} }
}); });
} }
}); });
}, },
do_db_backup: function() { do_db_backup: function() {
var self = this; var self = this;
self.db_string = "BACKUP DATABASE"; self.db_string = "BACKUP DATABASE";
self.$option_id.html(QWeb.render("BackupDB", self)); self.$option_id.html(QWeb.render("BackupDB", self));
$("form[name=backup_db_form]").validate(); $("form[name=backup_db_form]").validate();
self.$option_id.find('form[name=backup_db_form]').submit(function(ev) { self.$option_id.find('form[name=backup_db_form]').submit(function(ev) {
ev.preventDefault(); ev.preventDefault();
var db = self.$option_id.find("select[name=backup_db]").val(); var db = self.$option_id.find("select[name=backup_db]").val();
var password = self.$option_id.find("input[name=backup_pwd]").val(); var password = self.$option_id.find("input[name=backup_pwd]").val();
self.rpc("/base/database/db_operation", {'flag': 'backup', 'db': db, 'password': password}, self.rpc("/base/database/backup_db", {'db': db, 'password': password},
function(result) { function(result) {
if (result && !result.error) { if (result && !result.error) {
self.notification.notify("Backup Database", "Backup has been created for the database: '" + db + "'"); self.notification.notify("Backup Database", "Backup has been created for the database: '" + db + "'");
} else if(result.error) { } else if(result.error) {
var db_error_dialog = _.uniqueId("db_error_dialog"); var db_error_dialog = _.uniqueId("db_error_dialog");
$('<div>', {id: db_error_dialog}).dialog({ $('<div>', {id: db_error_dialog}).dialog({
modal: true, modal: true,
title: result.title, title: result.title,
buttons: { buttons: {
Ok: function() { Ok: function() {
$(this).dialog("close"); $(this).dialog("close");
} }
} }
}).html("<center style='padding-top: 15px; font-size: 15px'>" + result.error + "</center>"); }).html("<center style='padding-top: 15px; font-size: 15px'>" + result.error + "</center>");
} }
}); });
}); });
}, },
do_db_restore: function() { do_db_restore: function() {
var self = this; var self = this;
self.db_string = "RESTORE DATABASE"; self.db_string = "RESTORE DATABASE";
self.$option_id.html(QWeb.render("RestoreDB", self)); self.$option_id.html(QWeb.render("RestoreDB", self));
$("form[name=restore_db_form]").validate(); $("form[name=restore_db_form]").validate();
self.$option_id.find('form[name=restore_db_form]').submit(function(ev) { self.$option_id.find('form[name=restore_db_form]').submit(function(ev) {
ev.preventDefault(); 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/database/db_operation", {'flag': 'restore', 'db': db, 'password': password, 'new_db': new_db}, var db = self.$option_id.find("input[name=restore_db]").val();
function(result) { var password = self.$option_id.find("input[name=restore_pwd]").val();
if (result && !result.error) { var new_db = self.$option_id.find("input[name=new_db]").val();
self.notification.notify("Restore Database", "You restored your database as: '" + new_db + "'");
} else if(result.error) { self.rpc("/base/database/restore_db", {'db': db, 'password': password, 'new_db': new_db},
var db_error_dialog = _.uniqueId("db_error_dialog"); function(result) {
$('<div>', {id: db_error_dialog}).dialog({ if (result && !result.error) {
modal: true, self.notification.notify("Restore Database", "You restored your database as: '" + new_db + "'");
title: result.title, } else if(result.error) {
buttons: { var db_error_dialog = _.uniqueId("db_error_dialog");
Ok: function() { $('<div>', {id: db_error_dialog}).dialog({
$(this).dialog("close"); modal: true,
} title: result.title,
} buttons: {
}).html("<center style='padding-top: 15px; font-size: 15px'>" + result.error + "</center>"); Ok: function() {
} $(this).dialog("close");
}); }
}
}).html("<center style='padding-top: 15px; font-size: 15px'>" + result.error + "</center>");
}
});
}); });
}, },
do_change_password: function() { do_change_password: function() {
var self = this; var self = this;
self.db_string = "CHANGE DATABASE PASSWORD"; self.db_string = "CHANGE DATABASE PASSWORD";
self.$option_id.html(QWeb.render("Change_DB_Pwd", self)); self.$option_id.html(QWeb.render("Change_DB_Pwd", self));
$("form[name=change_pwd_form]").validate(); $("form[name=change_pwd_form]").validate();
$("input[name=old_pwd]").rules("add", { $("input[name=old_pwd]").rules("add", {
minlength: 1, minlength: 1,
messages: { messages: {
required: "Please enter password !" required: "Please enter password !"
} }
}); });
$("input[name=new_pwd]").rules("add", { $("input[name=new_pwd]").rules("add", {
minlength: 1, minlength: 1,
messages: { messages: {
required: "Please enter password !" required: "Please enter password !"
} }
}); });
$("input[name=confirm_pwd]").rules("add", { $("input[name=confirm_pwd]").rules("add", {
equalTo: 'input[name=new_pwd]', equalTo: 'input[name=new_pwd]',
messages: { messages: {
required: "Password did not match !" required: "Password did not match !"
} }
}); });
$("input[name=old_pwd]").focus(); $("input[name=old_pwd]").focus();
self.$option_id.find('form[name=change_pwd_form]').submit(function(ev) { self.$option_id.find('form[name=change_pwd_form]').submit(function(ev) {
ev.preventDefault(); ev.preventDefault();
var old_pwd = self.$option_id.find("input[name=old_pwd]").val(); 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 new_pwd = self.$option_id.find("input[name=new_pwd]").val();
var confirm_pwd = self.$option_id.find("input[name=confirm_pwd]").val(); var confirm_pwd = self.$option_id.find("input[name=confirm_pwd]").val();
self.rpc("/base/database/db_operation", {'flag': 'change_password', 'old_password': old_pwd, 'new_password': new_pwd, 'confirm_password': confirm_pwd}, self.rpc("/base/database/change_password_db", {'old_password': old_pwd, 'new_password': new_pwd, 'confirm_password': confirm_pwd},
function(result) { function(result) {
if (result && !result.error) { if (result && !result.error) {
self.notification.notify("Changed Password", "Password has been changed successfully"); self.notification.notify("Changed Password", "Password has been changed successfully");
} else if(result.error) { } else if(result.error) {
var db_error_dialog = _.uniqueId("db_error_dialog"); var db_error_dialog = _.uniqueId("db_error_dialog");
$('<div>', {id: db_error_dialog}).dialog({ $('<div>', {id: db_error_dialog}).dialog({
modal: true, modal: true,
title: result.title, title: result.title,
buttons: { buttons: {
Ok: function() { Ok: function() {
$(this).dialog("close"); $(this).dialog("close");
} }
} }
}).html("<center style='padding-top: 15px; font-size: 15px'>" + result.error + "</center>"); }).html("<center style='padding-top: 15px; font-size: 15px'>" + result.error + "</center>");
} }
}); });
}); });
} }
}); });
openerp.base.Login = openerp.base.Controller.extend({ openerp.base.Login = openerp.base.Controller.extend({
@ -984,8 +982,8 @@ openerp.base.Login = openerp.base.Controller.extend({
this.$element.closest(".openerp").addClass("login-mode"); this.$element.closest(".openerp").addClass("login-mode");
this.$element.find('#oe-db-config').click(function() { this.$element.find('#oe-db-config').click(function() {
self.database = new openerp.base.Database(self, "oe_database", "oe_db_options"); self.database = new openerp.base.Database(self, "oe_database", "oe_db_options");
self.database.start(); self.database.start();
}); });
this.$element.find("form").submit(this.on_submit); this.$element.find("form").submit(this.on_submit);