django4: replaced urls.url with url.re_path equivalent (#68593)

This commit is contained in:
Agate 2022-08-31 17:14:39 +02:00
parent da4456096b
commit d37609ac75
3 changed files with 242 additions and 234 deletions

View File

@ -14,119 +14,127 @@
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
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<agenda_identifier>[\w-]+)/$', views.agenda),
url(r'^agenda/(?P<agenda_identifier>[\w-]+)/datetimes/$', views.datetimes, name='api-agenda-datetimes'),
url(
re_path(r'^agenda/(?P<agenda_identifier>[\w-]+)/$', views.agenda),
re_path(
r'^agenda/(?P<agenda_identifier>[\w-]+)/datetimes/$', views.datetimes, name='api-agenda-datetimes'
),
re_path(
r'^agenda/(?P<agenda_identifier>[\w-]+)/fillslot/(?P<event_identifier>[\w:-]+)/$',
views.fillslot,
name='api-fillslot',
),
url(r'^agenda/(?P<agenda_identifier>[\w-]+)/fillslots/$', views.fillslots, name='api-agenda-fillslots'),
url(
re_path(
r'^agenda/(?P<agenda_identifier>[\w-]+)/fillslots/$', views.fillslots, name='api-agenda-fillslots'
),
re_path(
r'^agenda/(?P<agenda_identifier>[\w-]+)/events/fillslots/$',
views.events_fillslots,
name='api-agenda-events-fillslots',
),
url(
re_path(
r'^agenda/(?P<agenda_identifier>[\w-]+)/event/$',
views.events,
name='api-events',
),
url(
re_path(
r'^agenda/(?P<agenda_identifier>[\w-]+)/event/(?P<event_identifier>[\w:-]+)/$',
views.event,
name='api-event',
),
url(
re_path(
r'^agenda/(?P<agenda_identifier>[\w-]+)/status/(?P<event_identifier>[\w:-]+)/$',
views.event_status,
name='api-event-status',
),
url(
re_path(
r'^agenda/(?P<agenda_identifier>[\w-]+)/bookings/(?P<event_identifier>[\w:-]+)/$',
views.event_bookings,
name='api-event-bookings',
),
url(
re_path(
r'^agenda/(?P<agenda_identifier>[\w-]+)/check/(?P<event_identifier>[\w:-]+)/$',
views.event_check,
name='api-event-check',
),
url(
re_path(
r'^agenda/meetings/(?P<meeting_identifier>[\w-]+)/datetimes/$',
views.meeting_datetimes,
name='api-agenda-meeting-datetimes-legacy',
),
url(r'^agenda/(?P<agenda_identifier>[\w-]+)/meetings/$', views.meeting_list, name='api-agenda-meetings'),
url(
re_path(
r'^agenda/(?P<agenda_identifier>[\w-]+)/meetings/$', views.meeting_list, name='api-agenda-meetings'
),
re_path(
r'^agenda/(?P<agenda_identifier>[\w-]+)/meetings/(?P<meeting_identifier>[\w-]+)/$',
views.meeting_info,
name='api-agenda-meetings',
),
url(
re_path(
r'^agenda/(?P<agenda_identifier>[\w-]+)/resources/$',
views.agenda_resource_list,
name='api-agenda-resources',
),
url(r'^agenda/(?P<agenda_identifier>[\w-]+)/desks/$', views.agenda_desk_list, name='api-agenda-desks'),
url(
re_path(
r'^agenda/(?P<agenda_identifier>[\w-]+)/desks/$', views.agenda_desk_list, name='api-agenda-desks'
),
re_path(
r'^agenda/(?P<agenda_identifier>[\w-]+)/meetings/(?P<meeting_identifier>[\w-]+)/datetimes/$',
views.meeting_datetimes,
name='api-agenda-meeting-datetimes',
),
url(
re_path(
r'^agenda/(?P<agenda_identifier>[\w-]+)/subscription/$',
views.subscriptions,
name='api-agenda-subscriptions',
),
url(
re_path(
r'^agenda/(?P<agenda_identifier>[\w-]+)/subscription/(?P<subscription_pk>\d+)/$',
views.subscription,
name='api-agenda-subscription',
),
url(r'^bookings/$', views.bookings, name='api-bookings'),
url(r'^booking/(?P<booking_pk>\d+)/$', views.booking, name='api-booking'),
url(r'^booking/(?P<booking_pk>\d+)/cancel/$', views.cancel_booking, name='api-cancel-booking'),
url(r'^booking/(?P<booking_pk>\d+)/accept/$', views.accept_booking, name='api-accept-booking'),
url(r'^booking/(?P<booking_pk>\d+)/anonymize/$', views.anonymize_booking, name='api-anonymize-booking'),
url(r'^booking/(?P<booking_pk>\d+)/suspend/$', views.suspend_booking, name='api-suspend-booking'),
url(r'^booking/(?P<booking_pk>\d+)/resize/$', views.resize_booking, name='api-resize-booking'),
url(r'^booking/(?P<booking_pk>\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<agenda_pk>\d+)/$',
path('bookings/', views.bookings, name='api-bookings'),
path('booking/<int:booking_pk>/', views.booking, name='api-booking'),
path('booking/<int:booking_pk>/cancel/', views.cancel_booking, name='api-cancel-booking'),
path('booking/<int:booking_pk>/accept/', views.accept_booking, name='api-accept-booking'),
path('booking/<int:booking_pk>/anonymize/', views.anonymize_booking, name='api-anonymize-booking'),
path('booking/<int:booking_pk>/suspend/', views.suspend_booking, name='api-suspend-booking'),
path('booking/<int:booking_pk>/resize/', views.resize_booking, name='api-resize-booking'),
path('booking/<int:booking_pk>/ics/', views.booking_ics, name='api-booking-ics'),
path('shared-custody/', views.shared_custody_agendas, name='api-shared-custody-agendas'),
path(
'shared-custody/<int:agenda_pk>/',
views.shared_custody_agenda,
name='api-shared-custody-agenda',
),
url(
r'^shared-custody/(?P<agenda_pk>\d+)/add-child/$',
path(
'shared-custody/<int:agenda_pk>/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'),
]

View File

@ -14,435 +14,435 @@
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
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<pk>\d+)/$',
path(
'unavailability-calendar/<int:pk>/',
views.unavailability_calendar_view,
name='chrono-manager-unavailability-calendar-view',
),
url(
r'^unavailability-calendar/(?P<pk>\d+)/edit/$',
path(
'unavailability-calendar/<int:pk>/edit/',
views.unavailability_calendar_edit,
name='chrono-manager-unavailability-calendar-edit',
),
url(
r'^unavailability-calendar/(?P<pk>\d+)/delete/$',
path(
'unavailability-calendar/<int:pk>/delete/',
views.unavailability_calendar_delete,
name='chrono-manager-unavailability-calendar-delete',
),
url(
r'^unavailability-calendar/(?P<pk>\d+)/settings$',
path(
'unavailability-calendar/<int:pk>/settings',
views.unavailability_calendar_settings,
name='chrono-manager-unavailability-calendar-settings',
),
url(
r'^unavailability-calendar/(?P<pk>\d+)/export$',
path(
'unavailability-calendar/<int:pk>/export',
views.unavailability_calendar_export,
name='chrono-manager-unavailability-calendar-export',
),
url(
r'^unavailability-calendar/(?P<pk>\d+)/add-unavailability$',
path(
'unavailability-calendar/<int:pk>/add-unavailability',
views.unavailability_calendar_add_unavailability,
name='chrono-manager-unavailability-calendar-add-unavailability',
),
url(
r'^unavailability-calendar/(?P<pk>\d+)/import-unavailabilities/$',
path(
'unavailability-calendar/<int:pk>/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<pk>\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/<int:pk>/', views.resource_view, name='chrono-manager-resource-view'),
re_path(
r'^resource/(?P<pk>\d+)/(?P<year>[0-9]{4})/(?P<month>[0-9]+)/$',
views.resource_monthly_view,
name='chrono-manager-resource-month-view',
),
url(
re_path(
r'^resource/(?P<pk>\d+)/(?P<year>[0-9]{4})/(?P<month>[0-9]+)/(?P<day>[0-9]+)/$',
views.resource_day_view,
name='chrono-manager-resource-day-view',
),
url(r'^resource/(?P<pk>\d+)/edit/$', views.resource_edit, name='chrono-manager-resource-edit'),
url(r'^resource/(?P<pk>\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<pk>\d+)/edit/$', views.category_edit, name='chrono-manager-category-edit'),
url(r'^category/(?P<pk>\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<pk>\d+)/edit/$', views.events_type_edit, name='chrono-manager-events-type-edit'),
url(
r'^events-type/(?P<pk>\d+)/delete/$',
path('resource/<int:pk>/edit/', views.resource_edit, name='chrono-manager-resource-edit'),
path('resource/<int:pk>/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/<int:pk>/edit/', views.category_edit, name='chrono-manager-category-edit'),
path('category/<int:pk>/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/<int:pk>/edit/', views.events_type_edit, name='chrono-manager-events-type-edit'),
path(
'events-type/<int:pk>/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<pk>\d+)/$', views.agenda_view, name='chrono-manager-agenda-view'),
url(r'^agendas/(?P<slug>[-_a-zA-Z0-9]+)/$', views.agenda_view, name='chrono-manager-agenda-view'),
url(
r'^agendas/(?P<pk>\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/<int:pk>/', views.agenda_view, name='chrono-manager-agenda-view'),
re_path(r'^agendas/(?P<slug>[-_a-zA-Z0-9]+)/$', views.agenda_view, name='chrono-manager-agenda-view'),
path(
'agendas/<int:pk>/month/',
views.agenda_month_redirect_view,
name='chrono-manager-agenda-month-redirect-view',
),
url(
re_path(
r'^agendas/(?P<pk>\d+)/(?P<year>[0-9]{4})/(?P<month>[0-9]+)/$',
views.agenda_monthly_view,
name='chrono-manager-agenda-month-view',
),
url(
r'^agendas/(?P<pk>\d+)/day/$',
path(
'agendas/<int:pk>/day/',
views.agenda_day_redirect_view,
name='chrono-manager-agenda-day-redirect-view',
),
url(
re_path(
r'^agendas/(?P<pk>\d+)/(?P<year>[0-9]{4})/(?P<month>[0-9]+)/(?P<day>[0-9]+)/$',
views.agenda_day_view,
name='chrono-manager-agenda-day-view',
),
url(
r'^agendas/(?P<pk>\d+)/events/open/$',
path(
'agendas/<int:pk>/events/open/',
views.agenda_open_events_view,
name='chrono-manager-agenda-open-events-view',
),
url(r'^agendas/(?P<pk>\d+)/settings$', views.agenda_settings, name='chrono-manager-agenda-settings'),
url(
path('agendas/<int:pk>/settings', views.agenda_settings, name='chrono-manager-agenda-settings'),
re_path(
r'^agendas/(?P<slug>[-_a-zA-Z0-9]+)/settings/$',
views.agenda_settings_redirect_view,
name='chrono-manager-agenda-settings-redirect',
),
url(r'^agendas/(?P<pk>\d+)/edit$', views.agenda_edit, name='chrono-manager-agenda-edit'),
url(
r'^agendas/(?P<pk>\d+)/booking-delays$',
path('agendas/<int:pk>/edit', views.agenda_edit, name='chrono-manager-agenda-edit'),
path(
'agendas/<int:pk>/booking-delays',
views.agenda_booking_delays,
name='chrono-manager-agenda-booking-delays',
),
url(r'^agendas/(?P<pk>\d+)/roles$', views.agenda_roles, name='chrono-manager-agenda-roles'),
url(
r'^agendas/(?P<pk>\d+)/display-options$',
path('agendas/<int:pk>/roles', views.agenda_roles, name='chrono-manager-agenda-roles'),
path(
'agendas/<int:pk>/display-options',
views.agenda_display_settings,
name='chrono-manager-agenda-display-settings',
),
url(
r'^agendas/(?P<pk>\d+)/check-options$',
path(
'agendas/<int:pk>/check-options',
views.agenda_booking_check_settings,
name='chrono-manager-agenda-booking-check-settings',
),
url(r'^agendas/(?P<pk>\d+)/delete$', views.agenda_delete, name='chrono-manager-agenda-delete'),
url(r'^agendas/(?P<pk>\d+)/export$', views.agenda_export, name='chrono-manager-agenda-export'),
url(r'^agendas/(?P<pk>\d+)/add-event$', views.agenda_add_event, name='chrono-manager-agenda-add-event'),
url(r'^agendas/(?P<pk>\d+)/duplicate$', views.agenda_duplicate, name='chrono-manager-agenda-duplicate'),
url(
r'^agendas/(?P<pk>\d+)/desk-management-toggle$',
path('agendas/<int:pk>/delete', views.agenda_delete, name='chrono-manager-agenda-delete'),
path('agendas/<int:pk>/export', views.agenda_export, name='chrono-manager-agenda-export'),
path('agendas/<int:pk>/add-event', views.agenda_add_event, name='chrono-manager-agenda-add-event'),
path('agendas/<int:pk>/duplicate', views.agenda_duplicate, name='chrono-manager-agenda-duplicate'),
path(
'agendas/<int:pk>/desk-management-toggle',
views.agenda_desk_management_toggle_view,
name='chrono-manager-agenda-desk-management-toggle-view',
),
url(
r'^agendas/(?P<pk>\d+)/import-events$',
path(
'agendas/<int:pk>/import-events',
views.agenda_import_events,
name='chrono-manager-agenda-import-events',
),
url(
r'^agendas/(?P<pk>\d+)/export-events$',
path(
'agendas/<int:pk>/export-events',
views.agenda_export_events,
name='chrono-manager-agenda-export-events',
),
url(
r'^agendas/(?P<pk>\d+)/notifications$',
path(
'agendas/<int:pk>/notifications',
views.agenda_notifications_settings,
name='chrono-manager-agenda-notifications-settings',
),
url(
r'^agendas/(?P<pk>\d+)/reminder$',
path(
'agendas/<int:pk>/reminder',
views.agenda_reminder_settings,
name='chrono-manager-agenda-reminder-settings',
),
url(
r'^agendas/(?P<pk>\d+)/reminder/test/$',
path(
'agendas/<int:pk>/reminder/test/',
views.agenda_reminder_test,
name='chrono-manager-agenda-reminder-test',
),
url(
re_path(
r'^agendas/(?P<pk>\d+)/reminder/preview/(?P<type>(email|sms))/$',
views.agenda_reminder_preview,
name='chrono-manager-agenda-reminder-preview',
),
url(
r'^agendas/(?P<pk>\d+)/events/timesheet$',
path(
'agendas/<int:pk>/events/timesheet',
views.events_timesheet,
name='chrono-manager-events-timesheet',
),
url(
r'^agendas/(?P<pk>\d+)/events/(?P<event_pk>\d+)/$',
path(
'agendas/<int:pk>/events/<int:event_pk>/',
views.event_view,
name='chrono-manager-event-view',
),
url(
r'^agendas/(?P<pk>\d+)/events/(?P<event_pk>\d+)/edit$',
path(
'agendas/<int:pk>/events/<int:event_pk>/edit',
views.event_edit,
name='chrono-manager-event-edit',
),
url(
r'^agendas/(?P<pk>\d+)/events/(?P<event_pk>\d+)/duplicate$',
path(
'agendas/<int:pk>/events/<int:event_pk>/duplicate',
views.event_duplicate,
name='chrono-manager-event-duplicate',
),
url(
r'^agendas/(?P<pk>\d+)/events/(?P<event_pk>\d+)/delete$',
path(
'agendas/<int:pk>/events/<int:event_pk>/delete',
views.event_delete,
name='chrono-manager-event-delete',
),
url(
r'^agendas/(?P<pk>\d+)/events/(?P<event_pk>\d+)/cancel$',
path(
'agendas/<int:pk>/events/<int:event_pk>/cancel',
views.event_cancel,
name='chrono-manager-event-cancel',
),
url(
r'^agendas/(?P<pk>\d+)/events/(?P<event_pk>\d+)/check$',
path(
'agendas/<int:pk>/events/<int:event_pk>/check',
views.event_check,
name='chrono-manager-event-check',
),
url(
r'^agendas/(?P<pk>\d+)/events/(?P<event_pk>\d+)/presence$',
path(
'agendas/<int:pk>/events/<int:event_pk>/presence',
views.event_presence,
name='chrono-manager-event-presence',
),
url(
r'^agendas/(?P<pk>\d+)/events/(?P<event_pk>\d+)/absence$',
path(
'agendas/<int:pk>/events/<int:event_pk>/absence',
views.event_absence,
name='chrono-manager-event-absence',
),
url(
r'^agendas/(?P<pk>\d+)/events/(?P<event_pk>\d+)/checked$',
path(
'agendas/<int:pk>/events/<int:event_pk>/checked',
views.event_checked,
name='chrono-manager-event-checked',
),
url(
r'^agendas/(?P<pk>\d+)/events/(?P<event_pk>\d+)/timesheet$',
path(
'agendas/<int:pk>/events/<int:event_pk>/timesheet',
views.events_timesheet,
name='chrono-manager-event-timesheet',
),
url(
r'^agendas/(?P<pk>\d+)/event_cancellation_report/(?P<report_pk>\d+)/$',
path(
'agendas/<int:pk>/event_cancellation_report/<int:report_pk>/',
views.event_cancellation_report,
name='chrono-manager-event-cancellation-report',
),
url(
r'^agendas/(?P<pk>\d+)/event_cancellation_reports/$',
path(
'agendas/<int:pk>/event_cancellation_reports/',
views.event_cancellation_report_list,
name='chrono-manager-event-cancellation-report-list',
),
url(
r'^agendas/(?P<pk>\d+)/add-resource/$',
path(
'agendas/<int:pk>/add-resource/',
views.agenda_add_resource,
name='chrono-manager-agenda-add-resource',
),
url(
r'^agendas/(?P<pk>\d+)/resource/(?P<resource_pk>\d+)/delete/$',
path(
'agendas/<int:pk>/resource/<int:resource_pk>/delete/',
views.agenda_delete_resource,
name='chrono-manager-agenda-delete-resource',
),
url(
r'^agendas/(?P<pk>\d+)/add-meeting-type$',
path(
'agendas/<int:pk>/add-meeting-type',
views.agenda_add_meeting_type,
name='chrono-manager-agenda-add-meeting-type',
),
url(r'^meetingtypes/(?P<pk>\d+)/edit$', views.meeting_type_edit, name='chrono-manager-meeting-type-edit'),
url(
r'^meetingtypes/(?P<pk>\d+)/delete$',
path('meetingtypes/<int:pk>/edit', views.meeting_type_edit, name='chrono-manager-meeting-type-edit'),
path(
'meetingtypes/<int:pk>/delete',
views.meeting_type_delete,
name='chrono-manager-meeting-type-delete',
),
url(
r'^agendas/(?P<agenda_pk>\d+)/desk/(?P<pk>\d+)/add-time-period$',
path(
'agendas/<int:agenda_pk>/desk/<int:pk>/add-time-period',
views.agenda_add_time_period,
name='chrono-manager-agenda-add-time-period',
),
url(
r'^agendas/(?P<pk>\d+)/add-time-period$',
path(
'agendas/<int:pk>/add-time-period',
views.virtual_agenda_add_time_period,
name='chrono-manager-virtual-agenda-add-time-period',
),
url(r'^timeperiods/(?P<pk>\d+)/edit$', views.time_period_edit, name='chrono-manager-time-period-edit'),
url(
r'^timeperiods/(?P<pk>\d+)/delete$',
path('timeperiods/<int:pk>/edit', views.time_period_edit, name='chrono-manager-time-period-edit'),
path(
'timeperiods/<int:pk>/delete',
views.time_period_delete,
name='chrono-manager-time-period-delete',
),
url(r'^agendas/(?P<pk>\d+)/add-desk$', views.agenda_add_desk, name='chrono-manager-agenda-add-desk'),
url(r'^desks/(?P<pk>\d+)/edit$', views.desk_edit, name='chrono-manager-desk-edit'),
url(r'^desks/(?P<pk>\d+)/delete$', views.desk_delete, name='chrono-manager-desk-delete'),
url(
r'^desk/(?P<pk>\d+)/unavailability-calendar/(?P<unavailability_calendar_pk>\d+)/toggle/$',
path('agendas/<int:pk>/add-desk', views.agenda_add_desk, name='chrono-manager-agenda-add-desk'),
path('desks/<int:pk>/edit', views.desk_edit, name='chrono-manager-desk-edit'),
path('desks/<int:pk>/delete', views.desk_delete, name='chrono-manager-desk-delete'),
path(
'desk/<int:pk>/unavailability-calendar/<int:unavailability_calendar_pk>/toggle/',
views.unavailability_calendar_toggle_view,
name='chrono-manager-unavailability-calendar-toggle-view',
),
url(
r'^agendas/(?P<agenda_pk>\d+)/desk/(?P<pk>\d+)/add-time-period-exception$',
path(
'agendas/<int:agenda_pk>/desk/<int:pk>/add-time-period-exception',
views.agenda_add_time_period_exception,
name='chrono-manager-agenda-add-time-period-exception',
),
url(
r'^agendas/desk/(?P<pk>\d+)/import-exceptions-from-ics/$',
path(
'agendas/desk/<int:pk>/import-exceptions-from-ics/',
views.desk_import_time_period_exceptions,
name='chrono-manager-desk-add-import-time-period-exceptions',
),
url(
r'^agendas/(?P<pk>\d+)/add-virtual-member$',
path(
'agendas/<int:pk>/add-virtual-member',
views.agenda_add_virtual_member,
name='chrono-manager-agenda-add-virtual-member',
),
url(
r'^virtual-members/(?P<pk>\d+)/delete$',
path(
'virtual-members/<int:pk>/delete',
views.virtual_member_delete,
name='chrono-manager-virtual-member-delete',
),
url(
r'^time-period-exceptions/(?P<pk>\d+)/edit$',
path(
'time-period-exceptions/<int:pk>/edit',
views.time_period_exception_edit,
name='chrono-manager-time-period-exception-edit',
),
url(
r'^time-period-exceptions/(?P<pk>\d+)/delete$',
path(
'time-period-exceptions/<int:pk>/delete',
views.time_period_exception_delete,
name='chrono-manager-time-period-exception-delete',
),
url(
r'^time-period-exceptions/(?P<pk>\d+)/exception-extract-list$',
path(
'time-period-exceptions/<int:pk>/exception-extract-list',
views.time_period_exception_extract_list,
name='chrono-manager-time-period-exception-extract-list',
),
url(
r'^time-period-exceptions/(?P<pk>\d+)/exception-list$',
path(
'time-period-exceptions/<int:pk>/exception-list',
views.time_period_exception_list,
name='chrono-manager-time-period-exception-list',
),
url(
r'^time-period-exceptions-source/(?P<pk>\d+)/delete$',
path(
'time-period-exceptions-source/<int:pk>/delete',
views.time_period_exception_source_delete,
name='chrono-manager-time-period-exception-source-delete',
),
url(
r'^time-period-exceptions-source/(?P<pk>\d+)/refresh$',
path(
'time-period-exceptions-source/<int:pk>/refresh',
views.time_period_exception_source_refresh,
name='chrono-manager-time-period-exception-source-refresh',
),
url(
r'^time-period-exceptions-source/(?P<pk>\d+)/toggle$',
path(
'time-period-exceptions-source/<int:pk>/toggle',
views.time_period_exception_source_toggle,
name='chrono-manager-time-period-exception-source-toggle',
),
url(
r'^time-period-exceptions-source/(?P<pk>\d+)/replace$',
path(
'time-period-exceptions-source/<int:pk>/replace',
views.time_period_exception_source_replace,
name='chrono-manager-time-period-exception-source-replace',
),
url(
r'^agendas/(?P<pk>\d+)/bookings/(?P<booking_pk>\d+)/cancel$',
path(
'agendas/<int:pk>/bookings/<int:booking_pk>/cancel',
views.booking_cancel,
name='chrono-manager-booking-cancel',
),
url(
r'^agendas/(?P<pk>\d+)/bookings/(?P<booking_pk>\d+)/presence$',
path(
'agendas/<int:pk>/bookings/<int:booking_pk>/presence',
views.booking_presence,
name='chrono-manager-booking-presence',
),
url(
r'^agendas/(?P<pk>\d+)/bookings/(?P<booking_pk>\d+)/absence$',
path(
'agendas/<int:pk>/bookings/<int:booking_pk>/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<pk>\d+)/$',
path(
'shared-custody/<int:pk>/',
views.shared_custody_agenda_view,
name='chrono-manager-shared-custody-agenda-view',
),
url(
re_path(
r'^shared-custody/(?P<pk>\d+)/(?P<year>[0-9]{4})/(?P<month>[0-9]+)/$',
views.shared_custody_agenda_monthly_view,
name='chrono-manager-shared-custody-agenda-month-view',
),
url(
r'^shared-custody/(?P<pk>\d+)/settings/$',
path(
'shared-custody/<int:pk>/settings/',
views.shared_custody_agenda_settings,
name='chrono-manager-shared-custody-agenda-settings',
),
url(
r'^shared-custody/(?P<pk>\d+)/delete$',
path(
'shared-custody/<int:pk>/delete',
views.shared_custody_agenda_delete,
name='chrono-manager-shared-custody-agenda-delete',
),
url(
r'^shared-custody/(?P<pk>\d+)/add-rule$',
path(
'shared-custody/<int:pk>/add-rule',
views.shared_custody_agenda_add_rule,
name='chrono-manager-shared-custody-agenda-add-rule',
),
url(
r'^shared-custody/(?P<pk>\d+)/rules/(?P<rule_pk>\d+)/edit$',
path(
'shared-custody/<int:pk>/rules/<int:rule_pk>/edit',
views.shared_custody_agenda_edit_rule,
name='chrono-manager-shared-custody-agenda-edit-rule',
),
url(
r'^shared-custody/(?P<pk>\d+)/rules/(?P<rule_pk>\d+)/delete$',
path(
'shared-custody/<int:pk>/rules/<int:rule_pk>/delete',
views.shared_custody_agenda_delete_rule,
name='chrono-manager-shared-custody-agenda-delete-rule',
),
url(
r'^shared-custody/(?P<pk>\d+)/add-holiday-rule$',
path(
'shared-custody/<int:pk>/add-holiday-rule',
views.shared_custody_agenda_add_holiday_rule,
name='chrono-manager-shared-custody-agenda-add-holiday-rule',
),
url(
r'^shared-custody/(?P<pk>\d+)/holiday-rules/(?P<rule_pk>\d+)/edit$',
path(
'shared-custody/<int:pk>/holiday-rules/<int:rule_pk>/edit',
views.shared_custody_agenda_edit_holiday_rule,
name='chrono-manager-shared-custody-agenda-edit-holiday-rule',
),
url(
r'^shared-custody/(?P<pk>\d+)/holiday-rules/(?P<rule_pk>\d+)/delete$',
path(
'shared-custody/<int:pk>/holiday-rules/<int:rule_pk>/delete',
views.shared_custody_agenda_delete_holiday_rule,
name='chrono-manager-shared-custody-agenda-delete-holiday-rule',
),
url(
r'^shared-custody/(?P<pk>\d+)/add-period$',
path(
'shared-custody/<int:pk>/add-period',
views.shared_custody_agenda_add_period,
name='chrono-manager-shared-custody-agenda-add-period',
),
url(
r'^shared-custody/(?P<pk>\d+)/periods/(?P<period_pk>\d+)/edit$',
path(
'shared-custody/<int:pk>/periods/<int:period_pk>/edit',
views.shared_custody_agenda_edit_period,
name='chrono-manager-shared-custody-agenda-edit-period',
),
url(
r'^shared-custody/(?P<pk>\d+)/periods/(?P<period_pk>\d+)/delete$',
path(
'shared-custody/<int:pk>/periods/<int:period_pk>/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),
]

View File

@ -15,10 +15,10 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
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