mirror of
				https://github.com/zulip/zulip.git
				synced 2025-10-31 12:03:46 +00:00 
			
		
		
		
	Event types moved: REALM_DEACTIVATED, REALM_REACTIVATED, REALM_SCRUBBED REALM_PLAN_TYPE_CHANGED, REALM_LOGO_CHANGED, REALM_EXPORTED REALM_PROPERTY_CHANGED, REALM_ICON_SOURCE_CHANGED, REALM_DISCOUNT_CHANGED REALM_SPONSORSHIP_APPROVED, REALM_BILLING_MODALITY_CHANGED REALM_REACTIVATION_EMAIL_SENT, REALM_SPONSORSHIP_PENDING_STATUS_CHANGED REALM_SUBDOMAIN_CHANGED
		
			
				
	
	
		
			39 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			39 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| from django.db import transaction
 | |
| from django.utils.timezone import now as timezone_now
 | |
| 
 | |
| from zerver.lib.realm_icon import realm_icon_url
 | |
| from zerver.models import Realm, RealmAuditLog, UserProfile
 | |
| from zerver.models.realm_audit_logs import AuditLogEventType
 | |
| from zerver.models.users import active_user_ids
 | |
| from zerver.tornado.django_api import send_event_on_commit
 | |
| 
 | |
| 
 | |
| @transaction.atomic(durable=True)
 | |
| def do_change_icon_source(
 | |
|     realm: Realm, icon_source: str, *, acting_user: UserProfile | None
 | |
| ) -> None:
 | |
|     realm.icon_source = icon_source
 | |
|     realm.icon_version += 1
 | |
|     realm.save(update_fields=["icon_source", "icon_version"])
 | |
| 
 | |
|     event_time = timezone_now()
 | |
|     RealmAuditLog.objects.create(
 | |
|         realm=realm,
 | |
|         event_type=AuditLogEventType.REALM_ICON_SOURCE_CHANGED,
 | |
|         extra_data={"icon_source": icon_source, "icon_version": realm.icon_version},
 | |
|         event_time=event_time,
 | |
|         acting_user=acting_user,
 | |
|     )
 | |
| 
 | |
|     event = dict(
 | |
|         type="realm",
 | |
|         op="update_dict",
 | |
|         property="icon",
 | |
|         data=dict(icon_source=realm.icon_source, icon_url=realm_icon_url(realm)),
 | |
|     )
 | |
|     send_event_on_commit(
 | |
|         realm,
 | |
|         event,
 | |
|         active_user_ids(realm.id),
 | |
|     )
 |