diff --git a/paperwork/api.py b/paperwork/api.py index 850fb9a..c346fd8 100644 --- a/paperwork/api.py +++ b/paperwork/api.py @@ -1,5 +1,5 @@ -from django.db.models import Prefetch from rest_framework import routers, serializers, viewsets +from django.db.models import Prefetch, Q from rest_framework.decorators import action from rest_framework.response import Response @@ -98,6 +98,21 @@ class DepartmentViewSet(viewsets.ModelViewSet): }, } + # TODO: this isn't really in the domain of the `paperwork` app... + deskers = ( + Member.objects.with_is_active() + .filter(is_active=True) + .filter( + Member.objects.has_flag("label", "Volunteer: Desker") + | Q(billing_method__startswith="Desker") + ) + ) + lists["Deskers"] = { + "members": { + desker.sanitized_mailbox(use_volunteer=True) for desker in deskers + } + } + return Response(lists)