1
0
mirror of https://github.com/bitwarden/browser synced 2026-01-07 19:13:39 +00:00

make manage the initial permission when clicking the add access badge (#16165)

This commit is contained in:
Brandon Treston
2025-09-08 10:34:56 -04:00
committed by GitHub
parent 3bc3bef50b
commit 61d097b4d7
7 changed files with 58 additions and 19 deletions

View File

@@ -125,6 +125,7 @@ import { VaultFilter } from "../../../vault/individual-vault/vault-filter/shared
import { AdminConsoleCipherFormConfigService } from "../../../vault/org-vault/services/admin-console-cipher-form-config.service";
import { GroupApiService, GroupView } from "../core";
import { openEntityEventsDialog } from "../manage/entity-events.component";
import { CollectionPermission } from "../shared/components/access-selector";
import {
CollectionDialogAction,
CollectionDialogTabType,
@@ -879,6 +880,7 @@ export class vNextVaultComponent implements OnInit, OnDestroy {
event.item as CollectionAdminView,
CollectionDialogTabType.Access,
event.readonly,
event.initialPermission,
);
break;
case "bulkEditCollectionAccess":
@@ -1372,6 +1374,7 @@ export class vNextVaultComponent implements OnInit, OnDestroy {
c: CollectionAdminView,
tab: CollectionDialogTabType,
readonly: boolean,
initialPermission?: CollectionPermission,
): Promise<void> {
const organization = await firstValueFrom(this.organization$);
const dialog = openCollectionDialog(this.dialogService, {
@@ -1383,6 +1386,7 @@ export class vNextVaultComponent implements OnInit, OnDestroy {
isAddAccessCollection: c.unmanaged,
limitNestedCollections: !organization.canEditAnyCollection,
isAdminConsoleActive: true,
initialPermission,
},
});

View File

@@ -126,7 +126,6 @@ export class AccessSelectorComponent implements ControlValueAccessor, OnInit, On
protected itemType = AccessItemType;
protected permissionList: Permission[];
protected initialPermission = CollectionPermission.View;
/**
* When disabled, the access selector will make the assumption that a readonly state is desired.
@@ -208,6 +207,12 @@ export class AccessSelectorComponent implements ControlValueAccessor, OnInit, On
*/
@Input() hideMultiSelect = false;
/**
* The initial permission that will be selected in the dialog, defaults to View.
*/
@Input()
protected initialPermission: CollectionPermission = CollectionPermission.View;
constructor(
private readonly formBuilder: FormBuilder,
private readonly i18nService: I18nService,

View File

@@ -103,6 +103,7 @@
[selectorLabelText]="'selectGroupsAndMembers' | i18n"
[selectorHelpText]="'userPermissionOverrideHelperDesc' | i18n"
[emptySelectionText]="'noMembersOrGroupsAdded' | i18n"
[initialPermission]="initialPermission"
></bit-access-selector>
<bit-access-selector
*ngIf="!organization.useGroups"

View File

@@ -92,6 +92,7 @@ export interface CollectionDialogParams {
initialTab?: CollectionDialogTabType;
parentCollectionId?: string;
showOrgSelector?: boolean;
initialPermission?: CollectionPermission;
/**
* Flag to limit the nested collections to only those the user has explicit CanManage access too.
*/
@@ -142,6 +143,7 @@ export class CollectionDialogComponent implements OnInit, OnDestroy {
protected showDeleteButton = false;
protected showAddAccessWarning = false;
protected buttonDisplayName: ButtonType = ButtonType.Save;
protected initialPermission: CollectionPermission;
private orgExceedingCollectionLimit!: Organization;
constructor(
@@ -161,6 +163,7 @@ export class CollectionDialogComponent implements OnInit, OnDestroy {
private configService: ConfigService,
) {
this.tabIndex = params.initialTab ?? CollectionDialogTabType.Info;
this.initialPermission = params.initialPermission ?? CollectionPermission.View;
}
async ngOnInit() {