mirror of
https://github.com/ae-utbm/sith.git
synced 2026-09-07 13:04:33 +00:00
Use partials everywhere
This commit is contained in:
+11
-28
@@ -26,6 +26,7 @@ from django.contrib.auth.mixins import PermissionRequiredMixin
|
||||
from django.db.models import Exists, OuterRef
|
||||
from django.shortcuts import get_object_or_404
|
||||
from django.urls import reverse, reverse_lazy
|
||||
from django.utils.functional import cached_property
|
||||
from django.views.generic import (
|
||||
CreateView,
|
||||
DeleteView,
|
||||
@@ -54,12 +55,9 @@ class UECommentCreateView(PermissionRequiredMixin, FragmentMixin, CreateView):
|
||||
permission_required = "pedagogy.add_uecomment"
|
||||
object = None # Avoid initialisation bug with FragmentMixin
|
||||
|
||||
@property
|
||||
@cached_property
|
||||
def ue(self):
|
||||
if hasattr(self, "_ue"):
|
||||
return self._ue
|
||||
self._ue = get_object_or_404(UE, id=self.kwargs.get("ue_id"))
|
||||
return self._ue
|
||||
return get_object_or_404(UE, id=self.kwargs.get("ue_id"))
|
||||
|
||||
def has_permission(self):
|
||||
if self.ue.has_user_already_commented(self.request.user):
|
||||
@@ -112,24 +110,6 @@ class UEDetailView(
|
||||
}
|
||||
|
||||
|
||||
class UECommentDetailView(PermissionRequiredMixin, DetailView):
|
||||
model = UEComment
|
||||
pk_url_kwarg = "comment_id"
|
||||
template_name = "pedagogy/fragments/ue_comment.jinja"
|
||||
permission_required = "pedagogy.view_ue"
|
||||
context_object_name = "comment"
|
||||
|
||||
def get_queryset(self):
|
||||
return (
|
||||
super().get_queryset().viewable_by(self.request.user).annotate_is_reported()
|
||||
)
|
||||
|
||||
def get_context_data(self, **kwargs):
|
||||
return super().get_context_data(**kwargs) | {
|
||||
"ue": getattr(self.object, "ue", None)
|
||||
}
|
||||
|
||||
|
||||
class UECommentUpdateView(PermissionOrAuthorRequiredMixin, AllowFragment, UpdateView):
|
||||
"""Allow edit of a given comment."""
|
||||
|
||||
@@ -155,7 +135,7 @@ class UECommentUpdateView(PermissionOrAuthorRequiredMixin, AllowFragment, Update
|
||||
}
|
||||
|
||||
def get_success_url(self):
|
||||
return reverse("pedagogy:comment_detail", kwargs={"comment_id": self.object.id})
|
||||
return reverse("pedagogy:ue_detail", kwargs={"ue_id": self.object.ue.id})
|
||||
|
||||
|
||||
class UECommentDeleteView(PermissionOrAuthorRequiredMixin, AllowFragment, DeleteView):
|
||||
@@ -173,7 +153,7 @@ class UECommentDeleteView(PermissionOrAuthorRequiredMixin, AllowFragment, Delete
|
||||
return response
|
||||
|
||||
def get_success_url(self):
|
||||
return reverse("pedagogy:comment_detail", kwargs={"comment_id": self.object.id})
|
||||
return reverse("pedagogy:ue_detail", kwargs={"ue_id": self.object.ue.id})
|
||||
|
||||
|
||||
class UEGuideView(PermissionRequiredMixin, TemplateView):
|
||||
@@ -195,6 +175,10 @@ class UECommentReportCreateView(PermissionRequiredMixin, AllowFragment, CreateVi
|
||||
self.ue_comment = get_object_or_404(UEComment, pk=kwargs["comment_id"])
|
||||
return super().dispatch(request, *args, **kwargs)
|
||||
|
||||
@cached_property
|
||||
def ue_detail_url(self):
|
||||
return reverse("pedagogy:ue_detail", kwargs={"ue_id": self.ue_comment.ue.id})
|
||||
|
||||
def get_form_kwargs(self):
|
||||
kwargs = super().get_form_kwargs()
|
||||
kwargs["reporter_id"] = self.request.user.id
|
||||
@@ -204,6 +188,7 @@ class UECommentReportCreateView(PermissionRequiredMixin, AllowFragment, CreateVi
|
||||
def get_context_data(self, **kwargs):
|
||||
return super().get_context_data() | {
|
||||
"comment_id": self.ue_comment.id,
|
||||
"ue_detail_url": self.ue_detail_url,
|
||||
}
|
||||
|
||||
def form_valid(self, form):
|
||||
@@ -224,9 +209,7 @@ class UECommentReportCreateView(PermissionRequiredMixin, AllowFragment, CreateVi
|
||||
return resp
|
||||
|
||||
def get_success_url(self):
|
||||
return reverse(
|
||||
"pedagogy:comment_detail", kwargs={"comment_id": self.ue_comment.id}
|
||||
)
|
||||
return self.ue_detail_url
|
||||
|
||||
|
||||
class UEModerationFormView(PermissionRequiredMixin, FormView):
|
||||
|
||||
Reference in New Issue
Block a user