diff --git a/aleksis/apps/resint/rules.py b/aleksis/apps/resint/rules.py index bed4cd4cac14f4e83f382fe70353d0fd229a40ae..326dff271ef4136a92c0debe03552d94fddecc6d 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 d9cb28cd8cbda2b151f1929972071b1d640a7390..d2e16ee48c0e3f7f2dc7985e7d8fc9a9dbf71538 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 de773166f8241d5baa738c9559da4fc73517755f..c80197c18db51222782d433f194d546286882744 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" } ]