diff --git a/web/pgadmin/static/js/SecurityPages/ForgotPasswordPage.jsx b/web/pgadmin/static/js/SecurityPages/ForgotPasswordPage.jsx index 07d6a5f1a..20d8d93c7 100644 --- a/web/pgadmin/static/js/SecurityPages/ForgotPasswordPage.jsx +++ b/web/pgadmin/static/js/SecurityPages/ForgotPasswordPage.jsx @@ -17,7 +17,8 @@ export default function ForgotPasswordPage({csrfToken, actionUrl, ...props}) {
{gettext('Enter the email address for the user account you wish to recover the password for:')}
- onTextChange('email', v)} placeholder={gettext('Email Address')} autoFocus /> + onTextChange('email', v)} placeholder={gettext('Email Address')} autoFocus + controlProps={{autoComplete: null}} /> {gettext('Recover Password')} diff --git a/web/pgadmin/static/js/SecurityPages/LoginPage.jsx b/web/pgadmin/static/js/SecurityPages/LoginPage.jsx index b8473ce1e..1c1344b4c 100644 --- a/web/pgadmin/static/js/SecurityPages/LoginPage.jsx +++ b/web/pgadmin/static/js/SecurityPages/LoginPage.jsx @@ -10,7 +10,7 @@ export default function LoginPage({userLanguage, langOptions, forgotPassUrl, csr const [form, setForm] = useState(({email: '', password: '', language: userLanguage})); // Hide login form if auth source is only oauth2 and/or kerberos. #5386 - const showLoginForm = !((authSources?.includes('oauth2') || authSources?.includes('kerberos')) && authSources?.length == 1 || (authSources?.includes('oauth2') + const showLoginForm = !((authSources?.includes('oauth2') || authSources?.includes('kerberos')) && authSources?.length == 1 || (authSources?.includes('oauth2') && authSources?.includes('kerberos')) && authSources?.length == 2); const onTextChange = (n, val)=>{ @@ -33,8 +33,10 @@ export default function LoginPage({userLanguage, langOptions, forgotPassUrl, csr {showLoginForm && <> - onTextChange('email', v)} placeholder={gettext('Email Address / Username')} autoFocus /> - onTextChange('password', v)} type="password" placeholder={gettext('Password')} /> + onTextChange('email', v)} placeholder={gettext('Email Address / Username')} autoFocus + controlProps={{autoComplete: null}} /> + onTextChange('password', v)} type="password" placeholder={gettext('Password')} + controlProps={{autoComplete: null}} /> {gettext('Forgotten your password?')} diff --git a/web/pgadmin/static/js/SecurityPages/PasswordResetPage.jsx b/web/pgadmin/static/js/SecurityPages/PasswordResetPage.jsx index d0fa1ac4e..efa7c9020 100644 --- a/web/pgadmin/static/js/SecurityPages/PasswordResetPage.jsx +++ b/web/pgadmin/static/js/SecurityPages/PasswordResetPage.jsx @@ -16,8 +16,10 @@ export default function PasswordResetPage({csrfToken, actionUrl, ...props}) { } {...props} >
- onTextChange('password', v)} type="password" placeholder={gettext('Password')} autoFocus/> - onTextChange('password_confirm', v)} type="password" placeholder={gettext('Retype Password')} /> + onTextChange('password', v)} type="password" placeholder={gettext('Password')} autoFocus + controlProps={{autoComplete: 'new-password'}} /> + onTextChange('password_confirm', v)} type="password" placeholder={gettext('Retype Password')} + controlProps={{autoComplete: 'new-password'}} /> {gettext('Reset Password')}
diff --git a/web/pgadmin/static/js/components/FormComponents.jsx b/web/pgadmin/static/js/components/FormComponents.jsx index 59c4e5f83..9444dcdb6 100644 --- a/web/pgadmin/static/js/components/FormComponents.jsx +++ b/web/pgadmin/static/js/components/FormComponents.jsx @@ -396,7 +396,7 @@ export const InputText = forwardRef(({ 'aria-describedby': helpid, ...(type ? { pattern: !_.isUndefined(controlProps) && !_.isUndefined(controlProps.pattern) ? controlProps.pattern : patterns[type] } : {}), style: inputStyle || {}, - autoComplete: 'new-password', + autoComplete: _.isUndefined(controlProps?.autoComplete) ? 'nope' : controlProps?.autoComplete, 'data-testid': 'input-text', title: controlProps?.title, }} @@ -812,7 +812,7 @@ OptionView.propTypes = { function CustomSelectInput(props) { const { maxLength } = props.selectProps; return ( - + ); } CustomSelectInput.propTypes = { diff --git a/web/pgadmin/tools/user_management/static/js/UserManagementDialog.jsx b/web/pgadmin/tools/user_management/static/js/UserManagementDialog.jsx index 69167ac79..82e430783 100644 --- a/web/pgadmin/tools/user_management/static/js/UserManagementDialog.jsx +++ b/web/pgadmin/tools/user_management/static/js/UserManagementDialog.jsx @@ -122,13 +122,17 @@ class UserManagementCollection extends BaseUISchema { } }, { id: 'newPassword', label: gettext('New password'), cell: 'password', - minWidth: 90, width: 90, deps: ['auth_source'], + minWidth: 90, width: 90, deps: ['auth_source'], controlProps: { + autoComplete: 'new-password', + }, editable: (state)=> { return obj.isEditable(state) && state.auth_source == AUTH_METHODS['INTERNAL']; } }, { id: 'confirmPassword', label: gettext('Confirm password'), cell: 'password', - minWidth: 90, width: 90, deps: ['auth_source'], + minWidth: 90, width: 90, deps: ['auth_source'], controlProps: { + autoComplete: 'new-password', + }, editable: (state)=> { return obj.isEditable(state) && state.auth_source == AUTH_METHODS['INTERNAL']; }