updated authentication classes

This commit is contained in:
2025-06-20 14:37:34 +02:00
parent 970eb9e19e
commit 3576d85ac9
3 changed files with 76 additions and 75 deletions
+76 -59
View File
@@ -1,66 +1,83 @@
{% load static %} {% load static %}
<html> <html>
<head> <head>
{% include "head.html" %} {% include "head.html" %}
</head> </head>
<body hx-headers='{"X-CSRFToken": "{{ csrf_token }}"}'> <body hx-headers='{"X-CSRFToken": "{{ csrf_token }}"}'>
<script> <script>
a = new Audio("{% static 'startup.wav' %}"); a = new Audio("{% static 'startup.wav' %}");
a.volume = 0.5; a.volume = 0.5;
a.play(); a.play();
</script> </script>
<div class="window popup login" id="info-window"> <div class="window popup login" id="info-window">
<div class="title-bar"> <div class="title-bar">
<div class="title-bar-text">Welkom bij Muzak</div> <div class="title-bar-text">Welkom bij Muzak</div>
<div class="title-bar-controls"> <div class="title-bar-controls">
<button aria-label="Close"></button> <button aria-label="Close"></button>
</div>
</div> </div>
</div> <div class="window-body">
<div class="window-body"> <div class="icon login"></div>
<div class="icon login"></div> <div class="text">
<div class="text"> <div>
<div> <p>Gebruik onderstaande knop om in te loggen.</p>
<p>Gebruik onderstaande knop om in te loggen.</p> <p>
<p>Als je geen inloggegevens hebt, meld je dan bij de beheerder van deze site.</p> Als je geen inloggegevens hebt, meld je dan bij de
<div class="field-row"> beheerder van deze site.
<form action="{% url 'oidc_authentication_init' %}" method="get"> </p>
<input type="submit" value="Inloggen" class="default"> <div class="field-row">
</form> <form
<button onclick="bsod()">Annuleren</button> action="{% url 'oidc_authentication_init' %}"
<script> method="get"
function bsod() { >
var css = document.createElement("link") <input
css.setAttribute("rel", "stylesheet") type="submit"
css.setAttribute("type", "text/css") value="Inloggen"
css.setAttribute("href", "{% static 'bsod.css' %}") class="default"
document.getElementsByTagName("head")[0].appendChild(css) />
} </form>
</script> <button onclick="bsod()">Annuleren</button>
</div> <script>
function bsod() {
var css = document.createElement("link");
css.setAttribute("rel", "stylesheet");
css.setAttribute("type", "text/css");
css.setAttribute(
"href",
"{% static 'bsod.css' %}",
);
document
.getElementsByTagName("head")[0]
.appendChild(css);
}
</script>
</div>
</div>
</div> </div>
</div> </div>
</div> </div>
</div> <div id="bsod">
<div id="bsod"> <h1>Lekkerste recept voor suikerbrood</h1>
<h1>Lekkerste recept voor suikerbrood</h1> <div>* 500 gram bloem</div>
<div>* 500 gram bloem</div> <div>* 1 zakje gist</div>
<div>* 1 zakje gist</div> <div>* 1 theelepel kaneeel</div>
<div>* 1 theelepel kaneeel</div> <div>* 3 eetlepels gembersiroop</div>
<div>* 3 eetlepels gembersiroop</div> <div>* 200 ml melk</div>
<div>* 200 ml melk</div> <div>* 250 gram kandijsuiker</div>
<div>* 250 gram kandijsuiker</div> <div>
<div> Neem je bloem en zakje gist en meng dit samen met je kaneel in
Neem je bloem en zakje gist en meng dit samen met je kaneel in een kom. een kom. Maak een kuiltje in het midden en schenk er
Maak een kuiltje in het midden en schenk er gembersiroop in en lauwwarme, niet te hete, melk. gembersiroop in en lauwwarme, niet te hete, melk. Meng dit tot
Meng dit tot deeg, voeg een snufje zout toe en laat dat 15 minuten staan. deeg, voeg een snufje zout toe en laat dat 15 minuten staan.
Kneed het deeg tot een bal en laat het een uur rijzen onder een vochtige theedoek. Kneed het deeg tot een bal en laat het een uur rijzen onder een
Maak van het gerezen deeg een dikke lap en verdeel er je suiker over. vochtige theedoek. Maak van het gerezen deeg een dikke lap en
Rol het geheel weer op en doe het over de lengte in een ingeboterde en ingesuikerde cakevorm. verdeel er je suiker over. Rol het geheel weer op en doe het
Laat het nog een uurtje rijzen. over de lengte in een ingeboterde en ingesuikerde cakevorm. Laat
Bak het in ongeveer 30 minuten in een voorverwarmde oven op 200 graden. het nog een uurtje rijzen. Bak het in ongeveer 30 minuten in een
Voilà. Suikerbrood. Eet smakelijk. voorverwarmde oven op 200 graden. Voilà. Suikerbrood. Eet
</div> smakelijk.
<div class="continue">Druk op F5 om verder te gaan..</div> </div>
</div> <div class="continue">Druk op F5 om verder te gaan..</div>
</body> </div>
</body>
</html> </html>
-8
View File
@@ -1,23 +1,15 @@
from rest_framework.views import APIView from rest_framework.views import APIView
from rest_framework.response import Response from rest_framework.response import Response
from rest_framework.authentication import SessionAuthentication
from rest_framework.permissions import IsAuthenticated
from playlist.models import Album from playlist.models import Album
from playlist.serializers import AlbumSerializer from playlist.serializers import AlbumSerializer
class AlbumListView(APIView): class AlbumListView(APIView):
authentication_classes = [SessionAuthentication]
permission_classes = [IsAuthenticated]
def get(self, request): def get(self, request):
albums = Album.objects.all() albums = Album.objects.all()
serializer = AlbumSerializer(albums, many=True, context={'request': request}) serializer = AlbumSerializer(albums, many=True, context={'request': request})
return Response(serializer.data) return Response(serializer.data)
class AlbumDetailView(APIView): class AlbumDetailView(APIView):
authentication_classes = [SessionAuthentication]
permission_classes = [IsAuthenticated]
def get(self, request, id): def get(self, request, id):
album = Album.objects.get(pk=id) album = Album.objects.get(pk=id)
serializer = AlbumSerializer(album, context={'request': request}) serializer = AlbumSerializer(album, context={'request': request})
-8
View File
@@ -1,15 +1,10 @@
from django.db import IntegrityError from django.db import IntegrityError
from rest_framework.views import APIView from rest_framework.views import APIView
from rest_framework.response import Response from rest_framework.response import Response
from rest_framework.authentication import SessionAuthentication
from rest_framework.permissions import IsAuthenticated
from playlist.models import Vote, Profile from playlist.models import Vote, Profile
from playlist.serializers import VoteSerializer, VoteSaveSerializer from playlist.serializers import VoteSerializer, VoteSaveSerializer
class VoteListView(APIView): class VoteListView(APIView):
authentication_classes = [SessionAuthentication]
permission_classes = [IsAuthenticated]
def get(self, request, user_id = None): def get(self, request, user_id = None):
if user_id: if user_id:
votes = Vote.objects.filter(user_id=user_id) votes = Vote.objects.filter(user_id=user_id)
@@ -39,9 +34,6 @@ class VoteListView(APIView):
return Response(status=403) return Response(status=403)
class VoteDetailView(APIView): class VoteDetailView(APIView):
authentication_classes = [SessionAuthentication]
permission_classes = [IsAuthenticated]
def get(self, request, id): def get(self, request, id):
vote = Vote.objects.get(pk=id) vote = Vote.objects.get(pk=id)
serializer = VoteSerializer(vote, context={'request': request}) serializer = VoteSerializer(vote, context={'request': request})