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)
def device(organizer): return Device.objects.create( organizer=organizer, all_events=True, name='Foo', initialized=now(), api_token=generate_api_token() )
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)
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
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
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)