symposion_app/pinaxcon/urls.py
Ben Sturmfels 9408a5c7bf
Avoid showing the test@example.com email address on the password reset page
Also updated login form to prompt you to use your username if you fail to login
with what looks like an email address.
2023-06-07 22:08:20 +10:00

66 lines
2.4 KiB
Python

from account.forms import LoginUsernameForm
from account.views import LoginView
import debug_toolbar
from django.conf import settings
from django.conf.urls.static import static
from django.core.exceptions import ValidationError
from django.views.generic import RedirectView
from django.views.generic import TemplateView
from django.urls import include, path
from django.contrib.flatpages.views import flatpage
from django.contrib import admin
import symposion.views
class CustomLoginForm(LoginUsernameForm):
def clean(self):
# To use account.forms.LoginEmailForm, we need to enforce unique
# emails. Since we probably already have duplicate emails in the system,
# we'll defer that to next year.
try:
super().clean()
except ValidationError as e:
if '@' in self.cleaned_data['username']:
raise ValidationError(
f'{e.message} Please login with your username, rather than your email.'
)
else:
raise
urlpatterns = [
# Trialling homepage via flatpages.
# path('', TemplateView.as_view(template_name="homepage.html")),
path('saml2/', include('djangosaml2.urls')),
path('admin/', admin.site.urls),
path("speaker/", include("symposion.speakers.urls")),
path("proposals/", include("symposion.proposals.urls")),
path("reviews/", include("symposion.reviews.urls")),
path("schedule/", include("symposion.schedule.urls")),
path("conference/", include("symposion.conference.urls")),
path("teams/", include("symposion.teams.urls")),
path('raffle/', include("pinaxcon.raffle.urls")),
path("account/login/", LoginView.as_view(form_class=CustomLoginForm, template_name='account/login.html'), name="account_login"),
path("account/", include("account.urls")),
# Required by registrasion
path('tickets/payments/', include('registripe.urls')),
path('tickets/', include('registrasion.urls')),
path('nested_admin/', include('nested_admin.urls')),
path('checkin/', include('regidesk.urls')),
path('pages/', include('django.contrib.flatpages.urls')),
path('dashboard/', symposion.views.dashboard, name="dashboard"),
path('boardingpass', RedirectView.as_view(pattern_name="regidesk:boardingpass")),
# Debug Toolbar. Always include to ensure tests work.
path('__debug__/', include(debug_toolbar.urls)),
]
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)