Ensure migrate master password dialog is not shown with a fresh installation. #5123

pull/6329/head
Nikhil Mohite 2023-05-26 16:05:52 +05:30 committed by GitHub
parent 29053098fc
commit 67ef438730
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 10 additions and 5 deletions

View File

@ -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'