"""smash URL Configuration The `urlpatterns` list routes URLs to views. For more information please see: https://docs.djangoproject.com/en/1.10/topics/http/urls/ Examples: Function views 1. Add an import: from my_app import views 2. Add a URL to urlpatterns: url(r'^$', views.home, name='home') Class-based views 1. Add an import: from other_app.views import Home 2. Add a URL to urlpatterns: url(r'^$', Home.as_view(), name='home') Including another URLconf 1. Import the include() function: from django.conf.urls import url, include 2. Add a URL to urlpatterns: url(r'^blog/', include('blog.urls')) """ from django.conf import settings from django.conf.urls import include from django.conf.urls import url from django.contrib.auth.decorators import login_required from django.contrib.auth.views import logout from django.views.defaults import page_not_found from django.views.generic import TemplateView from web import views urlpatterns = [ # make sure that users cannot disable two factors authentication url( r'^account/two_factor/disable/$', page_not_found, {'exception': Exception('Not Found')} ), #################### # APPOINTMENTS # #################### url(r'^appointments$', views.appointment.appointments, name='web.views.appointments'), url(r'^appointments/unfinished$', views.appointment.unfinished_appointments, name='web.views.unfinished_appointments'), url(r'^appointments/details/(?P<id>\d+)$', views.appointment.appointment_details, name='web.views.appointment_details'), url(r'^appointments/add/(?P<visit_id>\d+)$', views.appointment.appointment_add, name='web.views.appointment_add'), url(r'^appointments/add/general$', views.appointment.appointment_add, name='web.views.appointment_add_general'), url(r'^appointments/edit/(?P<id>\d+)$', views.appointment.appointment_edit, name='web.views.appointment_edit'), url(r'^appointments/delete/(?P<appointment_id>\d+)$', views.appointment.appointment_delete, name='web.views.appointment_delete'), #################### # VISITS # #################### url(r'^visits$', views.visit.visits, name='web.views.visits'), url(r'^visits/exceeded$', views.visit.exceeded_visits, name='web.views.exceeded_visits'), url(r'^visits/unfinished$', views.visit.unfinished_visits, name='web.views.unfinished_visits'), url(r'^visits/approaching$', views.visit.approaching_visits_without_appointments, name='web.views.approaching_visits_without_appointments'), url(r'^visits/approaching_post_mail$', views.visit.approaching_visits_for_mail_contact, name='web.views.approaching_visits_for_mail_contact'), url(r'^visits/missing_appointments$', views.visit.visits_with_missing_appointments, name='web.views.visits_with_missing_appointments'), url(r'^visits/details/(?P<id>\d+)$', views.visit.visit_details, name='web.views.visit_details'), url(r'^visits/add$', views.visit.visit_add, name='web.views.visit_add'), url(r'^visits/add/(?P<subject_id>\d+)$', views.visit.visit_add, name='web.views.visit_add'), url(r'^visit/mark/(?P<id>\d+)/(?P<as_what>[A-z]+)$', views.visit.visit_mark, name='web.views.visit_mark'), #################### # SUBJECTS # #################### url(r'^subjects$', views.subject.subjects, name='web.views.subjects'), url(r'^subjects/no_visit$', views.subject.subject_no_visits, name='web.views.subject_no_visits'), url(r'^subjects/require_contact$', views.subject.subject_require_contact, name='web.views.subject_require_contact'), url(r'^subjects/add$', views.subject.subject_add, name='web.views.subject_add'), url(r'^subjects/subject_visit_details/(?P<id>\d+)$', views.subject.subject_visit_details, name='web.views.subject_visit_details'), url(r'^subjects/edit/(?P<id>\d+)$', views.subject.subject_edit, name='web.views.subject_edit'), ######################### # RED CAP NOTIFICATIONS # ######################### url(r'^redcap/missing_subjects$', views.redcap.missing_subjects, name='web.views.missing_redcap_subject'), url(r'^redcap/inconsistent_subjects$', views.redcap.inconsistent_subjects, name='web.views.inconsistent_redcap_subject'), #################### # CONTACTS # #################### url(r'^subjects/(?P<subject_id>\d+)/contacts/add$', views.contact_attempt.contact_add, name='web.views.contact_add'), url(r'^subjects/(?P<subject_id>\d+)/contacts/(?P<contact_attempt_id>\d+)/edit', views.contact_attempt.contact_edit, name='web.views.contact_edit'), #################### # DOCTORS # #################### url(r'^doctors$', views.doctor.doctors, name='web.views.doctors'), url(r'^doctors/add$', views.doctor.doctor_add, name='web.views.doctor_add'), url(r'^doctors/edit/(?P<doctor_id>\d+)$', views.doctor.doctor_edit, name='web.views.doctor_edit'), url(r'^doctors/disable/(?P<doctor_id>\d+)$', views.doctor.doctor_disable, name='web.views.doctor_disable'), url(r'^doctors/(?P<doctor_id>\d+)/availability/add$', views.doctor.doctor_availability_add, name='views.doctor.doctor_availability_add'), url(r'^doctors/availability/(?P<availability_id>\d+)/delete$', views.doctor.doctor_availability_delete, name='web.views.doctor_availability_delete'), url(r'^doctors/availability/(?P<availability_id>\d+)/edit', views.doctor.doctor_availability_edit, name='web.views.doctor_availability_edit'), url(r'^doctors/(?P<doctor_id>\d+)/holiday/add$', views.doctor.doctor_holiday_add, name='views.doctor.doctor_holiday_add'), url(r'^doctors/holiday/(?P<holiday_id>\d+)/delete$', views.doctor.doctor_holiday_delete, name='web.views.doctor_holiday_delete'), #################### # EQUIPMENT # #################### url(r'^equipment_and_rooms$', views.equipment.equipment_and_rooms, name='web.views.equipment_and_rooms'), url(r'^equipment_and_rooms/equipment_def$', views.equipment.equipment_def, name='web.views.equipment_def'), url(r'^equipment_and_rooms/kit_requests$', views.kit.kit_requests, name='web.views.kit_requests'), url(r'^equipment_and_rooms/kit_requests/(?P<start_date>[\w-]+)/$', views.kit.kit_requests_send_mail, name='web.views.kit_requests_send_mail'), url(r'^equipment_and_rooms/kit_requests/(?P<start_date>[\w-]+)/(?P<end_date>[\w-]+)/$', views.kit.kit_requests_send_mail, name='web.views.kit_requests_send_mail'), #################### # MAIL # #################### url(r'^mail_templates$', views.mails.MailTemplatesListView.as_view(), name='web.views.mail_templates'), url(r'^mail_templates/add$', views.mails.MailTemplatesCreateView.as_view(), name='web.views.mail_template_add'), url(r'^mail_templates/(?P<pk>\d+)/delete$', views.mails.MailTemplatesDeleteView.as_view(), name='web.views.mail_template_delete'), url(r'^mail_templates/(?P<pk>\d+)/edit$', views.mails.MailTemplatesEditView.as_view(), name='web.views.mail_template_edit'), url(r'^mail_templates/(?P<mail_template_id>\d+)/generate/(?P<instance_id>\d+)$', views.mails.generate, name="web.views.mail_template_generate"), #################### # DAILY PLANNING # #################### url(r'^daily_planning$', login_required(TemplateView.as_view(template_name='daily_planning.html')), name='web.views.daily_planning'), #################### # LANGUAGES # #################### url(r'^languages$', views.language.LanguageListView.as_view(), name='web.views.languages'), url(r'^languages/add$', views.language.LanguageCreateView.as_view(), name='web.views.language_add'), url(r'^languages/(?P<pk>\d+)/delete$', views.language.LanguageDeleteView.as_view(), name='web.views.language_delete'), url(r'^languages/(?P<pk>\d+)/edit$', views.language.LanguageEditView.as_view(), name='web.views.language_edit'), #################### # STATISTICS # #################### url(r'^statistics$', views.statistics.statistics, name='web.views.statistics'), #################### # EXPORT # #################### url(r'^export$', views.export.export, name='web.views.export'), url(r'^export/csv/(?P<data_type>[A-z]+)$', views.export.export_to_csv, name='web.views.export_to_csv'), url(r'^export/xls/(?P<data_type>[A-z]+)$', views.export.export_to_excel, name='web.views.export_to_excel'), #################### # CONFIGURATION # #################### url(r'^configuration$', views.configuration_item.configuration_items, name='web.views.configuration'), #################### # AUTH # #################### # url(r'^login$', views.auth.login, name='web.views.login'), # url(r'^logout$', views.auth.logout, name='web.views.logout'), url(r'^logout$', logout, name='logout'), url(r'^$', views.index, name='web.views.index') ] if settings.DEBUG: import debug_toolbar urlpatterns += [ url(r'^__debug__/', include(debug_toolbar.urls)), ]