0
Fork 0
mirror of https://github.com/TryGhost/Ghost.git synced 2025-02-24 23:48:13 -05:00

Display basic info in PSM once an email has been sent

This commit is contained in:
Kevin Ansfield 2019-11-08 17:07:47 +07:00
parent 43feb624b7
commit 682c5e4190
3 changed files with 77 additions and 57 deletions

View file

@ -13,9 +13,9 @@ export default Model.extend({
submittedAtUTC: attr('moment-utc'), submittedAtUTC: attr('moment-utc'),
uuid: attr('string'), uuid: attr('string'),
createdAtUTC: attr('string'), createdAtUTC: attr('moment-utc'),
createdBy: attr('string'), createdBy: attr('string'),
updatedAtUTC: attr('string'), updatedAtUTC: attr('moment-utc'),
updatedBy: attr('string'), updatedBy: attr('string'),
post: belongsTo('post') post: belongsTo('post')

View file

@ -0,0 +1,10 @@
/* eslint-disable camelcase */
import ApplicationSerializer from 'ghost-admin/serializers/application';
export default ApplicationSerializer.extend({
attrs: {
createdAtUTC: {key: 'created_at'},
updatedAtUTC: {key: 'updated_at'},
submittedAtUTC: {key: 'submitted_at'}
}
});

View file

@ -5,65 +5,75 @@
</div> </div>
<div class="settings-menu-content settings-menu-email"> <div class="settings-menu-content settings-menu-email">
{{#if mailgunError}} {{#if post.email}}
<p class="gh-box gh-box-warning settings-menu-mailgun-warning"> {{!-- Mail has already been sent --}}
{{svg-jar "info" class="w5 h5 fill-yellow nl1"}} <p>Subject: {{this.post.email.subject}}</p>
You need to configure Mailgun in {{#link-to "settings.labs" data-test-nav="labs"}}Labs → Members settings{{/link-to}} to enable email newsletters. <p>Status: {{this.post.email.status}}</p>
</p> <p>Sent on: {{gh-format-post-time this.post.email.createdAtUTC}}</p>
{{/if}} <p>Sent to {{pluralize this.post.email.emailCount "member"}}</p>
<form {{action "discardEnter" on="submit"}}> {{else}}
{{#gh-form-group errors=post.errors hasValidated=post.hasValidated property="emailSubject"}} {{!-- Mail not sent yet --}}
<label for="og-title">Subject</label> {{#if mailgunError}}
{{gh-text-input <p class="gh-box gh-box-warning settings-menu-mailgun-warning">
class="post-setting-email-subject" {{svg-jar "info" class="w5 h5 fill-yellow nl1"}}
id="email-subject" You need to configure Mailgun in {{#link-to "settings.labs" data-test-nav="labs"}}Labs → Members settings{{/link-to}} to enable email newsletters.
name="post-setting-email-subject" </p>
placeholder=(truncate emailSubject 40) {{/if}}
value=(readonly emailSubjectScratch)
input=(action (mut emailSubjectScratch) value="target.value")
focus-out=(action "setEmailSubject" emailSubjectScratch)
stopEnterKeyDownPropagation=true
disabled=deliveredAction
data-test-field="email-subject"}}
{{gh-error-message errors=post.errors property="emailSubject" data-test-error="email-subject"}}
{{/gh-form-group}}
<div class="form-group"> <form {{action "discardEnter" on="submit"}}>
<div class="flex"> {{#gh-form-group errors=post.errors hasValidated=post.hasValidated property="emailSubject"}}
<label class="nowrap flex-auto">Test email</label> <label for="og-title">Subject</label>
<button type="button" class="gh-btn gh-btn-link settings-menu-email-button" onclick={{action "toggleEmailPreview"}}
data-test-button="toggle-email-preview">
<span class="blue">
Preview in browser
</span>
</button>
</div>
<div class="{{if mailgunError "disabled"}}">
{{gh-text-input {{gh-text-input
class="post-setting-email-test" class="post-setting-email-subject"
id="email-test" id="email-subject"
name="post-setting-email-test" name="post-setting-email-subject"
placeholder=(truncate 'noreply@example.com' 40) placeholder=(truncate emailSubject 40)
value=(readonly emailTestScratch) value=(readonly emailSubjectScratch)
input=(action (mut emailTestScratch) value="target.value") input=(action (mut emailSubjectScratch) value="target.value")
focus-out=(action "setEmailSubject" emailSubjectScratch)
stopEnterKeyDownPropagation=true stopEnterKeyDownPropagation=true
disabled=mailgunError disabled=deliveredAction
data-test-field="email-test"}} data-test-field="email-subject"}}
{{gh-error-message errors=post.errors property="emailSubject" data-test-error="email-subject"}}
{{/gh-form-group}}
{{#if sendTestEmailError}} <div class="form-group">
<div class="error"><p class="response">{{sendTestEmailError}}</p></div> <div class="flex">
{{/if}} <label class="nowrap flex-auto">Test email</label>
<button type="button" class="gh-btn gh-btn-link settings-menu-email-button" onclick={{action "toggleEmailPreview"}}
data-test-button="toggle-email-preview">
<span class="blue">
Preview in browser
</span>
</button>
</div>
{{gh-task-button "Send test email" <div class="{{if mailgunError "disabled"}}">
task=sendTestEmail {{gh-text-input
successText="Email sent" class="post-setting-email-test"
runningText="Sending..." id="email-test"
class="gh-btn w-100 mt2 gh-btn-icon" name="post-setting-email-test"
disabled=mailgunError placeholder=(truncate 'noreply@example.com' 40)
data-test-send-test-mail=true value=(readonly emailTestScratch)
}} input=(action (mut emailTestScratch) value="target.value")
stopEnterKeyDownPropagation=true
disabled=mailgunError
data-test-field="email-test"}}
{{#if sendTestEmailError}}
<div class="error"><p class="response">{{sendTestEmailError}}</p></div>
{{/if}}
{{gh-task-button "Send test email"
task=sendTestEmail
successText="Email sent"
runningText="Sending..."
class="gh-btn w-100 mt2 gh-btn-icon"
disabled=mailgunError
data-test-send-test-mail=true
}}
</div>
</div> </div>
</div> </form>
</form> {{/if}}
</div> </div>