From 5a1795e4a0c0c97ebfcc30b207d69a7f142cf169 Mon Sep 17 00:00:00 2001 From: Khushboo Vashi Date: Fri, 21 Oct 2016 14:57:19 +0100 Subject: [PATCH] Fix quoting of objects names for external utilities. Fixes #1603, fixes #1220, fixes #1221 --- web/pgadmin/tools/backup/__init__.py | 6 +++--- .../tools/backup/templates/backup/js/backup.js | 6 +++--- web/pgadmin/tools/import_export/__init__.py | 8 +++++--- .../templates/import_export/js/import_export.js | 6 +++--- web/pgadmin/tools/maintenance/__init__.py | 2 +- .../templates/maintenance/js/maintenance.js | 12 ++++++------ .../tools/restore/templates/restore/js/restore.js | 14 +++++++------- 7 files changed, 28 insertions(+), 26 deletions(-) diff --git a/web/pgadmin/tools/backup/__init__.py b/web/pgadmin/tools/backup/__init__.py index 771b3ff36..acfc6e1a6 100644 --- a/web/pgadmin/tools/backup/__init__.py +++ b/web/pgadmin/tools/backup/__init__.py @@ -276,7 +276,7 @@ def create_backup_job(sid): server.username, '--no-password', '--database', - driver.qtIdent(conn, server.maintenance_db) + server.maintenance_db ] if 'role' in data and data['role']: args.append('--role') @@ -428,14 +428,14 @@ def create_backup_objects_job(sid): set_value('no_of_jobs', '--jobs', True) for s in data['schemas']: - args.extend(['--schema', driver.qtIdent(conn, s)]) + args.extend(['--schema', s]) for s, t in data['tables']: args.extend([ '--table', driver.qtIdent(conn, s, t) ]) - args.append(driver.qtIdent(conn, data['database'])) + args.append(data['database']) try: p = BatchProcess( diff --git a/web/pgadmin/tools/backup/templates/backup/js/backup.js b/web/pgadmin/tools/backup/templates/backup/js/backup.js index a13a31c19..9d86386ce 100644 --- a/web/pgadmin/tools/backup/templates/backup/js/backup.js +++ b/web/pgadmin/tools/backup/templates/backup/js/backup.js @@ -747,20 +747,20 @@ TODO LIST FOR BACKUP: var treeInfo = node.getTreeNodeHierarchy.apply(node, [i]); // Set current database into model - this.view.model.set('database', treeInfo.database.label); + this.view.model.set('database', treeInfo.database._label); // We will remove once object tree is implemented // If selected node is Schema then add it in model if(d._type == 'schema') { var schemas = []; - schemas.push(d.label); + schemas.push(d._label); this.view.model.set('schemas', schemas); } // If selected node is Table then add it in model along with // its schema if(d._type == 'table') { this.view.model.set( - 'tables', [[treeInfo.schema.label, d.label]] + 'tables', [[treeInfo.schema._label, d._label]] ); } diff --git a/web/pgadmin/tools/import_export/__init__.py b/web/pgadmin/tools/import_export/__init__.py index e1dc06109..29c0dd4c7 100644 --- a/web/pgadmin/tools/import_export/__init__.py +++ b/web/pgadmin/tools/import_export/__init__.py @@ -206,8 +206,11 @@ def create_import_export_job(sid): storage_dir = storage_dir.replace('/', '\\') data['filename'] = data['filename'].replace('\\', '\\\\') data['filename'] = os.path.join(storage_dir, data['filename'].lstrip('/')) - else: + elif storage_dir: data['filename'] = os.path.join(storage_dir, data['filename'].lstrip('/')) + else: + data['filename'] = data['filename'] + else: return make_json_response( data={'status': False, 'info': 'Please specify a valid file'} @@ -254,8 +257,7 @@ def create_import_export_job(sid): args = [ '--host', server.host, '--port', str(server.port), - '--username', server.username, '--dbname', - driver.qtIdent(conn, data['database']), + '--username', server.username, '--dbname', data['database'], '--command', query ] diff --git a/web/pgadmin/tools/import_export/templates/import_export/js/import_export.js b/web/pgadmin/tools/import_export/templates/import_export/js/import_export.js index f564a0ec0..612992c04 100644 --- a/web/pgadmin/tools/import_export/templates/import_export/js/import_export.js +++ b/web/pgadmin/tools/import_export/templates/import_export/js/import_export.js @@ -400,9 +400,9 @@ define( treeInfo = n.getTreeNodeHierarchy.apply(n, [i]) this.view.model.set({ - 'database': treeInfo.database.label, - 'schema': treeInfo.schema.label, - 'table': treeInfo.table.label + 'database': treeInfo.database._label, + 'schema': treeInfo.schema._label, + 'table': treeInfo.table._label }); var self = this, baseUrl = "{{ url_for('import_export.index') }}" + diff --git a/web/pgadmin/tools/maintenance/__init__.py b/web/pgadmin/tools/maintenance/__init__.py index 8853c8bdd..4229192f1 100644 --- a/web/pgadmin/tools/maintenance/__init__.py +++ b/web/pgadmin/tools/maintenance/__init__.py @@ -217,7 +217,7 @@ def create_maintenance_job(sid, did): args = [ '--host', server.host, '--port', str(server.port), '--username', server.username, '--dbname', - driver.qtIdent(conn, data['database']), + data['database'], '--command', query ] diff --git a/web/pgadmin/tools/maintenance/templates/maintenance/js/maintenance.js b/web/pgadmin/tools/maintenance/templates/maintenance/js/maintenance.js index 7a856b618..5fcf70cbf 100644 --- a/web/pgadmin/tools/maintenance/templates/maintenance/js/maintenance.js +++ b/web/pgadmin/tools/maintenance/templates/maintenance/js/maintenance.js @@ -295,21 +295,21 @@ define( var treeInfo = node.getTreeNodeHierarchy.apply(node, [i]); if (treeInfo.schema != undefined) { - schema = treeInfo.schema.label; + schema = treeInfo.schema._label; } if (treeInfo.table != undefined) { - table = treeInfo.table.label; + table = treeInfo.table._label; } if (treeInfo.primary_key != undefined) { - primary_key = treeInfo.primary_key.label; + primary_key = treeInfo.primary_key._label; } else if (treeInfo.unique_constraint != undefined) { - unique_constraint = treeInfo.unique_constraint.label; + unique_constraint = treeInfo.unique_constraint._label; } else if (treeInfo.index != undefined) { - index = treeInfo.index.label; + index = treeInfo.index._label; } - this.view.model.set({'database': treeInfo.database.label, + this.view.model.set({'database': treeInfo.database._label, 'schema': schema, 'table': table, 'primary_key': primary_key, diff --git a/web/pgadmin/tools/restore/templates/restore/js/restore.js b/web/pgadmin/tools/restore/templates/restore/js/restore.js index 2bc35e815..7064fa311 100644 --- a/web/pgadmin/tools/restore/templates/restore/js/restore.js +++ b/web/pgadmin/tools/restore/templates/restore/js/restore.js @@ -472,26 +472,26 @@ define([ var info = node.getTreeNodeHierarchy.apply(node, [i]), m = this.view.model; // Set current node info into model - m.set('database', info.database.label); + m.set('database', info.database._label); if (!m.get('custom')) { switch (d._type) { case 'schema': - m.set('schemas', d.label); + m.set('schemas', d._label); break; case 'table': - m.set('tables', [info.schema.label, d.label]); + m.set('tables', [info.schema._label, d._label]); break; case 'function': - m.set('functions', [info.schema.label, d.label]); + m.set('functions', [info.schema._label, d._label]); break; case 'index': - m.set('indexes', [info.schema.label, d.label]); + m.set('indexes', [info.schema._label, d._label]); break; case 'trigger': - m.set('triggers', [info.schema.label, d.label]); + m.set('triggers', [info.schema._label, d._label]); break; case 'trigger_func': - m.set('trigger_funcs', [info.schema.label, d.label]); + m.set('trigger_funcs', [info.schema._label, d._label]); break; } } else {