From bf57a181eb40f1978153c5bd84bba6564dae77f7 Mon Sep 17 00:00:00 2001 From: cyprain-okeke <108260115+cyprain-okeke@users.noreply.github.com> Date: Mon, 13 May 2024 22:00:38 +0100 Subject: [PATCH] [AC-2570] Existing providers see new CB experience on Admin Console org Billing Subscription page (#9108) * Fix the subscription page issue for existing providers * Merge branch 'main' into ac-2570-existing-providers-see-new-cb-experience-on-admin-console-org-billing-subscription-page * Fix pr comment on error if the user isn't a provider user * Resolve the pr comment on error for non provider user * Remove unused property --- .../organization-subscription-cloud.component.ts | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/apps/web/src/app/billing/organizations/organization-subscription-cloud.component.ts b/apps/web/src/app/billing/organizations/organization-subscription-cloud.component.ts index d021c827a73..a0db7b5a200 100644 --- a/apps/web/src/app/billing/organizations/organization-subscription-cloud.component.ts +++ b/apps/web/src/app/billing/organizations/organization-subscription-cloud.component.ts @@ -5,7 +5,8 @@ import { concatMap, firstValueFrom, lastValueFrom, Observable, Subject, takeUnti import { ApiService } from "@bitwarden/common/abstractions/api.service"; import { OrganizationApiServiceAbstraction } from "@bitwarden/common/admin-console/abstractions/organization/organization-api.service.abstraction"; import { OrganizationService } from "@bitwarden/common/admin-console/abstractions/organization/organization.service.abstraction"; -import { OrganizationApiKeyType } from "@bitwarden/common/admin-console/enums"; +import { ProviderService } from "@bitwarden/common/admin-console/abstractions/provider.service"; +import { OrganizationApiKeyType, ProviderStatusType } from "@bitwarden/common/admin-console/enums"; import { Organization } from "@bitwarden/common/admin-console/models/domain/organization"; import { PlanType } from "@bitwarden/common/billing/enums"; import { OrganizationSubscriptionResponse } from "@bitwarden/common/billing/models/response/organization-subscription.response"; @@ -69,6 +70,7 @@ export class OrganizationSubscriptionCloudComponent implements OnInit, OnDestroy private route: ActivatedRoute, private dialogService: DialogService, private configService: ConfigService, + private providerService: ProviderService, ) {} async ngOnInit() { @@ -109,8 +111,11 @@ export class OrganizationSubscriptionCloudComponent implements OnInit, OnDestroy if (this.userOrg.canViewSubscription) { const enableConsolidatedBilling = await firstValueFrom(this.enableConsolidatedBilling$); - - this.isProviderManaged = enableConsolidatedBilling && this.userOrg.hasProvider; + const provider = await this.providerService.get(this.userOrg.providerId); + this.isProviderManaged = + enableConsolidatedBilling && + this.userOrg.hasProvider && + provider.providerStatus == ProviderStatusType.Billable; this.sub = await this.organizationApiService.getSubscription(this.organizationId); this.lineItems = this.sub?.subscription?.items;