populate_analytics_db: Create missing system group memberships.

This commit is contained in:
Mateusz Mandera
2025-05-02 20:43:30 +02:00
committed by Tim Abbott
parent 6ea67a7df2
commit 4cb838168f

View File

@@ -18,7 +18,6 @@ from analytics.models import (
UserCount,
)
from zerver.actions.create_realm import do_create_realm
from zerver.actions.users import do_change_user_role
from zerver.lib.create_user import create_user
from zerver.lib.management import ZulipBaseCommand
from zerver.lib.storage import static_path
@@ -27,6 +26,7 @@ from zerver.lib.streams import get_default_values_for_stream_permission_group_se
from zerver.lib.timestamp import floor_to_day
from zerver.lib.upload import upload_message_attachment_from_request
from zerver.models import Client, Realm, RealmAuditLog, Recipient, Stream, Subscription, UserProfile
from zerver.models.groups import NamedUserGroup, SystemGroups, UserGroupMembership
from zerver.models.realm_audit_logs import AuditLogEventType
@@ -86,6 +86,13 @@ class Command(ZulipBaseCommand):
string_id="analytics", name="Analytics", date_created=installation_time
)
owners_system_group = NamedUserGroup.objects.get(
name=SystemGroups.OWNERS, realm=realm, is_system_group=True
)
guests_system_group = NamedUserGroup.objects.get(
name=SystemGroups.EVERYONE, realm=realm, is_system_group=True
)
shylock = create_user(
"shylock@analytics.ds",
"Shylock",
@@ -94,10 +101,10 @@ class Command(ZulipBaseCommand):
role=UserProfile.ROLE_REALM_OWNER,
force_date_joined=installation_time,
)
do_change_user_role(shylock, UserProfile.ROLE_REALM_OWNER, acting_user=None)
UserGroupMembership.objects.create(user_profile=shylock, user_group=owners_system_group)
# Create guest user for set_guest_users_statistic.
create_user(
bassanio = create_user(
"bassanio@analytics.ds",
"Bassanio",
realm,
@@ -105,6 +112,7 @@ class Command(ZulipBaseCommand):
role=UserProfile.ROLE_GUEST,
force_date_joined=installation_time,
)
UserGroupMembership.objects.create(user_profile=bassanio, user_group=guests_system_group)
stream = Stream.objects.create(
name="all",