from django.contrib.auth.mixins import LoginRequiredMixin from django.contrib import messages from django.urls import reverse_lazy from django.shortcuts import redirect from django.views import View from tickets.forms import TicketListForm from tickets.utils import SuperuserStaffRequiredMixin class TicketListCreateView(LoginRequiredMixin, SuperuserStaffRequiredMixin, View): def post(self, request): form = TicketListForm(request.user, request.POST) if form.is_valid(): new_ticket_list = form.save() messages.success(self.request, f'The "{new_ticket_list.name}" list has been successfully created in {new_ticket_list.group}.') else: messages.error(self.request, "Failed to create the list. Maybe you specified an already existing list name in the group?") return redirect(reverse_lazy('tickets:ticket_list_list'))