From 3ddc0ec5fa17105f03497e1cb5cd879bb3684085 Mon Sep 17 00:00:00 2001 From: Jonathan Weth <git@jonathanweth.de> Date: Mon, 2 Aug 2021 20:01:46 +0200 Subject: [PATCH] Fix get_form_kwargs --- aleksis/apps/resint/rules.py | 3 ++- aleksis/apps/resint/views.py | 17 +++++++++-------- pyproject.toml | 2 +- 3 files changed, 12 insertions(+), 10 deletions(-) diff --git a/aleksis/apps/resint/rules.py b/aleksis/apps/resint/rules.py index bed4cd4..326dff2 100644 --- a/aleksis/apps/resint/rules.py +++ b/aleksis/apps/resint/rules.py @@ -74,7 +74,8 @@ add_perm("resint.view_posters_rule", view_posters_predicate) # Upload poster upload_poster_predicate = view_posters_predicate & ( - has_global_perm("resint.add_poster") | has_any_object("resint.upload_poster_to_group", PosterGroup) + has_global_perm("resint.add_poster") + | has_any_object("resint.upload_poster_to_group", PosterGroup) ) add_perm("resint.upload_poster_rule", upload_poster_predicate) diff --git a/aleksis/apps/resint/views.py b/aleksis/apps/resint/views.py index d9cb28c..d2e16ee 100644 --- a/aleksis/apps/resint/views.py +++ b/aleksis/apps/resint/views.py @@ -88,7 +88,14 @@ class PosterListView(PermissionRequiredMixin, ListView): return context -class PosterUploadView(PermissionRequiredMixin, AdvancedCreateView): +class RequestMixin: + def get_form_kwargs(self) -> Dict[str, Any]: + kwargs = super().get_form_kwargs() + kwargs["request"] = self.request + return kwargs + + +class PosterUploadView(RequestMixin, PermissionRequiredMixin, AdvancedCreateView): """Upload a new poster.""" model = Poster @@ -98,11 +105,8 @@ class PosterUploadView(PermissionRequiredMixin, AdvancedCreateView): form_class = PosterUploadForm permission_required = "resint.upload_poster_rule" - def get_form_kwargs(self) -> Dict[str, Any]: - return {"request": self.request} - -class PosterEditView(PermissionRequiredMixin, AdvancedEditView): +class PosterEditView(RequestMixin, PermissionRequiredMixin, AdvancedEditView): """Edit an uploaded poster.""" model = Poster @@ -112,9 +116,6 @@ class PosterEditView(PermissionRequiredMixin, AdvancedEditView): form_class = PosterUploadForm permission_required = "resint.edit_poster_rule" - def get_form_kwargs(self) -> Dict[str, Any]: - return {"request": self.request} - class PosterDeleteView(PermissionRequiredMixin, AdvancedDeleteView): """Delete an uploaded poster.""" diff --git a/pyproject.toml b/pyproject.toml index de77316..c80197c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "AlekSIS-App-Resint" -version = "2.0a3" +version = "2.0a4" packages = [ { include = "aleksis" } ] -- GitLab