Skip to content

Commit 27da65c

Browse files
committed
fixup! 🥅(backend) link role could be updated when restricted document
1 parent d3e135a commit 27da65c

File tree

1 file changed

+17
-25
lines changed

1 file changed

+17
-25
lines changed

src/backend/core/api/serializers.py

Lines changed: 17 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -544,37 +544,29 @@ def validate(self, attrs):
544544
# Validate link_role is compatible with link_reach
545545
allowed_roles = available_options[link_reach]
546546

547+
# Restricted reach: link_role must be None
547548
if link_reach == models.LinkReachChoices.RESTRICTED:
548-
# For restricted reach, link_role is ignored but
549-
# we shouldn't allow meaningful roles to be set
550-
if link_role is not None and link_role in [
551-
models.LinkRoleChoices.READER,
552-
models.LinkRoleChoices.EDITOR,
553-
]:
554-
msg = _(
555-
"Cannot set link_role when link_reach is 'restricted'. "
556-
"Link role must be null for restricted reach."
549+
if link_role is not None:
550+
raise serializers.ValidationError(
551+
{
552+
"link_role": (
553+
"Cannot set link_role when link_reach is 'restricted'. "
554+
"Link role must be null for restricted reach."
555+
)
556+
}
557557
)
558-
raise serializers.ValidationError({"link_role": msg})
559-
# For non-restricted reach, validate link_role is in allowed roles
560-
elif link_role is not None and link_role not in allowed_roles:
561-
msg = _(
562-
"Link role '%(link_role)s' is not allowed for link reach '%(link_reach)s'. "
563-
"Allowed roles: %(allowed_roles)s"
564-
)
558+
return attrs
559+
# Non-restricted: link_role must be in allowed roles
560+
if link_role not in allowed_roles:
561+
allowed_roles_str = ", ".join(allowed_roles) if allowed_roles else "none"
565562
raise serializers.ValidationError(
566563
{
567-
"link_role": msg
568-
% {
569-
"link_role": link_role,
570-
"link_reach": link_reach,
571-
"allowed_roles": ", ".join(allowed_roles)
572-
if allowed_roles
573-
else "none",
574-
}
564+
"link_role": (
565+
f"Link role '{link_role}' is not allowed for link reach '{link_reach}'. "
566+
f"Allowed roles: {allowed_roles_str}"
567+
)
575568
}
576569
)
577-
578570
return attrs
579571

580572

0 commit comments

Comments
 (0)