Skip to content
Snippets Groups Projects
Commit 9c28a82e authored by Yoann Schneider's avatar Yoann Schneider :tennis: Committed by Bastien Abadie
Browse files

Remove internal user restriction on TranscriptionEntity creation

parent d205bbea
No related branches found
No related tags found
1 merge request!1708Remove internal user restriction on TranscriptionEntity creation
......@@ -263,12 +263,6 @@ class TranscriptionEntitySerializer(serializers.ModelSerializer):
if not data['transcription']:
errors['transcription'] = ['invalid UUID or Corpus write-access is forbidden']
user = self.context['request'].user
if data.get('worker_version') and not (user.is_authenticated and user.is_internal):
errors['worker_version_id'] = [
'An internal user is required to link an entity to a transcription with a worker version.'
]
worker_run = data.get('worker_run')
if worker_run is not None:
data['worker_version'] = WorkerVersion(id=worker_run.version_id)
......
......@@ -499,8 +499,8 @@ class TestEntitiesAPI(FixtureAPITestCase):
self.assertEqual(response.status_code, status.HTTP_403_FORBIDDEN)
def test_create_transcription_entity_worker_version(self):
self.client.force_login(self.internal_user)
with self.assertNumQueries(10):
self.client.force_login(self.user)
with self.assertNumQueries(12):
response = self.client.post(
reverse('api:transcription-entity-create', kwargs={'pk': str(self.transcription.id)}),
data=self.tr_entities_version_sample,
......@@ -515,17 +515,22 @@ class TestEntitiesAPI(FixtureAPITestCase):
)
self.assertEqual(transcription_entity.worker_version, self.worker_version_1)
def test_create_transcription_entity_worker_version_requires_internal(self):
self.client.force_login(self.user)
response = self.client.post(
reverse('api:transcription-entity-create', kwargs={'pk': str(self.transcription.id)}),
data=self.tr_entities_version_sample,
format='json'
def test_create_transcription_entity_worker_version_internal_user(self):
self.client.force_login(self.internal_user)
with self.assertNumQueries(10):
response = self.client.post(
reverse('api:transcription-entity-create', kwargs={'pk': str(self.transcription.id)}),
data=self.tr_entities_version_sample,
format='json'
)
self.assertEqual(response.status_code, status.HTTP_201_CREATED)
transcription_entity = TranscriptionEntity.objects.get(
transcription=self.transcription,
entity=self.entity,
offset=self.tr_entities_sample['offset'],
length=self.tr_entities_sample['length']
)
self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST)
self.assertDictEqual(response.json(), {
"worker_version_id": ['An internal user is required to link an entity to a transcription with a worker version.']
})
self.assertEqual(transcription_entity.worker_version, self.worker_version_1)
def test_create_transcription_entity_worker_run(self):
self.client.force_login(self.user)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment