1
0
mirror of https://github.com/bitwarden/browser synced 2025-12-16 00:03:56 +00:00

[PM-26369] [PM-26362] Implement Auto Confirm Policy and Multi Step Dialog Workflow (#16831)

* implement multi step dialog for auto confirm

* wip

* implement extension messgae for auto confirm

* expand layout logic for header and footer, implement function to open extension

* add back missing test

* refactor test

* clean up

* clean up

* clean up

* fix policy step increment

* clean up

* Ac/pm 26369 add auto confirm policy to client domain models (#16830)

* refactor BasePoliicyEditDefinition

* fix circular dep

* wip

* wip

* fix policy submission and refreshing

* add svg, copy, and finish layout

* clean up

* cleanup

* cleanup, fix SVG

* design review changes

* fix copy

* fix padding

* address organization plan feature FIXME

* fix test

* remove placeholder URL

* prevent duplicate messages
This commit is contained in:
Brandon Treston
2025-10-22 16:11:33 -04:00
committed by GitHub
parent 2147f74ae8
commit 67ba1b83ea
23 changed files with 659 additions and 61 deletions

View File

@@ -19,4 +19,5 @@ export enum PolicyType {
RestrictedItemTypes = 15, // Restricts item types that can be created within an organization
UriMatchDefaults = 16, // Sets the default URI matching strategy for all users within an organization
AutotypeDefaultSetting = 17, // Sets the default autotype setting for desktop app
AutoConfirm = 18, // Enables the auto confirmation feature for admins to enable in their client
}

View File

@@ -30,6 +30,7 @@ describe("ORGANIZATIONS state", () => {
useSecretsManager: false,
usePasswordManager: false,
useActivateAutofillPolicy: false,
useAutomaticUserConfirmation: false,
selfHost: false,
usersGetPremium: false,
seats: 0,

View File

@@ -30,6 +30,7 @@ export class OrganizationData {
useSecretsManager: boolean;
usePasswordManager: boolean;
useActivateAutofillPolicy: boolean;
useAutomaticUserConfirmation: boolean;
selfHost: boolean;
usersGetPremium: boolean;
seats: number;
@@ -99,6 +100,7 @@ export class OrganizationData {
this.useSecretsManager = response.useSecretsManager;
this.usePasswordManager = response.usePasswordManager;
this.useActivateAutofillPolicy = response.useActivateAutofillPolicy;
this.useAutomaticUserConfirmation = response.useAutomaticUserConfirmation;
this.selfHost = response.selfHost;
this.usersGetPremium = response.usersGetPremium;
this.seats = response.seats;

View File

@@ -38,6 +38,7 @@ export class Organization {
useSecretsManager: boolean;
usePasswordManager: boolean;
useActivateAutofillPolicy: boolean;
useAutomaticUserConfirmation: boolean;
selfHost: boolean;
usersGetPremium: boolean;
seats: number;
@@ -124,6 +125,7 @@ export class Organization {
this.useSecretsManager = obj.useSecretsManager;
this.usePasswordManager = obj.usePasswordManager;
this.useActivateAutofillPolicy = obj.useActivateAutofillPolicy;
this.useAutomaticUserConfirmation = obj.useAutomaticUserConfirmation;
this.selfHost = obj.selfHost;
this.usersGetPremium = obj.usersGetPremium;
this.seats = obj.seats;

View File

@@ -23,6 +23,7 @@ export class ProfileOrganizationResponse extends BaseResponse {
useSecretsManager: boolean;
usePasswordManager: boolean;
useActivateAutofillPolicy: boolean;
useAutomaticUserConfirmation: boolean;
selfHost: boolean;
usersGetPremium: boolean;
seats: number;
@@ -82,6 +83,7 @@ export class ProfileOrganizationResponse extends BaseResponse {
this.useSecretsManager = this.getResponseProperty("UseSecretsManager");
this.usePasswordManager = this.getResponseProperty("UsePasswordManager");
this.useActivateAutofillPolicy = this.getResponseProperty("UseActivateAutofillPolicy");
this.useAutomaticUserConfirmation = this.getResponseProperty("UseAutomaticUserConfirmation");
this.selfHost = this.getResponseProperty("SelfHost");
this.usersGetPremium = this.getResponseProperty("UsersGetPremium");
this.seats = this.getResponseProperty("Seats");