Minor changes on wiki api.

remotes/origin/enhancement/email-actions
Andrey Antukh 2013-07-23 22:06:10 +02:00
parent d36d19b796
commit 6090254821
2 changed files with 28 additions and 25 deletions

View File

@ -5,27 +5,32 @@ from django.utils.translation import ugettext as _
from django.http import Http404
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 greenmine.wiki.permissions import WikiPageDetailPermission, WikiPageAttachmentDetailPermission
from . import models
from . import serializers
from . import permissions
class WikiPageList(generics.ListCreateAPIView):
model = WikiPage
serializer_class = WikiPageSerializer
model = models.WikiPage
serializer_class = serializers.WikiPageSerializer
permission_classes = (IsAuthenticated,)
filter_fields = ["project"]
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):
obj.owner = self.request.user
class WikiPageDetail(generics.RetrieveUpdateDestroyAPIView):
model = WikiPage
serializer_class = WikiPageSerializer
permission_classes = (WikiPageDetailPermission,)
model = models.WikiPage
serializer_class = serializers.WikiPageSerializer
permission_classes = (IsAuthenticated, permissions.WikiPageDetailPermission,)
def get_object(self, queryset=None):
if queryset is None:
@ -42,15 +47,15 @@ class WikiPageDetail(generics.RetrieveUpdateDestroyAPIView):
return obj
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,)
#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,)

View File

@ -2,13 +2,11 @@
from django.conf.urls import patterns, url
from rest_framework.urlpatterns import format_suffix_patterns
from greenmine.wiki import api
urlpatterns = format_suffix_patterns(patterns('',
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$', 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'^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'),
))