gestioCOF/cof/urls.py

150 lines
5.1 KiB
Python
Raw Normal View History

2016-11-06 15:39:14 +01:00
"""
Fichier principal de configuration des urls du projet GestioCOF
"""
2016-07-09 19:49:38 +02:00
from django.conf import settings
2018-02-03 22:34:37 +01:00
from django.conf.urls.i18n import i18n_patterns
2016-07-09 19:49:38 +02:00
from django.conf.urls.static import static
from django.contrib import admin
2019-04-12 17:05:18 +02:00
from django.contrib.auth import views as django_auth_views
from django.urls import include, path
2019-11-29 14:50:44 +01:00
from django.views.decorators.cache import cache_page
from django.views.generic.base import TemplateView
from django_cas_ng import views as django_cas_views
2019-11-29 14:50:44 +01:00
from django_js_reverse.views import urls_js
from wagtail.admin import urls as wagtailadmin_urls
from wagtail.core import urls as wagtail_urls
from wagtail.documents import urls as wagtaildocs_urls
from gestioncof import csv_views, views as gestioncof_views
from gestioncof.autocomplete import autocomplete
from gestioncof.urls import (
calendar_patterns,
clubs_patterns,
events_patterns,
export_patterns,
surveys_patterns,
)
admin.autodiscover()
urlpatterns = [
# Page d'accueil
2019-10-06 00:28:32 +02:00
path("", gestioncof_views.HomeView.as_view(), name="home"),
# Le BdA
2019-04-12 17:05:18 +02:00
path("bda/", include("bda.urls")),
# Les exports
2019-04-12 17:05:18 +02:00
path("export/", include(export_patterns)),
# Les petits cours
2019-04-12 17:05:18 +02:00
path("petitcours/", include("petitscours.urls")),
# Les sondages
2019-04-12 17:05:18 +02:00
path("survey/", include(surveys_patterns)),
# Evenements
2019-04-12 17:05:18 +02:00
path("event/", include(events_patterns)),
# Calendrier
2019-04-12 17:05:18 +02:00
path("calendar/", include(calendar_patterns)),
# Clubs
2019-04-12 17:05:18 +02:00
path("clubs/", include(clubs_patterns)),
# Authentification
2019-04-12 17:05:18 +02:00
path(
"cof/denied",
TemplateView.as_view(template_name="cof-denied.html"),
name="cof-denied",
),
2019-04-12 17:05:18 +02:00
path("cas/login", django_cas_views.LoginView.as_view(), name="cas_login_view"),
path("cas/logout", django_cas_views.LogoutView.as_view()),
path(
"outsider/login", gestioncof_views.LoginExtView.as_view(), name="ext_login_view"
),
2019-04-12 17:05:18 +02:00
path(
"outsider/logout", django_auth_views.LogoutView.as_view(), {"next_page": "home"}
),
path("login", gestioncof_views.login, name="cof-login"),
path("logout", gestioncof_views.logout, name="cof-logout"),
# Infos persos
2019-04-12 17:05:18 +02:00
path("profile", gestioncof_views.profile, name="profile"),
path(
"outsider/password-change",
django_auth_views.PasswordChangeView.as_view(),
name="password_change",
),
2019-04-12 17:05:18 +02:00
path(
"outsider/password-change-done",
django_auth_views.PasswordChangeDoneView.as_view(),
name="password_change_done",
),
# Inscription d'un nouveau membre
2019-04-12 17:05:18 +02:00
path("registration", gestioncof_views.registration, name="registration"),
path(
"registration/clipper/<slug:login_clipper>/<fullname>",
gestioncof_views.registration_form2,
name="clipper-registration",
),
2019-04-12 17:05:18 +02:00
path(
"registration/user/<username>",
gestioncof_views.registration_form2,
name="user-registration",
),
2019-04-12 17:05:18 +02:00
path(
"registration/empty",
gestioncof_views.registration_form2,
name="empty-registration",
),
# Autocompletion
2019-04-12 17:05:18 +02:00
path(
"autocomplete/registration", autocomplete, name="cof.registration.autocomplete"
),
2019-04-12 17:05:18 +02:00
path(
"user/autocomplete",
gestioncof_views.user_autocomplete,
name="cof-user-autocomplete",
),
# Interface admin
2019-04-12 17:05:18 +02:00
path("admin/logout/", gestioncof_views.logout),
path("admin/doc/", include("django.contrib.admindocs.urls")),
path(
"admin/<slug:app_label>/<slug:model_name>/csv/",
csv_views.admin_list_export,
{"fields": ["username"]},
),
2019-04-12 17:05:18 +02:00
path("admin/", admin.site.urls),
# Liens utiles du COF et du BdA
2019-04-12 17:05:18 +02:00
path("utile_cof", gestioncof_views.utile_cof, name="utile_cof"),
path("utile_bda", gestioncof_views.utile_bda, name="utile_bda"),
path("utile_bda/bda_diff", gestioncof_views.liste_bdadiff, name="ml_diffbda"),
path("utile_cof/diff_cof", gestioncof_views.liste_diffcof, name="ml_diffcof"),
path(
"utile_bda/bda_revente",
gestioncof_views.liste_bdarevente,
name="ml_bda_revente",
),
2019-04-12 17:05:18 +02:00
path("k-fet/", include("kfet.urls")),
path("cms/", include(wagtailadmin_urls)),
path("documents/", include(wagtaildocs_urls)),
2017-05-26 00:58:59 +02:00
# djconfig
2019-04-12 17:05:18 +02:00
path("config", gestioncof_views.ConfigUpdate.as_view(), name="config.edit"),
2019-11-29 14:50:44 +01:00
# js-reverse
path("jsreverse/", cache_page(3600)(urls_js), name="js_reverse"),
]
2019-10-05 15:58:11 +02:00
if "events" in settings.INSTALLED_APPS:
# The new event application is still in development
# → for now it is namespaced below events_v2
# → when the old events system is out, move this above in the others apps
urlpatterns += [path("event_v2/", include("events.urls"))]
if "debug_toolbar" in settings.INSTALLED_APPS:
2016-11-06 15:39:14 +01:00
import debug_toolbar
2019-04-12 17:05:18 +02:00
urlpatterns += [path("__debug__/", include(debug_toolbar.urls))]
2016-11-06 15:39:14 +01:00
if settings.DEBUG:
# Si on est en production, MEDIA_ROOT est servi par Apache.
# Il faut dire à Django de servir MEDIA_ROOT lui-même en développement.
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
# Wagtail for uncatched
2018-02-03 22:34:37 +01:00
urlpatterns += i18n_patterns(
2019-04-12 17:05:18 +02:00
path("", include(wagtail_urls)), prefix_default_language=False
2018-02-03 22:34:37 +01:00
)