From 9928686b1c2d970923ab4118eaf3f4f1774af41c Mon Sep 17 00:00:00 2001 From: Guba Sándor <guba.sandor@cloud.bme.hu> Date: Mon, 27 Oct 2014 13:00:50 +0100 Subject: [PATCH] views/graph: allow graph with vm.view_statistics perms --- circle/dashboard/views/graph.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/circle/dashboard/views/graph.py b/circle/dashboard/views/graph.py index fdd9699..472ea1e 100644 --- a/circle/dashboard/views/graph.py +++ b/circle/dashboard/views/graph.py @@ -26,7 +26,7 @@ from django.http import HttpResponse, Http404 from django.utils.translation import ugettext_lazy as _ from django.views.generic import View -from braces.views import LoginRequiredMixin, SuperuserRequiredMixin +from braces.views import LoginRequiredMixin from vm.models import Instance, Node @@ -142,22 +142,28 @@ class VmGraphView(GraphViewBase): base = VmMetric -class NodeGraphView(SuperuserRequiredMixin, GraphViewBase): +class NodeGraphView(GraphViewBase): model = Node base = NodeMetric def get_object(self, request, pk): + if not self.request.user.has_perm('vm.view_statistics'): + raise PermissionDenied() return self.model.objects.get(id=pk) -class NodeListGraphView(SuperuserRequiredMixin, GraphViewBase): +class NodeListGraphView(GraphViewBase): model = Node base = Metric def get_object(self, request, pk): + if not self.request.user.has_perm('vm.view_statistics'): + raise PermissionDenied() return Node.objects.filter(enabled=True) def get(self, request, metric, time, *args, **kwargs): + if not self.request.user.has_perm('vm.view_statistics'): + raise PermissionDenied() return super(NodeListGraphView, self).get(request, None, metric, time) -- libgit2 0.26.0