""" URL configuration for polylan_submitter project. The `urlpatterns` list routes URLs to views. For more information please see: https://docs.djangoproject.com/en/5.2/topics/http/urls/ Examples: Function views 1. Add an import: from my_app import views 2. Add a URL to urlpatterns: path('', views.home, name='home') Class-based views 1. Add an import: from other_app.views import Home 2. Add a URL to urlpatterns: path('', Home.as_view(), name='home') Including another URLconf 1. Import the include() function: from django.urls import include, path 2. Add a URL to urlpatterns: path('blog/', include('blog.urls')) """ from django.contrib import admin from django.http import Http404, HttpRequest from django.shortcuts import get_object_or_404, redirect, render from django.urls import path from django.contrib.auth.decorators import login_required from django.conf import settings from django.conf.urls.static import static from simple_cas_views import SimpleCASLoginView, SimpleCASLogoutView from events.models import Event from games.decorators import require_game_enabled from market.views import market_home from submissions.views import submission_home, submission_view from .api import api NOITA_APP_ID = 881100 OPUS_MAGNUM_APP_ID = 558990 @login_required def home(request: HttpRequest): event = Event.objects.order_by("-created_at").first() if event is None: raise Http404("No event configured") return redirect("event.home", event_path=event.path) @login_required def event_home(request: HttpRequest, event_path: str): get_object_or_404(Event, path=event_path) return render(request, "app.html") @login_required @require_game_enabled(OPUS_MAGNUM_APP_ID) def opus_magnum_home(request: HttpRequest, event_path: str): get_object_or_404(Event, path=event_path) return render(request, "app.html") @login_required @require_game_enabled(NOITA_APP_ID) def noita_home(request: HttpRequest, event_path: str): get_object_or_404(Event, path=event_path) return render(request, "app.html") @login_required @require_game_enabled(path="clock") def clock_home(request: HttpRequest, event_path: str): get_object_or_404(Event, path=event_path) return render(request, "app.html") @login_required @require_game_enabled(path="place") def place_home(request: HttpRequest, event_path: str): get_object_or_404(Event, path=event_path) return render(request, "app.html") # Deliberately not behind @login_required: this is meant to be dropped into # an