mirror of
https://github.com/pgadmin-org/pgadmin4.git
synced 2025-02-25 18:55:31 -06:00
Fix handling of errors when using "Connect Now?" for new servers. Fixes #1313.
Also fixes #1363 - display the server group properly in server properties.
This commit is contained in:
committed by
Dave Page
parent
0e11f4d082
commit
fc40197d39
@@ -526,7 +526,7 @@ class ServerNode(PGChildNodeView):
|
|||||||
'port': server.port,
|
'port': server.port,
|
||||||
'db': server.maintenance_db,
|
'db': server.maintenance_db,
|
||||||
'username': server.username,
|
'username': server.username,
|
||||||
'gid': server.servergroup_id,
|
'gid': str(server.servergroup_id),
|
||||||
'group-name': sg.name,
|
'group-name': sg.name,
|
||||||
'comment': server.comment,
|
'comment': server.comment,
|
||||||
'role': server.role,
|
'role': server.role,
|
||||||
@@ -582,18 +582,19 @@ class ServerNode(PGChildNodeView):
|
|||||||
user = None
|
user = None
|
||||||
|
|
||||||
if 'connect_now' in data and data['connect_now']:
|
if 'connect_now' in data and data['connect_now']:
|
||||||
if 'password' not in data or data["password"] == '':
|
|
||||||
db.session.delete(server)
|
|
||||||
db.session.commit()
|
|
||||||
raise Exception("No password provided.")
|
|
||||||
|
|
||||||
password = data['password']
|
|
||||||
password = encrypt(password, current_user.password)
|
|
||||||
|
|
||||||
from pgadmin.utils.driver import get_driver
|
from pgadmin.utils.driver import get_driver
|
||||||
manager = get_driver(PG_DEFAULT_DRIVER).connection_manager(server.id)
|
manager = get_driver(PG_DEFAULT_DRIVER).connection_manager(server.id)
|
||||||
|
manager.update(server)
|
||||||
conn = manager.connection()
|
conn = manager.connection()
|
||||||
|
|
||||||
|
if 'password' in data and data["password"] != '':
|
||||||
|
# login with password
|
||||||
|
password = data['password']
|
||||||
|
password = encrypt(password, current_user.password)
|
||||||
|
else:
|
||||||
|
# Attempt password less login
|
||||||
|
password = None
|
||||||
|
|
||||||
status, errmsg = conn.connect(
|
status, errmsg = conn.connect(
|
||||||
password=password,
|
password=password,
|
||||||
server_types=ServerType.types()
|
server_types=ServerType.types()
|
||||||
@@ -605,7 +606,7 @@ class ServerNode(PGChildNodeView):
|
|||||||
return make_json_response(
|
return make_json_response(
|
||||||
status=401,
|
status=401,
|
||||||
success=0,
|
success=0,
|
||||||
errormsg=gettext("Unable to connect to server.")
|
errormsg=gettext("Unable to connect to server:\n\n%s" % errmsg)
|
||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
user = manager.user_info
|
user = manager.user_info
|
||||||
@@ -626,6 +627,10 @@ class ServerNode(PGChildNodeView):
|
|||||||
)
|
)
|
||||||
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
|
if server:
|
||||||
|
db.session.delete(server)
|
||||||
|
db.session.commit()
|
||||||
|
|
||||||
current_app.logger.exception(e)
|
current_app.logger.exception(e)
|
||||||
return make_json_response(
|
return make_json_response(
|
||||||
status=410,
|
status=410,
|
||||||
|
|||||||
Reference in New Issue
Block a user