diff --git a/ghost/admin/app/components/modals/edit-newsletter/preview.hbs b/ghost/admin/app/components/modals/edit-newsletter/preview.hbs index 9f893ad2e3..5c39052250 100644 --- a/ghost/admin/app/components/modals/edit-newsletter/preview.hbs +++ b/ghost/admin/app/components/modals/edit-newsletter/preview.hbs @@ -2,7 +2,7 @@

- {{@newsletter.senderName}} <{{full-email-address (or @newsletter.senderEmail "noreply")}}> + {{or @newsletter.senderName this.settings.title}} <{{full-email-address (or @newsletter.senderEmail "noreply")}}>

To: Jamie Larson <jamie@example.com>

diff --git a/ghost/admin/app/components/modals/edit-newsletter/settings.hbs b/ghost/admin/app/components/modals/edit-newsletter/settings.hbs index f1f1f73ef8..cfb6e914fb 100644 --- a/ghost/admin/app/components/modals/edit-newsletter/settings.hbs +++ b/ghost/admin/app/components/modals/edit-newsletter/settings.hbs @@ -33,6 +33,7 @@ type="text" class="gh-input miw-100 form-text" value={{@newsletter.senderName}} + placeholder={{this.settings.title}} {{on "input" (fn this.onInput "senderName")}} /> diff --git a/ghost/admin/app/components/settings/members-email-labs/newsletter-management.js b/ghost/admin/app/components/settings/members-email-labs/newsletter-management.js index 21582c6b37..9cf8ed50fb 100644 --- a/ghost/admin/app/components/settings/members-email-labs/newsletter-management.js +++ b/ghost/admin/app/components/settings/members-email-labs/newsletter-management.js @@ -35,7 +35,7 @@ export default class NewsletterManagementComponent extends Component { } get displayingDefault() { - return this.statusFilter === 'active' && this.activeNewsletters.length === 1; + return this.statusFilter === 'active' && this.filteredNewsletters.length === 1; } @action diff --git a/ghost/admin/app/routes/settings/members-email-labs/new-newsletter.js b/ghost/admin/app/routes/settings/members-email-labs/new-newsletter.js index 55f5328b82..e71214e000 100644 --- a/ghost/admin/app/routes/settings/members-email-labs/new-newsletter.js +++ b/ghost/admin/app/routes/settings/members-email-labs/new-newsletter.js @@ -13,9 +13,7 @@ export default class NewNewsletterRoute extends AdminRoute { newsletterModal = null; model() { - return this.store.createRecord('newsletter', { - senderName: this.settings.get('title') - }); + return this.store.createRecord('newsletter'); } setupController(controller, model) { @@ -69,19 +67,7 @@ export default class NewNewsletterRoute extends AdminRoute { async confirmUnsavedChanges() { const newsletter = this.newsletterModal?._data.newsletter; - if (newsletter?.hasDirtyAttributes) { - // first, check that we're not dirty just because we set the default senderName - // TODO: remove when senderName is nullable - const changedAttributes = newsletter.changedAttributes(); - const changedKeys = Object.keys(changedAttributes); - const onlyDefaultChanged = changedKeys.length === 1 - && changedKeys[0] === 'senderName' - && newsletter.senderName === this.settings.get('title'); - - if (onlyDefaultChanged) { - return true; - } - + if (newsletter && newsletter.hasDirtyAttributes && Object.keys(newsletter.changedAttributes()).length > 0) { this.confirmModal = this.modals.open(ConfirmUnsavedChangesModal) .then((discardChanges) => { if (discardChanges === true) { diff --git a/ghost/admin/app/validators/newsletter.js b/ghost/admin/app/validators/newsletter.js index 9776dc6715..97c67cdc12 100644 --- a/ghost/admin/app/validators/newsletter.js +++ b/ghost/admin/app/validators/newsletter.js @@ -20,11 +20,6 @@ export default BaseValidator.create({ }, senderName(model) { - if (isBlank(model.senderName)) { - model.errors.add('senderName', 'Please enter a sender name.'); - this.invalidate(); - } - if (!validator.isLength(model.senderName || '', 0, 191)) { model.errors.add('senderName', 'Cannot be longer than 191 characters.'); this.invalidate(); diff --git a/ghost/admin/mirage/scenarios/default.js b/ghost/admin/mirage/scenarios/default.js index c2a38f0a80..aabd03be4d 100644 --- a/ghost/admin/mirage/scenarios/default.js +++ b/ghost/admin/mirage/scenarios/default.js @@ -16,7 +16,7 @@ export default function (server) { slug: 'site-title', description: 'Default newsletter created during setup', - senderName: 'Site title', + senderName: null, senderEmail: null, senderReplyTo: 'newsletter',