bots: Assume STAFF_SUBDOMAIN to be the realm where ERROR_BOT lives.

Now that get_system_bot requires a realm argument, a subdomain
needs to be made explicit to know in which organization to look up the
bot.
This commit is contained in:
Mateusz Mandera
2021-03-07 20:04:54 +01:00
committed by Tim Abbott
parent 3a35a0b72c
commit 013d6fa5e6
2 changed files with 11 additions and 9 deletions

View File

@@ -36,6 +36,7 @@ from zerver.models import (
UserProfile,
get_client,
get_display_recipient,
get_realm,
get_stream_by_id_in_realm,
get_system_bot,
get_user,
@@ -81,8 +82,9 @@ def redact_email_address(error_message: str) -> str:
def report_to_zulip(error_message: str) -> None:
if settings.ERROR_BOT is None:
return
error_bot = get_system_bot(settings.ERROR_BOT)
error_stream = Stream.objects.get(name="errors", realm=error_bot.realm)
error_bot_realm = get_realm(settings.STAFF_SUBDOMAIN)
error_bot = get_system_bot(settings.ERROR_BOT, error_bot_realm.id)
error_stream = Stream.objects.get(name="errors", realm=error_bot_realm)
send_zulip(
error_bot,
error_stream,

View File

@@ -11,7 +11,7 @@ from zerver.filters import clean_data_from_query_parameters
from zerver.lib.actions import internal_send_stream_message
from zerver.lib.exceptions import JsonableError
from zerver.lib.response import json_success
from zerver.models import get_stream, get_system_bot
from zerver.models import get_realm, get_stream, get_system_bot
def format_email_subject(email_subject: str) -> str:
@@ -92,9 +92,9 @@ def zulip_browser_error(report: Dict[str, Any]) -> None:
body = f"User: {user_info}\n"
body += "Message: {message}\n".format(**report)
error_bot = get_system_bot(settings.ERROR_BOT)
realm = error_bot.realm
errors_stream = get_stream("errors", realm)
error_bot_realm = get_realm(settings.STAFF_SUBDOMAIN)
error_bot = get_system_bot(settings.ERROR_BOT, error_bot_realm.id)
errors_stream = get_stream("errors", error_bot_realm)
internal_send_stream_message(
error_bot,
@@ -146,9 +146,9 @@ Error generated by {user_info}
{deployment}
{request_repr}"""
error_bot = get_system_bot(settings.ERROR_BOT)
realm = error_bot.realm
errors_stream = get_stream("errors", realm)
error_bot_realm = get_realm(settings.STAFF_SUBDOMAIN)
error_bot = get_system_bot(settings.ERROR_BOT, error_bot_realm.id)
errors_stream = get_stream("errors", error_bot_realm)
internal_send_stream_message(
error_bot,