From 98e80cb6f85d93bb1cb653a5c08d1a925302d452 Mon Sep 17 00:00:00 2001 From: Simon Backx Date: Tue, 10 May 2022 13:52:28 +0200 Subject: [PATCH] Replaced newsletterId usage with newsletter refs https://github.com/TryGhost/Team/issues/1569 refs https://github.com/TryGhost/Team/issues/1596 refs https://github.com/TryGhost/Team/issues/1576 - Removed some usages of post.newsletterId with post.newsletter - Renamed newsletterId adapterOption from newsletterId to newsletter, in preparation of https://github.com/TryGhost/Team/issues/1596 (still sending newsletter_id) - Removed newsletterId property of post model --- ghost/admin/app/adapters/post.js | 5 +++-- .../admin/app/components/editor-labs/publish-management.js | 2 +- ghost/admin/app/components/gh-publishmenu.js | 2 +- ghost/admin/app/components/modals/post-preview/email.js | 6 ++---- ghost/admin/app/controllers/editor.js | 2 +- ghost/admin/app/models/post.js | 3 --- 6 files changed, 8 insertions(+), 12 deletions(-) diff --git a/ghost/admin/app/adapters/post.js b/ghost/admin/app/adapters/post.js index 7e42f56b57..8b3b5afaa8 100644 --- a/ghost/admin/app/adapters/post.js +++ b/ghost/admin/app/adapters/post.js @@ -18,8 +18,9 @@ export default class Post extends ApplicationAdapter { parsedUrl.searchParams.append('email_recipient_filter', emailRecipientFilter); } - if (snapshot?.adapterOptions?.newsletterId) { - const newsletterId = snapshot.adapterOptions.newsletterId; + if (snapshot?.adapterOptions?.newsletter) { + // TODO: rename newsletter_id to newsletter once changed in the backend + const newsletterId = snapshot.adapterOptions.newsletter; parsedUrl.searchParams.append('newsletter_id', newsletterId); } diff --git a/ghost/admin/app/components/editor-labs/publish-management.js b/ghost/admin/app/components/editor-labs/publish-management.js index ba6ba4b9e6..1f932f90e8 100644 --- a/ghost/admin/app/components/editor-labs/publish-management.js +++ b/ghost/admin/app/components/editor-labs/publish-management.js @@ -274,7 +274,7 @@ export class PublishOptions { const adapterOptions = {}; if (willEmail) { - adapterOptions.newsletterId = this.newsletter.id; + adapterOptions.newsletter = this.newsletter.id; adapterOptions.emailRecipientFilter = this.recipientFilter; } diff --git a/ghost/admin/app/components/gh-publishmenu.js b/ghost/admin/app/components/gh-publishmenu.js index 7ca4cfa818..b5e376b559 100644 --- a/ghost/admin/app/components/gh-publishmenu.js +++ b/ghost/admin/app/components/gh-publishmenu.js @@ -476,7 +476,7 @@ export default Component.extend({ try { // will show alert for non-date related failed validations - post = yield this.saveTask.perform({sendEmailWhenPublished, newsletterId: this.selectedNewsletter?.id, emailOnly}); + post = yield this.saveTask.perform({sendEmailWhenPublished, newsletter: this.selectedNewsletter?.id, emailOnly}); this._cachePublishedAtBlogTZ(); diff --git a/ghost/admin/app/components/modals/post-preview/email.js b/ghost/admin/app/components/modals/post-preview/email.js index ee54f5550e..809cdb637a 100644 --- a/ghost/admin/app/components/modals/post-preview/email.js +++ b/ghost/admin/app/components/modals/post-preview/email.js @@ -110,10 +110,8 @@ export default class ModalPostPreviewEmailComponent extends Component { let {post} = this.args; // Fetch newsletter - if (!this.newsletter && post.newsletterId) { - const newsletters = (await this.store.query('newsletter', {filter: 'status:active+id:' + post.newsletterId, limit: 1})).toArray(); - const defaultNewsletter = newsletters[0]; - this.newsletter = defaultNewsletter; + if (!this.newsletter && post.newsletter) { + this.newsletter = post.newsletter; } if (!this.newsletter) { diff --git a/ghost/admin/app/controllers/editor.js b/ghost/admin/app/controllers/editor.js index 18265f4bc6..7b4ef46d08 100644 --- a/ghost/admin/app/controllers/editor.js +++ b/ghost/admin/app/controllers/editor.js @@ -492,7 +492,7 @@ export default class EditorController extends Controller { if (options.sendEmailWhenPublished && (isPublishing || isScheduling)) { options.adapterOptions = Object.assign({}, options.adapterOptions, { sendEmailWhenPublished: options.sendEmailWhenPublished, - newsletterId: options.newsletterId + newsletter: options.newsletter }); } } diff --git a/ghost/admin/app/models/post.js b/ghost/admin/app/models/post.js index 20a47217c4..230777eed4 100644 --- a/ghost/admin/app/models/post.js +++ b/ghost/admin/app/models/post.js @@ -111,9 +111,6 @@ export default Model.extend(Comparable, ValidationEngine, { featureImageAlt: attr('string'), featureImageCaption: attr('string'), - // TODO: delete when newsletter relationship/embed is fully defined - newsletterId: attr(), - authors: hasMany('user', {embedded: 'always', async: false}), createdBy: belongsTo('user', {async: true}), email: belongsTo('email', {async: false}),