From 67ef438730aeb9b054d5acad541aed2b74905911 Mon Sep 17 00:00:00 2001 From: Nikhil Mohite Date: Fri, 26 May 2023 16:05:52 +0530 Subject: [PATCH] Ensure migrate master password dialog is not shown with a fresh installation. #5123 --- web/pgadmin/browser/__init__.py | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/web/pgadmin/browser/__init__.py b/web/pgadmin/browser/__init__.py index 3dc05108a..67f3b8d45 100644 --- a/web/pgadmin/browser/__init__.py +++ b/web/pgadmin/browser/__init__.py @@ -835,13 +835,13 @@ def set_master_password(): from pgadmin.utils.crypto import decrypt desktop_user = current_user try: + all_server = Server.query.all() # pgAdmin will use the OS password manager to store the server # password, here migrating the existing saved server password to # OS password manager if keyring.get_password( KEY_RING_SERVICE_NAME, KEY_RING_DESKTOP_USER.format( desktop_user.username)) or data['password']: - all_server = Server.query.all() is_migrated = False for server in all_server: if server.password and data['password'] \ @@ -868,10 +868,15 @@ def set_master_password(): keyring_name=config.KEYRING_NAME if is_migrated else '' ) else: - return form_master_password_response( - present=False, - keyring_name=config.KEYRING_NAME - ) + if len(all_server) == 0: + return form_master_password_response( + present=True, + ) + else: + return form_master_password_response( + present=False, + keyring_name=config.KEYRING_NAME + ) except Exception as e: current_app.logger.warning( 'Fail set password using OS password manager'