From 01a9a41bd98205dca409796fcc030fa3678d65f3 Mon Sep 17 00:00:00 2001 From: Akshay Joshi Date: Thu, 15 Sep 2022 13:12:46 +0530 Subject: [PATCH] 1) Warn the user when connecting to a server that is older than pgAdmin supports. 2) Fixed Debugger API test cases. --- .../server_groups/servers/static/js/server.js | 25 ++++++++++++------- .../tests/test_start_listener_debugger.py | 2 +- 2 files changed, 17 insertions(+), 10 deletions(-) diff --git a/web/pgadmin/browser/server_groups/servers/static/js/server.js b/web/pgadmin/browser/server_groups/servers/static/js/server.js index 5f044021e..a1e316e7a 100644 --- a/web/pgadmin/browser/server_groups/servers/static/js/server.js +++ b/web/pgadmin/browser/server_groups/servers/static/js/server.js @@ -272,6 +272,9 @@ define('pgadmin.node.server', [ // Call added method of node.js pgAdmin.Browser.Node.callbacks.added.apply(this, arguments); + // Check the database server against supported version. + checkSupportedVersion(data.version); + if(data.was_connected) { fetch_connection_status(this, data, pgBrowser.tree, item); } @@ -575,6 +578,17 @@ define('pgadmin.node.server', [ }, }); + let checkSupportedVersion = function (version, info) { + if (!_.isUndefined(version) && !_.isNull(version) && version < 100000) { + Notify.warning(gettext('You have connected to a server version that is older ' + + 'than is supported by pgAdmin. This may cause pgAdmin to break in strange and ' + + 'unpredictable ways. Or a plague of frogs. Either way, you have been warned!') + + '

' + gettext('Server connected'), null); + } else if (!_.isUndefined(info) && !_.isNull(info)) { + Notify.success(info); + } + }; + let connect_to_server = function(obj, data, tree, item, reconnect) { // Open properties dialog in edit mode let server_url = obj.generate_url(item, 'obj', data, true); @@ -665,15 +679,8 @@ define('pgadmin.node.server', [ pgBrowser.serverInfo || {}; serverInfo[_data._id] = _.extend({}, _data); - if (_data.version < 90500) { - Notify.warning(gettext('You have connected to a server version that is older ' + - 'than is supported by pgAdmin. This may cause pgAdmin to break in strange and ' + - 'unpredictable ways. Or a plague of frogs. Either way, you have been warned!') + - '

' + - res.info, null); - } else { - Notify.success(res.info); - } + // Check the database server against supported version. + checkSupportedVersion(_data.version, res.info); obj.trigger('connected', obj, _item, _data); diff --git a/web/pgadmin/tools/debugger/tests/test_start_listener_debugger.py b/web/pgadmin/tools/debugger/tests/test_start_listener_debugger.py index 75116bc5c..b595cf05e 100644 --- a/web/pgadmin/tools/debugger/tests/test_start_listener_debugger.py +++ b/web/pgadmin/tools/debugger/tests/test_start_listener_debugger.py @@ -34,7 +34,7 @@ class DebuggerStartListener(BaseTestGenerator): self.schema_id = self.schema_data['schema_id'] self.test_data['funcowner'] = self.server["username"] - + funcs_utils.set_up(self) function_info = debugger_utils.create_function(self, utils) self.func_id = json.loads(function_info.data)['node']['_id']