297 lines
12 KiB
Handlebars
297 lines
12 KiB
Handlebars
<section class='user-content user-preferences'>
|
|
|
|
<form class="form-horizontal">
|
|
|
|
<div class="control-group save-button" id='save-button-top'>
|
|
<div class="controls">
|
|
{{partial 'user/preferences/save-button'}}
|
|
</div>
|
|
</div>
|
|
|
|
<div class="control-group pref-username">
|
|
<label class="control-label">{{i18n 'user.username.title'}}</label>
|
|
<div class="controls">
|
|
<span class='static'>{{model.username}}</span>
|
|
{{#if model.can_edit_username}}
|
|
{{#link-to "preferences.username" class="btn btn-small pad-left no-text"}}<i class="fa fa-pencil"></i>{{/link-to}}
|
|
{{/if}}
|
|
</div>
|
|
<div class='instructions'>
|
|
{{{i18n 'user.username.short_instructions' username=model.username}}}
|
|
</div>
|
|
</div>
|
|
|
|
{{#if canEditName}}
|
|
<div class="control-group pref-name">
|
|
<label class="control-label">{{i18n 'user.name.title'}}</label>
|
|
<div class="controls">
|
|
{{#if model.can_edit_name}}
|
|
{{text-field value=newNameInput classNames="input-xxlarge"}}
|
|
{{else}}
|
|
<span class='static'>{{model.name}}</span>
|
|
{{/if}}
|
|
</div>
|
|
<div class='instructions'>
|
|
{{nameInstructions}}
|
|
</div>
|
|
</div>
|
|
{{/if}}
|
|
|
|
{{#if canSelectTitle}}
|
|
<div class="control-group pref-title">
|
|
<label class="control-label">{{i18n 'user.title.title'}}</label>
|
|
<div class="controls">
|
|
<span class="static">{{model.title}}</span>
|
|
{{#link-to "preferences.badgeTitle" class="btn btn-small pad-left no-text"}}{{fa-icon "pencil"}}{{/link-to}}
|
|
</div>
|
|
</div>
|
|
{{/if}}
|
|
|
|
{{#if canCheckEmails}}
|
|
<div class="control-group pref-email">
|
|
<label class="control-label">{{i18n 'user.email.title'}}</label>
|
|
{{#if model.email}}
|
|
<div class="controls">
|
|
<span class='static'>{{model.email}}</span>
|
|
{{#if model.can_edit_email}}
|
|
{{#link-to "preferences.email" class="btn btn-small pad-left no-text"}}{{fa-icon "pencil"}}{{/link-to}}
|
|
{{/if}}
|
|
</div>
|
|
<div class='instructions'>
|
|
{{i18n 'user.email.instructions'}}
|
|
</div>
|
|
{{else}}
|
|
<div class="controls">
|
|
{{d-button action="checkEmail" actionParam=model title="admin.users.check_email.title" icon="envelope-o" label="admin.users.check_email.text"}}
|
|
</div>
|
|
{{/if}}
|
|
</div>
|
|
{{/if}}
|
|
|
|
{{#if canChangePassword}}
|
|
<div class="control-group pref-password">
|
|
<label class="control-label">{{i18n 'user.password.title'}}</label>
|
|
<div class="controls">
|
|
<a href {{action "changePassword"}} class='btn'>
|
|
{{fa-icon "envelope"}}
|
|
{{#if model.no_password}}
|
|
{{i18n 'user.change_password.set_password'}}
|
|
{{else}}
|
|
{{i18n 'user.change_password.action'}}
|
|
{{/if}}
|
|
</a>
|
|
{{passwordProgress}}
|
|
</div>
|
|
</div>
|
|
{{/if}}
|
|
|
|
<div class="control-group pref-avatar">
|
|
<label class="control-label">{{i18n 'user.avatar.title'}}</label>
|
|
<div class="controls">
|
|
{{! we want the "huge" version even though we're downsizing it to "large" in CSS }}
|
|
{{bound-avatar model "huge"}}
|
|
{{#unless siteSettings.sso_overrides_avatar}}
|
|
{{d-button action="showAvatarSelector" class="pad-left" icon="pencil"}}
|
|
{{/unless}}
|
|
</div>
|
|
</div>
|
|
|
|
{{#if siteSettings.allow_profile_backgrounds}}
|
|
<div class="control-group pref-profile-bg">
|
|
<label class="control-label">{{i18n 'user.change_profile_background.title'}}</label>
|
|
<div class="controls">
|
|
{{image-uploader imageUrl=model.profile_background type="profile_background"}}
|
|
</div>
|
|
<div class='instructions'>
|
|
{{i18n 'user.change_profile_background.instructions'}}
|
|
</div>
|
|
</div>
|
|
|
|
<div class="control-group pref-profile-bg">
|
|
<label class="control-label">{{i18n 'user.change_card_background.title'}}</label>
|
|
<div class="controls">
|
|
{{image-uploader imageUrl=model.card_background type="card_background"}}
|
|
</div>
|
|
<div class='instructions'>
|
|
{{i18n 'user.change_card_background.instructions'}}
|
|
</div>
|
|
</div>
|
|
{{/if}}
|
|
|
|
{{#if siteSettings.allow_user_locale}}
|
|
<div class="control-group pref-locale">
|
|
<label class="control-label">{{i18n 'user.locale.title'}}</label>
|
|
<div class="controls">
|
|
{{combo-box valueAttribute="value" content=availableLocales value=model.locale none="user.locale.default"}}
|
|
</div>
|
|
<div class='instructions'>
|
|
{{i18n 'user.locale.instructions'}}
|
|
</div>
|
|
</div>
|
|
{{/if}}
|
|
|
|
<div class="control-group pref-bio">
|
|
<label class="control-label">{{i18n 'user.bio'}}</label>
|
|
<div class="controls bio-composer">
|
|
{{d-editor value=model.bio_raw}}
|
|
</div>
|
|
</div>
|
|
|
|
{{#each uf in userFields}}
|
|
{{user-field field=uf.field value=uf.value}}
|
|
{{/each}}
|
|
<div class='clearfix'></div>
|
|
|
|
<div class="control-group pref-location">
|
|
<label class="control-label">{{i18n 'user.location'}}</label>
|
|
<div class="controls">
|
|
{{input type="text" value=model.location class="input-xxlarge" id='edit-location'}}
|
|
</div>
|
|
</div>
|
|
|
|
<div class="control-group pref-website">
|
|
<label class="control-label">{{i18n 'user.website'}}</label>
|
|
<div class="controls">
|
|
{{input type="text" value=model.website class="input-xxlarge"}}
|
|
</div>
|
|
</div>
|
|
|
|
<div class="control-group pref-card-badge">
|
|
<label class="control-label">{{i18n 'user.card_badge.title'}}</label>
|
|
<div class="controls">
|
|
{{#if model.card_image_badge}}
|
|
{{icon-or-image model.card_image_badge}}
|
|
{{/if}}
|
|
{{#link-to "preferences.card-badge" class="btn btn-small pad-left no-text"}}{{fa-icon "pencil"}}{{/link-to}}
|
|
</div>
|
|
</div>
|
|
|
|
<div class="control-group pref-email-settings">
|
|
<label class="control-label">{{i18n 'user.email_settings'}}</label>
|
|
{{#if canReceiveDigest}}
|
|
{{preference-checkbox labelKey="user.email_digests.title" checked=model.user_option.email_digests}}
|
|
{{#if model.user_option.email_digests}}
|
|
<div class='controls controls-dropdown'>
|
|
{{combo-box valueAttribute="value" content=digestFrequencies value=model.user_option.digest_after_minutes}}
|
|
</div>
|
|
{{preference-checkbox labelKey="user.include_tl0_in_digests" checked=model.user_option.include_tl0_in_digests}}
|
|
{{/if}}
|
|
{{/if}}
|
|
<br/>
|
|
<div class='controls controls-dropdown'>
|
|
<label>{{i18n 'user.email_previous_replies.title'}}</label>
|
|
{{combo-box valueAttribute="value" content=previousRepliesOptions value=model.user_option.email_previous_replies}}
|
|
</div>
|
|
{{preference-checkbox labelKey="user.email_in_reply_to" checked=model.user_option.email_in_reply_to}}
|
|
{{preference-checkbox labelKey="user.email_private_messages" checked=model.user_option.email_private_messages}}
|
|
{{preference-checkbox labelKey="user.email_direct" checked=model.user_option.email_direct}}
|
|
{{#unless siteSettings.disable_mailing_list_mode}}
|
|
{{preference-checkbox warning="checkMailingList" labelKey="user.mailing_list_mode" checked=model.user_option.mailing_list_mode}}
|
|
{{/unless}}
|
|
{{preference-checkbox labelKey="user.email_always" checked=model.user_option.email_always}}
|
|
{{#unless model.user_option.email_always}}
|
|
<div class='instructions'>
|
|
{{#if siteSettings.email_time_window_mins}}
|
|
{{i18n 'user.email.frequency' count=siteSettings.email_time_window_mins}}
|
|
{{else}}
|
|
{{i18n 'user.email.frequency_immediately'}}
|
|
{{/if}}
|
|
</div>
|
|
{{/unless}}
|
|
|
|
|
|
|
|
</div>
|
|
|
|
<div class="control-group notifications">
|
|
<label class="control-label">{{i18n 'user.desktop_notifications.label'}}</label>
|
|
{{desktop-notification-config}}
|
|
<div class="instructions">{{i18n 'user.desktop_notifications.each_browser_note'}}</div>
|
|
</div>
|
|
|
|
<div class="control-group other">
|
|
<label class="control-label">{{i18n 'user.other_settings'}}</label>
|
|
|
|
<div class="controls controls-dropdown">
|
|
<label>{{i18n 'user.new_topic_duration.label'}}</label>
|
|
{{combo-box valueAttribute="value" content=considerNewTopicOptions value=model.user_option.new_topic_duration_minutes}}
|
|
</div>
|
|
|
|
<div class="controls controls-dropdown">
|
|
<label>{{i18n 'user.auto_track_topics'}}</label>
|
|
{{combo-box valueAttribute="value" content=autoTrackDurations value=model.user_option.auto_track_topics_after_msecs}}
|
|
</div>
|
|
|
|
<div class="controls controls-dropdown">
|
|
<label>{{i18n 'user.like_notification_frequency.title'}}</label>
|
|
{{combo-box valueAttribute="value" content=likeNotificationFrequencies value=model.user_option.like_notification_frequency}}
|
|
</div>
|
|
|
|
{{preference-checkbox labelKey="user.external_links_in_new_tab" checked=model.user_option.external_links_in_new_tab}}
|
|
{{preference-checkbox labelKey="user.enable_quoting" checked=model.user_option.enable_quoting}}
|
|
{{preference-checkbox labelKey="user.dynamic_favicon" checked=model.user_option.dynamic_favicon}}
|
|
{{preference-checkbox labelKey="user.disable_jump_reply" checked=model.user_option.disable_jump_reply}}
|
|
{{#unless siteSettings.edit_history_visible_to_public}}
|
|
{{preference-checkbox labelKey="user.edit_history_public" checked=model.user_option.edit_history_public}}
|
|
{{/unless}}
|
|
|
|
{{plugin-outlet "user-custom-preferences"}}
|
|
</div>
|
|
|
|
<div class="control-group category">
|
|
<label class="control-label">{{i18n 'user.categories_settings'}}</label>
|
|
<div class="controls category-controls">
|
|
<label><span class="icon fa fa-exclamation-circle watching"></span> {{i18n 'user.watched_categories'}}</label>
|
|
{{category-group categories=model.watchedCategories blacklist=selectedCategories}}
|
|
</div>
|
|
<div class="instructions">{{i18n 'user.watched_categories_instructions'}}</div>
|
|
<div class="controls category-controls">
|
|
<label><span class="icon fa fa-circle tracking"></span> {{i18n 'user.tracked_categories'}}</label>
|
|
{{category-group categories=model.trackedCategories blacklist=selectedCategories}}
|
|
</div>
|
|
<div class="instructions">{{i18n 'user.tracked_categories_instructions'}}</div>
|
|
<div class="controls category-controls">
|
|
<label><span class="icon fa fa-times-circle muted"></span> {{i18n 'user.muted_categories'}}</label>
|
|
{{category-group categories=model.mutedCategories blacklist=selectedCategories}}
|
|
</div>
|
|
<div class="instructions">{{i18n 'user.muted_categories_instructions'}}</div>
|
|
<div class="controls category-controls">
|
|
<a href="{{unbound model.mutedTopicsPath}}">{{i18n 'user.muted_topics_link'}}</a>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="control-group muting">
|
|
<label class="control-label">{{i18n 'user.users'}}</label>
|
|
<div class="controls category-controls">
|
|
<label><span class="icon fa fa-times-circle muted"></span> {{i18n 'user.muted_users'}}</label>
|
|
{{user-selector excludeCurrentUser=true usernames=model.muted_usernames class="user-selector"}}
|
|
</div>
|
|
<div class="instructions">{{i18n 'user.muted_users_instructions'}}</div>
|
|
</div>
|
|
|
|
{{#if siteSettings.automatically_unpin_topics}}
|
|
<div class="control-group topics">
|
|
<label class="control-label">{{i18n 'categories.topics'}}</label>
|
|
{{preference-checkbox labelKey="user.automatically_unpin_topics" checked=model.user_option.automatically_unpin_topics}}
|
|
</div>
|
|
{{/if}}
|
|
|
|
{{plugin-outlet "user-custom-controls"}}
|
|
|
|
<div class="control-group save-button">
|
|
<div class="controls">
|
|
{{partial 'user/preferences/save-button'}}
|
|
</div>
|
|
</div>
|
|
|
|
{{#if model.canDeleteAccount}}
|
|
<div class="control-group delete-account">
|
|
<hr/>
|
|
<div class="controls">
|
|
{{d-button action="delete" disabled=deleteDisabled class="btn-danger" icon="trash-o" label="user.delete_account"}}
|
|
</div>
|
|
</div>
|
|
{{/if}}
|
|
</form>
|
|
</section>
|