from django.conf import settings from django.conf.urls import include, url, patterns from django.conf.urls.static import static from django.views import generic as django_generic_views from rest_auth import views as rest_auth_views from rest_auth.registration import views as rest_auth_registration_views from .routers import BaseRouter ### From rest_auth.urls class LoginView(rest_auth_views.LoginView): allow_on_unconfigured_farm = True class LogoutView(rest_auth_views.LogoutView): allow_on_unconfigured_farm = True class UserDetailsView(rest_auth_views.UserDetailsView): allow_on_unconfigured_farm = True class PasswordResetView(rest_auth_views.PasswordResetView): allow_on_unconfigured_farm = True class PasswordResetConfirmView(rest_auth_views.PasswordResetConfirmView): allow_on_unconfigured_farm = True class PasswordChangeView(rest_auth_views.PasswordChangeView): allow_on_unconfigured_farm = True auth_patterns = patterns('', # URLs that do not require a session or valid token url(r'^password/reset/$', PasswordResetView.as_view(), name='rest_password_reset'), url(r'^password/reset/confirm/$', PasswordResetConfirmView.as_view(), name='rest_password_reset_confirm'), url(r'^login/$', LoginView.as_view(), name='rest_login'), # URLs that require a user to be logged in with a valid session / token. url(r'^logout/$', LogoutView.as_view(), name='rest_logout'), url(r'^user/$', UserDetailsView.as_view(), name='rest_user_details'), url(r'^password/change/$', PasswordChangeView.as_view(), name='rest_password_change'), ) ### From rest_auth.registration.urls class RegisterView(rest_auth_registration_views.RegisterView): allow_on_unconfigured_farm = True class VerifyEmailView(rest_auth_registration_views.VerifyEmailView): allow_on_unconfigured_farm = True class TemplateView(django_generic_views.TemplateView): allow_on_unconfigured_farm = True auth_registration_patterns = patterns( '', url(r'^$', RegisterView.as_view(), name='rest_register'), url(r'^verify-email/$', VerifyEmailView.as_view(), name='rest_verify_email'), url(r'^account-confirm-email/(?P<key>\w+)/$', TemplateView.as_view(), name='account_confirm_email'), ) def get_current_urls(): urls = BaseRouter.get_instance().urls + [ url(r'^auth/', include(auth_patterns)), url(r'^auth/registration/', include(auth_registration_patterns)), url(r'^docs/', include('rest_framework_swagger.urls')), ] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) if settings.DEBUG: import debug_toolbar urls.append(url(r'^__debug__/', include(debug_toolbar.urls))) return urls