Hi Aditya, Thanks for the feedback. Here is an updated patch, regarding the same.
Please Review. PFA. On Mon, Apr 27, 2020 at 9:05 AM Aditya Toshniwal < aditya.toshni...@enterprisedb.com> wrote: > Hi Yogesh, > > Just did an eyeball review. You've included homedir path in the response > rendered JS file. You're exposing underlying directory structure to users > even in server mode. This is not appropriate. This info should remain at > the server and not at the client side. > + homedir=os.path.expanduser('~'), > > On Fri, Apr 24, 2020 at 7:26 PM Yogesh Jain <yogesh.j...@enterprisedb.com> > wrote: > >> Hi Hackers, >> >> Attached is the patch to fix the issue with the file browser Home button. >> >> FYI : While clicking on the home button it was pointing to the user's >> root directory rather than home directory, which is fixed in this patch. >> >> Please review. >> PFA. >> >> -- >> Regards, >> Yogesh Jain >> 8982696654 >> > > > -- > Thanks and Regards, > Aditya Toshniwal > pgAdmin Hacker | Sr. Software Engineer | EnterpriseDB India | Pune > "Don't Complain about Heat, Plant a TREE" > -- Regards, Yogesh Jain 8982696654
diff --git a/web/pgadmin/misc/file_manager/__init__.py b/web/pgadmin/misc/file_manager/__init__.py index 39aa39315..6ec75716e 100644 --- a/web/pgadmin/misc/file_manager/__init__.py +++ b/web/pgadmin/misc/file_manager/__init__.py @@ -249,13 +249,14 @@ def file_manager_config(trans_id): pref = Preferences.module('file_manager') file_dialog_view = pref.preference('file_dialog_view').get() show_hidden_files = pref.preference('show_hidden_files').get() - + homedir ='/' if(config.SERVER_MODE) else os.path.expanduser('~') return Response(response=render_template( "file_manager/js/file_manager_config.json", _=gettext, data=data, file_dialog_view=file_dialog_view, - show_hidden_files=show_hidden_files + show_hidden_files=show_hidden_files, + homedir=homedir ), status=200, mimetype="application/json" diff --git a/web/pgadmin/misc/file_manager/static/js/utility.js b/web/pgadmin/misc/file_manager/static/js/utility.js index 353baf560..181f75abb 100644 --- a/web/pgadmin/misc/file_manager/static/js/utility.js +++ b/web/pgadmin/misc/file_manager/static/js/utility.js @@ -1141,14 +1141,11 @@ define([ setTimeout(function() { var b = $('.currentpath').val(), - $level_up = $('.file_manager').find('button.level-up'), - $home_btn = $('.file_manager').find('button.home'); + $level_up = $('.file_manager').find('button.level-up'); if (b === '/') { $level_up.attr('disabled', 'disabled'); - $home_btn.attr('disabled', 'disabled'); } else { - $home_btn.removeAttr('disabled'); $level_up.removeAttr('disabled'); } }, 100); @@ -1343,8 +1340,7 @@ define([ $('.delete_item, .fileinfo .fm_dimmer').hide(); }); - // Disable home button on load - $('.file_manager').find('button.home').attr('disabled', 'disabled'); + // Disable button on load $('.file_manager').find('button.rename').attr('disabled', 'disabled'); // stop click event on dimmer click @@ -1382,7 +1378,7 @@ define([ $('.file_manager .home').on('click', function() { var currentViewMode = $('.fileinfo').data('view'); $('.fileinfo').data('view', currentViewMode); - getFolderInfo('/'); + getFolderInfo(config.options.homedir); enab_dis_level_up(); }); diff --git a/web/pgadmin/misc/file_manager/templates/file_manager/js/file_manager_config.json b/web/pgadmin/misc/file_manager/templates/file_manager/js/file_manager_config.json index b29fcfb5f..3a7ed8d5c 100644 --- a/web/pgadmin/misc/file_manager/templates/file_manager/js/file_manager_config.json +++ b/web/pgadmin/misc/file_manager/templates/file_manager/js/file_manager_config.json @@ -11,7 +11,8 @@ "capabilities": [{% for i in data.capabilities %}{% if loop.index != 1 %}, {% endif %}"{{i}}"{% endfor %}], "allowed_file_types": [{% for i in data.supported_types %}{% if loop.index != 1 %}, {% endif %}"{{i}}"{% endfor %}], "platform_type": "{{ data.platform_type }}", - "show_volumes": {% if data.show_volumes %}true{% else %}false{% endif %} + "show_volumes": {% if data.show_volumes %}true{% else %}false{% endif %}, + "homedir":"{{homedir}}" }, "security": { "uploadPolicy": "{{ data.security.uploadPolicy }}",