def _can_view(trip, request): """Leaders, chairs, and a trip WIMP can view this page.""" return (perm_utils.in_any_group(request.user, ['WIMP']) or (trip.wimp and request.participant == trip.wimp) or perm_utils.leader_on_trip(request.participant, trip, True) or perm_utils.chair_or_admin(request.user, trip.required_activity_enum()))
def in_groups(user): allow_superusers = kwargs.get('allow_superusers', True) if perm_utils.in_any_group(user, group_names, allow_superusers): return True if not redir_url: # No possible way to gain access, so 403 raise PermissionDenied return False
def in_groups(user): allow_superusers = kwargs.get('allow_superusers', True) if perm_utils.in_any_group(user, group_names, allow_superusers): return True if not redir_url: # No possible way to gain access, so 403 raise PermissionDenied return False
def _can_view(self, trip, request): """ Leaders, chairs, and a trip WIMP can view this page. """ return ( perm_utils.in_any_group(request.user, ['WIMP']) or (trip.wimp and request.participant == trip.wimp) or perm_utils.leader_on_trip(request.participant, trip, True) or perm_utils.chair_or_admin(request.user, trip.activity) )
def is_the_wimp(user, participant): """Return True if the user has any upcoming WIMP trips.""" if perm_utils.in_any_group(user, ['WIMP'], allow_superusers=True): return True if not participant: return False today = local_date() return participant.wimp_trips.filter(trip_date__gte=today).exists()
def test_anonymous_leaders(self): """ Anonymous users are never leaders, chairs, etc.. """ anon = AnonymousUser() self.assertFalse(perm_utils.is_leader(anon), False) self.assertFalse(perm_utils.is_chair(anon, enums.Activity.CLIMBING)) self.assertFalse(perm_utils.in_any_group(anon, ['group_name']))
def test_anonymous_leaders(self): """ Anonymous users are never leaders, chairs, etc.. """ anon = AnonymousUser() self.assertFalse(perm_utils.is_leader(anon), False) self.assertFalse(perm_utils.is_chair(anon, 'climbing'), False) self.assertFalse(perm_utils.in_any_group(anon, ['group_name']), False)
def test_not_the_wimp(self): self.assertFalse(perm_utils.in_any_group(self.user, ['WSC', 'WIMP'])) response = self.client.get('/trips/medical/') self.assertEqual(response.status_code, 403)
def test_anonymous_leaders(self): """ Anonymous users are never leaders, chairs, etc.. """ anon = AnonymousUser() self.assertFalse(perm_utils.is_leader(anon), False) self.assertFalse(perm_utils.is_chair(anon, 'climbing'), False) self.assertFalse(perm_utils.in_any_group(anon, ['group_name']), False)