settings: Add realm-level setting 'zulip_update_announcements_stream'.

This commit adds a realm-level setting named
'zulip_update_announcements_stream' that configures the
stream to which zulip updates should be posted.

Fixes part of #28604.
This commit is contained in:
Prakhar Pratyush
2024-01-26 19:15:37 +05:30
committed by Tim Abbott
parent e6109ba192
commit fe1a20ebb3
29 changed files with 393 additions and 13 deletions

View File

@@ -260,7 +260,11 @@ def do_set_realm_authentication_methods(
def do_set_realm_stream(
realm: Realm,
field: Literal["new_stream_announcements_stream", "signup_announcements_stream"],
field: Literal[
"new_stream_announcements_stream",
"signup_announcements_stream",
"zulip_update_announcements_stream",
],
stream: Optional[Stream],
stream_id: int,
*,
@@ -276,6 +280,10 @@ def do_set_realm_stream(
old_value = realm.signup_announcements_stream_id
realm.signup_announcements_stream = stream
property = "signup_announcements_stream_id"
elif field == "zulip_update_announcements_stream":
old_value = realm.zulip_update_announcements_stream_id
realm.zulip_update_announcements_stream = stream
property = "zulip_update_announcements_stream_id"
else:
raise AssertionError("Invalid realm stream field.")
@@ -320,6 +328,14 @@ def do_set_realm_signup_announcements_stream(
)
def do_set_realm_zulip_update_announcements_stream(
realm: Realm, stream: Optional[Stream], stream_id: int, *, acting_user: Optional[UserProfile]
) -> None:
do_set_realm_stream(
realm, "zulip_update_announcements_stream", stream, stream_id, acting_user=acting_user
)
def do_set_realm_user_default_setting(
realm_user_default: RealmUserDefault,
name: str,