Browse Source

hadith corrections and interpretations reorder logic updated

master
Mohsen Taba 2 weeks ago
parent
commit
e33d50654d
  1. 18
      apps/hadis/views_admin.py

18
apps/hadis/views_admin.py

@ -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", [])

Loading…
Cancel
Save