Commit Graph

203 Commits

Author SHA1 Message Date
Libor M
6a9af07f7a Fixed gettext usage:
- fixed gettext usage with .format() only for original text with %s
  - fixed typos
  - fixed translation yes/no buttons in the dialog.
  - improved translating sentences without "connecting" words (eg. see web/pgadmin/dashboard/static/js/dashboard.js,
     word 'cancel' needs to be translated in the Czech language as 'zrušit' but in another sentence as 'zrušení')
  - added gettext for text translations.
2020-04-10 14:52:41 +05:30
Libor M
94864104e4 Added and fixed gettext usage for better translation coverage. Fixes #5284
1) Fixed usage gettext('') instead of _('') in javascript files.
  2) Fixed usage gettext('') instead of `${gettext('')}` in javascript files,
     because "pybabel extract" not support extracting from this syntax.
2020-03-24 11:14:05 +05:30
Akshay Joshi
6d766176c1 Fixed linter error. 2020-02-25 18:41:19 +05:30
Pradip Parkale
eaf4781f5f 1) Added accessibility support in AlertifyJS. Fixes #5154
2) Fix accessibility issue for the maximize button of the Alertify dialog. Fixes #5143
2020-02-25 18:23:36 +05:30
Aditya Toshniwal
915b09255c Added Python 3.8 support. Fixes #5179
1) Upgraded passlib==1.7.1 to passlib==1.7.2
2) Replace unmaintained Flask-Security with maintained Flask-Security-Too package, which is also compatible with python 3.8
3) Other compatibility code changes.
2020-02-18 12:10:38 +05:30
Dave Page
01c7636c75 Update copyright notices for 2020. 2020-01-02 14:43:50 +00:00
Nagesh Dhope
8c4dff057f Added aria-label attribute wherever missing for accessibility. 2020-01-01 10:37:17 +05:30
Aditya Toshniwal
2182dc3cc5 2 fixes for the backup dialogue when using directory format:
Ensure compression level is passed to pg_dump when backing up in directory format. Fixes #4482
Ensure the number of jobs can be specified when backing up in directory format. Fixes #4483
2019-10-25 13:21:53 +01:00
Aditya Toshniwal
d056a94f0c popen() function strips the quotes from the arguments, so backup fails
for the schema name that needs quoting.

Code is changed to add escapers.

Fixes #4590
2019-10-10 17:58:32 +05:30
Aditya Toshniwal
f16498a8a7 Optimize Webpack to improve overall performance.
Changes include:
1) Remove underscore-string and sprintf-js packages as we were using only %s. Instead, added a function to do the same. Also changed gettext to behave like sprintf directly.
2) backgrid.sizeable.columns was not used anywhere, removed. @babel/polyfill is deprecated, replaced it with core-js.
3) Moved few css to make sure they get minified and bundled.
4) Added Flask-Compress to send static files as compressed gzip. This will reduce network traffic and improve initial load time for pgAdmin.
5) Split few JS files to make code reusable.
6) Lazy load few modules like leaflet, wkx is required only if geometry viewer is opened. snapsvg loaded only when explain plan is executed. This will improve sqleditor initial opening time.

Reviewed By: Khushboo Vashi
Fixes #4701
2019-10-10 12:05:28 +05:30
Akshay Joshi
1e4fd552ac Ensure backup a partition table should not backup the whole database.
For the partition table same argument '--table' is used with pg_dump.

Fixes #3386
2019-10-07 16:32:37 +05:30
Dave Page
6b5ca07715 Fix external utility tests to run on Windows 2019-07-12 13:55:18 +01:00
Dave Page
3f4d5a687b Rename horribly named function. 2019-07-12 13:00:23 +01:00
Akshay Joshi
bf548dda3f Fix help links for backup globals and backup server. Fixes #4365 2019-06-17 13:27:21 +05:30
Khushboo Vashi
6f0eafb223 Fixed CSRF security vulnerability issue. per Alvin Lindstam. Fixes #4217
Initial patch by: Khushboo Vashi
Modified by: Ashesh Vashi and Murtuza Zabuawala
2019-05-28 10:59:51 +05:30
Khushboo Vashi
e4417229aa Update all Python and JS dependencies. Fixes #4019 2019-03-14 15:11:16 +00:00
Dave Page
841af6868d Fix paste issue during commit :-s 2019-02-18 17:08:18 +00:00
Murtuza Zabuawala
e2482d2294 Set the background colour for backform notes, and add an icon. Fixes #3948 2019-02-18 16:59:39 +00:00
Dave Page
1fc66406f5 Don't embed docs and external sites in iframes, to allow the external sites to set X-FRAME-OPTIONS = DENY for security. Fxies #3985 2019-02-12 16:07:38 +00:00
Khushboo Vashi
4a75053514 Clean up the unwanted extended versions of Backform Switch controls.
The Bootstrap Switch Control was extended only for alignment in most
places. IIntroduce a configurable option to set the necessary class
on the main div and also remove the extra extended controls.
2019-02-05 16:22:35 +00:00
Khushboo Vashi
dae8186c2a Replace Bootstrap switch with Bootstrap4 toggle to improve the performance. Fixes #3051 2019-02-04 11:31:48 +05:30
Cyril Jouve
cbd8f8236a Remove Python 2.6 code that's now obsolete. Fixes #3935 2019-01-31 13:47:56 +01:00
Murtuza Zabuawala
d9fc9fdc4d Ensure object names in external process dialogues are properly escaped. Fixes #3872 2019-01-24 16:34:18 +00:00
Harshal Dhumal
42c7ae372f Fixed dialog tab navigation for Backup and Restore dialog. Fixes regression of #3862 2019-01-24 17:15:12 +05:30
Aditya Toshniwal
7ac4e2a9d9 Fixed following issues:
- Process watcher made fixed width with header changes, time details rounded to 2 decimals
 - Query history will show "No query history" if no query fired. Query editor default size increased.
 - Fixed a bug where New folder create button not working when in List mode and No files/folder present.
 - Other minor improvements.
2019-01-16 11:55:08 +05:30
Akshay Joshi
8fb340d23b Fix ordering of VACUUM options which changed in PG11. Fixes #3836
While we're at it, fix the JSON handling in the maintenance/backup/restore routes.
2019-01-10 15:29:55 +05:30
Aditya Toshniwal
868622912e Fix help for the backup/restore dialogues. Fixes #3861 2019-01-10 11:20:42 +05:30
Aditya Toshniwal
7d765fea04 Further styling fixes. 2019-01-03 14:50:24 +00:00
Murtuza Zabuawala
e23d307c56 Update copyright notices for 2019 2019-01-02 15:54:12 +05:30
Aditya Toshniwal
86ecf9c84e Fixed following:
- Base font size changed from 0.815rem to 0.875rem, for navbar from 0.875rem to 0.925rem.
- Dialog sizes made consistent throughout the application. Now there are 3 size options for width and height each - sm, md, lg. Combination of any of these to be used hereafter
- Alignment fix for controls of Node properties dialogs which includes showing text and label in one line without dialog size change, checkbox alignment, switch control alignment at places and other minor improvements in other dialogs
- Error message design change in dialogs validation
- SQL Editor data grid editor popup design changes which were missed
- Design change for dashboard server activity grid
- Login page language dropdown color fix
- Properties accordion collapse design fix
- Help, Info icon fixed across all dialogs which were not working if clicked exactly on the text
- Added missing icon with buttons at few places
- Shadow behind the dialogs is increased to make it look clearly separated and depth.
- Control Alignment fix in maintenance dialog
- Min height of alertify dialogs set for better UX
- File dialog design fix when no files found
- Grant wizard fixes - Scroll bar visibility on first page, use full space for SQL generated on the last page
- Browser toolbar buttons changed to sync with SQL editor toolbar buttons
- Rounded corners for docker floating dialog (no properties)
- Renaming file in file dialog should show original file name
- SQL data grid text edit popup buttons behaviour was swapped. This is fixed.
- Import/Export dialog changes as per new design.
2019-01-02 15:07:59 +05:30
Ashesh Vashi
5799ac14ba Improvement in the look and feel of the whole application
Changed the SCSS/CSS for the below third party libraries to adopt the
new look 'n' feel:
- wcDocker
- Alertify dialogs, and notifications
- AciTree
- Bootstrap Navbar
- Bootstrap Tabs
- Bootstrap Drop-Down menu
- Backgrid
- Select2

Adopated the new the look 'n' feel for the dialogs, wizard, properties,
tab panels, tabs, fieldset, subnode control, spinner control, HTML
table, and other form controls.

- Font is changed to Roboto
- Using SCSS variables to define the look 'n' feel
- Designer background images for the Login, and Forget password pages in
  'web' mode
- Improved the look 'n' feel for the key selection in the preferences
  dialog
- Table classes consistency changes across the application
- File Open and Save dialog list view changes

Author(s): Aditya Toshniwal & Khushboo Vashi
2018-12-21 17:14:55 +05:30
Murtuza Zabuawala
660293456c Don't use a hard coded server ID for mocking! 2018-12-04 13:07:35 +00:00
Murtuza Zabuawala
f4f0fa0e47 Fix utility route check for Windows. 2018-12-04 10:46:59 +00:00
Murtuza Zabuawala
9a3047c89c Add API tests for utility check route. Fixes #3790 2018-11-30 09:56:41 +00:00
Akshay Joshi
0d5a6eeeff Ensure that utility existence check should work for schema and
other child objects while taking Backup/Restore. Fixes #3722
2018-10-25 18:55:21 +05:30
Akshay Joshi
6ddab02769 1) Fixed process watcher status message when user has stopped the process.
2) Saved the process state in sqlite database.
2018-10-25 17:03:34 +05:30
Akshay Joshi
2058cdf662 Fixed test cases for Utilities when default_binary_path is not provided in test_config file. 2018-10-22 13:22:35 +05:30
Akshay Joshi
6bc6bc7f60 Ensure that Utilities(Backup/Restore/Maintenence/Import-Export) should not be started
if binary path is wrong and also added 'Stop Process' button to cancel the process.
2018-10-22 12:35:53 +05:30
Dave Page
55cf0cf2f9 Fix message. 2018-10-10 13:30:55 +01:00
Aditya Toshniwal
0565f8dd78 Update to use Bootstrap 3 instead of Bootstrap 4. Fixes #3562 2018-10-10 12:43:26 +01:00
Akshay Joshi
0ab1305ddf 1. Added new backup/restore options for PostgreSQL 11. Fixes #3503
2. Ensure backup should work with '--data-only' and '--schema-only' for any format. Fixes #3347
3. Added supported "Dump Options" for "pg_dumpall" which was not there since pgAdmin 3.
4. Fixed issue where "--clean" should not clubbed with "--data-only" while taking backup.
5. Fixed "--oids" should not clubbed with "--inserts" or "--column-inserts" while taking backup.
2018-08-22 12:17:50 +05:30
Akshay Joshi
d68c967423 Fix passing of --globals-only to global backups. 2018-08-16 14:20:32 +01:00
Akshay Joshi
1fc82d328c Fix backup in directory format on Windows. 2018-07-17 13:04:28 +01:00
Khushboo Vashi
fb1ef9ac0b Properly support backups in Directory format. Fixes #3309 2018-06-29 15:14:37 +01:00
Akshay Joshi
7a06acb678 Allow the connection timeout to be configured on a per-server basis. Fixes #3388 2018-06-19 19:58:46 -04:00
Khushboo Vashi
ba8829b64f Further Python 2.6 fixes. 2018-06-15 15:03:53 +01:00
Khushboo Vashi
d1902cd639 Add Python API tests for execution of external utilities such as pg_dump. 2018-06-15 11:36:07 +01:00
Joao De Almeida Pereira
7dd6372eeb Extract the tests and refactor some of the methods.
Extract some of the ACI Tree functionalities, and decouple it from the
main source. Also - create some abstractions from the repeated code
around the enable/disable the schema children object create/edit/delete
functionalities, and also created the dialog wrappers for backup and
restore dialogs.

Reviewed by: Khushboo and Ashesh
Refactored by: Ashesh
2018-06-05 16:42:59 +05:30
Akshay Joshi
2b4605a9d3 Ensure backup/restore/maintenance work via SSH tunnels. Fixes #3355 2018-05-30 21:25:42 -04:00
Aditya Toshniwal
9f13865777 Update jQuery to 3.3.1. Fixes #3271
Patch by Aditya, with test enhancements from Anthony and Joao at Pivotal.
2018-05-25 16:26:37 +01:00
Khushboo Vashi
567f764234 Backup, Maintenance and Restore should not be started if database name contains "=" symbol. Fixes #1220 #1221 2018-05-07 15:09:12 +05:30
Murtuza Zabuawala
be055ce57d Update Python and JS modules. Fixes #3154 2018-04-04 10:47:01 +01:00
Khushboo Vashi
63ba3402e8 Ensure SSL options are pushed down to external tools like pg_dump. Fixes #3122 2018-03-15 07:35:47 -04:00
Dave Page
3c686d3fbe PEP-8 fixes 2018-03-13 17:30:07 -04:00
Khushboo Vashi
802269910c Fix unicode handling in the external process tools and show the complete command in the process viewer. Fixes #2963. Fixes #3157. 2018-03-13 16:45:20 -04:00
Harshal Dhumal
aa1849c13a Support tab navigation in dialogs. Fixes #2898 2018-02-27 11:18:36 +00:00
Murtuza Zabuawala
393ce53d2d Fix PEP8 issues in the Tools module. Fixes #3063 2018-01-26 16:54:21 +00:00
Ashesh Vashi
c32eb6bd37 Fixed the warnings/errors reported by eslint for all the static
javascripts.
2018-01-12 13:00:14 +05:30
Dave Page
89821c0d19 Update copyright notices for 2018. 2018-01-05 10:42:50 +00:00
Murtuza Zabuawala
bac9c77c4e Cleanup some inconsistent error dialog titles. Fixes #2098 2017-12-02 05:12:40 +00:00
Surinder Kumar
c7686dee05 Unset compression ratio if it is an empty string in Backup module. Fixes #2582 2017-08-17 16:35:42 +05:30
Akshay Joshi
e506fa1dbe Improved alertify notification logic. Remove AlertifyWrapper class and extend notification methods in alertify itself. 2017-07-31 18:59:44 +05:30
Surinder Kumar
6d5417709c Moved the javascripts of different modules from 'templates' to 'static' directory.
Moving the javascripts for the following modules:
 - About
 - Browser nodes
 - Dashboard
 - FileManager
 - Vendor/snap.svg
 - Preferences
 - Settings
 - Backup
 - Datagrid
 - Debugger
 - Sqleditor
 - Grant Wizard
 - Import & Export
 - Maintenance
 - Restore and
 - User Management
2017-07-27 17:25:08 +05:30
Surinder Kumar
4a91bcde30 Webpack all the things! Fixes #2135
This significantly speeds up loading of the application; in an average of 3 tests, v1.6
loaded in 11.5s in the runtime on a Mac, whilst the webpacked version of the code
loaded in 5.53s.
2017-07-18 15:13:17 +01:00
Akshay Joshi
c2fb0394bf Added support of Declarative Partitioning (Range, List) for PostgreSQL 10.
This allows the user to create partitioned table and it's partitions.

  - Edit partitions, Create/Listing of constraints, rules, triggers under partitions. (Implemented by Harshal)
  - Updating browser tree node when create/attach/detach partitions from table dialog.(Implemented by Ashesh)
2017-07-07 11:55:55 +05:30
Joao Pedro De Almeida Pereira
2a30a86e7d Update alertify alerts to use the styling defined in the styleguide. 2017-06-30 10:21:05 +01:00
Ashesh Vashi
4a46f7b1eb Using client-side 'url_for' implementation in the backup module. 2017-06-13 10:59:11 +05:30
Surinder Kumar
af43ccfc07 Teach dialogues about Escape to cancel, Enter to Save/OK, and F1 for help. Fixes #1535 2017-06-12 16:43:29 +01:00
Ashesh Vashi
ae80976689 Using the client-side translation using the client-side 'gettext'
implementation.

This is the first step towards 'Avoid creating the javascript modules
using Jinja templates'.
2017-06-07 15:53:05 +05:30
Murtuza Zabuawala
1cb2a62fa8 Ensure object names are properly escaped for external process management. Fixes #2405 2017-05-15 13:01:12 +01:00
Murtuza Zabuawala
155348d712 Fix the Backup module where it was not working if user changes its preference language other than english. Fixes #2354 2017-05-04 16:06:10 +01:00
Jonas Thelemann
37120bf199 (De)Capitalized strings to fit the common/usual format, corrected spelling, removed unnecessary characters. 2017-04-05 13:50:49 +01:00
Jonas Thelemann
65f21a8cd7 Replace all occurrences of "can not" with "cannot". 2017-04-05 13:38:14 +01:00
Surinder Kumar
aee1492d0d Correct some EDB Postgres Advanced Server branding. 2017-03-21 10:12:26 +00:00
Murtuza Zabuawala
bc63652811 Fix the issue where Import/Export was failing in linux runtime. Fixes #2166
Issue:
Changes done by Ashesh in pgAdmin4.py file for setting up PYTHONHOME variable to sys.prefix was applicable only for windows only.

Additionally I have also added exception handling for file provided by user for Backup/Restore/Import/Export.
2017-03-09 09:54:55 +00:00
Ashesh Vashi
f2fc1ceba8 Resolved quite a few file-system encoding/decoding related cases.
In order to resolve the non-ascii characters in path (in user directory,
storage path, etc) on windows, we have converted the path into the
short-path, so that - we don't need to deal with the encoding issues
(specially with Python 2).

We've resolved majority of the issues with this patch.
We still need couple issues to resolve after this in the same area.

TODO
* Add better support for non-ascii characters in the database name on
  windows with Python 3
* Improve the messages created after the background processes by
  different modules (such as Backup, Restore, Import/Export, etc.),
  which does not show short-paths, and xml representable characters for
  non-ascii characters, when found in the database objects, and the file
  PATH.

Fixes #2174, #1797, #2166, #1940

Initial patch by: Surinder Kumar
Reviewed by: Murtuza Zabuawala
2017-03-07 15:31:03 +05:30
Dave Page
f221194bcc Update copyright notices for 2017. 2017-01-04 13:33:32 +00:00
Khushboo Vashi
81841cdb3c Treat databases with datallowconn=false appropriately. Fixes #1801 2016-12-09 11:59:13 +00:00
Dave Page
29743ad3c4 Allow selection of process output and commands. 2016-11-18 12:05:19 +00:00
Khushboo Vashi
5a1795e4a0 Fix quoting of objects names for external utilities. Fixes #1603, fixes #1220, fixes #1221 2016-10-21 14:57:19 +01:00
Murtuza Zabuawala
013ff1090e Ensure PG/EPAS configuration warnings are shown appropriate for the server type. Fixes #1563 2016-08-18 17:18:20 +01:00
Harshal Dhumal
f78024808e Prevent the user attempting to run external commands if the bin path is not configured. Fixes #1177 2016-08-08 11:59:37 +01:00
Murtuza Zabuawala
06e881570a Fix numerous encoding issues. Fixes #1307. Fixes #1479 2016-07-26 15:05:14 +01:00
Dave Page
60659975ed Stop using deprecated imports. 2016-07-22 16:25:23 +01:00
Dave Page
7d0fe669ca Code tidy. 2016-06-21 14:21:06 +01:00
Dave Page
3026b470e9 Optimise Python imports. 2016-06-21 14:12:14 +01:00
Surinder Kumar
a563e17f9b Make the backup and restore dialogues non-modal. 2016-06-21 09:25:31 +01:00
Surinder Kumar
eb5a97bc3c Issue: Unable to create backup of database.
Regression of commit id: bc4703c5
2016-06-21 09:17:13 +01:00
Ashesh Vashi
3350eaceab Use the same layout mechanism used as in the panel using elementary
layout support in different dialogs. Fixes #1358.
2016-06-20 12:46:33 +05:30
Dave Page
05e7ee5a05 Second attempt at fixing the file handling code. Tested on Mac and Windows in both desktop and server modes. 2016-06-17 22:05:49 +01:00
Dave Page
fd6c43b393 String improvements. 2016-06-17 14:21:14 +01:00
Murtuza Zabuawala
bc4703c5b7 Fix the issue in backup/restore while selecting section-> data option, it was throwing error.. Fixes #1219 2016-06-17 14:01:30 +01:00
Dave Page
970d3aafbf Help buttons for various dialogues. 2016-06-13 16:17:36 +01:00
Ashesh Vashi
954163b495 Resolved an typo in Backup dialog.
Reported by Susan Douglas.
2016-06-01 15:39:54 +05:30
Ashesh Vashi
adcaeeeaf8 Resolved an typo in Backup dialog.
Reported by Susan Douglas.
2016-06-01 13:43:57 +05:30
Ashesh Vashi
dca6951e74 Fixes #1218 - Backup table not working.
Send parameters in proper format to work it well with table backup.

Thanks Fahar for reporting it.
2016-05-24 12:09:31 +05:30
Ashesh Vashi
0840e6af2d [Backup] Checking for 'only_data' parameter before accessing it.
Reported by Neel Patel
2016-05-24 12:02:49 +05:30
Akshay Joshi
3a9b331df6 Change the priority of Tools menu item 2016-05-19 13:53:49 +05:30
Ashesh Vashi
8bd17cb433 [Python 3 compatibility] Introduced a separate HTML safe string function
in 'utils' module, earlier the function -'escape(...)' was converting
the strings to bytes, and that's reason, it was not working on Python 3.
2016-05-16 11:58:42 +05:30
Ashesh Vashi
38bb45ec86 Adding backup as a allowed file type in the backup utility file-control 2016-05-16 02:19:41 +05:30
Ashesh Vashi
ca62825c90 Set PGPASSWORD environment variable from the process executor before running
the external utility.
2016-05-15 22:29:17 +05:30
Murtuza Zabuawala
2da3a710a1 Added support for restoring a tar/custom type backup file in a object.
Tweaked by Ashesh Vashi as below:
- Integrated it with the background process executor, and observer.
- Improved the message format of the backup module messages.
- Created an item in TODO list to list down the objects in the selected
  backup file.
2016-05-15 20:00:02 +05:30
Murtuza Zabuawala
8ca760ee2b Addd support for taking backup for the server.
Tweaked by Ashesh Vashi to integrate the backgroud process, and also
with some improvements as stated below:
* Resolved an issue loading existing preference.
* Improved the background process observer/executor for supporting
  detalied view.
* Added the utility path preferences in the ServerType class.
2016-05-15 16:04:39 +05:30