Skip to content

Commit 6a1713b

Browse files
committed
Nested PublishedState update in Session
1 parent 0912a4c commit 6a1713b

1 file changed

Lines changed: 14 additions & 0 deletions

File tree

sasdata/fair_database/data/serializers.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
from django.core.exceptions import ObjectDoesNotExist
12
from rest_framework import serializers
23

34
from data import models
@@ -470,6 +471,19 @@ def update(self, instance, validated_data):
470471
for dataset in instance.datasets.all():
471472
dataset.is_public = validated_data["is_public"]
472473
dataset.save()
474+
if "published_state" in validated_data:
475+
pb_raw = validated_data.pop("published_state")
476+
try:
477+
PublishedStateUpdateSerializer.update(
478+
PublishedStateUpdateSerializer(),
479+
instance.published_state,
480+
validated_data=pb_raw,
481+
)
482+
except ObjectDoesNotExist:
483+
pb_raw["session"] = instance
484+
PublishedStateSerializer.create(
485+
PublishedStateSerializer(), validated_data=pb_raw
486+
)
473487
return super().update(instance, validated_data)
474488

475489

0 commit comments

Comments
 (0)