Skip to content

Commit 866f7e9

Browse files
committed
Lock dandiset when changing owners
1 parent 90ade67 commit 866f7e9

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

dandiapi/api/views/dandiset.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -522,13 +522,14 @@ def users(self, request, dandiset__pk): # noqa: C901
522522

523523
# All owners found
524524
with transaction.atomic():
525+
dandiset_locked = Dandiset.objects.select_for_update().get(pk=dandiset__pk)
525526
owners = user_owners + [acc.user for acc in socialaccount_owners]
526-
removed_owners, added_owners = replace_dandiset_owners(dandiset, owners)
527-
dandiset.save()
527+
removed_owners, added_owners = replace_dandiset_owners(dandiset_locked, owners)
528+
dandiset_locked.save()
528529

529530
if removed_owners or added_owners:
530531
audit.change_owners(
531-
dandiset=dandiset,
532+
dandiset=dandiset_locked,
532533
user=request.user,
533534
removed_owners=removed_owners,
534535
added_owners=added_owners,

0 commit comments

Comments
 (0)