From ed1184fcf8f1f8290cf06407e2c093c1759b37b1 Mon Sep 17 00:00:00 2001 From: Akshay Joshi Date: Thu, 22 Sep 2022 13:13:29 +0530 Subject: [PATCH] Ensure that the user management dialog should not allow the same email addresses with different letter casings when creating users. #5262 --- docs/en_US/release_notes_6_15.rst | 1 + .../tools/user_management/static/js/UserManagementDialog.jsx | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/docs/en_US/release_notes_6_15.rst b/docs/en_US/release_notes_6_15.rst index 22442c5fa..b894b2109 100644 --- a/docs/en_US/release_notes_6_15.rst +++ b/docs/en_US/release_notes_6_15.rst @@ -25,4 +25,5 @@ Bug fixes ********* | `Issue #5249 `_ - Added the ability to display the selected text from the query tool in the find/replace box. + | `Issue #5262 `_ - Ensure that the user management dialog should not allow the same email addresses with different letter casings when creating users. | `Issue #5308 `_ - Ensure that the default value for a column should be used if it is made empty. diff --git a/web/pgadmin/tools/user_management/static/js/UserManagementDialog.jsx b/web/pgadmin/tools/user_management/static/js/UserManagementDialog.jsx index b0974e01f..b721ced20 100644 --- a/web/pgadmin/tools/user_management/static/js/UserManagementDialog.jsx +++ b/web/pgadmin/tools/user_management/static/js/UserManagementDialog.jsx @@ -145,7 +145,7 @@ class UserManagementCollection extends BaseUISchema { if (obj.isNew(state) && obj.top?._sessData?.userManagement) { for (let i=0; i < obj.top._sessData.userManagement.length; i++) { if (obj.top._sessData.userManagement[i]?.id && - obj.top._sessData.userManagement[i].username == state.username && + obj.top._sessData.userManagement[i].username.toLowerCase() == state.username.toLowerCase() && obj.top._sessData.userManagement[i].auth_source == state.auth_source) { msg = gettext('User name \'%s\' already exists', state.username); setError('username', msg); @@ -172,7 +172,7 @@ class UserManagementCollection extends BaseUISchema { if (obj.isNew(state) && obj.top?._sessData?.userManagement) { for (let i=0; i < obj.top._sessData.userManagement.length; i++) { if (obj.top._sessData.userManagement[i]?.id && - obj.top._sessData.userManagement[i].email == state.email) { + obj.top._sessData.userManagement[i].email.toLowerCase() == state.email.toLowerCase()) { msg = gettext('Email address \'%s\' already exists', state.email); setError('email', msg); return true;