Beispiel #1
0
    def get(self, request, pk, version, format=None):
        try:
            partner = Partner.even_not_available.get(pk=pk)
        except Partner.DoesNotExist:
            message = "Couldn't find a partner with this ID."
            return Response(message, status=status.HTTP_404_NOT_FOUND)

        # We're ignoring streams here, because the API operates at the partner
        # level. This is fine for the use case we built it for (Wikilink tool)
        valid_partner_auths = get_valid_partner_authorizations(pk)
        users = User.objects.filter(authorizations__in=valid_partner_auths).distinct()

        serializer = UserSerializer(users, many=True)
        return Response(serializer.data)
Beispiel #2
0
    def get(self, request, pk, version, format=None):
        try:
            partner = Partner.even_not_available.get(pk=pk)
        except Partner.DoesNotExist:
            message = "Couldn't find a partner with this ID."
            return Response(message, status=status.HTTP_404_NOT_FOUND)

        # We're ignoring streams here, because the API operates at the partner
        # level. This is fine for the use case we built it for (Wikilink tool)
        valid_partner_auths = get_valid_partner_authorizations(pk)

        # For Bundle partners, get auths for users who logged in within the last 2 weeks.
        if partner.authorization_method == partner.BUNDLE:
            valid_partner_auths = valid_partner_auths.filter(
                user__last_login__gt=timezone.now() - timedelta(weeks=2))

        users = User.objects.filter(
            authorizations__in=valid_partner_auths).distinct()

        serializer = UserSerializer(users, many=True)
        return Response(serializer.data)