From f0524a9f004806af95e9483f3e7d094570f521ba Mon Sep 17 00:00:00 2001 From: Bartuccio Antoine Date: Tue, 28 May 2019 16:38:18 +0200 Subject: [PATCH] counter: fix error for stats 500 on PermissionDenied --- counter/tests.py | 11 +++++++++++ counter/views.py | 4 ++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/counter/tests.py b/counter/tests.py index 2814d7b7..1e956916 100644 --- a/counter/tests.py +++ b/counter/tests.py @@ -83,6 +83,17 @@ class CounterTest(TestCase): ) +class CounterStatsTest(TestCase): + def setUp(self): + call_command("populate") + self.counter = Counter.objects.filter(id=2).first() + + def test_unothorized_user_fail(self): + # Test with not login user + response = self.client.get(reverse("counter:stats", args=[self.counter.id])) + self.assertTrue(response.status_code == 403) + + class BarmanConnectionTest(TestCase): def setUp(self): call_command("populate") diff --git a/counter/views.py b/counter/views.py index e3f92058..c2e2d672 100644 --- a/counter/views.py +++ b/counter/views.py @@ -1522,11 +1522,11 @@ class CounterStatView(DetailView, CounterAdminMixin): def dispatch(self, request, *args, **kwargs): try: return super(CounterStatView, self).dispatch(request, *args, **kwargs) - except: + except PermissionDenied: if ( request.user.is_root or request.user.is_board_member - or self.object.is_owned_by(request.user) + or self.get_object().is_owned_by(request.user) ): return super(CanEditMixin, self).dispatch(request, *args, **kwargs) raise PermissionDenied