From 7b340929ef7fcbb7695f61124e18b9c1bc874bff Mon Sep 17 00:00:00 2001 From: Kevin Ansfield Date: Wed, 5 May 2021 16:59:18 +0100 Subject: [PATCH] Refactored members email settings screen no issue - simplified query params as they are only used to display a notification - removed all controller knowledge and associated reset behaviour for query params - moved notification display from `setupController` to `beforeModel` so the raw query params can be pulled off of the transition object - removed unused service injections from `` - removed unused service injections and properties from members-email controller that were left over from a copy/paste - converted members-email controller to a native class - fixed "leave settings" confirmation modal behaviour that wasn't moved across in the the settings screen re-org --- .../components/gh-members-email-setting.hbs | 7 -- .../components/gh-members-email-setting.js | 8 -- .../app/controllers/settings/members-email.js | 103 +++++++++--------- .../app/routes/settings/members-email.js | 45 ++++---- .../app/templates/settings/members-email.hbs | 11 +- 5 files changed, 80 insertions(+), 94 deletions(-) diff --git a/ghost/admin/app/components/gh-members-email-setting.hbs b/ghost/admin/app/components/gh-members-email-setting.hbs index 804dddb71b..66e094915b 100644 --- a/ghost/admin/app/components/gh-members-email-setting.hbs +++ b/ghost/admin/app/components/gh-members-email-setting.hbs @@ -194,13 +194,6 @@ -{{#if this.showLeaveSettingsModal}} - -{{/if}} - {{#if this.showEmailDesignSettings}} { + if (transition.to.queryParams?.fromAddressUpdate === 'success') { + this.notifications.showAlert( + `Newsletter email address has been updated`.htmlSafe(), + {type: 'success', key: 'members.settings.from-address.updated'} + ); + } else if (transition.to.queryParams?.supportAddressUpdate === 'success') { + this.notifications.showAlert( + `Support email address has been updated`.htmlSafe(), + {type: 'success', key: 'members.settings.support-address.updated'} + ); + } + }); }, model() { @@ -26,22 +31,12 @@ export default AuthenticatedRoute.extend(CurrentUserSettings, { }, setupController(controller) { - if (controller.fromAddressUpdate === 'success') { - this.notifications.showAlert( - `Newsletter email address has been updated`.htmlSafe(), - {type: 'success', key: 'members.settings.from-address.updated'} - ); - } else if (controller.supportAddressUpdate === 'success') { - this.notifications.showAlert( - `Support email address has been updated`.htmlSafe(), - {type: 'success', key: 'members.settings.support-address.updated'} - ); - } + controller.resetEmailAddresses(); }, - resetController(controller, isExiting) { - if (isExiting) { - controller.reset(); + actions: { + willTransition(transition) { + return this.controller.leaveRoute(transition); } }, diff --git a/ghost/admin/app/templates/settings/members-email.hbs b/ghost/admin/app/templates/settings/members-email.hbs index 85c185730a..170f349478 100644 --- a/ghost/admin/app/templates/settings/members-email.hbs +++ b/ghost/admin/app/templates/settings/members-email.hbs @@ -24,10 +24,19 @@ @settings={{this.settings}} @fromAddress={{this.fromAddress}} @supportAddress={{this.supportAddress}} - @setEmailAddress={{action "setEmailAddress"}} + @setEmailAddress={{this.setEmailAddress}} /> {{/if}} + + {{#if this.showLeaveSettingsModal}} + + {{/if}} \ No newline at end of file