Some checks failed
Code scanning / CodeQL (push) Failing after 15s
Zulip production suite / Ubuntu 22.04 production build (push) Failing after 26s
Zulip production suite / Debian 12 production install with custom db name and user (push) Has been skipped
Zulip production suite / Ubuntu 22.04 production install and PostgreSQL upgrade with pgroonga (push) Has been skipped
Zulip production suite / Ubuntu 24.04 production install (push) Has been skipped
Zulip production suite / Ubuntu 26.04 production install (push) Has been skipped
Zulip production suite / Debian 13 production install (push) Has been skipped
Zulip production suite / 7.0 Version Upgrade (push) Has been skipped
Zulip production suite / 8.0 Version Upgrade (push) Has been skipped
Zulip production suite / 6.0 Version Upgrade (push) Has been skipped
Zulip production suite / 10.0 Version Upgrade (push) Has been skipped
Zulip production suite / 9.0 Version Upgrade (push) Has been skipped
Zulip production suite / 12.0 Version Upgrade (push) Has been skipped
Zulip production suite / 11.0 Version Upgrade (push) Has been skipped
GitHub Actions Security Analysis with zizmor / zizmor (push) Failing after 3s
Zulip CI / Debian 12 (Python 3.11, backend + documentation) (push) Failing after 26s
Zulip CI / Ubuntu 22.04 (Python 3.10, backend + frontend) (push) Failing after 3s
Zulip CI / Ubuntu 24.04 (Python 3.12, backend) (push) Failing after 25s
Zulip CI / Ubuntu 26.04 (Python 3.14, backend) (push) Failing after 25s
Zulip CI / Debian 13 (Python 3.13, backend) (push) Failing after 28s
Zulip production suite / Required jobs (push) Has been cancelled
Zulip CI / Required jobs (push) Has been cancelled
API Documentation Update Check / check-feature-level-updated (push) Has been cancelled
API Documentation Update Check / notify-if-api-docs-changed (push) Has been cancelled
39 lines
1.3 KiB
Python
39 lines
1.3 KiB
Python
from typing import Any
|
|
|
|
from django.conf import settings
|
|
from django.contrib.staticfiles.storage import staticfiles_storage
|
|
|
|
from zerver.lib.upload import get_uploaded_realm_logo_url
|
|
from zerver.models import Realm
|
|
|
|
|
|
def get_realm_logo_source(realm: Realm, night: bool) -> str:
|
|
if realm.plan_type == Realm.PLAN_TYPE_LIMITED:
|
|
return Realm.LOGO_DEFAULT
|
|
if night:
|
|
return realm.night_logo_source
|
|
return realm.logo_source
|
|
|
|
|
|
def get_realm_logo_url(realm: Realm, night: bool) -> str:
|
|
logo_source = get_realm_logo_source(realm, night)
|
|
|
|
if logo_source == Realm.LOGO_UPLOADED:
|
|
if night:
|
|
logo_version = realm.night_logo_version
|
|
else:
|
|
logo_version = realm.logo_version
|
|
return get_uploaded_realm_logo_url(realm.id, logo_version, night)
|
|
if settings.DEFAULT_LOGO_URI is not None:
|
|
return settings.DEFAULT_LOGO_URI
|
|
return staticfiles_storage.url("images/logo/zulip-org-logo.svg") + "?version=0"
|
|
|
|
|
|
def get_realm_logo_data(realm: Realm, night: bool) -> dict[str, Any]:
|
|
if night:
|
|
return dict(
|
|
night_logo_url=get_realm_logo_url(realm, night),
|
|
night_logo_source=realm.night_logo_source,
|
|
)
|
|
return dict(logo_url=get_realm_logo_url(realm, night), logo_source=realm.logo_source)
|