diff --git a/apps/web/src/app/admin-console/organizations/policies/policy-edit-definitions/autotype-policy.component.html b/apps/web/src/app/admin-console/organizations/policies/policy-edit-definitions/autotype-policy.component.html new file mode 100644 index 00000000000..f110e7d34cd --- /dev/null +++ b/apps/web/src/app/admin-console/organizations/policies/policy-edit-definitions/autotype-policy.component.html @@ -0,0 +1,4 @@ + + + {{ "turnOn" | i18n }} + diff --git a/apps/web/src/app/admin-console/organizations/policies/policy-edit-definitions/autotype-policy.component.ts b/apps/web/src/app/admin-console/organizations/policies/policy-edit-definitions/autotype-policy.component.ts new file mode 100644 index 00000000000..ce62a7ff5a3 --- /dev/null +++ b/apps/web/src/app/admin-console/organizations/policies/policy-edit-definitions/autotype-policy.component.ts @@ -0,0 +1,25 @@ +import { Component } from "@angular/core"; + +import { PolicyType } from "@bitwarden/common/admin-console/enums"; +import { Organization } from "@bitwarden/common/admin-console/models/domain/organization"; +import { FeatureFlag } from "@bitwarden/common/enums/feature-flag.enum"; +import { ConfigService } from "@bitwarden/common/platform/abstractions/config/config.service"; + +import { SharedModule } from "../../../../shared"; +import { BasePolicyEditDefinition, BasePolicyEditComponent } from "../base-policy-edit.component"; + +export class DesktopAutotypeDefaultSettingPolicy extends BasePolicyEditDefinition { + name = "desktopAutotypePolicy"; + description = "desktopAutotypePolicyDesc"; + type = PolicyType.AutotypeDefaultSetting; + component = DesktopAutotypeDefaultSettingPolicyComponent; + + display$(organization: Organization, configService: ConfigService) { + return configService.getFeatureFlag$(FeatureFlag.WindowsDesktopAutotype); + } +} +@Component({ + templateUrl: "autotype-policy.component.html", + imports: [SharedModule], +}) +export class DesktopAutotypeDefaultSettingPolicyComponent extends BasePolicyEditComponent {} diff --git a/apps/web/src/app/admin-console/organizations/policies/policy-edit-definitions/index.ts b/apps/web/src/app/admin-console/organizations/policies/policy-edit-definitions/index.ts index 13f29ab68f7..bb2c40b7a76 100644 --- a/apps/web/src/app/admin-console/organizations/policies/policy-edit-definitions/index.ts +++ b/apps/web/src/app/admin-console/organizations/policies/policy-edit-definitions/index.ts @@ -1,4 +1,5 @@ export { DisableSendPolicy } from "./disable-send.component"; +export { DesktopAutotypeDefaultSettingPolicy } from "./autotype-policy.component"; export { MasterPasswordPolicy } from "./master-password.component"; export { OrganizationDataOwnershipPolicy } from "./organization-data-ownership.component"; export { PasswordGeneratorPolicy } from "./password-generator.component"; diff --git a/apps/web/src/app/admin-console/organizations/policies/policy-edit-register.ts b/apps/web/src/app/admin-console/organizations/policies/policy-edit-register.ts index 3a4ba9a710f..5e63ba1358a 100644 --- a/apps/web/src/app/admin-console/organizations/policies/policy-edit-register.ts +++ b/apps/web/src/app/admin-console/organizations/policies/policy-edit-register.ts @@ -1,5 +1,6 @@ import { BasePolicyEditDefinition } from "./base-policy-edit.component"; import { + DesktopAutotypeDefaultSettingPolicy, DisableSendPolicy, MasterPasswordPolicy, OrganizationDataOwnershipPolicy, @@ -31,4 +32,5 @@ export const ossPolicyEditRegister: BasePolicyEditDefinition[] = [ new DisableSendPolicy(), new SendOptionsPolicy(), new RestrictedItemTypesPolicy(), + new DesktopAutotypeDefaultSettingPolicy(), ]; diff --git a/apps/web/src/locales/en/messages.json b/apps/web/src/locales/en/messages.json index 11d2d8e3dd8..1646235d8cb 100644 --- a/apps/web/src/locales/en/messages.json +++ b/apps/web/src/locales/en/messages.json @@ -5561,6 +5561,13 @@ "personalOwnershipSubmitError": { "message": "Due to an Enterprise policy, you are restricted from saving items to your individual vault. Change the ownership option to an organization and choose from available collections." }, + "desktopAutotypePolicy": { + "message": "Desktop Autotype Default Setting" + }, + "desktopAutotypePolicyDesc": { + "message": "Turn Desktop Autotype ON by default for members. Members can turn Autotype off manually in the Desktop client.", + "description": "This policy will enable Desktop Autotype by default for members on Unlock." + }, "disableSend": { "message": "Remove Send" }, diff --git a/libs/common/src/admin-console/enums/policy-type.enum.ts b/libs/common/src/admin-console/enums/policy-type.enum.ts index 91f3a8229f8..a4a860a2f3f 100644 --- a/libs/common/src/admin-console/enums/policy-type.enum.ts +++ b/libs/common/src/admin-console/enums/policy-type.enum.ts @@ -17,4 +17,5 @@ export enum PolicyType { FreeFamiliesSponsorshipPolicy = 13, // Disables free families plan for organization RemoveUnlockWithPin = 14, // Do not allow members to unlock their account with a PIN. RestrictedItemTypes = 15, // Restricts item types that can be created within an organization + AutotypeDefaultSetting = 17, // Sets the default autotype setting for desktop app }