discourse/app/assets/javascripts/admin/addon/templates/admin-badges/award.hbs
Peter Wagenet 40cb46631f
DEV: Update /admin/badges to modern Ember patterns (#17672)
* Nest admin badges controller and route files

* Use standard file names for admin-badges

* Update resolver to allow standardized file structure for admin

* Add adminBadges.index controller for property tracking

* Modernize admin badges controller

* Modernize admin-badges route

* Add admin-badges index route

* Modernize admin-badges.show controller and route

* Modernize admin-badges.award controller and route

* Convert BadgeButton to a Glimmer component
2022-08-03 10:12:17 +01:00

71 lines
2.7 KiB
Handlebars

<DSection @class="award-badge">
<h1>{{i18n "admin.badges.mass_award.title"}}</h1>
<p>{{i18n "admin.badges.mass_award.description"}}</p>
{{#if this.model}}
<form class="form-horizontal">
<div class="badge-preview control-group">
{{#if this.model}}
{{icon-or-image this.model}}
<span class="badge-display-name">{{this.model.name}}</span>
{{else}}
<span class="badge-placeholder">{{i18n "admin.badges.mass_award.no_badge_selected"}}</span>
{{/if}}
</div>
<div class="control-group">
<h4>{{i18n "admin.badges.mass_award.upload_csv"}}</h4>
<input type="file" id="massAwardCSVUpload" accept=".csv" onchange={{action "updateFileSelected"}}>
</div>
<div class="control-group">
<label>
<Input @type="checkbox" @checked={{this.replaceBadgeOwners}} />
{{i18n "admin.badges.mass_award.replace_owners"}}
</label>
{{#if this.model.multiple_grant}}
<label class="grant-existing-holders">
<Input @type="checkbox" @checked={{this.grantExistingHolders}} class="grant-existing-holders-checkbox" />
{{i18n "admin.badges.mass_award.grant_existing_holders"}}
</label>
{{/if}}
</div>
<DButton @class="btn-primary" @action={{action "massAward"}} @type="submit" @disabled={{this.massAwardButtonDisabled}} @icon="certificate" @label="admin.badges.mass_award.perform" />
<LinkTo @route="adminBadges.index" class="btn btn-normal">
{{d-icon "times"}}
<span>{{i18n "cancel"}}</span>
</LinkTo>
</form>
{{#if this.saving}}
{{i18n "uploading"}}
{{/if}}
{{#if this.resultsMessage}}
<p>
{{#if this.success}}
{{d-icon "check" class="bulk-award-status-icon success"}}
{{else}}
{{d-icon "times" class="bulk-award-status-icon failure"}}
{{/if}}
{{this.resultsMessage}}
</p>
{{#if this.unmatchedEntries.length}}
<p>
{{d-icon "exclamation-triangle" class="bulk-award-status-icon failure"}}
<span>
{{#if this.unmatchedEntriesTruncated}}
{{i18n "admin.badges.mass_award.csv_has_unmatched_users_truncated_list" count=this.unmatchedEntriesCount}}
{{else}}
{{i18n "admin.badges.mass_award.csv_has_unmatched_users"}}
{{/if}}
</span>
</p>
<ul>
{{#each this.unmatchedEntries as |entry|}}
<li>{{entry}}</li>
{{/each}}
</ul>
{{/if}}
{{/if}}
{{else}}
<span class="badge-required">{{i18n "admin.badges.mass_award.no_badge_selected"}}</span>
{{/if}}
</DSection>