47 lines
1.6 KiB
Python
47 lines
1.6 KiB
Python
from django_core.mixins import BaseViewSetMixin
|
|
from drf_spectacular.utils import extend_schema
|
|
from rest_framework.permissions import AllowAny
|
|
from rest_framework.viewsets import ReadOnlyModelViewSet
|
|
from django_filters.rest_framework import DjangoFilterBackend
|
|
|
|
from core.apps.tickets.filters import TicketsFilter
|
|
from core.apps.tickets.models import TicketorderModel, TicketsModel
|
|
from core.apps.tickets.serializers.tickets import (
|
|
CreateTicketorderSerializer,
|
|
CreateTicketsSerializer,
|
|
ListTicketorderSerializer,
|
|
ListTicketsSerializer,
|
|
RetrieveTicketorderSerializer,
|
|
RetrieveTicketsSerializer,
|
|
)
|
|
|
|
|
|
@extend_schema(tags=["tickets"])
|
|
class TicketsView(BaseViewSetMixin, ReadOnlyModelViewSet):
|
|
queryset = TicketsModel.objects.all().order_by("-id")
|
|
serializer_class = ListTicketsSerializer
|
|
filterset_class = TicketsFilter
|
|
filter_backends = [DjangoFilterBackend]
|
|
permission_classes = [AllowAny]
|
|
|
|
action_permission_classes = {}
|
|
action_serializer_class = {
|
|
"list": ListTicketsSerializer,
|
|
"retrieve": RetrieveTicketsSerializer,
|
|
"create": CreateTicketsSerializer,
|
|
}
|
|
|
|
|
|
@extend_schema(tags=["ticketorder"])
|
|
class TicketorderView(BaseViewSetMixin, ReadOnlyModelViewSet):
|
|
queryset = TicketorderModel.objects.all()
|
|
serializer_class = ListTicketorderSerializer
|
|
permission_classes = [AllowAny]
|
|
|
|
action_permission_classes = {}
|
|
action_serializer_class = {
|
|
"list": ListTicketorderSerializer,
|
|
"retrieve": RetrieveTicketorderSerializer,
|
|
"create": CreateTicketorderSerializer,
|
|
}
|