user_groups: Populate membership audit logs during realm creation.

This tracks user group membership changes when the realm is first set
up, either through an import or not. This happens when we add users to
the system user groups by their roles.

For an imported realm, we do extra handling when the data doesn't include
user groups. This gets audited as well.
This commit is contained in:
Zixuan James Li
2023-07-12 13:13:17 -04:00
committed by Tim Abbott
parent 1af50548ae
commit e9e18454d2
5 changed files with 87 additions and 0 deletions

View File

@@ -1677,3 +1677,15 @@ def add_users_to_system_user_groups(
UserGroupMembership(user_profile=user_profile, user_group=full_members_system_group)
)
UserGroupMembership.objects.bulk_create(usergroup_memberships)
now = timezone_now()
RealmAuditLog.objects.bulk_create(
RealmAuditLog(
realm=realm,
modified_user=membership.user_profile,
modified_user_group=membership.user_group,
event_type=RealmAuditLog.USER_GROUP_DIRECT_USER_MEMBERSHIP_ADDED,
event_time=now,
acting_user=None,
)
for membership in usergroup_memberships
)