Skip to content

Commit 5668f0b

Browse files
committed
Propagate update to session is_public to datasets
1 parent a76c67b commit 5668f0b

3 files changed

Lines changed: 8 additions & 1 deletion

File tree

sasdata/fair_database/data/serializers.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -451,6 +451,13 @@ def create(self, validated_data):
451451
)
452452
return session
453453

454+
def update(self, instance, validated_data):
455+
if "is_public" in validated_data:
456+
for dataset in instance.datasets.all():
457+
dataset.is_public = validated_data["is_public"]
458+
dataset.save()
459+
return super().update(instance, validated_data)
460+
454461

455462
# Determine if an operation does not have parent operations
456463
def constant_or_variable(operation: str):

sasdata/fair_database/data/test/test_dataset.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -468,7 +468,6 @@ def test_update_public_dataset(self):
468468
self.assertEqual(DataSet.objects.get(id=1).name, "Different name")
469469
self.public_dataset.save()
470470

471-
# TODO: test updating metadata once metadata is figured out
472471
# TODO: test invalid updates if and when those are figured out
473472

474473
# Test changing an unowned dataset

sasdata/fair_database/data/test/test_session.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -450,6 +450,7 @@ def test_update_private_session(self):
450450
{"session_id": 2, "title": "Private Session", "is_public": True},
451451
)
452452
self.assertTrue(session.is_public)
453+
self.assertTrue(session.datasets.get().is_public)
453454
session.is_public = False
454455
session.save()
455456

0 commit comments

Comments
 (0)