|
|
|
@ -12,7 +12,7 @@ from utils.pagination import StandardResultsSetPagination |
|
|
|
|
|
|
|
from .models import ( |
|
|
|
Hadis, HadisCategory, HadisCollection, HadisCorrection, HadisInterpretation, HadisStatus, HadisTag, HadisSect, HadisTransmitter, |
|
|
|
BookReference, BookReferenceImage, BookReferenceDocument, BookAuthor, BookAttribute, BookSubjectArea, BookType, |
|
|
|
BookReference, BookReferenceImage, BookReferenceDocument, BookAuthor, BookAttribute, BookSubjectArea, BookType, BookEdition, BookVolume, |
|
|
|
Transmitters, TransmitterReliability, NarratorLayer, OpinionStatus, TransmitterOpinion, TransmitterOriginalText |
|
|
|
) |
|
|
|
from .serializers.serializers_admin import ( |
|
|
|
@ -42,6 +42,8 @@ from .serializers.serializers_admin import ( |
|
|
|
AdminHadisTransmitterSerializer, |
|
|
|
AdminTransmitterOpinionSerializer, |
|
|
|
AdminTransmitterOriginalTextSerializer, |
|
|
|
AdminBookEditionSerializer, |
|
|
|
AdminBookVolumeSerializer, |
|
|
|
) |
|
|
|
|
|
|
|
|
|
|
|
@ -634,3 +636,37 @@ class AdminTransmitterOriginalTextViewSet(ModelViewSet): |
|
|
|
TransmitterOriginalText.objects.filter(id=ot_id).update(order=index) |
|
|
|
|
|
|
|
return Response({"status": "success"}) |
|
|
|
|
|
|
|
|
|
|
|
class AdminBookEditionViewSet(ModelViewSet): |
|
|
|
permission_classes = [IsAuthenticated, IsSuperAdmin] |
|
|
|
authentication_classes = [TokenAuthentication] |
|
|
|
serializer_class = AdminBookEditionSerializer |
|
|
|
pagination_class = None |
|
|
|
|
|
|
|
def get_queryset(self): |
|
|
|
queryset = BookEdition.objects.all() |
|
|
|
book_reference_id = self.request.query_params.get("book_reference_id") |
|
|
|
if book_reference_id: |
|
|
|
queryset = queryset.filter(book_reference_id=book_reference_id) |
|
|
|
return queryset.order_by("-created_at") |
|
|
|
|
|
|
|
|
|
|
|
class AdminBookVolumeViewSet(ModelViewSet): |
|
|
|
permission_classes = [IsAuthenticated, IsSuperAdmin] |
|
|
|
authentication_classes = [TokenAuthentication] |
|
|
|
serializer_class = AdminBookVolumeSerializer |
|
|
|
pagination_class = None |
|
|
|
|
|
|
|
def get_queryset(self): |
|
|
|
queryset = BookVolume.objects.all() |
|
|
|
book_reference_id = self.request.query_params.get("book_reference_id") |
|
|
|
edition_id = self.request.query_params.get("edition_id") |
|
|
|
if book_reference_id: |
|
|
|
queryset = queryset.filter(book_reference_id=book_reference_id) |
|
|
|
if edition_id: |
|
|
|
if edition_id in ["none", "null"]: |
|
|
|
queryset = queryset.filter(edition__isnull=True) |
|
|
|
else: |
|
|
|
queryset = queryset.filter(edition_id=edition_id) |
|
|
|
return queryset.order_by("title", "id") |