33 lines
1.1 KiB
Python
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,
|
|
})
|