actions: Split out zerver.actions.hotspots.

Signed-off-by: Anders Kaseorg <anders@zulip.com>
This commit is contained in:
Anders Kaseorg
2022-04-14 14:33:30 -07:00
parent 975f5a3c2d
commit 12130da339
5 changed files with 13 additions and 11 deletions

View File

@@ -0,0 +1,9 @@
from zerver.lib.hotspots import get_next_hotspots
from zerver.models import UserHotspot, UserProfile
from zerver.tornado.django_api import send_event
def do_mark_hotspot_as_read(user: UserProfile, hotspot: str) -> None:
UserHotspot.objects.get_or_create(user=user, hotspot=hotspot)
event = dict(type="hotspots", hotspots=get_next_hotspots(user))
send_event(user.realm, event, [user.id])

View File

@@ -98,7 +98,6 @@ from zerver.lib.exceptions import (
) )
from zerver.lib.export import get_realm_exports_serialized from zerver.lib.export import get_realm_exports_serialized
from zerver.lib.external_accounts import DEFAULT_EXTERNAL_ACCOUNTS from zerver.lib.external_accounts import DEFAULT_EXTERNAL_ACCOUNTS
from zerver.lib.hotspots import get_next_hotspots
from zerver.lib.i18n import get_language_name from zerver.lib.i18n import get_language_name
from zerver.lib.markdown import MessageRenderingResult, topic_links from zerver.lib.markdown import MessageRenderingResult, topic_links
from zerver.lib.markdown import version as markdown_version from zerver.lib.markdown import version as markdown_version
@@ -251,7 +250,6 @@ from zerver.models import (
UserActivityInterval, UserActivityInterval,
UserGroup, UserGroup,
UserGroupMembership, UserGroupMembership,
UserHotspot,
UserMessage, UserMessage,
UserPresence, UserPresence,
UserProfile, UserProfile,
@@ -7715,12 +7713,6 @@ def do_unmute_user(mute_object: MutedUser) -> None:
) )
def do_mark_hotspot_as_read(user: UserProfile, hotspot: str) -> None:
UserHotspot.objects.get_or_create(user=user, hotspot=hotspot)
event = dict(type="hotspots", hotspots=get_next_hotspots(user))
send_event(user.realm, event, [user.id])
@transaction.atomic(durable=True) @transaction.atomic(durable=True)
def do_add_realm_domain( def do_add_realm_domain(
realm: Realm, domain: str, allow_subdomains: bool, *, acting_user: Optional[UserProfile] realm: Realm, domain: str, allow_subdomains: bool, *, acting_user: Optional[UserProfile]

View File

@@ -13,6 +13,7 @@ from unittest import mock
import orjson import orjson
from django.utils.timezone import now as timezone_now from django.utils.timezone import now as timezone_now
from zerver.actions.hotspots import do_mark_hotspot_as_read
from zerver.actions.realm_linkifiers import ( from zerver.actions.realm_linkifiers import (
do_add_linkifier, do_add_linkifier,
do_remove_linkifier, do_remove_linkifier,
@@ -68,7 +69,6 @@ from zerver.lib.actions import (
do_delete_messages, do_delete_messages,
do_invite_users, do_invite_users,
do_make_user_billing_admin, do_make_user_billing_admin,
do_mark_hotspot_as_read,
do_mute_topic, do_mute_topic,
do_mute_user, do_mute_user,
do_reactivate_user, do_reactivate_user,

View File

@@ -1,4 +1,5 @@
from zerver.lib.actions import do_create_user, do_mark_hotspot_as_read from zerver.actions.hotspots import do_mark_hotspot_as_read
from zerver.lib.actions import do_create_user
from zerver.lib.hotspots import ALL_HOTSPOTS, INTRO_HOTSPOTS, get_next_hotspots from zerver.lib.hotspots import ALL_HOTSPOTS, INTRO_HOTSPOTS, get_next_hotspots
from zerver.lib.test_classes import ZulipTestCase from zerver.lib.test_classes import ZulipTestCase
from zerver.models import UserHotspot, UserProfile, get_realm from zerver.models import UserHotspot, UserProfile, get_realm

View File

@@ -1,8 +1,8 @@
from django.http import HttpRequest, HttpResponse from django.http import HttpRequest, HttpResponse
from django.utils.translation import gettext as _ from django.utils.translation import gettext as _
from zerver.actions.hotspots import do_mark_hotspot_as_read
from zerver.decorator import human_users_only from zerver.decorator import human_users_only
from zerver.lib.actions import do_mark_hotspot_as_read
from zerver.lib.exceptions import JsonableError from zerver.lib.exceptions import JsonableError
from zerver.lib.hotspots import ALL_HOTSPOTS from zerver.lib.hotspots import ALL_HOTSPOTS
from zerver.lib.request import REQ, has_request_variables from zerver.lib.request import REQ, has_request_variables