diff --git a/colab/accounts/urls.py b/colab/accounts/urls.py index acb9c29..f54c42d 100644 --- a/colab/accounts/urls.py +++ b/colab/accounts/urls.py @@ -7,45 +7,54 @@ from .views import (UserProfileDetailView, UserProfileUpdateView, LoginView, from accounts import views from django.contrib.auth import views as auth_views +from colab.settings import BROWSERID_ENABLED + urlpatterns = patterns('', url(r'^register/$', 'colab.accounts.views.signup', name='signup'), - url(r'^password-reset-done/?$', 'accounts.views.password_reset_done_custom', - name="password_reset_done"), +#FIXME Configure for XMPP +# url(r'^change-password/$', +# ChangeXMPPPasswordView.as_view(), name='change_password'), - url(r'^password-reset-complete/$', 'accounts.views.password_reset_complete_custom', - name="password_reset_complete"), + url(r'^(?P[\w@+.-]+)/?$', + UserProfileDetailView.as_view(), name='user_profile'), - url(r'^password-reset-confirm/(?P[0-9A-Za-z]+)-(?P.+)/$', - auth_views.password_reset_confirm, - {'template_name':'registration/password_reset_confirm_custom.html'}, - name="password_reset_confirm"), + url(r'^(?P[\w@+.-]+)/edit/?$', + UserProfileUpdateView.as_view(), name='user_profile_update'), - url(r'^password-reset/?$', auth_views.password_reset, - {'template_name':'registration/password_reset_form_custom.html'}, - name="password_reset"), + url(r'^(?P[\w@+.-]+)/subscriptions/?$', + ManageUserSubscriptionsView.as_view(), name='user_list_subscriptions'), +) - url(r'^change-password/?$',auth_views.password_change, - {'template_name':'registration/password_change_form_custom.html'}, - name='password_change'), +if not BROWSERID_ENABLED: + urlpatterns += patterns('', + url(r'^login/?$', 'django.contrib.auth.views.login', name='login'), - url(r'^change-password-done/?$', - 'accounts.views.password_changed', name='password_change_done'), + url(r'^logout/?$', 'accounts.views.logoutColab', name='logout'), - url(r'^change-password/$', - ChangeXMPPPasswordView.as_view(), name='change_password'), + url(r'^password-reset-done/?$', 'accounts.views.password_reset_done_custom', + name="password_reset_done"), - url(r'^login/?$', LoginView.as_view(), name='login'), -# url(r'^login/?$', 'django.contrib.auth.views.login', name='login'), + url(r'^password-reset-complete/$', 'accounts.views.password_reset_complete_custom', + name="password_reset_complete"), -# url(r'^logout/?$', 'accounts.views.logoutColab', name='logout'), + url(r'^password-reset-confirm/(?P[0-9A-Za-z]+)-(?P.+)/$', + auth_views.password_reset_confirm, + {'template_name':'registration/password_reset_confirm_custom.html'}, + name="password_reset_confirm"), - url(r'^(?P[\w@+.-]+)/?$', - UserProfileDetailView.as_view(), name='user_profile'), + url(r'^password-reset/?$', auth_views.password_reset, + {'template_name':'registration/password_reset_form_custom.html'}, + name="password_reset"), - url(r'^(?P[\w@+.-]+)/edit/?$', - UserProfileUpdateView.as_view(), name='user_profile_update'), + url(r'^change-password/?$',auth_views.password_change, + {'template_name':'registration/password_change_form_custom.html'}, + name='password_change'), - url(r'^(?P[\w@+.-]+)/subscriptions/?$', - ManageUserSubscriptionsView.as_view(), name='user_list_subscriptions'), -) + url(r'^change-password-done/?$', + 'accounts.views.password_changed', name='password_change_done'), + ) +else: + urlpatterns += patterns('', + url(r'^login/?$', LoginView.as_view(), name='login'), + ) diff --git a/colab/accounts/views.py b/colab/accounts/views.py index 021b102..3a24aad 100644 --- a/colab/accounts/views.py +++ b/colab/accounts/views.py @@ -22,6 +22,7 @@ from haystack.query import SearchQuerySet from colab.super_archives.models import EmailAddress, Message, EmailAddressValidation from colab.search.utils import trans +from colab.settings import BROWSERID_ENABLED # from proxy.trac.models import WikiCollabCount, TicketCollabCount from .forms import (UserCreationForm, ListsForm, UserUpdateForm, ChangeXMPPPasswordForm) @@ -160,7 +161,7 @@ def signup(request): user = user_form.save(commit=False) user.needs_update = False - if not browser_id: + if not browser_id_enabled: user.is_active = False EmailAddressValidation.create(user.email, user) diff --git a/colab/management/initconfig.py b/colab/management/initconfig.py index dcb481b..ff98405 100644 --- a/colab/management/initconfig.py +++ b/colab/management/initconfig.py @@ -41,6 +41,9 @@ ALLOWED_HOSTS: # - example.org # - example.net +### Uncomment to enable Broswer ID protocol for authentication +# BROWSERID_ENABLED: True + ### Uncomment to enable Converse.js # CONVERSEJS_ENABLED: True diff --git a/colab/settings.py b/colab/settings.py index d543969..95c7b79 100644 --- a/colab/settings.py +++ b/colab/settings.py @@ -320,5 +320,7 @@ if FEEDZILLA_ENABLED: ) proxied_apps = locals().get('PROXIED_APPS') or {} +BROWSERID_ENABLED = locals().get('BROWSERID_ENABLED') or False + for app_label in proxied_apps.keys(): INSTALLED_APPS += ('colab.proxy.{}'.format(app_label),) -- libgit2 0.21.2