fix question edit permissions

This commit is contained in:
Ross
2024-09-07 11:03:44 +01:00
parent ebf215b3d5
commit 4d8d6b2a06
7 changed files with 73 additions and 5 deletions
+14 -1
View File
@@ -3625,9 +3625,22 @@ class UpdateQuestionMixin(RedirectMixin, RevisionMixin, UpdateView):
def get_form_kwargs(self):
kwargs = super().get_form_kwargs()
kwargs.update({"user": self.request.user})
return kwargs
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context["question"] = context["object"]
return context
# Do permission checks here
obj = context["object"]
if (
self.request.user.groups.filter(name="long_checker").exists()
or self.request.user.is_superuser
):
return context
if self.request.user in obj.get_author_objects():
return context
raise PermissionDenied() # or Http404