|
@@ -157,7 +157,8 @@ export const LoginForm = (props: LoginFormProps): JSX.Element => {
|
|
|
return (
|
|
return (
|
|
|
<li key={index} className={index > 0 ? 'mt-1' : ''}>
|
|
<li key={index} className={index > 0 ? 'mt-1' : ''}>
|
|
|
{tWithOpt(err.message, err.args)}
|
|
{tWithOpt(err.message, err.args)}
|
|
|
- </li>);
|
|
|
|
|
|
|
+ </li>
|
|
|
|
|
+ );
|
|
|
})}
|
|
})}
|
|
|
</ul>
|
|
</ul>
|
|
|
);
|
|
);
|
|
@@ -180,13 +181,13 @@ export const LoginForm = (props: LoginFormProps): JSX.Element => {
|
|
|
<>
|
|
<>
|
|
|
{/* !! - DO NOT DELETE HIDDEN ELEMENT - !! -- 7.12 ryoji-s */}
|
|
{/* !! - DO NOT DELETE HIDDEN ELEMENT - !! -- 7.12 ryoji-s */}
|
|
|
{/* Import font-awesome to prevent MongoStore.js "Unable to find the session to touch" error */}
|
|
{/* Import font-awesome to prevent MongoStore.js "Unable to find the session to touch" error */}
|
|
|
- <div className='sr-only'>
|
|
|
|
|
|
|
+ <div className="sr-only">
|
|
|
<i className="fa fa-spinner fa-pulse" />
|
|
<i className="fa fa-spinner fa-pulse" />
|
|
|
</div>
|
|
</div>
|
|
|
{/* !! - END OF HIDDEN ELEMENT - !! */}
|
|
{/* !! - END OF HIDDEN ELEMENT - !! */}
|
|
|
{isLdapSetupFailed && (
|
|
{isLdapSetupFailed && (
|
|
|
<div className="alert alert-warning small">
|
|
<div className="alert alert-warning small">
|
|
|
- <strong><i className="icon-fw icon-info"></i>{t('login.enabled_ldap_has_configuration_problem')}</strong><br/>
|
|
|
|
|
|
|
+ <strong><i className="icon-fw icon-info"></i>{t('login.enabled_ldap_has_configuration_problem')}</strong><br />
|
|
|
<span dangerouslySetInnerHTML={{ __html: t('login.set_env_var_for_logs') }}></span>
|
|
<span dangerouslySetInnerHTML={{ __html: t('login.set_env_var_for_logs') }}></span>
|
|
|
</div>
|
|
</div>
|
|
|
)}
|
|
)}
|
|
@@ -200,8 +201,14 @@ export const LoginForm = (props: LoginFormProps): JSX.Element => {
|
|
|
<i className="icon-user"></i>
|
|
<i className="icon-user"></i>
|
|
|
</span>
|
|
</span>
|
|
|
</div>
|
|
</div>
|
|
|
- <input type="text" className="form-control rounded-0" data-testid="tiUsernameForLogin" placeholder="Username or E-mail"
|
|
|
|
|
- onChange={(e) => { setUsernameForLogin(e.target.value) }} name="usernameForLogin" />
|
|
|
|
|
|
|
+ <input
|
|
|
|
|
+ type="text"
|
|
|
|
|
+ className="form-control rounded-0"
|
|
|
|
|
+ data-testid="tiUsernameForLogin"
|
|
|
|
|
+ placeholder="Username or E-mail"
|
|
|
|
|
+ onChange={(e) => { setUsernameForLogin(e.target.value) }}
|
|
|
|
|
+ name="usernameForLogin"
|
|
|
|
|
+ />
|
|
|
{isLdapStrategySetup && (
|
|
{isLdapStrategySetup && (
|
|
|
<div className="input-group-append">
|
|
<div className="input-group-append">
|
|
|
<small className="input-group-text text-success">
|
|
<small className="input-group-text text-success">
|
|
@@ -217,8 +224,14 @@ export const LoginForm = (props: LoginFormProps): JSX.Element => {
|
|
|
<i className="icon-lock"></i>
|
|
<i className="icon-lock"></i>
|
|
|
</span>
|
|
</span>
|
|
|
</div>
|
|
</div>
|
|
|
- <input type="password" className="form-control rounded-0" data-testid="tiPasswordForLogin" placeholder="Password"
|
|
|
|
|
- onChange={(e) => { setPasswordForLogin(e.target.value) }} name="passwordForLogin" />
|
|
|
|
|
|
|
+ <input
|
|
|
|
|
+ type="password"
|
|
|
|
|
+ className="form-control rounded-0"
|
|
|
|
|
+ data-testid="tiPasswordForLogin"
|
|
|
|
|
+ placeholder="Password"
|
|
|
|
|
+ onChange={(e) => { setPasswordForLogin(e.target.value) }}
|
|
|
|
|
+ name="passwordForLogin"
|
|
|
|
|
+ />
|
|
|
</div>
|
|
</div>
|
|
|
|
|
|
|
|
<div className="input-group my-4">
|
|
<div className="input-group my-4">
|
|
@@ -390,7 +403,7 @@ export const LoginForm = (props: LoginFormProps): JSX.Element => {
|
|
|
{registerErrors.map((err, index) => {
|
|
{registerErrors.map((err, index) => {
|
|
|
return (
|
|
return (
|
|
|
<span key={index}>
|
|
<span key={index}>
|
|
|
- {t(err.message)}<br/>
|
|
|
|
|
|
|
+ {t(err.message)}<br />
|
|
|
</span>
|
|
</span>
|
|
|
);
|
|
);
|
|
|
})}
|
|
})}
|
|
@@ -406,7 +419,7 @@ export const LoginForm = (props: LoginFormProps): JSX.Element => {
|
|
|
)
|
|
)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- <form role="form" onSubmit={e => handleRegisterFormSubmit(e, registerAction) } id="register-form">
|
|
|
|
|
|
|
+ <form role="form" onSubmit={e => handleRegisterFormSubmit(e, registerAction)} id="register-form">
|
|
|
|
|
|
|
|
{!isEmailAuthenticationEnabled && (
|
|
{!isEmailAuthenticationEnabled && (
|
|
|
<div>
|
|
<div>
|
|
@@ -437,13 +450,15 @@ export const LoginForm = (props: LoginFormProps): JSX.Element => {
|
|
|
</span>
|
|
</span>
|
|
|
</div>
|
|
</div>
|
|
|
{/* name */}
|
|
{/* name */}
|
|
|
- <input type="text"
|
|
|
|
|
|
|
+ <input
|
|
|
|
|
+ type="text"
|
|
|
className="form-control rounded-0"
|
|
className="form-control rounded-0"
|
|
|
onChange={(e) => { setNameForRegister(e.target.value) }}
|
|
onChange={(e) => { setNameForRegister(e.target.value) }}
|
|
|
placeholder={t('Name')}
|
|
placeholder={t('Name')}
|
|
|
name="name"
|
|
name="name"
|
|
|
defaultValue={props.name}
|
|
defaultValue={props.name}
|
|
|
- required />
|
|
|
|
|
|
|
+ required
|
|
|
|
|
+ />
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
)}
|
|
)}
|
|
@@ -455,7 +470,8 @@ export const LoginForm = (props: LoginFormProps): JSX.Element => {
|
|
|
</span>
|
|
</span>
|
|
|
</div>
|
|
</div>
|
|
|
{/* email */}
|
|
{/* email */}
|
|
|
- <input type="email"
|
|
|
|
|
|
|
+ <input
|
|
|
|
|
+ type="email"
|
|
|
disabled={!isMailerSetup && isEmailAuthenticationEnabled}
|
|
disabled={!isMailerSetup && isEmailAuthenticationEnabled}
|
|
|
className="form-control rounded-0"
|
|
className="form-control rounded-0"
|
|
|
onChange={(e) => { setEmailForRegister(e.target.value) }}
|
|
onChange={(e) => { setEmailForRegister(e.target.value) }}
|
|
@@ -490,12 +506,14 @@ export const LoginForm = (props: LoginFormProps): JSX.Element => {
|
|
|
</span>
|
|
</span>
|
|
|
</div>
|
|
</div>
|
|
|
{/* Password */}
|
|
{/* Password */}
|
|
|
- <input type="password"
|
|
|
|
|
|
|
+ <input
|
|
|
|
|
+ type="password"
|
|
|
className="form-control rounded-0"
|
|
className="form-control rounded-0"
|
|
|
onChange={(e) => { setPasswordForRegister(e.target.value) }}
|
|
onChange={(e) => { setPasswordForRegister(e.target.value) }}
|
|
|
placeholder={t('Password')}
|
|
placeholder={t('Password')}
|
|
|
name="password"
|
|
name="password"
|
|
|
- required />
|
|
|
|
|
|
|
+ required
|
|
|
|
|
+ />
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
)}
|
|
)}
|
|
@@ -525,7 +543,8 @@ export const LoginForm = (props: LoginFormProps): JSX.Element => {
|
|
|
id="login"
|
|
id="login"
|
|
|
className="link-switch"
|
|
className="link-switch"
|
|
|
style={{ pointerEvents: isLoading ? 'none' : 'auto' }}
|
|
style={{ pointerEvents: isLoading ? 'none' : 'auto' }}
|
|
|
- onClick={switchForm}>
|
|
|
|
|
|
|
+ onClick={switchForm}
|
|
|
|
|
+ >
|
|
|
<i className="icon-fw icon-login"></i>
|
|
<i className="icon-fw icon-login"></i>
|
|
|
{t('Sign in is here')}
|
|
{t('Sign in is here')}
|
|
|
</a>
|
|
</a>
|
|
@@ -566,7 +585,8 @@ export const LoginForm = (props: LoginFormProps): JSX.Element => {
|
|
|
id="register"
|
|
id="register"
|
|
|
className="link-switch"
|
|
className="link-switch"
|
|
|
style={{ pointerEvents: isLoading ? 'none' : 'auto' }}
|
|
style={{ pointerEvents: isLoading ? 'none' : 'auto' }}
|
|
|
- onClick={switchForm}>
|
|
|
|
|
|
|
+ onClick={switchForm}
|
|
|
|
|
+ >
|
|
|
<i className="ti ti-check-box"></i> {t('Sign up is here')}
|
|
<i className="ti ti-check-box"></i> {t('Sign up is here')}
|
|
|
</a>
|
|
</a>
|
|
|
</div>
|
|
</div>
|