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}) {
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} >
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'];
}