Browse Source

authentication and paginations added to models

master
Mohsen Taba 2 months ago
parent
commit
f57fcf2d77
  1. 2
      apps/account/views/user.py
  2. 2
      apps/api/views/admin_dashboard.py
  3. 2
      apps/blog/views_admin.py
  4. 1
      apps/certificate/views.py
  5. 7
      apps/course/views/admin.py
  6. 2
      apps/quiz/views/admin.py
  7. 2
      apps/transaction/views.py

2
apps/account/views/user.py

@ -626,6 +626,7 @@ from rest_framework.viewsets import ModelViewSet
from rest_framework.filters import SearchFilter, OrderingFilter
from django_filters.rest_framework import DjangoFilterBackend
from rest_framework.permissions import IsAdminUser
from utils.pagination import StandardResultsSetPagination
class AdminUserViewSet(ModelViewSet):
"""
@ -635,6 +636,7 @@ class AdminUserViewSet(ModelViewSet):
serializer_class = AdminUserSerializer
permission_classes = [IsAuthenticated, IsAdminUser] # Strictly admin only
authentication_classes = [TokenAuthentication]
pagination_class = StandardResultsSetPagination
filter_backends = [] # Disable default backend filtering to use custom manual filtering
def get_queryset(self):

2
apps/api/views/admin_dashboard.py

@ -13,8 +13,10 @@ from apps.blog.models import Blog
from apps.chat.models import ChatMessage, RoomMessage
from apps.transaction.models import TransactionParticipant
from apps.certificate.models import Certificate
from rest_framework.authentication import TokenAuthentication
class AdminDashboardStatsView(APIView):
authentication_classes = [TokenAuthentication]
permission_classes = [IsAuthenticated, IsAdminUser]
def get(self, request):

2
apps/blog/views_admin.py

@ -5,6 +5,7 @@ from rest_framework.authentication import TokenAuthentication
from rest_framework.parsers import MultiPartParser, FormParser, JSONParser
from rest_framework.decorators import action
from rest_framework.response import Response
from utils.pagination import StandardResultsSetPagination
from .models import Blog, BlogContent, BlogSeo
from .serializers_admin import (
@ -20,6 +21,7 @@ class AdminBlogViewSet(ModelViewSet):
"""
permission_classes = [IsAuthenticated, IsAdminUser]
authentication_classes = [TokenAuthentication]
pagination_class = StandardResultsSetPagination
# Allow multipart so admins can upload thumbnail images directly
parser_classes = (MultiPartParser, FormParser, JSONParser)

1
apps/certificate/views.py

@ -65,6 +65,7 @@ class AdminCertificateViewSet(ModelViewSet):
serializer_class = AdminCertificateSerializer
permission_classes = [permissions.IsAuthenticated, IsAdminUser]
authentication_classes = [TokenAuthentication]
pagination_class = StandardResultsSetPagination
def get_queryset(self):
queryset = Certificate.objects.all().select_related('student', 'course')

7
apps/course/views/admin.py

@ -4,6 +4,7 @@ from rest_framework.permissions import IsAuthenticated, IsAdminUser
from rest_framework.authentication import TokenAuthentication
from rest_framework.decorators import action
from rest_framework.response import Response
from utils.pagination import StandardResultsSetPagination
from apps.course.models import (
Course,
CourseCategory,
@ -39,6 +40,7 @@ class AdminCourseViewSet(viewsets.ModelViewSet):
"""
permission_classes = [IsAuthenticated, IsAdminUser]
authentication_classes = [TokenAuthentication]
pagination_class = StandardResultsSetPagination
def get_serializer_class(self):
if self.action == 'list':
@ -216,6 +218,7 @@ class AdminCourseCategoryViewSet(viewsets.ModelViewSet):
permission_classes = [IsAuthenticated, IsAdminUser]
authentication_classes = [TokenAuthentication]
serializer_class = AdminCourseCategorySerializer
pagination_class = StandardResultsSetPagination
def get_queryset(self):
queryset = CourseCategory.objects.all().order_by('-id')
@ -232,6 +235,7 @@ class AdminLessonViewSet(viewsets.ModelViewSet):
permission_classes = [IsAuthenticated, IsAdminUser]
authentication_classes = [TokenAuthentication]
serializer_class = AdminLessonSerializer
pagination_class = StandardResultsSetPagination
def get_queryset(self):
queryset = Lesson.objects.all().order_by('-id')
@ -253,6 +257,7 @@ class AdminGlossaryViewSet(viewsets.ModelViewSet):
permission_classes = [IsAuthenticated, IsAdminUser]
authentication_classes = [TokenAuthentication]
serializer_class = AdminGlossarySerializer
pagination_class = StandardResultsSetPagination
def get_queryset(self):
queryset = Glossary.objects.all().order_by('-id')
@ -269,6 +274,7 @@ class AdminAttachmentViewSet(viewsets.ModelViewSet):
permission_classes = [IsAuthenticated, IsAdminUser]
authentication_classes = [TokenAuthentication]
serializer_class = AdminAttachmentSerializer
pagination_class = StandardResultsSetPagination
def get_queryset(self):
queryset = Attachment.objects.all().order_by('-id')
@ -284,6 +290,7 @@ class AdminLiveSessionViewSet(viewsets.ModelViewSet):
"""
permission_classes = [IsAuthenticated, IsAdminUser]
authentication_classes = [TokenAuthentication]
pagination_class = StandardResultsSetPagination
def get_serializer_class(self):
if self.action == 'list':

2
apps/quiz/views/admin.py

@ -6,6 +6,7 @@ from rest_framework.authentication import TokenAuthentication
from rest_framework.decorators import action
from rest_framework.response import Response
from django.shortcuts import get_object_or_404
from utils.pagination import StandardResultsSetPagination
from apps.quiz.models import Quiz, Question, QuizParticipant
from apps.course.models import Course, CourseLesson, Participant
@ -29,6 +30,7 @@ class AdminQuizViewSet(ModelViewSet):
"""
permission_classes = [IsAuthenticated, IsAdminUser]
authentication_classes = [TokenAuthentication]
pagination_class = StandardResultsSetPagination
def get_serializer_class(self):
if self.action == 'list':

2
apps/transaction/views.py

@ -420,6 +420,7 @@ from rest_framework.viewsets import ModelViewSet
from rest_framework.permissions import IsAdminUser
from apps.transaction.serializers import AdminTransactionSerializer
from django.db.models import Q
from utils.pagination import StandardResultsSetPagination
class AdminTransactionViewSet(ModelViewSet):
"""
@ -430,6 +431,7 @@ class AdminTransactionViewSet(ModelViewSet):
serializer_class = AdminTransactionSerializer
permission_classes = [IsAuthenticated, IsAdminUser]
authentication_classes = [TokenAuthentication]
pagination_class = StandardResultsSetPagination
http_method_names = ['get', 'patch', 'head', 'options']
def get_queryset(self):

Loading…
Cancel
Save