mirror of
				https://github.com/zulip/zulip.git
				synced 2025-11-04 05:53:43 +00:00 
			
		
		
		
	settings: Add support for customizing the top-left logo.
This adds a new realm_logo field, which is a horizontal-format logo to be displayed in the top-left corner of the webapp, and any other places where we might want a wide-format branding of the organization. Tweaked significantly by tabbott to rebase, fix styling, etc. Fixing the styling of this feature's loading indicator caused me to notice the loading indicator for the realm_icon feature was also ugly, so I fixed that too. Fixes #7995.
This commit is contained in:
		@@ -43,6 +43,7 @@ from zerver.lib.message import (
 | 
			
		||||
    update_first_visible_message_id,
 | 
			
		||||
)
 | 
			
		||||
from zerver.lib.realm_icon import realm_icon_url
 | 
			
		||||
from zerver.lib.realm_logo import realm_logo_url
 | 
			
		||||
from zerver.lib.retention import move_messages_to_archive
 | 
			
		||||
from zerver.lib.send_email import send_email, FromAddress, send_email_to_admins
 | 
			
		||||
from zerver.lib.stream_subscription import (
 | 
			
		||||
@@ -3086,6 +3087,22 @@ def do_change_icon_source(realm: Realm, icon_source: str, log: bool=True) -> Non
 | 
			
		||||
                              icon_url=realm_icon_url(realm))),
 | 
			
		||||
               active_user_ids(realm.id))
 | 
			
		||||
 | 
			
		||||
def do_change_logo_source(realm: Realm, logo_source: str) -> None:
 | 
			
		||||
    realm.logo_source = logo_source
 | 
			
		||||
    realm.logo_version += 1
 | 
			
		||||
    realm.save(update_fields=["logo_source", "logo_version"])
 | 
			
		||||
 | 
			
		||||
    RealmAuditLog.objects.create(event_type=RealmAuditLog.REALM_LOGO_CHANGED,
 | 
			
		||||
                                 realm=realm, event_time=timezone_now())
 | 
			
		||||
 | 
			
		||||
    send_event(realm,
 | 
			
		||||
               dict(type='realm',
 | 
			
		||||
                    op='update_dict',
 | 
			
		||||
                    property="logo",
 | 
			
		||||
                    data=dict(logo_source=realm.logo_source,
 | 
			
		||||
                              logo_url=realm_logo_url(realm))),
 | 
			
		||||
               active_user_ids(realm.id))
 | 
			
		||||
 | 
			
		||||
def do_change_plan_type(realm: Realm, plan_type: int) -> None:
 | 
			
		||||
    old_value = realm.plan_type
 | 
			
		||||
    realm.plan_type = plan_type
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user