mirror of
https://github.com/TryGhost/Ghost.git
synced 2024-12-01 13:54:35 +03:00
63070673d2
closes https://github.com/TryGhost/Ghost/issues/12112 - perform a paid members list query with a limit of 1 when the modal is displayed if the post is set to members only, then use the pagination meta data to get a total number of members - display a spinner and disable the confirm button whilst the count query is in progress - does not display any counts for users with the Editor role as they do not have permission to list members
86 lines
3.8 KiB
Handlebars
86 lines
3.8 KiB
Handlebars
{{#unless this.errorMessage}}
|
||
<header class="modal-header" data-test-modal="delete-user">
|
||
<h1>Ready to go? Here’s what happens next</h1>
|
||
</header>
|
||
<button class="close" title="Close" {{on "click" this.closeModal}}>{{svg-jar "close"}}<span class="hidden">Close</span></button>
|
||
|
||
<div class="modal-body" {{did-insert this.countPaidMembers}}>
|
||
{{#if this.countPaidMembersTask.isRunning}}
|
||
<div class="flex flex-column items-center">
|
||
<div class="gh-loading-spinner"></div>
|
||
</div>
|
||
{{else}}
|
||
<p>
|
||
Your post will be delivered to
|
||
<strong>
|
||
{{#if this.model.paidOnly}}
|
||
{{!-- TODO: remove editor fallback once editors can query member counts --}}
|
||
{{if this.session.user.isEditor "all paid members" (gh-pluralize this.paidMemberCount "paid member")}}
|
||
{{else}}
|
||
{{!-- TODO: remove editor fallback once editors can query member counts --}}
|
||
{{if this.session.user.isEditor "all members" (gh-pluralize this.model.memberCount "member")}}
|
||
{{/if}}
|
||
</strong>
|
||
and will be published on your site{{#if this.model.isScheduled}} at the scheduled time{{/if}}. Sound good?
|
||
</p>
|
||
{{/if}}
|
||
</div>
|
||
|
||
<div class="modal-footer">
|
||
<button {{on "click" this.closeModal}} class="gh-btn" data-test-button="cancel-publish-and-email">
|
||
<span>Cancel</span>
|
||
</button>
|
||
<GhTaskButton
|
||
@disabled={{this.countPaidMembersTask.isRunning}}
|
||
@buttonText={{if this.model.isScheduled "Schedule" "Publish and send"}}
|
||
@runningText={{if this.model.isScheduled "Scheduling..." "Publishing..."}}
|
||
@task={{this.confirmAndCheckErrorTask}}
|
||
@class="gh-btn gh-btn-green gh-btn-icon"
|
||
data-test-button="confirm-publish-and-email"
|
||
/>
|
||
</div>
|
||
|
||
{{else}}
|
||
<header class="modal-header" data-test-modal="delete-user">
|
||
<h1>Failed to send email</h1>
|
||
</header>
|
||
<button class="close" title="Close" {{on "click" this.closeModal}}>{{svg-jar "close"}}<span class="hidden">Close</span></button>
|
||
|
||
<div class="modal-body">
|
||
{{#if this.session.user.isOwner}}
|
||
<p>Your post has been published but the email failed to send. Please verify your email settings if the error persists.</p>
|
||
{{else}}
|
||
<p>Your post has been published but the email failed to send. Please verify your email settings if the error persists.</p>
|
||
{{/if}}
|
||
<p class="mb0">
|
||
<button type="button" class="gh-btn gh-btn-text regular" {{action (toggle "errorDetailsOpen" this)}} data-test-toggle-error>
|
||
{{#if this.errorDetailsOpen}}
|
||
{{svg-jar "arrow-down" class="nudge-top--2 w2 h2 fill-darkgrey mr1"}}
|
||
{{else}}
|
||
{{svg-jar "arrow-right" class="nudge-top--1 w2 h2 fill-darkgrey mr1"}}
|
||
{{/if}}
|
||
<span>Error details</span>
|
||
</button>
|
||
</p>
|
||
|
||
{{#liquid-if this.errorDetailsOpen}}
|
||
<p class="error gh-box gh-box-error mt3 mb3">
|
||
{{svg-jar "warning"}}
|
||
{{this.errorMessage}}
|
||
</p>
|
||
{{/liquid-if}}
|
||
</div>
|
||
|
||
<div class="modal-footer">
|
||
<button {{on "click" this.closeModal}} class="gh-btn" data-test-button="cancel-publish-and-email">
|
||
<span>Close</span>
|
||
</button>
|
||
<GhTaskButton
|
||
@buttonText="Retry email"
|
||
@runningText="Sending..."
|
||
@task={{this.retryEmailTask}}
|
||
@class="gh-btn gh-btn-red gh-btn-icon"
|
||
data-test-button="retry-email"
|
||
/>
|
||
</div>
|
||
{{/unless}} |