diff --git a/api/serializers.py b/api/serializers.py index af729138..495b3dab 100644 --- a/api/serializers.py +++ b/api/serializers.py @@ -719,6 +719,15 @@ class EMailAddressSerializer(NamespacedHMSerializer): # PRINTER +class PrintOperationSerializer(NamespacedHMSerializer): + """Serialiaze abstract print operation + """ + class Meta: + model = printer.PrintOperation + extra_kwargs = { + 'api_url' : {'view_name': 'printoperation-detail'} + } + class PrintableJobSerializer(NamespacedHMSerializer): """Serialize the jobs to be printed """ diff --git a/api/urls.py b/api/urls.py index af84a7d7..706de31b 100644 --- a/api/urls.py +++ b/api/urls.py @@ -122,6 +122,7 @@ router.register_view(r'mailing/club', views.ClubMailingView), # PRINTER router.register_viewset(r'printer/printable-jobs', views.PrintableJobsViewSet, 'printablejobs') router.register_viewset(r'printer/history-jobs', views.HistoryJobsViewSet, 'historyjobs') +router.register_viewset(r'printer/printoperation', views.PrintOperationViewSet, 'printoperation') # TOKEN AUTHENTICATION router.register_view(r'token-auth', views.ObtainExpiringAuthToken) diff --git a/api/views.py b/api/views.py index 2e75fe66..f883def7 100644 --- a/api/views.py +++ b/api/views.py @@ -673,6 +673,13 @@ class ClubMailingView(generics.ListAPIView): serializer_class = serializers.MailingSerializer # PRINTER +class PrintOperationViewSet(viewsets.ModelViewSet): + """Exposes list of printoperations + """ + queryset = printer.PrintOperation.objects.all() + serializer_class = serializers.PrintOperationSerializer + + class PrintableJobsViewSet(viewsets.ModelViewSet): """Exposes list of printable jobs """ @@ -685,7 +692,7 @@ class HistoryJobsViewSet(viewsets.ModelViewSet): queryset = printer.JobWithOptions.objects.exclude(status='Printable').exclude(status='Pending') serializer_class = serializers.HistoryJobSerializer - + # TOKEN AUTHENTICATION