passbolt-styleguide 3.8.4 → 3.9.0-alpha2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/css/help.min.css +3 -3
- package/build/css/public.min.css +3 -3
- package/build/css/themes/default/api_authentication.min.css +3 -3
- package/build/css/themes/default/api_cloud.min.css +3 -3
- package/build/css/themes/default/api_main.min.css +3 -3
- package/build/css/themes/default/api_reports.min.css +3 -3
- package/build/css/themes/default/api_webinstaller.min.css +3 -3
- package/build/css/themes/default/ext_app.min.css +3 -3
- package/build/css/themes/default/ext_authentication.min.css +3 -3
- package/build/css/themes/default/ext_external.min.css +2 -2
- package/build/css/themes/default/ext_in_form_cta.min.css +3 -3
- package/build/css/themes/default/ext_in_form_menu.min.css +3 -3
- package/build/css/themes/default/ext_quickaccess.min.css +3 -3
- package/build/css/themes/midgar/api_authentication.min.css +3 -3
- package/build/css/themes/midgar/api_main.min.css +3 -3
- package/build/css/themes/midgar/api_reports.min.css +3 -3
- package/build/css/themes/midgar/ext_app.min.css +3 -3
- package/build/css/themes/midgar/ext_authentication.min.css +3 -3
- package/build/css/themes/midgar/ext_in_form_cta.min.css +3 -3
- package/build/css/themes/midgar/ext_in_form_menu.min.css +3 -3
- package/build/css/themes/midgar/ext_quickaccess.min.css +3 -3
- package/build/css/themes/solarized_dark/api_authentication.min.css +1 -1
- package/build/css/themes/solarized_dark/api_main.min.css +1 -1
- package/build/css/themes/solarized_dark/api_reports.min.css +1 -1
- package/build/css/themes/solarized_dark/ext_app.min.css +1 -1
- package/build/css/themes/solarized_dark/ext_authentication.min.css +1 -1
- package/build/css/themes/solarized_dark/ext_in_form_cta.min.css +1 -1
- package/build/css/themes/solarized_dark/ext_in_form_menu.min.css +1 -1
- package/build/css/themes/solarized_dark/ext_quickaccess.min.css +1 -1
- package/build/css/themes/solarized_light/api_authentication.min.css +1 -1
- package/build/css/themes/solarized_light/api_main.min.css +1 -1
- package/build/css/themes/solarized_light/api_reports.min.css +1 -1
- package/build/css/themes/solarized_light/ext_app.min.css +1 -1
- package/build/css/themes/solarized_light/ext_authentication.min.css +1 -1
- package/build/css/themes/solarized_light/ext_in_form_cta.min.css +1 -1
- package/build/css/themes/solarized_light/ext_in_form_menu.min.css +1 -1
- package/build/css/themes/solarized_light/ext_quickaccess.min.css +1 -1
- package/build/js/dist/api-account-recovery.js +1 -1
- package/build/js/dist/api-app.js +1 -1
- package/build/js/dist/api-app.js.LICENSE.txt +75 -5
- package/build/js/dist/api-feedback.js +2 -0
- package/build/js/dist/api-feedback.js.LICENSE.txt +45 -0
- package/build/js/dist/api-recover.js +1 -1
- package/build/js/dist/api-setup.js +1 -1
- package/build/js/dist/api-triage.js +1 -1
- package/build/js/dist/api-vendors.js +1 -1
- package/build/js/dist/api-vendors.js.LICENSE.txt +19 -9
- package/build/js/dist/src/locales/de-DE/common.json +995 -0
- package/build/js/dist/src/locales/en-UK/common.json +1061 -0
- package/build/js/dist/src/locales/es-ES/common.json +995 -0
- package/build/js/dist/src/locales/fr-FR/common.json +995 -0
- package/build/js/dist/src/locales/ja-JP/common.json +980 -0
- package/build/js/dist/src/locales/lt-LT/common.json +1025 -0
- package/build/js/dist/src/locales/nl-NL/common.json +995 -0
- package/build/js/dist/src/locales/pl-PL/common.json +1025 -0
- package/build/js/dist/src/locales/sv-SE/common.json +995 -0
- package/package.json +18 -1
- package/src/img/controls/attention.svg +1 -0
- package/src/locales/en-UK/common.json +80 -16
- package/src/react-extension/ApiApp.js +17 -5
- package/src/react-extension/ApiFeedback.entry.js +24 -0
- package/src/react-extension/ExtApp.js +12 -5
- package/src/react-extension/ExtAuthenticationLogin.js +17 -15
- package/src/react-extension/ExtAuthenticationLogin.test.stories.js +59 -0
- package/src/react-extension/ExtBootstrapApp.js +1 -0
- package/src/react-extension/components/Administration/AdministrationWorkspace.js +24 -0
- package/src/react-extension/components/Administration/AdministrationWorkspace.test.data.js +3 -3
- package/src/react-extension/components/Administration/AdministrationWorkspace.test.js +13 -1
- package/src/react-extension/components/Administration/AdministrationWorkspace.test.page.js +7 -0
- package/src/react-extension/components/Administration/ConfirmDeleteSsoSettingsDialog/ConfirmDeleteSsoSettingsDialog.js +101 -0
- package/src/react-extension/components/Administration/ConfirmDeleteSsoSettingsDialog/ConfirmDeleteSsoSettingsDialog.test.data.js +23 -0
- package/src/react-extension/components/Administration/ConfirmDeleteSsoSettingsDialog/ConfirmDeleteSsoSettingsDialog.test.stories.js +27 -0
- package/src/react-extension/components/Administration/ConfirmSaveAccountRecoverySettings/ConfirmSaveAccountRecoverySettings.js +1 -1
- package/src/react-extension/components/Administration/DisplayAdministrationMenu/DisplayAdministrationMenu.js +78 -2
- package/src/react-extension/components/Administration/DisplayAdministrationMenu/DisplayAdministrationMenu.test.data.js +3 -1
- package/src/react-extension/components/Administration/DisplayAdministrationMenu/DisplayAdministrationMenu.test.js +60 -0
- package/src/react-extension/components/Administration/DisplayAdministrationMenu/DisplayAdministrationMenu.test.page.js +23 -4
- package/src/react-extension/components/Administration/DisplayAdministrationWorkspaceActions/DisplayAdministrationInternationalisationActions/DisplayAdministrationInternationalisationActions.js +125 -0
- package/src/react-extension/components/Administration/DisplayAdministrationWorkspaceActions/DisplayAdministrationMfaActions/DisplayAdministrationMfaActions.js +131 -0
- package/src/react-extension/components/Administration/DisplayAdministrationWorkspaceActions/DisplayAdministrationSelfRegistrationActions/DisplayAdministrationSelfRegistrationActions.js +103 -0
- package/src/react-extension/components/Administration/DisplayAdministrationWorkspaceActions/DisplayAdministrationSsoActions/DisplayAdministrationSsoActions.js +91 -0
- package/src/react-extension/components/Administration/DisplayAdministrationWorkspaceActions/DisplayAdministrationSubscriptionActions/DisplayAdministrationSubscriptionActions.js +85 -0
- package/src/react-extension/components/Administration/DisplayAdministrationWorkspaceActions/DisplayAdministrationUserDirectoryActions/DisplayAdministrationUserDirectoryActions.js +228 -0
- package/src/react-extension/components/Administration/DisplayAdministrationWorkspaceBreadcrumb/DisplayAdministrationWorkspaceBreadcrumb.js +4 -0
- package/src/react-extension/components/Administration/DisplayAdministrationWorkspaceBreadcrumb/DisplayAdministrationWorkspaceBreadcrumb.test.js +9 -0
- package/src/react-extension/components/Administration/DisplayEmailNotificationsAdministration/DisplayEmailNotificationsAdministration.js +3 -3
- package/src/react-extension/components/Administration/DisplayEmailNotificationsAdministration/DisplayEmailNotificationsAdministration.test.data.js +14 -0
- package/src/react-extension/components/Administration/DisplayEmailNotificationsAdministration/DisplayEmailNotificationsAdministration.test.page.js +0 -17
- package/src/react-extension/components/Administration/DisplayInternationalizationAdministration/DisplayInternationalizationAdministration.js +18 -115
- package/src/react-extension/components/Administration/DisplayInternationalizationAdministration/DisplayInternationalizationAdministration.test.data.js +11 -13
- package/src/react-extension/components/Administration/DisplayInternationalizationAdministration/DisplayInternationalizationAdministration.test.js +38 -43
- package/src/react-extension/components/Administration/DisplayInternationalizationAdministration/DisplayInternationalizationAdministration.test.page.js +47 -10
- package/src/react-extension/components/Administration/DisplayInternationalizationAdministration/DisplayInternationalizationAdministration.test.stories.js +10 -43
- package/src/react-extension/components/Administration/DisplayMfaAdministration/DisplayMfaAdministration.js +82 -367
- package/src/react-extension/components/Administration/DisplayMfaAdministration/DisplayMfaAdministration.test.data.js +128 -42
- package/src/react-extension/components/Administration/DisplayMfaAdministration/DisplayMfaAdministration.test.js +75 -121
- package/src/react-extension/components/Administration/DisplayMfaAdministration/DisplayMfaAdministration.test.page.js +46 -16
- package/src/react-extension/components/Administration/DisplayMfaAdministration/DisplayMfaAdministration.test.stories.js +18 -14
- package/src/react-extension/components/Administration/DisplaySelfRegistrationAdministration/ConfirmDeletionSelfRegistrationSettings/ConfirmDeletionSelfRegistrationSettings.js +103 -0
- package/src/react-extension/components/Administration/DisplaySelfRegistrationAdministration/ConfirmDeletionSelfRegistrationSettings/ConfirmDeletionSelfRegistrationSettings.test.js +53 -0
- package/src/react-extension/components/Administration/DisplaySelfRegistrationAdministration/ConfirmDeletionSelfRegistrationSettings/ConfirmDeletionSelfRegistrationSettings.test.page.js +81 -0
- package/src/react-extension/components/Administration/DisplaySelfRegistrationAdministration/ConfirmDeletionSelfRegistrationSettings/ConfirmDeletionSelfRegistrationSettings.test.stories.js +34 -0
- package/src/react-extension/components/Administration/DisplaySelfRegistrationAdministration/ConfirmSaveSelfRegistrationSettings/ConfirmSaveSelfRegistrationSettings.js +125 -0
- package/src/react-extension/components/Administration/DisplaySelfRegistrationAdministration/ConfirmSaveSelfRegistrationSettings/ConfirmSaveSelfRegistrationSettings.test.data.js +63 -0
- package/src/react-extension/components/Administration/DisplaySelfRegistrationAdministration/ConfirmSaveSelfRegistrationSettings/ConfirmSaveSelfRegistrationSettings.test.js +54 -0
- package/src/react-extension/components/Administration/DisplaySelfRegistrationAdministration/ConfirmSaveSelfRegistrationSettings/ConfirmSaveSelfRegistrationSettings.test.page.js +88 -0
- package/src/react-extension/components/Administration/DisplaySelfRegistrationAdministration/ConfirmSaveSelfRegistrationSettings/ConfirmSaveSelfRegistrationSettings.test.stories.js +35 -0
- package/src/react-extension/components/Administration/DisplaySelfRegistrationAdministration/DisplaySelfRegistrationAdministration.js +381 -0
- package/src/react-extension/components/Administration/DisplaySelfRegistrationAdministration/DisplaySelfRegistrationAdministration.test.data.js +69 -0
- package/src/react-extension/components/Administration/DisplaySelfRegistrationAdministration/DisplaySelfRegistrationAdministration.test.js +332 -0
- package/src/react-extension/components/Administration/DisplaySelfRegistrationAdministration/DisplaySelfRegistrationAdministration.test.page.js +247 -0
- package/src/react-extension/components/Administration/DisplaySelfRegistrationAdministration/DisplaySelfRegistrationAdministration.test.stories.js +72 -0
- package/src/react-extension/components/Administration/DisplaySimulateSynchronizeUserDirectoryAdministration/DisplaySimulateSynchronizeUserDirectoryAdministration.js +19 -19
- package/src/react-extension/components/Administration/DisplaySimulateSynchronizeUserDirectoryAdministration/DisplaySimulateSynchronizeUserDirectoryAdministration.test.data.js +1717 -1729
- package/src/react-extension/components/Administration/DisplaySimulateSynchronizeUserDirectoryAdministration/DisplaySimulateSynchronizeUserDirectoryAdministration.test.js +11 -3
- package/src/react-extension/components/Administration/DisplaySimulateSynchronizeUserDirectoryAdministration/DisplaySimulateSynchronizeUserDirectoryAdministration.test.page.js +4 -1
- package/src/react-extension/components/Administration/DisplaySimulateSynchronizeUserDirectoryAdministration/DisplaySimulateSynchronizeUserDirectoryAdministration.test.stories.js +11 -1784
- package/src/react-extension/components/Administration/DisplaySubscriptionKey/DisplaySubscriptionKey.js +41 -140
- package/src/react-extension/components/Administration/DisplaySubscriptionKey/DisplaySubscriptionKey.test.data.js +15 -3
- package/src/react-extension/components/Administration/DisplaySubscriptionKey/DisplaySubscriptionKey.test.js +22 -49
- package/src/react-extension/components/Administration/DisplaySubscriptionKey/DisplaySubscriptionKey.test.page.js +19 -11
- package/src/react-extension/components/Administration/DisplaySubscriptionKey/DisplaySubscriptionKey.test.stories.js +9 -3
- package/src/react-extension/components/Administration/DisplaySynchronizeUserDirectoryAdministration/DisplaySynchronizeUserDirectoryAdministration.js +5 -6
- package/src/react-extension/components/Administration/DisplaySynchronizeUserDirectoryAdministration/DisplaySynchronizeUserDirectoryAdministration.test.data.js +1717 -1728
- package/src/react-extension/components/Administration/DisplaySynchronizeUserDirectoryAdministration/DisplaySynchronizeUserDirectoryAdministration.test.js +11 -3
- package/src/react-extension/components/Administration/DisplaySynchronizeUserDirectoryAdministration/DisplaySynchronizeUserDirectoryAdministration.test.page.js +4 -1
- package/src/react-extension/components/Administration/DisplaySynchronizeUserDirectoryAdministration/DisplaySynchronizeUserDirectoryAdministration.test.stories.js +11 -1784
- package/src/react-extension/components/Administration/DisplayUserDirectoryAdministration/DisplayUserDirectoryAdministration.js +362 -835
- package/src/react-extension/components/Administration/DisplayUserDirectoryAdministration/DisplayUserDirectoryAdministration.test.data.js +427 -418
- package/src/react-extension/components/Administration/DisplayUserDirectoryAdministration/DisplayUserDirectoryAdministration.test.js +134 -175
- package/src/react-extension/components/Administration/DisplayUserDirectoryAdministration/DisplayUserDirectoryAdministration.test.page.js +108 -11
- package/src/react-extension/components/Administration/DisplayUserDirectoryAdministration/DisplayUserDirectoryAdministration.test.stories.js +17 -25
- package/src/react-extension/components/Administration/EditSubscriptionKey/EditSubscriptionKey.js +4 -2
- package/src/react-extension/components/Administration/ManageAccountRecoveryAdministrationSettings/ManageAccountRecoveryAdministrationSettings.js +3 -3
- package/src/react-extension/components/Administration/ManageAccountRecoveryAdministrationSettings/ManageAccountRecoveryAdministrationSettings.test.js +1 -1
- package/src/react-extension/components/Administration/ManageSmtpAdministrationSettings/ManageSmtpAdministrationSettings.js +32 -7
- package/src/react-extension/components/Administration/ManageSmtpAdministrationSettings/ManageSmtpAdministrationSettings.test.data.js +0 -3
- package/src/react-extension/components/Administration/ManageSmtpAdministrationSettings/ManageSmtpAdministrationSettings.test.js +145 -1
- package/src/react-extension/components/Administration/ManageSmtpAdministrationSettings/ManageSmtpAdministrationSettings.test.page.js +52 -1
- package/src/react-extension/components/Administration/ManageSmtpAdministrationSettings/ManageSmtpAdministrationSettings.test.stories.js +15 -0
- package/src/react-extension/components/Administration/ManageSsoSettings/ManageSsoSettings.js +340 -0
- package/src/react-extension/components/Administration/ManageSsoSettings/ManageSsoSettings.test.data.js +56 -0
- package/src/react-extension/components/Administration/ManageSsoSettings/ManageSsoSettings.test.js +223 -0
- package/src/react-extension/components/Administration/ManageSsoSettings/ManageSsoSettings.test.page.js +235 -0
- package/src/react-extension/components/Administration/ManageSsoSettings/ManageSsoSettings.test.stories.js +55 -0
- package/src/react-extension/components/Administration/ManageSsoSettings/SsoProviders.data.js +34 -0
- package/src/react-extension/components/Administration/SelectAccountRecoveryOrganizationKey/GenerateOrganizationKey.js +12 -3
- package/src/react-extension/components/Administration/SelectAccountRecoveryOrganizationKey/GenerateOrganizationKey.test.js +27 -0
- package/src/react-extension/components/Administration/SelectAccountRecoveryOrganizationKey/SelectAccountRecoveryOrganizationKey.test.page.js +8 -0
- package/src/react-extension/components/Administration/TestSsoSettingsDialog/TestSsoSettingsDialog.js +197 -0
- package/src/react-extension/components/Administration/TestSsoSettingsDialog/TestSsoSettingsDialog.test.data.js +37 -0
- package/src/react-extension/components/Administration/TestSsoSettingsDialog/TestSsoSettingsDialog.test.js +187 -0
- package/src/react-extension/components/Administration/TestSsoSettingsDialog/TestSsoSettingsDialog.test.page.js +120 -0
- package/src/react-extension/components/Administration/TestSsoSettingsDialog/TestSsoSettingsDialog.test.stories.js +31 -0
- package/src/react-extension/components/Authentication/CheckPassphrase/CheckPassphrase.js +9 -5
- package/src/react-extension/components/Authentication/CheckPassphrase/CheckPassphrase.test.data.js +4 -0
- package/src/react-extension/components/Authentication/CheckPassphrase/CheckPassphrase.test.js +11 -42
- package/src/react-extension/components/Authentication/CheckPassphrase/CheckPassphrase.test.page.js +1 -0
- package/src/react-extension/components/Authentication/CreateGpgKey/CreateGpgKey.js +9 -5
- package/src/react-extension/components/Authentication/CreateGpgKey/CreateGpgKey.test.data.js +4 -0
- package/src/react-extension/components/Authentication/CreateGpgKey/CreateGpgKey.test.js +16 -2
- package/src/react-extension/components/Authentication/CreateGpgKey/CreateGpgKey.test.page.js +17 -1
- package/src/react-extension/components/AuthenticationLogin/Login/Login.js +159 -61
- package/src/react-extension/components/AuthenticationLogin/Login/Login.test.data.js +14 -11
- package/src/react-extension/components/AuthenticationLogin/Login/Login.test.js +79 -0
- package/src/react-extension/components/AuthenticationLogin/Login/Login.test.page.js +16 -0
- package/src/react-extension/components/AuthenticationLogin/OrchestrateLogin/OrchestrateLoginBoxMain.js +2 -0
- package/src/react-extension/components/AuthenticationSetup/SetupAuthentication/SetupAuthentication.js +4 -0
- package/src/react-extension/components/Common/Error/ApiError/ApiError.js +119 -0
- package/src/react-extension/components/Common/Error/ApiError/ApiError.test.js +43 -0
- package/src/react-extension/components/Common/Error/ApiError/ApiError.test.page.js +108 -0
- package/src/react-extension/components/Common/Error/ApiError/ApiError.test.stories.js +39 -0
- package/src/react-extension/components/Common/Inputs/Autocomplete/Autocomplete.test.js +12 -0
- package/src/react-extension/components/Common/Inputs/Autocomplete/AutocompleteItem.js +2 -2
- package/src/react-extension/components/Common/Legacy/HandleLegacyAppjs.js +1 -1
- package/src/react-extension/components/Common/Navigation/Header/Logo.js +13 -1
- package/src/react-extension/components/Resource/CreateResource/CreateResource.js +103 -30
- package/src/react-extension/components/Resource/CreateResource/CreateResource.test.js +44 -10
- package/src/react-extension/components/Resource/CreateResource/CreateResource.test.page.js +35 -7
- package/src/react-extension/components/Resource/DisplayResourcesList/DisplayResourcesList.js +3 -3
- package/src/react-extension/components/Resource/DisplayResourcesList/DisplayResourcesListContextualMenu.js +6 -5
- package/src/react-extension/components/Resource/DisplayResourcesWorkspace/DisplayResourcesWorkspaceMenu.js +5 -4
- package/src/react-extension/components/Resource/EditResource/EditResource.js +95 -23
- package/src/react-extension/components/Resource/EditResource/EditResource.test.js +45 -13
- package/src/react-extension/components/Resource/EditResource/EditResource.test.page.js +35 -2
- package/src/react-extension/components/ResourceDetails/DisplayResourceDetails/DisplayResourceDetails.js +2 -1
- package/src/react-extension/components/ResourceDetails/DisplayResourceDetails/DisplayResourceDetailsInformation.js +3 -2
- package/src/react-extension/components/ResourceFolder/CreateResourceFolder/CreateResourceFolder.js +23 -2
- package/src/react-extension/components/ResourceFolder/CreateResourceFolder/CreateResourceFolder.test.js +8 -0
- package/src/react-extension/components/ResourceFolder/CreateResourceFolder/CreateResourceFolder.test.page.js +26 -2
- package/src/react-extension/components/ResourceFolder/RenameResourceFolder/RenameResourceFolder.js +22 -1
- package/src/react-extension/components/ResourceFolder/RenameResourceFolder/RenameResourceFolder.test.js +8 -0
- package/src/react-extension/components/ResourceFolder/RenameResourceFolder/RenameResourceFolder.test.page.js +25 -2
- package/src/react-extension/components/ResourceFolderDetails/DisplayResourceFolderDetails/DisplayResourceFolderDetails.js +2 -1
- package/src/react-extension/components/ResourcePassword/GenerateResourcePassword/GenerateResourcePassword.js +2 -1
- package/src/react-extension/components/ResourceTag/EditResourceTag/EditResourceTag.js +14 -1
- package/src/react-extension/components/ResourceTag/EditResourceTag/EditResourceTag.test.js +8 -0
- package/src/react-extension/components/ResourceTag/EditResourceTag/EditResourceTag.test.page.js +12 -0
- package/src/react-extension/components/User/CreateUser/CreateUser.js +42 -3
- package/src/react-extension/components/User/CreateUser/CreateUser.test.js +16 -0
- package/src/react-extension/components/User/CreateUser/CreateUser.test.page.js +26 -0
- package/src/react-extension/components/User/DisplayUserWorkspaceActions/DisplayUserWorkspaceActions.js +2 -1
- package/src/react-extension/components/User/DisplayUsersContextualMenu/DisplayUsersContextualMenu.js +5 -5
- package/src/react-extension/components/User/EditUser/EditUser.js +29 -2
- package/src/react-extension/components/User/EditUser/EditUser.test.js +12 -0
- package/src/react-extension/components/User/EditUser/EditUser.test.page.js +26 -0
- package/src/react-extension/components/UserDetails/DisplayUserDetails/DisplayUserDetails.js +2 -1
- package/src/react-extension/components/UserDetails/DisplayUserDetails/DisplayUserDetails.test.data.js +1332 -1331
- package/src/react-extension/components/UserDetails/DisplayUserDetailsPublicKey/DisplayUserDetailsPublicKey.js +2 -1
- package/src/react-extension/components/UserGroup/CreateUserGroup/CreateUserGroup.js +19 -1
- package/src/react-extension/components/UserGroup/CreateUserGroup/CreateUserGroup.test.js +9 -0
- package/src/react-extension/components/UserGroup/CreateUserGroup/CreateUserGroup.test.page.js +12 -0
- package/src/react-extension/components/UserGroup/DisplayUserGroupDetails/DisplayUserGroupDetails.js +2 -1
- package/src/react-extension/components/UserGroup/EditUserGroup/EditUserGroup.js +16 -1
- package/src/react-extension/components/UserGroup/EditUserGroup/EditUserGroup.test.js +8 -0
- package/src/react-extension/components/UserGroup/EditUserGroup/EditUserGroup.test.page.js +26 -1
- package/src/react-extension/components/UserSetting/ChangeUserPassphrase/ConfirmPassphrase.js +1 -1
- package/src/react-extension/components/UserSetting/ChangeUserPassphrase/EnterNewPassphrase.js +6 -4
- package/src/react-extension/components/UserSetting/ChangeUserPassphrase/EnterNewPassphrase.test.data.js +4 -1
- package/src/react-extension/components/UserSetting/ChangeUserPassphrase/EnterNewPassphrase.test.js +21 -11
- package/src/react-extension/components/UserSetting/ChangeUserPassphrase/EnterNewPassphrase.test.page.js +10 -1
- package/src/react-extension/contexts/AdminSmtpSettingsContext.js +2 -0
- package/src/react-extension/contexts/AdminSmtpSettingsContext.test.data.js +13 -0
- package/src/react-extension/contexts/AdminSmtpSettingsContext.test.js +3 -1
- package/src/react-extension/contexts/AdminSsoContext.js +558 -0
- package/src/react-extension/contexts/AdminSsoContext.test.data.js +51 -0
- package/src/react-extension/contexts/Administration/AdministrationInternationalizationContext/AdministrationInternationalizationContext.js +194 -0
- package/src/react-extension/contexts/Administration/AdministrationInternationalizationContext/AdministrationInternationalizationContext.test.js +111 -0
- package/src/react-extension/contexts/Administration/AdministrationMfa/AdministrationMfaContext.js +265 -0
- package/src/react-extension/contexts/Administration/AdministrationMfa/AdministrationMfaContext.test.js +178 -0
- package/src/react-extension/contexts/Administration/AdministrationSelfRegistration/AdministrationSelfRegistrationContext.js +453 -0
- package/src/react-extension/contexts/Administration/AdministrationSelfRegistration/AdministrationSelfRegistrationContext.test.js +218 -0
- package/src/react-extension/contexts/Administration/AdministrationSubscription/AdministrationSubscription.js +168 -0
- package/src/react-extension/contexts/Administration/AdministrationSubscription/AdministrationSubscription.test.js +73 -0
- package/src/react-extension/contexts/Administration/AdministrationUserDirectory/AdministrationUserDirectoryContext.js +353 -0
- package/src/react-extension/contexts/Administration/AdministrationUserDirectory/AdministrationUserDirectoryContext.test.js +220 -0
- package/src/react-extension/contexts/AdministrationWorkspaceContext.js +17 -178
- package/src/react-extension/contexts/AdministrationWorkspaceContext.test.js +0 -26
- package/src/react-extension/contexts/ApiAppContext.test.data.js +4 -2
- package/src/react-extension/contexts/Authentication/AuthenticationLoginContext.js +54 -4
- package/src/react-extension/contexts/Authentication/AuthenticationLoginContext.test.data.js +10 -1
- package/src/react-extension/contexts/Authentication/AuthenticationLoginContext.test.js +92 -14
- package/src/react-extension/contexts/Authentication/AuthenticationSetupContext.js +1 -0
- package/src/react-extension/contexts/NavigationContext.js +34 -0
- package/src/react-extension/contexts/SsoContext.js +151 -0
- package/src/react-extension/contexts/SsoContext.test.data.js +36 -0
- package/src/react-extension/contexts/SsoContext.test.js +104 -0
- package/src/react-extension/lib/Domain/DomainUtil.js +70 -0
- package/src/react-extension/lib/Domain/DomainUtil.test.js +129 -0
- package/src/react-extension/lib/Domain/Domains.js +6113 -0
- package/src/react-extension/lib/Error/InputValidator.js +24 -0
- package/src/react-extension/lib/Map/DynamicRef.js +49 -0
- package/src/react-extension/lib/Map/DynamicRef.test.js +56 -0
- package/src/react-extension/lib/Map/MapObject.js +48 -0
- package/src/react-extension/lib/Map/MapObject.test.js +43 -0
- package/src/react-quickaccess/ExtQuickAccess.js +7 -4
- package/src/react-quickaccess/components/GeneratePasswordPage/GeneratePasswordPage.js +3 -1
- package/src/react-quickaccess/components/GeneratePasswordPage/GeneratePasswordPage.test.data.js +4 -0
- package/src/react-quickaccess/components/LoginPage/LoginPage.js +115 -4
- package/src/react-quickaccess/components/LoginPage/LoginPage.test.data.js +10 -0
- package/src/react-quickaccess/components/LoginPage/LoginPage.test.stories.js +30 -3
- package/src/react-quickaccess/components/ResourceAutoSave/SaveResource.js +33 -1
- package/src/react-quickaccess/components/ResourceAutoSave/SaveResource.test.data.js +25 -0
- package/src/react-quickaccess/components/ResourceAutoSave/SaveResource.test.js +60 -0
- package/src/react-quickaccess/components/ResourceAutoSave/SaveResource.test.page.js +60 -0
- package/src/react-quickaccess/components/ResourceCreatePage/ResourceCreatePage.js +33 -1
- package/src/react-quickaccess/components/ResourceCreatePage/ResourceCreatePage.test.js +36 -7
- package/src/react-quickaccess/components/ResourceViewPage/ResourceViewPage.js +3 -2
- package/src/react-quickaccess/contexts/SsoContext.js +150 -0
- package/src/react-web-integration/lib/InForm/InFormFieldSelector.js +5 -0
- package/src/shared/constants/inputs.const.js +30 -0
- package/src/shared/lib/Browser/clipBoard.js +45 -0
- package/src/shared/lib/Browser/clipBoard.test.js +59 -0
- package/src/shared/models/Mfa/Duo.js +36 -0
- package/src/shared/models/Mfa/Duo.test.js +59 -0
- package/src/shared/models/Mfa/MfaDTO.js +51 -0
- package/src/shared/models/Mfa/MfaDTO.test.js +48 -0
- package/src/shared/models/Mfa/MfaEnumeration.js +17 -0
- package/src/shared/models/Mfa/MfaModel.js +48 -0
- package/src/shared/models/Mfa/MfaModel.test.js +37 -0
- package/src/shared/models/Mfa/Yubikey.js +35 -0
- package/src/shared/models/Mfa/Yubikey.test.js +47 -0
- package/src/shared/models/selfRegistration/SelfRegistrationDomainsViewModel.js +55 -0
- package/src/shared/models/selfRegistration/SelfRegistrationDomainsViewModel.test.js +37 -0
- package/src/shared/models/selfRegistration/SelfRegistrationDto.js +42 -0
- package/src/shared/models/selfRegistration/SelfRegistrationDto.test.js +48 -0
- package/src/shared/models/selfRegistration/SelfRegistrationEnumeration.js +17 -0
- package/src/shared/models/subscription/SubscriptionDto.js +34 -0
- package/src/shared/models/subscription/SubscriptionDto.test.js +31 -0
- package/src/shared/models/subscription/SubscriptionModel.js +33 -0
- package/src/shared/models/subscription/SubscriptionModel.test.js +48 -0
- package/src/shared/models/user/UserModel.js +37 -0
- package/src/shared/models/userDirectory/UserDirectoryDTO.js +57 -0
- package/src/shared/models/userDirectory/UserDirectoryDTO.test.js +40 -0
- package/src/shared/models/userDirectory/UserDirectoryEnum.js +22 -0
- package/src/shared/models/userDirectory/UserDirectoryModel.js +64 -0
- package/src/shared/models/userDirectory/UserDirectoryModel.test.js +37 -0
- package/src/shared/services/actions/subscription/SubscriptionActionService.js +69 -0
- package/src/shared/services/actions/subscription/SubscriptionActionService.test.js +73 -0
- package/src/shared/services/api/Internationalisation/InternationalisationService.js +46 -0
- package/src/shared/services/api/Mfa/MfaService.js +54 -0
- package/src/shared/services/{accountRecovery → api/accountRecovery}/ApiAppAccountRecoveryUserService.js +2 -2
- package/src/shared/services/{accountRecovery → api/accountRecovery}/ExtAppAccountRecoveryUserService.js +0 -0
- package/src/shared/services/api/secrets/pownedService.js +64 -0
- package/src/shared/services/api/secrets/pownedService.test.js +63 -0
- package/src/shared/services/api/selfRegistration/selfRegistrationService.js +64 -0
- package/src/shared/services/api/user/UserService.js +45 -0
- package/src/shared/services/api/userDirectory/UserDirectoryService.js +108 -0
- package/src/shared/services/forms/Mfa/MfaFormService.js +195 -0
- package/src/shared/services/forms/Mfa/MfaFormService.test.js +341 -0
- package/src/shared/services/forms/selfRegistration/SelfRegistrationFormService.js +92 -0
- package/src/shared/services/forms/selfRegistration/SelfRegistrationFormService.test.js +101 -0
- package/src/shared/services/forms/userDirectory/UserDirectoryFormService.js +118 -0
- package/src/shared/services/forms/userDirectory/UserDirectoryFormService.test.js +128 -0
- package/src/react-extension/components/Administration/DisplayAdministrationWorkspaceActions/DisplayAdministrationWorkspaceActions.js +0 -205
- package/src/react-extension/components/Administration/DisplayAdministrationWorkspaceActions/DisplayAdministrationWorkspaceActions.test.data.js +0 -37
- package/src/react-extension/components/Administration/DisplayAdministrationWorkspaceActions/DisplayAdministrationWorkspaceActions.test.js +0 -197
- package/src/react-extension/components/Administration/DisplayAdministrationWorkspaceActions/DisplayAdministrationWorkspaceActions.test.page.js +0 -133
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Passbolt ~ Open source password manager for teams
|
|
3
|
+
* Copyright (c) Passbolt SA (https://www.passbolt.com)
|
|
4
|
+
*
|
|
5
|
+
* Licensed under GNU Affero General Public License version 3 of the or any later version.
|
|
6
|
+
* For full copyright and license information, please see the LICENSE.txt
|
|
7
|
+
* Redistributions of files must retain the above copyright notice.
|
|
8
|
+
*
|
|
9
|
+
* @copyright Copyright (c) Passbolt SA (https://www.passbolt.com)
|
|
10
|
+
* @license https://opensource.org/licenses/AGPL-3.0 AGPL License
|
|
11
|
+
* @link https://www.passbolt.com Passbolt(tm)
|
|
12
|
+
* @since 3.9.0
|
|
13
|
+
*/
|
|
14
|
+
import React, {Component} from "react";
|
|
15
|
+
import PropTypes from "prop-types";
|
|
16
|
+
import {Trans, withTranslation} from "react-i18next";
|
|
17
|
+
import DialogWrapper from "../../../Common/Dialog/DialogWrapper/DialogWrapper";
|
|
18
|
+
import FormCancelButton from "../../../Common/Inputs/FormSubmitButton/FormCancelButton";
|
|
19
|
+
import FormSubmitButton from "../../../Common/Inputs/FormSubmitButton/FormSubmitButton";
|
|
20
|
+
import {withAdminSelfRegistration} from "../../../../contexts/Administration/AdministrationSelfRegistration/AdministrationSelfRegistrationContext";
|
|
21
|
+
|
|
22
|
+
class ConfirmDeletionSelfRegistrationSettings extends Component {
|
|
23
|
+
/**
|
|
24
|
+
* Constructor
|
|
25
|
+
* @param {Object} props
|
|
26
|
+
*/
|
|
27
|
+
constructor(props) {
|
|
28
|
+
super(props);
|
|
29
|
+
this.bindCallbacks();
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Bind callbacks methods
|
|
34
|
+
*/
|
|
35
|
+
bindCallbacks() {
|
|
36
|
+
this.handleSubmit = this.handleSubmit.bind(this);
|
|
37
|
+
this.handleClose = this.handleClose.bind(this);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Handle close button click.
|
|
42
|
+
*/
|
|
43
|
+
handleClose() {
|
|
44
|
+
this.props.onClose();
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* Go to the next process
|
|
49
|
+
* @param {Event} event A form submit event
|
|
50
|
+
*/
|
|
51
|
+
async handleSubmit(event) {
|
|
52
|
+
event.preventDefault();
|
|
53
|
+
await this.props.onSubmit();
|
|
54
|
+
this.props.onClose();
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* Render the component
|
|
59
|
+
* @returns {JSX}
|
|
60
|
+
*/
|
|
61
|
+
render() {
|
|
62
|
+
const isProcessing = this.props.adminSelfRegistrationContext.isProcessing();
|
|
63
|
+
|
|
64
|
+
return (
|
|
65
|
+
<DialogWrapper
|
|
66
|
+
title={this.props.t("Disable self registration")}
|
|
67
|
+
onClose={this.handleClose}
|
|
68
|
+
disabled={isProcessing}
|
|
69
|
+
className="delete-self-registration-settings-dialog">
|
|
70
|
+
<form onSubmit={this.handleSubmit}>
|
|
71
|
+
<div className="form-content">
|
|
72
|
+
<p>
|
|
73
|
+
<Trans>Are you sure to disable the self registration for the organization ?</Trans>
|
|
74
|
+
</p>
|
|
75
|
+
<p>
|
|
76
|
+
<Trans>Users will not be able to self register anymore.</Trans> <Trans>Only administrators would be able to invite users to register. </Trans>
|
|
77
|
+
</p>
|
|
78
|
+
</div>
|
|
79
|
+
<div className="submit-wrapper clearfix">
|
|
80
|
+
<FormCancelButton
|
|
81
|
+
onClick={this.handleClose}
|
|
82
|
+
disabled={isProcessing}/>
|
|
83
|
+
<FormSubmitButton
|
|
84
|
+
value={this.props.t("Save")}
|
|
85
|
+
disabled={isProcessing}
|
|
86
|
+
processing={isProcessing}
|
|
87
|
+
warning={true}/>
|
|
88
|
+
</div>
|
|
89
|
+
</form>
|
|
90
|
+
</DialogWrapper>
|
|
91
|
+
);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
ConfirmDeletionSelfRegistrationSettings.propTypes = {
|
|
96
|
+
adminSelfRegistrationContext: PropTypes.object, // The self registration workspace context
|
|
97
|
+
onClose: PropTypes.func, // Callback when the dialog must be closed
|
|
98
|
+
onSubmit: PropTypes.func, // The submit callback
|
|
99
|
+
t: PropTypes.func, // The translation function
|
|
100
|
+
};
|
|
101
|
+
export default withAdminSelfRegistration(withTranslation('common')(ConfirmDeletionSelfRegistrationSettings));
|
|
102
|
+
|
|
103
|
+
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Passbolt ~ Open source password manager for teams
|
|
3
|
+
* Copyright (c) Passbolt SA (https://www.passbolt.com)
|
|
4
|
+
*
|
|
5
|
+
* Licensed under GNU Affero General Public License version 3 of the or any later version.
|
|
6
|
+
* For full copyright and license information, please see the LICENSE.txt
|
|
7
|
+
* Redistributions of files must retain the above copyright notice.
|
|
8
|
+
*
|
|
9
|
+
* @copyright Copyright (c) Passbolt SA (https://www.passbolt.com)
|
|
10
|
+
* @license https://opensource.org/licenses/AGPL-3.0 AGPL License
|
|
11
|
+
* @link https://www.passbolt.com Passbolt(tm)
|
|
12
|
+
* @since 3.8.3
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Unit tests on ConfirmDeletionSelfRegistrationSettings in regard of specifications
|
|
17
|
+
*/
|
|
18
|
+
import {waitFor} from "@testing-library/react";
|
|
19
|
+
import {defaultAppContext} from "../../../../contexts/ApiAppContext.test.data";
|
|
20
|
+
import {defaultProps} from "../ConfirmSaveSelfRegistrationSettings/ConfirmSaveSelfRegistrationSettings.test.data";
|
|
21
|
+
import ConfirmDeletionSelfRegistrationSettingsPage from './ConfirmDeletionSelfRegistrationSettings.test.page';
|
|
22
|
+
|
|
23
|
+
beforeEach(() => {
|
|
24
|
+
jest.resetModules();
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
describe("See the confirm disable self registration settings dialog", () => {
|
|
28
|
+
let page; // The page to test agains
|
|
29
|
+
|
|
30
|
+
describe('As a logged in administrator ', () => {
|
|
31
|
+
/**
|
|
32
|
+
* I should see the account recovery settings dialog
|
|
33
|
+
*/
|
|
34
|
+
it('As a logged in administrator I can reset the “User self registration” settings when I disable and enable the setting', async() => {
|
|
35
|
+
const props = defaultProps(); // The props to pass
|
|
36
|
+
page = new ConfirmDeletionSelfRegistrationSettingsPage(defaultAppContext, props);
|
|
37
|
+
await waitFor(() => {});
|
|
38
|
+
|
|
39
|
+
expect(page.title).toBe("Disable self registration");
|
|
40
|
+
|
|
41
|
+
// Close button exists
|
|
42
|
+
expect(page.closeButton).not.toBeNull();
|
|
43
|
+
|
|
44
|
+
// domains list
|
|
45
|
+
expect(page.formContent.innerHTML).toBe('<p>Are you sure to disable the self registration for the organization ?</p><p>Users will not be able to self register anymore. Only administrators would be able to invite users to register. </p>');
|
|
46
|
+
// Save button exists
|
|
47
|
+
expect(page.saveButton.textContent).toBe("Save");
|
|
48
|
+
// Cancel button exists
|
|
49
|
+
expect(page.cancelButton.textContent).toBe("Cancel");
|
|
50
|
+
});
|
|
51
|
+
});
|
|
52
|
+
});
|
|
53
|
+
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Passbolt ~ Open source password manager for teams
|
|
3
|
+
* Copyright (c) 2020 Passbolt SA (https://www.passbolt.com)
|
|
4
|
+
*
|
|
5
|
+
* Licensed under GNU Affero General Public License version 3 of the or any later version.
|
|
6
|
+
* For full copyright and license information, please see the LICENSE.txt
|
|
7
|
+
* Redistributions of files must retain the above copyright notice.
|
|
8
|
+
*
|
|
9
|
+
* @copyright Copyright (c) 2020 Passbolt SA (https://www.passbolt.com)
|
|
10
|
+
* @license https://opensource.org/licenses/AGPL-3.0 AGPL License
|
|
11
|
+
* @link https://www.passbolt.com Passbolt(tm)
|
|
12
|
+
* @since 3.8.3
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
import React from "react";
|
|
16
|
+
import MockTranslationProvider from "../../../../test/mock/components/Internationalisation/MockTranslationProvider";
|
|
17
|
+
import {render, fireEvent, waitFor} from '@testing-library/react';
|
|
18
|
+
import {AdminSelfRegistrationContextProvider} from "../../../../contexts/Administration/AdministrationSelfRegistration/AdministrationSelfRegistrationContext";
|
|
19
|
+
import AppContext from "../../../../contexts/AppContext";
|
|
20
|
+
import ConfirmDeletionSelfRegistrationSettings from "./ConfirmDeletionSelfRegistrationSettings";
|
|
21
|
+
/**
|
|
22
|
+
* The ConfirmDeletionSelfRegistrationSettings component represented as a page
|
|
23
|
+
*/
|
|
24
|
+
export default class ConfirmDeletionSelfRegistrationSettingsPage {
|
|
25
|
+
/**
|
|
26
|
+
* Default constructor
|
|
27
|
+
* @param appContext An app context
|
|
28
|
+
* @param props Props to attach
|
|
29
|
+
*/
|
|
30
|
+
constructor(appContext, props) {
|
|
31
|
+
this._page = render(
|
|
32
|
+
<MockTranslationProvider>
|
|
33
|
+
<AppContext.Provider value={appContext}>
|
|
34
|
+
<AdminSelfRegistrationContextProvider {...props}>
|
|
35
|
+
<ConfirmDeletionSelfRegistrationSettings {...props}/>
|
|
36
|
+
</AdminSelfRegistrationContextProvider>
|
|
37
|
+
</AppContext.Provider>
|
|
38
|
+
</MockTranslationProvider>
|
|
39
|
+
);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* Returns the title element
|
|
44
|
+
*/
|
|
45
|
+
get title() {
|
|
46
|
+
return this._page.container.querySelector('.dialog-header-title').textContent;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* Returns the form content
|
|
51
|
+
*/
|
|
52
|
+
get formContent() {
|
|
53
|
+
return this._page.container.querySelector('.form-content');
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* Returns the save button element
|
|
58
|
+
*/
|
|
59
|
+
get saveButton() {
|
|
60
|
+
return this._page.container.querySelector('.submit-wrapper button[type=\"submit\"]');
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* Returns the cancel button element
|
|
65
|
+
*/
|
|
66
|
+
get cancelButton() {
|
|
67
|
+
return this._page.container.querySelector('.submit-wrapper .cancel');
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* Click on the element
|
|
72
|
+
*
|
|
73
|
+
*/
|
|
74
|
+
async click(element) {
|
|
75
|
+
const leftClick = {button: 0};
|
|
76
|
+
fireEvent.click(element, leftClick);
|
|
77
|
+
await waitFor(() => {
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
*import { PropTypes } from 'prop-types';
|
|
3
|
+
*import defaultProps from '../DisplaySelfRegistrationAdministration.test.data';
|
|
4
|
+
* Passbolt ~ Open source password manager for teams
|
|
5
|
+
* Copyright (c) Passbolt SA (https://www.passbolt.com)
|
|
6
|
+
*
|
|
7
|
+
* Licensed under GNU Affero General Public License version 3 of the or any later version.
|
|
8
|
+
* For full copyright and license information, please see the LICENSE.txt
|
|
9
|
+
* Redistributions of files must retain the above copyright notice.
|
|
10
|
+
*
|
|
11
|
+
* @copyright Copyright (c) Passbolt SA (https://www.passbolt.com)
|
|
12
|
+
* @license https://opensource.org/licenses/AGPL-3.0 AGPL License
|
|
13
|
+
* @link https://www.passbolt.com Passbolt(tm)
|
|
14
|
+
* @since 3.8.3
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
import React from "react";
|
|
18
|
+
import {MemoryRouter, Route} from "react-router-dom";
|
|
19
|
+
import {defaultProps} from "../ConfirmSaveSelfRegistrationSettings/ConfirmSaveSelfRegistrationSettings.test.data";
|
|
20
|
+
import ConfirmDeletionSelfRegistrationSettings from "./ConfirmDeletionSelfRegistrationSettings";
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
export default {
|
|
24
|
+
title: 'Components/Administration/ConfirmDeletionSelfRegistrationSettings',
|
|
25
|
+
component: ConfirmDeletionSelfRegistrationSettings
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
const Template = args =>
|
|
29
|
+
<MemoryRouter initialEntries={['/']}>
|
|
30
|
+
<Route component={routerProps => <ConfirmDeletionSelfRegistrationSettings {...args} {...routerProps}/>}></Route>
|
|
31
|
+
</MemoryRouter>;
|
|
32
|
+
|
|
33
|
+
export const Default = Template.bind({});
|
|
34
|
+
Default.args = defaultProps();
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Passbolt ~ Open source password manager for teams
|
|
3
|
+
* Copyright (c) Passbolt SA (https://www.passbolt.com)
|
|
4
|
+
*
|
|
5
|
+
* Licensed under GNU Affero General Public License version 3 of the or any later version.
|
|
6
|
+
* For full copyright and license information, please see the LICENSE.txt
|
|
7
|
+
* Redistributions of files must retain the above copyright notice.
|
|
8
|
+
*
|
|
9
|
+
* @copyright Copyright (c) Passbolt SA (https://www.passbolt.com)
|
|
10
|
+
* @license https://opensource.org/licenses/AGPL-3.0 AGPL License
|
|
11
|
+
* @link https://www.passbolt.com Passbolt(tm)
|
|
12
|
+
* @since 3.9.0
|
|
13
|
+
*/
|
|
14
|
+
import React, {Component} from "react";
|
|
15
|
+
import PropTypes from "prop-types";
|
|
16
|
+
import {Trans, withTranslation} from "react-i18next";
|
|
17
|
+
import DialogWrapper from "../../../Common/Dialog/DialogWrapper/DialogWrapper";
|
|
18
|
+
import FormCancelButton from "../../../Common/Inputs/FormSubmitButton/FormCancelButton";
|
|
19
|
+
import FormSubmitButton from "../../../Common/Inputs/FormSubmitButton/FormSubmitButton";
|
|
20
|
+
import {withAppContext} from "../../../../contexts/AppContext";
|
|
21
|
+
import {withAdminSelfRegistration} from "../../../../contexts/Administration/AdministrationSelfRegistration/AdministrationSelfRegistrationContext";
|
|
22
|
+
import MapObject from '../../../../lib/Map/MapObject';
|
|
23
|
+
|
|
24
|
+
class ConfirmSaveSelfRegistrationSettings extends Component {
|
|
25
|
+
/**
|
|
26
|
+
* Constructor
|
|
27
|
+
* @param {Object} props
|
|
28
|
+
*/
|
|
29
|
+
constructor(props) {
|
|
30
|
+
super(props);
|
|
31
|
+
this.bindCallbacks();
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Bind callbacks methods
|
|
36
|
+
*/
|
|
37
|
+
bindCallbacks() {
|
|
38
|
+
this.handleSubmit = this.handleSubmit.bind(this);
|
|
39
|
+
this.handleClose = this.handleClose.bind(this);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* Handle close button click.
|
|
44
|
+
*/
|
|
45
|
+
handleClose() {
|
|
46
|
+
this.props.onClose();
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* Go to the next process
|
|
51
|
+
* @param {Event} event A form submit event
|
|
52
|
+
*/
|
|
53
|
+
async handleSubmit(event) {
|
|
54
|
+
event.preventDefault();
|
|
55
|
+
await this.props.onSubmit();
|
|
56
|
+
this.props.onClose();
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* return the allowed domains
|
|
61
|
+
*/
|
|
62
|
+
get allowedDomains() {
|
|
63
|
+
return this.props.adminSelfRegistrationContext.getAllowedDomains();
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* Render the component
|
|
68
|
+
* @returns {JSX}
|
|
69
|
+
*/
|
|
70
|
+
render() {
|
|
71
|
+
const isProcessing = this.props.adminSelfRegistrationContext.isProcessing();
|
|
72
|
+
return (
|
|
73
|
+
<DialogWrapper
|
|
74
|
+
title={this.props.t("Save self registration settings")}
|
|
75
|
+
onClose={this.handleClose}
|
|
76
|
+
disabled={isProcessing}
|
|
77
|
+
className="save-self-registration-settings-dialog">
|
|
78
|
+
<form onSubmit={this.handleSubmit}>
|
|
79
|
+
<div className="form-content">
|
|
80
|
+
<>
|
|
81
|
+
<label><Trans>Allowed domains</Trans></label>
|
|
82
|
+
<div className="radiolist-alt">
|
|
83
|
+
<div className="input radio">
|
|
84
|
+
<ul id="domains-list">
|
|
85
|
+
{this.allowedDomains &&
|
|
86
|
+
MapObject.iterators(this.allowedDomains).map(key => (
|
|
87
|
+
<li key={key}>
|
|
88
|
+
{this.allowedDomains.get(key)}
|
|
89
|
+
</li>
|
|
90
|
+
))
|
|
91
|
+
|
|
92
|
+
}
|
|
93
|
+
</ul>
|
|
94
|
+
</div>
|
|
95
|
+
</div>
|
|
96
|
+
</>
|
|
97
|
+
</div>
|
|
98
|
+
<div className="warning message">
|
|
99
|
+
<Trans>Please review carefully this configuration.</Trans>
|
|
100
|
+
</div>
|
|
101
|
+
<div className="submit-wrapper clearfix">
|
|
102
|
+
<FormCancelButton
|
|
103
|
+
onClick={this.handleClose}
|
|
104
|
+
disabled={isProcessing}/>
|
|
105
|
+
<FormSubmitButton
|
|
106
|
+
value={this.props.t("Save")}
|
|
107
|
+
disabled={isProcessing}
|
|
108
|
+
processing={isProcessing}
|
|
109
|
+
warning={true}/>
|
|
110
|
+
</div>
|
|
111
|
+
</form>
|
|
112
|
+
</DialogWrapper>
|
|
113
|
+
);
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
ConfirmSaveSelfRegistrationSettings.propTypes = {
|
|
118
|
+
context: PropTypes.any, // The application context
|
|
119
|
+
onSubmit: PropTypes.func, // The submit callback
|
|
120
|
+
adminSelfRegistrationContext: PropTypes.object, // The self registration workspace context
|
|
121
|
+
onClose: PropTypes.func, // Callback when the dialog must be closed
|
|
122
|
+
t: PropTypes.func, // The translation function
|
|
123
|
+
};
|
|
124
|
+
export default withAppContext(withAdminSelfRegistration(withTranslation('common')(ConfirmSaveSelfRegistrationSettings)));
|
|
125
|
+
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Passbolt ~ Open source password manager for teams
|
|
3
|
+
* Copyright (c) Passbolt SA (https://www.passbolt.com)
|
|
4
|
+
*
|
|
5
|
+
* Licensed under GNU Affero General Public License version 3 of the or any later version.
|
|
6
|
+
* For full copyright and license information, please see the LICENSE.txt
|
|
7
|
+
* Redistributions of files must retain the above copyright notice.
|
|
8
|
+
*
|
|
9
|
+
* @copyright Copyright (c) Passbolt SA (https://www.passbolt.com)
|
|
10
|
+
* @license https://opensource.org/licenses/AGPL-3.0 AGPL License
|
|
11
|
+
* @link https://www.passbolt.com Passbolt(tm)
|
|
12
|
+
* @since 3.8.3
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
import {defaultAppContext} from "../../../../contexts/ApiAppContext.test.data";
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Default props.
|
|
19
|
+
* @param {Object} props The props to override
|
|
20
|
+
* @returns {object}
|
|
21
|
+
*/
|
|
22
|
+
export function defaultProps(data = {}, userId) {
|
|
23
|
+
const defaultProps = {
|
|
24
|
+
context: defaultAppContext(data?.context, userId),
|
|
25
|
+
administrationWorkspaceContext: {
|
|
26
|
+
setDisplayAdministrationWorkspaceAction: jest.fn(),
|
|
27
|
+
resetDisplayAdministrationWorkspaceAction: jest.fn(),
|
|
28
|
+
},
|
|
29
|
+
onClose: jest.fn(),
|
|
30
|
+
onSubmit: jest.fn(),
|
|
31
|
+
t: jest.fn()
|
|
32
|
+
};
|
|
33
|
+
return Object.assign(defaultProps, data);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Has changed policy.
|
|
39
|
+
* @param {Object} props The props to override
|
|
40
|
+
* @returns {object}
|
|
41
|
+
*/
|
|
42
|
+
export function propsWithMockDomains(props = {}) {
|
|
43
|
+
const _props = {
|
|
44
|
+
adminSelfRegistrationContext: {
|
|
45
|
+
isProcessing: jest.fn(),
|
|
46
|
+
getAllowedDomains: () => (mockDomains())
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
return defaultProps(Object.assign(_props, props));
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* Has changed policy.
|
|
54
|
+
* @param {Object} props The props to override
|
|
55
|
+
* @returns {object}
|
|
56
|
+
*/
|
|
57
|
+
export function mockDomains() {
|
|
58
|
+
const map = new Map();
|
|
59
|
+
map.set("uuid", "passbolt.com");
|
|
60
|
+
map.set("uuid2", "passbolt.lu");
|
|
61
|
+
return map;
|
|
62
|
+
}
|
|
63
|
+
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Passbolt ~ Open source password manager for teams
|
|
3
|
+
* Copyright (c) Passbolt SA (https://www.passbolt.com)
|
|
4
|
+
*
|
|
5
|
+
* Licensed under GNU Affero General Public License version 3 of the or any later version.
|
|
6
|
+
* For full copyright and license information, please see the LICENSE.txt
|
|
7
|
+
* Redistributions of files must retain the above copyright notice.
|
|
8
|
+
*
|
|
9
|
+
* @copyright Copyright (c) Passbolt SA (https://www.passbolt.com)
|
|
10
|
+
* @license https://opensource.org/licenses/AGPL-3.0 AGPL License
|
|
11
|
+
* @link https://www.passbolt.com Passbolt(tm)
|
|
12
|
+
* @since 3.8.3
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Unit tests on ConfirmSaveSelfRegistrationSettings in regard of specifications
|
|
17
|
+
*/
|
|
18
|
+
import {waitFor} from "@testing-library/react";
|
|
19
|
+
import {defaultAppContext} from "../../../../contexts/ApiAppContext.test.data";
|
|
20
|
+
import {propsWithMockDomains} from "./ConfirmSaveSelfRegistrationSettings.test.data";
|
|
21
|
+
import ConfirmSaveSelfRegistrationSettingsPage from './ConfirmSaveSelfRegistrationSettings.test.page';
|
|
22
|
+
|
|
23
|
+
beforeEach(() => {
|
|
24
|
+
jest.resetModules();
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
describe("See the Confirm Save Self Registration Settings", () => {
|
|
28
|
+
let page; // The page to test agains
|
|
29
|
+
|
|
30
|
+
describe('As a logged in administrator ', () => {
|
|
31
|
+
/**
|
|
32
|
+
* I should see the account recovery settings dialog
|
|
33
|
+
*/
|
|
34
|
+
it('As a logged in administrator I can save a list of domains when there is no error and at least one domain filled in', async() => {
|
|
35
|
+
const props = propsWithMockDomains(); // The props to pass
|
|
36
|
+
page = new ConfirmSaveSelfRegistrationSettingsPage(defaultAppContext, props);
|
|
37
|
+
await waitFor(() => {});
|
|
38
|
+
|
|
39
|
+
expect(page.title).toBe("Save self registration settings");
|
|
40
|
+
|
|
41
|
+
// Close button exists
|
|
42
|
+
expect(page.closeButton).not.toBeNull();
|
|
43
|
+
|
|
44
|
+
// domains list
|
|
45
|
+
expect(page.domainsList.innerHTML).toBe('<li>passbolt.com</li><li>passbolt.lu</li>');
|
|
46
|
+
// Save button exists
|
|
47
|
+
expect(page.saveButton.textContent).toBe("Save");
|
|
48
|
+
|
|
49
|
+
// Cancel button exists
|
|
50
|
+
expect(page.cancelButton.textContent).toBe("Cancel");
|
|
51
|
+
});
|
|
52
|
+
});
|
|
53
|
+
});
|
|
54
|
+
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Passbolt ~ Open source password manager for teams
|
|
3
|
+
* Copyright (c) 2020 Passbolt SA (https://www.passbolt.com)
|
|
4
|
+
*
|
|
5
|
+
* Licensed under GNU Affero General Public License version 3 of the or any later version.
|
|
6
|
+
* For full copyright and license information, please see the LICENSE.txt
|
|
7
|
+
* Redistributions of files must retain the above copyright notice.
|
|
8
|
+
*
|
|
9
|
+
* @copyright Copyright (c) 2020 Passbolt SA (https://www.passbolt.com)
|
|
10
|
+
* @license https://opensource.org/licenses/AGPL-3.0 AGPL License
|
|
11
|
+
* @link https://www.passbolt.com Passbolt(tm)
|
|
12
|
+
* @since 3.8.3
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
import React from "react";
|
|
16
|
+
import MockTranslationProvider from "../../../../test/mock/components/Internationalisation/MockTranslationProvider";
|
|
17
|
+
import {render, fireEvent, waitFor} from '@testing-library/react';
|
|
18
|
+
import {AdminSelfRegistrationContextProvider} from "../../../../contexts/Administration/AdministrationSelfRegistration/AdministrationSelfRegistrationContext";
|
|
19
|
+
import AppContext from "../../../../contexts/AppContext";
|
|
20
|
+
import ConfirmSaveSelfRegistrationSettings from "./ConfirmSaveSelfRegistrationSettings";
|
|
21
|
+
/**
|
|
22
|
+
* The ConfirmSaveSelfRegistrationSettings component represented as a page
|
|
23
|
+
*/
|
|
24
|
+
export default class ConfirmSaveSelfRegistrationSettingsPage {
|
|
25
|
+
/**
|
|
26
|
+
* Default constructor
|
|
27
|
+
* @param appContext An app context
|
|
28
|
+
* @param props Props to attach
|
|
29
|
+
*/
|
|
30
|
+
constructor(appContext, props) {
|
|
31
|
+
this._page = render(
|
|
32
|
+
<MockTranslationProvider>
|
|
33
|
+
<AppContext.Provider value={appContext}>
|
|
34
|
+
<AdminSelfRegistrationContextProvider {...props}>
|
|
35
|
+
<ConfirmSaveSelfRegistrationSettings {...props}/>
|
|
36
|
+
</AdminSelfRegistrationContextProvider>
|
|
37
|
+
</AppContext.Provider>
|
|
38
|
+
</MockTranslationProvider>
|
|
39
|
+
);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* Returns the title element
|
|
44
|
+
*/
|
|
45
|
+
get title() {
|
|
46
|
+
return this._page.container.querySelector('.dialog-header-title').textContent;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* Returns the warning message
|
|
51
|
+
*/
|
|
52
|
+
get warningMessage() {
|
|
53
|
+
return this._page.container.querySelector('.warning.message');
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* Returns the list of domains
|
|
58
|
+
*/
|
|
59
|
+
get domainsList() {
|
|
60
|
+
return this._page.container.querySelector('#domains-list');
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* Returns the save button element
|
|
65
|
+
*/
|
|
66
|
+
get saveButton() {
|
|
67
|
+
return this._page.container.querySelector('.submit-wrapper button[type=\"submit\"]');
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* Returns the cancel button element
|
|
72
|
+
*/
|
|
73
|
+
get cancelButton() {
|
|
74
|
+
return this._page.container.querySelector('.submit-wrapper .cancel');
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* Click on the element
|
|
79
|
+
*
|
|
80
|
+
*/
|
|
81
|
+
async click(element) {
|
|
82
|
+
const leftClick = {button: 0};
|
|
83
|
+
fireEvent.click(element, leftClick);
|
|
84
|
+
await waitFor(() => {
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
*import { PropTypes } from 'prop-types';
|
|
3
|
+
*import defaultProps from '../DisplaySelfRegistrationAdministration.test.data';
|
|
4
|
+
* Passbolt ~ Open source password manager for teams
|
|
5
|
+
* Copyright (c) Passbolt SA (https://www.passbolt.com)
|
|
6
|
+
*
|
|
7
|
+
* Licensed under GNU Affero General Public License version 3 of the or any later version.
|
|
8
|
+
* For full copyright and license information, please see the LICENSE.txt
|
|
9
|
+
* Redistributions of files must retain the above copyright notice.
|
|
10
|
+
*
|
|
11
|
+
* @copyright Copyright (c) Passbolt SA (https://www.passbolt.com)
|
|
12
|
+
* @license https://opensource.org/licenses/AGPL-3.0 AGPL License
|
|
13
|
+
* @link https://www.passbolt.com Passbolt(tm)
|
|
14
|
+
* @since 3.8.3
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
import React from "react";
|
|
18
|
+
import {MemoryRouter, Route} from "react-router-dom";
|
|
19
|
+
import ConfirmSaveSelfRegistrationSettings from "./ConfirmSaveSelfRegistrationSettings";
|
|
20
|
+
import {propsWithMockDomains} from "./ConfirmSaveSelfRegistrationSettings.test.data";
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
export default {
|
|
24
|
+
title: 'Components/Administration/ConfirmSaveSelfRegistrationSettings',
|
|
25
|
+
component: ConfirmSaveSelfRegistrationSettings
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
const Template = args =>
|
|
29
|
+
<MemoryRouter initialEntries={['/']}>
|
|
30
|
+
<Route component={routerProps => <ConfirmSaveSelfRegistrationSettings {...args} {...routerProps}/>}></Route>
|
|
31
|
+
</MemoryRouter>;
|
|
32
|
+
|
|
33
|
+
export const Default = Template.bind({});
|
|
34
|
+
Default.args = propsWithMockDomains();
|
|
35
|
+
|