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 rest_framework.filters import SearchFilter, OrderingFilter
from django_filters.rest_framework import DjangoFilterBackend from django_filters.rest_framework import DjangoFilterBackend
from rest_framework.permissions import IsAdminUser from rest_framework.permissions import IsAdminUser
from utils.pagination import StandardResultsSetPagination
class AdminUserViewSet(ModelViewSet): class AdminUserViewSet(ModelViewSet):
""" """
@ -635,6 +636,7 @@ class AdminUserViewSet(ModelViewSet):
serializer_class = AdminUserSerializer serializer_class = AdminUserSerializer
permission_classes = [IsAuthenticated, IsAdminUser] # Strictly admin only permission_classes = [IsAuthenticated, IsAdminUser] # Strictly admin only
authentication_classes = [TokenAuthentication] authentication_classes = [TokenAuthentication]
pagination_class = StandardResultsSetPagination
filter_backends = [] # Disable default backend filtering to use custom manual filtering filter_backends = [] # Disable default backend filtering to use custom manual filtering
def get_queryset(self): 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.chat.models import ChatMessage, RoomMessage
from apps.transaction.models import TransactionParticipant from apps.transaction.models import TransactionParticipant
from apps.certificate.models import Certificate from apps.certificate.models import Certificate
from rest_framework.authentication import TokenAuthentication
class AdminDashboardStatsView(APIView): class AdminDashboardStatsView(APIView):
authentication_classes = [TokenAuthentication]
permission_classes = [IsAuthenticated, IsAdminUser] permission_classes = [IsAuthenticated, IsAdminUser]
def get(self, request): 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.parsers import MultiPartParser, FormParser, JSONParser
from rest_framework.decorators import action from rest_framework.decorators import action
from rest_framework.response import Response from rest_framework.response import Response
from utils.pagination import StandardResultsSetPagination
from .models import Blog, BlogContent, BlogSeo from .models import Blog, BlogContent, BlogSeo
from .serializers_admin import ( from .serializers_admin import (
@ -20,6 +21,7 @@ class AdminBlogViewSet(ModelViewSet):
""" """
permission_classes = [IsAuthenticated, IsAdminUser] permission_classes = [IsAuthenticated, IsAdminUser]
authentication_classes = [TokenAuthentication] authentication_classes = [TokenAuthentication]
pagination_class = StandardResultsSetPagination
# Allow multipart so admins can upload thumbnail images directly # Allow multipart so admins can upload thumbnail images directly
parser_classes = (MultiPartParser, FormParser, JSONParser) parser_classes = (MultiPartParser, FormParser, JSONParser)

1
apps/certificate/views.py

@ -65,6 +65,7 @@ class AdminCertificateViewSet(ModelViewSet):
serializer_class = AdminCertificateSerializer serializer_class = AdminCertificateSerializer
permission_classes = [permissions.IsAuthenticated, IsAdminUser] permission_classes = [permissions.IsAuthenticated, IsAdminUser]
authentication_classes = [TokenAuthentication] authentication_classes = [TokenAuthentication]
pagination_class = StandardResultsSetPagination
def get_queryset(self): def get_queryset(self):
queryset = Certificate.objects.all().select_related('student', 'course') 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.authentication import TokenAuthentication
from rest_framework.decorators import action from rest_framework.decorators import action
from rest_framework.response import Response from rest_framework.response import Response
from utils.pagination import StandardResultsSetPagination
from apps.course.models import ( from apps.course.models import (
Course, Course,
CourseCategory, CourseCategory,
@ -39,6 +40,7 @@ class AdminCourseViewSet(viewsets.ModelViewSet):
""" """
permission_classes = [IsAuthenticated, IsAdminUser] permission_classes = [IsAuthenticated, IsAdminUser]
authentication_classes = [TokenAuthentication] authentication_classes = [TokenAuthentication]
pagination_class = StandardResultsSetPagination
def get_serializer_class(self): def get_serializer_class(self):
if self.action == 'list': if self.action == 'list':
@ -216,6 +218,7 @@ class AdminCourseCategoryViewSet(viewsets.ModelViewSet):
permission_classes = [IsAuthenticated, IsAdminUser] permission_classes = [IsAuthenticated, IsAdminUser]
authentication_classes = [TokenAuthentication] authentication_classes = [TokenAuthentication]
serializer_class = AdminCourseCategorySerializer serializer_class = AdminCourseCategorySerializer
pagination_class = StandardResultsSetPagination
def get_queryset(self): def get_queryset(self):
queryset = CourseCategory.objects.all().order_by('-id') queryset = CourseCategory.objects.all().order_by('-id')
@ -232,6 +235,7 @@ class AdminLessonViewSet(viewsets.ModelViewSet):
permission_classes = [IsAuthenticated, IsAdminUser] permission_classes = [IsAuthenticated, IsAdminUser]
authentication_classes = [TokenAuthentication] authentication_classes = [TokenAuthentication]
serializer_class = AdminLessonSerializer serializer_class = AdminLessonSerializer
pagination_class = StandardResultsSetPagination
def get_queryset(self): def get_queryset(self):
queryset = Lesson.objects.all().order_by('-id') queryset = Lesson.objects.all().order_by('-id')
@ -253,6 +257,7 @@ class AdminGlossaryViewSet(viewsets.ModelViewSet):
permission_classes = [IsAuthenticated, IsAdminUser] permission_classes = [IsAuthenticated, IsAdminUser]
authentication_classes = [TokenAuthentication] authentication_classes = [TokenAuthentication]
serializer_class = AdminGlossarySerializer serializer_class = AdminGlossarySerializer
pagination_class = StandardResultsSetPagination
def get_queryset(self): def get_queryset(self):
queryset = Glossary.objects.all().order_by('-id') queryset = Glossary.objects.all().order_by('-id')
@ -269,6 +274,7 @@ class AdminAttachmentViewSet(viewsets.ModelViewSet):
permission_classes = [IsAuthenticated, IsAdminUser] permission_classes = [IsAuthenticated, IsAdminUser]
authentication_classes = [TokenAuthentication] authentication_classes = [TokenAuthentication]
serializer_class = AdminAttachmentSerializer serializer_class = AdminAttachmentSerializer
pagination_class = StandardResultsSetPagination
def get_queryset(self): def get_queryset(self):
queryset = Attachment.objects.all().order_by('-id') queryset = Attachment.objects.all().order_by('-id')
@ -284,6 +290,7 @@ class AdminLiveSessionViewSet(viewsets.ModelViewSet):
""" """
permission_classes = [IsAuthenticated, IsAdminUser] permission_classes = [IsAuthenticated, IsAdminUser]
authentication_classes = [TokenAuthentication] authentication_classes = [TokenAuthentication]
pagination_class = StandardResultsSetPagination
def get_serializer_class(self): def get_serializer_class(self):
if self.action == 'list': 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.decorators import action
from rest_framework.response import Response from rest_framework.response import Response
from django.shortcuts import get_object_or_404 from django.shortcuts import get_object_or_404
from utils.pagination import StandardResultsSetPagination
from apps.quiz.models import Quiz, Question, QuizParticipant from apps.quiz.models import Quiz, Question, QuizParticipant
from apps.course.models import Course, CourseLesson, Participant from apps.course.models import Course, CourseLesson, Participant
@ -29,6 +30,7 @@ class AdminQuizViewSet(ModelViewSet):
""" """
permission_classes = [IsAuthenticated, IsAdminUser] permission_classes = [IsAuthenticated, IsAdminUser]
authentication_classes = [TokenAuthentication] authentication_classes = [TokenAuthentication]
pagination_class = StandardResultsSetPagination
def get_serializer_class(self): def get_serializer_class(self):
if self.action == 'list': 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 rest_framework.permissions import IsAdminUser
from apps.transaction.serializers import AdminTransactionSerializer from apps.transaction.serializers import AdminTransactionSerializer
from django.db.models import Q from django.db.models import Q
from utils.pagination import StandardResultsSetPagination
class AdminTransactionViewSet(ModelViewSet): class AdminTransactionViewSet(ModelViewSet):
""" """
@ -430,6 +431,7 @@ class AdminTransactionViewSet(ModelViewSet):
serializer_class = AdminTransactionSerializer serializer_class = AdminTransactionSerializer
permission_classes = [IsAuthenticated, IsAdminUser] permission_classes = [IsAuthenticated, IsAdminUser]
authentication_classes = [TokenAuthentication] authentication_classes = [TokenAuthentication]
pagination_class = StandardResultsSetPagination
http_method_names = ['get', 'patch', 'head', 'options'] http_method_names = ['get', 'patch', 'head', 'options']
def get_queryset(self): def get_queryset(self):

Loading…
Cancel
Save