Minor fixes on wiki pages.
parent
164e45b4b0
commit
2ea5a94de2
|
@ -2,6 +2,8 @@
|
|||
|
||||
from rest_framework.permissions import IsAuthenticated
|
||||
|
||||
import reversion
|
||||
|
||||
from greenmine.base import filters
|
||||
from greenmine.base.api import ModelCrudViewSet, ModelListViewSet
|
||||
from greenmine.base.notifications.api import NotificationSenderMixin
|
||||
|
|
|
@ -7,31 +7,26 @@ from django.http import Http404
|
|||
from rest_framework import generics
|
||||
from rest_framework.permissions import IsAuthenticated
|
||||
|
||||
from greenmine.base.api import ModelCrudViewSet
|
||||
|
||||
from . import models
|
||||
from . import serializers
|
||||
from . import permissions
|
||||
|
||||
|
||||
class WikiPageList(generics.ListCreateAPIView):
|
||||
class WikiViewSet(ModelCrudViewSet):
|
||||
model = models.WikiPage
|
||||
serializer_class = serializers.WikiPageSerializer
|
||||
permission_classes = (IsAuthenticated,)
|
||||
filter_fields = ["project"]
|
||||
|
||||
def get_queryset(self):
|
||||
qs = super(WikiPageList, self).get_queryset()
|
||||
qs = super(WikiViewSet, 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 = models.WikiPage
|
||||
serializer_class = serializers.WikiPageSerializer
|
||||
permission_classes = (IsAuthenticated, permissions.WikiPagePermission,)
|
||||
|
||||
def get_object(self, queryset=None):
|
||||
if queryset is None:
|
||||
queryset = self.get_queryset()
|
||||
|
@ -45,17 +40,3 @@ class WikiPageDetail(generics.RetrieveUpdateDestroyAPIView):
|
|||
raise Http404(_("No {verbose_name} found matching the query").format(
|
||||
verbose_name=queryset.model._meta.verbose_name))
|
||||
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 = (WikiPageAttachmentPermission,)
|
||||
|
|
|
@ -7,15 +7,13 @@ from django.utils.translation import ugettext_lazy as _
|
|||
|
||||
class WikiPage(models.Model):
|
||||
project = models.ForeignKey('projects.Project', null=False, blank=False,
|
||||
related_name='wiki_pages',
|
||||
verbose_name=_('project'))
|
||||
related_name='wiki_pages', verbose_name=_('project'))
|
||||
slug = models.SlugField(max_length=500, db_index=True, null=False, blank=False,
|
||||
verbose_name=_('slug'))
|
||||
content = models.TextField(null=False, blank=True,
|
||||
verbose_name=_('content'))
|
||||
owner = models.ForeignKey(settings.AUTH_USER_MODEL, null=True, blank=True,
|
||||
related_name='owned_wiki_pages',
|
||||
verbose_name=_('owner'))
|
||||
related_name='owned_wiki_pages', verbose_name=_('owner'))
|
||||
watchers = models.ManyToManyField(settings.AUTH_USER_MODEL, null=True, blank=True,
|
||||
related_name='watched_wiki_pages',
|
||||
verbose_name=_('watchers'))
|
||||
|
|
|
@ -11,6 +11,7 @@ from greenmine.projects.tasks.api import TaskStatusViewSet, TaskViewSet, TasksAt
|
|||
from greenmine.projects.issues.api import (PriorityViewSet, SeverityViewSet,
|
||||
IssueStatusViewSet, IssueTypeViewSet,
|
||||
IssueViewSet, IssuesAttachmentViewSet,)
|
||||
from greenmine.projects.wiki.api import WikiViewSet
|
||||
|
||||
|
||||
router = routers.DefaultRouter(trailing_slash=False)
|
||||
|
@ -47,9 +48,10 @@ router.register(r"issue-types", IssueTypeViewSet, base_name="issue-types")
|
|||
router.register(r"issue-attachments", IssuesAttachmentViewSet, base_name="issue-attachments")
|
||||
router.register(r"issues", IssueViewSet, base_name="issues")
|
||||
|
||||
# greenmine.projects.wiki
|
||||
router.register(r"wiki", WikiViewSet, base_name="wiki")
|
||||
|
||||
#greenmine.projects.questions
|
||||
# TODO
|
||||
#greenmine.projects.wiki
|
||||
# TODO
|
||||
#greenmine.projects.documents
|
||||
# TODO
|
||||
|
|
Loading…
Reference in New Issue