14 |
14 |
# You should have received a copy of the GNU Affero General Public License
|
15 |
15 |
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
16 |
16 |
|
17 |
|
from django.conf.urls import url
|
|
17 |
from django.urls import path, re_path
|
18 |
18 |
|
19 |
19 |
from . import views
|
20 |
20 |
|
21 |
21 |
urlpatterns = [
|
22 |
|
url(r'^$', views.homepage, name='chrono-manager-homepage'),
|
23 |
|
url(
|
24 |
|
r'^unavailability-calendars/$',
|
|
22 |
path('', views.homepage, name='chrono-manager-homepage'),
|
|
23 |
path(
|
|
24 |
'unavailability-calendars/',
|
25 |
25 |
views.unavailability_calendar_list,
|
26 |
26 |
name='chrono-manager-unavailability-calendar-list',
|
27 |
27 |
),
|
28 |
|
url(
|
29 |
|
r'^unavailability-calendar/add/$',
|
|
28 |
path(
|
|
29 |
'unavailability-calendar/add/',
|
30 |
30 |
views.unavailability_calendar_add,
|
31 |
31 |
name='chrono-manager-unavailability-calendar-add',
|
32 |
32 |
),
|
33 |
|
url(
|
34 |
|
r'^unavailability-calendar/(?P<pk>\d+)/$',
|
|
33 |
path(
|
|
34 |
'unavailability-calendar/<int:pk>/',
|
35 |
35 |
views.unavailability_calendar_view,
|
36 |
36 |
name='chrono-manager-unavailability-calendar-view',
|
37 |
37 |
),
|
38 |
|
url(
|
39 |
|
r'^unavailability-calendar/(?P<pk>\d+)/edit/$',
|
|
38 |
path(
|
|
39 |
'unavailability-calendar/<int:pk>/edit/',
|
40 |
40 |
views.unavailability_calendar_edit,
|
41 |
41 |
name='chrono-manager-unavailability-calendar-edit',
|
42 |
42 |
),
|
43 |
|
url(
|
44 |
|
r'^unavailability-calendar/(?P<pk>\d+)/delete/$',
|
|
43 |
path(
|
|
44 |
'unavailability-calendar/<int:pk>/delete/',
|
45 |
45 |
views.unavailability_calendar_delete,
|
46 |
46 |
name='chrono-manager-unavailability-calendar-delete',
|
47 |
47 |
),
|
48 |
|
url(
|
49 |
|
r'^unavailability-calendar/(?P<pk>\d+)/settings$',
|
|
48 |
path(
|
|
49 |
'unavailability-calendar/<int:pk>/settings',
|
50 |
50 |
views.unavailability_calendar_settings,
|
51 |
51 |
name='chrono-manager-unavailability-calendar-settings',
|
52 |
52 |
),
|
53 |
|
url(
|
54 |
|
r'^unavailability-calendar/(?P<pk>\d+)/export$',
|
|
53 |
path(
|
|
54 |
'unavailability-calendar/<int:pk>/export',
|
55 |
55 |
views.unavailability_calendar_export,
|
56 |
56 |
name='chrono-manager-unavailability-calendar-export',
|
57 |
57 |
),
|
58 |
|
url(
|
59 |
|
r'^unavailability-calendar/(?P<pk>\d+)/add-unavailability$',
|
|
58 |
path(
|
|
59 |
'unavailability-calendar/<int:pk>/add-unavailability',
|
60 |
60 |
views.unavailability_calendar_add_unavailability,
|
61 |
61 |
name='chrono-manager-unavailability-calendar-add-unavailability',
|
62 |
62 |
),
|
63 |
|
url(
|
64 |
|
r'^unavailability-calendar/(?P<pk>\d+)/import-unavailabilities/$',
|
|
63 |
path(
|
|
64 |
'unavailability-calendar/<int:pk>/import-unavailabilities/',
|
65 |
65 |
views.unavailability_calendar_import_unavailabilities,
|
66 |
66 |
name='chrono-manager-unavailability-calendar-import-unavailabilities',
|
67 |
67 |
),
|
68 |
|
url(r'^resources/$', views.resource_list, name='chrono-manager-resource-list'),
|
69 |
|
url(r'^resource/add/$', views.resource_add, name='chrono-manager-resource-add'),
|
70 |
|
url(r'^resource/(?P<pk>\d+)/$', views.resource_view, name='chrono-manager-resource-view'),
|
71 |
|
url(
|
|
68 |
path('resources/', views.resource_list, name='chrono-manager-resource-list'),
|
|
69 |
path('resource/add/', views.resource_add, name='chrono-manager-resource-add'),
|
|
70 |
path('resource/<int:pk>/', views.resource_view, name='chrono-manager-resource-view'),
|
|
71 |
re_path(
|
72 |
72 |
r'^resource/(?P<pk>\d+)/(?P<year>[0-9]{4})/(?P<month>[0-9]+)/$',
|
73 |
73 |
views.resource_monthly_view,
|
74 |
74 |
name='chrono-manager-resource-month-view',
|
75 |
75 |
),
|
76 |
|
url(
|
|
76 |
re_path(
|
77 |
77 |
r'^resource/(?P<pk>\d+)/(?P<year>[0-9]{4})/(?P<month>[0-9]+)/(?P<day>[0-9]+)/$',
|
78 |
78 |
views.resource_day_view,
|
79 |
79 |
name='chrono-manager-resource-day-view',
|
80 |
80 |
),
|
81 |
|
url(r'^resource/(?P<pk>\d+)/edit/$', views.resource_edit, name='chrono-manager-resource-edit'),
|
82 |
|
url(r'^resource/(?P<pk>\d+)/delete/$', views.resource_delete, name='chrono-manager-resource-delete'),
|
83 |
|
url(r'^categories/$', views.category_list, name='chrono-manager-category-list'),
|
84 |
|
url(r'^category/add/$', views.category_add, name='chrono-manager-category-add'),
|
85 |
|
url(r'^category/(?P<pk>\d+)/edit/$', views.category_edit, name='chrono-manager-category-edit'),
|
86 |
|
url(r'^category/(?P<pk>\d+)/delete/$', views.category_delete, name='chrono-manager-category-delete'),
|
87 |
|
url(r'^events-types/$', views.events_type_list, name='chrono-manager-events-type-list'),
|
88 |
|
url(r'^events-type/add/$', views.events_type_add, name='chrono-manager-events-type-add'),
|
89 |
|
url(r'^events-type/(?P<pk>\d+)/edit/$', views.events_type_edit, name='chrono-manager-events-type-edit'),
|
90 |
|
url(
|
91 |
|
r'^events-type/(?P<pk>\d+)/delete/$',
|
|
81 |
path('resource/<int:pk>/edit/', views.resource_edit, name='chrono-manager-resource-edit'),
|
|
82 |
path('resource/<int:pk>/delete/', views.resource_delete, name='chrono-manager-resource-delete'),
|
|
83 |
path('categories/', views.category_list, name='chrono-manager-category-list'),
|
|
84 |
path('category/add/', views.category_add, name='chrono-manager-category-add'),
|
|
85 |
path('category/<int:pk>/edit/', views.category_edit, name='chrono-manager-category-edit'),
|
|
86 |
path('category/<int:pk>/delete/', views.category_delete, name='chrono-manager-category-delete'),
|
|
87 |
path('events-types/', views.events_type_list, name='chrono-manager-events-type-list'),
|
|
88 |
path('events-type/add/', views.events_type_add, name='chrono-manager-events-type-add'),
|
|
89 |
path('events-type/<int:pk>/edit/', views.events_type_edit, name='chrono-manager-events-type-edit'),
|
|
90 |
path(
|
|
91 |
'events-type/<int:pk>/delete/',
|
92 |
92 |
views.events_type_delete,
|
93 |
93 |
name='chrono-manager-events-type-delete',
|
94 |
94 |
),
|
95 |
|
url(r'^agendas/add/$', views.agenda_add, name='chrono-manager-agenda-add'),
|
96 |
|
url(r'^agendas/import/$', views.agendas_import, name='chrono-manager-agendas-import'),
|
97 |
|
url(r'^agendas/export/$', views.agendas_export, name='chrono-manager-agendas-export'),
|
98 |
|
url(r'^agendas/(?P<pk>\d+)/$', views.agenda_view, name='chrono-manager-agenda-view'),
|
99 |
|
url(r'^agendas/(?P<slug>[-_a-zA-Z0-9]+)/$', views.agenda_view, name='chrono-manager-agenda-view'),
|
100 |
|
url(
|
101 |
|
r'^agendas/(?P<pk>\d+)/month/$',
|
|
95 |
path('agendas/add/', views.agenda_add, name='chrono-manager-agenda-add'),
|
|
96 |
path('agendas/import/', views.agendas_import, name='chrono-manager-agendas-import'),
|
|
97 |
path('agendas/export/', views.agendas_export, name='chrono-manager-agendas-export'),
|
|
98 |
path('agendas/<int:pk>/', views.agenda_view, name='chrono-manager-agenda-view'),
|
|
99 |
re_path(r'^agendas/(?P<slug>[-_a-zA-Z0-9]+)/$', views.agenda_view, name='chrono-manager-agenda-view'),
|
|
100 |
path(
|
|
101 |
'agendas/<int:pk>/month/',
|
102 |
102 |
views.agenda_month_redirect_view,
|
103 |
103 |
name='chrono-manager-agenda-month-redirect-view',
|
104 |
104 |
),
|
105 |
|
url(
|
|
105 |
re_path(
|
106 |
106 |
r'^agendas/(?P<pk>\d+)/(?P<year>[0-9]{4})/(?P<month>[0-9]+)/$',
|
107 |
107 |
views.agenda_monthly_view,
|
108 |
108 |
name='chrono-manager-agenda-month-view',
|
109 |
109 |
),
|
110 |
|
url(
|
111 |
|
r'^agendas/(?P<pk>\d+)/day/$',
|
|
110 |
path(
|
|
111 |
'agendas/<int:pk>/day/',
|
112 |
112 |
views.agenda_day_redirect_view,
|
113 |
113 |
name='chrono-manager-agenda-day-redirect-view',
|
114 |
114 |
),
|
115 |
|
url(
|
|
115 |
re_path(
|
116 |
116 |
r'^agendas/(?P<pk>\d+)/(?P<year>[0-9]{4})/(?P<month>[0-9]+)/(?P<day>[0-9]+)/$',
|
117 |
117 |
views.agenda_day_view,
|
118 |
118 |
name='chrono-manager-agenda-day-view',
|
119 |
119 |
),
|
120 |
|
url(
|
121 |
|
r'^agendas/(?P<pk>\d+)/events/open/$',
|
|
120 |
path(
|
|
121 |
'agendas/<int:pk>/events/open/',
|
122 |
122 |
views.agenda_open_events_view,
|
123 |
123 |
name='chrono-manager-agenda-open-events-view',
|
124 |
124 |
),
|
125 |
|
url(r'^agendas/(?P<pk>\d+)/settings$', views.agenda_settings, name='chrono-manager-agenda-settings'),
|
126 |
|
url(
|
|
125 |
path('agendas/<int:pk>/settings', views.agenda_settings, name='chrono-manager-agenda-settings'),
|
|
126 |
re_path(
|
127 |
127 |
r'^agendas/(?P<slug>[-_a-zA-Z0-9]+)/settings/$',
|
128 |
128 |
views.agenda_settings_redirect_view,
|
129 |
129 |
name='chrono-manager-agenda-settings-redirect',
|
130 |
130 |
),
|
131 |
|
url(r'^agendas/(?P<pk>\d+)/edit$', views.agenda_edit, name='chrono-manager-agenda-edit'),
|
132 |
|
url(
|
133 |
|
r'^agendas/(?P<pk>\d+)/booking-delays$',
|
|
131 |
path('agendas/<int:pk>/edit', views.agenda_edit, name='chrono-manager-agenda-edit'),
|
|
132 |
path(
|
|
133 |
'agendas/<int:pk>/booking-delays',
|
134 |
134 |
views.agenda_booking_delays,
|
135 |
135 |
name='chrono-manager-agenda-booking-delays',
|
136 |
136 |
),
|
137 |
|
url(r'^agendas/(?P<pk>\d+)/roles$', views.agenda_roles, name='chrono-manager-agenda-roles'),
|
138 |
|
url(
|
139 |
|
r'^agendas/(?P<pk>\d+)/display-options$',
|
|
137 |
path('agendas/<int:pk>/roles', views.agenda_roles, name='chrono-manager-agenda-roles'),
|
|
138 |
path(
|
|
139 |
'agendas/<int:pk>/display-options',
|
140 |
140 |
views.agenda_display_settings,
|
141 |
141 |
name='chrono-manager-agenda-display-settings',
|
142 |
142 |
),
|
143 |
|
url(
|
144 |
|
r'^agendas/(?P<pk>\d+)/check-options$',
|
|
143 |
path(
|
|
144 |
'agendas/<int:pk>/check-options',
|
145 |
145 |
views.agenda_booking_check_settings,
|
146 |
146 |
name='chrono-manager-agenda-booking-check-settings',
|
147 |
147 |
),
|
148 |
|
url(r'^agendas/(?P<pk>\d+)/delete$', views.agenda_delete, name='chrono-manager-agenda-delete'),
|
149 |
|
url(r'^agendas/(?P<pk>\d+)/export$', views.agenda_export, name='chrono-manager-agenda-export'),
|
150 |
|
url(r'^agendas/(?P<pk>\d+)/add-event$', views.agenda_add_event, name='chrono-manager-agenda-add-event'),
|
151 |
|
url(r'^agendas/(?P<pk>\d+)/duplicate$', views.agenda_duplicate, name='chrono-manager-agenda-duplicate'),
|
152 |
|
url(
|
153 |
|
r'^agendas/(?P<pk>\d+)/desk-management-toggle$',
|
|
148 |
path('agendas/<int:pk>/delete', views.agenda_delete, name='chrono-manager-agenda-delete'),
|
|
149 |
path('agendas/<int:pk>/export', views.agenda_export, name='chrono-manager-agenda-export'),
|
|
150 |
path('agendas/<int:pk>/add-event', views.agenda_add_event, name='chrono-manager-agenda-add-event'),
|
|
151 |
path('agendas/<int:pk>/duplicate', views.agenda_duplicate, name='chrono-manager-agenda-duplicate'),
|
|
152 |
path(
|
|
153 |
'agendas/<int:pk>/desk-management-toggle',
|
154 |
154 |
views.agenda_desk_management_toggle_view,
|
155 |
155 |
name='chrono-manager-agenda-desk-management-toggle-view',
|
156 |
156 |
),
|
157 |
|
url(
|
158 |
|
r'^agendas/(?P<pk>\d+)/import-events$',
|
|
157 |
path(
|
|
158 |
'agendas/<int:pk>/import-events',
|
159 |
159 |
views.agenda_import_events,
|
160 |
160 |
name='chrono-manager-agenda-import-events',
|
161 |
161 |
),
|
162 |
|
url(
|
163 |
|
r'^agendas/(?P<pk>\d+)/export-events$',
|
|
162 |
path(
|
|
163 |
'agendas/<int:pk>/export-events',
|
164 |
164 |
views.agenda_export_events,
|
165 |
165 |
name='chrono-manager-agenda-export-events',
|
166 |
166 |
),
|
167 |
|
url(
|
168 |
|
r'^agendas/(?P<pk>\d+)/notifications$',
|
|
167 |
path(
|
|
168 |
'agendas/<int:pk>/notifications',
|
169 |
169 |
views.agenda_notifications_settings,
|
170 |
170 |
name='chrono-manager-agenda-notifications-settings',
|
171 |
171 |
),
|
172 |
|
url(
|
173 |
|
r'^agendas/(?P<pk>\d+)/reminder$',
|
|
172 |
path(
|
|
173 |
'agendas/<int:pk>/reminder',
|
174 |
174 |
views.agenda_reminder_settings,
|
175 |
175 |
name='chrono-manager-agenda-reminder-settings',
|
176 |
176 |
),
|
177 |
|
url(
|
178 |
|
r'^agendas/(?P<pk>\d+)/reminder/test/$',
|
|
177 |
path(
|
|
178 |
'agendas/<int:pk>/reminder/test/',
|
179 |
179 |
views.agenda_reminder_test,
|
180 |
180 |
name='chrono-manager-agenda-reminder-test',
|
181 |
181 |
),
|
182 |
|
url(
|
|
182 |
re_path(
|
183 |
183 |
r'^agendas/(?P<pk>\d+)/reminder/preview/(?P<type>(email|sms))/$',
|
184 |
184 |
views.agenda_reminder_preview,
|
185 |
185 |
name='chrono-manager-agenda-reminder-preview',
|
186 |
186 |
),
|
187 |
|
url(
|
188 |
|
r'^agendas/(?P<pk>\d+)/events/timesheet$',
|
|
187 |
path(
|
|
188 |
'agendas/<int:pk>/events/timesheet',
|
189 |
189 |
views.events_timesheet,
|
190 |
190 |
name='chrono-manager-events-timesheet',
|
191 |
191 |
),
|
192 |
|
url(
|
193 |
|
r'^agendas/(?P<pk>\d+)/events/(?P<event_pk>\d+)/$',
|
|
192 |
path(
|
|
193 |
'agendas/<int:pk>/events/<int:event_pk>/',
|
194 |
194 |
views.event_view,
|
195 |
195 |
name='chrono-manager-event-view',
|
196 |
196 |
),
|
197 |
|
url(
|
198 |
|
r'^agendas/(?P<pk>\d+)/events/(?P<event_pk>\d+)/edit$',
|
|
197 |
path(
|
|
198 |
'agendas/<int:pk>/events/<int:event_pk>/edit',
|
199 |
199 |
views.event_edit,
|
200 |
200 |
name='chrono-manager-event-edit',
|
201 |
201 |
),
|
202 |
|
url(
|
203 |
|
r'^agendas/(?P<pk>\d+)/events/(?P<event_pk>\d+)/duplicate$',
|
|
202 |
path(
|
|
203 |
'agendas/<int:pk>/events/<int:event_pk>/duplicate',
|
204 |
204 |
views.event_duplicate,
|
205 |
205 |
name='chrono-manager-event-duplicate',
|
206 |
206 |
),
|
207 |
|
url(
|
208 |
|
r'^agendas/(?P<pk>\d+)/events/(?P<event_pk>\d+)/delete$',
|
|
207 |
path(
|
|
208 |
'agendas/<int:pk>/events/<int:event_pk>/delete',
|
209 |
209 |
views.event_delete,
|
210 |
210 |
name='chrono-manager-event-delete',
|
211 |
211 |
),
|
212 |
|
url(
|
213 |
|
r'^agendas/(?P<pk>\d+)/events/(?P<event_pk>\d+)/cancel$',
|
|
212 |
path(
|
|
213 |
'agendas/<int:pk>/events/<int:event_pk>/cancel',
|
214 |
214 |
views.event_cancel,
|
215 |
215 |
name='chrono-manager-event-cancel',
|
216 |
216 |
),
|
217 |
|
url(
|
218 |
|
r'^agendas/(?P<pk>\d+)/events/(?P<event_pk>\d+)/check$',
|
|
217 |
path(
|
|
218 |
'agendas/<int:pk>/events/<int:event_pk>/check',
|
219 |
219 |
views.event_check,
|
220 |
220 |
name='chrono-manager-event-check',
|
221 |
221 |
),
|
222 |
|
url(
|
223 |
|
r'^agendas/(?P<pk>\d+)/events/(?P<event_pk>\d+)/presence$',
|
|
222 |
path(
|
|
223 |
'agendas/<int:pk>/events/<int:event_pk>/presence',
|
224 |
224 |
views.event_presence,
|
225 |
225 |
name='chrono-manager-event-presence',
|
226 |
226 |
),
|
227 |
|
url(
|
228 |
|
r'^agendas/(?P<pk>\d+)/events/(?P<event_pk>\d+)/absence$',
|
|
227 |
path(
|
|
228 |
'agendas/<int:pk>/events/<int:event_pk>/absence',
|
229 |
229 |
views.event_absence,
|
230 |
230 |
name='chrono-manager-event-absence',
|
231 |
231 |
),
|
232 |
|
url(
|
233 |
|
r'^agendas/(?P<pk>\d+)/events/(?P<event_pk>\d+)/checked$',
|
|
232 |
path(
|
|
233 |
'agendas/<int:pk>/events/<int:event_pk>/checked',
|
234 |
234 |
views.event_checked,
|
235 |
235 |
name='chrono-manager-event-checked',
|
236 |
236 |
),
|
237 |
|
url(
|
238 |
|
r'^agendas/(?P<pk>\d+)/events/(?P<event_pk>\d+)/timesheet$',
|
|
237 |
path(
|
|
238 |
'agendas/<int:pk>/events/<int:event_pk>/timesheet',
|
239 |
239 |
views.events_timesheet,
|
240 |
240 |
name='chrono-manager-event-timesheet',
|
241 |
241 |
),
|
242 |
|
url(
|
243 |
|
r'^agendas/(?P<pk>\d+)/event_cancellation_report/(?P<report_pk>\d+)/$',
|
|
242 |
path(
|
|
243 |
'agendas/<int:pk>/event_cancellation_report/<int:report_pk>/',
|
244 |
244 |
views.event_cancellation_report,
|
245 |
245 |
name='chrono-manager-event-cancellation-report',
|
246 |
246 |
),
|
247 |
|
url(
|
248 |
|
r'^agendas/(?P<pk>\d+)/event_cancellation_reports/$',
|
|
247 |
path(
|
|
248 |
'agendas/<int:pk>/event_cancellation_reports/',
|
249 |
249 |
views.event_cancellation_report_list,
|
250 |
250 |
name='chrono-manager-event-cancellation-report-list',
|
251 |
251 |
),
|
252 |
|
url(
|
253 |
|
r'^agendas/(?P<pk>\d+)/add-resource/$',
|
|
252 |
path(
|
|
253 |
'agendas/<int:pk>/add-resource/',
|
254 |
254 |
views.agenda_add_resource,
|
255 |
255 |
name='chrono-manager-agenda-add-resource',
|
256 |
256 |
),
|
257 |
|
url(
|
258 |
|
r'^agendas/(?P<pk>\d+)/resource/(?P<resource_pk>\d+)/delete/$',
|
|
257 |
path(
|
|
258 |
'agendas/<int:pk>/resource/<int:resource_pk>/delete/',
|
259 |
259 |
views.agenda_delete_resource,
|
260 |
260 |
name='chrono-manager-agenda-delete-resource',
|
261 |
261 |
),
|
262 |
|
url(
|
263 |
|
r'^agendas/(?P<pk>\d+)/add-meeting-type$',
|
|
262 |
path(
|
|
263 |
'agendas/<int:pk>/add-meeting-type',
|
264 |
264 |
views.agenda_add_meeting_type,
|
265 |
265 |
name='chrono-manager-agenda-add-meeting-type',
|
266 |
266 |
),
|
267 |
|
url(r'^meetingtypes/(?P<pk>\d+)/edit$', views.meeting_type_edit, name='chrono-manager-meeting-type-edit'),
|
268 |
|
url(
|
269 |
|
r'^meetingtypes/(?P<pk>\d+)/delete$',
|
|
267 |
path('meetingtypes/<int:pk>/edit', views.meeting_type_edit, name='chrono-manager-meeting-type-edit'),
|
|
268 |
path(
|
|
269 |
'meetingtypes/<int:pk>/delete',
|
270 |
270 |
views.meeting_type_delete,
|
271 |
271 |
name='chrono-manager-meeting-type-delete',
|
272 |
272 |
),
|
273 |
|
url(
|
274 |
|
r'^agendas/(?P<agenda_pk>\d+)/desk/(?P<pk>\d+)/add-time-period$',
|
|
273 |
path(
|
|
274 |
'agendas/<int:agenda_pk>/desk/<int:pk>/add-time-period',
|
275 |
275 |
views.agenda_add_time_period,
|
276 |
276 |
name='chrono-manager-agenda-add-time-period',
|
277 |
277 |
),
|
278 |
|
url(
|
279 |
|
r'^agendas/(?P<pk>\d+)/add-time-period$',
|
|
278 |
path(
|
|
279 |
'agendas/<int:pk>/add-time-period',
|
280 |
280 |
views.virtual_agenda_add_time_period,
|
281 |
281 |
name='chrono-manager-virtual-agenda-add-time-period',
|
282 |
282 |
),
|
283 |
|
url(r'^timeperiods/(?P<pk>\d+)/edit$', views.time_period_edit, name='chrono-manager-time-period-edit'),
|
284 |
|
url(
|
285 |
|
r'^timeperiods/(?P<pk>\d+)/delete$',
|
|
283 |
path('timeperiods/<int:pk>/edit', views.time_period_edit, name='chrono-manager-time-period-edit'),
|
|
284 |
path(
|
|
285 |
'timeperiods/<int:pk>/delete',
|
286 |
286 |
views.time_period_delete,
|
287 |
287 |
name='chrono-manager-time-period-delete',
|
288 |
288 |
),
|
289 |
|
url(r'^agendas/(?P<pk>\d+)/add-desk$', views.agenda_add_desk, name='chrono-manager-agenda-add-desk'),
|
290 |
|
url(r'^desks/(?P<pk>\d+)/edit$', views.desk_edit, name='chrono-manager-desk-edit'),
|
291 |
|
url(r'^desks/(?P<pk>\d+)/delete$', views.desk_delete, name='chrono-manager-desk-delete'),
|
292 |
|
url(
|
293 |
|
r'^desk/(?P<pk>\d+)/unavailability-calendar/(?P<unavailability_calendar_pk>\d+)/toggle/$',
|
|
289 |
path('agendas/<int:pk>/add-desk', views.agenda_add_desk, name='chrono-manager-agenda-add-desk'),
|
|
290 |
path('desks/<int:pk>/edit', views.desk_edit, name='chrono-manager-desk-edit'),
|
|
291 |
path('desks/<int:pk>/delete', views.desk_delete, name='chrono-manager-desk-delete'),
|
|
292 |
path(
|
|
293 |
'desk/<int:pk>/unavailability-calendar/<int:unavailability_calendar_pk>/toggle/',
|
294 |
294 |
views.unavailability_calendar_toggle_view,
|
295 |
295 |
name='chrono-manager-unavailability-calendar-toggle-view',
|
296 |
296 |
),
|
297 |
|
url(
|
298 |
|
r'^agendas/(?P<agenda_pk>\d+)/desk/(?P<pk>\d+)/add-time-period-exception$',
|
|
297 |
path(
|
|
298 |
'agendas/<int:agenda_pk>/desk/<int:pk>/add-time-period-exception',
|
299 |
299 |
views.agenda_add_time_period_exception,
|
300 |
300 |
name='chrono-manager-agenda-add-time-period-exception',
|
301 |
301 |
),
|
302 |
|
url(
|
303 |
|
r'^agendas/desk/(?P<pk>\d+)/import-exceptions-from-ics/$',
|
|
302 |
path(
|
|
303 |
'agendas/desk/<int:pk>/import-exceptions-from-ics/',
|
304 |
304 |
views.desk_import_time_period_exceptions,
|
305 |
305 |
name='chrono-manager-desk-add-import-time-period-exceptions',
|
306 |
306 |
),
|
307 |
|
url(
|
308 |
|
r'^agendas/(?P<pk>\d+)/add-virtual-member$',
|
|
307 |
path(
|
|
308 |
'agendas/<int:pk>/add-virtual-member',
|
309 |
309 |
views.agenda_add_virtual_member,
|
310 |
310 |
name='chrono-manager-agenda-add-virtual-member',
|
311 |
311 |
),
|
312 |
|
url(
|
313 |
|
r'^virtual-members/(?P<pk>\d+)/delete$',
|
|
312 |
path(
|
|
313 |
'virtual-members/<int:pk>/delete',
|
314 |
314 |
views.virtual_member_delete,
|
315 |
315 |
name='chrono-manager-virtual-member-delete',
|
316 |
316 |
),
|
317 |
|
url(
|
318 |
|
r'^time-period-exceptions/(?P<pk>\d+)/edit$',
|
|
317 |
path(
|
|
318 |
'time-period-exceptions/<int:pk>/edit',
|
319 |
319 |
views.time_period_exception_edit,
|
320 |
320 |
name='chrono-manager-time-period-exception-edit',
|
321 |
321 |
),
|
322 |
|
url(
|
323 |
|
r'^time-period-exceptions/(?P<pk>\d+)/delete$',
|
|
322 |
path(
|
|
323 |
'time-period-exceptions/<int:pk>/delete',
|
324 |
324 |
views.time_period_exception_delete,
|
325 |
325 |
name='chrono-manager-time-period-exception-delete',
|
326 |
326 |
),
|
327 |
|
url(
|
328 |
|
r'^time-period-exceptions/(?P<pk>\d+)/exception-extract-list$',
|
|
327 |
path(
|
|
328 |
'time-period-exceptions/<int:pk>/exception-extract-list',
|
329 |
329 |
views.time_period_exception_extract_list,
|
330 |
330 |
name='chrono-manager-time-period-exception-extract-list',
|
331 |
331 |
),
|
332 |
|
url(
|
333 |
|
r'^time-period-exceptions/(?P<pk>\d+)/exception-list$',
|
|
332 |
path(
|
|
333 |
'time-period-exceptions/<int:pk>/exception-list',
|
334 |
334 |
views.time_period_exception_list,
|
335 |
335 |
name='chrono-manager-time-period-exception-list',
|
336 |
336 |
),
|
337 |
|
url(
|
338 |
|
r'^time-period-exceptions-source/(?P<pk>\d+)/delete$',
|
|
337 |
path(
|
|
338 |
'time-period-exceptions-source/<int:pk>/delete',
|
339 |
339 |
views.time_period_exception_source_delete,
|
340 |
340 |
name='chrono-manager-time-period-exception-source-delete',
|
341 |
341 |
),
|
342 |
|
url(
|
343 |
|
r'^time-period-exceptions-source/(?P<pk>\d+)/refresh$',
|
|
342 |
path(
|
|
343 |
'time-period-exceptions-source/<int:pk>/refresh',
|
344 |
344 |
views.time_period_exception_source_refresh,
|
345 |
345 |
name='chrono-manager-time-period-exception-source-refresh',
|
346 |
346 |
),
|
347 |
|
url(
|
348 |
|
r'^time-period-exceptions-source/(?P<pk>\d+)/toggle$',
|
|
347 |
path(
|
|
348 |
'time-period-exceptions-source/<int:pk>/toggle',
|
349 |
349 |
views.time_period_exception_source_toggle,
|
350 |
350 |
name='chrono-manager-time-period-exception-source-toggle',
|
351 |
351 |
),
|
352 |
|
url(
|
353 |
|
r'^time-period-exceptions-source/(?P<pk>\d+)/replace$',
|
|
352 |
path(
|
|
353 |
'time-period-exceptions-source/<int:pk>/replace',
|
354 |
354 |
views.time_period_exception_source_replace,
|
355 |
355 |
name='chrono-manager-time-period-exception-source-replace',
|
356 |
356 |
),
|
357 |
|
url(
|
358 |
|
r'^agendas/(?P<pk>\d+)/bookings/(?P<booking_pk>\d+)/cancel$',
|
|
357 |
path(
|
|
358 |
'agendas/<int:pk>/bookings/<int:booking_pk>/cancel',
|
359 |
359 |
views.booking_cancel,
|
360 |
360 |
name='chrono-manager-booking-cancel',
|
361 |
361 |
),
|
362 |
|
url(
|
363 |
|
r'^agendas/(?P<pk>\d+)/bookings/(?P<booking_pk>\d+)/presence$',
|
|
362 |
path(
|
|
363 |
'agendas/<int:pk>/bookings/<int:booking_pk>/presence',
|
364 |
364 |
views.booking_presence,
|
365 |
365 |
name='chrono-manager-booking-presence',
|
366 |
366 |
),
|
367 |
|
url(
|
368 |
|
r'^agendas/(?P<pk>\d+)/bookings/(?P<booking_pk>\d+)/absence$',
|
|
367 |
path(
|
|
368 |
'agendas/<int:pk>/bookings/<int:booking_pk>/absence',
|
369 |
369 |
views.booking_absence,
|
370 |
370 |
name='chrono-manager-booking-absence',
|
371 |
371 |
),
|
372 |
|
url(
|
|
372 |
re_path(
|
373 |
373 |
r'^agendas/events.csv$',
|
374 |
374 |
views.agenda_import_events_sample_csv,
|
375 |
375 |
name='chrono-manager-sample-events-csv',
|
376 |
376 |
),
|
377 |
|
url(
|
378 |
|
r'^shared-custody/settings/$',
|
|
377 |
path(
|
|
378 |
'shared-custody/settings/',
|
379 |
379 |
views.shared_custody_settings,
|
380 |
380 |
name='chrono-manager-shared-custody-settings',
|
381 |
381 |
),
|
382 |
|
url(
|
383 |
|
r'^shared-custody/(?P<pk>\d+)/$',
|
|
382 |
path(
|
|
383 |
'shared-custody/<int:pk>/',
|
384 |
384 |
views.shared_custody_agenda_view,
|
385 |
385 |
name='chrono-manager-shared-custody-agenda-view',
|
386 |
386 |
),
|
387 |
|
url(
|
|
387 |
re_path(
|
388 |
388 |
r'^shared-custody/(?P<pk>\d+)/(?P<year>[0-9]{4})/(?P<month>[0-9]+)/$',
|
389 |
389 |
views.shared_custody_agenda_monthly_view,
|
390 |
390 |
name='chrono-manager-shared-custody-agenda-month-view',
|
391 |
391 |
),
|
392 |
|
url(
|
393 |
|
r'^shared-custody/(?P<pk>\d+)/settings/$',
|
|
392 |
path(
|
|
393 |
'shared-custody/<int:pk>/settings/',
|
394 |
394 |
views.shared_custody_agenda_settings,
|
395 |
395 |
name='chrono-manager-shared-custody-agenda-settings',
|
396 |
396 |
),
|
397 |
|
url(
|
398 |
|
r'^shared-custody/(?P<pk>\d+)/delete$',
|
|
397 |
path(
|
|
398 |
'shared-custody/<int:pk>/delete',
|
399 |
399 |
views.shared_custody_agenda_delete,
|
400 |
400 |
name='chrono-manager-shared-custody-agenda-delete',
|
401 |
401 |
),
|
402 |
|
url(
|
403 |
|
r'^shared-custody/(?P<pk>\d+)/add-rule$',
|
|
402 |
path(
|
|
403 |
'shared-custody/<int:pk>/add-rule',
|
404 |
404 |
views.shared_custody_agenda_add_rule,
|
405 |
405 |
name='chrono-manager-shared-custody-agenda-add-rule',
|
406 |
406 |
),
|
407 |
|
url(
|
408 |
|
r'^shared-custody/(?P<pk>\d+)/rules/(?P<rule_pk>\d+)/edit$',
|
|
407 |
path(
|
|
408 |
'shared-custody/<int:pk>/rules/<int:rule_pk>/edit',
|
409 |
409 |
views.shared_custody_agenda_edit_rule,
|
410 |
410 |
name='chrono-manager-shared-custody-agenda-edit-rule',
|
411 |
411 |
),
|
412 |
|
url(
|
413 |
|
r'^shared-custody/(?P<pk>\d+)/rules/(?P<rule_pk>\d+)/delete$',
|
|
412 |
path(
|
|
413 |
'shared-custody/<int:pk>/rules/<int:rule_pk>/delete',
|
414 |
414 |
views.shared_custody_agenda_delete_rule,
|
415 |
415 |
name='chrono-manager-shared-custody-agenda-delete-rule',
|
416 |
416 |
),
|
417 |
|
url(
|
418 |
|
r'^shared-custody/(?P<pk>\d+)/add-holiday-rule$',
|
|
417 |
path(
|
|
418 |
'shared-custody/<int:pk>/add-holiday-rule',
|
419 |
419 |
views.shared_custody_agenda_add_holiday_rule,
|
420 |
420 |
name='chrono-manager-shared-custody-agenda-add-holiday-rule',
|
421 |
421 |
),
|
422 |
|
url(
|
423 |
|
r'^shared-custody/(?P<pk>\d+)/holiday-rules/(?P<rule_pk>\d+)/edit$',
|
|
422 |
path(
|
|
423 |
'shared-custody/<int:pk>/holiday-rules/<int:rule_pk>/edit',
|
424 |
424 |
views.shared_custody_agenda_edit_holiday_rule,
|
425 |
425 |
name='chrono-manager-shared-custody-agenda-edit-holiday-rule',
|
426 |
426 |
),
|
427 |
|
url(
|
428 |
|
r'^shared-custody/(?P<pk>\d+)/holiday-rules/(?P<rule_pk>\d+)/delete$',
|
|
427 |
path(
|
|
428 |
'shared-custody/<int:pk>/holiday-rules/<int:rule_pk>/delete',
|
429 |
429 |
views.shared_custody_agenda_delete_holiday_rule,
|
430 |
430 |
name='chrono-manager-shared-custody-agenda-delete-holiday-rule',
|
431 |
431 |
),
|
432 |
|
url(
|
433 |
|
r'^shared-custody/(?P<pk>\d+)/add-period$',
|
|
432 |
path(
|
|
433 |
'shared-custody/<int:pk>/add-period',
|
434 |
434 |
views.shared_custody_agenda_add_period,
|
435 |
435 |
name='chrono-manager-shared-custody-agenda-add-period',
|
436 |
436 |
),
|
437 |
|
url(
|
438 |
|
r'^shared-custody/(?P<pk>\d+)/periods/(?P<period_pk>\d+)/edit$',
|
|
437 |
path(
|
|
438 |
'shared-custody/<int:pk>/periods/<int:period_pk>/edit',
|
439 |
439 |
views.shared_custody_agenda_edit_period,
|
440 |
440 |
name='chrono-manager-shared-custody-agenda-edit-period',
|
441 |
441 |
),
|
442 |
|
url(
|
443 |
|
r'^shared-custody/(?P<pk>\d+)/periods/(?P<period_pk>\d+)/delete$',
|
|
442 |
path(
|
|
443 |
'shared-custody/<int:pk>/periods/<int:period_pk>/delete',
|
444 |
444 |
views.shared_custody_agenda_delete_period,
|
445 |
445 |
name='chrono-manager-shared-custody-agenda-delete-period',
|
446 |
446 |
),
|
447 |
|
url(r'^menu.json$', views.menu_json),
|
|
447 |
re_path(r'^menu.json$', views.menu_json),
|
448 |
448 |
]
|