Hi Surinder, Thanks - it was committed!
As discussed personally, there are few improvement needed. * Do not show non applicable buttons, whenever no files/directory available in the storage root directory. * In crate mode, use dimmer with the overwrite warning, so that - it does not allow to deselect the current selection. * The default selection for the file type selection combo box should be other than 'All Files'. * File type selection combo box should support file type description. i.e. Query/SQL File (*.sql) CSV File (*.csv) All Files (*.* | *) Please put that in the TODO file, we will handle that in future. I must apologies for a mistake for not giving you the credit for the work, I forgot to set the author while committing it. I tried setting it again to set the author without any success. :-( Thanks for the patch. I will be more careful next time. -- Thanks & Regards, Ashesh Vashi EnterpriseDB INDIA: Enterprise PostgreSQL Company <http://www.enterprisedb.com> *http://www.linkedin.com/in/asheshvashi* <http://www.linkedin.com/in/asheshvashi> On Thu, May 12, 2016 at 12:18 AM, Surinder Kumar < surinder.ku...@enterprisedb.com> wrote: > Hi, > > PFA updated patch with following issues fixed: > 1. not listing files based on default file type selected. > 2. load css file using 'get_own_stylesheets' method instead of loading > from 'base.html'. > 3. setting custom dialog title and button not working. > > On Wed, May 11, 2016 at 3:03 PM, Surinder Kumar < > surinder.ku...@enterprisedb.com> wrote: > >> >> ---------- Forwarded message ---------- >> From: Surinder Kumar <surinder.ku...@enterprisedb.com> >> Date: Tue, May 10, 2016 at 11:43 PM >> Subject: Re: [pgadmin-hackers][pgAdmin4][Patch]: File Manager & Backform >> FileControl >> To: Neel Patel <neel.pa...@enterprisedb.com> >> Cc: pgadmin-hackers <pgadmin-hackers@postgresql.org> >> >> >> Hi, >> >> Please find updated path with couple of review comments given by Ashesh >> Vashi. >> 1. Add variable *STORAGE_DIR* in configuration settings which decides >> the directory to list when *File manager* is opens, previously >> we have provided this option in preferences which is removed due to >> security issues. >> 2. List all available Volumes by default when *STORAGE_DIR *is set to >> empty for *Windows* platform. >> 3. Also, added support to allow user to provide >> *Dialog title and custom name for primary(OK) button,* >> >> Usage: >> >> 1. Set variable *STORAGE_DIR *to some value in config.py. >> 2. Import it in your module as following: >> * import config* >> * config.**STORAGE_DIR* >> >> *Usage*: Backform FilleControl >> >> schema:[{ >> id: 'select_file', label: '{{ _('Select File')}}', >> type: 'text', *control*: *Backform.FileControl*, >> *dialog_type: '*select_file*'*, *supp_types: [*'*', 'pdf', 'text', >> 'patch', 'py'*],* >> * dialog_title: '*Title to appear on dialog*", * >> * btn_primary: '*Save File*'* >> }] >> >> Please review the patch. >> >> On Wed, May 4, 2016 at 6:35 PM, Surinder Kumar < >> surinder.ku...@enterprisedb.com> wrote: >> >>> Hi >>> >>> PFA updated patch with resolved review comments. >>> >>> On Thu, Apr 28, 2016 at 6:39 PM, Neel Patel <neel.pa...@enterprisedb.com >>> > wrote: >>> >>>> Hi Surinder, >>>> >>>> Please find additional comments as below. >>>> >>>> 1. In Windows OS, when we try to open the dialog with default >>>> preference value then it gives error as below. >>>> >>>> 2016-04-28 13:07:44,716: ERROR pgadmin: Exception on >>>> /file_manager/filemanager/2530270/ [POST] >>>> Traceback (most recent call last): >>>> File "C:\Projects\venv_python_2_7\Lib\site-packages\flask\app.py", >>>> line 1817, in wsgi_app >>>> response = self.full_dispatch_request() >>>> File "C:\Projects\venv_python_2_7\Lib\site-packages\flask\app.py", >>>> line 1477, in full_dispatch_request >>>> rv = self.handle_user_exception(e) >>>> File "C:\Projects\venv_python_2_7\Lib\site-packages\flask\app.py", >>>> line 1381, in handle_user_exception >>>> reraise(exc_type, exc_value, tb) >>>> File "C:\Projects\venv_python_2_7\Lib\site-packages\flask\app.py", >>>> line 1475, in full_dispatch_request >>>> rv = self.dispatch_request() >>>> File "C:\Projects\venv_python_2_7\Lib\site-packages\flask\app.py", >>>> line 1461, in dispatch_request >>>> return self.view_functions[rule.endpoint](**req.view_args) >>>> File "C:\Projects\venv_python_2_7\Lib\site-packages\flask_login.py", >>>> line 758, in decorated_view >>>> return func(*args, **kwargs) >>>> File >>>> "C:\Projects\pgadmin4\web\pgadmin\misc\file_manager\__init__.py", line 629, >>>> in file_manager >>>> return getattr(myFilemanager, mode)(**kwargs) >>>> File >>>> "C:\Projects\pgadmin4\web\pgadmin\misc\file_manager\__init__.py", line 421, >>>> in getfolder >>>> filelist = self.list_filesystem(dir, path, trans_data, file_type) >>>> File >>>> "C:\Projects\pgadmin4\web\pgadmin\misc\file_manager\__init__.py", line 331, >>>> in list_filesystem >>>> for f in sorted(os.listdir(orig_path)): >>>> WindowsError: [Error 161] The specified path is invalid: '//*.*' >>>> >>>> Now the default path will always be the users directory. I have used >>>> *os.path.expanduser('~') >>> *which prints user directory. It works for all operating systems. >>> >>>> >>>> 2. Folder having write only permission should not allow to read the >>>> directory. Same way read only permission folder should not allow to create >>>> the folder. Currently it gives below error. >>>> >>>> PermissionError: [Errno 13] Permission denied: >>>> '/home/neel/Projects/pgadmin4_file_manager/write_only_premission/' >>>> >>> Fixed. >>> >>>> >>>> 3. In Windows OS, when we open the file manager dialog, no directories >>>> listed though we have directories in the folder. Due to that we are not >>>> able to >>>> test all the functionality in windows. Once we fix this issue then >>>> we test all the functionality in windows OS. >>>> >>>> We debug the issue and found that issue is with the json response >>>> which includes the HTML tags. >>>> >>> Fixed. It still have issues in very older browsers. I will fix it. >>> >>>> >>>> 4. In Windows OS, file manager dialog have issue with layout. We are >>>> getting some margin at top before buttons. >>>> >>> Fixed. >>> >>>> >>>> 5. When we give any special characters to folder name that it gives >>>> error saying "Folder does not exist". >>>> Same is applicable when we give dialog_type to create_file >>>> >>> Fixed. >>> >>>> >>>> 6. In create_file mode, after giving the filename it should display the >>>> name of the file to text control. >>>> >>> Fixed. >>> >>>> >>>> 7. In create_file mode, when user gives the filename and click on the >>>> any blank area of dialog then name is getting cleared. >>>> >>> Fixed. >>> >>>> >>>> 8. When we upload the new file through file manager then it is not >>>> showing in the list though we have selected "All files" options. >>>> >>> Fixed. >>> >>>> >>>> 9. When we rename the folder in "Table mode" then font-family gets >>>> changed. It is not happened in "Grid" mode. >>>> >>> Fixed. >>> >>>> >>>> 10. When we try to download the file then it goes into loop and opens >>>> up 20-30 dialogs at the same time. >>>> >>> Fixed. >>> >>>> >>>> 11. "Rename" button is enabled even though we have not selected the >>>> files/folder to rename and when we click on the "Rename" button it gives >>>> below >>>> error. >>>> >>>> TypeError: orig_value is undefined >>>> >>> Fixed. >>> >>>> 12. "Delete" button is enabled even though we have not selected the >>>> files/folder to delete and when we click on the "Delete" button it gives >>>> below error. >>>> TypeError: path is undefined >>>> >>> Fixed. >>> >>>> >>>> Do let us know if you have queries. >>>> >>>> Thanks, >>>> Neel Patel >>>> >>>> On Wed, Apr 27, 2016 at 9:15 PM, Neel Patel < >>>> neel.pa...@enterprisedb.com> wrote: >>>> >>>>> Hi Surinder, >>>>> >>>>> I have applied the patch file and below are some observations. >>>>> >>>>> - When we create the new folder and hit the enter then we are >>>>> getting the below error. >>>>> >>>>> TypeError: argument of type 'NoneType' is not >>>>> iterable >>>>> >>>>> - I have just added the new control in "Import" dialog and >>>>> observed that new control is getting added in new tab called >>>>> "General". I >>>>> think it should not create the new "General" tab. >>>>> - "Select" and "Cancel" buttons font is different then other >>>>> dialogs. >>>>> >>>>> >>>>> Thanks, >>>>> Neel Patel >>>>> >>>>> On Wed, Apr 27, 2016 at 6:18 PM, Surinder Kumar < >>>>> surinder.ku...@enterprisedb.com> wrote: >>>>> >>>>>> Hi, >>>>>> >>>>>> The patch is for *File Manager and Backform FileControl*. >>>>>> >>>>>> *File Manager:* It allows user to store their files at one place. >>>>>> The user can set path to this directory in preferences which file manger >>>>>> will use. >>>>>> >>>>>> It will be used by various modules of pgAdmin4 such as >>>>>> *import data from file, query tool, backup & recovery tool* so on.. >>>>>> It allows user to perform various operations such as: >>>>>> >>>>>> - File deletion >>>>>> - File upload >>>>>> - Create new directory >>>>>> - File rename >>>>>> - File download and >>>>>> - List files & folders in list and grid view. >>>>>> >>>>>> *FileControl: *This control is used with *File Manager. *It can be >>>>>> used for: >>>>>> >>>>>> - File Selection >>>>>> - Folder Selection >>>>>> - File Creation >>>>>> - Storage Manager Dialog.( it supports all operations listed >>>>>> above). >>>>>> >>>>>> >>>>>> Usage*:* >>>>>> >>>>>> schema:[{ >>>>>> id: 'select_file', label: '{{ _('Select File')}}', >>>>>> type: 'text', *control*: *Backform.FileControl*, >>>>>> *dialog_type: 'select_file'*, *supp_types: ['*', 'pdf', 'text', >>>>>> 'patch', 'py']* >>>>>> } >>>>>> >>>>>> Where: >>>>>> >>>>>> - *control* - It should be *Backform.FileControl* >>>>>> - *dialog_type *- the type of dialog to use. >>>>>> - options can be: *select_file, select_folder, create_file & >>>>>> storage_dialog*. >>>>>> - *supp_types(*not mandatory) - the types of files allowed to >>>>>> show and upload. >>>>>> >>>>>> Please review the patch and let me know for the review comments. >>>>>> >>>>>> >>>>>> Thanks >>>>>> Surinder Kumar >>>>>> >>>>>> >>>>>> -- >>>>>> Sent via pgadmin-hackers mailing list (pgadmin-hackers@postgresql.org >>>>>> ) >>>>>> To make changes to your subscription: >>>>>> http://www.postgresql.org/mailpref/pgadmin-hackers >>>>>> >>>>>> >>>>> >>>> >>> >> >> > > > -- > Sent via pgadmin-hackers mailing list (pgadmin-hackers@postgresql.org) > To make changes to your subscription: > http://www.postgresql.org/mailpref/pgadmin-hackers > >