diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/__init__.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/__init__.py index d7e3da9b6..7c1f16523 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/__init__.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/__init__.py @@ -148,7 +148,8 @@ def check_precondition(f): self.datistemplate = \ self.manager.db_info[kwargs['did']]['datistemplate'] \ if self.manager.db_info is not None and \ - kwargs['did'] in self.manager.db_info else False + kwargs['did'] in self.manager.db_info and \ + 'datistemplate' in self.manager.db_info[kwargs['did']] else False # Set the template path for the SQL scripts if self.manager.server_type == 'gpdb': diff --git a/web/pgadmin/tools/datagrid/static/js/datagrid.js b/web/pgadmin/tools/datagrid/static/js/datagrid.js index 20ed9da4b..b698c08e7 100644 --- a/web/pgadmin/tools/datagrid/static/js/datagrid.js +++ b/web/pgadmin/tools/datagrid/static/js/datagrid.js @@ -299,7 +299,7 @@ define('pgadmin.datagrid', [ ).set({'title': gettext('Rename Panel')}); }); - var openQueryToolURL = function(j) { + var openQueryToolURL = function(j, panel_url) { // add spinner element let $spinner_el = $(`
@@ -315,9 +315,20 @@ define('pgadmin.datagrid', [ if (frameInitialized) { clearInterval(init_poller_id); var frame = $(j).data('embeddedFrame'); + if (frame) { frame.onLoaded(()=>{ $spinner_el.remove(); + // Fix for firefox backspace click causes pgadmin Inception - RM4892 + // start of code + var current_browser = pgAdmin.Browser.get_browser(); + if (current_browser.name === 'Firefox') { + frame.$iFrame[0].contentWindow.history.pushState(null, null, panel_url); + frame.$iFrame[0].contentWindow.onpopstate = function () { + frame.$iFrame[0].contentWindow.history.go(1); + }; + } + // end of code }); frame.openHTML(queryToolForm); } @@ -325,7 +336,7 @@ define('pgadmin.datagrid', [ }, 100); }; - openQueryToolURL(queryToolPanel); + openQueryToolURL(queryToolPanel, panel_url); } return true; },