Skip to content

Commit 4c710c5

Browse files
committed
Merged in [10728] from rjsparks@nostrum.com:
Refactored meeting urls file without changing functionality in prepation for extending some views to handle interims. Reduced the level of redundancy in the way the urls lists were constructed. - Legacy-Id: 10745 Note: SVN reference [10728] has been migrated to Git commit 6eaff2a
2 parents 9355437 + 6eaff2a commit 4c710c5

1 file changed

Lines changed: 59 additions & 59 deletions

File tree

ietf/meeting/urls.py

Lines changed: 59 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -1,70 +1,70 @@
11
# Copyright The IETF Trust 2007, All Rights Reserved
22

3-
from django.conf.urls import patterns
3+
from django.conf.urls import url, include
44
from django.views.generic import RedirectView
55

66
from ietf.meeting import views
77
from ietf.meeting import ajax
88

9-
urlpatterns = patterns('',
10-
(r'^(?P<meeting_num>\d+)/materials.html$', views.materials),
11-
(r'^agenda/$', views.agenda),
12-
(r'^agenda(-utc)?(?P<ext>.html)?$', views.agenda),
13-
(r'^agenda(?P<ext>.txt)$', views.agenda),
14-
(r'^agenda(?P<ext>.csv)$', views.agenda),
15-
(r'^agenda/edit$', views.edit_agenda),
16-
(r'^requests.html$', RedirectView.as_view(url='/meeting/requests', permanent=True)),
17-
(r'^requests$', views.meeting_requests),
18-
(r'^agenda/agenda.ics$', views.ical_agenda),
19-
(r'^agenda.ics$', views.ical_agenda),
20-
(r'^agenda/week-view.html$', views.week_view),
21-
(r'^agenda/room-view.html$', views.room_view),
22-
(r'^week-view.html$', views.week_view),
23-
(r'^room-view.html$', views.room_view),
24-
(r'^(?P<num>\d+)/agenda/(?P<owner>[A-Za-z0-9-.+_]+@[A-Za-z0-9._]+)/(?P<name>[A-Za-z0-9-:_]+)/edit$', views.edit_agenda),
25-
(r'^(?P<num>\d+)/agenda/(?P<owner>[A-Za-z0-9-.+_]+@[A-Za-z0-9._]+)/(?P<name>[A-Za-z0-9-:_]+)/details$', views.edit_agenda_properties),
26-
(r'^(?P<num>\d+)/agenda/(?P<owner>[A-Za-z0-9-.+_]+@[A-Za-z0-9._]+)/(?P<name>[A-Za-z0-9-:_]+).(?P<ext>.html)?/?$', views.agenda),
27-
(r'^(?P<num>\d+)/agenda/(?P<owner>[A-Za-z0-9-.+_]+@[A-Za-z0-9._]+)/(?P<name>[A-Za-z0-9-:_]+)/permissions$', ajax.agenda_permission_api),
28-
(r'^(?P<num>\d+)/agenda/(?P<owner>[A-Za-z0-9-.+_]+@[A-Za-z0-9._]+)/(?P<name>[A-Za-z0-9-:_]+)/session/(?P<assignment_id>\d+).json$', ajax.assignment_json),
29-
(r'^(?P<num>\d+)/agenda/(?P<owner>[A-Za-z0-9-.+_]+@[A-Za-z0-9._]+)/(?P<name>[A-Za-z0-9-:_]+)/sessions.json$', ajax.assignments_json),
30-
(r'^(?P<num>\d+)/agenda/(?P<owner>[A-Za-z0-9-.+_]+@[A-Za-z0-9._]+)/(?P<name>[A-Za-z0-9-:_]+).json$', ajax.agenda_infourl),
31-
(r'^(?P<num>\d+)/agenda/edit$', views.edit_agenda),
32-
(r'^(?P<num>\d+)/agenda(-utc)?(?P<ext>.html)?/?$', views.agenda),
33-
(r'^(?P<num>\d+)/requests.html$', RedirectView.as_view(url='/meeting/%(num)s/requests', permanent=True)),
34-
(r'^(?P<num>\d+)/requests$', views.meeting_requests),
35-
(r'^(?P<num>\d+)/agenda(?P<ext>.txt)$', views.agenda),
36-
(r'^(?P<num>\d+)/agenda.ics$', views.ical_agenda),
37-
(r'^(?P<num>\d+)/agenda(?P<ext>.csv)$', views.agenda),
38-
(r'^(?P<num>\d+)/agenda/by-room$', views.agenda_by_room),
39-
(r'^(?P<num>\d+)/agenda/by-type$', views.agenda_by_type),
40-
(r'^(?P<num>\d+)/agenda/by-type/(?P<type>[a-z]+)$', views.agenda_by_type),
41-
(r'^(?P<num>\d+)/agenda/by-type/(?P<type>[a-z]+)/ics$', views.agenda_by_type_ics),
42-
(r'^(?P<num>\d+)/agendas/edit$', views.edit_agendas),
43-
(r'^(?P<num>\d+)/timeslots/edit$', views.edit_timeslots),
44-
(r'^(?P<num>\d+)/rooms$', ajax.timeslot_roomsurl),
45-
(r'^(?P<num>\d+)/room/(?P<roomid>\d+).json$', ajax.timeslot_roomurl),
46-
(r'^(?P<num>\d+)/room/(?P<roomid>\d+).html$', views.edit_roomurl),
47-
(r'^(?P<num>\d+)/timeslots$', ajax.timeslot_slotsurl),
48-
(r'^(?P<num>\d+)/timeslots.json$', ajax.timeslot_slotsurl),
49-
(r'^(?P<num>\d+)/timeslot/(?P<slotid>\d+).json$', ajax.timeslot_sloturl),
50-
(r'^(?P<num>\d+)/agendas$', ajax.agenda_infosurl),
51-
(r'^(?P<num>\d+)/agendas.json$', ajax.agenda_infosurl),
52-
(r'^(?P<num>\d+)/week-view.html$', views.week_view),
53-
(r'^(?P<num>\d+)/room-view.html$', views.room_view),
54-
(r'^(?P<num>\d+)/agenda/week-view.html$', views.week_view),
55-
(r'^(?P<num>\d+)/agenda/room-view.html$', views.room_view),
56-
(r'^(?P<num>\d+)/agenda/(?P<session>[A-Za-z0-9-]+)-drafts.pdf$', views.session_draft_pdf),
57-
(r'^(?P<num>\d+)/agenda/(?P<session>[A-Za-z0-9-]+)-drafts.tgz$', views.session_draft_tarfile),
58-
(r'^(?P<num>\d+)/agenda/(?P<session>[A-Za-z0-9-]+)/?$', views.session_agenda),
59-
(r'^(?P<num>\d+)/sessions.json', ajax.sessions_json),
60-
(r'^(?P<num>\d+)/session/(?P<sessionid>\d+).json', ajax.session_json),
61-
(r'^(?P<num>\d+)/session/(?P<sessionid>\d+)/constraints.json', ajax.session_constraints),
9+
safe_for_all_meeting_types = [
10+
]
6211

63-
(r'^(?P<num>\d+)/session/(?P<acronym>[A-Za-z0-9_\-\+]+)/$', views.session_details),
12+
type_ietf_only_patterns = [
13+
url(r'^agenda/(?P<owner>[A-Za-z0-9-.+_]+@[A-Za-z0-9._]+)/(?P<name>[A-Za-z0-9-:_]+)/edit$', views.edit_agenda),
14+
url(r'^agenda/(?P<owner>[A-Za-z0-9-.+_]+@[A-Za-z0-9._]+)/(?P<name>[A-Za-z0-9-:_]+)/details$', views.edit_agenda_properties),
15+
url(r'^agenda/(?P<owner>[A-Za-z0-9-.+_]+@[A-Za-z0-9._]+)/(?P<name>[A-Za-z0-9-:_]+).(?P<ext>.html)?/?$', views.agenda),
16+
url(r'^agenda/(?P<owner>[A-Za-z0-9-.+_]+@[A-Za-z0-9._]+)/(?P<name>[A-Za-z0-9-:_]+)/permissions$', ajax.agenda_permission_api),
17+
url(r'^agenda/(?P<owner>[A-Za-z0-9-.+_]+@[A-Za-z0-9._]+)/(?P<name>[A-Za-z0-9-:_]+)/session/(?P<assignment_id>\d+).json$', ajax.assignment_json),
18+
url(r'^agenda/(?P<owner>[A-Za-z0-9-.+_]+@[A-Za-z0-9._]+)/(?P<name>[A-Za-z0-9-:_]+)/sessions.json$', ajax.assignments_json),
19+
url(r'^agenda/(?P<owner>[A-Za-z0-9-.+_]+@[A-Za-z0-9._]+)/(?P<name>[A-Za-z0-9-:_]+).json$', ajax.agenda_infourl),
20+
url(r'^agenda/by-room$', views.agenda_by_room),
21+
url(r'^agenda/by-type$', views.agenda_by_type),
22+
url(r'^agenda/by-type/(?P<type>[a-z]+)$', views.agenda_by_type),
23+
url(r'^agenda/by-type/(?P<type>[a-z]+)/ics$', views.agenda_by_type_ics),
24+
url(r'^agendas/edit$', views.edit_agendas),
25+
url(r'^timeslots/edit$', views.edit_timeslots),
26+
url(r'^rooms$', ajax.timeslot_roomsurl),
27+
url(r'^room/(?P<roomid>\d+).json$', ajax.timeslot_roomurl),
28+
url(r'^room/(?P<roomid>\d+).html$', views.edit_roomurl),
29+
url(r'^timeslots$', ajax.timeslot_slotsurl),
30+
url(r'^timeslots.json$', ajax.timeslot_slotsurl),
31+
url(r'^timeslot/(?P<slotid>\d+).json$', ajax.timeslot_sloturl),
32+
url(r'^agendas$', ajax.agenda_infosurl),
33+
url(r'^agendas.json$', ajax.agenda_infosurl),
34+
url(r'^agenda/(?P<session>[A-Za-z0-9-]+)-drafts.pdf$', views.session_draft_pdf),
35+
url(r'^agenda/(?P<session>[A-Za-z0-9-]+)-drafts.tgz$', views.session_draft_tarfile),
36+
url(r'^agenda/(?P<session>[A-Za-z0-9-]+)/?$', views.session_agenda),
37+
url(r'^sessions.json', ajax.sessions_json),
38+
url(r'^session/(?P<sessionid>\d+).json', ajax.session_json),
39+
url(r'^session/(?P<sessionid>\d+)/constraints.json', ajax.session_constraints),
40+
url(r'^session/(?P<acronym>[A-Za-z0-9_\-\+]+)/$', views.session_details),
41+
url(r'^constraint/(?P<constraintid>\d+).json', ajax.constraint_json),
42+
url(r'^json$', ajax.meeting_json),
43+
]
6444

65-
(r'^(?P<num>\d+)/constraint/(?P<constraintid>\d+).json', ajax.constraint_json),
66-
(r'^(?P<num>\d+).json$', ajax.meeting_json),
67-
(r'^$', views.current_materials),
68-
)
45+
type_ietf_only_patterns_id_optional = [
46+
url(r'^agenda(-utc)?(?P<ext>.html)?/?$', views.agenda),
47+
url(r'^agenda(?P<ext>.txt)$', views.agenda),
48+
url(r'^agenda(?P<ext>.csv)$', views.agenda),
49+
url(r'^agenda/edit$', views.edit_agenda),
50+
url(r'^requests$', views.meeting_requests),
51+
url(r'^agenda/agenda.ics$', views.ical_agenda),
52+
url(r'^agenda.ics$', views.ical_agenda),
53+
url(r'^agenda/week-view.html$', views.week_view),
54+
url(r'^agenda/room-view.html$', views.room_view),
55+
url(r'^week-view.html$', views.week_view),
56+
url(r'^room-view.html$', views.room_view),
57+
]
58+
59+
urlpatterns = [
60+
# TODO - views.material should take num instead of meeting_num so it can move into one of the above lists
61+
url(r'^(?P<meeting_num>\d+)/materials.html$', views.materials),
62+
url(r'^requests.html$', RedirectView.as_view(url='/meeting/requests', permanent=True)),
63+
url(r'^(?P<num>\d+)/requests.html$', RedirectView.as_view(url='/meeting/%(num)s/requests', permanent=True)),
64+
# The optionals have to go first, otherwise the agenda/(owner)/(name)/ patterns match things they shouldn't
65+
url(r'^(?:(?P<num>\d+)/)?', include(type_ietf_only_patterns_id_optional)),
66+
url(r'^(?P<num>\d+)/', include(type_ietf_only_patterns)),
67+
url(r'^$', views.current_materials),
68+
]
6969

7070

0 commit comments

Comments
 (0)