summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlon Levy <alon@pobox.com>2015-04-27 16:55:25 +0300
committerAlon Levy <alon@pobox.com>2015-04-27 16:55:25 +0300
commit49e1665233945b9e9e8b3a621bbbe73646a61bf3 (patch)
tree5a08775881685a2dc75b9557eeddd92742603556
parent81aa2aa1da3342133ef2b7a67053cea5bc93402c (diff)
server: allow disabling signup (default to enabled)
-rw-r--r--res/etc/rhizi-server.conf.example1
-rw-r--r--res/templates/login.html2
-rw-r--r--src/server/rz_server.py4
-rw-r--r--src/server/rz_user.py2
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():
"""