Merge branch 'bugfix' into 'master'

counter: fix error for stats 500 on PermissionDenied

See merge request ae/Sith!208
This commit is contained in:
Antoine Bartuccio 2019-06-14 16:32:34 +02:00
commit f922ab9272
2 changed files with 13 additions and 2 deletions

View File

@ -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): class BarmanConnectionTest(TestCase):
def setUp(self): def setUp(self):
call_command("populate") call_command("populate")

View File

@ -1522,11 +1522,11 @@ class CounterStatView(DetailView, CounterAdminMixin):
def dispatch(self, request, *args, **kwargs): def dispatch(self, request, *args, **kwargs):
try: try:
return super(CounterStatView, self).dispatch(request, *args, **kwargs) return super(CounterStatView, self).dispatch(request, *args, **kwargs)
except: except PermissionDenied:
if ( if (
request.user.is_root request.user.is_root
or request.user.is_board_member 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) return super(CanEditMixin, self).dispatch(request, *args, **kwargs)
raise PermissionDenied raise PermissionDenied