2016-05-12 13:53:41 +02:00
<h1><i class="icon-vector-wrench settings-icon"></i> {{ t "Settings" }} </h1>
2013-04-03 23:17:20 +02:00
2013-12-16 16:29:01 +01:00
<div id="settings-change-box">
2013-10-25 20:47:03 +02:00
2013-12-16 16:29:01 +01:00
<div class="alert" id="settings-status"></div>
2013-10-25 23:52:45 +02:00
2013-12-16 16:29:01 +01:00
<div id="account-settings" class="settings-section">
2016-09-14 02:20:13 +02:00
<div class="settings-section-title">
<i class="icon-vector-user settings-section-icon"></i>
{{ t "Your Account" }}
</div>
2013-12-16 16:29:01 +01:00
<div class="account-settings-form">
<form action="/json/settings/change" method="post"
2014-02-13 23:47:57 +01:00
class="form-horizontal your-account-settings">
2016-09-14 02:20:13 +02:00
<div class="input-group" id="name_change_container">
<label for="full_name"> {{ t "Full name" }} </label>
<input type="text" name="full_name" id="full_name" value=" {{ page_params .fullname }} " />
2013-12-16 16:29:01 +01:00
</div>
2013-10-21 01:04:25 +02:00
2016-09-14 02:20:13 +02:00
<!-- password start -->
2014-02-13 23:47:57 +01:00
{{ # if page_params .password_auth_enabled }}
2016-09-14 02:20:13 +02:00
<div class="input-group" id="pw_change_link">
<label for="change_password_button"> {{ t "Password" }} </label>
<button class="change_password_button button" data-dismiss="modal" aria-hidden="true"> {{ t "Change Password" }} </button>
2013-12-16 16:29:01 +01:00
</div>
2013-10-21 01:04:25 +02:00
2013-12-16 16:29:01 +01:00
<div id="pw_change_controls">
2016-09-14 02:20:13 +02:00
<div class="input-group">
<label for="old_password"> {{ t "Old password" }} </label>
<input type="password" autocomplete="off" name="old_password" id="old_password" value="" />
(<a href="/accounts/password/reset/" target="_blank"> {{ t "Forgotten it?" }} </a>)
2013-12-16 16:29:01 +01:00
</div>
2013-10-28 15:49:38 +01:00
2016-09-14 02:20:13 +02:00
<div class="input-group">
<label for="new_password"> {{ t "New password" }} </label>
<input type="password" autocomplete="off" name="new_password" id="new_password" value="" />
2013-10-28 15:49:38 +01:00
</div>
2013-08-08 18:24:07 +02:00
2016-09-14 02:20:13 +02:00
<div class="input-group">
<label> {{ t "Password strength" }} </label>
<div class="progress" id="pw_strength">
<div class="bar bar-danger fade" style="width: 10%;"></div>
2013-12-16 16:29:01 +01:00
</div>
</div>
2013-10-28 15:49:38 +01:00
2016-09-14 02:20:13 +02:00
<div class="input-group">
<label for="confirm_password"> {{ t "Confirm password" }} </label>
<input type="password" autocomplete="off" name="confirm_password" id="confirm_password" value="" />
2013-12-16 16:29:01 +01:00
</div>
2013-10-28 15:49:38 +01:00
</div>
2014-02-13 23:47:57 +01:00
{{ / if }}
2013-10-25 23:52:45 +02:00
2016-09-14 02:20:13 +02:00
<div class="input-group">
<input type="submit" class="button green" name="change_settings" value="Save Changes" />
2013-12-16 16:29:01 +01:00
</div>
2014-02-03 14:07:03 +01:00
2016-09-14 02:20:13 +02:00
<div class="input-group">
<img id="user-settings-avatar" src=" {{ page_params .avatar_url }} " />
2014-02-03 14:07:03 +01:00
<div id="user_avatar_file_input_error" class="text-error"></div>
<div id="user_avatar_file"></div>
2016-05-12 13:53:41 +02:00
<input type="file" name="user_avatar_file_input" class="notvisible" id="user_avatar_file_input" value=" {{ t 'Upload avatar' }} " />
2014-02-03 14:07:03 +01:00
<div id="upload_avatar_spinner"></div>
2016-09-14 02:20:13 +02:00
<button class="button standalone" id="user_avatar_upload_button"> {{ t 'Customize avatar' }} </button>
2014-02-03 14:07:03 +01:00
</div>
2013-12-16 16:29:01 +01:00
</form>
2013-10-25 23:52:45 +02:00
2013-12-16 16:29:01 +01:00
</div>
</div>
2013-05-28 23:10:11 +02:00
2015-08-19 22:35:46 +02:00
<div>
<div id="display-settings" class="settings-section">
2016-09-14 02:20:13 +02:00
<div class="settings-section-title">
<i class="icon-vector-time settings-section-icon"></i>
{{ t 'Display Settings' }}
</div>
2015-08-19 22:35:46 +02:00
<div class="alert" id="display-settings-status"></div>
2016-09-14 02:20:13 +02:00
<form class="display-settings-form">
2015-08-20 23:59:44 +02:00
2016-09-14 02:20:13 +02:00
<div class="input-group">
<label for="default_language" class="inline-block"> {{ t "Default Language" }} : <span id='default_language_name'> {{ page_params .default_language_name }} </span></label>
2016-08-02 15:03:42 +02:00
<a id="default_language" href="#default_language" title='Change default language'>[Change]</a>
2016-09-14 02:20:13 +02:00
</div>
<div id="default_language_modal" class="modal hide" tabindex="-1" role="dialog"
aria-labelledby="default_language_modal_label" aria-hidden="true">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">× </button>
<h3 id="default_language_modal_label"> {{ t "Select Default Language" }} </h3>
</div>
<div class="modal-body">
<p>
The following is a few of the languages we have started to
support or are hoping to support in the near future. We would
love help translating; if you're interested in helping, make an
account at <a href='https://www.transifex.com/zulip/zulip/'>
https://www.transifex.com/zulip/zulip/</a>, and sign up for a
language! You can also request any language we don't currently
have. It only takes a few hours to translate the most important
parts of the app.
</p>
<div>
<table>
{{ # each page_params .language_list_dbl_col }}
<tr>
<td>
<a class="language" data-code=" {{ this .first .code }} " data-name=" {{ this .first .name }} ">
{{ # if this .first .selected }}
<b> {{ this .first .percent }} </b>
{{ else }}
{{ this .first .percent }}
{{ / if }}
</a>
</td>
<td>
<a class="language" data-code=" {{ this .second .code }} " data-name=" {{ this .second .name }} ">
{{ # if this .second .selected }}
<b> {{ this .second .percent }} </b>
{{ else }}
{{ this .second .percent }}
{{ / if }}
</a>
</td>
</tr>
{{ / each }}
</table>
2016-08-02 15:03:42 +02:00
</div>
</div>
2016-09-14 02:20:13 +02:00
<div class="modal-footer">
<button class="btn btn-primary" data-dismiss="modal" aria-hidden="true"> {{ t "Close" }} </button>
</div>
2016-06-23 11:32:45 +02:00
</div>
2016-09-14 02:20:13 +02:00
<div class="input-group thinner">
<input type="checkbox" class="inline-block" name="left_side_userlist" id="left_side_userlist"
{{ # if page_params .left_side_userlist }}
checked="checked"
{{ / if }} />
<label for="left_side_userlist" class="inline-block"> {{ t "Display user list on left side in narrow windows." }} </label>
2015-08-20 23:59:44 +02:00
</div>
2016-09-14 02:20:13 +02:00
<div class="input-group thinner">
<input type="checkbox" class="inline-block" name="twenty_four_hour_time" id="twenty_four_hour_time"
{{ # if page_params .twenty_four_hour_time }}
checked="checked"
{{ / if }} />
<label for="twenty_four_hour_time" class="inline-block">
2016-05-12 13:53:41 +02:00
{{ t "Display time in 24-hour format (17:00 instead of 5:00 PM)" }}
2015-08-19 22:35:46 +02:00
</label>
</div>
2016-09-14 02:20:13 +02:00
</form>
2015-08-19 22:35:46 +02:00
</div>
</div>
2014-02-12 17:22:56 +01:00
<div>
2013-10-21 01:04:25 +02:00
<div id="notification-settings" class="settings-section">
2016-09-14 02:20:13 +02:00
<div class="settings-section-title">
<i class="icon-vector-warning-sign settings-section-icon"></i>
{{ t "Notifications" }}
</div>
<form class="notification-settings-form">
<div class="notification-reminder w-70 padded-container center-block"> {{ # tr this }} You'll receive notifications when a message arrives and __page_params.product_name__ isn't in focus or the message is offscreen. {{ / tr }} </div>
<div class="alert" id="notify-settings-status"></div>
2016-05-12 13:53:41 +02:00
<h4> {{ t "Stream messages" }} </h4>
2014-02-05 21:41:01 +01:00
2016-09-14 02:20:13 +02:00
<div class="padded-container">
<p> {{ t "Unless I say otherwise for a particular stream, I want:" }} </p>
2014-02-05 21:41:01 +01:00
2016-09-14 02:20:13 +02:00
<div class="input-group thinner">
<input type="checkbox" class="inline-block" name="enable_stream_desktop_notifications"
2014-02-05 21:41:01 +01:00
id="enable_stream_desktop_notifications"
2014-02-13 23:47:57 +01:00
{{ # if page_params .stream_desktop_notifications_enabled }}
2016-06-22 02:48:34 +02:00
checked="checked"
2014-02-13 23:47:57 +01:00
{{ / if }} />
2016-09-14 02:20:13 +02:00
<label for="enable_stream_desktop_notifications" class="inline-block">
{{ t "Desktop notifications" }}
</label>
<div class="propagate_stream_notifications_change"></div>
2014-02-05 21:41:01 +01:00
</div>
2016-09-14 02:20:13 +02:00
<div class="input-group thinner">
<input type="checkbox" class="inline-block" name="enable_stream_sounds" id="enable_stream_sounds"
2014-02-13 23:47:57 +01:00
{{ # if page_params .stream_sounds_enabled }}
2016-06-22 02:48:34 +02:00
checked="checked"
2014-02-13 23:47:57 +01:00
{{ / if }} />
2016-09-14 02:20:13 +02:00
<label for="enable_stream_sounds" class="inline-block">
{{ t "Audible notifications" }}
</label>
<div class="propagate_stream_notifications_change"></div>
2014-02-05 21:41:01 +01:00
</div>
2016-09-14 02:20:13 +02:00
<p class="notification-settings-note">
{{ # tr this }} Change notification settings for individual streams on your <a href="/#subscriptions">Streams page</a>. {{ / tr }}
</p>
</div>
2014-02-05 21:41:01 +01:00
2016-05-12 13:53:41 +02:00
<h4> {{ t "Private messages and @-mentions" }} </h4>
2014-02-05 21:41:01 +01:00
2016-09-14 02:20:13 +02:00
<div class="padded-container">
<p> {{ t "I want:" }} </p>
2014-02-05 21:41:01 +01:00
2016-09-14 02:20:13 +02:00
<div class="input-group thinner">
<input type="checkbox" class="inline-block" name="enable_desktop_notifications" id="enable_desktop_notifications"
2014-02-13 23:47:57 +01:00
{{ # if page_params .desktop_notifications_enabled }}
2016-06-22 02:48:34 +02:00
checked="checked"
2014-02-13 23:47:57 +01:00
{{ / if }} />
2016-09-14 02:20:13 +02:00
<label for="enable_desktop_notifications" class="inline-block">
{{ t "Desktop notifications" }}
</label>
2013-08-08 18:24:07 +02:00
</div>
2013-10-08 02:38:42 +02:00
2016-09-14 02:20:13 +02:00
<div class="input-group thinner">
<input type="checkbox" class="inline-block" name="enable_sounds" id="enable_sounds"
2014-02-13 23:47:57 +01:00
{{ # if page_params .sounds_enabled }}
2016-06-22 02:48:34 +02:00
checked="checked"
2014-02-13 23:47:57 +01:00
{{ / if }} />
2016-09-14 02:20:13 +02:00
<label for="enable_sounds" class="inline-block">
{{ t "Audible notifications" }}
</label>
2013-08-08 18:24:07 +02:00
</div>
2013-04-03 22:47:59 +02:00
2016-09-14 02:20:13 +02:00
<div class="input-group thinner">
<input type="checkbox" class="inline-block" name="enable_offline_email_notifications" id="enable_offline_email_notifications"
2014-02-13 23:47:57 +01:00
{{ # if page_params .enable_offline_email_notifications }}
2016-06-22 02:48:34 +02:00
checked="checked"
2014-02-13 23:47:57 +01:00
{{ / if }} />
2016-09-14 02:20:13 +02:00
<label for="enable_offline_email_notifications" class="inline-block">
{{ t "Email notifications when offline" }}
</label>
2013-08-08 18:24:07 +02:00
</div>
2013-05-07 23:19:52 +02:00
2016-09-14 02:20:13 +02:00
<div class="input-group thinner">
<input type="checkbox" class="inline-block" name="enable_offline_push_notifications" id="enable_offline_push_notifications"
2014-02-13 23:47:57 +01:00
{{ # if page_params .enable_offline_push_notifications }}
2016-06-22 02:48:34 +02:00
checked="checked"
2014-02-13 23:47:57 +01:00
{{ / if }} />
2016-09-14 02:20:13 +02:00
<label for="enable_offline_push_notifications" class="inline-block">
{{ t "Mobile push notifications when offline" }}
</label>
2013-10-16 17:24:52 +02:00
</div>
</div>
2016-04-08 20:42:45 +02:00
<div id="other_notifications">
2014-02-05 21:41:01 +01:00
2016-09-14 02:20:13 +02:00
<h4> {{ t "Other notifications" }} {{ t "I want" }} :</h4>
2014-02-05 21:41:01 +01:00
2016-09-14 02:20:13 +02:00
<div class="padded-container">
<div class="input-group no-margin" id="digest_container">
<input type="checkbox" class="inline-block" name="enable_digest_emails" id="enable_digest_emails"
2014-02-13 23:47:57 +01:00
{{ # if page_params .enable_digest_emails }}
2016-06-22 02:48:34 +02:00
checked="checked"
2014-02-13 23:47:57 +01:00
{{ / if }} />
2016-09-14 02:20:13 +02:00
<label for="enable_digest_emails" class="inline-block">
{{ t "Digest emails when I'm away" }}
</label>
2013-12-02 02:00:23 +01:00
</div>
</div>
2016-04-08 20:42:45 +02:00
{{ ! - - If you add another control group here , make sure to change
$("#other_notifications").hide(); in settings.js to
$("#digest_container").hide();
--}}
</div>
2013-12-02 02:00:23 +01:00
2016-09-14 02:20:13 +02:00
<div class="input-group">
2013-10-21 01:04:25 +02:00
<div class="controls notification-submission">
2014-02-12 17:22:56 +01:00
<input type="submit" id="change_notification_settings"
2016-09-14 02:20:13 +02:00
name="change_notification_settings" value=" {{ t 'Save Changes' }} "
class="button green" />
2013-08-08 18:24:07 +02:00
</div>
2013-04-03 22:47:59 +02:00
</div>
2016-09-14 02:20:13 +02:00
</form>
2013-10-25 20:47:03 +02:00
</div>
2014-02-12 17:22:56 +01:00
</div>
2013-12-16 16:29:01 +01:00
</div>
2013-08-08 18:24:07 +02:00
2013-12-16 16:29:01 +01:00
<div id="bot-settings" class="settings-section">
2013-10-25 20:47:03 +02:00
2016-09-14 02:20:13 +02:00
<div class="settings-section-title">
<i class="icon-vector-github settings-section-icon"></i>
{{ t "Your Bots" }}
</div>
2013-10-25 20:47:03 +02:00
2013-12-16 16:29:01 +01:00
<div class="bot-settings-form">
2016-05-12 13:53:41 +02:00
{{ # tr this }}
2016-09-14 02:20:13 +02:00
<p class="bot-settings-note padded-container">
Looking for our <a href="/integrations" target="_blank">Integrations</a>
or <a href=" {{ server_uri }} /api" target="_blank">API</a> documentation?
</p>
2016-05-12 13:53:41 +02:00
{{ / tr }}
2013-09-17 23:03:36 +02:00
2013-08-08 18:24:07 +02:00
<ol id="bots_list">
</ol>
2013-06-27 22:36:41 +02:00
<div id="bot_table_error" class="alert alert-error hide"></div>
2016-09-14 02:20:13 +02:00
<div class="add-new-bot-box grey-bg">
<form id="create_bot_form" class="form-horizontal no-padding">
<h4 class="new-bot-section-title light no-margin">Add a New Bot</h4>
2013-11-16 19:43:14 +01:00
<div class="new-bot-form">
2016-09-14 02:20:13 +02:00
<div class="input-group">
<label for="create_bot_name"> {{ t "Full name" }} </label>
2013-11-16 19:43:14 +01:00
<input type="text" name="bot_name" id="create_bot_name" class="required"
2016-06-13 08:40:35 +02:00
maxlength=100 placeholder=" {{ t 'Full Bot Name' }} " value="" />
2013-11-16 19:43:14 +01:00
<div><label for="create_bot_name" generated="true" class="text-error"></label></div>
</div>
2016-09-14 02:20:13 +02:00
<div class="input-group">
<label for="bot_short_name"> {{ t "Username" }} </label>
2013-11-16 19:43:14 +01:00
<input type="text" name="bot_short_name" id="create_bot_short_name" class="required bot_local_part"
2016-09-14 02:20:13 +02:00
placeholder=" {{ t 'bot_user_name' }} " value="" />
- {{ t "bot" }} @ {{ page_params .domain }}
<div>
<label for="create_bot_short_name" generated="true" class="text-error"></label>
</div>
2013-11-16 19:43:14 +01:00
</div>
2016-09-14 02:20:13 +02:00
<div class="input-group new-bot-ui">
<label for="create_bot_default_sending_stream"> {{ t "Send to stream" }} </label>
2014-02-11 19:53:55 +01:00
<select name="bot_default_sending_stream" id="create_bot_default_sending_stream"></select>
</div>
2016-09-14 02:20:13 +02:00
<div class="input-group new-bot-ui">
<label for="create_bot_default_events_register_stream"> {{ t "Listen on" }} </label>
2014-02-12 23:35:15 +01:00
<select name="bot_default_events_register_stream" id="create_bot_default_events_register_stream"></select>
</div>
2016-09-14 02:20:13 +02:00
<div class="input-group">
<div id="bot_avatar_file"></div>
<input type="file" name="bot_avatar_file_input" class="notvisible" id="bot_avatar_file_input" value=" {{ t 'Upload avatar' }} " />
<button class="btn btn-default display-none" id="bot_avatar_clear_button"> {{ t "Clear avatar" }} </button>
<button class="button white" id="bot_avatar_upload_button"> {{ t "Customize avatar" }} </button> ( {{ t "Optional" }} )
2013-11-16 19:43:14 +01:00
</div>
2013-11-16 19:53:39 +01:00
<p>
<div id="bot_avatar_file_input_error" class="text-error"></div>
</p>
2016-09-14 02:20:13 +02:00
<input type="submit" class="button" id="create_bot_button" value=" {{ t 'Create Bot' }} " />
2013-10-21 01:04:25 +02:00
</div>
2016-09-14 02:20:13 +02:00
</form>
</div>
2013-11-16 19:43:14 +01:00
2013-05-03 00:29:52 +02:00
<hr class="settings_separator" />
2013-12-16 16:29:01 +01:00
<div class="form-horizontal" id="api_key_button_box">
2016-09-14 02:20:13 +02:00
<div class="input-group side-padded-container">
{{ # tr this }}
<p class="api-key-note">For most bots using the API, you'll want to give each bot
its own name and API key using the above section. But if you
want to write a bot that can access your own private
messages, you should use your personal API key.
</p>
{{ / tr }}
<button class="button white" id="api_key_button"> {{ t "Show/change your API key" }} </button>
2013-05-28 20:03:38 +02:00
</div>
2013-12-16 16:29:01 +01:00
</div>
<div id="get_api_key_box">
2016-05-12 13:53:41 +02:00
{{ # tr this }}
2013-12-16 16:29:01 +01:00
<p>Please re-enter your password to confirm your identity.
2013-08-08 18:24:07 +02:00
(<a href="/accounts/password/reset/" target="_blank">Forgotten it?</a>)</p>
2016-05-12 13:53:41 +02:00
{{ / tr }}
2014-02-13 23:47:57 +01:00
<form action="/json/fetch_api_key" method="post" class="form-horizontal">
2013-12-16 16:29:01 +01:00
<div class="control-group">
2016-05-12 13:53:41 +02:00
<label for="password" class="control-label"> {{ t "Current password" }} </label>
2013-12-16 16:29:01 +01:00
<input type="password" autocomplete="off"
name="password" id="get_api_key_password" value="" />
2013-08-08 18:24:07 +02:00
</div>
2013-12-16 16:29:01 +01:00
<div class="control-group">
2016-05-12 13:53:41 +02:00
<input type="submit" name="view_api_key" value=" {{ t 'Get API key' }} "
2013-12-16 16:29:01 +01:00
class="btn btn-primary" />
</div>
</form>
2013-10-21 01:04:25 +02:00
</div>
2013-12-16 16:29:01 +01:00
<div id="show_api_key_box">
2016-05-12 13:53:41 +02:00
<p> {{ t "Your API key:" }} </p>
2013-12-16 16:29:01 +01:00
<p><b><span id="api_key_value"></span></b></p>
<button type="submit" class="btn btn-primary regenerate_api_key">
2016-05-12 13:53:41 +02:00
{{ t "Generate new API Key" }}
2013-12-16 16:29:01 +01:00
</button>
<div id="user_api_key_error text-error">
</div>
2013-10-25 20:47:03 +02:00
</div>
2013-10-21 01:04:25 +02:00
</div>
2013-12-16 16:29:01 +01:00
</div>
2016-06-24 01:53:49 +02:00
<div id="alert-word-settings" class="settings-section">
2016-09-14 02:20:13 +02:00
<div class="settings-section-title">
<i class="icon-vector-book settings-section-icon"></i>
{{ t "Custom Alert Words" }}
</div>
<form class="form-horizontal" id="alert_word_info_box">
2016-06-24 01:53:49 +02:00
{{ # tr this }}
<p class="alert-word-settings-note">
{{ t " Alert words allow you to be notified as if you were @ - mentioned
when certain words or phrases are used in Zulip."}}
</p>
{{ / tr }}
2016-09-14 02:20:13 +02:00
</form>
<ul id="alert_words_list"></ul>
2013-12-16 16:29:01 +01:00
</div>
2014-02-13 23:47:57 +01:00
<div class="ui-settings">
2013-12-16 16:29:01 +01:00
<div id="ui-settings" class="settings-section">
2016-05-12 13:53:41 +02:00
<div class="settings-section-title"><i class="icon-vector-beaker settings-section-icon"></i> {{ # tr this }} __page_params.product_name__ Labs {{ / tr }} </div>
2013-12-16 16:29:01 +01:00
<div class="alert" id="ui-settings-status"></div>
2016-09-14 02:20:13 +02:00
<form class="ui-settings-form">
<p class="input-group">
2016-05-12 13:53:41 +02:00
{{ t "Warning: the below features are experimental features and may not work as well as you would like." }}
2013-12-16 16:25:26 +01:00
</p>
2016-09-14 02:20:13 +02:00
<div class="input-group thinner">
<input type="checkbox" class="inline-block" name="autoscroll_forever" id="autoscroll_forever"
{{ # if page_params .autoscroll_forever }}
checked="checked"
{{ / if }} />
<label for="autoscroll_forever" class="inline-block">
2016-05-12 13:53:41 +02:00
{{ t "Always auto-scroll to new messages" }}
2013-12-16 16:29:01 +01:00
</label>
2016-09-14 02:20:13 +02:00
</div>
<div class="input-group thinner">
<input type="checkbox" class="inline-block" name="default_desktop_notifications" id="default_desktop_notifications"
{{ # if page_params .default_desktop_notifications }}
checked="checked"
{{ / if }} />
<label for="default_desktop_notifications" class="inline-block">
2016-05-12 13:53:41 +02:00
{{ t "Enable desktop notifications for new streams" }}
2014-01-16 22:48:50 +01:00
</label>
2013-12-16 16:29:01 +01:00
</div>
2016-09-14 02:20:13 +02:00
<div class="input-group">
<div class="ui-submission">
<input type="submit" name="change_settings" value=" {{ t 'Save Changes' }} " class="button green" />
2013-12-16 16:25:26 +01:00
</div>
2013-12-16 16:29:01 +01:00
</div>
2016-09-14 02:20:13 +02:00
</form>
2013-12-16 16:29:01 +01:00
</div>
2014-02-13 23:47:57 +01:00
</div>