Exemple #1
0
 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()))
Exemple #2
0
 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
Exemple #3
0
 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
Exemple #4
0
 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)
     )
Exemple #5
0
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()
Exemple #6
0
 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']))
Exemple #7
0
 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)
Exemple #8
0
 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)
Exemple #9
0
 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)