示例#1
0
文件: device.py 项目: tsupe/pretix
    def post(self, request, format=None):
        serializer = InitializationRequestSerializer(data=request.data)
        serializer.is_valid(raise_exception=True)

        try:
            device = Device.objects.get(
                initialization_token=serializer.validated_data.get('token'))
        except Device.DoesNotExist:
            raise ValidationError({'token': ['Unknown initialization token.']})

        if device.initialized:
            raise ValidationError({
                'token': ['This initialization token has already been used.']
            })

        device.initialized = now()
        device.hardware_brand = serializer.validated_data.get('hardware_brand')
        device.hardware_model = serializer.validated_data.get('hardware_model')
        device.software_brand = serializer.validated_data.get('software_brand')
        device.software_version = serializer.validated_data.get(
            'software_version')
        device.api_token = generate_api_token()
        device.save()

        device.log_action('pretix.device.initialized',
                          data=serializer.validated_data,
                          auth=device)

        serializer = DeviceSerializer(device)
        return Response(serializer.data)
示例#2
0
def device(organizer):
    return Device.objects.create(
        organizer=organizer,
        all_events=True,
        name='Foo',
        initialized=now(),
        api_token=generate_api_token()
    )
示例#3
0
文件: device.py 项目: tsupe/pretix
    def post(self, request, format=None):
        device = request.auth
        device.api_token = generate_api_token()
        device.save()
        device.log_action('pretix.device.keyroll', auth=device)

        serializer = DeviceSerializer(device)
        return Response(serializer.data)
示例#4
0
    def post(self, request, format=None):
        device = request.auth
        device.api_token = generate_api_token()
        device.save()
        device.log_action('pretix.device.keyroll', auth=device)

        serializer = DeviceSerializer(device)
        return Response(serializer.data)
示例#5
0
def device(organizer):
    return Device.objects.create(
        organizer=organizer,
        all_events=True,
        name='Foo',
        initialized=now(),
        api_token=generate_api_token()
    )
示例#6
0
def test_revoke_device(event, admin_user, admin_team, device, client):
    client.login(email='*****@*****.**', password='******')
    device.api_token = generate_api_token()
    device.initialized = now()
    device.save()

    client.get('/control/organizer/dummy/device/{}/revoke'.format(device.pk))
    client.post('/control/organizer/dummy/device/{}/revoke'.format(device.pk), {}, follow=True)
    device.refresh_from_db()
    assert device.api_token is None
示例#7
0
def test_revoke_device(event, admin_user, admin_team, device, client):
    client.login(email='*****@*****.**', password='******')
    with scopes_disabled():
        device.api_token = generate_api_token()
    device.initialized = now()
    device.save()

    client.get('/control/organizer/dummy/device/{}/revoke'.format(device.pk))
    client.post('/control/organizer/dummy/device/{}/revoke'.format(device.pk), {}, follow=True)
    device.refresh_from_db()
    assert device.revoked
示例#8
0
    def post(self, request, format=None):
        serializer = InitializationRequestSerializer(data=request.data)
        serializer.is_valid(raise_exception=True)

        try:
            device = Device.objects.get(initialization_token=serializer.validated_data.get('token'))
        except Device.DoesNotExist:
            raise ValidationError({'token': ['Unknown initialization token.']})

        if device.initialized:
            raise ValidationError({'token': ['This initialization token has already been used.']})

        device.initialized = now()
        device.hardware_brand = serializer.validated_data.get('hardware_brand')
        device.hardware_model = serializer.validated_data.get('hardware_model')
        device.software_brand = serializer.validated_data.get('software_brand')
        device.software_version = serializer.validated_data.get('software_version')
        device.api_token = generate_api_token()
        device.save()

        device.log_action('pretix.device.initialized', data=serializer.validated_data, auth=device)

        serializer = DeviceSerializer(device)
        return Response(serializer.data)