From cc47188528054f7022267d1011110cbce7369711 Mon Sep 17 00:00:00 2001 From: Agate Berriot Date: Wed, 31 Aug 2022 17:14:39 +0200 Subject: [PATCH 2/4] django4: replaced urls.url with url.re_path equivalent (#68593) --- chrono/api/urls.py | 96 ++++++----- chrono/manager/urls.py | 364 ++++++++++++++++++++--------------------- chrono/urls.py | 16 +- 3 files changed, 242 insertions(+), 234 deletions(-) diff --git a/chrono/api/urls.py b/chrono/api/urls.py index f160973..fa8eca0 100644 --- a/chrono/api/urls.py +++ b/chrono/api/urls.py @@ -14,119 +14,127 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . -from django.conf.urls import url +from django.urls import path, re_path from . import views urlpatterns = [ - url(r'^agenda/$', views.agendas), - url(r'^agendas/datetimes/$', views.agendas_datetimes, name='api-agendas-datetimes'), - url(r'^agendas/recurring-events/$', views.recurring_events_list, name='api-agenda-recurring-events'), - url(r'^agendas/recurring-events/fillslots/$', views.recurring_fillslots, name='api-recurring-fillslots'), - url( - r'^agendas/events/$', + path('agenda/', views.agendas), + path('agendas/datetimes/', views.agendas_datetimes, name='api-agendas-datetimes'), + path('agendas/recurring-events/', views.recurring_events_list, name='api-agenda-recurring-events'), + path('agendas/recurring-events/fillslots/', views.recurring_fillslots, name='api-recurring-fillslots'), + path( + 'agendas/events/', views.agendas_events, name='api-agendas-events', ), - url( - r'^agendas/events/fillslots/$', + path( + 'agendas/events/fillslots/', views.agendas_events_fillslots, name='api-agendas-events-fillslots', ), - url( - r'^agendas/events/check-status/$', + path( + 'agendas/events/check-status/', views.agendas_events_check_status, name='api-agendas-events-check-status', ), - url(r'^agenda/(?P[\w-]+)/$', views.agenda), - url(r'^agenda/(?P[\w-]+)/datetimes/$', views.datetimes, name='api-agenda-datetimes'), - url( + re_path(r'^agenda/(?P[\w-]+)/$', views.agenda), + re_path( + r'^agenda/(?P[\w-]+)/datetimes/$', views.datetimes, name='api-agenda-datetimes' + ), + re_path( r'^agenda/(?P[\w-]+)/fillslot/(?P[\w:-]+)/$', views.fillslot, name='api-fillslot', ), - url(r'^agenda/(?P[\w-]+)/fillslots/$', views.fillslots, name='api-agenda-fillslots'), - url( + re_path( + r'^agenda/(?P[\w-]+)/fillslots/$', views.fillslots, name='api-agenda-fillslots' + ), + re_path( r'^agenda/(?P[\w-]+)/events/fillslots/$', views.events_fillslots, name='api-agenda-events-fillslots', ), - url( + re_path( r'^agenda/(?P[\w-]+)/event/$', views.events, name='api-events', ), - url( + re_path( r'^agenda/(?P[\w-]+)/event/(?P[\w:-]+)/$', views.event, name='api-event', ), - url( + re_path( r'^agenda/(?P[\w-]+)/status/(?P[\w:-]+)/$', views.event_status, name='api-event-status', ), - url( + re_path( r'^agenda/(?P[\w-]+)/bookings/(?P[\w:-]+)/$', views.event_bookings, name='api-event-bookings', ), - url( + re_path( r'^agenda/(?P[\w-]+)/check/(?P[\w:-]+)/$', views.event_check, name='api-event-check', ), - url( + re_path( r'^agenda/meetings/(?P[\w-]+)/datetimes/$', views.meeting_datetimes, name='api-agenda-meeting-datetimes-legacy', ), - url(r'^agenda/(?P[\w-]+)/meetings/$', views.meeting_list, name='api-agenda-meetings'), - url( + re_path( + r'^agenda/(?P[\w-]+)/meetings/$', views.meeting_list, name='api-agenda-meetings' + ), + re_path( r'^agenda/(?P[\w-]+)/meetings/(?P[\w-]+)/$', views.meeting_info, name='api-agenda-meetings', ), - url( + re_path( r'^agenda/(?P[\w-]+)/resources/$', views.agenda_resource_list, name='api-agenda-resources', ), - url(r'^agenda/(?P[\w-]+)/desks/$', views.agenda_desk_list, name='api-agenda-desks'), - url( + re_path( + r'^agenda/(?P[\w-]+)/desks/$', views.agenda_desk_list, name='api-agenda-desks' + ), + re_path( r'^agenda/(?P[\w-]+)/meetings/(?P[\w-]+)/datetimes/$', views.meeting_datetimes, name='api-agenda-meeting-datetimes', ), - url( + re_path( r'^agenda/(?P[\w-]+)/subscription/$', views.subscriptions, name='api-agenda-subscriptions', ), - url( + re_path( r'^agenda/(?P[\w-]+)/subscription/(?P\d+)/$', views.subscription, name='api-agenda-subscription', ), - url(r'^bookings/$', views.bookings, name='api-bookings'), - url(r'^booking/(?P\d+)/$', views.booking, name='api-booking'), - url(r'^booking/(?P\d+)/cancel/$', views.cancel_booking, name='api-cancel-booking'), - url(r'^booking/(?P\d+)/accept/$', views.accept_booking, name='api-accept-booking'), - url(r'^booking/(?P\d+)/anonymize/$', views.anonymize_booking, name='api-anonymize-booking'), - url(r'^booking/(?P\d+)/suspend/$', views.suspend_booking, name='api-suspend-booking'), - url(r'^booking/(?P\d+)/resize/$', views.resize_booking, name='api-resize-booking'), - url(r'^booking/(?P\d+)/ics/$', views.booking_ics, name='api-booking-ics'), - url(r'^shared-custody/$', views.shared_custody_agendas, name='api-shared-custody-agendas'), - url( - r'^shared-custody/(?P\d+)/$', + path('bookings/', views.bookings, name='api-bookings'), + path('booking//', views.booking, name='api-booking'), + path('booking//cancel/', views.cancel_booking, name='api-cancel-booking'), + path('booking//accept/', views.accept_booking, name='api-accept-booking'), + path('booking//anonymize/', views.anonymize_booking, name='api-anonymize-booking'), + path('booking//suspend/', views.suspend_booking, name='api-suspend-booking'), + path('booking//resize/', views.resize_booking, name='api-resize-booking'), + path('booking//ics/', views.booking_ics, name='api-booking-ics'), + path('shared-custody/', views.shared_custody_agendas, name='api-shared-custody-agendas'), + path( + 'shared-custody//', views.shared_custody_agenda, name='api-shared-custody-agenda', ), - url( - r'^shared-custody/(?P\d+)/add-child/$', + path( + 'shared-custody//add-child/', views.shared_custody_agenda_add_child, name='api-shared-custody-agenda-add-child', ), - url(r'^statistics/$', views.statistics_list, name='api-statistics-list'), - url(r'^statistics/bookings/$', views.bookings_statistics, name='api-statistics-bookings'), + path('statistics/', views.statistics_list, name='api-statistics-list'), + path('statistics/bookings/', views.bookings_statistics, name='api-statistics-bookings'), ] diff --git a/chrono/manager/urls.py b/chrono/manager/urls.py index eb5c361..cf1b924 100644 --- a/chrono/manager/urls.py +++ b/chrono/manager/urls.py @@ -14,435 +14,435 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . -from django.conf.urls import url +from django.urls import path, re_path from . import views urlpatterns = [ - url(r'^$', views.homepage, name='chrono-manager-homepage'), - url( - r'^unavailability-calendars/$', + path('', views.homepage, name='chrono-manager-homepage'), + path( + 'unavailability-calendars/', views.unavailability_calendar_list, name='chrono-manager-unavailability-calendar-list', ), - url( - r'^unavailability-calendar/add/$', + path( + 'unavailability-calendar/add/', views.unavailability_calendar_add, name='chrono-manager-unavailability-calendar-add', ), - url( - r'^unavailability-calendar/(?P\d+)/$', + path( + 'unavailability-calendar//', views.unavailability_calendar_view, name='chrono-manager-unavailability-calendar-view', ), - url( - r'^unavailability-calendar/(?P\d+)/edit/$', + path( + 'unavailability-calendar//edit/', views.unavailability_calendar_edit, name='chrono-manager-unavailability-calendar-edit', ), - url( - r'^unavailability-calendar/(?P\d+)/delete/$', + path( + 'unavailability-calendar//delete/', views.unavailability_calendar_delete, name='chrono-manager-unavailability-calendar-delete', ), - url( - r'^unavailability-calendar/(?P\d+)/settings$', + path( + 'unavailability-calendar//settings', views.unavailability_calendar_settings, name='chrono-manager-unavailability-calendar-settings', ), - url( - r'^unavailability-calendar/(?P\d+)/export$', + path( + 'unavailability-calendar//export', views.unavailability_calendar_export, name='chrono-manager-unavailability-calendar-export', ), - url( - r'^unavailability-calendar/(?P\d+)/add-unavailability$', + path( + 'unavailability-calendar//add-unavailability', views.unavailability_calendar_add_unavailability, name='chrono-manager-unavailability-calendar-add-unavailability', ), - url( - r'^unavailability-calendar/(?P\d+)/import-unavailabilities/$', + path( + 'unavailability-calendar//import-unavailabilities/', views.unavailability_calendar_import_unavailabilities, name='chrono-manager-unavailability-calendar-import-unavailabilities', ), - url(r'^resources/$', views.resource_list, name='chrono-manager-resource-list'), - url(r'^resource/add/$', views.resource_add, name='chrono-manager-resource-add'), - url(r'^resource/(?P\d+)/$', views.resource_view, name='chrono-manager-resource-view'), - url( + path('resources/', views.resource_list, name='chrono-manager-resource-list'), + path('resource/add/', views.resource_add, name='chrono-manager-resource-add'), + path('resource//', views.resource_view, name='chrono-manager-resource-view'), + re_path( r'^resource/(?P\d+)/(?P[0-9]{4})/(?P[0-9]+)/$', views.resource_monthly_view, name='chrono-manager-resource-month-view', ), - url( + re_path( r'^resource/(?P\d+)/(?P[0-9]{4})/(?P[0-9]+)/(?P[0-9]+)/$', views.resource_day_view, name='chrono-manager-resource-day-view', ), - url(r'^resource/(?P\d+)/edit/$', views.resource_edit, name='chrono-manager-resource-edit'), - url(r'^resource/(?P\d+)/delete/$', views.resource_delete, name='chrono-manager-resource-delete'), - url(r'^categories/$', views.category_list, name='chrono-manager-category-list'), - url(r'^category/add/$', views.category_add, name='chrono-manager-category-add'), - url(r'^category/(?P\d+)/edit/$', views.category_edit, name='chrono-manager-category-edit'), - url(r'^category/(?P\d+)/delete/$', views.category_delete, name='chrono-manager-category-delete'), - url(r'^events-types/$', views.events_type_list, name='chrono-manager-events-type-list'), - url(r'^events-type/add/$', views.events_type_add, name='chrono-manager-events-type-add'), - url(r'^events-type/(?P\d+)/edit/$', views.events_type_edit, name='chrono-manager-events-type-edit'), - url( - r'^events-type/(?P\d+)/delete/$', + path('resource//edit/', views.resource_edit, name='chrono-manager-resource-edit'), + path('resource//delete/', views.resource_delete, name='chrono-manager-resource-delete'), + path('categories/', views.category_list, name='chrono-manager-category-list'), + path('category/add/', views.category_add, name='chrono-manager-category-add'), + path('category//edit/', views.category_edit, name='chrono-manager-category-edit'), + path('category//delete/', views.category_delete, name='chrono-manager-category-delete'), + path('events-types/', views.events_type_list, name='chrono-manager-events-type-list'), + path('events-type/add/', views.events_type_add, name='chrono-manager-events-type-add'), + path('events-type//edit/', views.events_type_edit, name='chrono-manager-events-type-edit'), + path( + 'events-type//delete/', views.events_type_delete, name='chrono-manager-events-type-delete', ), - url(r'^agendas/add/$', views.agenda_add, name='chrono-manager-agenda-add'), - url(r'^agendas/import/$', views.agendas_import, name='chrono-manager-agendas-import'), - url(r'^agendas/export/$', views.agendas_export, name='chrono-manager-agendas-export'), - url(r'^agendas/(?P\d+)/$', views.agenda_view, name='chrono-manager-agenda-view'), - url(r'^agendas/(?P[-_a-zA-Z0-9]+)/$', views.agenda_view, name='chrono-manager-agenda-view'), - url( - r'^agendas/(?P\d+)/month/$', + path('agendas/add/', views.agenda_add, name='chrono-manager-agenda-add'), + path('agendas/import/', views.agendas_import, name='chrono-manager-agendas-import'), + path('agendas/export/', views.agendas_export, name='chrono-manager-agendas-export'), + path('agendas//', views.agenda_view, name='chrono-manager-agenda-view'), + re_path(r'^agendas/(?P[-_a-zA-Z0-9]+)/$', views.agenda_view, name='chrono-manager-agenda-view'), + path( + 'agendas//month/', views.agenda_month_redirect_view, name='chrono-manager-agenda-month-redirect-view', ), - url( + re_path( r'^agendas/(?P\d+)/(?P[0-9]{4})/(?P[0-9]+)/$', views.agenda_monthly_view, name='chrono-manager-agenda-month-view', ), - url( - r'^agendas/(?P\d+)/day/$', + path( + 'agendas//day/', views.agenda_day_redirect_view, name='chrono-manager-agenda-day-redirect-view', ), - url( + re_path( r'^agendas/(?P\d+)/(?P[0-9]{4})/(?P[0-9]+)/(?P[0-9]+)/$', views.agenda_day_view, name='chrono-manager-agenda-day-view', ), - url( - r'^agendas/(?P\d+)/events/open/$', + path( + 'agendas//events/open/', views.agenda_open_events_view, name='chrono-manager-agenda-open-events-view', ), - url(r'^agendas/(?P\d+)/settings$', views.agenda_settings, name='chrono-manager-agenda-settings'), - url( + path('agendas//settings', views.agenda_settings, name='chrono-manager-agenda-settings'), + re_path( r'^agendas/(?P[-_a-zA-Z0-9]+)/settings/$', views.agenda_settings_redirect_view, name='chrono-manager-agenda-settings-redirect', ), - url(r'^agendas/(?P\d+)/edit$', views.agenda_edit, name='chrono-manager-agenda-edit'), - url( - r'^agendas/(?P\d+)/booking-delays$', + path('agendas//edit', views.agenda_edit, name='chrono-manager-agenda-edit'), + path( + 'agendas//booking-delays', views.agenda_booking_delays, name='chrono-manager-agenda-booking-delays', ), - url(r'^agendas/(?P\d+)/roles$', views.agenda_roles, name='chrono-manager-agenda-roles'), - url( - r'^agendas/(?P\d+)/display-options$', + path('agendas//roles', views.agenda_roles, name='chrono-manager-agenda-roles'), + path( + 'agendas//display-options', views.agenda_display_settings, name='chrono-manager-agenda-display-settings', ), - url( - r'^agendas/(?P\d+)/check-options$', + path( + 'agendas//check-options', views.agenda_booking_check_settings, name='chrono-manager-agenda-booking-check-settings', ), - url(r'^agendas/(?P\d+)/delete$', views.agenda_delete, name='chrono-manager-agenda-delete'), - url(r'^agendas/(?P\d+)/export$', views.agenda_export, name='chrono-manager-agenda-export'), - url(r'^agendas/(?P\d+)/add-event$', views.agenda_add_event, name='chrono-manager-agenda-add-event'), - url(r'^agendas/(?P\d+)/duplicate$', views.agenda_duplicate, name='chrono-manager-agenda-duplicate'), - url( - r'^agendas/(?P\d+)/desk-management-toggle$', + path('agendas//delete', views.agenda_delete, name='chrono-manager-agenda-delete'), + path('agendas//export', views.agenda_export, name='chrono-manager-agenda-export'), + path('agendas//add-event', views.agenda_add_event, name='chrono-manager-agenda-add-event'), + path('agendas//duplicate', views.agenda_duplicate, name='chrono-manager-agenda-duplicate'), + path( + 'agendas//desk-management-toggle', views.agenda_desk_management_toggle_view, name='chrono-manager-agenda-desk-management-toggle-view', ), - url( - r'^agendas/(?P\d+)/import-events$', + path( + 'agendas//import-events', views.agenda_import_events, name='chrono-manager-agenda-import-events', ), - url( - r'^agendas/(?P\d+)/export-events$', + path( + 'agendas//export-events', views.agenda_export_events, name='chrono-manager-agenda-export-events', ), - url( - r'^agendas/(?P\d+)/notifications$', + path( + 'agendas//notifications', views.agenda_notifications_settings, name='chrono-manager-agenda-notifications-settings', ), - url( - r'^agendas/(?P\d+)/reminder$', + path( + 'agendas//reminder', views.agenda_reminder_settings, name='chrono-manager-agenda-reminder-settings', ), - url( - r'^agendas/(?P\d+)/reminder/test/$', + path( + 'agendas//reminder/test/', views.agenda_reminder_test, name='chrono-manager-agenda-reminder-test', ), - url( + re_path( r'^agendas/(?P\d+)/reminder/preview/(?P(email|sms))/$', views.agenda_reminder_preview, name='chrono-manager-agenda-reminder-preview', ), - url( - r'^agendas/(?P\d+)/events/timesheet$', + path( + 'agendas//events/timesheet', views.events_timesheet, name='chrono-manager-events-timesheet', ), - url( - r'^agendas/(?P\d+)/events/(?P\d+)/$', + path( + 'agendas//events//', views.event_view, name='chrono-manager-event-view', ), - url( - r'^agendas/(?P\d+)/events/(?P\d+)/edit$', + path( + 'agendas//events//edit', views.event_edit, name='chrono-manager-event-edit', ), - url( - r'^agendas/(?P\d+)/events/(?P\d+)/duplicate$', + path( + 'agendas//events//duplicate', views.event_duplicate, name='chrono-manager-event-duplicate', ), - url( - r'^agendas/(?P\d+)/events/(?P\d+)/delete$', + path( + 'agendas//events//delete', views.event_delete, name='chrono-manager-event-delete', ), - url( - r'^agendas/(?P\d+)/events/(?P\d+)/cancel$', + path( + 'agendas//events//cancel', views.event_cancel, name='chrono-manager-event-cancel', ), - url( - r'^agendas/(?P\d+)/events/(?P\d+)/check$', + path( + 'agendas//events//check', views.event_check, name='chrono-manager-event-check', ), - url( - r'^agendas/(?P\d+)/events/(?P\d+)/presence$', + path( + 'agendas//events//presence', views.event_presence, name='chrono-manager-event-presence', ), - url( - r'^agendas/(?P\d+)/events/(?P\d+)/absence$', + path( + 'agendas//events//absence', views.event_absence, name='chrono-manager-event-absence', ), - url( - r'^agendas/(?P\d+)/events/(?P\d+)/checked$', + path( + 'agendas//events//checked', views.event_checked, name='chrono-manager-event-checked', ), - url( - r'^agendas/(?P\d+)/events/(?P\d+)/timesheet$', + path( + 'agendas//events//timesheet', views.events_timesheet, name='chrono-manager-event-timesheet', ), - url( - r'^agendas/(?P\d+)/event_cancellation_report/(?P\d+)/$', + path( + 'agendas//event_cancellation_report//', views.event_cancellation_report, name='chrono-manager-event-cancellation-report', ), - url( - r'^agendas/(?P\d+)/event_cancellation_reports/$', + path( + 'agendas//event_cancellation_reports/', views.event_cancellation_report_list, name='chrono-manager-event-cancellation-report-list', ), - url( - r'^agendas/(?P\d+)/add-resource/$', + path( + 'agendas//add-resource/', views.agenda_add_resource, name='chrono-manager-agenda-add-resource', ), - url( - r'^agendas/(?P\d+)/resource/(?P\d+)/delete/$', + path( + 'agendas//resource//delete/', views.agenda_delete_resource, name='chrono-manager-agenda-delete-resource', ), - url( - r'^agendas/(?P\d+)/add-meeting-type$', + path( + 'agendas//add-meeting-type', views.agenda_add_meeting_type, name='chrono-manager-agenda-add-meeting-type', ), - url(r'^meetingtypes/(?P\d+)/edit$', views.meeting_type_edit, name='chrono-manager-meeting-type-edit'), - url( - r'^meetingtypes/(?P\d+)/delete$', + path('meetingtypes//edit', views.meeting_type_edit, name='chrono-manager-meeting-type-edit'), + path( + 'meetingtypes//delete', views.meeting_type_delete, name='chrono-manager-meeting-type-delete', ), - url( - r'^agendas/(?P\d+)/desk/(?P\d+)/add-time-period$', + path( + 'agendas//desk//add-time-period', views.agenda_add_time_period, name='chrono-manager-agenda-add-time-period', ), - url( - r'^agendas/(?P\d+)/add-time-period$', + path( + 'agendas//add-time-period', views.virtual_agenda_add_time_period, name='chrono-manager-virtual-agenda-add-time-period', ), - url(r'^timeperiods/(?P\d+)/edit$', views.time_period_edit, name='chrono-manager-time-period-edit'), - url( - r'^timeperiods/(?P\d+)/delete$', + path('timeperiods//edit', views.time_period_edit, name='chrono-manager-time-period-edit'), + path( + 'timeperiods//delete', views.time_period_delete, name='chrono-manager-time-period-delete', ), - url(r'^agendas/(?P\d+)/add-desk$', views.agenda_add_desk, name='chrono-manager-agenda-add-desk'), - url(r'^desks/(?P\d+)/edit$', views.desk_edit, name='chrono-manager-desk-edit'), - url(r'^desks/(?P\d+)/delete$', views.desk_delete, name='chrono-manager-desk-delete'), - url( - r'^desk/(?P\d+)/unavailability-calendar/(?P\d+)/toggle/$', + path('agendas//add-desk', views.agenda_add_desk, name='chrono-manager-agenda-add-desk'), + path('desks//edit', views.desk_edit, name='chrono-manager-desk-edit'), + path('desks//delete', views.desk_delete, name='chrono-manager-desk-delete'), + path( + 'desk//unavailability-calendar//toggle/', views.unavailability_calendar_toggle_view, name='chrono-manager-unavailability-calendar-toggle-view', ), - url( - r'^agendas/(?P\d+)/desk/(?P\d+)/add-time-period-exception$', + path( + 'agendas//desk//add-time-period-exception', views.agenda_add_time_period_exception, name='chrono-manager-agenda-add-time-period-exception', ), - url( - r'^agendas/desk/(?P\d+)/import-exceptions-from-ics/$', + path( + 'agendas/desk//import-exceptions-from-ics/', views.desk_import_time_period_exceptions, name='chrono-manager-desk-add-import-time-period-exceptions', ), - url( - r'^agendas/(?P\d+)/add-virtual-member$', + path( + 'agendas//add-virtual-member', views.agenda_add_virtual_member, name='chrono-manager-agenda-add-virtual-member', ), - url( - r'^virtual-members/(?P\d+)/delete$', + path( + 'virtual-members//delete', views.virtual_member_delete, name='chrono-manager-virtual-member-delete', ), - url( - r'^time-period-exceptions/(?P\d+)/edit$', + path( + 'time-period-exceptions//edit', views.time_period_exception_edit, name='chrono-manager-time-period-exception-edit', ), - url( - r'^time-period-exceptions/(?P\d+)/delete$', + path( + 'time-period-exceptions//delete', views.time_period_exception_delete, name='chrono-manager-time-period-exception-delete', ), - url( - r'^time-period-exceptions/(?P\d+)/exception-extract-list$', + path( + 'time-period-exceptions//exception-extract-list', views.time_period_exception_extract_list, name='chrono-manager-time-period-exception-extract-list', ), - url( - r'^time-period-exceptions/(?P\d+)/exception-list$', + path( + 'time-period-exceptions//exception-list', views.time_period_exception_list, name='chrono-manager-time-period-exception-list', ), - url( - r'^time-period-exceptions-source/(?P\d+)/delete$', + path( + 'time-period-exceptions-source//delete', views.time_period_exception_source_delete, name='chrono-manager-time-period-exception-source-delete', ), - url( - r'^time-period-exceptions-source/(?P\d+)/refresh$', + path( + 'time-period-exceptions-source//refresh', views.time_period_exception_source_refresh, name='chrono-manager-time-period-exception-source-refresh', ), - url( - r'^time-period-exceptions-source/(?P\d+)/toggle$', + path( + 'time-period-exceptions-source//toggle', views.time_period_exception_source_toggle, name='chrono-manager-time-period-exception-source-toggle', ), - url( - r'^time-period-exceptions-source/(?P\d+)/replace$', + path( + 'time-period-exceptions-source//replace', views.time_period_exception_source_replace, name='chrono-manager-time-period-exception-source-replace', ), - url( - r'^agendas/(?P\d+)/bookings/(?P\d+)/cancel$', + path( + 'agendas//bookings//cancel', views.booking_cancel, name='chrono-manager-booking-cancel', ), - url( - r'^agendas/(?P\d+)/bookings/(?P\d+)/presence$', + path( + 'agendas//bookings//presence', views.booking_presence, name='chrono-manager-booking-presence', ), - url( - r'^agendas/(?P\d+)/bookings/(?P\d+)/absence$', + path( + 'agendas//bookings//absence', views.booking_absence, name='chrono-manager-booking-absence', ), - url( + re_path( r'^agendas/events.csv$', views.agenda_import_events_sample_csv, name='chrono-manager-sample-events-csv', ), - url( - r'^shared-custody/settings/$', + path( + 'shared-custody/settings/', views.shared_custody_settings, name='chrono-manager-shared-custody-settings', ), - url( - r'^shared-custody/(?P\d+)/$', + path( + 'shared-custody//', views.shared_custody_agenda_view, name='chrono-manager-shared-custody-agenda-view', ), - url( + re_path( r'^shared-custody/(?P\d+)/(?P[0-9]{4})/(?P[0-9]+)/$', views.shared_custody_agenda_monthly_view, name='chrono-manager-shared-custody-agenda-month-view', ), - url( - r'^shared-custody/(?P\d+)/settings/$', + path( + 'shared-custody//settings/', views.shared_custody_agenda_settings, name='chrono-manager-shared-custody-agenda-settings', ), - url( - r'^shared-custody/(?P\d+)/delete$', + path( + 'shared-custody//delete', views.shared_custody_agenda_delete, name='chrono-manager-shared-custody-agenda-delete', ), - url( - r'^shared-custody/(?P\d+)/add-rule$', + path( + 'shared-custody//add-rule', views.shared_custody_agenda_add_rule, name='chrono-manager-shared-custody-agenda-add-rule', ), - url( - r'^shared-custody/(?P\d+)/rules/(?P\d+)/edit$', + path( + 'shared-custody//rules//edit', views.shared_custody_agenda_edit_rule, name='chrono-manager-shared-custody-agenda-edit-rule', ), - url( - r'^shared-custody/(?P\d+)/rules/(?P\d+)/delete$', + path( + 'shared-custody//rules//delete', views.shared_custody_agenda_delete_rule, name='chrono-manager-shared-custody-agenda-delete-rule', ), - url( - r'^shared-custody/(?P\d+)/add-holiday-rule$', + path( + 'shared-custody//add-holiday-rule', views.shared_custody_agenda_add_holiday_rule, name='chrono-manager-shared-custody-agenda-add-holiday-rule', ), - url( - r'^shared-custody/(?P\d+)/holiday-rules/(?P\d+)/edit$', + path( + 'shared-custody//holiday-rules//edit', views.shared_custody_agenda_edit_holiday_rule, name='chrono-manager-shared-custody-agenda-edit-holiday-rule', ), - url( - r'^shared-custody/(?P\d+)/holiday-rules/(?P\d+)/delete$', + path( + 'shared-custody//holiday-rules//delete', views.shared_custody_agenda_delete_holiday_rule, name='chrono-manager-shared-custody-agenda-delete-holiday-rule', ), - url( - r'^shared-custody/(?P\d+)/add-period$', + path( + 'shared-custody//add-period', views.shared_custody_agenda_add_period, name='chrono-manager-shared-custody-agenda-add-period', ), - url( - r'^shared-custody/(?P\d+)/periods/(?P\d+)/edit$', + path( + 'shared-custody//periods//edit', views.shared_custody_agenda_edit_period, name='chrono-manager-shared-custody-agenda-edit-period', ), - url( - r'^shared-custody/(?P\d+)/periods/(?P\d+)/delete$', + path( + 'shared-custody//periods//delete', views.shared_custody_agenda_delete_period, name='chrono-manager-shared-custody-agenda-delete-period', ), - url(r'^menu.json$', views.menu_json), + re_path(r'^menu.json$', views.menu_json), ] diff --git a/chrono/urls.py b/chrono/urls.py index d130965..6d93e60 100644 --- a/chrono/urls.py +++ b/chrono/urls.py @@ -15,10 +15,10 @@ # along with this program. If not, see . from django.conf import settings -from django.conf.urls import include, url from django.conf.urls.static import static from django.contrib.auth.decorators import login_required from django.contrib.staticfiles.urls import staticfiles_urlpatterns +from django.urls import include, path, re_path from .api.urls import urlpatterns as chrono_api_urls from .manager.urls import urlpatterns as chrono_manager_urls @@ -26,16 +26,16 @@ from .urls_utils import decorated_includes from .views import LoginView, LogoutView, homepage urlpatterns = [ - url(r'^$', homepage, name='home'), - url(r'^manage/', decorated_includes(login_required, include(chrono_manager_urls))), - url(r'^api/', include(chrono_api_urls)), - url(r'^logout/$', LogoutView.as_view(), name='auth_logout'), - url(r'^login/$', LoginView.as_view(), name='auth_login'), + path('', homepage, name='home'), + re_path(r'^manage/', decorated_includes(login_required, include(chrono_manager_urls))), + re_path(r'^api/', include(chrono_api_urls)), + path('logout/', LogoutView.as_view(), name='auth_logout'), + path('login/', LoginView.as_view(), name='auth_login'), ] if 'mellon' in settings.INSTALLED_APPS: urlpatterns.append( - url( + re_path( r'^accounts/mellon/', include('mellon.urls'), kwargs={ @@ -48,7 +48,7 @@ if settings.DEBUG and 'debug_toolbar' in settings.INSTALLED_APPS: import debug_toolbar # pylint: disable=import-error urlpatterns = [ - url(r'^__debug__/', include(debug_toolbar.urls)), + re_path(r'^__debug__/', include(debug_toolbar.urls)), ] + urlpatterns # static and media files -- 2.37.2