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, FeedbackUpdateView, ICSView, NoScriptScheduleView, ProgramControlCenter, ProposalListView, ScheduleView, SpeakerDetailView, SpeakerListView, SpeakerProposalCreateView, SpeakerProposalDeleteView, SpeakerProposalDetailView, SpeakerProposalUpdateView, UrlCreateView, UrlDeleteView, UrlUpdateView, ) app_name = "program" urlpatterns = [ path("", ScheduleView.as_view(), name="schedule_index"), path("noscript/", NoScriptScheduleView.as_view(), name="noscript_schedule_index"), path("ics/", ICSView.as_view(), name="ics_view"), path("control/", ProgramControlCenter.as_view(), name="program_control_center"), 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="speakerproposal_detail", ), path( "/update/", SpeakerProposalUpdateView.as_view(), name="speakerproposal_update", ), path( "/delete/", SpeakerProposalDeleteView.as_view(), name="speakerproposal_delete", ), path( "/add_event/", EventProposalTypeSelectView.as_view(), name="eventproposal_typeselect", ), path( "/add_event//", EventProposalCreateView.as_view(), name="eventproposal_create", ), path( "/add_url/", UrlCreateView.as_view(), name="speakerproposalurl_create", ), path( "/urls//update/", UrlUpdateView.as_view(), name="speakerproposalurl_update", ), path( "/urls//delete/", UrlDeleteView.as_view(), name="speakerproposalurl_delete", ), ] ), ), path( "events/", include( [ path( "/", EventProposalDetailView.as_view(), name="eventproposal_detail", ), path( "/update/", EventProposalUpdateView.as_view(), name="eventproposal_update", ), path( "/delete/", EventProposalDeleteView.as_view(), name="eventproposal_delete", ), path( "/add_person/", EventProposalSelectPersonView.as_view(), name="eventproposal_selectperson", ), path( "/add_person/new/", SpeakerProposalCreateView.as_view(), name="speakerproposal_create", ), path( "/add_person//", EventProposalAddPersonView.as_view(), name="eventproposal_addperson", ), path( "/remove_person//", EventProposalRemovePersonView.as_view(), name="eventproposal_removeperson", ), # event url views path( "/add_url/", UrlCreateView.as_view(), name="eventproposalurl_create", ), path( "/urls//update/", UrlUpdateView.as_view(), name="eventproposalurl_update", ), path( "/urls//delete/", UrlDeleteView.as_view(), name="eventproposalurl_delete", ), ] ), ), ] ), ), 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( "", FeedbackListView.as_view(), name="eventfeedback_list", ), path( "show/", FeedbackDetailView.as_view(), name="eventfeedback_detail", ), path( "create/", FeedbackCreateView.as_view(), name="eventfeedback_create", ), path( "update/", FeedbackUpdateView.as_view(), name="eventfeedback_update", ), path( "delete/", FeedbackDeleteView.as_view(), name="eventfeedback_delete", ), ] ), ), ] ), ), ]