[IMP] auth_signup: on login page, show the links 'Sign Up' and 'Reset Password' only when enabled
bzr revid: rco@openerp.com-20121203154811-1v0f3eu444rkw6cp
This commit is contained in:
parent
41ceffd52b
commit
4d200952f7
|
@ -32,6 +32,18 @@ _logger = logging.getLogger(__name__)
|
|||
class Controller(openerp.addons.web.http.Controller):
|
||||
_cp_path = '/auth_signup'
|
||||
|
||||
@openerp.addons.web.http.jsonrequest
|
||||
def get_config(self, req, dbname):
|
||||
""" retrieve the module config (which features are enabled) for the login page """
|
||||
registry = RegistryManager.get(dbname)
|
||||
with registry.cursor() as cr:
|
||||
icp = registry.get('ir.config_parameter')
|
||||
config = {
|
||||
'signup': icp.get_param(cr, openerp.SUPERUSER_ID, 'auth_signup.allow_uninvited') == 'True',
|
||||
'reset_password': icp.get_param(cr, openerp.SUPERUSER_ID, 'auth_signup.reset_password') == 'True',
|
||||
}
|
||||
return config
|
||||
|
||||
@openerp.addons.web.http.jsonrequest
|
||||
def retrieve(self, req, dbname, token):
|
||||
""" retrieve the user info (name, login or email) corresponding to a signup token """
|
||||
|
|
|
@ -26,14 +26,19 @@ class base_config_settings(osv.TransientModel):
|
|||
_inherit = 'base.config.settings'
|
||||
|
||||
_columns = {
|
||||
'auth_signup_uninvited': fields.boolean('Allow external users to sign up', help="If unchecked, only invited users may sign up"),
|
||||
'auth_signup_template_user_id': fields.many2one('res.users', 'Template user for new users created through signup'),
|
||||
'auth_signup_reset_password': fields.boolean('Enable password reset from Login page',
|
||||
help="This allows users to trigger a password reset from the Login page."),
|
||||
'auth_signup_uninvited': fields.boolean('Allow external users to sign up',
|
||||
help="If unchecked, only invited users may sign up."),
|
||||
'auth_signup_template_user_id': fields.many2one('res.users',
|
||||
string='Template user for new users created through signup'),
|
||||
}
|
||||
|
||||
def get_default_auth_signup_template_user_id(self, cr, uid, fields, context=None):
|
||||
icp = self.pool.get('ir.config_parameter')
|
||||
# we use safe_eval on the result, since the value of the parameter is a nonempty string
|
||||
return {
|
||||
'auth_signup_reset_password': safe_eval(icp.get_param(cr, uid, 'auth_signup.reset_password', 'False')),
|
||||
'auth_signup_uninvited': safe_eval(icp.get_param(cr, uid, 'auth_signup.allow_uninvited', 'False')),
|
||||
'auth_signup_template_user_id': safe_eval(icp.get_param(cr, uid, 'auth_signup.template_user_id', 'False')),
|
||||
}
|
||||
|
@ -42,5 +47,6 @@ class base_config_settings(osv.TransientModel):
|
|||
config = self.browse(cr, uid, ids[0], context=context)
|
||||
icp = self.pool.get('ir.config_parameter')
|
||||
# we store the repr of the values, since the value of the parameter is a required string
|
||||
icp.set_param(cr, uid, 'auth_signup.reset_password', repr(config.auth_signup_reset_password))
|
||||
icp.set_param(cr, uid, 'auth_signup.allow_uninvited', repr(config.auth_signup_uninvited))
|
||||
icp.set_param(cr, uid, 'auth_signup.template_user_id', repr(config.auth_signup_template_user_id.id))
|
||||
|
|
|
@ -8,6 +8,10 @@
|
|||
<field name="inherit_id" ref="base_setup.view_general_configuration"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//field[@name='module_auth_anonymous']/.." position="after">
|
||||
<div>
|
||||
<field name="auth_signup_reset_password" class="oe_inline"/>
|
||||
<label for="auth_signup_reset_password"/>
|
||||
</div>
|
||||
<div>
|
||||
<field name="auth_signup_uninvited" class="oe_inline"/>
|
||||
<label for="auth_signup_uninvited"/>
|
||||
|
|
|
@ -45,7 +45,22 @@ openerp.auth_signup = function(instance) {
|
|||
}
|
||||
|
||||
// bind reset password link
|
||||
this.$('a.oe_reset_password').click(this.do_reset_password);
|
||||
this.$('a.oe_signup_reset_password').click(this.do_reset_password);
|
||||
|
||||
// make signup link and reset password link visible only when enabled
|
||||
this.$('a.oe_signup_signup').hide();
|
||||
this.$('a.oe_signup_reset_password').hide();
|
||||
if (this.params.db) {
|
||||
this.rpc("/auth_signup/get_config", {dbname: self.params.db})
|
||||
.done(function(result) {
|
||||
if (result.signup) {
|
||||
self.$('a.oe_signup_signup').show();
|
||||
}
|
||||
if (result.reset_password) {
|
||||
self.$('a.oe_signup_reset_password').show();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
return d;
|
||||
},
|
||||
|
|
|
@ -22,11 +22,9 @@
|
|||
<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>
|
||||
</li>
|
||||
</t>
|
||||
<t t-jquery="form ul:first li:last" t-operation="after">
|
||||
<li><a class="oe_reset_password" href="#">Reset password</a></li>
|
||||
</t>
|
||||
</t>
|
||||
|
||||
</templates>
|
||||
|
|
Loading…
Reference in New Issue