relocate viewset methods

This commit is contained in:
2021-01-13 13:25:03 +00:00
parent 08dd2754ad
commit 7454ed5b53
5 changed files with 80 additions and 76 deletions

View File

@@ -4,9 +4,9 @@ from django.conf.urls.static import static
from django.conf import settings from django.conf import settings
from django.views.generic import RedirectView from django.views.generic import RedirectView
from . import views from . import views
from posts.views import PostViewSet from posts.viewsets import PostViewSet
from members.urls import member_urlpatterns, jobs_urlpatterns from members.urls import member_urlpatterns, jobs_urlpatterns
from members.views import MemberViewSet, JobViewSet, JobGroupViewSet, JobMemberViewSet from members.viewsets import MemberViewSet, JobViewSet, JobGroupViewSet, JobMemberViewSet
from rest_framework import routers from rest_framework import routers
router = routers.DefaultRouter() router = routers.DefaultRouter()

View File

@@ -2,16 +2,10 @@ from django.http import Http404
from django.shortcuts import render from django.shortcuts import render
from collections import deque from collections import deque
from django_filters.rest_framework import DjangoFilterBackend
from .models import Member, JobMember, JobGroup, Job from .models import Member, JobMember, JobGroup, Job
from .serializers import MemberSerializer, JobSerializer, JobGroupSerializer, JobMemberSerializer
from posts.models import Post from posts.models import Post
from rest_framework import viewsets
#from rest_framework import permissions
import logging import logging
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
@@ -119,52 +113,3 @@ def profile_view(request, member_id=None):
} }
return render(request, 'members/member.html', context) return render(request, 'members/member.html', context)
class MemberViewSet(viewsets.ModelViewSet):
"""
API endpoint that allows users to be viewed or edited.
"""
queryset = Member.all_members.order_by('nickname')
serializer_class = MemberSerializer
#permission_classes = [permissions.IsAuthenticated]
filter_backends = [DjangoFilterBackend]
filterset_fields = ['nickname','mailaccount']
# lookup_field = 'name'
def pre_save(self, obj):
obj.image = self.request.FILES.get('image')
class JobGroupViewSet(viewsets.ModelViewSet):
"""
API endpoint that allows users to be viewed or edited.
"""
queryset = JobGroup.all_jobgroups.all()
serializer_class = JobGroupSerializer
filter_backends = [DjangoFilterBackend]
filterset_fields = ['name','slug']
#lookup_field = 'name'
# lookup_field = 'name'
class JobViewSet(viewsets.ModelViewSet):
"""
API endpoint that allows users to be viewed or edited.
"""
queryset = Job.objects.all()
serializer_class = JobSerializer
filter_backends = [DjangoFilterBackend]
filterset_fields = ['name','slug']
#lookup_field = 'slug'
class JobMemberViewSet(viewsets.ModelViewSet):
"""
API endpoint that allows users to be viewed or edited.
"""
queryset = JobMember.objects.all()
serializer_class = JobMemberSerializer
filter_backends = [DjangoFilterBackend]
filterset_fields = ['member','job','job_role','job_start']
#lookup_field = 'nickname'

View File

@@ -0,0 +1,55 @@
from django_filters.rest_framework import DjangoFilterBackend
from rest_framework import viewsets
from .models import Member, JobMember, JobGroup, Job
from .serializers import MemberSerializer, JobSerializer, JobGroupSerializer, JobMemberSerializer
class MemberViewSet(viewsets.ModelViewSet):
"""
API endpoint that allows users to be viewed or edited.
"""
queryset = Member.all_members.order_by('nickname')
serializer_class = MemberSerializer
#permission_classes = [permissions.IsAuthenticated]
filter_backends = [DjangoFilterBackend]
filterset_fields = ['nickname','mailaccount']
#lookup_field = 'name'
def pre_save(self, obj):
obj.image = self.request.FILES.get('image')
class JobGroupViewSet(viewsets.ModelViewSet):
"""
API endpoint that allows users to be viewed or edited.
"""
queryset = JobGroup.all_jobgroups.all()
serializer_class = JobGroupSerializer
filter_backends = [DjangoFilterBackend]
filterset_fields = ['name','slug']
#lookup_field = 'name'
class JobViewSet(viewsets.ModelViewSet):
"""
API endpoint that allows users to be viewed or edited.
"""
queryset = Job.objects.all()
serializer_class = JobSerializer
filter_backends = [DjangoFilterBackend]
filterset_fields = ['name','slug']
#lookup_field = 'slug'
class JobMemberViewSet(viewsets.ModelViewSet):
"""
API endpoint that allows users to be viewed or edited.
"""
queryset = JobMember.objects.all()
serializer_class = JobMemberSerializer
filter_backends = [DjangoFilterBackend]
filterset_fields = ['member','job','job_role','job_start']
#lookup_field = 'nickname'

View File

@@ -1,13 +1,11 @@
from collections import deque from collections import deque
import logging import logging
from rest_framework import viewsets
from taggit.models import Tag from taggit.models import Tag
from django.shortcuts import render from django.shortcuts import render
from django.http import HttpResponse, JsonResponse, HttpResponseServerError from django.http import HttpResponse, JsonResponse, HttpResponseServerError
from django.utils.text import slugify from django.utils.text import slugify
from django.utils import timezone from django.utils import timezone
from django_filters.rest_framework import DjangoFilterBackend
from documents.api import get_pad_link from documents.api import get_pad_link
from documents.etherpadlib import add_ep_cookie from documents.etherpadlib import add_ep_cookie
@@ -15,7 +13,8 @@ from members.models import Member, JobMember
from .models import Post, FetMeeting from .models import Post, FetMeeting
from .serializers import PostSerializer
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
@@ -196,19 +195,3 @@ def get_next_dict(post=None):
break break
return d return d
class PostViewSet(viewsets.ModelViewSet):
"""
API endpoint that allows users to be viewed or edited.
"""
queryset = Post.objects.all().order_by("-public_date")
serializer_class = PostSerializer
# permission_classes = [permissions.IsAuthenticated]
filter_backends = [DjangoFilterBackend]
filterset_fields = ["legacy_id", "slug", "legacy_rubrik_id"]
lookup_field = "slug"
def pre_save(self, obj):
obj.image = self.request.FILES.get("image")

21
fet2020/posts/viewsets.py Normal file
View File

@@ -0,0 +1,21 @@
from django_filters.rest_framework import DjangoFilterBackend
from rest_framework import viewsets
from .models import Post, FetMeeting
from .serializers import PostSerializer
class PostViewSet(viewsets.ModelViewSet):
"""
API endpoint that allows users to be viewed or edited.
"""
queryset = Post.objects.all().order_by("-public_date")
serializer_class = PostSerializer
# permission_classes = [permissions.IsAuthenticated]
filter_backends = [DjangoFilterBackend]
filterset_fields = ["legacy_id", "slug", "legacy_rubrik_id"]
lookup_field = "slug"
def pre_save(self, obj):
obj.image = self.request.FILES.get("image")