Skip to content

Commit 8ca48aa

Browse files
committed
Make group acronym regex patterns consistent.
There were multiple different regex patterns in different urlpattern declarations, with some of them permitting characters which should not occur in group acronym. Changed them to consistently use [-a-z0-9]+ . - Legacy-Id: 11651
1 parent 2119431 commit 8ca48aa

8 files changed

Lines changed: 41 additions & 37 deletions

File tree

ietf/dbtemplate/urls.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,6 @@
22

33

44
urlpatterns = patterns('ietf.dbtemplate.views',
5-
url(r'^(?P<acronym>[\w.@+-]+)/$', 'template_list', name='template_list'),
6-
url(r'^(?P<acronym>[\w.@+-]+)/(?P<template_id>[\d]+)/$', 'template_edit', name='template_edit'),
5+
url(r'^(?P<acronym>[-a-z0-9]+)/$', 'template_list', name='template_list'),
6+
url(r'^(?P<acronym>[-a-z0-9]+)/(?P<template_id>[\d]+)/$', 'template_edit', name='template_edit'),
77
)

ietf/group/urls.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
(r'^concluded/$', 'ietf.group.views.concluded_groups'),
1212
(r'^email-aliases/$', 'ietf.group.views.email_aliases'),
1313
(r'^all-status/$', 'ietf.group.views.all_status'),
14-
(r'^(?P<acronym>[a-zA-Z0-9-._]+)/$', 'ietf.group.views.group_home', None, "group_home"),
15-
(r'^(?P<acronym>[a-zA-Z0-9-._]+)/', include('ietf.group.urls_info_details')),
14+
(r'^(?P<acronym>[-a-z0-9]+)/$', 'ietf.group.views.group_home', None, "group_home"),
15+
(r'^(?P<acronym>[-a-z0-9]+)/', include('ietf.group.urls_info_details')),
1616
)
1717

ietf/meeting/urls.py

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
from ietf.meeting import ajax
88

99
safe_for_all_meeting_types = [
10-
url(r'^session/(?P<acronym>[A-Za-z0-9_\-\+]+)/$', views.session_details),
10+
url(r'^session/(?P<acronym>[-a-z0-9]+)/$', views.session_details),
1111
url(r'^session/(?P<session_id>\d+)/drafts$', views.add_session_drafts),
1212
]
1313

@@ -69,23 +69,27 @@
6969
]
7070

7171
urlpatterns = [
72+
# First patterns which start with unique strings
73+
url(r'^$', views.current_materials),
7274
url(r'^ajax/get-utc/$', views.ajax_get_utc),
73-
url(r'^requests.html$', RedirectView.as_view(url='/meeting/requests', permanent=True)),
74-
url(r'^(?P<num>\d+)/requests.html$', RedirectView.as_view(url='/meeting/%(num)s/requests', permanent=True)),
75-
url(r'^(?P<num>[A-Za-z0-9._+-]+)/', include(safe_for_all_meeting_types)),
76-
# The optionals have to go first, otherwise the agenda/(owner)/(name)/ patterns match things they shouldn't
77-
url(r'^(?:(?P<num>\d+)/)?', include(type_ietf_only_patterns_id_optional)),
78-
url(r'^(?P<num>\d+)/', include(type_ietf_only_patterns)),
79-
url(r'^(?P<num>interim-[a-z0-9-]+)/', include(type_ietf_only_patterns)),
80-
url(r'^upcoming/$', views.upcoming),
81-
url(r'^upcoming.ics/$', views.upcoming_ical),
8275
url(r'^interim/announce/$', views.interim_announce),
8376
url(r'^interim/announce/(?P<number>[A-Za-z0-9._+-]+)/$', views.interim_send_announcement),
8477
url(r'^interim/request/$', views.interim_request),
8578
url(r'^interim/request/(?P<number>[A-Za-z0-9._+-]+)/$', views.interim_request_details),
8679
url(r'^interim/request/(?P<number>[A-Za-z0-9._+-]+)/edit/$', views.interim_request_edit),
8780
url(r'^interim/request/(?P<number>[A-Za-z0-9._+-]+)/cancel/$', views.interim_request_cancel),
8881
url(r'^interim/pending/$', views.interim_pending),
89-
url(r'^$', views.current_materials),
82+
url(r'^requests.html$', RedirectView.as_view(url='/meeting/requests', permanent=True)),
83+
url(r'^upcoming/$', views.upcoming),
84+
url(r'^upcoming.ics/$', views.upcoming_ical),
85+
# Then patterns from more specific to less
86+
url(r'^(?P<num>interim-[a-z0-9-]+)/', include(type_ietf_only_patterns)),
87+
url(r'^(?P<num>\d+)/requests.html$', RedirectView.as_view(url='/meeting/%(num)s/requests', permanent=True)),
88+
# The optionals have to go first of these two, otherwise the agenda/(owner)/(name)/ patterns match things they shouldn't
89+
url(r'^(?:(?P<num>\d+)/)?', include(type_ietf_only_patterns_id_optional)),
90+
url(r'^(?P<num>\d+)/', include(type_ietf_only_patterns)),
91+
#
92+
url(r'^(?P<num>\d+)/', include(safe_for_all_meeting_types)),
93+
url(r'^(?P<num>interim-[a-z0-9-]+)/', include(safe_for_all_meeting_types)),
9094
]
9195

ietf/secr/groups/urls.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,11 @@
66
url(r'^blue-dot-report/$', 'blue_dot', name='groups_blue_dot'),
77
url(r'^search/$', 'search', name='groups_search'),
88
#(r'^ajax/get_ads/$', 'get_ads'),
9-
url(r'^(?P<acronym>[A-Za-z0-9_\-\+\.]+)/$', 'view', name='groups_view'),
10-
url(r'^(?P<acronym>[A-Za-z0-9_\-\+\.]+)/delete/(?P<id>\d{1,6})/$', 'delete_role', name='groups_delete_role'),
11-
url(r'^(?P<acronym>[A-Za-z0-9_\-\+\.]+)/charter/$', 'charter', name='groups_charter'),
12-
url(r'^(?P<acronym>[A-Za-z0-9_\-\+\.]+)/edit/$', 'edit', name='groups_edit'),
13-
url(r'^(?P<acronym>[A-Za-z0-9_\-\+\.]+)/gm/$', 'view_gm', name='groups_view_gm'),
14-
url(r'^(?P<acronym>[A-Za-z0-9_\-\+\.]+)/gm/edit/$', 'edit_gm', name='groups_edit_gm'),
15-
url(r'^(?P<acronym>[A-Za-z0-9_\-\+\.]+)/people/$', 'people', name='groups_people'),
9+
url(r'^(?P<acronym>[-a-z0-9]+)/$', 'view', name='groups_view'),
10+
url(r'^(?P<acronym>[-a-z0-9]+)/delete/(?P<id>\d{1,6})/$', 'delete_role', name='groups_delete_role'),
11+
url(r'^(?P<acronym>[-a-z0-9]+)/charter/$', 'charter', name='groups_charter'),
12+
url(r'^(?P<acronym>[-a-z0-9]+)/edit/$', 'edit', name='groups_edit'),
13+
url(r'^(?P<acronym>[-a-z0-9]+)/gm/$', 'view_gm', name='groups_view_gm'),
14+
url(r'^(?P<acronym>[-a-z0-9]+)/gm/edit/$', 'edit_gm', name='groups_edit_gm'),
15+
url(r'^(?P<acronym>[-a-z0-9]+)/people/$', 'people', name='groups_people'),
1616
)

ietf/secr/meetings/urls.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,6 @@
2020
url(r'^(?P<meeting_id>\d{1,6})/(?P<schedule_name>[A-Za-z0-9_\-]+)/times/delete/(?P<time>[0-9\:]+)/$', 'times_delete', name='meetings_times_delete'),
2121
url(r'^(?P<meeting_id>\d{1,6})/(?P<schedule_name>[A-Za-z0-9_\-]+)/times/edit/(?P<time>[0-9\:]+)/$', 'times_edit', name='meetings_times_edit'),
2222
url(r'^(?P<meeting_id>\d{1,6})/(?P<schedule_name>[A-Za-z0-9_\-]+)/unschedule/(?P<session_id>\d{1,6})/$', 'unschedule', name='meetings_unschedule'),
23-
url(r'^(?P<meeting_id>\d{1,6})/(?P<schedule_name>[A-Za-z0-9_\-]+)/(?P<acronym>[A-Za-z0-9_\-\+]+)/schedule/$', 'schedule', name='meetings_schedule'),
24-
url(r'^(?P<meeting_id>\d{1,6})/(?P<acronym>[A-Za-z0-9_\-\+]+)/remove/$', 'remove_session', name='meetings_remove_session'),
23+
url(r'^(?P<meeting_id>\d{1,6})/(?P<schedule_name>[A-Za-z0-9_\-]+)/(?P<acronym>[-a-z0-9]+)/schedule/$', 'schedule', name='meetings_schedule'),
24+
url(r'^(?P<meeting_id>\d{1,6})/(?P<acronym>[-a-z0-9]+)/remove/$', 'remove_session', name='meetings_remove_session'),
2525
)

ietf/secr/proceedings/urls.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
url(r'^ajax/generate-proceedings/(?P<meeting_num>\d{1,3})/$', 'ajax_generate_proceedings', name='proceedings_ajax_generate_proceedings'),
66
url(r'^ajax/order-slide/$', 'ajax_order_slide', name='proceedings_ajax_order_slide'),
77
# special offline URL for testing proceedings build
8-
url(r'^build/(?P<meeting_num>\d{1,3}|interim-\d{4}-[A-Za-z0-9_\-\+]+)/(?P<acronym>[A-Za-z0-9_\-\+]+)/$',
8+
url(r'^build/(?P<meeting_num>\d{1,3}|interim-\d{4}-[A-Za-z0-9_\-\+]+)/(?P<acronym>[-a-z0-9]+)/$',
99
'build', name='proceedings_build'),
1010
url(r'^delete/(?P<slide_id>[A-Za-z0-9._\-\+]+)/$', 'delete_material', name='proceedings_delete_material'),
1111
url(r'^edit-slide/(?P<slide_id>[A-Za-z0-9._\-\+]+)/$', 'edit_slide', name='proceedings_edit_slide'),
@@ -20,6 +20,6 @@
2020
# NOTE: we have two entries here which both map to upload_unified, passing session_id or acronym
2121
url(r'^(?P<meeting_num>\d{1,3}|interim-\d{4}-[A-Za-z0-9_\-\+]+)/(?P<session_id>\d{1,6})/$',
2222
'upload_unified', name='proceedings_upload_unified'),
23-
url(r'^(?P<meeting_num>\d{1,3}|interim-\d{4}-[A-Za-z0-9_\-\+]+)/(?P<acronym>[A-Za-z0-9_\-\+]+)/$',
23+
url(r'^(?P<meeting_num>\d{1,3}|interim-\d{4}-[A-Za-z0-9_\-\+]+)/(?P<acronym>[-a-z0-9]+)/$',
2424
'upload_unified', name='proceedings_upload_unified'),
2525
)

ietf/secr/roles/urls.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,6 @@
22

33
urlpatterns = patterns('ietf.secr.roles.views',
44
url(r'^$', 'main', name='roles'),
5-
url(r'^ajax/get-roles/(?P<acronym>[A-Za-z0-9_\-\+\.]+)/$', 'ajax_get_roles', name='roles_ajax_get_roles'),
6-
url(r'^(?P<acronym>[A-Za-z0-9_\-\+\.]+)/delete/(?P<id>\d{1,6})/$', 'delete_role', name='roles_delete_role'),
5+
url(r'^ajax/get-roles/(?P<acronym>[-a-z0-9]+)/$', 'ajax_get_roles', name='roles_ajax_get_roles'),
6+
url(r'^(?P<acronym>[-a-z0-9]+)/delete/(?P<id>\d{1,6})/$', 'delete_role', name='roles_delete_role'),
77
)

ietf/secr/sreq/urls.py

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,13 @@
33
urlpatterns = patterns('ietf.secr.sreq.views',
44
url(r'^$', 'main', name='sessions'),
55
url(r'^status/$', 'tool_status', name='sessions_tool_status'),
6-
url(r'^(?P<acronym>[A-Za-z0-9_\-\+]+)/$', 'view', name='sessions_view'),
7-
url(r'^(?P<num>[A-Za-z0-9_\-\+]+)/(?P<acronym>[A-Za-z0-9_\-\+]+)/view/$', 'view', name='sessions_view'),
8-
url(r'^(?P<acronym>[A-Za-z0-9_\-\+]+)/approve/$', 'approve', name='sessions_approve'),
9-
url(r'^(?P<acronym>[A-Za-z0-9_\-\+]+)/cancel/$', 'cancel', name='sessions_cancel'),
10-
url(r'^(?P<acronym>[A-Za-z0-9_\-\+]+)/confirm/$', 'confirm', name='sessions_confirm'),
11-
url(r'^(?P<acronym>[A-Za-z0-9_\-\+]+)/edit/$', 'edit', name='sessions_edit'),
12-
url(r'^(?P<acronym>[A-Za-z0-9_\-\+]+)/new/$', 'new', name='sessions_new'),
13-
url(r'^(?P<acronym>[A-Za-z0-9_\-\+]+)/no_session/$', 'no_session', name='sessions_no_session'),
14-
url(r'^(?P<num>[A-Za-z0-9_\-\+]+)/(?P<acronym>[A-Za-z0-9_\-\+]+)/edit/$', 'edit_mtg', name='sessions_edit'),
6+
url(r'^(?P<acronym>[-a-z0-9]+)/$', 'view', name='sessions_view'),
7+
url(r'^(?P<num>[A-Za-z0-9_\-\+]+)/(?P<acronym>[-a-z0-9]+)/view/$', 'view', name='sessions_view'),
8+
url(r'^(?P<acronym>[-a-z0-9]+)/approve/$', 'approve', name='sessions_approve'),
9+
url(r'^(?P<acronym>[-a-z0-9]+)/cancel/$', 'cancel', name='sessions_cancel'),
10+
url(r'^(?P<acronym>[-a-z0-9]+)/confirm/$', 'confirm', name='sessions_confirm'),
11+
url(r'^(?P<acronym>[-a-z0-9]+)/edit/$', 'edit', name='sessions_edit'),
12+
url(r'^(?P<acronym>[-a-z0-9]+)/new/$', 'new', name='sessions_new'),
13+
url(r'^(?P<acronym>[-a-z0-9]+)/no_session/$', 'no_session', name='sessions_no_session'),
14+
url(r'^(?P<num>[A-Za-z0-9_\-\+]+)/(?P<acronym>[-a-z0-9]+)/edit/$', 'edit_mtg', name='sessions_edit'),
1515
)

0 commit comments

Comments
 (0)