diff --git a/web/pgadmin/browser/server_groups/servers/databases/languages/__init__.py b/web/pgadmin/browser/server_groups/servers/databases/languages/__init__.py index 4b904e502..7bea0b4cc 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/languages/__init__.py +++ b/web/pgadmin/browser/server_groups/servers/databases/languages/__init__.py @@ -690,12 +690,17 @@ class LanguageView(PGChildNodeView, SchemaDiffObjectCompare): sid: Server ID did: Database ID """ - sql = render_template("/".join([self.template_path, 'templates.sql'])) - status, result = self.conn.execute_dict(sql) - if not status: - return internal_server_error(errormsg=result) + data = [] + if self.manager.version < 130000: + sql = render_template("/".join( + [self.template_path, 'templates.sql'])) + status, result = self.conn.execute_dict(sql) + if not status: + return internal_server_error(errormsg=result) + data = result['rows'] + return make_json_response( - data=result['rows'], + data=data, status=200 ) diff --git a/web/pgadmin/browser/server_groups/servers/databases/languages/static/js/language.js b/web/pgadmin/browser/server_groups/servers/databases/languages/static/js/language.js index b9f6b4e4a..b7b68db90 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/languages/static/js/language.js +++ b/web/pgadmin/browser/server_groups/servers/databases/languages/static/js/language.js @@ -119,6 +119,25 @@ define('pgadmin.node.language', [ return res; }, + visible: function() { + if(!_.isUndefined(this.node_info) && !_.isUndefined(this.node_info.server) + && !_.isUndefined(this.node_info.server.version) && + this.node_info.server.version < 130000) { + return true; + } + return false; + }, + }, { + id: 'name', label: gettext('Name'), type: 'text', + mode: ['properties', 'create', 'edit'], + visible: function() { + if(!_.isUndefined(this.node_info) && !_.isUndefined(this.node_info.server) + && !_.isUndefined(this.node_info.server.version) && + this.node_info.server.version >= 130000) { + return true; + } + return false; + }, },{ id: 'oid', label: gettext('OID'), cell: 'string', mode: ['properties'], type: 'text', diff --git a/web/pgadmin/browser/server_groups/servers/databases/languages/tests/language_test_data.json b/web/pgadmin/browser/server_groups/servers/databases/languages/tests/language_test_data.json index 14aa7bf91..3e928dec1 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/languages/tests/language_test_data.json +++ b/web/pgadmin/browser/server_groups/servers/databases/languages/tests/language_test_data.json @@ -354,6 +354,8 @@ "name": "Error while getting language template", "url": "/browser/language/get_templates/", "is_positive_test": false, + "server_max_version": 129999, + "skip_msg": "Language templates are not supported in PG/EPAS 13.0 and above.", "expected_data": { "status_code": 500, "message": "Error while getting language templates" diff --git a/web/pgadmin/browser/server_groups/servers/databases/languages/tests/test_language_get_function_and_template.py b/web/pgadmin/browser/server_groups/servers/databases/languages/tests/test_language_get_function_and_template.py index 6b06a7bbb..507c2bedf 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/languages/tests/test_language_get_function_and_template.py +++ b/web/pgadmin/browser/server_groups/servers/databases/languages/tests/test_language_get_function_and_template.py @@ -38,6 +38,10 @@ class LanguagesGetFunctionAndTemplateTestCase(BaseTestGenerator): self.language_id = language_utils.create_language(self.server, self.db_name, self.lang_name) + if hasattr(self, 'server_max_version'): + if self.server_information['server_version'] > \ + self.server_max_version: + self.skipTest(self.skip_msg) def runTest(self): """This function will get the language under test database."""