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 <
[email protected]> 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 <[email protected]>
> 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 }}",