aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRasmus Larsson <flame@constantine.(none)>2011-07-09 15:12:00 +0200
committerRasmus Larsson <flame@constantine.(none)>2011-07-09 15:12:00 +0200
commit13677ef97a24fea19fe8df1cce4812c18623d88f (patch)
treeba6ff42f13be8c2503cd57481b6234115ef98fea
parente6fd112d429d1fcc5994ff19c61bd67367a33ce5 (diff)
downloadmediagoblin-13677ef97a24fea19fe8df1cce4812c18623d88f.tar.lz
mediagoblin-13677ef97a24fea19fe8df1cce4812c18623d88f.tar.xz
mediagoblin-13677ef97a24fea19fe8df1cce4812c18623d88f.zip
Added configuration variable to toggle registrations, if disabled the registration page redirects to index and no link to register is shown
-rw-r--r--mediagoblin.ini3
-rw-r--r--mediagoblin/auth/views.py6
-rw-r--r--mediagoblin/config_spec.ini5
-rw-r--r--mediagoblin/templates/mediagoblin/root.html2
-rw-r--r--mediagoblin/views.py4
5 files changed, 18 insertions, 2 deletions
diff --git a/mediagoblin.ini b/mediagoblin.ini
index 596107dc..e889646a 100644
--- a/mediagoblin.ini
+++ b/mediagoblin.ini
@@ -8,6 +8,9 @@ email_sender_address = "notice@mediagoblin.example.org"
# set to false to enable sending notices
email_debug_mode = true
+# Set to false to disable registrations
+allow_registration = true
+
## Uncomment this to put some user-overriding templates here
#local_templates = %(here)s/user_dev/templates/
diff --git a/mediagoblin/auth/views.py b/mediagoblin/auth/views.py
index 2450023f..a6ae1407 100644
--- a/mediagoblin/auth/views.py
+++ b/mediagoblin/auth/views.py
@@ -19,6 +19,7 @@ import uuid
from webob import exc
from mediagoblin import messages
+from mediagoblin import mg_globals
from mediagoblin.util import render_to_response, redirect
from mediagoblin.db.util import ObjectId
from mediagoblin.auth import lib as auth_lib
@@ -30,6 +31,11 @@ def register(request):
"""
Your classic registration view!
"""
+
+ # Redirects to indexpage if registrations are disabled
+ if not mg_globals.app_config["allow_registration"]:
+ return redirect(request, "index")
+
register_form = auth_forms.RegistrationForm(request.POST)
if request.method == 'POST' and register_form.validate():
diff --git a/mediagoblin/config_spec.ini b/mediagoblin/config_spec.ini
index aadf5c21..b6356b0e 100644
--- a/mediagoblin/config_spec.ini
+++ b/mediagoblin/config_spec.ini
@@ -21,6 +21,9 @@ direct_remote_path = string(default="/mgoblin_static/")
email_debug_mode = boolean(default=True)
email_sender_address = string(default="notice@mediagoblin.example.org")
+# Set to false to disable registrations
+allow_registration = boolean(default=True)
+
# By default not set, but you might want something like:
# "%(here)s/user_dev/templates/"
local_templates = string()
@@ -73,4 +76,4 @@ celeryd_eta_scheduler_precision = float()
# known lists
celery_routes = string_list()
-celery_imports = string_list() \ No newline at end of file
+celery_imports = string_list()
diff --git a/mediagoblin/templates/mediagoblin/root.html b/mediagoblin/templates/mediagoblin/root.html
index 5b744999..ad9aabcb 100644
--- a/mediagoblin/templates/mediagoblin/root.html
+++ b/mediagoblin/templates/mediagoblin/root.html
@@ -29,10 +29,12 @@
If you have an account, you can
<a href="{{ request.urlgen('mediagoblin.auth.login') }}">Login</a>.
</p>
+ {% if allow_registration %}
<p>
If you don't have an account, please
<a href="{{ request.urlgen('mediagoblin.auth.register') }}">Register</a>.
</p>
+ {% endif %}
{% endif %}
{# temporarily, an "image gallery" that isn't one really ;) #}
diff --git a/mediagoblin/views.py b/mediagoblin/views.py
index 5b6d9773..6145484b 100644
--- a/mediagoblin/views.py
+++ b/mediagoblin/views.py
@@ -14,6 +14,7 @@
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
+from mediagoblin import mg_globals
from mediagoblin.util import render_to_response
from mediagoblin.db.util import DESCENDING
@@ -23,7 +24,8 @@ def root_view(request):
return render_to_response(
request, 'mediagoblin/root.html',
- {'media_entries': media_entries})
+ {'media_entries': media_entries,
+ 'allow_registration': mg_globals.app_config["allow_registration"]})
def simple_template_render(request):