2014-03-19 22:27:21 +08:00
|
|
|
<div class="admin-controls">
|
2018-02-15 01:26:05 +08:00
|
|
|
<nav>
|
2014-03-19 22:27:21 +08:00
|
|
|
<ul class="nav nav-pills">
|
2022-07-06 01:41:31 +08:00
|
|
|
<li><LinkTo @route="adminUser" @model={{this.user}}>{{d-icon
|
|
|
|
"caret-left"
|
|
|
|
}}
|
|
|
|
{{this.user.username}}</LinkTo></li>
|
2014-03-19 22:27:21 +08:00
|
|
|
</ul>
|
2018-02-15 01:26:05 +08:00
|
|
|
</nav>
|
2014-03-19 22:27:21 +08:00
|
|
|
</div>
|
|
|
|
|
2022-07-06 01:41:31 +08:00
|
|
|
<ConditionalLoadingSpinner @condition={{this.loading}}>
|
2014-03-19 22:27:21 +08:00
|
|
|
<div class="admin-container user-badges">
|
2014-12-09 05:35:49 +08:00
|
|
|
<h2>{{i18n "admin.badges.grant_badge"}}</h2>
|
2015-02-25 09:52:43 +08:00
|
|
|
<br />
|
2023-09-14 10:05:29 +08:00
|
|
|
{{#if this.noAvailableBadges}}
|
2014-12-09 05:35:49 +08:00
|
|
|
<p>{{i18n "admin.badges.no_badges"}}</p>
|
2014-03-19 22:27:21 +08:00
|
|
|
{{else}}
|
2015-02-25 09:52:43 +08:00
|
|
|
<form class="form-horizontal">
|
2021-09-20 21:52:03 +08:00
|
|
|
<div class="control-group">
|
2020-02-03 21:22:14 +08:00
|
|
|
<label>{{i18n "admin.badges.badge"}}</label>
|
2022-07-06 01:41:31 +08:00
|
|
|
<ComboBox
|
|
|
|
@value={{this.selectedBadgeId}}
|
2023-09-14 10:05:29 +08:00
|
|
|
@content={{this.availableBadges}}
|
2024-03-07 01:05:03 +08:00
|
|
|
@onChange={{fn (mut this.selectedBadgeId)}}
|
2022-07-06 01:41:31 +08:00
|
|
|
@options={{hash filterable=true}}
|
2022-06-30 18:30:50 +08:00
|
|
|
/>
|
2015-02-25 09:52:43 +08:00
|
|
|
</div>
|
2021-09-20 21:52:03 +08:00
|
|
|
<div class="control-group">
|
2015-02-25 09:52:43 +08:00
|
|
|
<label>{{i18n "admin.badges.reason"}}</label>
|
2022-07-06 01:41:31 +08:00
|
|
|
<Input @type="text" @value={{this.badgeReason}} /><br /><small>{{i18n
|
|
|
|
"admin.badges.reason_help"
|
|
|
|
}}</small>
|
2018-10-26 23:06:31 +08:00
|
|
|
</div>
|
2022-06-30 18:30:50 +08:00
|
|
|
<DButton
|
2023-03-21 05:07:21 +08:00
|
|
|
@action={{this.performGrantBadge}}
|
2022-06-30 18:30:50 +08:00
|
|
|
@label="admin.badges.grant"
|
2023-08-31 17:49:35 +08:00
|
|
|
type="submit"
|
|
|
|
class="btn-primary"
|
2022-06-30 18:30:50 +08:00
|
|
|
/>
|
2015-02-25 09:52:43 +08:00
|
|
|
</form>
|
2014-03-19 22:27:21 +08:00
|
|
|
{{/if}}
|
|
|
|
|
2015-02-25 09:52:43 +08:00
|
|
|
<table id="user-badges">
|
2020-02-10 15:14:26 +08:00
|
|
|
<tbody>
|
2014-03-19 22:27:21 +08:00
|
|
|
<tr>
|
2020-02-10 15:14:26 +08:00
|
|
|
<th>{{i18n "admin.badges.badge"}}</th>
|
|
|
|
<th>{{i18n "admin.badges.granted_by"}}</th>
|
|
|
|
<th class="reason">{{i18n "admin.badges.reason"}}</th>
|
|
|
|
<th>{{i18n "admin.badges.granted_at"}}</th>
|
|
|
|
<th></th>
|
2014-03-19 22:27:21 +08:00
|
|
|
</tr>
|
2022-07-06 01:41:31 +08:00
|
|
|
{{#each this.groupedBadges as |userBadge|}}
|
2020-02-10 15:14:26 +08:00
|
|
|
<tr>
|
2022-06-30 18:30:50 +08:00
|
|
|
<td><UserBadge
|
|
|
|
@badge={{userBadge.badge}}
|
|
|
|
@count={{userBadge.count}}
|
|
|
|
/></td>
|
2020-02-10 15:14:26 +08:00
|
|
|
<td>
|
2023-10-23 14:46:10 +08:00
|
|
|
<LinkTo @route="adminUser" @model={{userBadge.granted_by}}>
|
2020-02-10 15:14:26 +08:00
|
|
|
{{avatar userBadge.granted_by imageSize="tiny"}}
|
|
|
|
{{userBadge.granted_by.username}}
|
2022-06-30 18:30:50 +08:00
|
|
|
</LinkTo>
|
2020-02-10 15:14:26 +08:00
|
|
|
</td>
|
|
|
|
<td class="reason">
|
|
|
|
{{#if userBadge.postUrl}}
|
2020-03-09 22:28:31 +08:00
|
|
|
<a href={{userBadge.postUrl}}>{{userBadge.topic_title}}</a>
|
2020-02-10 15:14:26 +08:00
|
|
|
{{/if}}
|
|
|
|
</td>
|
|
|
|
<td>{{age-with-tooltip userBadge.granted_at}}</td>
|
|
|
|
<td>
|
|
|
|
{{#if userBadge.grouped}}
|
2022-06-30 18:30:50 +08:00
|
|
|
<DButton
|
2023-08-31 17:49:35 +08:00
|
|
|
@action={{fn this.expandGroup userBadge}}
|
2022-06-30 18:30:50 +08:00
|
|
|
@label="admin.badges.expand"
|
|
|
|
/>
|
2020-02-10 15:14:26 +08:00
|
|
|
{{else}}
|
2022-06-30 18:30:50 +08:00
|
|
|
<DButton
|
2023-08-31 17:49:35 +08:00
|
|
|
@action={{fn this.revokeBadge userBadge}}
|
2022-06-30 18:30:50 +08:00
|
|
|
@label="admin.badges.revoke"
|
2023-08-31 17:49:35 +08:00
|
|
|
class="btn-danger"
|
2022-06-30 18:30:50 +08:00
|
|
|
/>
|
2020-02-10 15:14:26 +08:00
|
|
|
{{/if}}
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
{{else}}
|
|
|
|
<tr>
|
|
|
|
<td colspan="5">
|
2022-07-06 01:41:31 +08:00
|
|
|
<p>{{i18n
|
|
|
|
"admin.badges.no_user_badges"
|
|
|
|
name=this.user.username
|
|
|
|
}}</p>
|
2020-02-10 15:14:26 +08:00
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
{{/each}}
|
|
|
|
</tbody>
|
2014-03-19 22:27:21 +08:00
|
|
|
</table>
|
|
|
|
</div>
|
2022-06-30 18:30:50 +08:00
|
|
|
</ConditionalLoadingSpinner>
|