snapshot of https://github.com/zulip/zulip.git @ 48c69911c7dd4e03b20552eb3bd77ad8151c1357 (2026-09-15)
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
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
This commit is contained in:
33
templates/zerver/create_realm/create_demo_realm.html
Normal file
33
templates/zerver/create_realm/create_demo_realm.html
Normal file
@@ -0,0 +1,33 @@
|
||||
{% extends "zerver/portico_signup.html" %}
|
||||
|
||||
{% block title %}
|
||||
<title>{{ _("Try Zulip in a demo organization") }} | Zulip</title>
|
||||
{% endblock %}
|
||||
|
||||
{% block portico_content %}
|
||||
<div class="register-account flex full-page">
|
||||
<div class="center-block new-style" id="demo-realm-creation">
|
||||
<div class="registration-lead-section">
|
||||
<h1 class="registration-lead-title">{{ _("Try Zulip in a demo organization") }}</h1>
|
||||
<p class="registration-lead-subtitle">
|
||||
{% trans %}
|
||||
No email required. Or <a class="registration-lead-subtitle-link" href="{{ root_domain_url }}/new/">create a permanent organization</a>.
|
||||
{% endtrans %}
|
||||
</p>
|
||||
</div>
|
||||
<form class="white-box" id="create_demo_realm" action="{{ current_url() }}" method="post">
|
||||
{{ csrf_input }}
|
||||
<input type='hidden' name='timezone' id='demo-creator-timezone'/>
|
||||
{% include 'zerver/create_realm/realm_creation_base_form_fields.html' %}
|
||||
{% include 'zerver/create_realm/found_zulip_form_field.html' %}
|
||||
{% if terms_of_service %}
|
||||
{% include 'zerver/create_user/terms_of_service_form_field.html' %}
|
||||
{% endif %}
|
||||
<div class="input-box" id="demo-submit-button-container">
|
||||
<button type="submit" class="new-organization-button register-button">{{ _("Try Zulip") }}</button>
|
||||
{% include 'zerver/altcha_form_field.html' %}
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
67
templates/zerver/create_realm/create_realm.html
Normal file
67
templates/zerver/create_realm/create_realm.html
Normal file
@@ -0,0 +1,67 @@
|
||||
{% extends "zerver/portico_signup.html" %}
|
||||
{# Home page for not logged-in users. #}
|
||||
|
||||
{% block title %}
|
||||
<title>{{ _("Create a new organization") }} | Zulip</title>
|
||||
{% endblock %}
|
||||
|
||||
{# This is where we pitch the app and solicit signups. #}
|
||||
|
||||
{% block portico_content %}
|
||||
<div class="app register-page">
|
||||
<div class="app-main register-page-container new-style flex full-page">
|
||||
|
||||
<div class="register-form" id="new-realm-creation">
|
||||
<div class="registration-lead-section">
|
||||
<h1 class="registration-lead-title">{{ _("Create a new Zulip organization") }}</h1>
|
||||
{% if corporate_enabled %}
|
||||
<p class="registration-lead-subtitle">
|
||||
{% trans %}
|
||||
Or <a class="registration-lead-subtitle-link" href="{{ root_domain_url }}/new/demo/">create a demo organization</a> — no email required!
|
||||
{% endtrans %}
|
||||
</p>
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="white-box">
|
||||
<form class="form-inline" id="create_realm" name="email_form"
|
||||
action="{{ current_url() }}" method="post">
|
||||
{{ csrf_input }}
|
||||
|
||||
{% include 'zerver/create_realm/realm_creation_name_form_field.html' %}
|
||||
{% include 'zerver/create_realm/realm_creation_base_form_fields.html' %}
|
||||
{% include 'zerver/create_realm/realm_creation_subdomain_form_field.html' %}
|
||||
{% if is_realm_import_enabled %}
|
||||
{% include 'zerver/create_realm/realm_creation_import_form_field.html' %}
|
||||
{% endif %}
|
||||
|
||||
<div class="input-box horizontal">
|
||||
<div class="inline-block relative">
|
||||
<input type="text" class="email required" placeholder="{{ _("Enter your email address") }}"
|
||||
id="email" name="email" required />
|
||||
<label for="email">{{ _('Your email') }}</label>
|
||||
</div>
|
||||
{% if form.email.errors %}
|
||||
{% for error in form.email.errors %}
|
||||
<div class="alert alert-error">{{ error }}</div>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="input-box" id="altcha-submit-button-container">
|
||||
<button type="submit" class="new-organization-button register-button">{{ _("Create organization") }}</button>
|
||||
{% include 'zerver/altcha_form_field.html' %}
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
{% if not is_realm_import_enabled %}
|
||||
<div class="bottom-text">
|
||||
{% trans %}
|
||||
Or import
|
||||
from <a href="/help/import-from-slack">Slack</a>, <a href="/help/import-from-mattermost">Mattermost</a>,
|
||||
or <a href="/help/import-from-rocketchat">Rocket.Chat</a>.
|
||||
{% endtrans %}
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
24
templates/zerver/create_realm/found_zulip_form_field.html
Normal file
24
templates/zerver/create_realm/found_zulip_form_field.html
Normal file
@@ -0,0 +1,24 @@
|
||||
<div class="input-group input-box" id="how-realm-creator-found-zulip">
|
||||
<label for="how_realm_creator_found_zulip">
|
||||
{{ _('How did you first hear about Zulip?') }}
|
||||
{% if not corporate_enabled %}
|
||||
<i class="fa fa-question-circle-o" aria-hidden="true" data-tippy-content="{% trans %}This value is used only if you sign up for a plan, in which case it will be sent to the Zulip team.{% endtrans %}"></i>
|
||||
{% endif %}
|
||||
</label>
|
||||
<select id="how_realm_creator_found_zulip" name="how_realm_creator_found_zulip" class="required" required>
|
||||
<option value="" selected disabled>{{ _('Select an option') }}</option>
|
||||
{% for option_id, option_name in how_realm_creator_found_zulip_options %}
|
||||
<option value="{{ option_id }}">{{ option_name }}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
<input id="how-realm-creator-found-zulip-other" class="how-found-zulip-extra-data-input" type="text" placeholder="{{ _('Please describe') }}" name="how_realm_creator_found_zulip_other_text" maxlength="100"/>
|
||||
<input id="how-realm-creator-found-zulip-where-ad" class="how-found-zulip-extra-data-input" type="text" placeholder="{{ _('Where did you see the ad?') }}" name="how_realm_creator_found_zulip_where_ad" maxlength="100"/>
|
||||
<input id="how-realm-creator-found-zulip-which-organization" class="how-found-zulip-extra-data-input" type="text" placeholder="{{ _('Which organization?') }}" name="how_realm_creator_found_zulip_which_organization" maxlength="100"/>
|
||||
<input id="how-realm-creator-found-zulip-review-site" class="how-found-zulip-extra-data-input" type="text" placeholder="{{ _('Which one?') }}" name="how_realm_creator_found_zulip_review_site" maxlength="100"/>
|
||||
<input id="how-realm-creator-found-zulip-which-ai-chatbot" class="how-found-zulip-extra-data-input" type="text" placeholder="{{ _('Which one?') }}" name="how_realm_creator_found_zulip_which_ai_chatbot" maxlength="100"/>
|
||||
{% if form.how_realm_creator_found_zulip.errors %}
|
||||
{% for error in form.how_realm_creator_found_zulip.errors %}
|
||||
<p class="error help-inline alert alert-error">{{ error }}</p>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
</div>
|
||||
@@ -0,0 +1,37 @@
|
||||
<div class="realm-creation-editable-inputs {% if user_registration_form and not form.realm_subdomain.errors %}hide{% endif %}">
|
||||
<div class="input-box">
|
||||
<div class="inline-block relative">
|
||||
<select name="realm_type" id="realm_type" required>
|
||||
<option disabled selected value>-- {{ _("Select one") }} --</option>
|
||||
{% for realm_type in sorted_realm_types %}
|
||||
{% if not realm_type.hidden %}
|
||||
<option value="{{ realm_type.id }}" {% if form.realm_type.value() == realm_type.id %}selected{% endif %} >{{ _(realm_type.name) }}</option>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<label for="realm_type" class="inline-block label-title">{{ _('Organization type') }}
|
||||
<a href="/help/organization-type" target="_blank" rel="noopener noreferrer">
|
||||
<i class="fa fa-question-circle-o" aria-hidden="true"></i>
|
||||
</a>
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div class="input-box">
|
||||
<div class="inline-block relative">
|
||||
<select name="realm_default_language" id="realm_default_language">
|
||||
{% for language in language_list %}
|
||||
<option value="{{ language.code }}" {% if form.realm_default_language.value() == language.code %}selected{% endif %} >{{ _(language.name) }}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<label for="realm_default_language" class="inline-block label-title">
|
||||
{{ _('Organization language') }}
|
||||
<a href="/help/configure-organization-language" target="_blank" rel="noopener noreferrer">
|
||||
<i class="fa fa-question-circle-o" aria-hidden="true"></i>
|
||||
</a>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,27 @@
|
||||
<div class="realm-creation-editable-inputs {% if user_registration_form and not form.realm_subdomain.errors %}hide{% endif %}">
|
||||
<div class="input-box">
|
||||
<div class="inline-block" id="realm-creation-import-from-wrapper">
|
||||
<select id="import_from" name="import_from"
|
||||
{% if user_registration_form %}
|
||||
disabled
|
||||
{% endif %}
|
||||
>
|
||||
{% for key, choice in import_from_choices %}
|
||||
<option value="{{ key }}" {% if key == "none" %}selected{% endif %}>{{ _(choice) }}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
{% if not user_registration_form %}
|
||||
<p class="extra-info-realm-creation-import-from registration-form-hint">
|
||||
{% trans %}
|
||||
Learn how to import from
|
||||
<a href="/help/import-from-mattermost">Mattermost</a> or
|
||||
<a href="/help/import-from-rocketchat">Rocket.Chat</a>.
|
||||
{% endtrans %}
|
||||
</p>
|
||||
{% endif %}
|
||||
</div>
|
||||
<label for="import_from" class="inline-block">
|
||||
{{ _('Import chat history?') }}
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,20 @@
|
||||
<div class="realm-creation-editable-inputs {% if user_registration_form and not form.realm_subdomain.errors %}hide{% endif %}">
|
||||
<div class="input-box">
|
||||
<div class="inline-block relative">
|
||||
<input id="id_team_name" class="required" type="text"
|
||||
value="{% if form.realm_name.value() %}{{ form.realm_name.value() }}{% endif %}"
|
||||
name="realm_name" maxlength="{{ MAX_REALM_NAME_LENGTH }}" required {% if not user_registration_form %}autofocus{% endif %} />
|
||||
</div>
|
||||
<label for="id_team_name" class="inline-block label-title">
|
||||
{{ _('Organization name') }}
|
||||
<a href="/help/create-your-organization-profile" target="_blank" rel="noopener noreferrer">
|
||||
<i class="fa fa-question-circle-o" aria-hidden="true"></i>
|
||||
</a>
|
||||
</label>
|
||||
{% if form.realm_name.errors %}
|
||||
{% for error in form.realm_name.errors %}
|
||||
<p class="help-inline text-error">{{ error }}</p>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,35 @@
|
||||
<div class="realm-creation-editable-inputs {% if user_registration_form and not form.realm_subdomain.errors %}hide{% endif %}">
|
||||
<div class="input-box">
|
||||
<label class="static org-url">
|
||||
{{ _('Organization URL') }}
|
||||
</label>
|
||||
{% if root_domain_available %}
|
||||
<label class="checkbox static" for="realm_in_root_domain">
|
||||
<input type="checkbox" name="realm_in_root_domain" id="realm_in_root_domain"
|
||||
{% if not form.realm_subdomain.value() and not form.realm_subdomain.errors %}checked="checked"{% endif %}/>
|
||||
<span class="rendered-checkbox"></span>
|
||||
{% trans %}Use {{ external_host }}{% endtrans %}
|
||||
</label>
|
||||
{% endif %}
|
||||
|
||||
<div id="subdomain_section" {% if root_domain_available and
|
||||
not form.realm_subdomain.errors and not form.realm_subdomain.value() %}style="display: none;"{% endif %}>
|
||||
<div class="or"><span>{{ _('OR') }}</span></div>
|
||||
<div class="inline-block relative">
|
||||
<input id="id_team_subdomain"
|
||||
class="{% if root_domain_landing_page %}required{% endif %} subdomain" type="text"
|
||||
placeholder="acme"
|
||||
value="{% if form.realm_subdomain.value() %}{{ form.realm_subdomain.value() }}{% endif %}"
|
||||
name="realm_subdomain" maxlength="{{ MAX_REALM_SUBDOMAIN_LENGTH }}"
|
||||
{% if root_domain_landing_page %}required{% endif %} />
|
||||
<label for="id_team_subdomain" class="realm_subdomain_label">.{{ external_host }}</label>
|
||||
<p id="id_team_subdomain_error_client" class="error help-inline text-error"></p>
|
||||
</div>
|
||||
{% if form.realm_subdomain.errors %}
|
||||
{% for error in form.realm_subdomain.errors %}
|
||||
<p class="error help-inline text-error team_subdomain_error_server">{{ error }}</p>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
Reference in New Issue
Block a user