diff --git a/apps/web/src/app/admin-console/organizations/manage/group-add-edit.component.html b/apps/web/src/app/admin-console/organizations/manage/group-add-edit.component.html
index 5c8c0c07f88..101512dea04 100644
--- a/apps/web/src/app/admin-console/organizations/manage/group-add-edit.component.html
+++ b/apps/web/src/app/admin-console/organizations/manage/group-add-edit.component.html
@@ -23,7 +23,7 @@
{{ "characterMaximum" | i18n: 100 }}
-
+
{{ "externalId" | i18n }}
{{ "externalIdDesc" | i18n }}
diff --git a/apps/web/src/app/admin-console/organizations/manage/group-add-edit.component.ts b/apps/web/src/app/admin-console/organizations/manage/group-add-edit.component.ts
index 53a6a3cf196..ca7d07220b2 100644
--- a/apps/web/src/app/admin-console/organizations/manage/group-add-edit.component.ts
+++ b/apps/web/src/app/admin-console/organizations/manage/group-add-edit.component.ts
@@ -28,7 +28,6 @@ import {
} from "@bitwarden/common/admin-console/abstractions/organization/organization.service.abstraction";
import { Organization } from "@bitwarden/common/admin-console/models/domain/organization";
import { AccountService } from "@bitwarden/common/auth/abstractions/account.service";
-import { FeatureFlag } from "@bitwarden/common/enums/feature-flag.enum";
import { ErrorResponse } from "@bitwarden/common/models/response/error.response";
import { ConfigService } from "@bitwarden/common/platform/abstractions/config/config.service";
import { I18nService } from "@bitwarden/common/platform/abstractions/i18n.service";
@@ -147,6 +146,10 @@ export class GroupAddEditComponent implements OnInit, OnDestroy {
return this.params.organizationId;
}
+ protected get isExternalIdVisible(): boolean {
+ return !!this.groupForm.get("externalId")?.value;
+ }
+
protected get editMode(): boolean {
return this.groupId != null;
}
@@ -227,10 +230,6 @@ export class GroupAddEditComponent implements OnInit, OnDestroy {
this.groupDetails$,
]).pipe(map(([allowAdminAccess, groupDetails]) => !allowAdminAccess && groupDetails != null));
- protected isExternalIdVisible$ = this.configService
- .getFeatureFlag$(FeatureFlag.SsoExternalIdVisibility)
- .pipe(map((isEnabled) => !isEnabled || !!this.groupForm.get("externalId")?.value));
-
constructor(
@Inject(DIALOG_DATA) private params: GroupAddEditDialogParams,
private dialogRef: DialogRef,
diff --git a/apps/web/src/app/admin-console/organizations/members/components/member-dialog/member-dialog.component.html b/apps/web/src/app/admin-console/organizations/members/components/member-dialog/member-dialog.component.html
index 9564952f511..fa0a7bd85a3 100644
--- a/apps/web/src/app/admin-console/organizations/members/components/member-dialog/member-dialog.component.html
+++ b/apps/web/src/app/admin-console/organizations/members/components/member-dialog/member-dialog.component.html
@@ -177,13 +177,13 @@
-
+
{{ "externalId" | i18n }}
{{ "externalIdDesc" | i18n }}
-
+
{{ "ssoExternalId" | i18n }}
{{ "ssoExternalIdDesc" | i18n }}
diff --git a/apps/web/src/app/admin-console/organizations/members/components/member-dialog/member-dialog.component.ts b/apps/web/src/app/admin-console/organizations/members/components/member-dialog/member-dialog.component.ts
index 10bbc5cfe52..9adfb1db3f2 100644
--- a/apps/web/src/app/admin-console/organizations/members/components/member-dialog/member-dialog.component.ts
+++ b/apps/web/src/app/admin-console/organizations/members/components/member-dialog/member-dialog.component.ts
@@ -157,28 +157,20 @@ export class MemberDialogComponent implements OnDestroy {
manageResetPassword: false,
});
- protected isExternalIdVisible$ = this.configService
- .getFeatureFlag$(FeatureFlag.SsoExternalIdVisibility)
- .pipe(
- map((isEnabled) => {
- return !isEnabled || !!this.formGroup.get("externalId")?.value;
- }),
- );
+ get isExternalIdVisible(): boolean {
+ return !!this.formGroup.get("externalId")?.value;
+ }
- protected isSsoExternalIdVisible$ = this.configService
- .getFeatureFlag$(FeatureFlag.SsoExternalIdVisibility)
- .pipe(
- map((isEnabled) => {
- return isEnabled && !!this.formGroup.get("ssoExternalId")?.value;
- }),
- );
-
- private destroy$ = new Subject();
+ get isSsoExternalIdVisible(): boolean {
+ return !!this.formGroup.get("ssoExternalId")?.value;
+ }
get customUserTypeSelected(): boolean {
return this.formGroup.value.type === OrganizationUserType.Custom;
}
+ private destroy$ = new Subject();
+
isEditDialogParams(
params: EditMemberDialogParams | AddMemberDialogParams,
): params is EditMemberDialogParams {
diff --git a/apps/web/src/app/admin-console/organizations/shared/components/collection-dialog/collection-dialog.component.html b/apps/web/src/app/admin-console/organizations/shared/components/collection-dialog/collection-dialog.component.html
index 12d7a920a2d..4a91fcc2a41 100644
--- a/apps/web/src/app/admin-console/organizations/shared/components/collection-dialog/collection-dialog.component.html
+++ b/apps/web/src/app/admin-console/organizations/shared/components/collection-dialog/collection-dialog.component.html
@@ -35,7 +35,7 @@
-
+
{{ "externalId" | i18n }}
{{ "externalIdDesc" | i18n }}
diff --git a/apps/web/src/app/admin-console/organizations/shared/components/collection-dialog/collection-dialog.component.ts b/apps/web/src/app/admin-console/organizations/shared/components/collection-dialog/collection-dialog.component.ts
index 07bff3aba64..70b26041df6 100644
--- a/apps/web/src/app/admin-console/organizations/shared/components/collection-dialog/collection-dialog.component.ts
+++ b/apps/web/src/app/admin-console/organizations/shared/components/collection-dialog/collection-dialog.component.ts
@@ -38,7 +38,6 @@ import { getUserId } from "@bitwarden/common/auth/services/account.service";
import { FeatureFlag } from "@bitwarden/common/enums/feature-flag.enum";
import { ConfigService } from "@bitwarden/common/platform/abstractions/config/config.service";
import { I18nService } from "@bitwarden/common/platform/abstractions/i18n.service";
-import { PlatformUtilsService } from "@bitwarden/common/platform/abstractions/platform-utils.service";
import { Utils } from "@bitwarden/common/platform/misc/utils";
import {
DIALOG_DATA,
@@ -135,7 +134,7 @@ export class CollectionDialogComponent implements OnInit, OnDestroy {
protected showOrgSelector = false;
protected formGroup = this.formBuilder.group({
name: ["", [Validators.required, BitValidators.forbiddenCharacters(["/"])]],
- externalId: "",
+ externalId: { value: "", disabled: true },
parent: undefined as string | undefined,
access: [[] as AccessItemValue[]],
selectedOrg: "",
@@ -145,16 +144,6 @@ export class CollectionDialogComponent implements OnInit, OnDestroy {
protected showAddAccessWarning = false;
protected collections: Collection[];
protected buttonDisplayName: ButtonType = ButtonType.Save;
- protected isExternalIdVisible$ = this.configService
- .getFeatureFlag$(FeatureFlag.SsoExternalIdVisibility)
- .pipe(
- map((isEnabled) => {
- return (
- !isEnabled ||
- (!!this.params.isAdminConsoleActive && !!this.formGroup.get("externalId")?.value)
- );
- }),
- );
private orgExceedingCollectionLimit!: Organization;
constructor(
@@ -165,7 +154,6 @@ export class CollectionDialogComponent implements OnInit, OnDestroy {
private groupService: GroupApiService,
private collectionAdminService: CollectionAdminService,
private i18nService: I18nService,
- private platformUtilsService: PlatformUtilsService,
private organizationUserApiService: OrganizationUserApiService,
private dialogService: DialogService,
private changeDetectorRef: ChangeDetectorRef,
@@ -354,6 +342,10 @@ export class CollectionDialogComponent implements OnInit, OnDestroy {
return this.formGroup.controls.selectedOrg;
}
+ protected get isExternalIdVisible(): boolean {
+ return this.params.isAdminConsoleActive && !!this.formGroup.get("externalId")?.value;
+ }
+
protected get collectionId() {
return this.params.collectionId;
}
@@ -490,23 +482,10 @@ export class CollectionDialogComponent implements OnInit, OnDestroy {
private handleFormGroupReadonly(readonly: boolean) {
if (readonly) {
this.formGroup.controls.name.disable();
- this.formGroup.controls.externalId.disable();
this.formGroup.controls.parent.disable();
this.formGroup.controls.access.disable();
} else {
this.formGroup.controls.name.enable();
-
- this.configService
- .getFeatureFlag$(FeatureFlag.SsoExternalIdVisibility)
- .pipe(takeUntil(this.destroy$))
- .subscribe((isEnabled) => {
- if (isEnabled) {
- this.formGroup.controls.externalId.disable();
- } else {
- this.formGroup.controls.externalId.enable();
- }
- });
-
this.formGroup.controls.parent.enable();
this.formGroup.controls.access.enable();
}
diff --git a/libs/common/src/enums/feature-flag.enum.ts b/libs/common/src/enums/feature-flag.enum.ts
index f9e68efe4be..dcd214c37d7 100644
--- a/libs/common/src/enums/feature-flag.enum.ts
+++ b/libs/common/src/enums/feature-flag.enum.ts
@@ -12,7 +12,6 @@ import { ServerConfig } from "../platform/abstractions/config/server-config";
export enum FeatureFlag {
/* Admin Console Team */
LimitItemDeletion = "pm-15493-restrict-item-deletion-to-can-manage-permission",
- SsoExternalIdVisibility = "pm-18630-sso-external-id-visibility",
AccountDeprovisioningBanner = "pm-17120-account-deprovisioning-admin-console-banner",
SeparateCustomRolePermissions = "pm-19917-separate-custom-role-permissions",
@@ -83,7 +82,6 @@ const FALSE = false as boolean;
export const DefaultFeatureFlagValue = {
/* Admin Console Team */
[FeatureFlag.LimitItemDeletion]: FALSE,
- [FeatureFlag.SsoExternalIdVisibility]: FALSE,
[FeatureFlag.AccountDeprovisioningBanner]: FALSE,
[FeatureFlag.SeparateCustomRolePermissions]: FALSE,