[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):
|
class Controller(openerp.addons.web.http.Controller):
|
||||||
_cp_path = '/auth_signup'
|
_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
|
@openerp.addons.web.http.jsonrequest
|
||||||
def retrieve(self, req, dbname, token):
|
def retrieve(self, req, dbname, token):
|
||||||
""" retrieve the user info (name, login or email) corresponding to a signup 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'
|
_inherit = 'base.config.settings'
|
||||||
|
|
||||||
_columns = {
|
_columns = {
|
||||||
'auth_signup_uninvited': fields.boolean('Allow external users to sign up', help="If unchecked, only invited users may sign up"),
|
'auth_signup_reset_password': fields.boolean('Enable password reset from Login page',
|
||||||
'auth_signup_template_user_id': fields.many2one('res.users', 'Template user for new users created through signup'),
|
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):
|
def get_default_auth_signup_template_user_id(self, cr, uid, fields, context=None):
|
||||||
icp = self.pool.get('ir.config_parameter')
|
icp = self.pool.get('ir.config_parameter')
|
||||||
# we use safe_eval on the result, since the value of the parameter is a nonempty string
|
# we use safe_eval on the result, since the value of the parameter is a nonempty string
|
||||||
return {
|
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_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')),
|
'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)
|
config = self.browse(cr, uid, ids[0], context=context)
|
||||||
icp = self.pool.get('ir.config_parameter')
|
icp = self.pool.get('ir.config_parameter')
|
||||||
# we store the repr of the values, since the value of the parameter is a required string
|
# 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.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))
|
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="inherit_id" ref="base_setup.view_general_configuration"/>
|
||||||
<field name="arch" type="xml">
|
<field name="arch" type="xml">
|
||||||
<xpath expr="//field[@name='module_auth_anonymous']/.." position="after">
|
<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>
|
<div>
|
||||||
<field name="auth_signup_uninvited" class="oe_inline"/>
|
<field name="auth_signup_uninvited" class="oe_inline"/>
|
||||||
<label for="auth_signup_uninvited"/>
|
<label for="auth_signup_uninvited"/>
|
||||||
|
|
|
@ -45,7 +45,22 @@ openerp.auth_signup = function(instance) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// bind reset password link
|
// 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;
|
return d;
|
||||||
},
|
},
|
||||||
|
|
|
@ -22,11 +22,9 @@
|
||||||
<button class="oe_signup_show" name="submit">Sign up</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_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_show oe_signup_back" href="#">Back to Login</a>
|
||||||
|
<a class="oe_signup_reset_password" href="#">Reset password</a>
|
||||||
</li>
|
</li>
|
||||||
</t>
|
</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>
|
</t>
|
||||||
|
|
||||||
</templates>
|
</templates>
|
||||||
|
|
Loading…
Reference in New Issue