diff --git a/korrekturmanagementsystem/middleware.py b/korrekturmanagementsystem/middleware.py index 0a70be9..d5da1c6 100644 --- a/korrekturmanagementsystem/middleware.py +++ b/korrekturmanagementsystem/middleware.py @@ -12,9 +12,8 @@ class LoginRequiredMiddleware: ] def __call__(self, request): - if ( - not request.user.is_authenticated and - not any(request.path.startswith(str(url)) for url in self.login_exempt_urls) + if not request.user.is_authenticated and not any( + request.path.startswith(str(url)) for url in self.login_exempt_urls ): return HttpResponseRedirect(reverse_lazy("login")) - return self.get_response(request) \ No newline at end of file + return self.get_response(request) diff --git a/korrekturmanagementsystem/settings.py b/korrekturmanagementsystem/settings.py index 4c773ca..e61a383 100644 --- a/korrekturmanagementsystem/settings.py +++ b/korrekturmanagementsystem/settings.py @@ -48,7 +48,7 @@ MIDDLEWARE = [ "django.contrib.auth.middleware.AuthenticationMiddleware", "django.contrib.messages.middleware.MessageMiddleware", "django.middleware.clickjacking.XFrameOptionsMiddleware", - "korrekturmanagementsystem.middleware.LoginRequiredMiddleware" + "korrekturmanagementsystem.middleware.LoginRequiredMiddleware", ] ROOT_URLCONF = "korrekturmanagementsystem.urls" @@ -127,4 +127,4 @@ STATICFILES_DIRS = [BASE_DIR / "static"] DEFAULT_AUTO_FIELD = "django.db.models.BigAutoField" LOGIN_REDIRECT_URL = "/ticketsystem" -LOGOUT_REDIRECT_URL = "/accounts/login/" \ No newline at end of file +LOGOUT_REDIRECT_URL = "/accounts/login/" diff --git a/korrekturmanagementsystem/urls.py b/korrekturmanagementsystem/urls.py index a4d8a5b..d2623bf 100644 --- a/korrekturmanagementsystem/urls.py +++ b/korrekturmanagementsystem/urls.py @@ -21,5 +21,5 @@ from django.urls import include, path urlpatterns = [ path("ticketsystem/", include("ticketsystem.urls")), path("admin/", admin.site.urls), - path("accounts/", include('django.contrib.auth.urls')) + path("accounts/", include("django.contrib.auth.urls")), ] diff --git a/ticketsystem/urls.py b/ticketsystem/urls.py index ebfc0a4..50625df 100644 --- a/ticketsystem/urls.py +++ b/ticketsystem/urls.py @@ -6,7 +6,7 @@ from .views import ( TicketUpdateView, HomeView, AssignedTicketListView, - TicketDetailUpdateView + TicketDetailUpdateView, ) urlpatterns = [ @@ -15,7 +15,7 @@ urlpatterns = [ # /ticketsystem/tickets path("tickets", TicketListView.as_view(), name="ticket-list"), # /ticketsystem/detail/ - path('/', TicketDetailUpdateView.as_view(), name='detail'), + path("/", TicketDetailUpdateView.as_view(), name="detail"), # /ticketsystem/new/ path("new/", TicketCreateView.as_view(), name="create"), path("/modify/", TicketUpdateView.as_view(), name="modify"), diff --git a/ticketsystem/views.py b/ticketsystem/views.py index 3501279..454988a 100644 --- a/ticketsystem/views.py +++ b/ticketsystem/views.py @@ -18,12 +18,14 @@ class HomeView(TemplateView): def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) - context.update({ - 'total_tickets': Ticket.objects.count(), - 'open_tickets': Ticket.objects.filter(status='open').count(), - 'closed_tickets': Ticket.objects.filter(status='closed').count(), - 'recent_tickets': Ticket.objects.order_by('-updated_at')[:5], - }) + context.update( + { + "total_tickets": Ticket.objects.count(), + "open_tickets": Ticket.objects.filter(status="open").count(), + "closed_tickets": Ticket.objects.filter(status="closed").count(), + "recent_tickets": Ticket.objects.order_by("-updated_at")[:5], + } + ) return context @@ -65,7 +67,7 @@ class TicketDetailUpdateView(UpdateView): comment_form_class = CommentForm 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): self.ticket = self.get_object() @@ -84,8 +86,8 @@ class TicketDetailUpdateView(UpdateView): def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) # Kommentarformular hinzufügen - if 'comment_form' not in context: - context['comment_form'] = self.comment_form_class() + if "comment_form" not in context: + context["comment_form"] = self.comment_form_class() return context def form_valid(self, form): @@ -120,15 +122,17 @@ class TicketDetailUpdateView(UpdateView): ) if form.changed_data: - messages.success(self.request, - f"Ticket erfolgreich aktualisiert. Geänderte Felder: {', '.join(form.changed_data)}") + messages.success( + self.request, + f"Ticket erfolgreich aktualisiert. Geänderte Felder: {', '.join(form.changed_data)}", + ) return response def post(self, request, *args, **kwargs): 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 comment_form = self.comment_form_class(request.POST) if comment_form.is_valid(): @@ -157,9 +161,9 @@ class AssignedTicketListView(LoginRequiredMixin, ListView): ordering = ["-created_at"] def get_queryset(self): - return Ticket.objects.filter( - assigned_to=self.request.user - ).exclude(status="closed") # oder "geschlossen", je nach Wahl + return Ticket.objects.filter(assigned_to=self.request.user).exclude( + status="closed" + ) # oder "geschlossen", je nach Wahl class TicketCreateView(CreateView): @@ -169,11 +173,11 @@ class TicketCreateView(CreateView): def form_valid(self, form): form.instance.created_by = self.request.user - form.instance.status = 'open' + form.instance.status = "open" return super().form_valid(form) 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):