Skip to content
Snippets Groups Projects
Commit dcc6b32a authored by Valentin Rigal's avatar Valentin Rigal
Browse files

Avoid a request resulting in a stale read when creating a corpus

parent 15b64d7a
No related branches found
No related tags found
1 merge request!1182Avoid a request resulting in a stale read when creating a corpus
......@@ -2,6 +2,7 @@ from collections import defaultdict
from uuid import UUID
from django.contrib.gis.geos import LinearRing
from django.db import transaction
from django.utils.functional import cached_property
from rest_framework import serializers
from rest_framework.exceptions import ValidationError
......@@ -123,6 +124,7 @@ class CorpusSerializer(serializers.ModelSerializer):
raise ValidationError(['Only admin users are allowed to edit the public attribute on a corpus.'])
return public
@transaction.atomic
def create(self, validated_data):
corpus = Corpus.objects.create(**validated_data)
corpus.memberships.create(
......@@ -130,6 +132,9 @@ class CorpusSerializer(serializers.ModelSerializer):
level=Role.Admin.value
)
corpus.create_default_types()
# Cheat annotating corpus to avoid a stale read when serializing it
corpus.access_level = Role.Admin.value
corpus.authorized_users = 1
return corpus
......
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