[imp] added db selection
bzr revid: nicolas.vanhoren@openerp.com-20110606114306-bbb8r3fvtxvvamcq
This commit is contained in:
@@ -98,6 +98,13 @@ class Session(openerpweb.Controller):
|
||||
"session_id": req.session_id,
|
||||
"uid": req.session._uid,
|
||||
}
|
||||
|
||||
@openerpweb.jsonrequest
|
||||
def get_databases_list(self, req):
|
||||
proxy = req.session.proxy("db")
|
||||
dbs = proxy.list()
|
||||
|
||||
return {"db_list": dbs}
|
||||
|
||||
@openerpweb.jsonrequest
|
||||
def modules(self, req):
|
||||
|
||||
@@ -90,7 +90,8 @@ body.openerp {
|
||||
padding: 3px;
|
||||
text-align: right;
|
||||
}
|
||||
.openerp .login .oe_box2 td input {
|
||||
.openerp .login .oe_box2 td input,
|
||||
.openerp .login .oe_box2 td select {
|
||||
width: 100%;
|
||||
}
|
||||
.openerp .login .oe_login_right_pane {
|
||||
|
||||
@@ -778,26 +778,29 @@ openerp.base.Login = openerp.base.Controller.extend({
|
||||
this._super(session, element_id);
|
||||
},
|
||||
start: function() {
|
||||
this.$element.html(QWeb.render("Login", {}));
|
||||
this.$element.find("form").submit(this.on_submit);
|
||||
var self = this;
|
||||
this.rpc("/base/session/get_databases_list", {}, function(result) {
|
||||
self.db_list = result.db_list;
|
||||
self.display();
|
||||
}, function() {
|
||||
self.display();
|
||||
});
|
||||
},
|
||||
display: function() {
|
||||
this.$element.html(QWeb.render("Login", this));
|
||||
this.$element.find("form").submit(this.on_submit);
|
||||
},
|
||||
on_login_invalid: function() {
|
||||
this.$element
|
||||
.removeClass("login_valid")
|
||||
.addClass("login_invalid");
|
||||
this.$element.closest(".openerp").addClass("login-mode");
|
||||
},
|
||||
on_login_valid: function() {
|
||||
this.$element
|
||||
.removeClass("login_invalid")
|
||||
.addClass("login_valid");
|
||||
this.$element.closest(".openerp").removeClass("login-mode");
|
||||
},
|
||||
on_submit: function(ev) {
|
||||
ev.preventDefault();
|
||||
var self = this;
|
||||
var $e = this.$element;
|
||||
var db = $e.find("form input[name=db]").val();
|
||||
var db = $e.find("form [name=db]").val();
|
||||
var login = $e.find("form input[name=login]").val();
|
||||
var password = $e.find("form input[name=password]").val();
|
||||
//$e.hide();
|
||||
@@ -806,12 +809,15 @@ openerp.base.Login = openerp.base.Controller.extend({
|
||||
if(self.session.session_is_valid()) {
|
||||
self.on_login_valid();
|
||||
} else {
|
||||
self.$element.addClass("login_invalid");
|
||||
self.on_login_invalid();
|
||||
}
|
||||
});
|
||||
},
|
||||
do_ask_login: function(continuation) {
|
||||
this.on_login_invalid();
|
||||
this.$element
|
||||
.removeClass("login_invalid");
|
||||
this.on_login_valid.add({
|
||||
position: "last",
|
||||
unique: true,
|
||||
|
||||
@@ -61,7 +61,16 @@
|
||||
<tr>
|
||||
<td><label for="db">Database:</label></td>
|
||||
<td class="oe_field_value">
|
||||
<input type="text" name="db" value="trunk" autofocus="true"/>
|
||||
<t t-if="!db_list">
|
||||
<input type="text" name="db" value="trunk" autofocus="true"/>
|
||||
</t>
|
||||
<t t-if="db_list">
|
||||
<select name="db">
|
||||
<t t-foreach="db_list" t-as="db">
|
||||
<option t-att-value="db" t-att-selected="db == 'trunk'"><t t-esc="db"/></option>
|
||||
</t>
|
||||
</select>
|
||||
</t>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
|
||||
Reference in New Issue
Block a user