epcstages/common/urls.py

72 lines
3.8 KiB
Python

import os
from django.conf import settings
from django.contrib import admin
from django.urls import include, path, re_path
from django.views.generic import RedirectView
from django.views.static import serve
from candidats import views as candidats_views
from stages import views
urlpatterns = [
path('', RedirectView.as_view(url='/admin/', permanent=True), name='home'),
path('admin/', admin.site.urls),
path('import_students/', views.StudentImportView.as_view(), name='import-students'),
path('import_hp/', views.HPImportView.as_view(), name='import-hp'),
path('import_hp_contacts/', views.HPContactsImportView.as_view(), name='import-hp-contacts'),
path('attribution/', views.AttributionView.as_view(), name='attribution'),
re_path(r'^stages/export/(?P<scope>all)?/?$', views.stages_export, name='stages_export'),
path('institutions/', views.CorporationListView.as_view(), name='corporations'),
path('institutions/<int:pk>/', views.CorporationView.as_view(), name='corporation'),
path('classes/', views.KlassListView.as_view(), name='classes'),
path('classes/<int:pk>/', views.KlassView.as_view(), name='class'),
path('classes/<int:pk>/import_reports/', views.ImportReportsView.as_view(), name='import-reports'),
path('candidate/<int:pk>/send_convocation/', candidats_views.ConvocationView.as_view(),
name='candidate-convocation'),
path('candidate/<int:pk>/send_confirmation/', candidats_views.ConfirmationView.as_view(),
name='candidate-confirmation'),
path('candidate/<int:pk>/send_validation/', candidats_views.ValidationView.as_view(),
name='candidate-validation'),
path('candidate/<int:pk>/summary/', candidats_views.inscription_summary, name='candidate-summary'),
# Qualification EDE
path('student_ede/<int:pk>/send_convocation', views.StudentConvocationExaminationView.as_view(),
name='student-ede-convocation'),
path('student_ede/<int:pk>/pdf_to_expert', views.print_pdf_to_expert_ede,
name='print-pdf-to-expert-ede'),
path('student_ede/<int:pk>/examination/expert', views.print_expert_ede_compensation_form,
name='print-expert-compens-ede'),
path('student_ede/<int:pk>/examination/mentor', views.print_mentor_ede_compensation_form,
name='print-mentor-compens-ede'),
path('imputations/export/', views.imputations_export, name='imputations_export'),
path('print/update_form/', views.print_update_form, name='print_update_form'),
path('general_export/', views.general_export, name='general-export'),
path('ortra_export/', views.ortra_export, name='ortra-export'),
# AJAX/JSON urls
path('section/<int:pk>/periods/', views.section_periods, name='section_periods'),
path('section/<int:pk>/classes/', views.section_classes, name='section_classes'),
path('period/<int:pk>/students/', views.period_students, name='period_students'),
path('period/<int:pk>/corporations/', views.period_availabilities, name='period_availabilities'),
# Training params in POST:
path('training/new/', views.new_training, name="new_training"),
path('training/del/', views.del_training, name="del_training"),
path('training/by_period/<int:pk>/', views.TrainingsByPeriodView.as_view()),
path('student/<int:pk>/summary/', views.StudentSummaryView.as_view()),
path('student/<int:pk>/send_reports/sem/<int:semestre>/', views.SendStudentReportsView.as_view(),
name='send-student-reports'),
path('availability/<int:pk>/summary/', views.AvailabilitySummaryView.as_view()),
path('corporation/<int:pk>/contacts/', views.CorpContactJSONView.as_view()),
# Serve bulletins by Django to allow LoginRequiredMiddleware to apply
path('media/bulletins/<path:path>', serve,
{'document_root': os.path.join(settings.MEDIA_ROOT, 'bulletins'), 'show_indexes': False}
),
]