feat: added comment function and new home page

This commit is contained in:
2025-05-03 12:06:04 +02:00
parent 828b39a449
commit 15f980d0b5
5 changed files with 156 additions and 24 deletions

View File

@@ -1,11 +1,19 @@
from django.shortcuts import get_object_or_404, render
from django.views.generic import ListView
from django.views.generic import ListView, TemplateView
from django.views.generic.edit import CreateView, UpdateView
from django.urls import reverse_lazy
from django.views.generic.detail import DetailView
from django.views.generic.edit import FormMixin
from .forms import CommentForm
from django.urls import reverse
from .models import Ticket
class HomeView(TemplateView):
template_name = "ticketsystem/home.html"
class TicketListView(ListView):
model = Ticket
template_name = "ticketsystem/index.html"
@@ -27,10 +35,30 @@ class TicketListView(ListView):
return context
def detail(request, pk):
ticket = get_object_or_404(Ticket, pk=pk)
return render(request, "ticketsystem/detail.html", {"ticket": ticket})
class TicketDetailView(FormMixin, DetailView):
model = Ticket # <- das ist wichtig!
template_name = "ticketsystem/detail.html"
context_object_name = "ticket"
form_class = CommentForm
def get_success_url(self):
return reverse("detail", kwargs={"pk": self.object.pk})
def post(self, request, *args, **kwargs):
self.object = self.get_object()
form = self.get_form()
if form.is_valid():
comment = form.save(commit=False)
comment.ticket = self.object
comment.author = request.user
comment.save()
return super().form_valid(form)
return self.form_invalid(form)
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context["form"] = self.get_form()
return context
class TicketCreateView(CreateView):
model = Ticket