diff --git a/web/pgadmin/misc/file_manager/__init__.py b/web/pgadmin/misc/file_manager/__init__.py index 668866940..968ed4041 100644 --- a/web/pgadmin/misc/file_manager/__init__.py +++ b/web/pgadmin/misc/file_manager/__init__.py @@ -245,6 +245,9 @@ class Filemanager(object): ) self.dir = get_storage_directory() + if self.dir is not None and isinstance(self.dir, list): + self.dir = "" + @staticmethod def create_new_transaction(params): """ diff --git a/web/pgadmin/misc/file_manager/templates/file_manager/js/file_manager.js b/web/pgadmin/misc/file_manager/templates/file_manager/js/file_manager.js index 7d6eb3b7f..aa23b5699 100644 --- a/web/pgadmin/misc/file_manager/templates/file_manager/js/file_manager.js +++ b/web/pgadmin/misc/file_manager/templates/file_manager/js/file_manager.js @@ -138,7 +138,9 @@ define([ sel_file = $('.fileinfo tbody tr.selected td p span').attr('title'); } var newFile = $('.currentpath').val() + sel_file; - + if (newFile.indexOf('/') == 0) { + newFile = newFile.substr(1); + } pgAdmin.Browser.Events.trigger('pgadmin-storage:finish_btn:storage_dialog', newFile); } removeTransId(trans_id); @@ -249,7 +251,9 @@ define([ sel_file = $('.fileinfo tbody tr.selected td p span').attr('title'); } var newFile = $('.currentpath').val() + sel_file; - + if (newFile.indexOf('/') == 0) { + newFile = newFile.substr(1); + } pgAdmin.Browser.Events.trigger('pgadmin-storage:finish_btn:select_file', newFile); } removeTransId(trans_id); @@ -360,7 +364,9 @@ define([ sel_file = $('.fileinfo tbody tr.selected td p span').attr('title'); } var newFile = $('.currentpath').val() + sel_file; - + if (newFile.indexOf('/') == 0) { + newFile = newFile.substr(1); + } pgAdmin.Browser.Events.trigger('pgadmin-storage:finish_btn:select_folder', newFile); } removeTransId(trans_id); @@ -469,7 +475,9 @@ define([ $('.replace_file, .fm_dimmer').hide(); var selected_item = $('.allowed_file_types .create_input input[type="text"]').val(), newFile = $('.currentpath').val() + selected_item; - + if (newFile.indexOf('/') == 0) { + newFile = newFile.substr(1); + } pgAdmin.Browser.Events.trigger('pgadmin-storage:finish_btn:create_file', newFile); $('.file_manager_create_cancel').trigger('click'); }); @@ -509,7 +517,9 @@ define([ if (closeEvent.button.text == "{{ _('Create') }}") { var selected_item = $('.allowed_file_types .create_input input[type="text"]').val(); var newFile = $('.currentpath').val() + selected_item; - + if (newFile.indexOf('/') == 0) { + newFile = newFile.substr(1); + } if(!_.isUndefined(selected_item) && selected_item !== '' && this.is_file_exist()) { this.replace_file(); closeEvent.cancel = true; diff --git a/web/pgadmin/tools/sqleditor/__init__.py b/web/pgadmin/tools/sqleditor/__init__.py index 8fcece2ef..ddc4e235d 100644 --- a/web/pgadmin/tools/sqleditor/__init__.py +++ b/web/pgadmin/tools/sqleditor/__init__.py @@ -1120,6 +1120,8 @@ def load_file(): # retrieve storage directory path storage_manager_path = get_storage_directory() + if storage_manager_path is None: + storage_manager_path = "" # generate full path of file file_path = os.path.join( diff --git a/web/pgadmin/utils/paths.py b/web/pgadmin/utils/paths.py index 0a7700885..e861baee5 100644 --- a/web/pgadmin/utils/paths.py +++ b/web/pgadmin/utils/paths.py @@ -18,7 +18,7 @@ import config def get_storage_directory(): if config.SERVER_MODE is not True: - return '/' + return None storage_dir = getattr( config, 'STORAGE_DIR', @@ -30,7 +30,7 @@ def get_storage_directory(): ) if storage_dir is None: - return '/' + return None username = current_user.email.split('@')[0] if len(username) == 0 or username[0].isdigit():