diff options
| author | Alon Levy <alon@pobox.com> | 2015-04-27 16:55:25 +0300 |
|---|---|---|
| committer | Alon Levy <alon@pobox.com> | 2015-04-27 16:55:25 +0300 |
| commit | 49e1665233945b9e9e8b3a621bbbe73646a61bf3 (patch) | |
| tree | 5a08775881685a2dc75b9557eeddd92742603556 | |
| parent | 81aa2aa1da3342133ef2b7a67053cea5bc93402c (diff) | |
server: allow disabling signup (default to enabled)
| -rw-r--r-- | res/etc/rhizi-server.conf.example | 1 | ||||
| -rw-r--r-- | res/templates/login.html | 2 | ||||
| -rw-r--r-- | src/server/rz_server.py | 4 | ||||
| -rw-r--r-- | src/server/rz_user.py | 2 |
4 files changed, 7 insertions, 2 deletions
diff --git a/res/etc/rhizi-server.conf.example b/res/etc/rhizi-server.conf.example index a5358dc1..e1ea2d22 100644 --- a/res/etc/rhizi-server.conf.example +++ b/res/etc/rhizi-server.conf.example @@ -55,6 +55,7 @@ feedback_recipient = feedback@localhost access_control = True user_db_path = ./deploy-local/etc/user_db.db acl__singup__email_domain = +signup_enabled = True # ----------------------------------------------------------------------------- # Client settings diff --git a/res/templates/login.html b/res/templates/login.html index 14b6b759..b4d7f978 100644 --- a/res/templates/login.html +++ b/res/templates/login.html @@ -41,12 +41,14 @@ body { <div id="login-view_failed-login" style="display: none">Login Failed</div> <div class="login-text" id="login-page_forgot-password-button" title="Forgot your password"><a href="/pw-reset">Forgot your password?</a></div> </div> + {% if signup_enabled %} <div id="create-account-section" class="login-view-section login-form"> <div class="section-divider">or</div> <a href="/signup"> <div class="login-form_button" id="login-page_create-account-button" title="Create Account">Create Account</div> </a> </div> + {% endif %} <div class="login-view-section"> <div class="section-divider magenta-divider"><span class="contact-us-icon"></span></div> <p class="login-text contact-us-text"><a class="contact-us-link" href="mailto:feedback_CRI@rhizi.net?subject=Rhizi%20User%20Feedback">Email us</a> with your feedback,<br>we would love to hear your suggestions!</p> diff --git a/src/server/rz_server.py b/src/server/rz_server.py index adb0beab..c5e5e17d 100644 --- a/src/server/rz_server.py +++ b/src/server/rz_server.py @@ -81,6 +81,7 @@ class Config(object): # depends on 'access_control==True', default: no restriction applied cfg['access_control'] = True cfg['acl__singup__email_domain'] = None + cfg['signup_enabled'] = True # Rhizi cfg['rzdoc__mainpage_name'] = 'Welcome Rhizi' @@ -307,7 +308,6 @@ def init_rest_interface(cfg, flask_webapp): rest_entry('/logout', rz_user.rest__logout, {'methods': ['GET', 'POST']}), rest_entry('/match/node-set', rz_api_rest.match_node_set_by_attr_filter_map), rest_entry('/pw-reset', rz_user.rest__pw_reset, {'methods': ['GET', 'POST']}), - rest_entry('/signup', rz_user.rest__user_signup, {'methods': ['GET', 'POST']}), # doc endpoints rest_entry('/rz/<path:rzdoc_name>', rz_api_rest.rzdoc__via_rz_url, {'methods': ['GET']}), # pretty URLs @@ -327,6 +327,8 @@ def init_rest_interface(cfg, flask_webapp): # redirects - currently handled by reverse proxy ] + if cfg.signup_enabled: + rest_entry_set.append(rest_entry('/signup', rz_user.rest__user_signup, {'methods': ['GET', 'POST']})) # FIXME: but should be rate limited (everything should be, regardless of login) no_login_paths = ['/feedback', '/login', '/pw-reset', '/signup'] diff --git a/src/server/rz_user.py b/src/server/rz_user.py index c71c38f6..4b4414b8 100644 --- a/src/server/rz_user.py +++ b/src/server/rz_user.py @@ -176,7 +176,7 @@ def rest__login(): return make_response__json(status=200) # return empty response if request.method == 'GET': - return render_template('login.html') + return render_template('login.html', signup_enabled=current_app.rz_config.signup_enabled) def rest__logout(): """ |
