mirror of
https://github.com/daniviga/django-ram.git
synced 2025-08-04 21:27:49 +02:00
* Implement a customer manager for flatpages * Implement public manager for private objects * Add support for unpublished objects in roster and consist * Add support for unpublished objects in bookshelf * Update filtering on REST views * Use uuid in urls.py * Increment version
45 lines
1.3 KiB
Python
45 lines
1.3 KiB
Python
from rest_framework.generics import ListAPIView, RetrieveAPIView
|
|
from rest_framework.schemas.openapi import AutoSchema
|
|
|
|
from roster.models import RollingStock
|
|
from roster.serializers import RollingStockSerializer
|
|
|
|
|
|
class RosterList(ListAPIView):
|
|
serializer_class = RollingStockSerializer
|
|
|
|
def get_queryset(self):
|
|
return RollingStock.objects.get_published(self.request.user)
|
|
|
|
|
|
class RosterGet(RetrieveAPIView):
|
|
serializer_class = RollingStockSerializer
|
|
lookup_field = "uuid"
|
|
schema = AutoSchema(operation_id_base="retrieveRollingStockByUUID")
|
|
|
|
def get_queryset(self):
|
|
return RollingStock.objects.get_published(self.request.user)
|
|
|
|
|
|
class RosterAddress(ListAPIView):
|
|
serializer_class = RollingStockSerializer
|
|
schema = AutoSchema(operation_id_base="retrieveRollingStockByAddress")
|
|
|
|
def get_queryset(self):
|
|
address = self.kwargs["address"]
|
|
return RollingStock.objects.get_published(self.request.user).filter(
|
|
address=address
|
|
)
|
|
|
|
|
|
class RosterClass(ListAPIView):
|
|
serializer_class = RollingStockSerializer
|
|
|
|
schema = AutoSchema(operation_id_base="retrieveRollingStockByClass")
|
|
|
|
def get_queryset(self):
|
|
_class = self.kwargs["class"]
|
|
return RollingStock.objects.get_published(self.request.user).filter(
|
|
rolling_class__identifier=_class
|
|
)
|