2015-05-19 10:56:32 -04:00
|
|
|
<section class="details {{unless model.active 'not-activated'}}">
|
2013-02-05 14:16:51 -05:00
|
|
|
|
2014-08-27 13:52:01 -04:00
|
|
|
<div class='user-controls'>
|
2016-01-19 10:41:07 -05:00
|
|
|
{{#if model.canViewProfile}}
|
2014-09-03 10:41:13 -04:00
|
|
|
{{#link-to 'user' model class="btn"}}
|
2015-03-17 17:59:05 -04:00
|
|
|
{{fa-icon "user"}}
|
2014-12-08 16:35:49 -05:00
|
|
|
{{i18n 'admin.user.show_public_profile'}}
|
2014-09-03 10:41:13 -04:00
|
|
|
{{/link-to}}
|
2016-01-19 10:41:07 -05:00
|
|
|
{{/if}}
|
2017-02-21 07:45:30 -05:00
|
|
|
{{#if model.can_view_action_logs}}
|
|
|
|
{{d-button action="viewActionLogs" actionParam=model.username icon="list-alt" label="admin.user.action_logs"}}
|
|
|
|
{{/if}}
|
2016-01-19 10:41:07 -05:00
|
|
|
{{#if model.active}}
|
2015-05-19 10:56:32 -04:00
|
|
|
{{#if model.can_impersonate}}
|
2016-12-20 06:26:53 -05:00
|
|
|
{{d-button class="btn-danger" action="impersonate" icon="crosshairs" label="admin.impersonate.title" title="admin.impersonate.help"}}
|
2014-09-03 10:41:13 -04:00
|
|
|
{{/if}}
|
|
|
|
{{#if currentUser.admin}}
|
2016-12-20 06:26:53 -05:00
|
|
|
{{d-button action="logOut" icon="power-off" label="admin.user.log_out"}}
|
2014-09-03 10:41:13 -04:00
|
|
|
{{/if}}
|
2014-08-27 13:52:01 -04:00
|
|
|
{{/if}}
|
|
|
|
</div>
|
|
|
|
|
2014-09-03 10:41:13 -04:00
|
|
|
<div class='display-row username'>
|
2014-12-08 16:35:49 -05:00
|
|
|
<div class='field'>{{i18n 'user.username.title'}}</div>
|
2017-04-02 13:35:30 -04:00
|
|
|
<div class='value'>
|
|
|
|
{{#if editingUsername}}
|
|
|
|
{{text-field value=userUsernameValue autofocus="autofocus"}}
|
|
|
|
{{else}}
|
|
|
|
<span {{action "toggleUsernameEdit"}}>{{model.username}}</span>
|
|
|
|
{{/if}}
|
|
|
|
</div>
|
2013-02-05 14:16:51 -05:00
|
|
|
<div class='controls'>
|
2017-04-02 13:35:30 -04:00
|
|
|
{{#if editingUsername}}
|
|
|
|
{{d-button action="saveUsername" label="admin.user_fields.save"}}
|
|
|
|
<a href {{action "toggleUsernameEdit"}}>{{i18n 'cancel'}}</a>
|
|
|
|
{{else}}
|
|
|
|
{{d-button action="toggleUsernameEdit" icon="pencil"}}
|
|
|
|
{{/if}}
|
2013-02-05 14:16:51 -05:00
|
|
|
</div>
|
|
|
|
</div>
|
2013-04-20 01:34:11 -04:00
|
|
|
|
2015-09-19 08:13:28 -04:00
|
|
|
<div class='display-row'>
|
|
|
|
<div class='field'>{{i18n 'user.name.title'}}</div>
|
2017-04-02 13:35:30 -04:00
|
|
|
<div class='value'>
|
|
|
|
{{#if editingName}}
|
|
|
|
{{text-field value=userNameValue autofocus="autofocus"}}
|
|
|
|
{{else}}
|
|
|
|
<span {{action "toggleNameEdit"}}>{{model.name}}</span>
|
|
|
|
{{/if}}
|
|
|
|
</div>
|
|
|
|
<div class='controls'>
|
|
|
|
{{#if editingName}}
|
|
|
|
{{d-button action="saveName" label="admin.user_fields.save"}}
|
|
|
|
<a href {{action "toggleNameEdit"}}>{{i18n 'cancel'}}</a>
|
|
|
|
{{else}}
|
|
|
|
{{d-button action="toggleNameEdit" icon="pencil"}}
|
|
|
|
{{/if}}
|
|
|
|
</div>
|
2015-09-19 08:13:28 -04:00
|
|
|
</div>
|
|
|
|
|
2014-09-29 16:31:05 -04:00
|
|
|
{{#if canCheckEmails}}
|
|
|
|
<div class='display-row email'>
|
2014-12-08 16:35:49 -05:00
|
|
|
<div class='field'>{{i18n 'user.email.title'}}</div>
|
2014-09-29 16:31:05 -04:00
|
|
|
<div class='value'>
|
2015-05-19 10:56:32 -04:00
|
|
|
{{#unless model.active}}
|
2014-12-08 16:35:49 -05:00
|
|
|
<div class='controls'>{{i18n 'admin.users.not_verified'}}</div>
|
2014-09-29 16:31:05 -04:00
|
|
|
{{/unless}}
|
2015-05-19 10:56:32 -04:00
|
|
|
{{#if model.email}}
|
|
|
|
<a href="mailto:{{unbound model.email}}">{{model.email}}</a>
|
2014-09-29 16:31:05 -04:00
|
|
|
{{else}}
|
2016-12-20 06:26:53 -05:00
|
|
|
{{d-button action="checkEmail" actionParam=model icon="envelope-o" label="admin.users.check_email.text" title="admin.users.check_email.title"}}
|
2014-09-29 16:31:05 -04:00
|
|
|
{{/if}}
|
|
|
|
</div>
|
|
|
|
</div>
|
2013-04-20 01:34:11 -04:00
|
|
|
|
2016-06-20 06:39:53 -04:00
|
|
|
<div class="display-row bounce-score">
|
|
|
|
<div class='field'><a href="{{model.bounceLink}}">{{i18n 'admin.user.bounce_score'}}</a></div>
|
|
|
|
<div class='value'>{{model.bounceScore}}</div>
|
|
|
|
<div class='controls'>
|
|
|
|
{{#if model.canResetBounceScore}}
|
2016-12-20 06:26:53 -05:00
|
|
|
{{d-button action="resetBounceScore" label="admin.user.reset_bounce_score.label" title="admin.user.reset_bounce_score.title"}}
|
2016-06-20 06:39:53 -04:00
|
|
|
{{/if}}
|
|
|
|
{{model.bounceScoreExplanation}}
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
2014-09-29 16:31:05 -04:00
|
|
|
<div class='display-row associations'>
|
2014-12-08 16:35:49 -05:00
|
|
|
<div class='field'>{{i18n 'user.associated_accounts'}}</div>
|
2014-09-29 16:31:05 -04:00
|
|
|
<div class='value'>
|
2015-05-19 10:56:32 -04:00
|
|
|
{{#if model.associated_accounts}}
|
|
|
|
{{model.associated_accounts}}
|
2014-09-29 16:31:05 -04:00
|
|
|
{{else}}
|
2016-12-20 06:26:53 -05:00
|
|
|
{{d-button action="checkEmail" actionParam=model icon="envelope-o" label="admin.users.check_email.text" title="admin.users.check_email.title"}}
|
2014-09-29 16:31:05 -04:00
|
|
|
{{/if}}
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
{{/if}}
|
2014-09-25 01:50:54 -04:00
|
|
|
|
2013-11-11 15:03:17 -05:00
|
|
|
<div class='display-row'>
|
2014-12-08 16:35:49 -05:00
|
|
|
<div class='field'>{{i18n 'user.avatar.title'}}</div>
|
2013-02-05 14:16:51 -05:00
|
|
|
<div class='value'>{{avatar content imageSize="large"}}</div>
|
2017-05-26 15:00:31 -04:00
|
|
|
<div class="controls">
|
|
|
|
{{{i18n "admin.user.visit_profile" url=preferencesPath}}}
|
|
|
|
</div>
|
2013-02-05 14:16:51 -05:00
|
|
|
</div>
|
2013-04-20 01:34:11 -04:00
|
|
|
|
2013-06-25 18:39:20 -04:00
|
|
|
<div class='display-row'>
|
2014-12-08 16:35:49 -05:00
|
|
|
<div class='field'>{{i18n 'user.title.title'}}</div>
|
2013-06-25 18:39:20 -04:00
|
|
|
<div class='value'>
|
|
|
|
{{#if editingTitle}}
|
2016-04-18 23:12:14 -04:00
|
|
|
{{text-field value=userTitleValue autofocus="autofocus"}}
|
2013-06-25 18:39:20 -04:00
|
|
|
{{else}}
|
2015-05-19 10:56:32 -04:00
|
|
|
<span {{action "toggleTitleEdit"}}>{{model.title}} </span>
|
2013-06-25 18:39:20 -04:00
|
|
|
{{/if}}
|
|
|
|
</div>
|
|
|
|
<div class='controls'>
|
|
|
|
{{#if editingTitle}}
|
2017-04-02 13:35:30 -04:00
|
|
|
{{d-button action="saveTitle" label="admin.user_fields.save"}}
|
2015-03-17 17:59:05 -04:00
|
|
|
<a href {{action "toggleTitleEdit"}}>{{i18n 'cancel'}}</a>
|
2013-06-25 18:39:20 -04:00
|
|
|
{{else}}
|
2017-04-02 13:35:30 -04:00
|
|
|
{{d-button action="toggleTitleEdit" icon="pencil"}}
|
2013-06-25 18:39:20 -04:00
|
|
|
{{/if}}
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
2013-11-11 15:03:17 -05:00
|
|
|
<div class='display-row'>
|
2014-12-08 16:35:49 -05:00
|
|
|
<div class='field'>{{i18n 'user.ip_address.title'}}</div>
|
2015-05-19 10:56:32 -04:00
|
|
|
<div class='value'>{{model.ip_address}}</div>
|
2013-02-05 14:16:51 -05:00
|
|
|
<div class='controls'>
|
2014-11-24 05:08:13 -05:00
|
|
|
{{#if currentUser.staff}}
|
2016-12-20 06:26:53 -05:00
|
|
|
{{d-button action="refreshBrowsers" label="admin.user.refresh_browsers"}}
|
2015-05-19 10:56:32 -04:00
|
|
|
{{ip-lookup ip=model.ip_address userId=model.id}}
|
2013-05-02 01:15:17 -04:00
|
|
|
{{/if}}
|
2013-02-05 14:16:51 -05:00
|
|
|
</div>
|
|
|
|
</div>
|
2013-04-20 01:34:11 -04:00
|
|
|
|
2014-04-29 14:37:56 -04:00
|
|
|
<div class='display-row'>
|
2014-12-08 16:35:49 -05:00
|
|
|
<div class='field'>{{i18n 'user.registration_ip_address.title'}}</div>
|
2015-05-19 10:56:32 -04:00
|
|
|
<div class='value'>{{model.registration_ip_address}}</div>
|
2014-06-15 12:14:19 -04:00
|
|
|
<div class='controls'>
|
2014-11-24 05:08:13 -05:00
|
|
|
{{#if currentUser.staff}}
|
2015-05-19 10:56:32 -04:00
|
|
|
{{ip-lookup ip=model.registration_ip_address userId=model.id}}
|
2014-06-15 12:14:19 -04:00
|
|
|
{{/if}}
|
|
|
|
</div>
|
2014-04-29 14:37:56 -04:00
|
|
|
</div>
|
|
|
|
|
2014-03-19 10:27:21 -04:00
|
|
|
{{#if showBadges}}
|
|
|
|
<div class='display-row'>
|
2014-12-08 16:35:49 -05:00
|
|
|
<div class='field'>{{i18n 'admin.badges.title'}}</div>
|
2014-03-19 10:27:21 -04:00
|
|
|
<div class='value'>
|
2015-05-19 10:56:32 -04:00
|
|
|
{{i18n 'badges.badge_count' count=model.badge_count}}
|
2014-03-19 10:27:21 -04:00
|
|
|
</div>
|
|
|
|
<div class='controls'>
|
2015-05-19 10:56:32 -04:00
|
|
|
{{#link-to 'adminUser.badges' model class="btn"}}{{fa-icon "certificate"}}{{i18n 'admin.badges.edit_badges'}}{{/link-to}}
|
2014-03-19 10:27:21 -04:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
{{/if}}
|
2013-02-05 14:16:51 -05:00
|
|
|
</section>
|
|
|
|
|
2014-09-26 14:48:34 -04:00
|
|
|
{{#if userFields}}
|
|
|
|
<section class='details'>
|
2016-04-29 17:29:41 -04:00
|
|
|
{{#each userFields as |uf|}}
|
2014-09-26 14:48:34 -04:00
|
|
|
<div class='display-row'>
|
2014-12-12 13:28:20 -05:00
|
|
|
<div class='field'>{{uf.name}}</div>
|
2014-09-26 14:48:34 -04:00
|
|
|
<div class='value'>
|
2014-12-12 13:28:20 -05:00
|
|
|
{{#if uf.value}}
|
|
|
|
{{uf.value}}
|
2014-09-26 14:48:34 -04:00
|
|
|
{{else}}
|
|
|
|
—
|
|
|
|
{{/if}}
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
{{/each}}
|
|
|
|
</section>
|
|
|
|
{{/if}}
|
|
|
|
|
2013-02-05 14:16:51 -05:00
|
|
|
<section class='details'>
|
2014-12-08 16:35:49 -05:00
|
|
|
<h1>{{i18n 'admin.user.permissions'}}</h1>
|
2013-02-05 14:16:51 -05:00
|
|
|
|
2013-09-09 12:21:47 -04:00
|
|
|
{{#if showApproval}}
|
|
|
|
<div class='display-row'>
|
2014-12-08 16:35:49 -05:00
|
|
|
<div class='field'>{{i18n 'admin.users.approved'}}</div>
|
2013-09-09 12:21:47 -04:00
|
|
|
<div class='value'>
|
2015-08-16 00:02:22 -04:00
|
|
|
{{#if model.approved}}
|
2014-12-08 16:35:49 -05:00
|
|
|
{{i18n 'admin.user.approved_by'}}
|
2015-08-16 00:02:22 -04:00
|
|
|
{{#link-to 'adminUser' approvedBy}}{{avatar model.approvedBy imageSize="small"}}{{/link-to}}
|
|
|
|
{{#link-to 'adminUser' approvedBy}}{{model.approvedBy.username}}{{/link-to}}
|
2013-09-09 12:21:47 -04:00
|
|
|
{{else}}
|
2014-12-08 16:35:49 -05:00
|
|
|
{{i18n 'no_value'}}
|
2013-09-09 12:21:47 -04:00
|
|
|
{{/if}}
|
|
|
|
</div>
|
|
|
|
<div class='controls'>
|
2015-08-16 00:02:22 -04:00
|
|
|
{{#if model.approved}}
|
2014-12-08 16:35:49 -05:00
|
|
|
{{i18n 'admin.user.approve_success'}}
|
2013-09-09 12:21:47 -04:00
|
|
|
{{else}}
|
2015-08-16 00:02:22 -04:00
|
|
|
{{#if model.can_approve}}
|
2016-12-20 06:26:53 -05:00
|
|
|
{{d-button action="approve" icon="check" label="admin.user.approve"}}
|
2013-09-09 12:21:47 -04:00
|
|
|
{{/if}}
|
2013-06-06 00:18:22 -04:00
|
|
|
{{/if}}
|
2013-09-09 12:21:47 -04:00
|
|
|
</div>
|
2013-02-05 14:16:51 -05:00
|
|
|
</div>
|
2013-09-09 12:21:47 -04:00
|
|
|
{{/if}}
|
2013-02-05 14:16:51 -05:00
|
|
|
|
2013-05-07 21:58:34 -04:00
|
|
|
<div class='display-row'>
|
2014-12-08 16:35:49 -05:00
|
|
|
<div class='field'>{{i18n 'admin.users.active'}}</div>
|
2016-12-28 05:45:41 -05:00
|
|
|
<div class='value'>{{i18n-yes-no model.active}}</div>
|
2013-05-07 21:58:34 -04:00
|
|
|
<div class='controls'>
|
2015-05-19 10:56:32 -04:00
|
|
|
{{#if model.active}}
|
|
|
|
{{#if model.can_deactivate}}
|
2016-12-20 06:26:53 -05:00
|
|
|
{{d-button action="deactivate" label="admin.user.deactivate_account"}}
|
2014-12-08 16:35:49 -05:00
|
|
|
{{i18n 'admin.user.deactivate_explanation'}}
|
2013-05-07 21:58:34 -04:00
|
|
|
{{/if}}
|
|
|
|
{{else}}
|
2015-05-19 10:56:32 -04:00
|
|
|
{{#if model.can_send_activation_email}}
|
2016-12-20 06:26:53 -05:00
|
|
|
{{d-button action="sendActivationEmail" icon="envelope" label="admin.user.send_activation_email"}}
|
2013-05-07 21:58:34 -04:00
|
|
|
{{/if}}
|
2015-05-19 10:56:32 -04:00
|
|
|
{{#if model.can_activate}}
|
2016-12-20 06:26:53 -05:00
|
|
|
{{d-button action="activate" icon="check" label="admin.user.activate"}}
|
2013-05-07 21:58:34 -04:00
|
|
|
{{/if}}
|
|
|
|
{{/if}}
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
2015-10-14 15:40:23 -04:00
|
|
|
{{#if currentUser.admin}}
|
|
|
|
<div class='display-row'>
|
|
|
|
<div class='field'>{{i18n 'admin.api.key'}}</div>
|
|
|
|
{{#if model.api_key}}
|
|
|
|
<div class='long-value'>
|
|
|
|
{{model.api_key.key}}
|
|
|
|
{{d-button action="regenerateApiKey" icon="undo" label="admin.api.regenerate"}}
|
|
|
|
{{d-button action="revokeApiKey" icon="times" label="admin.api.revoke"}}
|
|
|
|
</div>
|
|
|
|
{{else}}
|
|
|
|
<div class='value'>
|
|
|
|
—
|
|
|
|
</div>
|
|
|
|
<div class='controls'>
|
|
|
|
{{d-button action="generateApiKey" icon="key" label="admin.api.generate"}}
|
|
|
|
</div>
|
|
|
|
{{/if}}
|
|
|
|
</div>
|
|
|
|
{{/if}}
|
2013-10-22 15:53:08 -04:00
|
|
|
|
2013-02-05 14:16:51 -05:00
|
|
|
<div class='display-row'>
|
2014-12-08 16:35:49 -05:00
|
|
|
<div class='field'>{{i18n 'admin.user.admin'}}</div>
|
2016-12-28 05:45:41 -05:00
|
|
|
<div class='value'>{{i18n-yes-no model.admin}}</div>
|
2013-02-05 14:16:51 -05:00
|
|
|
<div class='controls'>
|
2015-05-19 10:56:32 -04:00
|
|
|
{{#if model.can_revoke_admin}}
|
2016-12-20 06:26:53 -05:00
|
|
|
{{d-button action="revokeAdmin" icon="shield" label="admin.user.revoke_admin"}}
|
2013-02-05 14:16:51 -05:00
|
|
|
{{/if}}
|
2015-05-19 10:56:32 -04:00
|
|
|
{{#if model.can_grant_admin}}
|
2016-12-20 06:26:53 -05:00
|
|
|
{{d-button action="grantAdmin" icon="shield" label="admin.user.grant_admin"}}
|
2013-03-20 20:25:41 -04:00
|
|
|
{{/if}}
|
2013-02-05 14:16:51 -05:00
|
|
|
</div>
|
|
|
|
</div>
|
2015-03-17 17:59:05 -04:00
|
|
|
|
2013-02-05 14:16:51 -05:00
|
|
|
<div class='display-row'>
|
2014-12-08 16:35:49 -05:00
|
|
|
<div class='field'>{{i18n 'admin.user.moderator'}}</div>
|
2016-12-28 05:45:41 -05:00
|
|
|
<div class='value'>{{i18n-yes-no model.moderator}}</div>
|
2013-02-12 17:58:08 -05:00
|
|
|
<div class='controls'>
|
2015-05-19 10:56:32 -04:00
|
|
|
{{#if model.can_revoke_moderation}}
|
2016-12-20 06:26:53 -05:00
|
|
|
{{d-button action="revokeModeration" icon="shield" label="admin.user.revoke_moderation"}}
|
2013-02-12 17:58:08 -05:00
|
|
|
{{/if}}
|
2015-05-19 10:56:32 -04:00
|
|
|
{{#if model.can_grant_moderation}}
|
2016-12-20 06:26:53 -05:00
|
|
|
{{d-button action="grantModeration" icon="shield" label="admin.user.grant_moderation"}}
|
2013-03-20 20:25:41 -04:00
|
|
|
{{/if}}
|
2013-02-12 17:58:08 -05:00
|
|
|
</div>
|
2013-02-05 14:16:51 -05:00
|
|
|
</div>
|
2013-07-01 10:22:21 -04:00
|
|
|
|
2013-02-05 14:16:51 -05:00
|
|
|
<div class='display-row'>
|
2014-12-08 16:35:49 -05:00
|
|
|
<div class='field'>{{i18n 'trust_level'}}</div>
|
2013-07-01 10:22:21 -04:00
|
|
|
<div class="value">
|
2015-05-19 10:56:32 -04:00
|
|
|
{{combo-box content=site.trustLevels value=model.trust_level nameProperty="detailedName"}}
|
|
|
|
{{#if model.dirty}}
|
2014-01-22 17:09:56 -05:00
|
|
|
<div>
|
2016-12-20 06:26:53 -05:00
|
|
|
{{d-button class="ok no-text" action="saveTrustLevel" icon="check"}}
|
|
|
|
{{d-button class="cancel no-text" action="restoreTrustLevel" icon="times"}}
|
2014-01-22 17:09:56 -05:00
|
|
|
</div>
|
|
|
|
{{/if}}
|
2013-07-01 10:22:21 -04:00
|
|
|
</div>
|
2014-09-29 23:12:33 -04:00
|
|
|
<div class="controls">
|
|
|
|
{{#if model.canLockTrustLevel}}
|
|
|
|
{{#if model.trust_level_locked}}
|
2016-12-20 06:26:53 -05:00
|
|
|
<i title='{{i18n 'admin.user.trust_level_locked_tip'}}' class='fa fa-lock'></i> {{d-button action="lockTrustLevel" actionParam=false label="admin.user.unlock_trust_level"}}
|
2014-09-29 23:12:33 -04:00
|
|
|
{{else}}
|
2016-12-20 06:26:53 -05:00
|
|
|
<i title='{{i18n 'admin.user.trust_level_unlocked_tip'}}' class='fa fa-unlock'></i> {{d-button action="lockTrustLevel" actionParam=true label="admin.user.lock_trust_level"}}
|
2014-09-29 23:12:33 -04:00
|
|
|
{{/if}}
|
|
|
|
{{/if}}
|
2015-05-19 10:56:32 -04:00
|
|
|
{{#if model.tl3Requirements}}
|
|
|
|
{{#link-to 'adminUser.tl3Requirements' model class="btn"}}{{i18n 'admin.user.trust_level_3_requirements'}}{{/link-to}}
|
2014-09-29 23:12:33 -04:00
|
|
|
{{/if}}
|
|
|
|
</div>
|
2013-03-20 20:25:41 -04:00
|
|
|
</div>
|
2013-07-01 10:22:21 -04:00
|
|
|
|
2016-05-06 16:04:38 -04:00
|
|
|
<div class="display-row {{if model.isSuspended 'highlight-danger'}}">
|
2014-12-08 16:35:49 -05:00
|
|
|
<div class='field'>{{i18n 'admin.user.suspended'}}</div>
|
2016-12-28 05:45:41 -05:00
|
|
|
<div class='value'>{{i18n-yes-no model.isSuspended}}</div>
|
2013-02-05 14:16:51 -05:00
|
|
|
<div class='controls'>
|
2015-05-19 10:56:32 -04:00
|
|
|
{{#if model.isSuspended}}
|
2016-12-20 06:26:53 -05:00
|
|
|
{{d-button class="btn-danger" action="unsuspend" icon="ban" label="admin.user.unsuspend"}}
|
2013-11-07 13:53:32 -05:00
|
|
|
{{suspendDuration}}
|
2014-12-08 16:35:49 -05:00
|
|
|
{{i18n 'admin.user.suspended_explanation'}}
|
2013-02-05 14:16:51 -05:00
|
|
|
{{else}}
|
2015-05-19 10:56:32 -04:00
|
|
|
{{#if model.canSuspend}}
|
2016-12-20 06:26:53 -05:00
|
|
|
{{d-button class="btn-danger" action="showSuspendModal" actionParam=model icon="ban" label="admin.user.suspend"}}
|
2014-12-08 16:35:49 -05:00
|
|
|
{{i18n 'admin.user.suspended_explanation'}}
|
2013-02-05 14:16:51 -05:00
|
|
|
{{/if}}
|
|
|
|
{{/if}}
|
|
|
|
</div>
|
2013-03-20 20:25:41 -04:00
|
|
|
</div>
|
2013-11-01 10:47:03 -04:00
|
|
|
|
2015-05-19 10:56:32 -04:00
|
|
|
{{#if model.isSuspended}}
|
2015-03-17 17:59:05 -04:00
|
|
|
<div class='display-row highlight-danger'>
|
|
|
|
<div class='field'>{{i18n 'admin.user.suspended_by'}}</div>
|
|
|
|
<div class='value'>
|
2015-08-13 17:32:12 -04:00
|
|
|
{{#link-to 'adminUser' suspendedBy}}{{avatar model.suspendedBy imageSize="tiny"}}{{/link-to}}
|
|
|
|
{{#link-to 'adminUser' suspendedBy}}{{model.suspendedBy.username}}{{/link-to}}
|
2015-03-17 17:59:05 -04:00
|
|
|
</div>
|
|
|
|
<div class='controls'>
|
|
|
|
<b>{{i18n 'admin.user.suspend_reason'}}</b>:
|
2015-08-13 17:32:12 -04:00
|
|
|
{{model.suspend_reason}}
|
2015-03-17 17:59:05 -04:00
|
|
|
</div>
|
2013-11-05 14:41:04 -05:00
|
|
|
</div>
|
2013-11-01 10:47:03 -04:00
|
|
|
{{/if}}
|
|
|
|
|
2016-05-06 16:04:38 -04:00
|
|
|
<div class="display-row {{if model.blocked 'highlight-danger'}}">
|
2014-12-08 16:35:49 -05:00
|
|
|
<div class='field'>{{i18n 'admin.user.blocked'}}</div>
|
2016-12-28 05:45:41 -05:00
|
|
|
<div class='value'>{{i18n-yes-no model.blocked}}</div>
|
2013-05-31 11:41:40 -04:00
|
|
|
<div class='controls'>
|
2016-01-14 14:42:06 -05:00
|
|
|
{{#conditional-loading-spinner size="small" condition=model.blockingUser}}
|
|
|
|
{{#if model.blocked}}
|
2016-12-20 06:26:53 -05:00
|
|
|
{{d-button action="unblock" icon="thumbs-o-up" label="admin.user.unblock"}}
|
2016-01-14 14:42:06 -05:00
|
|
|
{{i18n 'admin.user.block_explanation'}}
|
|
|
|
{{else}}
|
2016-12-20 06:26:53 -05:00
|
|
|
{{d-button action="block" icon="ban" label="admin.user.block"}}
|
2016-01-14 14:42:06 -05:00
|
|
|
{{i18n 'admin.user.block_explanation'}}
|
|
|
|
{{/if}}
|
|
|
|
{{/conditional-loading-spinner}}
|
2013-05-31 11:41:40 -04:00
|
|
|
</div>
|
|
|
|
</div>
|
2016-01-19 10:41:07 -05:00
|
|
|
|
|
|
|
<div class="display-row">
|
|
|
|
<div class='field'>{{i18n 'admin.user.staged'}}</div>
|
2016-12-28 05:45:41 -05:00
|
|
|
<div class='value'>{{i18n-yes-no model.staged}}</div>
|
2016-05-06 13:34:33 -04:00
|
|
|
<div class='controls'>{{i18n 'admin.user.staged_explanation'}}</div>
|
|
|
|
</div>
|
2013-02-05 14:16:51 -05:00
|
|
|
</section>
|
|
|
|
|
2017-04-17 14:53:30 -04:00
|
|
|
{{#if currentUser.admin}}
|
|
|
|
<section class='details'>
|
|
|
|
<h1>{{i18n 'admin.groups.title'}}</h1>
|
|
|
|
<div class='display-row'>
|
|
|
|
<div class='field'>{{i18n 'admin.groups.automatic'}}</div>
|
|
|
|
<div class='value'>{{automaticGroups}}</div>
|
2015-03-25 15:16:47 -04:00
|
|
|
</div>
|
2017-04-17 14:53:30 -04:00
|
|
|
<div class='display-row'>
|
|
|
|
<div class='field'>{{i18n 'admin.groups.custom'}}</div>
|
|
|
|
<div class='value'>
|
|
|
|
{{admin-group-selector selected=model.customGroups available=availableGroups}}
|
|
|
|
</div>
|
|
|
|
<div class='controls'>
|
|
|
|
{{#if model.customGroups}}
|
|
|
|
{{i18n 'admin.groups.primary'}}
|
|
|
|
{{combo-box content=model.customGroups value=model.primary_group_id nameProperty="name" none="admin.groups.no_primary"}}
|
|
|
|
{{/if}}
|
|
|
|
{{#if primaryGroupDirty}}
|
|
|
|
{{d-button icon="check" class="ok" action="savePrimaryGroup"}}
|
|
|
|
{{d-button icon="times" class="cancel" action="resetPrimaryGroup"}}
|
|
|
|
{{/if}}
|
|
|
|
</div>
|
2015-03-25 15:16:47 -04:00
|
|
|
</div>
|
2017-04-17 14:53:30 -04:00
|
|
|
</section>
|
|
|
|
{{/if}}
|
2015-03-25 15:16:47 -04:00
|
|
|
|
2013-02-05 14:16:51 -05:00
|
|
|
<section class='details'>
|
2014-12-08 16:35:49 -05:00
|
|
|
<h1>{{i18n 'admin.user.activity'}}</h1>
|
2013-02-05 14:16:51 -05:00
|
|
|
|
|
|
|
<div class='display-row'>
|
2014-12-08 16:35:49 -05:00
|
|
|
<div class='field'>{{i18n 'created'}}</div>
|
2016-03-18 03:40:10 -04:00
|
|
|
<div class='value'>{{format-date model.created_at leaveAgo="true"}}</div>
|
2013-02-05 14:16:51 -05:00
|
|
|
</div>
|
|
|
|
<div class='display-row'>
|
2014-12-08 16:35:49 -05:00
|
|
|
<div class='field'>{{i18n 'admin.users.last_emailed'}}</div>
|
2016-03-18 03:40:10 -04:00
|
|
|
<div class='value'>{{format-date model.last_emailed_at leaveAgo="true"}}</div>
|
2013-02-05 14:16:51 -05:00
|
|
|
</div>
|
|
|
|
<div class='display-row'>
|
2014-12-08 16:35:49 -05:00
|
|
|
<div class='field'>{{i18n 'last_seen'}}</div>
|
2016-03-18 03:40:10 -04:00
|
|
|
<div class='value'>{{format-date model.last_seen_at leaveAgo="true"}}</div>
|
2013-02-05 14:16:51 -05:00
|
|
|
</div>
|
|
|
|
<div class='display-row'>
|
2014-12-08 16:35:49 -05:00
|
|
|
<div class='field'>{{i18n 'admin.user.like_count'}}</div>
|
2015-05-19 10:56:32 -04:00
|
|
|
<div class='value'>{{model.like_given_count}} / {{model.like_count}}</div>
|
2013-02-05 14:16:51 -05:00
|
|
|
</div>
|
|
|
|
<div class='display-row'>
|
2014-12-08 16:35:49 -05:00
|
|
|
<div class='field'>{{i18n 'admin.user.topics_entered'}}</div>
|
2015-05-19 10:56:32 -04:00
|
|
|
<div class='value'>{{model.topics_entered}}</div>
|
2013-03-20 20:25:41 -04:00
|
|
|
</div>
|
2013-02-05 14:16:51 -05:00
|
|
|
<div class='display-row'>
|
2014-12-08 16:35:49 -05:00
|
|
|
<div class='field'>{{i18n 'admin.user.post_count'}}</div>
|
2015-05-19 10:56:32 -04:00
|
|
|
<div class='value'>{{model.post_count}}</div>
|
2013-02-07 02:11:56 -05:00
|
|
|
<div class='controls'>
|
2015-05-19 10:56:32 -04:00
|
|
|
{{#if model.can_delete_all_posts}}
|
|
|
|
{{#if model.post_count}}
|
2016-12-20 06:26:53 -05:00
|
|
|
{{d-button class="btn-danger" action="deleteAllPosts" icon="trash-o" label="admin.user.delete_all_posts"}}
|
2015-03-17 11:18:39 -04:00
|
|
|
{{/if}}
|
2014-02-20 12:29:40 -05:00
|
|
|
{{else}}
|
2015-05-19 10:56:32 -04:00
|
|
|
{{model.deleteAllPostsExplanation}}
|
2013-02-07 02:11:56 -05:00
|
|
|
{{/if}}
|
|
|
|
</div>
|
2013-02-05 14:16:51 -05:00
|
|
|
</div>
|
|
|
|
<div class='display-row'>
|
2014-12-08 16:35:49 -05:00
|
|
|
<div class='field'>{{i18n 'admin.user.posts_read_count'}}</div>
|
2015-05-19 10:56:32 -04:00
|
|
|
<div class='value'>{{model.posts_read_count}}</div>
|
2013-03-20 20:25:41 -04:00
|
|
|
</div>
|
2014-09-08 11:11:56 -04:00
|
|
|
<div class='display-row'>
|
2014-12-08 16:35:49 -05:00
|
|
|
<div class='field'>{{i18n 'admin.user.warnings_received_count'}}</div>
|
2015-05-19 10:56:32 -04:00
|
|
|
<div class='value'>{{model.warnings_received_count}}</div>
|
2014-09-08 11:11:56 -04:00
|
|
|
</div>
|
2013-02-05 14:16:51 -05:00
|
|
|
<div class='display-row'>
|
2014-12-08 16:35:49 -05:00
|
|
|
<div class='field'>{{i18n 'admin.user.flags_given_received_count'}}</div>
|
2015-05-19 10:56:32 -04:00
|
|
|
<div class='value'>{{model.flags_given_count}} / {{model.flags_received_count}}</div>
|
2013-03-20 20:25:41 -04:00
|
|
|
</div>
|
2013-02-05 14:16:51 -05:00
|
|
|
<div class='display-row'>
|
2014-12-08 16:35:49 -05:00
|
|
|
<div class='field'>{{i18n 'admin.user.private_topics_count'}}</div>
|
2015-05-19 10:56:32 -04:00
|
|
|
<div class='value'>{{model.private_topics_count}}</div>
|
2013-02-05 14:16:51 -05:00
|
|
|
</div>
|
|
|
|
<div class='display-row'>
|
2014-12-08 16:35:49 -05:00
|
|
|
<div class='field'>{{i18n 'admin.user.time_read'}}</div>
|
2015-05-19 10:56:32 -04:00
|
|
|
<div class='value'>{{{model.time_read}}}</div>
|
2013-03-20 20:25:41 -04:00
|
|
|
</div>
|
2013-02-05 14:16:51 -05:00
|
|
|
<div class='display-row'>
|
2014-12-08 16:35:49 -05:00
|
|
|
<div class='field'>{{i18n 'user.invited.days_visited'}}</div>
|
2015-05-19 10:56:32 -04:00
|
|
|
<div class='value'>{{{model.days_visited}}}</div>
|
2013-03-20 20:25:41 -04:00
|
|
|
</div>
|
2013-02-05 14:16:51 -05:00
|
|
|
</section>
|
|
|
|
|
2015-05-19 10:56:32 -04:00
|
|
|
{{#if model.single_sign_on_record}}
|
2014-08-22 20:34:48 -04:00
|
|
|
<section class='details'>
|
2014-12-08 16:35:49 -05:00
|
|
|
<h1>{{i18n 'admin.user.sso.title'}}</h1>
|
2014-08-22 20:34:48 -04:00
|
|
|
|
2015-11-27 12:58:40 -05:00
|
|
|
{{#with model.single_sign_on_record as |sso|}}
|
2014-08-22 20:34:48 -04:00
|
|
|
<div class='display-row'>
|
2014-12-08 16:35:49 -05:00
|
|
|
<div class='field'>{{i18n 'admin.user.sso.external_id'}}</div>
|
2015-11-27 12:58:40 -05:00
|
|
|
<div class='value'>{{sso.external_id}}</div>
|
2014-08-22 20:34:48 -04:00
|
|
|
</div>
|
|
|
|
<div class='display-row'>
|
2014-12-08 16:35:49 -05:00
|
|
|
<div class='field'>{{i18n 'admin.user.sso.external_username'}}</div>
|
2015-11-27 12:58:40 -05:00
|
|
|
<div class='value'>{{sso.external_username}}</div>
|
2014-08-22 20:34:48 -04:00
|
|
|
</div>
|
|
|
|
<div class='display-row'>
|
2014-12-08 16:35:49 -05:00
|
|
|
<div class='field'>{{i18n 'admin.user.sso.external_name'}}</div>
|
2015-11-27 12:58:40 -05:00
|
|
|
<div class='value'>{{sso.external_name}}</div>
|
2014-08-22 20:34:48 -04:00
|
|
|
</div>
|
|
|
|
<div class='display-row'>
|
2014-12-08 16:35:49 -05:00
|
|
|
<div class='field'>{{i18n 'admin.user.sso.external_email'}}</div>
|
2015-11-27 12:58:40 -05:00
|
|
|
<div class='value'>{{sso.external_email}}</div>
|
2014-08-22 20:34:48 -04:00
|
|
|
</div>
|
|
|
|
<div class='display-row'>
|
2014-12-08 16:35:49 -05:00
|
|
|
<div class='field'>{{i18n 'admin.user.sso.external_avatar_url'}}</div>
|
2015-11-27 12:58:40 -05:00
|
|
|
<div class='value'>{{sso.external_avatar_url}}</div>
|
2014-08-22 20:34:48 -04:00
|
|
|
</div>
|
|
|
|
{{/with}}
|
|
|
|
</section>
|
|
|
|
{{/if}}
|
|
|
|
|
2013-04-11 16:04:20 -04:00
|
|
|
<section>
|
|
|
|
<hr/>
|
2015-03-10 13:06:08 -04:00
|
|
|
<div class="pull-right">
|
2015-05-19 10:56:32 -04:00
|
|
|
{{#unless model.anonymizeForbidden}}
|
2015-03-10 13:06:08 -04:00
|
|
|
{{d-button label="admin.user.anonymize"
|
|
|
|
icon="exclamation-triangle"
|
2015-03-19 14:57:07 -04:00
|
|
|
class="btn-danger"
|
2015-05-19 10:56:32 -04:00
|
|
|
disabled=model.anonymizeForbidden
|
2015-03-10 13:06:08 -04:00
|
|
|
action="anonymize"}}
|
|
|
|
{{/unless}}
|
|
|
|
|
2015-05-19 10:56:32 -04:00
|
|
|
{{#unless model.deleteForbidden}}
|
2015-03-10 13:06:08 -04:00
|
|
|
{{d-button label="admin.user.delete"
|
|
|
|
icon="exclamation-triangle"
|
2015-03-19 14:57:07 -04:00
|
|
|
class="btn-danger"
|
2015-05-19 10:56:32 -04:00
|
|
|
disabled=model.deleteForbidden
|
2015-03-10 13:06:08 -04:00
|
|
|
action="destroy"}}
|
|
|
|
{{/unless}}
|
|
|
|
</div>
|
|
|
|
|
2015-05-19 10:56:32 -04:00
|
|
|
{{#if model.deleteExplanation}}
|
2013-12-20 11:36:43 -05:00
|
|
|
<div class="clearfix"></div>
|
2015-03-10 13:06:08 -04:00
|
|
|
<br/>
|
2015-03-17 17:59:05 -04:00
|
|
|
<div class="pull-right">
|
2015-05-19 10:56:32 -04:00
|
|
|
{{fa-icon "exclamation-triangle"}} {{model.deleteExplanation}}
|
2015-03-17 17:59:05 -04:00
|
|
|
</div>
|
2013-12-20 11:36:43 -05:00
|
|
|
{{/if}}
|
2013-04-11 16:04:20 -04:00
|
|
|
</section>
|
|
|
|
<div class="clearfix"></div>
|