|
|
|
@ -312,6 +312,7 @@ class AdminHadisCorrectionViewSet(ModelViewSet): |
|
|
|
permission_classes = [IsAuthenticated, IsSuperAdmin] |
|
|
|
authentication_classes = [TokenAuthentication] |
|
|
|
parser_classes = (JSONParser, MultiPartParser, FormParser) |
|
|
|
pagination_class = None |
|
|
|
|
|
|
|
def get_queryset(self): |
|
|
|
queryset = HadisCorrection.objects.all() |
|
|
|
@ -320,6 +321,14 @@ class AdminHadisCorrectionViewSet(ModelViewSet): |
|
|
|
queryset = queryset.filter(hadis_id=hadis_id) |
|
|
|
return queryset.order_by("priority", "created_at") |
|
|
|
|
|
|
|
def perform_create(self, serializer): |
|
|
|
priority = self.request.data.get("priority", 1) |
|
|
|
hadis_id = self.request.data.get("hadis") |
|
|
|
if hadis_id: |
|
|
|
from django.db.models import F |
|
|
|
HadisCorrection.objects.filter(hadis_id=hadis_id, priority__gte=priority).update(priority=F("priority") + 1) |
|
|
|
serializer.save() |
|
|
|
|
|
|
|
@action(detail=False, methods=["post"]) |
|
|
|
def reorder(self, request): |
|
|
|
correction_ids = request.data.get("correction_ids", []) |
|
|
|
@ -337,6 +346,7 @@ class AdminHadisInterpretationViewSet(ModelViewSet): |
|
|
|
permission_classes = [IsAuthenticated, IsSuperAdmin] |
|
|
|
authentication_classes = [TokenAuthentication] |
|
|
|
parser_classes = (JSONParser, MultiPartParser, FormParser) |
|
|
|
pagination_class = None |
|
|
|
|
|
|
|
def get_queryset(self): |
|
|
|
queryset = HadisInterpretation.objects.all() |
|
|
|
@ -345,6 +355,14 @@ class AdminHadisInterpretationViewSet(ModelViewSet): |
|
|
|
queryset = queryset.filter(category_id=category_id) |
|
|
|
return queryset.order_by("priority", "created_at") |
|
|
|
|
|
|
|
def perform_create(self, serializer): |
|
|
|
priority = self.request.data.get("priority", 1) |
|
|
|
category_id = self.request.data.get("category") |
|
|
|
if category_id: |
|
|
|
from django.db.models import F |
|
|
|
HadisInterpretation.objects.filter(category_id=category_id, priority__gte=priority).update(priority=F("priority") + 1) |
|
|
|
serializer.save() |
|
|
|
|
|
|
|
@action(detail=False, methods=["post"]) |
|
|
|
def reorder(self, request): |
|
|
|
interpretation_ids = request.data.get("interpretation_ids", []) |
|
|
|
|