From 090813065900220f1e3b05bb754eeed14e5b7edf Mon Sep 17 00:00:00 2001
From: Bach Dániel <bd@ik.bme.hu>
Date: Wed, 16 Jul 2014 14:56:36 +0200
Subject: [PATCH] dashboard: simplify AclUpdateViews

---
 circle/dashboard/views.py | 47 ++++++++++++-----------------------------------
 1 file changed, 12 insertions(+), 35 deletions(-)

diff --git a/circle/dashboard/views.py b/circle/dashboard/views.py
index b404fb6..2e0e2c0 100644
--- a/circle/dashboard/views.py
+++ b/circle/dashboard/views.py
@@ -1135,49 +1135,26 @@ class TemplateAclUpdateView(AclUpdateView):
     model = InstanceTemplate
 
     def post(self, request, *args, **kwargs):
+        retval = super(TemplateAclUpdateView,
+                       self).post(request, *args, **kwargs)
         template = self.get_object()
-        if not (template.has_level(request.user, "owner") or
-                getattr(template, 'owner', None) == request.user):
-            logger.warning('Tried to set permissions of %s by non-owner %s.',
-                           unicode(template), unicode(request.user))
-            raise PermissionDenied()
-
-        name = request.POST['perm-new-name']
-        if (User.objects.filter(username=name).count() +
-                Group.objects.filter(name=name).count() < 1
-                and len(name) > 0):
-            warning(request, _('User or group "%s" not found.') % name)
-        else:
-            self.set_levels(request, template)
-            self.add_levels(request, template)
-            self.remove_levels(request, template)
 
-            post_for_disk = request.POST.copy()
-            post_for_disk['perm-new'] = 'user'
-            request.POST = post_for_disk
-            for d in template.disks.all():
-                self.set_levels(request, d)
-                self.add_levels(request, d)
-                self.remove_levels(request, d)
+        post_for_disk = request.POST.copy()
+        post_for_disk['perm-new'] = 'user'
+        request.POST = post_for_disk
+        for d in template.disks.all():
+            self.set_levels(request, d)
+            self.add_levels(request, d)
+            self.remove_levels(request, d)
 
-        return redirect(template)
+        return retval
 
 
 class GroupAclUpdateView(AclUpdateView):
     model = Group
 
-    def post(self, request, *args, **kwargs):
-        instance = self.get_object().profile
-        if not (instance.has_level(request.user, "owner") or
-                getattr(instance, 'owner', None) == request.user):
-            logger.warning('Tried to set permissions of %s by non-owner %s.',
-                           unicode(instance), unicode(request.user))
-            raise PermissionDenied()
-
-        self.set_levels(request, instance)
-        self.add_levels(request, instance)
-        return redirect(reverse("dashboard.views.group-detail",
-                                kwargs=self.kwargs))
+    def get_object(self):
+        return super(GroupAclUpdateView, self).get_object().profile
 
 
 class TemplateChoose(LoginRequiredMixin, TemplateView):
--
libgit2 0.26.0