2022-03-31 17:19:49 +02:00
|
|
|
from rest_framework import viewsets
|
|
|
|
from rest_framework.permissions import IsAdminUser
|
2022-05-02 17:27:25 +02:00
|
|
|
from rest_framework.viewsets import GenericViewSet
|
|
|
|
from rest_framework.mixins import CreateModelMixin
|
|
|
|
from django.contrib.auth import get_user_model
|
2022-03-31 17:19:49 +02:00
|
|
|
|
|
|
|
from helpdesk.models import Ticket
|
2022-05-02 17:27:25 +02:00
|
|
|
from helpdesk.serializers import TicketSerializer, UserSerializer
|
2022-03-31 17:19:49 +02:00
|
|
|
|
|
|
|
|
|
|
|
class TicketViewSet(viewsets.ModelViewSet):
|
|
|
|
"""
|
|
|
|
A viewset that provides the standard actions to handle Ticket
|
|
|
|
"""
|
|
|
|
queryset = Ticket.objects.all()
|
|
|
|
serializer_class = TicketSerializer
|
|
|
|
permission_classes = [IsAdminUser]
|
|
|
|
|
|
|
|
def get_queryset(self):
|
|
|
|
tickets = Ticket.objects.all()
|
|
|
|
for ticket in tickets:
|
|
|
|
ticket.set_custom_field_values()
|
|
|
|
return tickets
|
|
|
|
|
|
|
|
def get_object(self):
|
|
|
|
ticket = super().get_object()
|
|
|
|
ticket.set_custom_field_values()
|
|
|
|
return ticket
|
2022-05-02 17:27:25 +02:00
|
|
|
|
|
|
|
|
|
|
|
class CreateUserView(CreateModelMixin, GenericViewSet):
|
|
|
|
queryset = get_user_model().objects.all()
|
|
|
|
serializer_class = UserSerializer
|