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 }}",

Reply via email to