2017-04-24 15:51:12 +00:00
|
|
|
#
|
2023-04-04 16:39:45 +00:00
|
|
|
# Copyright 2023 © AE UTBM
|
|
|
|
# ae@utbm.fr / ae.info@utbm.fr
|
2017-04-24 15:51:12 +00:00
|
|
|
#
|
2023-04-04 16:39:45 +00:00
|
|
|
# This file is part of the website of the UTBM Student Association (AE UTBM),
|
|
|
|
# https://ae.utbm.fr.
|
2017-04-24 15:51:12 +00:00
|
|
|
#
|
2024-09-22 23:37:25 +00:00
|
|
|
# You can find the source code of the website at https://github.com/ae-utbm/sith
|
2017-04-24 15:51:12 +00:00
|
|
|
#
|
2023-04-04 16:39:45 +00:00
|
|
|
# LICENSED UNDER THE GNU GENERAL PUBLIC LICENSE VERSION 3 (GPLv3)
|
2024-09-23 08:25:27 +00:00
|
|
|
# SEE : https://raw.githubusercontent.com/ae-utbm/sith/master/LICENSE
|
2023-04-04 16:39:45 +00:00
|
|
|
# OR WITHIN THE LOCAL FILE "LICENSE"
|
2017-04-24 15:51:12 +00:00
|
|
|
#
|
|
|
|
#
|
|
|
|
|
2016-01-28 15:53:37 +00:00
|
|
|
from django.conf import settings
|
2019-10-05 22:06:02 +00:00
|
|
|
from django.conf.urls.static import static
|
2024-06-24 11:07:36 +00:00
|
|
|
from django.contrib import admin
|
2024-10-15 12:09:51 +00:00
|
|
|
from django.http import Http404
|
2024-06-24 11:07:36 +00:00
|
|
|
from django.urls import include, path
|
2019-10-05 22:06:02 +00:00
|
|
|
from django.views.i18n import JavaScriptCatalog
|
2024-07-18 18:23:30 +00:00
|
|
|
from ninja_extra import NinjaExtraAPI
|
2022-08-03 22:26:43 +00:00
|
|
|
|
2018-10-04 19:29:19 +00:00
|
|
|
js_info_dict = {"packages": ("sith",)}
|
2016-09-08 01:29:49 +00:00
|
|
|
|
2015-12-07 16:23:52 +00:00
|
|
|
handler403 = "core.views.forbidden"
|
|
|
|
handler404 = "core.views.not_found"
|
2018-10-10 00:07:13 +00:00
|
|
|
handler500 = "core.views.internal_servor_error"
|
2015-12-07 16:23:52 +00:00
|
|
|
|
2024-07-18 18:23:30 +00:00
|
|
|
api = NinjaExtraAPI(version="0.2.0", urls_namespace="api")
|
|
|
|
api.auto_discover_controllers()
|
|
|
|
|
2015-11-18 08:44:06 +00:00
|
|
|
urlpatterns = [
|
2022-08-03 22:26:43 +00:00
|
|
|
path("", include(("core.urls", "core"), namespace="core")),
|
2024-07-18 18:23:30 +00:00
|
|
|
path("api/", api.urls),
|
2022-08-03 22:26:43 +00:00
|
|
|
path("rootplace/", include(("rootplace.urls", "rootplace"), namespace="rootplace")),
|
|
|
|
path(
|
|
|
|
"subscription/",
|
2019-10-05 22:06:02 +00:00
|
|
|
include(("subscription.urls", "subscription"), namespace="subscription"),
|
2018-10-04 19:29:19 +00:00
|
|
|
),
|
2022-08-03 22:26:43 +00:00
|
|
|
path("com/", include(("com.urls", "com"), namespace="com")),
|
|
|
|
path("club/", include(("club.urls", "club"), namespace="club")),
|
|
|
|
path("counter/", include(("counter.urls", "counter"), namespace="counter")),
|
|
|
|
path(
|
|
|
|
"accounting/",
|
2019-10-05 22:06:02 +00:00
|
|
|
include(("accounting.urls", "accounting"), namespace="accounting"),
|
2018-10-04 19:29:19 +00:00
|
|
|
),
|
2022-08-03 22:26:43 +00:00
|
|
|
path("eboutic/", include(("eboutic.urls", "eboutic"), namespace="eboutic")),
|
|
|
|
path(
|
|
|
|
"launderette/",
|
2019-10-05 22:06:02 +00:00
|
|
|
include(("launderette.urls", "launderette"), namespace="launderette"),
|
2018-10-04 19:29:19 +00:00
|
|
|
),
|
2022-08-03 22:26:43 +00:00
|
|
|
path("sas/", include(("sas.urls", "sas"), namespace="sas")),
|
|
|
|
path("election/", include(("election.urls", "election"), namespace="election")),
|
|
|
|
path("forum/", include(("forum.urls", "forum"), namespace="forum")),
|
2023-02-07 11:08:25 +00:00
|
|
|
path("galaxy/", include(("galaxy.urls", "galaxy"), namespace="galaxy")),
|
2022-08-03 22:26:43 +00:00
|
|
|
path("trombi/", include(("trombi.urls", "trombi"), namespace="trombi")),
|
|
|
|
path("matmatronch/", include(("matmat.urls", "matmat"), namespace="matmat")),
|
|
|
|
path("pedagogy/", include(("pedagogy.urls", "pedagogy"), namespace="pedagogy")),
|
|
|
|
path("admin/", admin.site.urls),
|
|
|
|
path("i18n/", include("django.conf.urls.i18n")),
|
2022-08-03 22:38:50 +00:00
|
|
|
path("jsi18n/", JavaScriptCatalog.as_view(), name="javascript-catalog"),
|
2022-08-03 22:26:43 +00:00
|
|
|
path("captcha/", include("captcha.urls")),
|
2016-09-14 11:46:17 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
if settings.DEBUG:
|
|
|
|
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
|
|
|
|
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
|
2017-02-24 00:52:22 +00:00
|
|
|
import debug_toolbar
|
2018-10-04 19:29:19 +00:00
|
|
|
|
2022-08-03 22:26:43 +00:00
|
|
|
urlpatterns += [path("__debug__/", include(debug_toolbar.urls))]
|
2022-08-27 17:48:23 +00:00
|
|
|
|
2024-10-15 12:09:51 +00:00
|
|
|
|
|
|
|
def sentry_debug(request):
|
2022-08-27 19:22:31 +00:00
|
|
|
"""Sentry debug endpoint
|
2024-10-15 09:36:26 +00:00
|
|
|
|
2022-08-27 19:22:31 +00:00
|
|
|
This function always crash and allows us to test
|
2024-10-15 12:09:51 +00:00
|
|
|
the sentry configuration and the modal popup
|
2022-08-27 19:22:31 +00:00
|
|
|
displayed to users on production
|
2024-10-15 09:36:26 +00:00
|
|
|
|
2022-08-27 19:22:31 +00:00
|
|
|
The error will be displayed on Sentry
|
|
|
|
inside the "development" environment
|
2024-10-15 09:36:26 +00:00
|
|
|
|
2022-08-27 19:22:31 +00:00
|
|
|
NOTE : you need to specify the SENTRY_DSN setting in settings_custom.py
|
|
|
|
"""
|
2024-10-15 12:09:51 +00:00
|
|
|
if settings.SENTRY_ENV != "development" or not settings.SENTRY_DSN:
|
|
|
|
raise Http404
|
|
|
|
_division_by_zero = 1 / 0
|
2022-08-27 19:22:31 +00:00
|
|
|
|
|
|
|
|
2024-10-15 12:09:51 +00:00
|
|
|
urlpatterns += [path("sentry-debug/", sentry_debug, name="sentry-debug")]
|