2018-05-23 21:28:27 +00:00
|
|
|
from django.urls import path, include
|
2018-05-20 16:16:20 +00:00
|
|
|
from .views import *
|
|
|
|
|
|
|
|
app_name = 'program'
|
|
|
|
|
|
|
|
urlpatterns = [
|
2018-05-23 21:28:27 +00:00
|
|
|
path(
|
|
|
|
'',
|
2018-05-20 16:16:20 +00:00
|
|
|
ScheduleView.as_view(),
|
|
|
|
name='schedule_index'
|
|
|
|
),
|
2018-05-23 21:28:27 +00:00
|
|
|
path(
|
|
|
|
'noscript/',
|
2018-05-20 16:16:20 +00:00
|
|
|
NoScriptScheduleView.as_view(),
|
|
|
|
name='noscript_schedule_index'
|
|
|
|
),
|
2018-05-23 21:28:27 +00:00
|
|
|
path(
|
|
|
|
'ics/', ICSView.as_view(), name="ics_view"
|
2018-05-20 16:16:20 +00:00
|
|
|
),
|
2018-05-23 21:28:27 +00:00
|
|
|
path(
|
|
|
|
'control/', ProgramControlCenter.as_view(), name="program_control_center"
|
2018-05-20 16:16:20 +00:00
|
|
|
),
|
2018-05-23 21:28:27 +00:00
|
|
|
path(
|
|
|
|
'proposals/', include([
|
|
|
|
path(
|
|
|
|
'',
|
2018-05-20 16:16:20 +00:00
|
|
|
ProposalListView.as_view(),
|
|
|
|
name='proposal_list',
|
|
|
|
),
|
2018-05-23 21:28:27 +00:00
|
|
|
path(
|
|
|
|
'submit/', include([
|
|
|
|
path(
|
|
|
|
'',
|
2018-05-20 16:16:20 +00:00
|
|
|
CombinedProposalTypeSelectView.as_view(),
|
|
|
|
name='proposal_combined_type_select',
|
|
|
|
),
|
2018-05-23 21:28:27 +00:00
|
|
|
path(
|
|
|
|
'<slug:event_type_slug>/',
|
2018-05-20 16:16:20 +00:00
|
|
|
CombinedProposalSubmitView.as_view(),
|
|
|
|
name='proposal_combined_submit',
|
|
|
|
),
|
2018-05-23 21:28:27 +00:00
|
|
|
path(
|
|
|
|
'<slug:event_type_slug>/select_person/',
|
2018-05-20 19:11:53 +00:00
|
|
|
CombinedProposalPersonSelectView.as_view(),
|
|
|
|
name='proposal_combined_person_select',
|
|
|
|
),
|
2018-05-20 16:16:20 +00:00
|
|
|
]),
|
|
|
|
),
|
2018-05-23 21:28:27 +00:00
|
|
|
path(
|
|
|
|
'people/', include([
|
|
|
|
path(
|
|
|
|
'<uuid:pk>/',
|
2018-05-20 18:29:56 +00:00
|
|
|
SpeakerProposalDetailView.as_view(),
|
|
|
|
name='speakerproposal_detail'
|
|
|
|
),
|
2018-05-23 21:28:27 +00:00
|
|
|
path(
|
|
|
|
'<uuid:pk>/update/',
|
2018-05-20 16:16:20 +00:00
|
|
|
SpeakerProposalUpdateView.as_view(),
|
|
|
|
name='speakerproposal_update'
|
|
|
|
),
|
2018-05-23 21:28:27 +00:00
|
|
|
path(
|
|
|
|
'<uuid:pk>/delete/',
|
2018-05-20 16:16:20 +00:00
|
|
|
SpeakerProposalDeleteView.as_view(),
|
|
|
|
name='speakerproposal_delete'
|
|
|
|
),
|
2018-05-23 21:28:27 +00:00
|
|
|
path(
|
|
|
|
'<uuid:speaker_uuid>/add_event/',
|
2018-05-20 16:16:20 +00:00
|
|
|
EventProposalTypeSelectView.as_view(),
|
|
|
|
name='eventproposal_typeselect'
|
|
|
|
),
|
2018-05-23 21:28:27 +00:00
|
|
|
path(
|
|
|
|
'<uuid:speaker_uuid>/add_event/<slug:event_type_slug>/',
|
2018-05-20 16:16:20 +00:00
|
|
|
EventProposalCreateView.as_view(),
|
|
|
|
name='eventproposal_create'
|
|
|
|
),
|
2018-05-23 21:28:27 +00:00
|
|
|
path(
|
|
|
|
'<uuid:speaker_uuid>/add_url/',
|
|
|
|
UrlCreateView.as_view(),
|
|
|
|
name='speakerproposalurl_create'
|
|
|
|
),
|
|
|
|
path(
|
|
|
|
'<uuid:speaker_uuid>/urls/<uuid:url_uuid>/update/',
|
|
|
|
UrlUpdateView.as_view(),
|
|
|
|
name='speakerproposalurl_update'
|
|
|
|
),
|
|
|
|
path(
|
|
|
|
'<uuid:speaker_uuid>/urls/<uuid:url_uuid>/delete/',
|
|
|
|
UrlDeleteView.as_view(),
|
|
|
|
name='speakerproposalurl_delete'
|
|
|
|
),
|
2018-05-20 16:16:20 +00:00
|
|
|
])
|
|
|
|
),
|
2018-05-23 21:28:27 +00:00
|
|
|
path(
|
|
|
|
'events/', include([
|
|
|
|
path(
|
|
|
|
'<uuid:pk>/',
|
2018-05-20 18:29:56 +00:00
|
|
|
EventProposalDetailView.as_view(),
|
|
|
|
name='eventproposal_detail'
|
|
|
|
),
|
2018-05-23 21:28:27 +00:00
|
|
|
path(
|
|
|
|
'<uuid:pk>/update/',
|
2018-05-20 16:16:20 +00:00
|
|
|
EventProposalUpdateView.as_view(),
|
|
|
|
name='eventproposal_update'
|
|
|
|
),
|
2018-05-23 21:28:27 +00:00
|
|
|
path(
|
|
|
|
'<uuid:pk>/delete/',
|
2018-05-20 16:16:20 +00:00
|
|
|
EventProposalDeleteView.as_view(),
|
|
|
|
name='eventproposal_delete'
|
|
|
|
),
|
2018-05-23 21:28:27 +00:00
|
|
|
path(
|
|
|
|
'<uuid:event_uuid>/add_person/',
|
2018-05-20 16:16:20 +00:00
|
|
|
EventProposalSelectPersonView.as_view(),
|
|
|
|
name='eventproposal_selectperson'
|
|
|
|
),
|
2018-05-23 21:28:27 +00:00
|
|
|
path(
|
|
|
|
'<uuid:event_uuid>/add_person/new/',
|
2018-05-20 16:16:20 +00:00
|
|
|
SpeakerProposalCreateView.as_view(),
|
|
|
|
name='speakerproposal_create'
|
|
|
|
),
|
2018-05-23 21:28:27 +00:00
|
|
|
path(
|
|
|
|
'<uuid:event_uuid>/add_person/<uuid:speaker_uuid>/',
|
2018-05-20 16:16:20 +00:00
|
|
|
EventProposalAddPersonView.as_view(),
|
|
|
|
name='eventproposal_addperson'
|
|
|
|
),
|
2018-05-24 09:43:46 +00:00
|
|
|
path(
|
|
|
|
'<uuid:event_uuid>/remove_person/<uuid:speaker_uuid>/',
|
|
|
|
EventProposalRemovePersonView.as_view(),
|
|
|
|
name='eventproposal_removeperson'
|
|
|
|
),
|
2018-05-23 21:28:27 +00:00
|
|
|
path(
|
|
|
|
'<uuid:event_uuid>/add_url/',
|
|
|
|
UrlCreateView.as_view(),
|
|
|
|
name='eventproposalurl_create'
|
|
|
|
),
|
|
|
|
path(
|
|
|
|
'<uuid:event_uuid>/urls/<uuid:url_uuid>/update/',
|
|
|
|
UrlUpdateView.as_view(),
|
|
|
|
name='eventproposalurl_update'
|
|
|
|
),
|
|
|
|
path(
|
|
|
|
'<uuid:event_uuid>/urls/<uuid:url_uuid>/delete/',
|
|
|
|
UrlDeleteView.as_view(),
|
|
|
|
name='eventproposalurl_delete'
|
|
|
|
),
|
2018-05-20 16:16:20 +00:00
|
|
|
])
|
|
|
|
),
|
|
|
|
])
|
|
|
|
),
|
2018-05-23 21:28:27 +00:00
|
|
|
path(
|
|
|
|
'speakers/', include([
|
|
|
|
path(
|
|
|
|
'',
|
2018-05-20 16:16:20 +00:00
|
|
|
SpeakerListView.as_view(),
|
|
|
|
name='speaker_index'
|
|
|
|
),
|
2018-05-23 21:28:27 +00:00
|
|
|
path(
|
|
|
|
'<slug:slug>/',
|
2018-05-20 16:16:20 +00:00
|
|
|
SpeakerDetailView.as_view(),
|
|
|
|
name='speaker_detail'
|
|
|
|
),
|
|
|
|
]),
|
|
|
|
),
|
2018-05-23 21:28:27 +00:00
|
|
|
path(
|
|
|
|
'events/',
|
2018-05-20 16:16:20 +00:00
|
|
|
EventListView.as_view(),
|
|
|
|
name='event_index'
|
|
|
|
),
|
|
|
|
# legacy CFS url kept on purpose to keep old links functional
|
2018-05-23 21:28:27 +00:00
|
|
|
path(
|
|
|
|
'call-for-speakers/',
|
2018-05-20 16:16:20 +00:00
|
|
|
CallForParticipationView.as_view(),
|
|
|
|
name='call_for_speakers'
|
|
|
|
),
|
2018-05-23 21:28:27 +00:00
|
|
|
path(
|
|
|
|
'call-for-participation/',
|
2018-05-20 16:16:20 +00:00
|
|
|
CallForParticipationView.as_view(),
|
|
|
|
name='call_for_participation'
|
|
|
|
),
|
2018-05-23 21:28:27 +00:00
|
|
|
path(
|
|
|
|
'calendar',
|
2018-05-20 16:16:20 +00:00
|
|
|
ICSView.as_view(),
|
|
|
|
name='ics_calendar'
|
|
|
|
),
|
|
|
|
# this must be the last URL here or the regex will overrule the others
|
2018-05-23 21:28:27 +00:00
|
|
|
path(
|
2018-07-17 20:43:16 +00:00
|
|
|
'<slug:slug>/',
|
2018-05-20 16:16:20 +00:00
|
|
|
EventDetailView.as_view(),
|
|
|
|
name='event_detail'
|
|
|
|
),
|
|
|
|
]
|
|
|
|
|