add generation_pdf pdf , fix 500 error , install reportlab
This commit is contained in:
@@ -1,16 +1,19 @@
|
||||
# django core
|
||||
from django.http import HttpResponse
|
||||
from django_core.mixins import BaseViewSetMixin
|
||||
|
||||
# swagger
|
||||
from drf_spectacular.utils import extend_schema
|
||||
|
||||
# rest framework
|
||||
from rest_framework.permissions import AllowAny
|
||||
from rest_framework.permissions import IsAuthenticated
|
||||
from rest_framework.response import Response
|
||||
from rest_framework.views import APIView
|
||||
from rest_framework.viewsets import ReadOnlyModelViewSet
|
||||
|
||||
# core apps
|
||||
from core.apps.evaluation.models import VehicleModel
|
||||
from core.apps.evaluation.serializers import vehicle as serialziers
|
||||
from core.apps.evaluation.serializers import vehicle as serialziers, VehicleApplicationSerializer
|
||||
from core.utils.generation_pdf import PDFService
|
||||
|
||||
|
||||
@extend_schema(tags=["Vehicle"])
|
||||
@@ -27,3 +30,19 @@ class VehicleView(BaseViewSetMixin, ReadOnlyModelViewSet):
|
||||
"retrieve": serialziers.RetrieveVehicleSerializer,
|
||||
"create": serialziers.CreateVehicleSerializer,
|
||||
}
|
||||
|
||||
|
||||
@extend_schema(tags=['GenerationDocument'], request=VehicleApplicationSerializer)
|
||||
class GeneratePDFView(APIView):
|
||||
permission_classes = [IsAuthenticated]
|
||||
|
||||
def post(self, request):
|
||||
serializer = VehicleApplicationSerializer(data=request.data)
|
||||
if not serializer.is_valid():
|
||||
return Response(serializer.errors, status=400)
|
||||
|
||||
pdf_buffer = PDFService.generate_vehicle_pdf(serializer.validated_data)
|
||||
|
||||
response = HttpResponse(pdf_buffer, content_type='application/pdf')
|
||||
response['Content-Disposition'] = 'attachment; filename="ariza.pdf"'
|
||||
return response
|
||||
|
||||
Reference in New Issue
Block a user