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:
parent
43feb624b7
commit
682c5e4190
3 changed files with 77 additions and 57 deletions
|
@ -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')
|
||||||
|
|
10
ghost/admin/app/serializers/email.js
Normal file
10
ghost/admin/app/serializers/email.js
Normal 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'}
|
||||||
|
}
|
||||||
|
});
|
|
@ -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>
|
Loading…
Add table
Reference in a new issue