|
26 | 26 | url(r'^timeslots/edit$', views.edit_timeslots), |
27 | 27 | url(r'^rooms$', ajax.timeslot_roomsurl), |
28 | 28 | url(r'^room/(?P<roomid>\d+).json$', ajax.timeslot_roomurl), |
29 | | - url(r'^room/(?P<roomid>\d+)(.html)?/?$', views.edit_roomurl), |
| 29 | + url(r'^room/(?P<roomid>\d+)(?:.html)?/?$', views.edit_roomurl), |
30 | 30 | url(r'^timeslots$', ajax.timeslot_slotsurl), |
31 | 31 | url(r'^timeslots.json$', ajax.timeslot_slotsurl), |
32 | 32 | url(r'^timeslot/(?P<slotid>\d+).json$', ajax.timeslot_sloturl), |
|
50 | 50 | url(r'^requests$', views.meeting_requests), |
51 | 51 | url(r'^agenda/agenda.ics$', views.ical_agenda), |
52 | 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), |
| 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 | 57 | ] |
58 | 58 |
|
59 | 59 | urlpatterns = [ |
60 | 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), |
| 61 | + url(r'^(?P<meeting_num>\d+)/materials(?:.html)?/?$', views.materials), |
62 | 62 | url(r'^requests.html$', RedirectView.as_view(url='/meeting/requests', permanent=True)), |
63 | 63 | url(r'^(?P<num>\d+)/requests.html$', RedirectView.as_view(url='/meeting/%(num)s/requests', permanent=True)), |
64 | 64 | url(r'^(?P<num>[A-Za-z0-9._+-]+)/', include(safe_for_all_meeting_types)), |
|
0 commit comments