Cleaning wiki application.
parent
f81aee8f14
commit
6794d06036
|
@ -2,16 +2,10 @@
|
|||
|
||||
from django.contrib import admin
|
||||
|
||||
from greenmine.projects.wiki.models import WikiPage, WikiPageAttachment
|
||||
from greenmine.projects.wiki.models import WikiPage
|
||||
|
||||
|
||||
class WikiPageAdmin(admin.ModelAdmin):
|
||||
list_display = ["slug", "project", "owner"]
|
||||
|
||||
admin.site.register(WikiPage, WikiPageAdmin)
|
||||
|
||||
|
||||
class WikiPageAttachmentAdmin(admin.ModelAdmin):
|
||||
list_display = ["id", "wikipage", "owner"]
|
||||
|
||||
admin.site.register(WikiPageAttachment, WikiPageAttachmentAdmin)
|
||||
|
|
|
@ -5,38 +5,28 @@ from django.utils.translation import ugettext as _
|
|||
from django.http import Http404
|
||||
|
||||
from rest_framework import generics
|
||||
from rest_framework import filters
|
||||
from rest_framework.permissions import IsAuthenticated
|
||||
|
||||
from greenmine.base.api import ModelCrudViewSet
|
||||
from greenmine.base import api as api_views
|
||||
from greenmine.base import filters
|
||||
|
||||
from . import models
|
||||
from . import serializers
|
||||
from . import permissions
|
||||
|
||||
|
||||
class WikiViewSet(ModelCrudViewSet):
|
||||
class WikiViewSet(api_views.ModelCrudViewSet):
|
||||
model = models.WikiPage
|
||||
serializer_class = serializers.WikiPageSerializer
|
||||
permission_classes = (IsAuthenticated,)
|
||||
filter_fields = ["project"]
|
||||
filter_backends = (filters.IsProjectMemberFilterBackend,)
|
||||
filter_fields = ["project", "slug"]
|
||||
|
||||
def get_queryset(self):
|
||||
qs = super(WikiViewSet, self).get_queryset()
|
||||
return qs.filter(project__members=self.request.user)
|
||||
|
||||
def pre_save(self, obj):
|
||||
obj.owner = self.request.user
|
||||
|
||||
def get_object(self, queryset=None):
|
||||
if queryset is None:
|
||||
queryset = self.get_queryset()
|
||||
|
||||
queryset = queryset.filter(project=self.kwargs["projectid"],
|
||||
slug=self.kwargs["slug"])
|
||||
try:
|
||||
# Get the single item from the filtered queryset
|
||||
obj = queryset.get()
|
||||
except ObjectDoesNotExist:
|
||||
raise Http404(_("No {verbose_name} found matching the query").format(
|
||||
verbose_name=queryset.model._meta.verbose_name))
|
||||
return obj
|
||||
if not obj.owner:
|
||||
obj.owner = self.request.user
|
||||
|
|
|
@ -33,30 +33,5 @@ class WikiPage(models.Model):
|
|||
('change_owned_wikipage', 'Can modify owned wiki pages'),
|
||||
)
|
||||
|
||||
def __unicode__(self):
|
||||
return u'project {0} - {1}'.format(self.project_id, self.subject)
|
||||
|
||||
|
||||
class WikiPageAttachment(models.Model):
|
||||
wikipage = models.ForeignKey('WikiPage', null=False, blank=False,
|
||||
related_name='attachments',
|
||||
verbose_name=_('wiki page'))
|
||||
owner = models.ForeignKey(settings.AUTH_USER_MODEL, null=False, blank=False,
|
||||
related_name='owned_wiki_attachments',
|
||||
verbose_name=_('owner'))
|
||||
created_date = models.DateTimeField(auto_now_add=True, null=False, blank=False,
|
||||
verbose_name=_('created date'))
|
||||
modified_date = models.DateTimeField(auto_now=True, null=False, blank=False,
|
||||
verbose_name=_('modified date'))
|
||||
attached_file = models.FileField(max_length=500, null=True, blank=True,
|
||||
upload_to='files/wiki',
|
||||
verbose_name=_('attached file'))
|
||||
|
||||
class Meta:
|
||||
verbose_name = u'wiki page attachment'
|
||||
verbose_name_plural = u'wiki page attachments'
|
||||
ordering = ['wikipage', 'created_date']
|
||||
|
||||
def __unicode__(self):
|
||||
return u'project {0} - page {1} - attachment {2}'.format(self.wikipage.project_id,
|
||||
self.wikipage.subject, self.id)
|
||||
def __str__(self):
|
||||
return u'project {0} - {1}'.format(self.project_id, self.slug)
|
||||
|
|
|
@ -8,8 +8,3 @@ from . import models
|
|||
class WikiPageSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = models.WikiPage
|
||||
|
||||
|
||||
class WikiPageAttachmentSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = models.WikiPageAttachment
|
||||
|
|
Loading…
Reference in New Issue