Browse Source

apis updated based on panel needs

master
Mohsen Taba 2 days ago
parent
commit
ece46dea78
  1. 7
      apps/hadis/models/category.py
  2. 11
      apps/hadis/views_admin.py

7
apps/hadis/models/category.py

@ -92,6 +92,13 @@ class HadisCategory(LowercaseSlugMixin, MPTTModel):
f'Parent sect: {self.parent.sect.sect_type}, '
f'Your sect: {self.sect.sect_type}')
)
if self.parent and self.parent.parent is not None:
if self.source_type != self.parent.source_type:
raise ValidationError(
_('Child category must have the same source_type as its parent when parent is not a root category. '
f'Parent source_type: {self.parent.source_type}, '
f'Your source_type: {self.source_type}')
)
slug_source_field = 'title'

11
apps/hadis/views_admin.py

@ -506,6 +506,17 @@ class AdminBookReferenceImageViewSet(ModelViewSet):
queryset = queryset.filter(book_reference_id=book_reference_id)
return queryset.order_by("order", "id")
@action(detail=False, methods=["post"])
def reorder(self, request):
image_ids = request.data.get("image_ids", []) or request.data.get("ids", [])
if not image_ids:
return Response({"error": "image_ids list is required"}, status=400)
for index, img_id in enumerate(image_ids, start=1):
BookReferenceImage.objects.filter(id=img_id).update(order=index)
return Response({"status": "success"})
class AdminBookReferenceDocumentViewSet(ModelViewSet):
serializer_class = AdminBookReferenceDocumentSerializer

Loading…
Cancel
Save