mirror of
				https://gitlab.crans.org/bde/nk20
				synced 2025-11-04 01:12:08 +01:00 
			
		
		
		
	Notes are read-only in the API, but can be modified with scripts (ie. transactions)
This commit is contained in:
		@@ -20,6 +20,7 @@ class NoteSerializer(serializers.ModelSerializer):
 | 
			
		||||
    class Meta:
 | 
			
		||||
        model = Note
 | 
			
		||||
        fields = '__all__'
 | 
			
		||||
        read_only_fields = [f.name for f in model._meta.get_fields()]  # Notes are read-only protected
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class NoteClubSerializer(serializers.ModelSerializer):
 | 
			
		||||
@@ -32,6 +33,7 @@ class NoteClubSerializer(serializers.ModelSerializer):
 | 
			
		||||
    class Meta:
 | 
			
		||||
        model = NoteClub
 | 
			
		||||
        fields = '__all__'
 | 
			
		||||
        read_only_fields = ('note', 'club', )
 | 
			
		||||
 | 
			
		||||
    def get_name(self, obj):
 | 
			
		||||
        return str(obj)
 | 
			
		||||
@@ -47,6 +49,7 @@ class NoteSpecialSerializer(serializers.ModelSerializer):
 | 
			
		||||
    class Meta:
 | 
			
		||||
        model = NoteSpecial
 | 
			
		||||
        fields = '__all__'
 | 
			
		||||
        read_only_fields = ('note', )
 | 
			
		||||
 | 
			
		||||
    def get_name(self, obj):
 | 
			
		||||
        return str(obj)
 | 
			
		||||
@@ -62,6 +65,7 @@ class NoteUserSerializer(serializers.ModelSerializer):
 | 
			
		||||
    class Meta:
 | 
			
		||||
        model = NoteUser
 | 
			
		||||
        fields = '__all__'
 | 
			
		||||
        read_only_fields = ('note', 'user', )
 | 
			
		||||
 | 
			
		||||
    def get_name(self, obj):
 | 
			
		||||
        return str(obj)
 | 
			
		||||
 
 | 
			
		||||
@@ -5,56 +5,15 @@ from django.db.models import Q
 | 
			
		||||
from django_filters.rest_framework import DjangoFilterBackend
 | 
			
		||||
from rest_framework.filters import OrderingFilter, SearchFilter
 | 
			
		||||
 | 
			
		||||
from api.viewsets import ReadProtectedModelViewSet
 | 
			
		||||
from api.viewsets import ReadProtectedModelViewSet, ReadOnlyProtectedModelViewSet
 | 
			
		||||
from member.backends import PermissionBackend
 | 
			
		||||
from .serializers import NoteSerializer, NotePolymorphicSerializer, NoteClubSerializer, NoteSpecialSerializer, \
 | 
			
		||||
    NoteUserSerializer, AliasSerializer, \
 | 
			
		||||
    TemplateCategorySerializer, TransactionTemplateSerializer, TransactionPolymorphicSerializer
 | 
			
		||||
from ..models.notes import Note, NoteClub, NoteSpecial, NoteUser, Alias
 | 
			
		||||
from .serializers import NotePolymorphicSerializer, AliasSerializer, TemplateCategorySerializer, \
 | 
			
		||||
    TransactionTemplateSerializer, TransactionPolymorphicSerializer
 | 
			
		||||
from ..models.notes import Note, Alias
 | 
			
		||||
from ..models.transactions import TransactionTemplate, Transaction, TemplateCategory
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class NoteViewSet(ReadProtectedModelViewSet):
 | 
			
		||||
    """
 | 
			
		||||
    REST API View set.
 | 
			
		||||
    The djangorestframework plugin will get all `Note` objects, serialize it to JSON with the given serializer,
 | 
			
		||||
    then render it on /api/note/note/
 | 
			
		||||
    """
 | 
			
		||||
    queryset = Note.objects.all()
 | 
			
		||||
    serializer_class = NoteSerializer
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class NoteClubViewSet(ReadProtectedModelViewSet):
 | 
			
		||||
    """
 | 
			
		||||
    REST API View set.
 | 
			
		||||
    The djangorestframework plugin will get all `NoteClub` objects, serialize it to JSON with the given serializer,
 | 
			
		||||
    then render it on /api/note/club/
 | 
			
		||||
    """
 | 
			
		||||
    queryset = NoteClub.objects.all()
 | 
			
		||||
    serializer_class = NoteClubSerializer
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class NoteSpecialViewSet(ReadProtectedModelViewSet):
 | 
			
		||||
    """
 | 
			
		||||
    REST API View set.
 | 
			
		||||
    The djangorestframework plugin will get all `NoteSpecial` objects, serialize it to JSON with the given serializer,
 | 
			
		||||
    then render it on /api/note/special/
 | 
			
		||||
    """
 | 
			
		||||
    queryset = NoteSpecial.objects.all()
 | 
			
		||||
    serializer_class = NoteSpecialSerializer
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class NoteUserViewSet(ReadProtectedModelViewSet):
 | 
			
		||||
    """
 | 
			
		||||
    REST API View set.
 | 
			
		||||
    The djangorestframework plugin will get all `NoteUser` objects, serialize it to JSON with the given serializer,
 | 
			
		||||
    then render it on /api/note/user/
 | 
			
		||||
    """
 | 
			
		||||
    queryset = NoteUser.objects.all()
 | 
			
		||||
    serializer_class = NoteUserSerializer
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class NotePolymorphicViewSet(ReadProtectedModelViewSet):
 | 
			
		||||
class NotePolymorphicViewSet(ReadOnlyProtectedModelViewSet):
 | 
			
		||||
    """
 | 
			
		||||
    REST API View set.
 | 
			
		||||
    The djangorestframework plugin will get all `Note` objects (with polymorhism), serialize it to JSON with the given serializer,
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user