@@ -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