diff --git a/web/pgadmin/browser/server_groups/servers/databases/__init__.py b/web/pgadmin/browser/server_groups/servers/databases/__init__.py index 9216f21..4dea3c4 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/__init__.py +++ b/web/pgadmin/browser/server_groups/servers/databases/__init__.py @@ -456,25 +456,25 @@ class DatabaseView(PGChildNodeView): from pgadmin.utils.driver import get_driver manager = get_driver(PG_DEFAULT_DRIVER).connection_manager(sid) conn = manager.connection(did=did, auto_reconnect=True) - status, errmsg = conn.connect() - - if not status: - current_app.logger.error( - "Could not connected to database(#{0}).\nError: {1}".format( - did, errmsg + info_already_connected = conn.connected() + if not info_already_connected: + status, errmsg = conn.connect() + if not status: + current_app.logger.error( + "Could not connected to database(#{0}).\nError: {1}".format( + did, errmsg + ) ) - ) - - return internal_server_error(errmsg) - else: - current_app.logger.info('Connection Established for Database Id: \ - %s' % (did)) - - return make_json_response( + return internal_server_error(errmsg) + else: + current_app.logger.info('Connection Established for Database Id: \ + %s' % (did)) + return make_json_response( success=1, info=_("Database connected."), data={ 'icon': 'pg-icon-database', + 'info_already_connected': info_already_connected, 'connected': True, 'info_prefix': '{0}/{1}'. format(Server.query.filter_by(id=sid)[0].name, conn.db) diff --git a/web/pgadmin/browser/server_groups/servers/databases/static/js/database.js b/web/pgadmin/browser/server_groups/servers/databases/static/js/database.js index f458d69..44fe6b2 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/static/js/database.js +++ b/web/pgadmin/browser/server_groups/servers/databases/static/js/database.js @@ -520,7 +520,6 @@ define('pgadmin.node.database', [ tree.deselect(item); tree.setInode(item); } - if (res && res.data) { if(typeof res.data.connected == 'boolean') { data.connected = res.data.connected; @@ -530,11 +529,17 @@ define('pgadmin.node.database', [ data.icon = res.data.icon; tree.addIcon(item, {icon: data.icon}); } + if(res.data.info_already_connected) { + res.info = 'Database already connected.'; + } if(res.data.info_prefix) { res.info = `${_.escape(res.data.info_prefix)} - ${res.info}`; } - - Alertify.success(res.info); + if(res.data.info_already_connected) { + Alertify.info(res.info); + } else { + Alertify.success(res.info); + } obj.trigger('connected', obj, item, data); pgBrowser.Events.trigger( 'pgadmin:database:connected', item, data