From 413cd27d40ffd6896c0b5aec59476ca4bcf7d5ca Mon Sep 17 00:00:00 2001 From: Oskar Hahn Date: Wed, 24 Oct 2012 12:45:40 +0200 Subject: [PATCH] fixed deletion of motions. #391 --- openslides/motion/views.py | 5 ++++- openslides/utils/views.py | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/openslides/motion/views.py b/openslides/motion/views.py index 9be63f5ed..9d6f78ed9 100644 --- a/openslides/motion/views.py +++ b/openslides/motion/views.py @@ -426,10 +426,13 @@ class MotionDelete(DeleteView): """ Delete one or more Motions. """ - permission_required = 'motion.can_manage_motion' model = Motion url = 'motion_overview' + def has_permission(self, request, *args, **kwargs): + self.kwargs = kwargs + return self.get_object().get_allowed_actions(request.user) + def get_object(self): self.motions = [] diff --git a/openslides/utils/views.py b/openslides/utils/views.py index be40f9062..8db35b162 100644 --- a/openslides/utils/views.py +++ b/openslides/utils/views.py @@ -80,14 +80,14 @@ class LoginMixin(object): class PermissionMixin(object): permission_required = NO_PERMISSION_REQUIRED - def has_permission(self, request): + def has_permission(self, request, *args, **kwargs): if self.permission_required == NO_PERMISSION_REQUIRED: return True else: return request.user.has_perm(self.permission_required) def dispatch(self, request, *args, **kwargs): - if not self.has_permission(request): + if not self.has_permission(request, *args, **kwargs): if not request.user.is_authenticated(): path = request.get_full_path() return HttpResponseRedirect("%s?next=%s" % (settings.LOGIN_URL,