From 7454ed5b53c70c6d3b366c5cd89d8a2f5d30f01d Mon Sep 17 00:00:00 2001 From: Patrick Date: Wed, 13 Jan 2021 13:25:03 +0000 Subject: [PATCH] relocate viewset methods --- fet2020/fet2020/urls.py | 4 +-- fet2020/members/views.py | 55 ------------------------------------- fet2020/members/viewsets.py | 55 +++++++++++++++++++++++++++++++++++++ fet2020/posts/views.py | 21 ++------------ fet2020/posts/viewsets.py | 21 ++++++++++++++ 5 files changed, 80 insertions(+), 76 deletions(-) create mode 100644 fet2020/members/viewsets.py create mode 100644 fet2020/posts/viewsets.py diff --git a/fet2020/fet2020/urls.py b/fet2020/fet2020/urls.py index 81de07ee..b7701ef2 100644 --- a/fet2020/fet2020/urls.py +++ b/fet2020/fet2020/urls.py @@ -4,9 +4,9 @@ from django.conf.urls.static import static from django.conf import settings from django.views.generic import RedirectView from . import views -from posts.views import PostViewSet +from posts.viewsets import PostViewSet 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 router = routers.DefaultRouter() diff --git a/fet2020/members/views.py b/fet2020/members/views.py index fff08eff..5381cca7 100644 --- a/fet2020/members/views.py +++ b/fet2020/members/views.py @@ -2,16 +2,10 @@ from django.http import Http404 from django.shortcuts import render from collections import deque -from django_filters.rest_framework import DjangoFilterBackend from .models import Member, JobMember, JobGroup, Job -from .serializers import MemberSerializer, JobSerializer, JobGroupSerializer, JobMemberSerializer - from posts.models import Post -from rest_framework import viewsets -#from rest_framework import permissions - import logging logger = logging.getLogger(__name__) @@ -119,52 +113,3 @@ def profile_view(request, member_id=None): } 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' \ No newline at end of file diff --git a/fet2020/members/viewsets.py b/fet2020/members/viewsets.py new file mode 100644 index 00000000..27c1683f --- /dev/null +++ b/fet2020/members/viewsets.py @@ -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' diff --git a/fet2020/posts/views.py b/fet2020/posts/views.py index 2481bf09..5b6c4f27 100644 --- a/fet2020/posts/views.py +++ b/fet2020/posts/views.py @@ -1,13 +1,11 @@ from collections import deque import logging -from rest_framework import viewsets from taggit.models import Tag from django.shortcuts import render from django.http import HttpResponse, JsonResponse, HttpResponseServerError from django.utils.text import slugify from django.utils import timezone -from django_filters.rest_framework import DjangoFilterBackend from documents.api import get_pad_link from documents.etherpadlib import add_ep_cookie @@ -15,7 +13,8 @@ from members.models import Member, JobMember from .models import Post, FetMeeting -from .serializers import PostSerializer + + logger = logging.getLogger(__name__) @@ -196,19 +195,3 @@ def get_next_dict(post=None): break 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") diff --git a/fet2020/posts/viewsets.py b/fet2020/posts/viewsets.py new file mode 100644 index 00000000..90a87ea2 --- /dev/null +++ b/fet2020/posts/viewsets.py @@ -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")