Minor changes on wiki api.
parent
d36d19b796
commit
6090254821
|
@ -5,27 +5,32 @@ from django.utils.translation import ugettext as _
|
||||||
from django.http import Http404
|
from django.http import Http404
|
||||||
|
|
||||||
from rest_framework import generics
|
from rest_framework import generics
|
||||||
|
from rest_framework.permissions import IsAuthenticated
|
||||||
|
|
||||||
from greenmine.wiki.serializers import WikiPageSerializer, WikiPageAttachmentSerializer
|
|
||||||
from greenmine.wiki.models import WikiPage, WikiPageAttachment
|
from . import models
|
||||||
from greenmine.wiki.permissions import WikiPageDetailPermission, WikiPageAttachmentDetailPermission
|
from . import serializers
|
||||||
|
from . import permissions
|
||||||
|
|
||||||
|
|
||||||
class WikiPageList(generics.ListCreateAPIView):
|
class WikiPageList(generics.ListCreateAPIView):
|
||||||
model = WikiPage
|
model = models.WikiPage
|
||||||
serializer_class = WikiPageSerializer
|
serializer_class = serializers.WikiPageSerializer
|
||||||
|
permission_classes = (IsAuthenticated,)
|
||||||
|
filter_fields = ["project"]
|
||||||
|
|
||||||
def get_queryset(self):
|
def get_queryset(self):
|
||||||
return self.model.objects.filter(project__members=self.request.user)
|
qs = super(WikiPageList, self).get_queryset()
|
||||||
|
return qs.filter(project__members=self.request.user)
|
||||||
|
|
||||||
def pre_save(self, obj):
|
def pre_save(self, obj):
|
||||||
obj.owner = self.request.user
|
obj.owner = self.request.user
|
||||||
|
|
||||||
|
|
||||||
class WikiPageDetail(generics.RetrieveUpdateDestroyAPIView):
|
class WikiPageDetail(generics.RetrieveUpdateDestroyAPIView):
|
||||||
model = WikiPage
|
model = models.WikiPage
|
||||||
serializer_class = WikiPageSerializer
|
serializer_class = serializers.WikiPageSerializer
|
||||||
permission_classes = (WikiPageDetailPermission,)
|
permission_classes = (IsAuthenticated, permissions.WikiPageDetailPermission,)
|
||||||
|
|
||||||
def get_object(self, queryset=None):
|
def get_object(self, queryset=None):
|
||||||
if queryset is None:
|
if queryset is None:
|
||||||
|
@ -42,15 +47,15 @@ class WikiPageDetail(generics.RetrieveUpdateDestroyAPIView):
|
||||||
return obj
|
return obj
|
||||||
|
|
||||||
|
|
||||||
class WikiPageAttachmentList(generics.ListCreateAPIView):
|
#class WikiPageAttachmentList(generics.ListCreateAPIView):
|
||||||
model = WikiPageAttachment
|
# model = WikiPageAttachment
|
||||||
serializer_class = WikiPageAttachmentSerializer
|
# serializer_class = WikiPageAttachmentSerializer
|
||||||
|
#
|
||||||
def get_queryset(self):
|
# def get_queryset(self):
|
||||||
return self.model.objects.filter(wikipage__project__members=self.request.user)
|
# return self.model.objects.filter(wikipage__project__members=self.request.user)
|
||||||
|
#
|
||||||
|
#
|
||||||
class WikiPageAttachmentDetail(generics.RetrieveUpdateDestroyAPIView):
|
#class WikiPageAttachmentDetail(generics.RetrieveUpdateDestroyAPIView):
|
||||||
model = WikiPageAttachment
|
# model = WikiPageAttachment
|
||||||
serializer_class = WikiPageAttachmentSerializer
|
# serializer_class = WikiPageAttachmentSerializer
|
||||||
permission_classes = (WikiPageAttachmentDetailPermission,)
|
# permission_classes = (WikiPageAttachmentDetailPermission,)
|
||||||
|
|
|
@ -2,13 +2,11 @@
|
||||||
|
|
||||||
from django.conf.urls import patterns, url
|
from django.conf.urls import patterns, url
|
||||||
from rest_framework.urlpatterns import format_suffix_patterns
|
from rest_framework.urlpatterns import format_suffix_patterns
|
||||||
|
|
||||||
from greenmine.wiki import api
|
from greenmine.wiki import api
|
||||||
|
|
||||||
|
|
||||||
urlpatterns = format_suffix_patterns(patterns('',
|
urlpatterns = format_suffix_patterns(patterns('',
|
||||||
url(r'^pages/$', api.WikiPageList.as_view(), name='wiki-page-list'),
|
url(r'^pages$', api.WikiPageList.as_view(), name='wiki-page-list'),
|
||||||
url(r'^pages/(?P<projectid>\d+)-(?P<slug>[\w\-\d]+)/$', api.WikiPageDetail.as_view(), name='wiki-page-detail'),
|
url(r'^pages/(?P<projectid>\d+)-(?P<slug>[\w\-\d]+)$', api.WikiPageDetail.as_view(), name='wiki-page-detail'),
|
||||||
#url(r'^wiki_page_attachments/$', api.WikiPageAttachmentList.as_view(), name='wiki-page-attachment-list'),
|
#url(r'^wiki_page_attachments/$', api.WikiPageAttachmentList.as_view(), name='wiki-page-attachment-list'),
|
||||||
#url(r'^wiki_page_attachments/(?P<pk>[0-9]+)/$', api.WikiPageAttachmentDetail.as_view(), name='wiki-page-attachment-detail'),
|
#url(r'^wiki_page_attachments/(?P<pk>[0-9]+)/$', api.WikiPageAttachmentDetail.as_view(), name='wiki-page-attachment-detail'),
|
||||||
))
|
))
|
||||||
|
|
Loading…
Reference in New Issue