mirror of
https://github.com/zulip/zulip.git
synced 2025-11-05 06:23:38 +00:00
Remove _default_stream_permision_check.
This functions appears to be redundant to `access_stream_by_name`. The only meaningful line of code in the function that we're removing, the code that raises an error, appears to be unreachable, despite reasonably extensive tests. The only thing the function was restricting was that the case where the bot's owner was unsubscribed to a private stream, which is already locked down in `access_stream_by_name` calls inside of `patch_bot_backend`. This commit increases test coverage by removing unreachable code. It's possible this function had some theoretical value before we introduced the `require_non_guest_human_user` decorator to the `patch_bot_backend` view, since in theory the bot itself could have subscribed to a stream that the owner didn't subscribe to. Even then it's not clear that allowing the bot to set that as a default stream would have been harmful, since they can already access it.
This commit is contained in:
@@ -3002,20 +3002,8 @@ def do_change_icon_source(realm: Realm, icon_source: str, log: bool=True) -> Non
|
||||
icon_url=realm_icon_url(realm))),
|
||||
active_user_ids(realm.id))
|
||||
|
||||
def _default_stream_permision_check(user_profile: UserProfile, stream: Optional[Stream]) -> None:
|
||||
# Any user can have a None default stream
|
||||
if stream is not None:
|
||||
if user_profile.is_bot:
|
||||
user = user_profile.bot_owner
|
||||
else:
|
||||
user = user_profile
|
||||
if stream.invite_only and (user is None or not subscribed_to_stream(user, stream.id)):
|
||||
raise JsonableError(_('Insufficient permission'))
|
||||
|
||||
def do_change_default_sending_stream(user_profile: UserProfile, stream: Optional[Stream],
|
||||
log: bool=True) -> None:
|
||||
_default_stream_permision_check(user_profile, stream)
|
||||
|
||||
user_profile.default_sending_stream = stream
|
||||
user_profile.save(update_fields=['default_sending_stream'])
|
||||
if log:
|
||||
@@ -3038,8 +3026,6 @@ def do_change_default_sending_stream(user_profile: UserProfile, stream: Optional
|
||||
def do_change_default_events_register_stream(user_profile: UserProfile,
|
||||
stream: Optional[Stream],
|
||||
log: bool=True) -> None:
|
||||
_default_stream_permision_check(user_profile, stream)
|
||||
|
||||
user_profile.default_events_register_stream = stream
|
||||
user_profile.save(update_fields=['default_events_register_stream'])
|
||||
if log:
|
||||
|
||||
Reference in New Issue
Block a user