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, })