diff --git a/web/pgadmin/misc/file_manager/static/js/select_dialogue.js b/web/pgadmin/misc/file_manager/static/js/select_dialogue.js index 5e63bd7eb..407acf4c6 100644 --- a/web/pgadmin/misc/file_manager/static/js/select_dialogue.js +++ b/web/pgadmin/misc/file_manager/static/js/select_dialogue.js @@ -71,7 +71,7 @@ module.exports = Alertify.dialog('fileSelectionDlg', function() { if (transId.readyState == 4) { t_res = JSON.parse(transId.responseText); } - self.trans_id = t_res.data.fileTransId; + self.trans_id = _.isUndefined(t_res) ? 0 : t_res.data.fileTransId; setTimeout(function() { $(self.$container.find('.file_manager')).on('enter-key', function() { diff --git a/web/pgadmin/misc/file_manager/static/js/utility.js b/web/pgadmin/misc/file_manager/static/js/utility.js index 329fdde80..0c5c5aeba 100644 --- a/web/pgadmin/misc/file_manager/static/js/utility.js +++ b/web/pgadmin/misc/file_manager/static/js/utility.js @@ -1186,7 +1186,7 @@ define([ if (transId.readyState == 4) { t_res = JSON.parse(transId.responseText); } - t_id = t_res.data.fileTransId; + t_id = _.isUndefined(t_res) ? 0 : t_res.data.fileTransId; var root_url = url_for('file_manager.index'), file_manager_config_json = root_url + t_id + '/file_manager_config.json', fileConnector = root_url + 'filemanager/' + t_id + '/', @@ -1201,6 +1201,9 @@ define([ homedir=config.options.homedir; } + if (_.isUndefined(config)) + return; + // set main url to filemanager and its capabilites var fileRoot = config.options.fileRoot, capabilities = config.options.capabilities; @@ -1288,20 +1291,20 @@ define([ } // handle show hidden files functionality this.handleClick = function(cb) { - var data = { + var tmp_data = { 'is_checked': false, }; if (cb.checked) { $('div.allowed_file_types select').trigger('change'); - data['is_checked'] = true; + tmp_data['is_checked'] = true; } else { // User wants to hide it again $('div.allowed_file_types select').trigger('change'); - data['is_checked'] = false; + tmp_data['is_checked'] = false; } // Save it in preference - save_show_hidden_file_option(data['is_checked'], pgAdmin.FileUtils.transId); + save_show_hidden_file_option(tmp_data['is_checked'], pgAdmin.FileUtils.transId); return; }; } @@ -1616,10 +1619,10 @@ define([ setTimeout(function() {}, 10000); }, success: function(file, response) { - var data = response.data.result, + var resp_data = response.data.result, $this = $(file.previewTemplate); - if (data.Code == 1) { + if (resp_data.Code == 1) { setTimeout(function() { $this.find('.dz-upload').addClass('success'); }, 1000); @@ -1628,7 +1631,7 @@ define([ } else { $this.find('.dz-upload').addClass('error'); $this.find('.dz-upload').css('width', '0%').html('0%'); - Alertify.error(data.Error); + Alertify.error(resp_data.Error); } getFolderInfo(path); }, @@ -1670,7 +1673,7 @@ define([ } else { $('.storage_dialog #uploader .input-path').val(path); } - } else if (!(config.options.platform_type === 'win32') && + } else if ((config.options.platform_type !== 'win32') && (path == '' || !path.startsWith('/'))) { path = '/' + path; $('.storage_dialog #uploader .input-path').val(path); diff --git a/web/pgadmin/static/js/selection/grid_selector.js b/web/pgadmin/static/js/selection/grid_selector.js index 1b5d2840f..3a1aed21f 100644 --- a/web/pgadmin/static/js/selection/grid_selector.js +++ b/web/pgadmin/static/js/selection/grid_selector.js @@ -51,7 +51,7 @@ define(['jquery', 'title="' + gettext('Select/Deselect All') + '">' + '
' + columnDefinitions[0].name + - ''; + '' + ''; return columnDefinitions; }; diff --git a/web/pgadmin/static/js/sqleditor/history/query_history_entries.js b/web/pgadmin/static/js/sqleditor/history/query_history_entries.js index 8e58dc5aa..249c93ac9 100644 --- a/web/pgadmin/static/js/sqleditor/history/query_history_entries.js +++ b/web/pgadmin/static/js/sqleditor/history/query_history_entries.js @@ -235,7 +235,8 @@ export class QueryHistoryEntries { newItem.onClick(this.setSelectedListItem.bind(this)); newItem.render(this.is_pgadmin_queries_shown); - $groupEl.find('.query-entries').prepend(newItem.$el); + if (!_.isUndefined($groupEl)) + $groupEl.find('.query-entries').prepend(newItem.$el); this.setSelectedListItem(newItem.$el); } diff --git a/web/pgadmin/static/js/tree/pgadmin_tree_save_state.js b/web/pgadmin/static/js/tree/pgadmin_tree_save_state.js index e42ec4ac1..e5cdf0d45 100644 --- a/web/pgadmin/static/js/tree/pgadmin_tree_save_state.js +++ b/web/pgadmin/static/js/tree/pgadmin_tree_save_state.js @@ -211,7 +211,7 @@ _.extend(pgBrowser.browserTreeState, { node = data && pgBrowser.Nodes[data._type], treeHierarchy = node && node.getTreeNodeHierarchy(item); - if (treeHierarchy === null || !pgBrowser.tree.hasParent(item) || !(self.parent in treeHierarchy)) + if (treeHierarchy === null || !pgBrowser.tree.hasParent(item) || !(treeHierarchy.hasOwnProperty(self.parent))) return; let topParent = treeHierarchy && treeHierarchy[self.parent]['_id'], @@ -231,7 +231,7 @@ _.extend(pgBrowser.browserTreeState, { let tmpTreeData = self.current_state[topParent]['paths'], databaseId = undefined; - if ('database' in treeHierarchy) + if (treeHierarchy.hasOwnProperty('database')) databaseId = treeHierarchy['database']['id']; if (!_.isUndefined(tmpTreeData) && !_.isUndefined(tmpTreeData.length)) { @@ -269,7 +269,7 @@ _.extend(pgBrowser.browserTreeState, { treeHierarchy = node && node.getTreeNodeHierarchy(item); - if (treeHierarchy === null || !pgBrowser.tree.hasParent(item) || !(self.parent in treeHierarchy)) + if (treeHierarchy === null || !pgBrowser.tree.hasParent(item) || !(treeHierarchy.hasOwnProperty(self.parent))) return; // If the server node is open then only we should populate the tree @@ -290,7 +290,7 @@ _.extend(pgBrowser.browserTreeState, { let tmpTreeDataPaths = [...tmpTreeData['paths']], databaseId = undefined; - if ('database' in treeHierarchy) + if (treeHierarchy.hasOwnProperty('database')) databaseId = treeHierarchy['database']['id']; _.each(tmpTreeDataPaths, function(tData) { @@ -325,7 +325,7 @@ _.extend(pgBrowser.browserTreeState, { node = data && pgBrowser.Nodes[data._type], treeHierarchy = node.getTreeNodeHierarchy(item); - if ('database' in treeHierarchy) { + if (treeHierarchy.hasOwnProperty('database')) { let databaseItem = treeHierarchy['database']['id'], topParent = treeHierarchy && treeHierarchy[this.parent]['_id']; @@ -358,7 +358,7 @@ _.extend(pgBrowser.browserTreeState, { selectedItem = selectedItem ? selectedItem.id : undefined; - if ('database' in treeHierarchy) { + if (treeHierarchy.hasOwnProperty('database')) { databaseItem = treeHierarchy['database']['id']; } @@ -379,7 +379,7 @@ _.extend(pgBrowser.browserTreeState, { tmpTreeData = treeData[treeHierarchy[this.parent]['_id']]; - if ('database' in treeHierarchy) { + if (treeHierarchy.hasOwnProperty('database')) { let databaseItem = treeHierarchy['database']['id']; if (tmpTreeData && 'selected' in tmpTreeData && databaseItem in tmpTreeData['selected']) { diff --git a/web/pgadmin/static/js/tree/tree.js b/web/pgadmin/static/js/tree/tree.js index d35317b34..8d04bd2d8 100644 --- a/web/pgadmin/static/js/tree/tree.js +++ b/web/pgadmin/static/js/tree/tree.js @@ -324,7 +324,9 @@ export class Tree { if (parent === this.rootNode) { node.parentNode = null; } - parent.children.push(node); + + if (parent !== null && parent !== undefined) + parent.children.push(node); return node; } diff --git a/web/pgadmin/tools/backup/static/js/backup.js b/web/pgadmin/tools/backup/static/js/backup.js index 28f435fed..3c36bff6a 100644 --- a/web/pgadmin/tools/backup/static/js/backup.js +++ b/web/pgadmin/tools/backup/static/js/backup.js @@ -200,7 +200,7 @@ define([ var t = pgBrowser.tree, i = t.selected(), d = i && i.length == 1 ? t.itemData(i) : undefined; - return d.version >= 110000; + return _.isUndefined(d) ? false : d.version >= 110000; } return true; }, @@ -392,9 +392,9 @@ define([ var t = pgBrowser.tree, i = t.selected(), d = i && i.length == 1 ? t.itemData(i) : undefined, - s = pgBrowser.Nodes[d._type].getTreeNodeHierarchy(i)['server']; + s = _.isUndefined(d) ? undefined : pgBrowser.Nodes[d._type].getTreeNodeHierarchy(i)['server']; - return s.version >= 110000; + return _.isUndefined(s) ? false : s.version >= 110000; }, }], }, { @@ -467,9 +467,9 @@ define([ var t = pgBrowser.tree, i = t.selected(), d = i && i.length == 1 ? t.itemData(i) : undefined, - s = pgBrowser.Nodes[d._type].getTreeNodeHierarchy(i)['server']; + s = _.isUndefined(d) ? undefined : pgBrowser.Nodes[d._type].getTreeNodeHierarchy(i)['server']; - return s.version >= 110000; + return _.isUndefined(s) ? false : s.version >= 110000; }, }], }, { @@ -519,9 +519,9 @@ define([ var t = pgBrowser.tree, i = t.selected(), d = i && i.length == 1 ? t.itemData(i) : undefined, - s = pgBrowser.Nodes[d._type].getTreeNodeHierarchy(i)['server']; + s = _.isUndefined(d) ? undefined : pgBrowser.Nodes[d._type].getTreeNodeHierarchy(i)['server']; - if (s.version >= 120000) + if (!_.isUndefined(s) && s.version >= 120000) return true; if (m.get('use_column_inserts') || m.get('use_insert_commands')) { diff --git a/web/pgadmin/tools/datagrid/static/js/show_data.js b/web/pgadmin/tools/datagrid/static/js/show_data.js index 81d61f658..04a2b46f2 100644 --- a/web/pgadmin/tools/datagrid/static/js/show_data.js +++ b/web/pgadmin/tools/datagrid/static/js/show_data.js @@ -46,7 +46,7 @@ export function showDataGrid( const gridUrl = generateUrl(transId, connectionData, node.getData(), parentData); const queryToolTitle = generateDatagridTitle(pgBrowser, aciTreeIdentifier); if(filter) { - initFilterDialog(alertify, pgBrowser, preferences); + initFilterDialog(alertify, pgBrowser); const validateUrl = generateFilterValidateUrl(node.getData(), parentData); diff --git a/web/pgadmin/tools/debugger/static/js/debugger.js b/web/pgadmin/tools/debugger/static/js/debugger.js index de8d08abc..9efed70e1 100644 --- a/web/pgadmin/tools/debugger/static/js/debugger.js +++ b/web/pgadmin/tools/debugger/static/js/debugger.js @@ -463,12 +463,13 @@ define([ i = item || t.selected(), d = i && i.length == 1 ? t.itemData(i) : undefined, node = d && pgBrowser.Nodes[d._type], - self = this, - is_edb_proc = d._type == 'edbproc'; + self = this; if (!d) return; + var is_edb_proc = d._type == 'edbproc'; + var treeInfo = node.getTreeNodeHierarchy.apply(node, [i]), _url = this.generate_url('init', treeInfo, node); diff --git a/web/pgadmin/tools/grant_wizard/static/js/grant_wizard.js b/web/pgadmin/tools/grant_wizard/static/js/grant_wizard.js index 4c98c32b5..24933f671 100644 --- a/web/pgadmin/tools/grant_wizard/static/js/grant_wizard.js +++ b/web/pgadmin/tools/grant_wizard/static/js/grant_wizard.js @@ -442,6 +442,8 @@ define([ d = this.d = i && i.length == 1 ? t.itemData(i) : undefined, info = this.info = pgBrowser.Node.getTreeNodeHierarchy(i); + if(_.isUndefined(d)) + return; /** Generate a URL using: gid, did, sid(server id), node_id(node id), diff --git a/web/pgadmin/tools/restore/static/js/restore.js b/web/pgadmin/tools/restore/static/js/restore.js index 7ab6c593b..2059434cf 100644 --- a/web/pgadmin/tools/restore/static/js/restore.js +++ b/web/pgadmin/tools/restore/static/js/restore.js @@ -272,9 +272,9 @@ define('tools.restore', [ var t = pgBrowser.tree, i = t.selected(), d = i && i.length == 1 ? t.itemData(i) : undefined, - s = pgBrowser.Nodes[d._type].getTreeNodeHierarchy(i)['server']; + s = _.isUndefined(d) ? undefined : pgBrowser.Nodes[d._type].getTreeNodeHierarchy(i)['server']; - return s.version >= 110000; + return _.isUndefined(s) ? false : s.version >= 110000; }, }], }, { diff --git a/web/regression/javascript/sqleditor/query_tool_actions_spec.js b/web/regression/javascript/sqleditor/query_tool_actions_spec.js index 3b56e1552..afdc6ab45 100644 --- a/web/regression/javascript/sqleditor/query_tool_actions_spec.js +++ b/web/regression/javascript/sqleditor/query_tool_actions_spec.js @@ -375,8 +375,8 @@ describe('queryToolActions', () => { beforeEach(() => { setUpSpies('', 'a string\nddd\nsss'); - sqlEditorController.gridView.query_tool_obj.getCursor = (isFrom) => { - return isFrom ? 3 : 3; + sqlEditorController.gridView.query_tool_obj.getCursor = () => { + return 3; }; }); @@ -422,8 +422,8 @@ describe('queryToolActions', () => { beforeEach(() => { setUpSpies('', 'a string\nddd\nsss'); - sqlEditorController.gridView.query_tool_obj.getCursor = (isFrom) => { - return isFrom ? 3 : 3; + sqlEditorController.gridView.query_tool_obj.getCursor = () => { + return 3; }; }); @@ -469,8 +469,8 @@ describe('queryToolActions', () => { beforeEach(() => { setUpSpies('', 'a string\nddd\nsss'); - sqlEditorController.gridView.query_tool_obj.getCursor = (isFrom) => { - return isFrom ? 3 : 3; + sqlEditorController.gridView.query_tool_obj.getCursor = () => { + return 3; }; }); @@ -514,8 +514,8 @@ describe('queryToolActions', () => { beforeEach(() => { setUpSpies('', 'a string\nddd\nsss'); - sqlEditorController.gridView.query_tool_obj.getCursor = (isFrom) => { - return isFrom ? 3 : 3; + sqlEditorController.gridView.query_tool_obj.getCursor = () => { + return 3; }; });