zulip/static/templates/admin_tab.handlebars

277 lines
16 KiB
Handlebars
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<div class="row-fluid">
<div class="span12">
<div class="administration">
<div class="alert" id="administration-status"></div>
<h1><i class="icon-vector-bolt administration-icon"></i>{{t "Administration" }}</h1>
<ul class="nav nav-tabs" role="tablist">
<li role="presentation" class="active">
<a href="#organization" aria-controls="organization" role="tab" data-toggle="tab"><i class="icon-vector-gear settings-section-icon"></i> {{t "Organization settings" }}</a>
</li>
<li role="presentation">
<a href="#users" aria-controls="users" role="tab" data-toggle="tab"><i class="icon-vector-user settings-section-icon"></i> {{t "Users" }}</a>
</li>
<li role="presentation">
<a href="#deactivated-users" aria-controls="deactivated-users" role="tab" data-toggle="tab"><i class="icon-vector-trash settings-section-icon"></i> {{t "Deactivated Users" }}</a>
</li>
<li role="presentation">
<a href="#bots" aria-controls="bots" role="tab" data-toggle="tab"><i class="icon-vector-github settings-section-icon"></i> {{t "Bots" }}</a>
</li>
<li role="presentation">
<a href="#streams" aria-controls="streams" role="tab" data-toggle="tab"><i class="icon-vector-exchange settings-section-icon"></i> {{t "Streams Deletion" }}</a>
</li>
<li role="presentation">
<a href="#default-streams" aria-controls="default-streams" role="tab" data-toggle="tab"><i class="icon-vector-exchange settings-section-icon"></i> {{t "Default Streams" }}</a>
</li>
</ul>
<div class="tab-content">
<div role="tabpanel" class="tab-pane active" id="organization">
<div id="organization-settings" class="settings-section">
<div class="settings-section-title"><i class="icon-vector-gear settings-section-icon"></i>
{{t "Organization settings" }}</div>
<form class="form-horizontal admin-realm-form">
<div class="control-group admin-realm">
<div class="alert" id="admin-realm-name-status"></div>
<div class="alert" id="admin-realm-restricted-to-domain-status"></div>
<div class="alert" id="admin-realm-invite-required-status"></div>
<div class="alert" id="admin-realm-invite-by-admins-only-status"></div>
<div class="alert" id="admin-realm-create-stream-by-admins-only-status"></div>
<div class="alert" id="admin-realm-message-editing-status"></div>
<label for="realm_name" class="control-label">{{t "Your organization's name" }}</label>
<div class="controls">
<input type="text" id="id_realm_name" name="realm_name" class="admin-realm-name"
value="{{ realm_name }}" />
</div>
</div>
<div class="control-group">
<label for="realm_restricted_to_domain"
title="{{#tr this}}If checked, only users with an @__domain__ e-mail address will be able to join the organization.{{/tr}}"
class="control-label">
{{#tr this}}Users restricted to __domain__{{/tr}}
</label>
<div class="controls">
<input type="checkbox" id="id_realm_restricted_to_domain" name="realm_restricted_to_domain"
{{#if realm_restricted_to_domain}}checked="checked"{{/if}} />
</div>
</div>
<div class="control-group">
<label for="realm_invite_required"
title="{{t 'If checked, users must be invited in order to join your organization.' }}"
class="control-label">
{{t "E-mail invitation required" }}
</label>
<div class="controls">
<input type="checkbox" id="id_realm_invite_required" name="realm_invite_required"
{{#if realm_invite_required}}checked="checked"{{/if}} />
</div>
</div>
<div class="control-group">
<label for="realm_invite_by_admins_only"
id="id_realm_invite_by_admins_only_label"
title="{{t 'If checked, only administrators may invite new users.' }}"
class="control-label{{#unless realm_invite_required}} control-label-disabled{{/unless}}">
{{t "Only admins may invite" }}
</label>
<div class="controls">
<input type="checkbox" id="id_realm_invite_by_admins_only" name="realm_invite_by_admins_only"
{{#unless realm_invite_required}}disabled="disabled"{{/unless}}
{{#if realm_invite_by_admins_only}}checked="checked"{{/if}} />
</div>
</div>
<div class="control-group">
<label for="realm_create_stream_by_admins_only"
id="id_realm_create_stream_by_admins_only_label"
title="{{t 'If checked, only administrators may create new streams.'}}"
class="control-label">
{{t "Only admins may create streams" }}
</label>
<div class="controls">
<input type="checkbox" id="id_realm_create_stream_by_admins_only"
name="realm_create_stream_by_admins_only"
{{#if realm_create_stream_by_admins_only}}checked="checked"{{/if}} />
</div>
</div>
<div class="control-group">
<label for="realm_allow_message_editing"
title="{{t 'If checked, users can edit the content and topics of their old messages.' }}"
class="control-label">
{{t "Users can edit old messages" }}
</label>
<div class="controls">
<input type="checkbox" id="id_realm_allow_message_editing" name="realm_allow_message_editing"
{{#if realm_allow_message_editing}}checked="checked"{{/if}} />
</div>
</div>
<div class="control-group">
<label for="realm_message_content_edit_limit_minutes"
id="id_realm_message_content_edit_limit_minutes_label"
title="{{t 'If non-zero, users can edit their message for this many minutes after it is sent. If zero, users can edit all their past messages.' }}"
class="control-label{{#unless realm_allow_message_editing}} control-label-disabled{{/unless}}">
{{t 'Message edit limit in minutes (0 for no limit)' }}
</label>
<div class="controls">
<input type="text" id="id_realm_message_content_edit_limit_minutes"
name="realm_message_content_edit_limit_minutes"
class="admin-realm-message-content-edit-limit-minutes"
value="{{ realm_message_content_edit_limit_minutes }}"
{{#unless realm_allow_message_editing}}disabled="disabled"{{/unless}} />
</div>
</div>
<div class="controls organization-submission">
<input type="submit" class="btn btn-big btn-primary" value="{{t 'Save changes' }}" />
</div>
</form>
</div>
<div id="emoji-settings" class="settings-section">
<div class="settings-section-title"><i class="icon-vector-smile settings-section-icon"></i>
{{t "Custom emoji" }}</div>
<div class="admin-table-wrapper">
<p>{{#tr this}}Add extra emoji for members of the __realm_name__ organization.{{/tr}}</p>
<table class="table table-condensed table-striped admin_emoji_table">
<tbody id="admin_emoji_table">
<th>{{t "Name" }}</th>
<th class="image">{{t "Image" }}</th>
<th class="actions">{{t "Actions" }}</th>
</tbody>
</table>
</div>
<form class="form-horizontal admin-emoji-form">
<div class="add-new-emoji-box">
<div class="new-emoji-form">
<div class="settings-section-title new-emoji-section-title">{{t "Add a New Emoji" }}</div>
<div class="alert" id="admin-emoji-status"></div>
<div class="control-group">
<label for="emoji_name" class="control-label">{{t "Emoji name" }}</label>
<input type="text" name="name" id="emoji_name" placeholder="{{t 'mouse_face' }}" />
<div class="alert" id="admin-emoji-name-status"></div>
</div>
<div class="control-group">
<label for="emoji_url" class="control-label">{{t "Emoji URL" }}</label>
<input type="text" name="url" id="emoji_url" placeholder="http://emojipedia-us.s3.amazonaws.com/cache/46/7f/467fe69069c408e07517621f263ea9b5.png" />
<div class="alert" id="admin-emoji-url-status"></div>
</div>
<div class="control-group">
<div class="controls">
<input type="submit" class="btn btn-big btn-primary" value="{{t 'Add emoji' }}" />
</div>
</div>
</div>
</div>
</form>
</div>
</div>
<div role="tabpanel" class="tab-pane" id="users">
<div id="admin-user-list" class="settings-section">
<div class="settings-section-title"><i class="icon-vector-user settings-section-icon"></i>
{{t "Users" }}</div>
<table class="table table-condensed table-striped">
<tbody id="admin_users_table" class="admin_user_table">
<th>{{t "Name" }}</th>
<th>{{t "Email" }}</th>
<th>{{t "Actions" }}</th>
</tbody>
</table>
<div id="admin_page_users_loading_indicator"></div>
</div>
</div>
<div role="tabpanel" class="tab-pane" id="deactivated-users">
<div id="admin-deactivated-users-list" class="settings-section">
<div class="settings-section-title"><i class="icon-vector-trash settings-section-icon"></i>
{{t "Deactivated Users" }}</div>
<table class="table table-condensed table-striped">
<tbody id="admin_deactivated_users_table" class="admin_user_table">
<th>{{t "Name" }}</th>
<th>{{t "Email" }}</th>
<th>{{t "Actions" }}</th>
</tbody>
</table>
<div id="admin_page_deactivated_users_loading_indicator"></div>
</div>
</div>
<div role="tabpanel" class="tab-pane" id="bots">
<div id="admin-user-list" class="settings-section">
<div class="settings-section-title"><i class="icon-vector-github settings-section-icon"></i>
{{t "Bots" }}</div>
<table class="table table-condensed table-striped">
<tbody id="admin_bots_table" class="admin_bot_table">
<th>{{t "Name" }}</th>
<th>{{t "Email" }}</th>
<th>{{t "Owner" }}</th>
<th>{{t "Actions" }}</th>
</tbody>
</table>
<div id="admin_page_bots_loading_indicator"></div>
</div>
</div>
<div role="tabpanel" class="tab-pane" id="streams">
<div id="admin-streams-list" class="settings-section">
<div class="settings-section-title"><i class="icon-vector-exchange settings-section-icon"></i>
{{t "Streams Deletion" }}</div>
<p class="admin-streams-note">Most stream administration is done on the <a href="/#subscriptions">subscriptions page</a>.</p>
<table class="table table-condensed table-striped">
<tbody id="admin_streams_table" class="admin_stream_table">
<th>{{t "Name" }}</th>
<th>{{t "Actions" }}</th>
</tbody>
</table>
<div id="admin_page_streams_loading_indicator"></div>
</div>
</div>
<div role="tabpanel" class="tab-pane" id="default-streams">
<div id="admin-default-streams-list" class="settings-section">
<div class="settings-section-title"><i class="icon-vector-exchange settings-section-icon"></i>
{{t "Default Streams"}}</div>
<div class="admin-table-wrapper">
<p>{{#tr this}}Configure the default streams new users are subscribed to when joining the {{domain}} organization.{{/tr}}</p>
<table class="table table-condensed table-striped">
<tbody id="admin_default_streams_table" class="admin_default_stream_table">
<th>{{t "Name" }}</th>
<th class="actions">{{t "Actions" }}</th>
</tbody>
</table>
</div>
<div id="admin_page_default_streams_loading_indicator"></div>
<form class="form-horizontal default-stream-form">
<div class="add-new-default-stream-box">
<div class="new-default-stream-section-title">{{t "Add New Default Stream" }}</div>
<div class="control-group" id="default_stream_inputs">
<label for="default_stream_name" class="control-label">{{t "Stream Name" }}</label>
<input class="create_default_stream" type="text" placeholder="{{t "Stream Name" }}" name="stream_name" autocomplete="off"></input>
</div>
</div>
</form>
</div>
</div>
</div>
<div id="deactivation_user_modal" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="deactivation_user_modal_label" aria-hidden="true">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h3 id="deactivation_user_modal_label">{{t "Deactivate" }} <span class="email"></span></h3>
</div>
<div class="modal-body">
<p>{{#tr this}}By deactivating <strong><span class="user_name"></span></strong> &lt;<span class="email"></span>&gt;, they will be logged out immediately.{{/tr}}</p>
<p>{{t "Their password will be cleared from our systems, and any bots they maintain will be disabled." }}</p>
</div>
<div class="modal-footer">
<button class="btn btn-default" data-dismiss="modal" aria-hidden="true">{{t "Cancel" }}</button>
<button class="btn btn-danger" id="do_deactivate_user_button">{{t "Deactivate now" }}</button>
</div>
</div>
<div id="deactivation_stream_modal" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="deactivation_stream_modal_label" aria-hidden="true">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h3 id="deactivation_stream_modal_label">{{t "Delete stream" }} <span class="stream_name"></span></h3>
</div>
<div class="modal-body">
<p>{{t "Deleting this stream will immediately unsubscribe everyone, and the stream's content will not be recoverable." }} <strong>{{t "Are you sure you want to do this?" }}</strong></p>
</div>
<div class="modal-footer">
<button class="btn btn-default" data-dismiss="modal" aria-hidden="true">{{t "Cancel" }}</button>
<button class="btn btn-danger" id="do_deactivate_stream_button">{{t "Yes, delete this stream" }}</button>
</div>
</div>
</div>
</div>
</div>