diff --git a/app/portainer/components/PasswordCheckHint.tsx b/app/portainer/components/PasswordCheckHint.tsx index 1eb435910..6164d5755 100644 --- a/app/portainer/components/PasswordCheckHint.tsx +++ b/app/portainer/components/PasswordCheckHint.tsx @@ -1,7 +1,15 @@ import { react2angular } from '@/react-tools/react2angular'; import { usePublicSettings } from '@/portainer/settings/queries'; -export function PasswordCheckHint() { +interface Props { + passwordValid: boolean; + forceChangePassword?: boolean; +} + +export function PasswordCheckHint({ + passwordValid, + forceChangePassword, +}: Props) { const settingsQuery = usePublicSettings(); const minPasswordLength = settingsQuery.data?.RequiredPasswordLength; @@ -12,10 +20,18 @@ export function PasswordCheckHint() { className="fa fa-exclamation-triangle orange-icon space-right" aria-hidden="true" /> + {forceChangePassword && + 'An administrator has changed your password requirements, '} The password must be at least {minPasswordLength} characters long. + {passwordValid && ( + + )}
); } -export const PasswordCheckHintAngular = react2angular(PasswordCheckHint, []); +export const PasswordCheckHintAngular = react2angular(PasswordCheckHint, [ + 'passwordValid', + 'forceChangePassword', +]); diff --git a/app/portainer/views/account/account.html b/app/portainer/views/account/account.html index 3099395b3..014ba16dc 100644 --- a/app/portainer/views/account/account.html +++ b/app/portainer/views/account/account.html @@ -54,7 +54,7 @@ -diff --git a/app/portainer/views/account/accountController.js b/app/portainer/views/account/accountController.js index 22b9de34f..5c5c55407 100644 --- a/app/portainer/views/account/accountController.js +++ b/app/portainer/views/account/accountController.js @@ -51,6 +51,9 @@ angular.module('portainer.app').controller('AccountController', [ if ($scope.userRole === 1 && newTransition.to().name === 'portainer.settings.authentication') { return true; } + if (newTransition.to().name === 'portainer.logout') { + return true; + } if ($scope.forceChangePassword) { ModalService.confirmForceChangePassword(); } diff --git a/app/portainer/views/init/admin/initAdmin.html b/app/portainer/views/init/admin/initAdmin.html index 044e289af..6f29b58a7 100644 --- a/app/portainer/views/init/admin/initAdmin.html +++ b/app/portainer/views/init/admin/initAdmin.html @@ -67,10 +67,11 @@
The password must be at least {{ requiredPasswordLength }} characters long. +