[IMP] Clean signup show/hide. Add 'reset' state
bzr revid: fme@openerp.com-20130226150329-uny1inbelywkxu35
This commit is contained in:
@@ -3,28 +3,39 @@ openerp.auth_signup = function(instance) {
|
||||
var _t = instance.web._t;
|
||||
|
||||
instance.web.Login.include({
|
||||
init: function() {
|
||||
this._super.apply(this, arguments);
|
||||
this.on('change:login-mode', this, function() {
|
||||
/*
|
||||
* Switches the login box to the select mode
|
||||
* whith mode == [default|signup|reset]
|
||||
*/
|
||||
var self = this;
|
||||
var mode = this.get('login-mode') || 'default';
|
||||
self.$('*[data-modes]').each(function() {
|
||||
var modes = $(this).data('modes').split(/\s+/);
|
||||
$(this).toggle(modes.indexOf(mode) > -1);
|
||||
});
|
||||
});
|
||||
},
|
||||
start: function() {
|
||||
var self = this;
|
||||
this.set({ 'login-mode': 'default' });
|
||||
var d = this._super();
|
||||
d.done(function() {
|
||||
self.$(".oe_signup_show").hide();
|
||||
// to switch between the signup and regular login form
|
||||
self.$('a.oe_signup_signup').click(function(ev) {
|
||||
if (ev) {
|
||||
ev.preventDefault();
|
||||
}
|
||||
self.$el.addClass("oe_login_signup");
|
||||
self.$(".oe_signup_show").show();
|
||||
self.$(".oe_signup_hide").hide();
|
||||
self.set({ 'login-mode': 'signup' });
|
||||
return false;
|
||||
});
|
||||
self.$('a.oe_signup_back').click(function(ev) {
|
||||
if (ev) {
|
||||
ev.preventDefault();
|
||||
}
|
||||
self.$el.removeClass("oe_login_signup");
|
||||
self.$(".oe_signup_show").hide();
|
||||
self.$(".oe_signup_hide").show();
|
||||
self.set({ 'login-mode': 'default' });
|
||||
delete self.params.token;
|
||||
return false;
|
||||
});
|
||||
@@ -51,22 +62,18 @@ openerp.auth_signup = function(instance) {
|
||||
// bind reset password link
|
||||
self.$('a.oe_signup_reset_password').click(self.do_reset_password);
|
||||
|
||||
// make signup link and reset password link visible only when enabled
|
||||
self.$('a.oe_signup_signup').hide();
|
||||
self.$('a.oe_signup_reset_password').hide();
|
||||
if (dbname) {
|
||||
self.rpc("/auth_signup/get_config", {dbname: dbname})
|
||||
.done(function(result) {
|
||||
if (result.signup) {
|
||||
self.$('a.oe_signup_signup').show();
|
||||
self.set({ 'login-mode': 'signup' });
|
||||
}
|
||||
if (result.reset_password) {
|
||||
self.$('a.oe_signup_reset_password').show();
|
||||
self.set({ 'login-mode': 'reset' });
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
return d;
|
||||
},
|
||||
|
||||
@@ -76,9 +83,7 @@ openerp.auth_signup = function(instance) {
|
||||
this.on_db_loaded([result.db]);
|
||||
if (result.token) {
|
||||
// switch to signup mode, set user name and login
|
||||
this.$el.addClass("oe_login_signup");
|
||||
self.$(".oe_signup_show").show();
|
||||
self.$(".oe_signup_hide").hide();
|
||||
this.set({ 'login-mode': 'signup' });
|
||||
this.$("form input[name=name]").val(result.name).attr("readonly", "readonly");
|
||||
if (result.login) {
|
||||
this.$("form input[name=login]").val(result.login).attr("readonly", "readonly");
|
||||
@@ -88,6 +93,7 @@ openerp.auth_signup = function(instance) {
|
||||
} else {
|
||||
// remain in login mode, set login if present
|
||||
delete this.params.token;
|
||||
this.set({ 'login-mode': 'default' });
|
||||
this.$("form input[name=login]").val(result.login || "");
|
||||
}
|
||||
},
|
||||
@@ -105,7 +111,8 @@ openerp.auth_signup = function(instance) {
|
||||
if (ev) {
|
||||
ev.preventDefault();
|
||||
}
|
||||
if (this.$el.hasClass("oe_login_signup")) {
|
||||
var login_mode = this.get('login-mode');
|
||||
if (login_mode === 'signup' || login_mode === 'reset') {
|
||||
// signup user (or reset password)
|
||||
var db = this.$("form [name=db]").val();
|
||||
var name = this.$("form input[name=name]").val();
|
||||
|
||||
@@ -5,24 +5,27 @@
|
||||
|
||||
<t t-extend="Login">
|
||||
<t t-jquery="form ul:first li:contains('Username')" t-operation="before">
|
||||
<li class="oe_signup_show">Name</li>
|
||||
<li class="oe_signup_show"><input name="name" type="text"/></li>
|
||||
<li data-modes="signup reset">Name</li>
|
||||
<li data-modes="signup reset"><input name="name" type="text"/></li>
|
||||
</t>
|
||||
<t t-jquery="form ul:first li:contains('Username')" t-operation="replace">
|
||||
<li class="oe_signup_hide">Username</li>
|
||||
<li class="oe_signup_show">Username (Email)</li>
|
||||
<li data-modes="default">Username</li>
|
||||
<li data-modes="signup reset">Username (Email)</li>
|
||||
</t>
|
||||
<t t-jquery="form ul:first li:has(input[name=password])" t-operation="after">
|
||||
<li class="oe_signup_show">Confirm Password</li>
|
||||
<li class="oe_signup_show"><input name="confirm_password" type="password"/></li>
|
||||
<li data-modes="signup reset">Confirm Password</li>
|
||||
<li data-modes="signup reset"><input name="confirm_password" type="password"/></li>
|
||||
</t>
|
||||
<t t-jquery="form ul:first li:has(button[name=submit])" t-operation="replace">
|
||||
<li>
|
||||
<button class="oe_signup_hide" name="submit">Log in</button>
|
||||
<button class="oe_signup_show" name="submit">Sign up</button>
|
||||
<a class="oe_signup_hide oe_signup_signup" href="#">Sign Up</a>
|
||||
<a class="oe_signup_show oe_signup_back" href="#">Back to Login</a>
|
||||
<a class="oe_signup_reset_password" href="#">Reset password</a>
|
||||
<button name="submit">
|
||||
<span data-modes="default">Log in</span>
|
||||
<span data-modes="signup">Sign Up</span>
|
||||
<span data-modes="reset">Reset password</span>
|
||||
</button>
|
||||
<a class="oe_signup_signup" data-modes="default" href="#">Sign Up</a>
|
||||
<a class="oe_signup_back" data-modes="signup reset" href="#">Back to Login</a>
|
||||
<a class="oe_signup_reset_password" data-modes="default" href="#">Reset password</a>
|
||||
</li>
|
||||
</t>
|
||||
</t>
|
||||
|
||||
Reference in New Issue
Block a user