diff --git a/addons/auth_signup/controllers/main.py b/addons/auth_signup/controllers/main.py
index a2b77502737..d2429e8dfd2 100644
--- a/addons/auth_signup/controllers/main.py
+++ b/addons/auth_signup/controllers/main.py
@@ -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 """
diff --git a/addons/auth_signup/res_config.py b/addons/auth_signup/res_config.py
index 21fce19745c..9cdb41568ff 100644
--- a/addons/auth_signup/res_config.py
+++ b/addons/auth_signup/res_config.py
@@ -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))
diff --git a/addons/auth_signup/res_config.xml b/addons/auth_signup/res_config.xml
index 9d3eb4eaa5a..86c56a065a7 100644
--- a/addons/auth_signup/res_config.xml
+++ b/addons/auth_signup/res_config.xml
@@ -8,6 +8,10 @@
+
+
+
+
diff --git a/addons/auth_signup/static/src/js/auth_signup.js b/addons/auth_signup/static/src/js/auth_signup.js
index 562332556ab..14308955272 100644
--- a/addons/auth_signup/static/src/js/auth_signup.js
+++ b/addons/auth_signup/static/src/js/auth_signup.js
@@ -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;
},
diff --git a/addons/auth_signup/static/src/xml/auth_signup.xml b/addons/auth_signup/static/src/xml/auth_signup.xml
index d1ae437860f..d1c04cb6807 100644
--- a/addons/auth_signup/static/src/xml/auth_signup.xml
+++ b/addons/auth_signup/static/src/xml/auth_signup.xml
@@ -22,11 +22,9 @@
Sign UpBack to Login
+ Reset password
-
-