mirror of
https://github.com/zulip/zulip.git
synced 2025-11-18 21:48:30 +00:00
user_groups: Audit UserGroup supergroup memberships changes.
This is mostly the same as tracking subgroup changes, except that now modified_user_group is the subgroup. Signed-off-by: Zixuan James Li <p359101898@gmail.com>
This commit is contained in:
committed by
Tim Abbott
parent
ad698d597a
commit
3035854dca
@@ -300,14 +300,28 @@ def add_subgroups_to_user_group(
|
||||
|
||||
subgroup_ids = [subgroup.id for subgroup in subgroups]
|
||||
now = timezone_now()
|
||||
RealmAuditLog.objects.create(
|
||||
realm=user_group.realm,
|
||||
modified_user_group=user_group,
|
||||
event_type=RealmAuditLog.USER_GROUP_DIRECT_SUBGROUP_MEMBERSHIP_ADDED,
|
||||
event_time=now,
|
||||
acting_user=acting_user,
|
||||
extra_data=orjson.dumps({"subgroup_ids": subgroup_ids}).decode(),
|
||||
)
|
||||
audit_log_entries = [
|
||||
RealmAuditLog(
|
||||
realm=user_group.realm,
|
||||
modified_user_group=user_group,
|
||||
event_type=RealmAuditLog.USER_GROUP_DIRECT_SUBGROUP_MEMBERSHIP_ADDED,
|
||||
event_time=now,
|
||||
acting_user=acting_user,
|
||||
extra_data=orjson.dumps({"subgroup_ids": subgroup_ids}).decode(),
|
||||
)
|
||||
]
|
||||
for subgroup_id in subgroup_ids:
|
||||
audit_log_entries.append(
|
||||
RealmAuditLog(
|
||||
realm=user_group.realm,
|
||||
modified_user_group_id=subgroup_id,
|
||||
event_type=RealmAuditLog.USER_GROUP_DIRECT_SUPERGROUP_MEMBERSHIP_ADDED,
|
||||
event_time=now,
|
||||
acting_user=acting_user,
|
||||
extra_data=orjson.dumps({"supergroup_ids": [user_group.id]}).decode(),
|
||||
)
|
||||
)
|
||||
RealmAuditLog.objects.bulk_create(audit_log_entries)
|
||||
|
||||
do_send_subgroups_update_event("add_subgroups", user_group, subgroup_ids)
|
||||
|
||||
@@ -320,14 +334,28 @@ def remove_subgroups_from_user_group(
|
||||
|
||||
subgroup_ids = [subgroup.id for subgroup in subgroups]
|
||||
now = timezone_now()
|
||||
RealmAuditLog.objects.create(
|
||||
realm=user_group.realm,
|
||||
modified_user_group=user_group,
|
||||
event_type=RealmAuditLog.USER_GROUP_DIRECT_SUBGROUP_MEMBERSHIP_REMOVED,
|
||||
event_time=now,
|
||||
acting_user=acting_user,
|
||||
extra_data=orjson.dumps({"subgroup_ids": subgroup_ids}).decode(),
|
||||
)
|
||||
audit_log_entries = [
|
||||
RealmAuditLog(
|
||||
realm=user_group.realm,
|
||||
modified_user_group=user_group,
|
||||
event_type=RealmAuditLog.USER_GROUP_DIRECT_SUBGROUP_MEMBERSHIP_REMOVED,
|
||||
event_time=now,
|
||||
acting_user=acting_user,
|
||||
extra_data=orjson.dumps({"subgroup_ids": subgroup_ids}).decode(),
|
||||
)
|
||||
]
|
||||
for subgroup_id in subgroup_ids:
|
||||
audit_log_entries.append(
|
||||
RealmAuditLog(
|
||||
realm=user_group.realm,
|
||||
modified_user_group_id=subgroup_id,
|
||||
event_type=RealmAuditLog.USER_GROUP_DIRECT_SUPERGROUP_MEMBERSHIP_REMOVED,
|
||||
event_time=now,
|
||||
acting_user=acting_user,
|
||||
extra_data=orjson.dumps({"supergroup_ids": [user_group.id]}).decode(),
|
||||
)
|
||||
)
|
||||
RealmAuditLog.objects.bulk_create(audit_log_entries)
|
||||
|
||||
do_send_subgroups_update_event("remove_subgroups", user_group, subgroup_ids)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user