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