mirror of
https://github.com/zulip/zulip.git
synced 2025-10-23 04:52:12 +00:00
support: Create RealmAuditLog when realm reactivation email is sent.
This commit is contained in:
committed by
Tim Abbott
parent
233c4d520c
commit
ddbc6d7662
@@ -826,7 +826,7 @@ class TestSupportEndpoint(ZulipTestCase):
|
||||
check_zulip_realm_query_result(result)
|
||||
MultiuseInvite.objects.all().delete()
|
||||
|
||||
do_send_realm_reactivation_email(get_realm("zulip"))
|
||||
do_send_realm_reactivation_email(get_realm("zulip"), acting_user=None)
|
||||
result = self.client_get("/activity/support", {"q": "zulip"})
|
||||
check_realm_reactivation_link_query_result(result)
|
||||
check_zulip_realm_query_result(result)
|
||||
@@ -999,7 +999,7 @@ class TestSupportEndpoint(ZulipTestCase):
|
||||
result = self.client_post(
|
||||
"/activity/support", {"realm_id": f"{lear_realm.id}", "status": "active"}
|
||||
)
|
||||
m.assert_called_once_with(lear_realm)
|
||||
m.assert_called_once_with(lear_realm, acting_user=self.example_user("iago"))
|
||||
self.assert_in_success_response(
|
||||
["Realm reactivation email sent to admins of lear"], result
|
||||
)
|
||||
|
@@ -1308,7 +1308,7 @@ def support(request: HttpRequest) -> HttpResponse:
|
||||
elif request.POST.get("status", None) is not None:
|
||||
status = request.POST.get("status")
|
||||
if status == "active":
|
||||
do_send_realm_reactivation_email(realm)
|
||||
do_send_realm_reactivation_email(realm, acting_user=request.user)
|
||||
context[
|
||||
"success_message"
|
||||
] = f"Realm reactivation email sent to admins of {realm.string_id}."
|
||||
|
@@ -7103,8 +7103,14 @@ def check_delete_user_group(user_group_id: int, user_profile: UserProfile) -> No
|
||||
do_send_delete_user_group_event(user_profile.realm, user_group_id, user_profile.realm.id)
|
||||
|
||||
|
||||
def do_send_realm_reactivation_email(realm: Realm) -> None:
|
||||
def do_send_realm_reactivation_email(realm: Realm, *, acting_user: Optional[UserProfile]) -> None:
|
||||
url = create_confirmation_link(realm, Confirmation.REALM_REACTIVATION)
|
||||
RealmAuditLog.objects.create(
|
||||
realm=realm,
|
||||
acting_user=acting_user,
|
||||
event_type=RealmAuditLog.REALM_REACTIVATION_EMAIL_SENT,
|
||||
event_time=timezone_now(),
|
||||
)
|
||||
context = {"confirmation_url": url, "realm_uri": realm.uri, "realm_name": realm.name}
|
||||
language = realm.default_language
|
||||
send_email_to_admins(
|
||||
|
@@ -17,5 +17,5 @@ class Command(ZulipBaseCommand):
|
||||
if not realm.deactivated:
|
||||
raise CommandError(f"The realm {realm.name} is already active.")
|
||||
print("Sending email to admins")
|
||||
do_send_realm_reactivation_email(realm)
|
||||
do_send_realm_reactivation_email(realm, acting_user=None)
|
||||
print("Done!")
|
||||
|
@@ -3190,6 +3190,7 @@ class AbstractRealmAuditLog(models.Model):
|
||||
REALM_DISCOUNT_CHANGED = 209
|
||||
REALM_SPONSORSHIP_APPROVED = 210
|
||||
REALM_BILLING_METHOD_CHANGED = 211
|
||||
REALM_REACTIVATION_EMAIL_SENT = 212
|
||||
|
||||
SUBSCRIPTION_CREATED = 301
|
||||
SUBSCRIPTION_ACTIVATED = 302
|
||||
|
@@ -279,7 +279,8 @@ class RealmTest(ZulipTestCase):
|
||||
|
||||
def test_do_send_realm_reactivation_email(self) -> None:
|
||||
realm = get_realm("zulip")
|
||||
do_send_realm_reactivation_email(realm)
|
||||
iago = self.example_user("iago")
|
||||
do_send_realm_reactivation_email(realm, acting_user=iago)
|
||||
from django.core.mail import outbox
|
||||
|
||||
self.assertEqual(len(outbox), 1)
|
||||
@@ -298,6 +299,12 @@ class RealmTest(ZulipTestCase):
|
||||
)
|
||||
realm = get_realm("zulip")
|
||||
self.assertFalse(realm.deactivated)
|
||||
self.assertEqual(
|
||||
RealmAuditLog.objects.filter(
|
||||
event_type=RealmAuditLog.REALM_REACTIVATION_EMAIL_SENT, acting_user=iago
|
||||
).count(),
|
||||
1,
|
||||
)
|
||||
|
||||
def test_realm_reactivation_with_random_link(self) -> None:
|
||||
random_link = "/reactivate/5e89081eb13984e0f3b130bf7a4121d153f1614b"
|
||||
|
@@ -134,6 +134,6 @@ def generate_all_emails(request: HttpRequest) -> HttpResponse:
|
||||
enqueue_welcome_emails(get_user_by_delivery_email("iago@zulip.com", realm), realm_creation=True)
|
||||
|
||||
# Realm reactivation email
|
||||
do_send_realm_reactivation_email(realm)
|
||||
do_send_realm_reactivation_email(realm, acting_user=None)
|
||||
|
||||
return redirect(email_page)
|
||||
|
Reference in New Issue
Block a user