2013-02-06 03:16:51 +08:00
|
|
|
<section class='details'>
|
|
|
|
|
|
|
|
<div class='display-row'>
|
|
|
|
<div class='field'>{{i18n user.username.title}}</div>
|
2013-05-21 03:27:58 +08:00
|
|
|
<div class='value'>{{username}}</div>
|
2013-02-06 03:16:51 +08:00
|
|
|
<div class='controls'>
|
2013-07-17 04:16:37 +08:00
|
|
|
{{#linkTo 'userActivity' class="btn"}}
|
2013-02-06 03:16:51 +08:00
|
|
|
<i class='icon icon-user'></i>
|
|
|
|
{{i18n admin.user.show_public_profile}}
|
2013-05-08 01:30:12 +08:00
|
|
|
{{/linkTo}}
|
2013-05-21 03:27:58 +08:00
|
|
|
{{#if can_impersonate}}
|
2013-02-06 03:16:51 +08:00
|
|
|
<button class='btn' {{action impersonate target="content"}}>
|
|
|
|
<i class='icon icon-screenshot'></i>
|
|
|
|
{{i18n admin.user.impersonate}}
|
|
|
|
</button>
|
2013-03-21 08:25:41 +08:00
|
|
|
{{/if}}
|
2013-02-06 03:16:51 +08:00
|
|
|
</div>
|
|
|
|
</div>
|
2013-04-20 13:34:11 +08:00
|
|
|
|
2013-02-06 03:16:51 +08:00
|
|
|
<div class='display-row'>
|
|
|
|
<div class='field'>{{i18n user.email.title}}</div>
|
2013-05-21 03:27:58 +08:00
|
|
|
<div class='value'><a href="mailto:{{unbound email}}">{{email}}</a></div>
|
2013-02-06 03:16:51 +08:00
|
|
|
</div>
|
2013-04-20 13:34:11 +08:00
|
|
|
|
2013-02-06 03:16:51 +08:00
|
|
|
<div class='display-row' style='height: 50px'>
|
|
|
|
<div class='field'>{{i18n user.avatar.title}}</div>
|
|
|
|
<div class='value'>{{avatar content imageSize="large"}}</div>
|
|
|
|
</div>
|
2013-04-20 13:34:11 +08:00
|
|
|
|
2013-06-26 06:39:20 +08:00
|
|
|
<div class='display-row'>
|
|
|
|
<div class='field'>{{i18n user.title.title}}</div>
|
|
|
|
<div class='value'>
|
|
|
|
{{#if editingTitle}}
|
|
|
|
{{textField value=title autofocus="autofocus"}}
|
|
|
|
{{else}}
|
|
|
|
<span {{action toggleTitleEdit}}>{{title}} </span>
|
|
|
|
{{/if}}
|
|
|
|
</div>
|
|
|
|
<div class='controls'>
|
|
|
|
{{#if editingTitle}}
|
|
|
|
<button class='btn' {{action saveTitle}}>{{i18n admin.user.save_title}}</button>
|
|
|
|
<a href="#" {{action toggleTitleEdit}}>Cancel</a>
|
|
|
|
{{else}}
|
|
|
|
<button class='btn' {{action toggleTitleEdit}}>{{i18n admin.user.edit_title}}</button>
|
|
|
|
{{/if}}
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
2013-02-06 03:16:51 +08:00
|
|
|
<div class='display-row' style='height: 50px'>
|
|
|
|
<div class='field'>{{i18n user.ip_address.title}}</div>
|
2013-05-21 03:27:58 +08:00
|
|
|
<div class='value'>{{ip_address}}</div>
|
2013-02-06 03:16:51 +08:00
|
|
|
<div class='controls'>
|
2013-05-28 23:52:31 +08:00
|
|
|
{{#if currentUser.admin}}
|
2013-02-06 03:16:51 +08:00
|
|
|
<button class='btn' {{action refreshBrowsers target="content"}}>
|
|
|
|
{{i18n admin.user.refresh_browsers}}
|
|
|
|
</button>
|
2013-05-02 13:15:17 +08:00
|
|
|
{{/if}}
|
2013-02-06 03:16:51 +08:00
|
|
|
</div>
|
|
|
|
</div>
|
2013-04-20 13:34:11 +08:00
|
|
|
|
2013-02-06 03:16:51 +08:00
|
|
|
</section>
|
|
|
|
|
|
|
|
|
|
|
|
<section class='details'>
|
|
|
|
<h1>{{i18n admin.user.permissions}}</h1>
|
|
|
|
|
2013-09-10 00:21:47 +08:00
|
|
|
{{#if showApproval}}
|
|
|
|
<div class='display-row'>
|
|
|
|
<div class='field'>{{i18n admin.users.approved}}</div>
|
|
|
|
<div class='value'>
|
|
|
|
{{#if approved}}
|
|
|
|
{{i18n admin.user.approved_by}}
|
2013-05-08 01:30:12 +08:00
|
|
|
|
2013-09-10 00:21:47 +08:00
|
|
|
{{#linkTo 'adminUser' approved_by}}{{avatar approved_by imageSize="small"}}{{/linkTo}}
|
|
|
|
{{#linkTo 'adminUser' approved_by}}{{approved_by.username}}{{/linkTo}}
|
|
|
|
{{else}}
|
|
|
|
{{i18n no_value}}
|
|
|
|
{{/if}}
|
2013-03-21 08:25:41 +08:00
|
|
|
|
2013-09-10 00:21:47 +08:00
|
|
|
</div>
|
|
|
|
<div class='controls'>
|
|
|
|
{{#if approved}}
|
|
|
|
{{i18n admin.user.approve_success}}
|
|
|
|
{{else}}
|
|
|
|
{{#if can_approve}}
|
|
|
|
<button class='btn' {{action approve target="content"}}>
|
|
|
|
<i class='icon icon-ok'></i>
|
|
|
|
{{i18n admin.user.approve}}
|
|
|
|
</button>
|
|
|
|
{{/if}}
|
2013-06-06 12:18:22 +08:00
|
|
|
{{/if}}
|
2013-09-10 00:21:47 +08:00
|
|
|
</div>
|
2013-02-06 03:16:51 +08:00
|
|
|
</div>
|
2013-09-10 00:21:47 +08:00
|
|
|
{{/if}}
|
2013-02-06 03:16:51 +08:00
|
|
|
|
2013-05-08 09:58:34 +08:00
|
|
|
<div class='display-row'>
|
|
|
|
<div class='field'>{{i18n admin.users.active}}</div>
|
|
|
|
<div class='value'>
|
2013-05-21 03:27:58 +08:00
|
|
|
{{#if active}}
|
2013-05-08 09:58:34 +08:00
|
|
|
{{i18n yes_value}}
|
|
|
|
{{else}}
|
|
|
|
{{i18n no_value}}
|
|
|
|
{{/if}}
|
|
|
|
</div>
|
|
|
|
<div class='controls'>
|
2013-05-21 03:27:58 +08:00
|
|
|
{{#if active}}
|
|
|
|
{{#if can_deactivate}}
|
2013-05-08 09:58:34 +08:00
|
|
|
<button class='btn' {{action deactivate target="content"}}>{{i18n admin.user.deactivate_account}}</button>
|
2013-06-14 23:34:03 +08:00
|
|
|
{{i18n admin.user.deactivate_explanation}}
|
2013-05-08 09:58:34 +08:00
|
|
|
{{/if}}
|
|
|
|
{{else}}
|
2013-05-21 03:27:58 +08:00
|
|
|
{{#if can_send_activation_email}}
|
2013-05-08 09:58:34 +08:00
|
|
|
<button class='btn' {{action sendActivationEmail target="content"}}>
|
2013-07-11 05:05:55 +08:00
|
|
|
<i class='icon icon-envelope'></i>
|
2013-05-08 09:58:34 +08:00
|
|
|
{{i18n admin.user.send_activation_email}}
|
|
|
|
</button>
|
|
|
|
{{/if}}
|
2013-05-21 03:27:58 +08:00
|
|
|
{{#if can_activate}}
|
2013-05-08 09:58:34 +08:00
|
|
|
<button class='btn' {{action activate target="content"}}>
|
|
|
|
<i class='icon icon-ok'></i>
|
|
|
|
{{i18n admin.user.activate}}
|
|
|
|
</button>
|
|
|
|
{{/if}}
|
|
|
|
{{/if}}
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
2013-02-06 03:16:51 +08:00
|
|
|
<div class='display-row'>
|
|
|
|
<div class='field'>{{i18n admin.user.admin}}</div>
|
2013-05-21 03:27:58 +08:00
|
|
|
<div class='value'>{{admin}}</div>
|
2013-02-06 03:16:51 +08:00
|
|
|
<div class='controls'>
|
2013-05-21 03:27:58 +08:00
|
|
|
{{#if can_revoke_admin}}
|
2013-02-06 03:16:51 +08:00
|
|
|
<button class='btn' {{action revokeAdmin target="content"}}>
|
|
|
|
<i class='icon icon-trophy'></i>
|
|
|
|
{{i18n admin.user.revoke_admin}}
|
|
|
|
</button>
|
|
|
|
{{/if}}
|
2013-05-21 03:27:58 +08:00
|
|
|
{{#if can_grant_admin}}
|
2013-02-06 03:16:51 +08:00
|
|
|
<button class='btn' {{action grantAdmin target="content"}}>
|
|
|
|
<i class='icon icon-trophy'></i>
|
|
|
|
{{i18n admin.user.grant_admin}}
|
|
|
|
</button>
|
2013-03-21 08:25:41 +08:00
|
|
|
{{/if}}
|
2013-02-06 03:16:51 +08:00
|
|
|
</div>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
<div class='display-row'>
|
|
|
|
<div class='field'>{{i18n admin.user.moderator}}</div>
|
2013-05-21 03:27:58 +08:00
|
|
|
<div class='value'>{{moderator}}</div>
|
2013-02-13 06:58:08 +08:00
|
|
|
<div class='controls'>
|
2013-05-21 03:27:58 +08:00
|
|
|
{{#if can_revoke_moderation}}
|
2013-02-13 06:58:08 +08:00
|
|
|
<button class='btn' {{action revokeModeration target="content"}}>
|
2013-04-04 16:52:47 +08:00
|
|
|
<i class='icon icon-magic'></i>
|
2013-02-13 06:58:08 +08:00
|
|
|
{{i18n admin.user.revoke_moderation}}
|
|
|
|
</button>
|
|
|
|
{{/if}}
|
2013-05-21 03:27:58 +08:00
|
|
|
{{#if can_grant_moderation}}
|
2013-02-13 06:58:08 +08:00
|
|
|
<button class='btn' {{action grantModeration target="content"}}>
|
2013-04-04 16:52:47 +08:00
|
|
|
<i class='icon icon-magic'></i>
|
2013-02-13 06:58:08 +08:00
|
|
|
{{i18n admin.user.grant_moderation}}
|
|
|
|
</button>
|
2013-03-21 08:25:41 +08:00
|
|
|
{{/if}}
|
2013-02-13 06:58:08 +08:00
|
|
|
</div>
|
2013-03-21 08:25:41 +08:00
|
|
|
|
2013-02-06 03:16:51 +08:00
|
|
|
</div>
|
2013-07-01 22:22:21 +08:00
|
|
|
|
2013-02-06 03:16:51 +08:00
|
|
|
<div class='display-row'>
|
|
|
|
<div class='field'>{{i18n trust_level}}</div>
|
2013-07-01 22:22:21 +08:00
|
|
|
<div class="value">
|
2013-07-13 04:24:15 +08:00
|
|
|
{{combobox content=trustLevels value=trust_level nameProperty="detailedName"}}
|
2013-07-01 22:22:21 +08:00
|
|
|
</div>
|
|
|
|
<div class="controls">
|
|
|
|
{{#if dirty}}
|
|
|
|
<div>
|
|
|
|
<button class='btn ok' {{action saveTrustLevel target="content"}}><i class='icon-ok'></i></button>
|
|
|
|
<button class='btn cancel' {{action restoreTrustLevel target="content"}}><i class='icon-remove'></i></button>
|
|
|
|
</div>
|
|
|
|
{{/if}}
|
|
|
|
</div>
|
2013-03-21 08:25:41 +08:00
|
|
|
</div>
|
2013-07-01 22:22:21 +08:00
|
|
|
|
2013-02-06 03:16:51 +08:00
|
|
|
<div class='display-row'>
|
|
|
|
<div class='field'>{{i18n admin.user.banned}}</div>
|
2013-05-21 03:27:58 +08:00
|
|
|
<div class='value'>{{isBanned}}</div>
|
2013-02-06 03:16:51 +08:00
|
|
|
<div class='controls'>
|
2013-05-21 03:27:58 +08:00
|
|
|
{{#if isBanned}}
|
2013-04-04 17:09:27 +08:00
|
|
|
<button class='btn btn-danger' {{action unban target="content"}}>
|
|
|
|
<i class='icon icon-ban-circle'></i>
|
2013-03-21 08:25:41 +08:00
|
|
|
{{i18n admin.user.unban}}
|
|
|
|
</button>
|
2013-05-21 03:27:58 +08:00
|
|
|
{{banDuration}}
|
2013-07-03 02:42:30 +08:00
|
|
|
{{i18n admin.user.banned_explanation}}
|
2013-02-06 03:16:51 +08:00
|
|
|
{{else}}
|
2013-05-21 03:27:58 +08:00
|
|
|
{{#if canBan}}
|
2013-04-04 17:09:27 +08:00
|
|
|
<button class='btn btn-danger' {{action ban target="content"}}>
|
|
|
|
<i class='icon icon-ban-circle'></i>
|
2013-02-06 03:16:51 +08:00
|
|
|
{{i18n admin.user.ban}}
|
|
|
|
</button>
|
2013-07-03 02:42:30 +08:00
|
|
|
{{i18n admin.user.banned_explanation}}
|
2013-02-06 03:16:51 +08:00
|
|
|
{{/if}}
|
|
|
|
{{/if}}
|
|
|
|
</div>
|
2013-03-21 08:25:41 +08:00
|
|
|
</div>
|
2013-05-31 23:41:40 +08:00
|
|
|
<div class='display-row'>
|
|
|
|
<div class='field'>{{i18n admin.user.blocked}}</div>
|
|
|
|
<div class='value'>{{blocked}}</div>
|
|
|
|
<div class='controls'>
|
|
|
|
{{#if blocked}}
|
|
|
|
<button class='btn' {{action unblock target="content"}}>
|
|
|
|
<i class='icon icon-thumbs-up'></i>
|
|
|
|
{{i18n admin.user.unblock}}
|
|
|
|
</button>
|
2013-07-03 02:42:30 +08:00
|
|
|
{{i18n admin.user.block_explanation}}
|
2013-05-31 23:41:40 +08:00
|
|
|
{{/if}}
|
|
|
|
</div>
|
|
|
|
</div>
|
2013-02-06 03:16:51 +08:00
|
|
|
</section>
|
|
|
|
|
|
|
|
<section class='details'>
|
|
|
|
<h1>{{i18n admin.user.activity}}</h1>
|
|
|
|
|
|
|
|
<div class='display-row'>
|
|
|
|
<div class='field'>{{i18n created}}</div>
|
2013-05-21 03:27:58 +08:00
|
|
|
<div class='value'>{{{created_at_age}}}</div>
|
2013-02-06 03:16:51 +08:00
|
|
|
</div>
|
|
|
|
<div class='display-row'>
|
|
|
|
<div class='field'>{{i18n admin.users.last_emailed}}</div>
|
2013-05-21 03:27:58 +08:00
|
|
|
<div class='value'>{{{last_emailed_age}}}</div>
|
2013-02-06 03:16:51 +08:00
|
|
|
</div>
|
|
|
|
<div class='display-row'>
|
|
|
|
<div class='field'>{{i18n last_seen}}</div>
|
2013-05-21 03:27:58 +08:00
|
|
|
<div class='value'>{{{last_seen_age}}}</div>
|
2013-02-06 03:16:51 +08:00
|
|
|
</div>
|
|
|
|
<div class='display-row'>
|
|
|
|
<div class='field'>{{i18n admin.user.like_count}}</div>
|
2013-05-21 03:27:58 +08:00
|
|
|
<div class='value'>{{like_count}}</div>
|
2013-02-06 03:16:51 +08:00
|
|
|
</div>
|
|
|
|
<div class='display-row'>
|
|
|
|
<div class='field'>{{i18n admin.user.topics_entered}}</div>
|
2013-05-21 03:27:58 +08:00
|
|
|
<div class='value'>{{topics_entered}}</div>
|
2013-03-21 08:25:41 +08:00
|
|
|
</div>
|
2013-02-06 03:16:51 +08:00
|
|
|
<div class='display-row'>
|
|
|
|
<div class='field'>{{i18n admin.user.post_count}}</div>
|
2013-05-21 03:27:58 +08:00
|
|
|
<div class='value'>{{post_count}}</div>
|
2013-02-07 15:11:56 +08:00
|
|
|
<div class='controls'>
|
2013-05-21 03:27:58 +08:00
|
|
|
{{#if can_delete_all_posts}}
|
2013-02-15 17:45:37 +08:00
|
|
|
<button class='btn btn-danger' {{action deleteAllPosts target="content"}}>
|
2013-02-07 15:11:56 +08:00
|
|
|
<i class='icon icon-trash'></i>
|
|
|
|
{{i18n admin.user.delete_all_posts}}
|
|
|
|
</button>
|
|
|
|
{{/if}}
|
|
|
|
</div>
|
2013-02-06 03:16:51 +08:00
|
|
|
</div>
|
|
|
|
<div class='display-row'>
|
|
|
|
<div class='field'>{{i18n admin.user.posts_read_count}}</div>
|
2013-05-21 03:27:58 +08:00
|
|
|
<div class='value'>{{posts_read_count}}</div>
|
2013-03-21 08:25:41 +08:00
|
|
|
</div>
|
2013-02-06 03:16:51 +08:00
|
|
|
<div class='display-row'>
|
|
|
|
<div class='field'>{{i18n admin.user.flags_given_count}}</div>
|
2013-05-21 03:27:58 +08:00
|
|
|
<div class='value'>{{flags_given_count}}</div>
|
2013-03-21 08:25:41 +08:00
|
|
|
</div>
|
2013-02-06 03:16:51 +08:00
|
|
|
<div class='display-row'>
|
|
|
|
<div class='field'>{{i18n admin.user.flags_received_count}}</div>
|
2013-05-21 03:27:58 +08:00
|
|
|
<div class='value'>{{flags_received_count}}</div>
|
2013-03-21 08:25:41 +08:00
|
|
|
</div>
|
2013-02-06 03:16:51 +08:00
|
|
|
<div class='display-row'>
|
|
|
|
<div class='field'>{{i18n admin.user.private_topics_count}}</div>
|
2013-05-21 03:27:58 +08:00
|
|
|
<div class='value'>{{private_topics_count}}</div>
|
2013-02-06 03:16:51 +08:00
|
|
|
</div>
|
|
|
|
<div class='display-row'>
|
|
|
|
<div class='field'>{{i18n admin.user.time_read}}</div>
|
2013-05-21 03:27:58 +08:00
|
|
|
<div class='value'>{{{time_read}}}</div>
|
2013-03-21 08:25:41 +08:00
|
|
|
</div>
|
2013-02-06 03:16:51 +08:00
|
|
|
<div class='display-row'>
|
|
|
|
<div class='field'>{{i18n user.invited.days_visited}}</div>
|
2013-05-21 03:27:58 +08:00
|
|
|
<div class='value'>{{{days_visited}}}</div>
|
2013-03-21 08:25:41 +08:00
|
|
|
</div>
|
2013-02-06 03:16:51 +08:00
|
|
|
</section>
|
|
|
|
|
2013-04-12 04:04:20 +08:00
|
|
|
<section>
|
|
|
|
<hr/>
|
2013-06-01 03:49:44 +08:00
|
|
|
<button class="btn btn-danger pull-right" {{action destroy target="content"}} {{bindAttr disabled="deleteForbidden"}} {{bindAttr title="deleteButtonTitle"}}>
|
2013-07-30 06:31:47 +08:00
|
|
|
<i class="icon icon-warning-sign"></i>
|
2013-04-12 04:04:20 +08:00
|
|
|
{{i18n admin.user.delete}}
|
|
|
|
</button>
|
|
|
|
</section>
|
|
|
|
<div class="clearfix"></div>
|