From eb93bdfc50c110da32acec1c017e31b99c2916b5 Mon Sep 17 00:00:00 2001 From: scouillard Date: Tue, 4 Jul 2023 11:38:38 -0400 Subject: [PATCH 1/2] Add SMTP check for reset password link --- app/controllers/api/v1/env_controller.rb | 3 ++- .../components/users/authentication/forms/SigninForm.jsx | 8 +++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/app/controllers/api/v1/env_controller.rb b/app/controllers/api/v1/env_controller.rb index 03c1fced63..2541f5ed19 100644 --- a/app/controllers/api/v1/env_controller.rb +++ b/app/controllers/api/v1/env_controller.rb @@ -28,7 +28,8 @@ def index OPENID_CONNECT: ENV['OPENID_CONNECT_ISSUER'].present?, HCAPTCHA_KEY: ENV.fetch('HCAPTCHA_SITE_KEY', nil), VERSION_TAG: ENV.fetch('VERSION_TAG', ''), - CURRENT_PROVIDER: current_provider + CURRENT_PROVIDER: current_provider, + SMTP_ENABLED: ENV.fetch('SMTP_SERVER', nil) }, status: :ok end end diff --git a/app/javascript/components/users/authentication/forms/SigninForm.jsx b/app/javascript/components/users/authentication/forms/SigninForm.jsx index da7ed08851..b0ac6baaee 100644 --- a/app/javascript/components/users/authentication/forms/SigninForm.jsx +++ b/app/javascript/components/users/authentication/forms/SigninForm.jsx @@ -29,12 +29,14 @@ import useCreateSession from '../../../../hooks/mutations/sessions/useCreateSess import useSignInForm from '../../../../hooks/forms/users/authentication/useSignInForm'; import HCaptcha from '../../../shared_components/utilities/HCaptcha'; import FormCheckBox from '../../../shared_components/forms/controls/FormCheckBox'; +import useEnv from '../../../../hooks/queries/env/useEnv'; export default function SigninForm() { const { t } = useTranslation(); const { methods, fields } = useSignInForm(); const createSessionAPI = useCreateSession(); const captchaRef = useRef(null); + const { data: env } = useEnv(); const handleSubmit = useCallback(async (session) => { const results = await captchaRef.current?.execute({ async: true }); @@ -52,7 +54,11 @@ export default function SigninForm() { - {t('authentication.forgot_password')} + { + env?.SMTP_ENABLED && ( + {t('authentication.forgot_password')} + ) + } From f0b567f838a839807c0e1efdc0c7e1de9b8d2b41 Mon Sep 17 00:00:00 2001 From: scouillard Date: Tue, 4 Jul 2023 12:36:26 -0400 Subject: [PATCH 2/2] Add redirect to /forget_password --- .../users/password_management/ForgetPassword.jsx | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/app/javascript/components/users/password_management/ForgetPassword.jsx b/app/javascript/components/users/password_management/ForgetPassword.jsx index e7a2f38e66..4ced34ea2f 100644 --- a/app/javascript/components/users/password_management/ForgetPassword.jsx +++ b/app/javascript/components/users/password_management/ForgetPassword.jsx @@ -16,13 +16,21 @@ import React from 'react'; import Card from 'react-bootstrap/Card'; -import { Link } from 'react-router-dom'; +import { Link, Navigate } from 'react-router-dom'; import { useTranslation } from 'react-i18next'; import ForgetPwdForm from './forms/ForgetPwdForm'; import Logo from '../../shared_components/Logo'; +import useEnv from '../../../hooks/queries/env/useEnv'; export default function ForgetPassword() { const { t } = useTranslation(); + const { data: env, isLoading } = useEnv(); + + if (isLoading) return null; + + if (!env?.SMTP_ENABLED) { + return ; + } return (