From 74019706d78b28315d68a32aea07938e21a902f8 Mon Sep 17 00:00:00 2001 From: Mateusz Mandera Date: Fri, 2 May 2025 20:43:30 +0200 Subject: [PATCH] populate_analytics_db: Create missing system group memberships. --- .../management/commands/populate_analytics_db.py | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/analytics/management/commands/populate_analytics_db.py b/analytics/management/commands/populate_analytics_db.py index e77c68b78e..cd36f599e4 100644 --- a/analytics/management/commands/populate_analytics_db.py +++ b/analytics/management/commands/populate_analytics_db.py @@ -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",