diff --git a/addons/base/controllers/main.py b/addons/base/controllers/main.py
index f153c3da747..609466a19df 100644
--- a/addons/base/controllers/main.py
+++ b/addons/base/controllers/main.py
@@ -124,7 +124,10 @@ class Session(openerpweb.Controller):
@openerpweb.jsonrequest
def db_operation(self, req, flag, **kw):
- if flag == 'drop':
+ if flag == 'create':
+ pass
+
+ elif flag == 'drop':
db = kw.get('db')
password = kw.get('password')
diff --git a/addons/base/static/src/css/base.css b/addons/base/static/src/css/base.css
index bf0d29de965..16c56ffd369 100644
--- a/addons/base/static/src/css/base.css
+++ b/addons/base/static/src/css/base.css
@@ -190,6 +190,10 @@ ul.db_options li {
-moz-border-radius: 10px;
}
+table.db_option_table input.required {
+ background-color: #D2D2FF;
+}
+
.db_option_table input[type="text"], input[type="password"], select {
width: 300px;
}
diff --git a/addons/base/static/src/js/chrome.js b/addons/base/static/src/js/chrome.js
index ef86595245d..3de046be84c 100644
--- a/addons/base/static/src/js/chrome.js
+++ b/addons/base/static/src/js/chrome.js
@@ -935,6 +935,49 @@ openerp.base.Database = openerp.base.Controller.extend({
self.$option_id.html(QWeb.render("CreateDB", self));
$("form[name=create_db_form]").validate();
+
+ $("input[name=create_confirm_pwd]").rules("add", {
+ equalTo: 'input[name=create_admin_pwd]',
+ messages: {
+ required: "Password did not match !"
+ }
+ });
+
+ $("input[name=super_admin_pwd]").focus();
+
+ 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';
+
+ self.rpc("/base/session/db_operation", {
+ 'flag': 'create',
+ 'super_admin_pwd': super_admin_pwd,
+ 'db': db,
+ 'demo_data': demo_data,
+ 'db_lang': db_lang,
+ 'admin_pwd': admin_pwd,
+ 'confirm_pwd': confirm_pwd
+ },
+ function(result) {
+ if (result && !result.error) {
+
+ }
+ });
+
+ });
+
+
});
self.$element.find('#db-drop').click(function() {
@@ -1015,21 +1058,18 @@ openerp.base.Database = openerp.base.Controller.extend({
$("form[name=change_pwd_form]").validate();
$("input[name=old_pwd]").rules("add", {
- required: true,
minlength: 1,
messages: {
required: "Please enter password !"
}
});
$("input[name=new_pwd]").rules("add", {
- required: true,
minlength: 1,
messages: {
required: "Please enter password !"
}
});
$("input[name=confirm_pwd]").rules("add", {
- required: true,
equalTo: 'input[name=new_pwd]',
messages: {
required: "Password did not match !"
diff --git a/addons/base/static/src/xml/base.xml b/addons/base/static/src/xml/base.xml
index add5f8a14b9..459c5d5b591 100644
--- a/addons/base/static/src/xml/base.xml
+++ b/addons/base/static/src/xml/base.xml
@@ -80,15 +80,15 @@