nk20/apps/member/api/views.py

53 lines
1.7 KiB
Python
Raw Normal View History

2020-02-06 22:44:59 +00:00
# Copyright (C) 2018-2020 by BDE ENS Paris-Saclay
# SPDX-License-Identifier: GPL-3.0-or-later
2020-03-11 10:15:03 +00:00
from rest_framework.filters import SearchFilter
from api.viewsets import ReadProtectedModelViewSet
2020-03-20 01:14:43 +00:00
2020-02-07 16:02:07 +00:00
from .serializers import ProfileSerializer, ClubSerializer, RoleSerializer, MembershipSerializer
2020-03-07 21:28:59 +00:00
from ..models import Profile, Club, Role, Membership
2020-02-06 22:43:56 +00:00
class ProfileViewSet(ReadProtectedModelViewSet):
2020-02-06 23:29:04 +00:00
"""
REST API View set.
The djangorestframework plugin will get all `Profile` objects, serialize it to JSON with the given serializer,
then render it on /api/members/profile/
"""
2020-02-06 22:43:56 +00:00
queryset = Profile.objects.all()
serializer_class = ProfileSerializer
class ClubViewSet(ReadProtectedModelViewSet):
2020-02-06 23:29:04 +00:00
"""
REST API View set.
The djangorestframework plugin will get all `Club` objects, serialize it to JSON with the given serializer,
then render it on /api/members/club/
"""
2020-02-06 22:43:56 +00:00
queryset = Club.objects.all()
serializer_class = ClubSerializer
2020-03-11 10:15:03 +00:00
filter_backends = [SearchFilter]
search_fields = ['$name', ]
2020-02-06 22:43:56 +00:00
class RoleViewSet(ReadProtectedModelViewSet):
2020-02-06 23:29:04 +00:00
"""
REST API View set.
The djangorestframework plugin will get all `Role` objects, serialize it to JSON with the given serializer,
then render it on /api/members/role/
"""
2020-02-06 22:43:56 +00:00
queryset = Role.objects.all()
serializer_class = RoleSerializer
2020-03-11 10:15:03 +00:00
filter_backends = [SearchFilter]
search_fields = ['$name', ]
2020-02-06 22:43:56 +00:00
class MembershipViewSet(ReadProtectedModelViewSet):
2020-02-06 23:29:04 +00:00
"""
REST API View set.
The djangorestframework plugin will get all `Membership` objects, serialize it to JSON with the given serializer,
then render it on /api/members/membership/
"""
2020-02-06 22:43:56 +00:00
queryset = Membership.objects.all()
serializer_class = MembershipSerializer