34 lines
1.1 KiB
Python
34 lines
1.1 KiB
Python
from rest_framework import generics
|
|
|
|
from greenmine.wiki.serializers import WikiPageSerializer, WikiPageAttachmentSerializer
|
|
from greenmine.wiki.models import WikiPage, WikiPageAttachment
|
|
from greenmine.wiki.permissions import WikiPageDetailPermission, WikiPageAttachmentDetailPermission
|
|
|
|
|
|
class WikiPageList(generics.ListCreateAPIView):
|
|
model = WikiPage
|
|
serializer_class = WikiPageSerializer
|
|
|
|
def get_queryset(self):
|
|
return self.model.objects.filter(project__members=self.request.user)
|
|
|
|
|
|
class WikiPageDetail(generics.RetrieveUpdateDestroyAPIView):
|
|
model = WikiPage
|
|
serializer_class = WikiPageSerializer
|
|
permission_classes = (WikiPageDetailPermission,)
|
|
|
|
|
|
class WikiPageAttachmentList(generics.ListCreateAPIView):
|
|
model = WikiPageAttachment
|
|
serializer_class = WikiPageAttachmentSerializer
|
|
|
|
def get_queryset(self):
|
|
return self.model.objects.filter(wikipage__project__members=self.request.user)
|
|
|
|
|
|
class WikiPageAttachmentDetail(generics.RetrieveUpdateDestroyAPIView):
|
|
model = WikiPageAttachment
|
|
serializer_class = WikiPageAttachmentSerializer
|
|
permission_classes = (WikiPageAttachmentDetailPermission,)
|