diff --git a/ghost/admin/app/components/gh-member-settings-form-cp.hbs b/ghost/admin/app/components/gh-member-settings-form-cp.hbs index 118bffcd07..2abc293d39 100644 --- a/ghost/admin/app/components/gh-member-settings-form-cp.hbs +++ b/ghost/admin/app/components/gh-member-settings-form-cp.hbs @@ -165,23 +165,34 @@ {{#each product.subscriptions as |sub|}} - {{#if sub.isComplimentary}} -
+
+
-
- Complimentary + {{sub.price.nickname}} + – + {{#if sub.cancel_at_period_end}} + Has access until {{sub.validUntil}} + Cancelled + {{else}} + Renews {{sub.validUntil}} Active -
-
Created on
+ {{/if}}
-
-
-
- $ - 0 -
-
yearly
+ {{#if sub.cancellationReason}} +
Cancellation reason: {{sub.cancellationReason}}
+ {{/if}} +
Created on {{sub.startDate}}
+
+ +
+
+
+ {{sub.price.currencySymbol}} + {{sub.price.nonDecimalAmount}}
+
{{if (eq sub.price.interval "year") "yearly" "monthly"}}
+
+ {{#if sub.isComplimentary}} @@ -197,37 +208,8 @@ -
-
- {{else}} -
-
-
- {{sub.price.nickname}} - – - {{#if sub.cancel_at_period_end}} - Has access until {{sub.validUntil}} - Cancelled - {{else}} - Renews {{sub.validUntil}} - Active - {{/if}} -
- {{#if sub.cancellationReason}} -
Cancellation reason: {{sub.cancellationReason}}
- {{/if}} -
Created on {{sub.startDate}}
-
- -
-
-
- {{sub.price.currencySymbol}} - {{sub.price.nonDecimalAmount}} -
-
{{if (eq sub.price.interval "year") "yearly" "monthly"}}
-
+ {{else}} @@ -260,9 +242,9 @@ -
+ {{/if}}
- {{/if}} +
{{/each}} {{#if (and (feature "multipleProducts") (eq product.subscriptions.length 0))}} diff --git a/ghost/admin/app/components/gh-member-settings-form-cp.js b/ghost/admin/app/components/gh-member-settings-form-cp.js index 96689c37a4..f9a41167f9 100644 --- a/ghost/admin/app/components/gh-member-settings-form-cp.js +++ b/ghost/admin/app/components/gh-member-settings-form-cp.js @@ -35,16 +35,13 @@ export default class extends Component { if (!this.membersUtils.isStripeEnabled) { return false; } - if (this.feature.get('multipleProducts')) { - return true; + + let products = this.member.get('products'); + if (products && products.length > 0) { + return false; } - let subscriptions = this.member.get('subscriptions') || []; - const hasZeroPriceSub = subscriptions.filter((sub) => { - return ['active', 'trialing', 'unpaid', 'past_due'].includes(sub.status); - }).find((sub) => { - return !sub?.price?.amount; - }); - return !hasZeroPriceSub; + + return true; } get products() {