from django.urls import include, path from .views import ( CallForParticipationView, CombinedProposalPersonSelectView, CombinedProposalSubmitView, CombinedProposalTypeSelectView, EventDetailView, EventListView, EventProposalAddPersonView, EventProposalCreateView, EventProposalDeleteView, EventProposalDetailView, EventProposalRemovePersonView, EventProposalSelectPersonView, EventProposalTypeSelectView, EventProposalUpdateView, FeedbackCreateView, FeedbackDeleteView, FeedbackDetailView, FeedbackListView, FeedbackRedirectView, FeedbackUpdateView, FrabXmlView, ICSView, NoScriptScheduleView, ProgramControlCenter, ProposalListView, SpeakerDetailView, SpeakerListView, SpeakerProposalCreateView, SpeakerProposalDeleteView, SpeakerProposalDetailView, SpeakerProposalUpdateView, UrlCreateView, UrlDeleteView, UrlUpdateView, ) app_name = "program" urlpatterns = [ path("", NoScriptScheduleView.as_view(), name="schedule_index"), path("noscript/", NoScriptScheduleView.as_view(), name="noscript_schedule_index"), path("ics/", ICSView.as_view(), name="ics_view"), path("frab.xml", FrabXmlView.as_view(), name="frab_view"), path("control/", ProgramControlCenter.as_view(), name="program_control_center"), # SpeakerProposals and EventProposals path( "proposals/", include( [ path("", ProposalListView.as_view(), name="proposal_list"), path( "submit/", include( [ path( "", CombinedProposalTypeSelectView.as_view(), name="proposal_combined_type_select", ), path( "/", CombinedProposalSubmitView.as_view(), name="proposal_combined_submit", ), path( "/select_person/", CombinedProposalPersonSelectView.as_view(), name="proposal_combined_person_select", ), ] ), ), path( "people/", include( [ path( "/", SpeakerProposalDetailView.as_view(), name="speaker_proposal_detail", ), path( "/update/", SpeakerProposalUpdateView.as_view(), name="speaker_proposal_update", ), path( "/delete/", SpeakerProposalDeleteView.as_view(), name="speaker_proposal_delete", ), path( "/add_event/", EventProposalTypeSelectView.as_view(), name="event_proposal_type_select", ), path( "/add_event//", EventProposalCreateView.as_view(), name="event_proposal_create", ), path( "/add_url/", UrlCreateView.as_view(), name="speaker_proposal_url_create", ), path( "/urls//update/", UrlUpdateView.as_view(), name="speaker_proposal_url_update", ), path( "/urls//delete/", UrlDeleteView.as_view(), name="speaker_proposal_url_delete", ), ] ), ), path( "events/", include( [ path( "/", EventProposalDetailView.as_view(), name="event_proposal_detail", ), path( "/update/", EventProposalUpdateView.as_view(), name="event_proposal_update", ), path( "/delete/", EventProposalDeleteView.as_view(), name="event_proposal_delete", ), path( "/add_person/", EventProposalSelectPersonView.as_view(), name="event_proposal_select_person", ), path( "/add_person/new/", SpeakerProposalCreateView.as_view(), name="speaker_proposal_create", ), path( "/add_person//", EventProposalAddPersonView.as_view(), name="event_proposal_add_person", ), path( "/remove_person//", EventProposalRemovePersonView.as_view(), name="event_proposal_remove_person", ), # event url views path( "/add_url/", UrlCreateView.as_view(), name="event_proposal_url_create", ), path( "/urls//update/", UrlUpdateView.as_view(), name="event_proposal_url_update", ), path( "/urls//delete/", UrlDeleteView.as_view(), name="event_proposal_url_delete", ), ] ), ), ] ), ), # Speaker views path( "speakers/", include( [ path("", SpeakerListView.as_view(), name="speaker_index"), path( "/", SpeakerDetailView.as_view(), name="speaker_detail" ), ] ), ), path("events/", EventListView.as_view(), name="event_index"), # legacy CFS url kept on purpose to keep old links functional path( "call-for-speakers/", CallForParticipationView.as_view(), name="call_for_speakers", ), path( "call-for-participation/", CallForParticipationView.as_view(), name="call_for_participation", ), path("calendar", ICSView.as_view(), name="ics_calendar"), # this must be the last URL here or the slug will overrule the others path( "/", include( [ path("", EventDetailView.as_view(), name="event_detail"), path( "feedback/", include( [ path( "", FeedbackRedirectView.as_view(), name="event_feedback_redirect", ), path( "list/", FeedbackListView.as_view(), name="event_feedback_list", ), path( "show/", FeedbackDetailView.as_view(), name="event_feedback_detail", ), path( "create/", FeedbackCreateView.as_view(), name="event_feedback_create", ), path( "update/", FeedbackUpdateView.as_view(), name="event_feedback_update", ), path( "delete/", FeedbackDeleteView.as_view(), name="event_feedback_delete", ), ] ), ), ] ), ), ]