Refactor: greenmine.documents - Migrated api views to viewsets
parent
fa3d982d6c
commit
cda7e7d756
|
@ -1,21 +1,17 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
|
||||
from rest_framework import generics
|
||||
from rest_framework import viewsets
|
||||
|
||||
from greenmine.base import filters
|
||||
|
||||
from . import serializers
|
||||
from . import models
|
||||
from . import permissions
|
||||
|
||||
|
||||
class DocumentList(generics.ListCreateAPIView):
|
||||
class DocumentsViewSet(viewsets.ModelViewSet):
|
||||
model = models.Document
|
||||
serializer_class = serializers.DocumentSerializer
|
||||
permission_classes = (permissions.DocumentPermission,)
|
||||
filter_backends = (filters.IsProjectMemberFilterBackend,)
|
||||
|
||||
def get_queryset(self):
|
||||
return super(DocumentList, self).filter(project__members=self.request.user)
|
||||
|
||||
|
||||
class DocumentDetail(generics.RetrieveUpdateDestroyAPIView):
|
||||
model = models.Document
|
||||
serializer_class = serializers.DocumentSerializer
|
||||
permission_classes = (permissions.DocumentDetailPermission,)
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
from greenmine.base.permissions import BaseDetailPermission
|
||||
|
||||
|
||||
class DocumentDetailPermission(BaseDetailPermission):
|
||||
class DocumentPermission(BaseDetailPermission):
|
||||
get_permission = "can_view_document"
|
||||
put_permission = "can_change_document"
|
||||
delete_permission = "can_delete_document"
|
||||
|
|
|
@ -1,13 +1,11 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
|
||||
from django.conf.urls import patterns, url
|
||||
from rest_framework.urlpatterns import format_suffix_patterns
|
||||
from greenmine.base import routers
|
||||
|
||||
from . import api
|
||||
|
||||
|
||||
urlpatterns = format_suffix_patterns(patterns('',
|
||||
url(r'^documents/$', api.DocumentList.as_view(), name='document-list'),
|
||||
url(r'^documents/(?P<pk>[0-9]+)/$', api.DocumentDetail.as_view(), name='document-detail'),
|
||||
))
|
||||
router = routers.SimpleRouter(trailing_slash=False)
|
||||
router.register(r"documents", api.DocumentsViewSet, base_name="documents")
|
||||
|
||||
urlpatterns = router.urls
|
||||
|
|
Loading…
Reference in New Issue