Files @ 9408a5c7bf65
Branch filter:

Location: symposion_app/pinaxcon/urls.py

bsturmfels
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.
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)