diff --git a/src/app/settings/organization-plans.component.html b/src/app/settings/organization-plans.component.html index 83506b783ba..8e66ffec7a3 100644 --- a/src/app/settings/organization-plans.component.html +++ b/src/app/settings/organization-plans.component.html @@ -92,7 +92,7 @@

{{'chooseYourPlan' | i18n}}

- + {{selectableProduct.basePrice / 12 | currency:'$'}} /{{'month' | i18n}}, {{'includesXUsers' | i18n : selectableProduct.baseSeats}} @@ -162,8 +162,14 @@

{{'summary' | i18n}}

{{'basePrice' | i18n}}: {{ selectablePlan.basePrice / 12 | currency:'$'}} × 12 {{'monthAbbr' | i18n}} = - {{selectablePlan.basePrice | currency:'$'}} - /{{'year' | i18n}} + + {{selectablePlan.basePrice | currency:'$'}} + {{'freeWithSponsorship' | i18n}} + + + {{selectablePlan.basePrice | currency:'$'}} + /{{'year' | i18n}} + {{'additionalUsers' | i18n}}: diff --git a/src/app/settings/organization-plans.component.ts b/src/app/settings/organization-plans.component.ts index 8d8d9183c76..23b26c185da 100644 --- a/src/app/settings/organization-plans.component.ts +++ b/src/app/settings/organization-plans.component.ts @@ -68,6 +68,7 @@ export class OrganizationPlansComponent implements OnInit { productTypes = ProductType; formPromise: Promise; singleOrgPolicyBlock: boolean = false; + discount = 0; plans: PlanResponse[]; @@ -120,15 +121,19 @@ export class OrganizationPlansComponent implements OnInit { validPlans = validPlans.filter(plan => plan.product !== ProductType.Free); } + validPlans = validPlans + .filter(plan => !plan.legacyYear + && !plan.disabled + && (plan.isAnnual || plan.product === this.productTypes.Free)); + if (this.acceptingSponsorship) { - validPlans = validPlans.filter(plan => plan.product === ProductType.Families); + const familyPlan = this.plans.find(plan => plan.type === PlanType.FamiliesAnnually); + this.discount = familyPlan.basePrice; + validPlans = [ + familyPlan, + ]; } - validPlans = validPlans - .filter(plan => !plan.legacyYear - && !plan.disabled - && (plan.isAnnual || plan.product === this.productTypes.Free)); - return validPlans; } @@ -177,7 +182,7 @@ export class OrganizationPlansComponent implements OnInit { if (this.selectedPlan.hasPremiumAccessOption && this.premiumAccessAddon) { subTotal += this.selectedPlan.premiumAccessOptionPrice; } - return subTotal; + return subTotal - this.discount; } get freeTrial() { diff --git a/src/locales/en/messages.json b/src/locales/en/messages.json index 2202ce4207c..8b117d232be 100644 --- a/src/locales/en/messages.json +++ b/src/locales/en/messages.json @@ -4730,5 +4730,8 @@ }, "sponsorshipTokenHasExpired": { "message": "The sponsorship offer has expired." + }, + "freeWithSponsorship": { + "message": "FREE with sponsorship" } }