Exemple #1
0
 def get_object(self):
     try:
         user = userlookup.lookup_user(self.kwargs['identifier'])
     except User.DoesNotExist:
         raise Http404()
     self.check_object_permissions(self.request, user)
     return user
Exemple #2
0
 def to_internal_value(self, identifier):
     if identifier:
         try:
             return userlookup.lookup_user(identifier)
         except User.DoesNotExist:
             self.fail('invalid-user')
     else:
         return None
Exemple #3
0
 def get_object(self):
     if not self.team.user_is_member(self.request.user):
         raise PermissionDenied()
     try:
         user = userlookup.lookup_user(self.kwargs['identifier'])
     except User.DoesNotExist:
         raise Http404()
     return get_object_or_404(self.team.members, user=user)
Exemple #4
0
 def get_queryset(self):
     try:
         user = userlookup.lookup_user(self.kwargs['identifier'])
     except User.DoesNotExist:
         raise Http404()
     if not auth.permissions.can_view_activity(user, self.request.user):
         raise Http404()
     if not user.is_active:
         raise Http404()
     return ActivityRecord.objects.for_user(user)
Exemple #5
0
 def parse_value(self, name, value):
     if name in ('before', 'after'):
         try:
             return timezone.make_naive(dateutil.parser.parse(value),
                                        timezone.get_default_timezone())
         except ValueError:
             # Case where there is no time zone
             return dateutil.parser.parse(value)
     elif name == 'user':
         return userlookup.lookup_user(value)
     else:
         return value
Exemple #6
0
 def filter_queryset(self, qs):
     params = self.request.query_params
     if 'user' in params:
         try:
             qs = qs.filter(user=userlookup.lookup_user(params['user']))
         except User.DoesNotExist:
             return qs.none()
     if 'status' in params:
         try:
             status_id = Application.STATUSES_IDS[params['status']]
             qs = qs.filter(status=status_id)
         except KeyError:
             qs = qs.none()
     if 'after' in params:
         qs = qs.filter(created__gte=timestamp_to_datetime(params['after']))
     if 'before' in params:
         qs = qs.filter(created__lt=timestamp_to_datetime(params['before']))
     return qs
Exemple #7
0
 def filter_queryset(self, qs):
     params = self.request.query_params
     if 'assignee' in params:
         try:
             qs = qs.filter(
                 assignee=userlookup.lookup_user(params['assignee'])
             )
         except User.DoesNotExist:
             return qs.none()
     if 'priority' in params:
         qs = qs.filter(priority=params['priority'])
     if 'language' in params:
         qs = qs.filter(language=params['language'])
     if 'type' in params:
         try:
             qs = qs.filter(type=Task.TYPE_IDS[params['type']])
         except KeyError:
             qs = qs.none()
     if 'video_id' in params:
         qs = qs.filter(team_video__video__video_id=params['video_id'])
     if 'completed' in params:
         qs = qs.filter(completed__isnull=False)
     if 'completed-after' in params:
         try:
             qs = qs.filter(completed__gte=timestamp_to_datetime(
                 params['completed-after']))
         except (TypeError, ValueError):
             qs = qs.none()
     if 'completed-before' in params:
         try:
             qs = qs.filter(completed__lt=timestamp_to_datetime(
                 params['completed-before']))
         except (TypeError, ValueError):
             qs = qs.none()
     if 'open' in params:
         qs = qs.filter(completed__isnull=True)
     return qs
Exemple #8
0
 def get_queryset(self):
     try:
         user = userlookup.lookup_user(self.kwargs['identifier'])
     except User.DoesNotExist:
         raise Http404()
     return ActivityRecord.objects.for_user(user)