fix: reformatted with black
This commit is contained in:
@@ -12,9 +12,8 @@ class LoginRequiredMiddleware:
|
|||||||
]
|
]
|
||||||
|
|
||||||
def __call__(self, request):
|
def __call__(self, request):
|
||||||
if (
|
if not request.user.is_authenticated and not any(
|
||||||
not request.user.is_authenticated and
|
request.path.startswith(str(url)) for url in self.login_exempt_urls
|
||||||
not any(request.path.startswith(str(url)) for url in self.login_exempt_urls)
|
|
||||||
):
|
):
|
||||||
return HttpResponseRedirect(reverse_lazy("login"))
|
return HttpResponseRedirect(reverse_lazy("login"))
|
||||||
return self.get_response(request)
|
return self.get_response(request)
|
||||||
|
|||||||
@@ -48,7 +48,7 @@ MIDDLEWARE = [
|
|||||||
"django.contrib.auth.middleware.AuthenticationMiddleware",
|
"django.contrib.auth.middleware.AuthenticationMiddleware",
|
||||||
"django.contrib.messages.middleware.MessageMiddleware",
|
"django.contrib.messages.middleware.MessageMiddleware",
|
||||||
"django.middleware.clickjacking.XFrameOptionsMiddleware",
|
"django.middleware.clickjacking.XFrameOptionsMiddleware",
|
||||||
"korrekturmanagementsystem.middleware.LoginRequiredMiddleware"
|
"korrekturmanagementsystem.middleware.LoginRequiredMiddleware",
|
||||||
]
|
]
|
||||||
|
|
||||||
ROOT_URLCONF = "korrekturmanagementsystem.urls"
|
ROOT_URLCONF = "korrekturmanagementsystem.urls"
|
||||||
@@ -127,4 +127,4 @@ STATICFILES_DIRS = [BASE_DIR / "static"]
|
|||||||
DEFAULT_AUTO_FIELD = "django.db.models.BigAutoField"
|
DEFAULT_AUTO_FIELD = "django.db.models.BigAutoField"
|
||||||
|
|
||||||
LOGIN_REDIRECT_URL = "/ticketsystem"
|
LOGIN_REDIRECT_URL = "/ticketsystem"
|
||||||
LOGOUT_REDIRECT_URL = "/accounts/login/"
|
LOGOUT_REDIRECT_URL = "/accounts/login/"
|
||||||
|
|||||||
@@ -21,5 +21,5 @@ from django.urls import include, path
|
|||||||
urlpatterns = [
|
urlpatterns = [
|
||||||
path("ticketsystem/", include("ticketsystem.urls")),
|
path("ticketsystem/", include("ticketsystem.urls")),
|
||||||
path("admin/", admin.site.urls),
|
path("admin/", admin.site.urls),
|
||||||
path("accounts/", include('django.contrib.auth.urls'))
|
path("accounts/", include("django.contrib.auth.urls")),
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ from .views import (
|
|||||||
TicketUpdateView,
|
TicketUpdateView,
|
||||||
HomeView,
|
HomeView,
|
||||||
AssignedTicketListView,
|
AssignedTicketListView,
|
||||||
TicketDetailUpdateView
|
TicketDetailUpdateView,
|
||||||
)
|
)
|
||||||
|
|
||||||
urlpatterns = [
|
urlpatterns = [
|
||||||
@@ -15,7 +15,7 @@ urlpatterns = [
|
|||||||
# /ticketsystem/tickets
|
# /ticketsystem/tickets
|
||||||
path("tickets", TicketListView.as_view(), name="ticket-list"),
|
path("tickets", TicketListView.as_view(), name="ticket-list"),
|
||||||
# /ticketsystem/detail/
|
# /ticketsystem/detail/
|
||||||
path('<int:pk>/', TicketDetailUpdateView.as_view(), name='detail'),
|
path("<int:pk>/", TicketDetailUpdateView.as_view(), name="detail"),
|
||||||
# /ticketsystem/new/
|
# /ticketsystem/new/
|
||||||
path("new/", TicketCreateView.as_view(), name="create"),
|
path("new/", TicketCreateView.as_view(), name="create"),
|
||||||
path("<int:pk>/modify/", TicketUpdateView.as_view(), name="modify"),
|
path("<int:pk>/modify/", TicketUpdateView.as_view(), name="modify"),
|
||||||
|
|||||||
@@ -18,12 +18,14 @@ class HomeView(TemplateView):
|
|||||||
|
|
||||||
def get_context_data(self, **kwargs):
|
def get_context_data(self, **kwargs):
|
||||||
context = super().get_context_data(**kwargs)
|
context = super().get_context_data(**kwargs)
|
||||||
context.update({
|
context.update(
|
||||||
'total_tickets': Ticket.objects.count(),
|
{
|
||||||
'open_tickets': Ticket.objects.filter(status='open').count(),
|
"total_tickets": Ticket.objects.count(),
|
||||||
'closed_tickets': Ticket.objects.filter(status='closed').count(),
|
"open_tickets": Ticket.objects.filter(status="open").count(),
|
||||||
'recent_tickets': Ticket.objects.order_by('-updated_at')[:5],
|
"closed_tickets": Ticket.objects.filter(status="closed").count(),
|
||||||
})
|
"recent_tickets": Ticket.objects.order_by("-updated_at")[:5],
|
||||||
|
}
|
||||||
|
)
|
||||||
return context
|
return context
|
||||||
|
|
||||||
|
|
||||||
@@ -65,7 +67,7 @@ class TicketDetailUpdateView(UpdateView):
|
|||||||
comment_form_class = CommentForm
|
comment_form_class = CommentForm
|
||||||
|
|
||||||
def get_success_url(self):
|
def get_success_url(self):
|
||||||
return reverse('detail', kwargs={'pk': self.object.pk})
|
return reverse("detail", kwargs={"pk": self.object.pk})
|
||||||
|
|
||||||
def dispatch(self, request, *args, **kwargs):
|
def dispatch(self, request, *args, **kwargs):
|
||||||
self.ticket = self.get_object()
|
self.ticket = self.get_object()
|
||||||
@@ -84,8 +86,8 @@ class TicketDetailUpdateView(UpdateView):
|
|||||||
def get_context_data(self, **kwargs):
|
def get_context_data(self, **kwargs):
|
||||||
context = super().get_context_data(**kwargs)
|
context = super().get_context_data(**kwargs)
|
||||||
# Kommentarformular hinzufügen
|
# Kommentarformular hinzufügen
|
||||||
if 'comment_form' not in context:
|
if "comment_form" not in context:
|
||||||
context['comment_form'] = self.comment_form_class()
|
context["comment_form"] = self.comment_form_class()
|
||||||
return context
|
return context
|
||||||
|
|
||||||
def form_valid(self, form):
|
def form_valid(self, form):
|
||||||
@@ -120,15 +122,17 @@ class TicketDetailUpdateView(UpdateView):
|
|||||||
)
|
)
|
||||||
|
|
||||||
if form.changed_data:
|
if form.changed_data:
|
||||||
messages.success(self.request,
|
messages.success(
|
||||||
f"Ticket erfolgreich aktualisiert. Geänderte Felder: {', '.join(form.changed_data)}")
|
self.request,
|
||||||
|
f"Ticket erfolgreich aktualisiert. Geänderte Felder: {', '.join(form.changed_data)}",
|
||||||
|
)
|
||||||
|
|
||||||
return response
|
return response
|
||||||
|
|
||||||
def post(self, request, *args, **kwargs):
|
def post(self, request, *args, **kwargs):
|
||||||
self.object = self.get_object() # Wichtig: object setzen für beide Fälle
|
self.object = self.get_object() # Wichtig: object setzen für beide Fälle
|
||||||
|
|
||||||
if 'comment_submit' in request.POST:
|
if "comment_submit" in request.POST:
|
||||||
# Kommentar absenden
|
# Kommentar absenden
|
||||||
comment_form = self.comment_form_class(request.POST)
|
comment_form = self.comment_form_class(request.POST)
|
||||||
if comment_form.is_valid():
|
if comment_form.is_valid():
|
||||||
@@ -157,9 +161,9 @@ class AssignedTicketListView(LoginRequiredMixin, ListView):
|
|||||||
ordering = ["-created_at"]
|
ordering = ["-created_at"]
|
||||||
|
|
||||||
def get_queryset(self):
|
def get_queryset(self):
|
||||||
return Ticket.objects.filter(
|
return Ticket.objects.filter(assigned_to=self.request.user).exclude(
|
||||||
assigned_to=self.request.user
|
status="closed"
|
||||||
).exclude(status="closed") # oder "geschlossen", je nach Wahl
|
) # oder "geschlossen", je nach Wahl
|
||||||
|
|
||||||
|
|
||||||
class TicketCreateView(CreateView):
|
class TicketCreateView(CreateView):
|
||||||
@@ -169,11 +173,11 @@ class TicketCreateView(CreateView):
|
|||||||
|
|
||||||
def form_valid(self, form):
|
def form_valid(self, form):
|
||||||
form.instance.created_by = self.request.user
|
form.instance.created_by = self.request.user
|
||||||
form.instance.status = 'open'
|
form.instance.status = "open"
|
||||||
return super().form_valid(form)
|
return super().form_valid(form)
|
||||||
|
|
||||||
def get_success_url(self):
|
def get_success_url(self):
|
||||||
return reverse('detail', kwargs={'pk': self.object.pk})
|
return reverse("detail", kwargs={"pk": self.object.pk})
|
||||||
|
|
||||||
|
|
||||||
class TicketUpdateView(LoginRequiredMixin, UpdateView):
|
class TicketUpdateView(LoginRequiredMixin, UpdateView):
|
||||||
|
|||||||
Reference in New Issue
Block a user