roosterwijs/backend/modules/portal/views.py
bes-r c845588e5e
Some checks failed
CI / backend (push) Has been cancelled
CI / frontend (push) Has been cancelled
Add roles modules audit logging and CI
2026-07-04 23:01:06 +02:00

33 lines
1.1 KiB
Python

from rest_framework.decorators import api_view, permission_classes
from rest_framework.response import Response
from core.models import Afwezigheid
from core.permissions import module_permission_class
PortalModuleEnabled = module_permission_class("portal")
@api_view(["GET"])
@permission_classes([PortalModuleEnabled])
def portal_me(request):
profiel = getattr(request.user, "gebruikersprofiel", None)
persoon = getattr(profiel, "persoon", None) if profiel else None
afwezigheden = []
if persoon:
afwezigheden = [
{
"id": a.id,
"start_datum": a.start_datum,
"eind_datum": a.eind_datum,
"reden": a.reden,
}
for a in Afwezigheid.objects.filter(persoon=persoon)[:5]
]
return Response({
"username": request.user.get_username(),
"role": profiel.rol if profiel else None,
"role_label": profiel.get_rol_display() if profiel else None,
"person": persoon.id if persoon else None,
"person_name": persoon.volledige_naam if persoon else None,
"afwezigheden": afwezigheden,
})