mirror of
https://github.com/pgadmin-org/pgadmin4.git
synced 2025-02-25 18:55:31 -06:00
Prevent the user attempting to run external commands if the bin path is not configured. Fixes #1177
This commit is contained in:
committed by
Dave Page
parent
8e099e29c3
commit
f78024808e
@@ -361,6 +361,48 @@ TODO LIST FOR BACKUP:
|
||||
|
||||
// Callback to draw Backup Dialog for globals/server
|
||||
start_backup_global_server: function(action, item, params) {
|
||||
var i = item || pgBrowser.tree.selected(),
|
||||
server_data = null;
|
||||
|
||||
while (i) {
|
||||
var node_data = pgBrowser.tree.itemData(i);
|
||||
if (node_data._type == 'server') {
|
||||
server_data = node_data;
|
||||
break;
|
||||
}
|
||||
|
||||
if (pgBrowser.tree.hasParent(i)) {
|
||||
i = $(pgBrowser.tree.parent(i));
|
||||
} else {
|
||||
alertify.alert("{{ _("Please select server or child node from tree.") }}");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (!server_data) {
|
||||
return;
|
||||
}
|
||||
|
||||
var module = 'paths',
|
||||
preference_name = 'pg_bin_dir',
|
||||
msg = '{{ _('Please configure the PostgreSQL Binary Path in the Preferences dialog.') }}';
|
||||
|
||||
if (server_data.server_type == 'ppas') {
|
||||
preference_name = 'ppas_bin_dir';
|
||||
msg = '{{ _('Please configure the EDB Advanced Server Binary Path in the Preferences dialog.') }}';
|
||||
}
|
||||
|
||||
var preference = pgBrowser.get_preference(module, preference_name);
|
||||
|
||||
if(preference) {
|
||||
if (!preference.value) {
|
||||
alertify.alert('{{ _("Configuration required") }}', msg);
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
alertify.alert(S('{{ _('Failed to load preference %s of module %s') }}').sprintf(preference_name, module).value());
|
||||
return;
|
||||
}
|
||||
|
||||
var of_type = undefined;
|
||||
|
||||
@@ -533,6 +575,50 @@ TODO LIST FOR BACKUP:
|
||||
|
||||
// Callback to draw Backup Dialog for objects
|
||||
backup_objects: function(action, treeItem) {
|
||||
|
||||
var i = treeItem || pgBrowser.tree.selected(),
|
||||
server_data = null;
|
||||
|
||||
while (i) {
|
||||
var node_data = pgBrowser.tree.itemData(i);
|
||||
if (node_data._type == 'server') {
|
||||
server_data = node_data;
|
||||
break;
|
||||
}
|
||||
|
||||
if (pgBrowser.tree.hasParent(i)) {
|
||||
i = $(pgBrowser.tree.parent(i));
|
||||
} else {
|
||||
alertify.alert("{{ _("Please select server or child node from tree.") }}");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (!server_data) {
|
||||
return;
|
||||
}
|
||||
|
||||
var module = 'paths',
|
||||
preference_name = 'pg_bin_dir',
|
||||
msg = '{{ _('Please set binary path for PostgreSQL Server from preferences.') }}';
|
||||
|
||||
if (server_data.server_type == 'ppas') {
|
||||
preference_name = 'ppas_bin_dir';
|
||||
msg = '{{ _('Please set binary path for EDB Advanced Server from preferences.') }}';
|
||||
}
|
||||
|
||||
var preference = pgBrowser.get_preference(module, preference_name);
|
||||
|
||||
if(preference) {
|
||||
if (!preference.value) {
|
||||
alertify.alert(msg);
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
alertify.alert(S('{{ _('Failed to load preference %s of module %s') }}').sprintf(preference_name, module).value());
|
||||
return;
|
||||
}
|
||||
|
||||
var title = S('{{ 'Backup (%s: %s)' }}'),
|
||||
tree = pgBrowser.tree,
|
||||
item = treeItem || tree.selected(),
|
||||
|
||||
@@ -298,6 +298,49 @@ define(
|
||||
Open the dialog for the import functionality
|
||||
*/
|
||||
callback_import_export: function(args, item) {
|
||||
var i = item || pgBrowser.tree.selected(),
|
||||
server_data = null;
|
||||
|
||||
while (i) {
|
||||
var node_data = pgBrowser.tree.itemData(i);
|
||||
if (node_data._type == 'server') {
|
||||
server_data = node_data;
|
||||
break;
|
||||
}
|
||||
|
||||
if (pgBrowser.tree.hasParent(i)) {
|
||||
i = $(pgBrowser.tree.parent(i));
|
||||
} else {
|
||||
Alertify.alert("{{ _("Please select server or child node from tree.") }}");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (!server_data) {
|
||||
return;
|
||||
}
|
||||
|
||||
var module = 'paths',
|
||||
preference_name = 'pg_bin_dir',
|
||||
msg = '{{ _('Please configure the PostgreSQL Binary Path in the Preferences dialog.') }}';
|
||||
|
||||
if (server_data.server_type == 'ppas') {
|
||||
preference_name = 'ppas_bin_dir';
|
||||
msg = '{{ _('Please configure the EDB Advanced Server Binary Path in the Preferences dialog.') }}';
|
||||
}
|
||||
|
||||
var preference = pgBrowser.get_preference(module, preference_name);
|
||||
|
||||
if(preference) {
|
||||
if (!preference.value) {
|
||||
Alertify.alert('{{ _("Configuration required") }}', msg);
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
Alertify.alert(S('{{ _('Failed to load preference %s of module %s') }}').sprintf(preference_name, module).value());
|
||||
return;
|
||||
}
|
||||
|
||||
var self = this;
|
||||
var input = args || {},
|
||||
t = pgBrowser.tree,
|
||||
|
||||
@@ -187,8 +187,51 @@ define(
|
||||
Open the dialog for the maintenance functionality
|
||||
*/
|
||||
callback_maintenace: function(args, item) {
|
||||
var self = this;
|
||||
var input = args || {},
|
||||
var i = item || pgBrowser.tree.selected(),
|
||||
server_data = null;
|
||||
|
||||
while (i) {
|
||||
var node_data = pgBrowser.tree.itemData(i);
|
||||
if (node_data._type == 'server') {
|
||||
server_data = node_data;
|
||||
break;
|
||||
}
|
||||
|
||||
if (pgBrowser.tree.hasParent(i)) {
|
||||
i = $(pgBrowser.tree.parent(i));
|
||||
} else {
|
||||
Alertify.alert("{{ _("Please select server or child node from tree.") }}");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (!server_data) {
|
||||
return;
|
||||
}
|
||||
|
||||
var module = 'paths',
|
||||
preference_name = 'pg_bin_dir',
|
||||
msg = '{{ _('Please configure the PostgreSQL Binary Path in the Preferences dialog.') }}';
|
||||
|
||||
if (server_data.server_type == 'ppas') {
|
||||
preference_name = 'ppas_bin_dir';
|
||||
msg = '{{ _('Please configure the EDB Advanced Server Binary Path in the Preferences dialog.') }}';
|
||||
}
|
||||
|
||||
var preference = pgBrowser.get_preference(module, preference_name);
|
||||
|
||||
if(preference) {
|
||||
if (!preference.value) {
|
||||
Alertify.alert('{{ _("Configuration required") }}', msg);
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
Alertify.alert(S('{{ _('Failed to load preference %s of module %s') }}').sprintf(preference_name, module).value());
|
||||
return;
|
||||
}
|
||||
|
||||
var self = this,
|
||||
input = args || {},
|
||||
t = pgBrowser.tree,
|
||||
i = item || t.selected(),
|
||||
d = i && i.length == 1 ? t.itemData(i) : undefined,
|
||||
|
||||
@@ -286,6 +286,50 @@ define([
|
||||
},
|
||||
// Callback to draw Backup Dialog for objects
|
||||
restore_objects: function(action, treeItem) {
|
||||
|
||||
var i = treeItem || pgBrowser.tree.selected(),
|
||||
server_data = null;
|
||||
|
||||
while (i) {
|
||||
var node_data = pgBrowser.tree.itemData(i);
|
||||
if (node_data._type == 'server') {
|
||||
server_data = node_data;
|
||||
break;
|
||||
}
|
||||
|
||||
if (pgBrowser.tree.hasParent(i)) {
|
||||
i = $(pgBrowser.tree.parent(i));
|
||||
} else {
|
||||
alertify.alert("{{ _("Please select server or child node from tree.") }}");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (!server_data) {
|
||||
return;
|
||||
}
|
||||
|
||||
var module = 'paths',
|
||||
preference_name = 'pg_bin_dir',
|
||||
msg = '{{ _('Please configure the PostgreSQL Binary Path in the Preferences dialog.') }}';
|
||||
|
||||
if (server_data.server_type == 'ppas') {
|
||||
preference_name = 'ppas_bin_dir';
|
||||
msg = '{{ _('Please configure the EDB Advanced Server Binary Path in the Preferences dialog.') }}';
|
||||
}
|
||||
|
||||
var preference = pgBrowser.get_preference(module, preference_name);
|
||||
|
||||
if(preference) {
|
||||
if (!preference.value) {
|
||||
alertify.alert('{{ _("Configuration required") }}', msg);
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
alertify.alert(S('{{ _('Failed to load preference %s of module %s') }}').sprintf(preference_name, module).value());
|
||||
return;
|
||||
}
|
||||
|
||||
var title = S('{{ 'Restore (%s: %s)' }}'),
|
||||
tree = pgBrowser.tree,
|
||||
item = treeItem || tree.selected(),
|
||||
|
||||
Reference in New Issue
Block a user