Add note models in API

This commit is contained in:
Yohann D'ANELLO 2020-02-07 00:12:00 +01:00
parent 5de93066db
commit 92fc92ba40
2 changed files with 102 additions and 8 deletions

View File

@ -7,11 +7,13 @@ from django.contrib.auth.models import User
from rest_framework import routers, serializers, viewsets from rest_framework import routers, serializers, viewsets
from member.serializers import ProfileViewSet, ClubViewSet, RoleViewSet, MembershipViewSet from member.serializers import ProfileViewSet, ClubViewSet, RoleViewSet, MembershipViewSet
from activity.serializers import ActivityTypeViewSet, ActivityViewSet, GuestViewSet from activity.serializers import ActivityTypeViewSet, ActivityViewSet, GuestViewSet
from note.serializers import NoteViewSet, NoteClubViewSet, NoteUserViewSet, NoteSpecialViewSet, \
TransactionViewSet, TransactionTemplateViewSet, MembershipTransactionViewSet
class UserSerializer(serializers.HyperlinkedModelSerializer): class UserSerializer(serializers.HyperlinkedModelSerializer):
class Meta: class Meta:
model = User model = User
fields = ['url', 'username', 'first_name', 'last_name', 'email', 'is_staff'] fields = ('username', 'first_name', 'last_name', 'email', 'is_staff',)
class UserViewSet(viewsets.ModelViewSet): class UserViewSet(viewsets.ModelViewSet):
queryset = User.objects.all() queryset = User.objects.all()
@ -21,14 +23,23 @@ class UserViewSet(viewsets.ModelViewSet):
router = routers.DefaultRouter() router = routers.DefaultRouter()
router.register(r'users', UserViewSet) router.register(r'users', UserViewSet)
router.register(r'members/profiles', ProfileViewSet) router.register(r'members/profile', ProfileViewSet)
router.register(r'members/clubs', ClubViewSet) router.register(r'members/club', ClubViewSet)
router.register(r'members/roles', RoleViewSet) router.register(r'members/role', RoleViewSet)
router.register(r'members/memberships', MembershipViewSet) router.register(r'members/membership', MembershipViewSet)
router.register(r'activity/activity_types', ActivityTypeViewSet) router.register(r'activity/activity', ActivityViewSet)
router.register(r'activity/activities', ActivityViewSet) router.register(r'activity/type', ActivityTypeViewSet)
router.register(r'activity/guests', GuestViewSet) router.register(r'activity/guest', GuestViewSet)
router.register(r'note/note', NoteViewSet)
router.register(r'note/club', NoteClubViewSet)
router.register(r'note/user', NoteUserViewSet)
router.register(r'note/special', NoteSpecialViewSet)
router.register(r'note/transaction', TransactionViewSet)
router.register(r'note/transaction/template', TransactionTemplateViewSet)
router.register(r'note/transaction/membership', MembershipTransactionViewSet)
# Wire up our API using automatic URL routing. # Wire up our API using automatic URL routing.
# Additionally, we include login URLs for the browsable API. # Additionally, we include login URLs for the browsable API.

83
apps/note/serializers.py Normal file
View File

@ -0,0 +1,83 @@
# -*- mode: python; coding: utf-8 -*-
# Copyright (C) 2018-2020 by BDE ENS Paris-Saclay
# SPDX-License-Identifier: GPL-3.0-or-later
from .models.notes import Note, NoteClub, NoteSpecial, NoteUser
from .models.transactions import TransactionTemplate, Transaction, MembershipTransaction
from rest_framework import serializers, viewsets
class NoteSerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = Note
fields = ('balance', 'is_active', 'display_image', 'created_at',)
class NoteViewSet(viewsets.ModelViewSet):
queryset = Note.objects.all()
serializer_class = NoteSerializer
class NoteClubSerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = NoteClub
fields = ('balance', 'is_active', 'display_image', 'created_at', 'club',)
class NoteClubViewSet(viewsets.ModelViewSet):
queryset = NoteClub.objects.all()
serializer_class = NoteClubSerializer
class NoteSpecialSerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = NoteSpecial
fields = ('balance', 'is_active', 'display_image', 'created_at', 'club', 'special_type',)
class NoteSpecialViewSet(viewsets.ModelViewSet):
queryset = NoteSpecial.objects.all()
serializer_class = NoteSpecialSerializer
class NoteUserSerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = NoteUser
fields = ('balance', 'is_active', 'display_image', 'created_at', 'user',)
class NoteUserViewSet(viewsets.ModelViewSet):
queryset = NoteUser.objects.all()
serializer_class = NoteUserSerializer
class TransactionTemplateSerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = TransactionTemplate
fields = '__all__'
class TransactionTemplateViewSet(viewsets.ModelViewSet):
queryset = TransactionTemplate.objects.all()
serializer_class = TransactionTemplateSerializer
class TransactionSerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = Transaction
fields = '__all__'
class TransactionViewSet(viewsets.ModelViewSet):
queryset = Transaction.objects.all()
serializer_class = TransactionSerializer
class MembershipTransactionSerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = MembershipTransaction
fields = '__all__'
class MembershipTransactionViewSet(viewsets.ModelViewSet):
queryset = MembershipTransaction.objects.all()
serializer_class = MembershipTransactionSerializer