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',