# chrono - agendas system
# Copyright (C) 2016 Entr'ouvert
#
# This program is free software: you can redistribute it and/or modify it
# under the terms of the GNU Affero General Public License as published
# by the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see .
from django.urls import path, re_path
from . import views
urlpatterns = [
path('', views.homepage, name='chrono-manager-homepage'),
path(
'unavailability-calendars/',
views.unavailability_calendar_list,
name='chrono-manager-unavailability-calendar-list',
),
path(
'unavailability-calendar/add/',
views.unavailability_calendar_add,
name='chrono-manager-unavailability-calendar-add',
),
path(
'unavailability-calendar//',
views.unavailability_calendar_view,
name='chrono-manager-unavailability-calendar-view',
),
path(
'unavailability-calendar//edit/',
views.unavailability_calendar_edit,
name='chrono-manager-unavailability-calendar-edit',
),
path(
'unavailability-calendar//delete/',
views.unavailability_calendar_delete,
name='chrono-manager-unavailability-calendar-delete',
),
path(
'unavailability-calendar//settings',
views.unavailability_calendar_settings,
name='chrono-manager-unavailability-calendar-settings',
),
path(
'unavailability-calendar//export',
views.unavailability_calendar_export,
name='chrono-manager-unavailability-calendar-export',
),
path(
'unavailability-calendar//add-unavailability',
views.unavailability_calendar_add_unavailability,
name='chrono-manager-unavailability-calendar-add-unavailability',
),
path(
'unavailability-calendar//import-unavailabilities/',
views.unavailability_calendar_import_unavailabilities,
name='chrono-manager-unavailability-calendar-import-unavailabilities',
),
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+)/month/(?P[0-9]{4})/(?P[0-9]+)/(?P[0-9]+)/$',
views.resource_monthly_view,
name='chrono-manager-resource-month-view',
),
re_path(
r'^resource/(?P\d+)/week/(?P[0-9]{4})/(?P[0-9]+)/(?P[0-9]+)/$',
views.resource_weekly_view,
name='chrono-manager-resource-week-view',
),
re_path(
r'^resource/(?P\d+)/day/(?P[0-9]{4})/(?P[0-9]+)/(?P[0-9]+)/$',
views.resource_day_view,
name='chrono-manager-resource-day-view',
),
re_path(
r'^resource/(?P\d+)/(?P[0-9]{4})/',
views.resource_redirect_view,
name='chrono-manager-resource-redirect-view',
),
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',
),
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',
),
re_path(
r'^agendas/(?P\d+)/month/(?P[0-9]{4})/(?P[0-9]+)/(?P[0-9]+)/$',
views.agenda_monthly_view,
name='chrono-manager-agenda-month-view',
),
path(
'agendas//week/',
views.agenda_week_redirect_view,
name='chrono-manager-agenda-week-redirect-view',
),
re_path(
r'^agendas/(?P\d+)/week/(?P[0-9]{4})/(?P[0-9]+)/(?P[0-9]+)/$',
views.agenda_weekly_view,
name='chrono-manager-agenda-week-view',
),
path(
'agendas//day/',
views.agenda_day_redirect_view,
name='chrono-manager-agenda-day-redirect-view',
),
re_path(
r'^agendas/(?P\d+)/day/(?P[0-9]{4})/(?P[0-9]+)/(?P[0-9]+)/$',
views.agenda_day_view,
name='chrono-manager-agenda-day-view',
),
re_path(
r'^agendas/(?P\d+)/(?P[0-9]{4})/',
views.agenda_redirect_view,
name='chrono-manager-agenda-redirect-view',
),
path(
'agendas//events/open/',
views.agenda_open_events_view,
name='chrono-manager-agenda-open-events-view',
),
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',
),
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',
),
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',
),
path(
'agendas//check-options',
views.agenda_booking_check_settings,
name='chrono-manager-agenda-booking-check-settings',
),
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',
),
path(
'agendas//import-events',
views.agenda_import_events,
name='chrono-manager-agenda-import-events',
),
path(
'agendas//export-events',
views.agenda_export_events,
name='chrono-manager-agenda-export-events',
),
path(
'agendas//notifications',
views.agenda_notifications_settings,
name='chrono-manager-agenda-notifications-settings',
),
path(
'agendas//reminder',
views.agenda_reminder_settings,
name='chrono-manager-agenda-reminder-settings',
),
path(
'agendas//reminder/test/',
views.agenda_reminder_test,
name='chrono-manager-agenda-reminder-test',
),
re_path(
r'^agendas/(?P\d+)/reminder/preview/(?P(email|sms))/$',
views.agenda_reminder_preview,
name='chrono-manager-agenda-reminder-preview',
),
path(
'agendas//events/timesheet',
views.events_timesheet,
name='chrono-manager-events-timesheet',
),
path(
'agendas//events//',
views.event_view,
name='chrono-manager-event-view',
),
re_path(
r'^agendas/(?P[-_a-zA-Z0-9]+)/events/(?P[-_a-zA-Z0-9]+)/$',
views.event_redirect_view,
name='chrono-manager-event-redirect',
),
path(
'agendas//events//edit',
views.event_edit,
name='chrono-manager-event-edit',
),
path(
'agendas//events//duplicate',
views.event_duplicate,
name='chrono-manager-event-duplicate',
),
path(
'agendas//events//delete',
views.event_delete,
name='chrono-manager-event-delete',
),
path(
'agendas//events//cancel',
views.event_cancel,
name='chrono-manager-event-cancel',
),
path(
'agendas//events//check',
views.event_check,
name='chrono-manager-event-check',
),
path(
'agendas//events//presence',
views.event_presence,
name='chrono-manager-event-presence',
),
path(
'agendas//events//absence',
views.event_absence,
name='chrono-manager-event-absence',
),
path(
'agendas//events//checked',
views.event_checked,
name='chrono-manager-event-checked',
),
path(
'agendas//events//timesheet',
views.events_timesheet,
name='chrono-manager-event-timesheet',
),
path(
'agendas//event_cancellation_report//',
views.event_cancellation_report,
name='chrono-manager-event-cancellation-report',
),
path(
'agendas//event_cancellation_reports/',
views.event_cancellation_report_list,
name='chrono-manager-event-cancellation-report-list',
),
path(
'agendas//add-resource/',
views.agenda_add_resource,
name='chrono-manager-agenda-add-resource',
),
path(
'agendas//resource//delete/',
views.agenda_delete_resource,
name='chrono-manager-agenda-delete-resource',
),
path(
'agendas//add-meeting-type',
views.agenda_add_meeting_type,
name='chrono-manager-agenda-add-meeting-type',
),
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',
),
path(
'agendas//desk//add-time-period',
views.agenda_add_time_period,
name='chrono-manager-agenda-add-time-period',
),
path(
'agendas//add-time-period',
views.virtual_agenda_add_time_period,
name='chrono-manager-virtual-agenda-add-time-period',
),
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',
),
path(
'agendas//desk//add-date-time-period',
views.agenda_add_date_time_period,
name='chrono-manager-agenda-add-date-time-period',
),
path(
'timeperiods/desk//date-time-period-list',
views.agenda_date_time_period_list,
name='chrono-manager-date-time-period-list',
),
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',
),
path(
'agendas//desk//add-time-period-exception',
views.agenda_add_time_period_exception,
name='chrono-manager-agenda-add-time-period-exception',
),
path(
'agendas/desk//import-exceptions-from-ics/',
views.desk_import_time_period_exceptions,
name='chrono-manager-desk-add-import-time-period-exceptions',
),
path(
'agendas//add-virtual-member',
views.agenda_add_virtual_member,
name='chrono-manager-agenda-add-virtual-member',
),
path(
'virtual-members//delete',
views.virtual_member_delete,
name='chrono-manager-virtual-member-delete',
),
path(
'time-period-exceptions//edit',
views.time_period_exception_edit,
name='chrono-manager-time-period-exception-edit',
),
path(
'time-period-exceptions//delete',
views.time_period_exception_delete,
name='chrono-manager-time-period-exception-delete',
),
path(
'time-period-exceptions//exception-extract-list',
views.time_period_exception_extract_list,
name='chrono-manager-time-period-exception-extract-list',
),
path(
'time-period-exceptions//exception-list',
views.time_period_exception_list,
name='chrono-manager-time-period-exception-list',
),
path(
'time-period-exceptions-source//delete',
views.time_period_exception_source_delete,
name='chrono-manager-time-period-exception-source-delete',
),
path(
'time-period-exceptions-source//refresh',
views.time_period_exception_source_refresh,
name='chrono-manager-time-period-exception-source-refresh',
),
path(
'time-period-exceptions-source//toggle',
views.time_period_exception_source_toggle,
name='chrono-manager-time-period-exception-source-toggle',
),
path(
'time-period-exceptions-source//replace',
views.time_period_exception_source_replace,
name='chrono-manager-time-period-exception-source-replace',
),
path(
'agendas//bookings//cancel',
views.booking_cancel,
name='chrono-manager-booking-cancel',
),
path(
'agendas//bookings//presence',
views.booking_presence,
name='chrono-manager-booking-presence',
),
path(
'agendas//bookings//absence',
views.booking_absence,
name='chrono-manager-booking-absence',
),
path(
'agendas//bookings//reset',
views.booking_reset,
name='chrono-manager-booking-reset',
),
path(
'agendas//subscriptions//presence/',
views.subscription_presence,
name='chrono-manager-subscription-presence',
),
path(
'agendas//subscriptions//absence/',
views.subscription_absence,
name='chrono-manager-subscription-absence',
),
path(
'agendas//bookings//extra-user-block',
views.booking_extra_user_block,
name='chrono-manager-booking-extra-user-block',
),
path(
'agendas//subscriptions//extra-user-block',
views.subscription_extra_user_block,
name='chrono-manager-subscription-extra-user-block',
),
re_path(
r'^agendas/events.csv$',
views.agenda_import_events_sample_csv,
name='chrono-manager-sample-events-csv',
),
path(
'shared-custody/settings/',
views.shared_custody_settings,
name='chrono-manager-shared-custody-settings',
),
path(
'shared-custody//',
views.shared_custody_agenda_view,
name='chrono-manager-shared-custody-agenda-view',
),
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',
),
path(
'shared-custody//settings/',
views.shared_custody_agenda_settings,
name='chrono-manager-shared-custody-agenda-settings',
),
path(
'shared-custody//delete',
views.shared_custody_agenda_delete,
name='chrono-manager-shared-custody-agenda-delete',
),
path(
'shared-custody//add-rule',
views.shared_custody_agenda_add_rule,
name='chrono-manager-shared-custody-agenda-add-rule',
),
path(
'shared-custody//rules//edit',
views.shared_custody_agenda_edit_rule,
name='chrono-manager-shared-custody-agenda-edit-rule',
),
path(
'shared-custody//rules//delete',
views.shared_custody_agenda_delete_rule,
name='chrono-manager-shared-custody-agenda-delete-rule',
),
path(
'shared-custody//add-holiday-rule',
views.shared_custody_agenda_add_holiday_rule,
name='chrono-manager-shared-custody-agenda-add-holiday-rule',
),
path(
'shared-custody//holiday-rules//edit',
views.shared_custody_agenda_edit_holiday_rule,
name='chrono-manager-shared-custody-agenda-edit-holiday-rule',
),
path(
'shared-custody//holiday-rules//delete',
views.shared_custody_agenda_delete_holiday_rule,
name='chrono-manager-shared-custody-agenda-delete-holiday-rule',
),
path(
'shared-custody//add-period',
views.shared_custody_agenda_add_period,
name='chrono-manager-shared-custody-agenda-add-period',
),
path(
'shared-custody//periods//edit',
views.shared_custody_agenda_edit_period,
name='chrono-manager-shared-custody-agenda-edit-period',
),
path(
'shared-custody//periods//delete',
views.shared_custody_agenda_delete_period,
name='chrono-manager-shared-custody-agenda-delete-period',
),
re_path(r'^menu.json$', views.menu_json),
]