mirror of
				https://github.com/ae-utbm/sith.git
				synced 2025-11-04 11:03:04 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			88 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			88 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
#
 | 
						|
# Copyright 2023 © AE UTBM
 | 
						|
# ae@utbm.fr / ae.info@utbm.fr
 | 
						|
#
 | 
						|
# This file is part of the website of the UTBM Student Association (AE UTBM),
 | 
						|
# https://ae.utbm.fr.
 | 
						|
#
 | 
						|
# You can find the source code of the website at https://github.com/ae-utbm/sith
 | 
						|
#
 | 
						|
# LICENSED UNDER THE GNU GENERAL PUBLIC LICENSE VERSION 3 (GPLv3)
 | 
						|
# SEE : https://raw.githubusercontent.com/ae-utbm/sith/master/LICENSE
 | 
						|
# OR WITHIN THE LOCAL FILE "LICENSE"
 | 
						|
#
 | 
						|
#
 | 
						|
from django.conf import settings
 | 
						|
from django.conf.urls.static import static
 | 
						|
from django.contrib import admin
 | 
						|
from django.contrib.sitemaps.views import sitemap
 | 
						|
from django.http import Http404
 | 
						|
from django.urls import include, path
 | 
						|
from django.views.decorators.cache import cache_page
 | 
						|
from django.views.i18n import JavaScriptCatalog
 | 
						|
 | 
						|
from api.urls import api
 | 
						|
from sith.sitemap import ClubSitemap, PagesSitemap, SithSitemap
 | 
						|
 | 
						|
js_info_dict = {"packages": ("sith",)}
 | 
						|
 | 
						|
handler403 = "core.views.forbidden"
 | 
						|
handler404 = "core.views.not_found"
 | 
						|
handler500 = "core.views.internal_servor_error"
 | 
						|
sitemaps = {"sith": SithSitemap, "pages": PagesSitemap, "clubs": ClubSitemap}
 | 
						|
urlpatterns = [
 | 
						|
    path("", include(("core.urls", "core"), namespace="core")),
 | 
						|
    path("sitemap.xml", cache_page(86400)(sitemap), {"sitemaps": sitemaps}),
 | 
						|
    path("api/", api.urls),
 | 
						|
    path("rootplace/", include(("rootplace.urls", "rootplace"), namespace="rootplace")),
 | 
						|
    path(
 | 
						|
        "subscription/",
 | 
						|
        include(("subscription.urls", "subscription"), namespace="subscription"),
 | 
						|
    ),
 | 
						|
    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("eboutic/", include(("eboutic.urls", "eboutic"), namespace="eboutic")),
 | 
						|
    path("sas/", include(("sas.urls", "sas"), namespace="sas")),
 | 
						|
    path("election/", include(("election.urls", "election"), namespace="election")),
 | 
						|
    path("forum/", include(("forum.urls", "forum"), namespace="forum")),
 | 
						|
    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")),
 | 
						|
    path("jsi18n/", JavaScriptCatalog.as_view(), name="javascript-catalog"),
 | 
						|
    path("captcha/", include("captcha.urls")),
 | 
						|
    path("edt/", include(("timetable.urls", "timetable"), namespace="timetable")),
 | 
						|
]
 | 
						|
 | 
						|
if settings.DEBUG:
 | 
						|
    urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
 | 
						|
    urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
 | 
						|
    import debug_toolbar
 | 
						|
 | 
						|
    urlpatterns += [
 | 
						|
        path("__debug__/", include(debug_toolbar.urls)),
 | 
						|
        path("galaxy/", include(("galaxy.urls", "galaxy"), namespace="galaxy")),
 | 
						|
    ]
 | 
						|
 | 
						|
 | 
						|
def sentry_debug(request):
 | 
						|
    """Sentry debug endpoint
 | 
						|
 | 
						|
    This function always crash and allows us to test
 | 
						|
    the sentry configuration and the modal popup
 | 
						|
    displayed to users on production
 | 
						|
 | 
						|
    The error will be displayed on Sentry
 | 
						|
    inside the "development" environment
 | 
						|
 | 
						|
    NOTE : you need to specify the SENTRY_DSN setting in .env
 | 
						|
    """
 | 
						|
    if settings.SENTRY_ENV != "development" or not settings.SENTRY_DSN:
 | 
						|
        raise Http404
 | 
						|
    _division_by_zero = 1 / 0
 | 
						|
 | 
						|
 | 
						|
urlpatterns += [path("sentry-debug/", sentry_debug, name="sentry-debug")]
 |