@using Bit.Admin.Enums; @using Bit.Admin.Models @using Bit.Core @using Bit.Core.AdminConsole.Enums.Provider @using Bit.Core.Billing.Enums @using Bit.Core.Billing.Extensions @using Bit.Core.Services @using Microsoft.AspNetCore.Mvc.TagHelpers @inject Bit.Admin.Services.IAccessControlService AccessControlService @inject IFeatureService FeatureService @model OrganizationEditModel @{ ViewData["Title"] = (Model.Provider != null ? "Client " : string.Empty) + "Organization: " + Model.Name; var canViewOrganizationInformation = AccessControlService.UserHasPermission(Permission.Org_OrgInformation_View); var canViewBillingInformation = AccessControlService.UserHasPermission(Permission.Org_BillingInformation_View); var canInitiateTrial = AccessControlService.UserHasPermission(Permission.Org_InitiateTrial); var canRequestDelete = AccessControlService.UserHasPermission(Permission.Org_RequestDelete); var canDelete = AccessControlService.UserHasPermission(Permission.Org_Delete); var canUnlinkFromProvider = AccessControlService.UserHasPermission(Permission.Provider_Edit); var canConvertToBusinessUnit = FeatureService.IsEnabled(FeatureFlagKeys.PM18770_EnableOrganizationBusinessUnitConversion) && AccessControlService.UserHasPermission(Permission.Org_Billing_ConvertToBusinessUnit) && Model.Organization.PlanType.GetProductTier() == ProductTierType.Enterprise && !string.IsNullOrEmpty(Model.Organization.GatewaySubscriptionId) && Model.Provider is null or { Type: ProviderType.BusinessUnit, Status: ProviderStatusType.Pending }; } @section Scripts { @await Html.PartialAsync("~/AdminConsole/Views/Shared/_OrganizationFormScripts.cshtml") }

@(Model.Provider != null ? "Client " : string.Empty)Organization @Model.Name

@if (Model.Provider != null) {

Provider Relationship

@await Html.PartialAsync("_ProviderInformation", Model.Provider) } @if (canViewOrganizationInformation) {

Organization Information

@await Html.PartialAsync("_ViewInformation", Model) } @if (canViewBillingInformation) {

Billing Information

@await Html.PartialAsync("_BillingInformation", new BillingInformationModel { BillingInfo = Model.BillingInfo, BillingHistoryInfo = Model.BillingHistoryInfo, OrganizationId = Model.Organization.Id, Entity = "Organization" }) } @await Html.PartialAsync("~/AdminConsole/Views/Shared/_OrganizationForm.cshtml", Model)
@if (canInitiateTrial && Model.Provider is null) { } @if (canConvertToBusinessUnit) { Convert to Business Unit } @if (canUnlinkFromProvider && Model.Provider is not null) { } @if (canRequestDelete) {
} @if (canDelete) {
}