Skip to content
Snippets Groups Projects
Commit 15f5878c authored by Bastien Abadie's avatar Bastien Abadie
Browse files

Merge branch 'fix-update-entity' into 'master'

Fix {,Partial}UpdateEntity

See merge request !637
parents f245e0be 30b571c2
No related branches found
No related tags found
1 merge request!637Fix {,Partial}UpdateEntity
......@@ -63,26 +63,27 @@ class EntitySerializer(EntityLightSerializer):
"""
Serialize an entity with its metadata
"""
corpus = CorpusLightSerializer()
children = EntityLinkSerializer(many=True)
parents = EntityLinkSerializer(many=True)
metas = serializers.HStoreField(child=serializers.CharField(), allow_null=True, required=False)
corpus = CorpusLightSerializer(read_only=True)
children = EntityLinkSerializer(many=True, read_only=True)
parents = EntityLinkSerializer(many=True, read_only=True)
class Meta:
model = Entity
fields = EntityLightSerializer.Meta.fields + (
'corpus',
'metas',
'children',
'parents'
)
read_only_fields = EntityLightSerializer.Meta.read_only_fields = (
'corpus',
'children',
'parents',
)
def validate(self, data):
moderator = self.context['request'].user if data['validated'] else None
return {
'validated': data['validated'],
'moderator': moderator
}
if data.get('validated'):
data['moderator'] = self.context['request'].user
return data
class EntityCreateSerializer(EntityLightSerializer):
......@@ -108,7 +109,11 @@ class EntityCreateSerializer(EntityLightSerializer):
'children',
'ner'
)
read_only_fields = ('id', )
read_only_fields = (
'id',
'children',
'parents',
)
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
......
......@@ -78,9 +78,9 @@ class EntityLightSerializer(serializers.ModelSerializer):
Serializes an entity
"""
type = EnumField(EntityType)
dates = InterpretedDateSerializer(many=True, source='get_dates', required=False, allow_null=True)
dates = InterpretedDateSerializer(many=True, source='get_dates', read_only=True)
metas = serializers.HStoreField(child=serializers.CharField(), required=False, allow_null=True)
source = DataSourceSerializer()
source = DataSourceSerializer(read_only=True)
class Meta:
model = Entity
......@@ -93,6 +93,11 @@ class EntityLightSerializer(serializers.ModelSerializer):
'dates',
'source'
)
read_only_fields = (
'id',
'dates',
'source',
)
class RegionLightSerializer(serializers.ModelSerializer):
......
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