88from admin_api .serializers .event .presentation import (
99 PresentationAdminSerializer ,
1010 PresentationCategoryAdminSerializer ,
11+ PresentationModificationAuditPreviewAdminSerializer ,
1112 PresentationSpeakerAdminSerializer ,
1213 PresentationTypeAdminSerializer ,
1314)
@@ -53,7 +54,10 @@ class PresentationAdminViewSet(JsonSchemaViewSet, viewsets.ModelViewSet):
5354 filterset_class = PresentationAdminFilterSet
5455 queryset = Presentation .objects .get_all_nested_data ().select_related ("created_by" , "updated_by" , "deleted_by" )
5556
56- @extend_schema (tags = [OpenAPITag .ADMIN_EVENT_PRESENTATION ])
57+ @extend_schema (
58+ tags = [OpenAPITag .ADMIN_EVENT_PRESENTATION ],
59+ responses = {status .HTTP_200_OK : PresentationModificationAuditPreviewAdminSerializer },
60+ )
5761 @decorators .action (detail = True , methods = ["get" ], url_path = r"preview/(?P<audit_id>[\w-]+)" )
5862 def preview_modification_audit (
5963 self , request : request .Request , audit_id : str , * args : tuple , ** kwargs : dict
@@ -64,7 +68,7 @@ def preview_modification_audit(
6468 if not (audit := ModificationAudit .objects .filter_by_instance (self .get_object ()).filter (id = audit_id ).first ()):
6569 return response .Response (status = status .HTTP_404_NOT_FOUND )
6670
67- return response .Response (data = audit . get_applied_data ( serializer_class = self . get_serializer_class ()) )
71+ return response .Response (data = PresentationModificationAuditPreviewAdminSerializer ( instance = audit ). data )
6872
6973
7074@extend_schema_view (** {m : extend_schema (tags = [OpenAPITag .ADMIN_EVENT_PRESENTATION ]) for m in ADMIN_METHODS })
@@ -74,16 +78,3 @@ class PresentationSpeakerAdminViewSet(JsonSchemaViewSet, viewsets.ModelViewSet):
7478 permission_classes = [IsSuperUser ]
7579 filterset_class = PresentationSpeakerAdminFilterSet
7680 queryset = PresentationSpeaker .objects .filter_active ().select_related ("created_by" , "updated_by" , "deleted_by" )
77-
78- @extend_schema (tags = [OpenAPITag .ADMIN_EVENT_PRESENTATION ])
79- @decorators .action (detail = True , methods = ["get" ], url_path = r"preview/(?P<audit_id>[\w-]+)" )
80- def preview_modification_audit (
81- self , request : request .Request , audit_id : str , * args : tuple , ** kwargs : dict
82- ) -> response .Response :
83- if not UUID_V4_REGEX .match (audit_id ):
84- return response .Response (status = status .HTTP_404_NOT_FOUND )
85-
86- if not (audit := ModificationAudit .objects .filter_by_instance (self .get_object ()).filter (id = audit_id ).first ()):
87- return response .Response (status = status .HTTP_404_NOT_FOUND )
88-
89- return response .Response (data = audit .get_applied_data (serializer_class = self .get_serializer_class ()))
0 commit comments