From 29dc178261e55aada8d6e99a7f31433da0aa3992 Mon Sep 17 00:00:00 2001 From: Kevin Ansfield Date: Fri, 21 May 2021 08:57:16 +0100 Subject: [PATCH] Removed unused members-payments route no issue - stripe connect/disconnect functionality has moved to a modal as part of the new membership screen - removed `settings/members-payments` route and related route/controller/template files - updated link to stripe connect in product screen to show an alert as a reminder to update to use the new modal (products screens are not usable for now, they'll be worked on again later) --- .../controllers/settings/members-payments.js | 54 ------------------- .../admin/app/controllers/settings/product.js | 8 ++- ghost/admin/app/router.js | 1 - .../app/routes/settings/members-payments.js | 41 -------------- .../templates/settings/members-payments.hbs | 36 ------------- .../admin/app/templates/settings/product.hbs | 4 +- 6 files changed, 9 insertions(+), 135 deletions(-) delete mode 100644 ghost/admin/app/controllers/settings/members-payments.js delete mode 100644 ghost/admin/app/routes/settings/members-payments.js delete mode 100644 ghost/admin/app/templates/settings/members-payments.hbs diff --git a/ghost/admin/app/controllers/settings/members-payments.js b/ghost/admin/app/controllers/settings/members-payments.js deleted file mode 100644 index f8fcad5fde..0000000000 --- a/ghost/admin/app/controllers/settings/members-payments.js +++ /dev/null @@ -1,54 +0,0 @@ -/* eslint-disable ghost/ember/alias-model-in-controller */ -import Controller from '@ember/controller'; -import {action} from '@ember/object'; -import {inject as service} from '@ember/service'; -import {task} from 'ember-concurrency-decorators'; -import {tracked} from '@glimmer/tracking'; - -export default class MembersPaymentsController extends Controller { - @service settings; - - @tracked showLeaveSettingsModal = false; - - @action - setDefaultContentVisibility(value) { - this.settings.set('defaultContentVisibility', value); - } - - @action - setStripeConnectIntegrationTokenSetting(stripeConnectIntegrationToken) { - this.settings.set('stripeConnectIntegrationToken', stripeConnectIntegrationToken); - } - - @task({drop: true}) - *saveSettings() { - return yield this.settings.save(); - } - - leaveRoute(transition) { - if (this.settings.get('hasDirtyAttributes')) { - transition.abort(); - this.leaveSettingsTransition = transition; - this.showLeaveSettingsModal = true; - } - } - - @action - async confirmLeave() { - this.settings.rollbackAttributes(); - this.showLeaveSettingsModal = false; - this.leaveSettingsTransition.retry(); - } - - @action - cancelLeave() { - this.showLeaveSettingsModal = false; - this.leaveSettingsTransition = null; - } - - reset() { - // stripeConnectIntegrationToken is not a persisted value so we don't want - // to keep it around across transitions - this.settings.set('stripeConnectIntegrationToken', undefined); - } -} diff --git a/ghost/admin/app/controllers/settings/product.js b/ghost/admin/app/controllers/settings/product.js index ae6c58028f..f580ca2aa2 100644 --- a/ghost/admin/app/controllers/settings/product.js +++ b/ghost/admin/app/controllers/settings/product.js @@ -5,8 +5,9 @@ import {task} from 'ember-concurrency-decorators'; import {tracked} from '@glimmer/tracking'; export default class ProductController extends Controller { - @service settings; @service config; + @service membersUtils; + @service settings; @tracked showLeaveSettingsModal = false; @tracked showPriceModal = false; @@ -100,6 +101,11 @@ export default class ProductController extends Controller { this.send('savePrice', price); } + @action + openStripeConnect() { + alert('Update to use stripe-connect modal (see memberships screen)'); + } + @action async confirmLeave() { this.settings.rollbackAttributes(); diff --git a/ghost/admin/app/router.js b/ghost/admin/app/router.js index 8ae39b3ed2..aae59622e2 100644 --- a/ghost/admin/app/router.js +++ b/ghost/admin/app/router.js @@ -50,7 +50,6 @@ Router.map(function () { this.route('settings.general', {path: '/settings/general'}); this.route('settings.membership', {path: '/settings/members'}); this.route('settings.members-email', {path: '/settings/members-email'}); - this.route('settings.members-payments', {path: '/settings/members-payments'}); this.route('settings.code-injection', {path: '/settings/code-injection'}); this.route('settings.products', {path: '/settings/products'}); diff --git a/ghost/admin/app/routes/settings/members-payments.js b/ghost/admin/app/routes/settings/members-payments.js deleted file mode 100644 index 3f254e7a96..0000000000 --- a/ghost/admin/app/routes/settings/members-payments.js +++ /dev/null @@ -1,41 +0,0 @@ -import AuthenticatedRoute from 'ghost-admin/routes/authenticated'; -import {inject as service} from '@ember/service'; - -export default class MembersPaymentsRoute extends AuthenticatedRoute { - @service session; - @service settings; - - beforeModel() { - super.beforeModel(...arguments); - - return this.session.get('user').then((user) => { - if (!user.isOwner && user.isAdmin) { - return this.transitionTo('settings'); - } else if (!user.isOwner) { - return this.transitionTo('home'); - } - }); - } - - model() { - return this.settings.reload(); - } - - actions = { - willTransition(transition) { - return this.controller.leaveRoute(transition); - } - } - - resetController(controller, isExiting) { - if (isExiting) { - controller.reset(); - } - } - - buildRouteInfoMetadata() { - return { - titleToken: 'Settings - Members' - }; - } -} diff --git a/ghost/admin/app/templates/settings/members-payments.hbs b/ghost/admin/app/templates/settings/members-payments.hbs deleted file mode 100644 index caa55e76a0..0000000000 --- a/ghost/admin/app/templates/settings/members-payments.hbs +++ /dev/null @@ -1,36 +0,0 @@ -
- -

- Settings - {{svg-jar "arrow-right"}} - Payments -

-
- -
-
- -
-
- -
-
- - {{#if this.showLeaveSettingsModal}} - - {{/if}} -
\ No newline at end of file diff --git a/ghost/admin/app/templates/settings/product.hbs b/ghost/admin/app/templates/settings/product.hbs index 42d8cabfa8..dc22af348a 100644 --- a/ghost/admin/app/templates/settings/product.hbs +++ b/ghost/admin/app/templates/settings/product.hbs @@ -75,7 +75,7 @@
There are no prices for this product
- {{#if this.settings.stripeConnectAccountId}} + {{#if this.membersUtils.isStripeEnabled}} {{#unless this.product.isNew}} {{/unless}} {{else}} - You need to connect to Stripe to add prices + You need to to add prices {{/if}}