Commit Graph

200 Commits

Author SHA1 Message Date
Akshay Joshi
0ce3434631 Fixed code smell 'Update this function so that its implementation is not identical' reported by SonarQube. 2022-01-25 20:10:31 +05:30
Akshay Joshi
343c3ee49c Fixed following code smells reported by SonarQube:
1) Remove this redundant jump.
 2) Remove this commented out code.
 3) Variables should not be shadowed.
2022-01-21 18:54:23 +05:30
Akshay Joshi
1013d7ccdd Fixed code smell reported by SonarQube. 2022-01-20 16:58:21 +05:30
Akshay Joshi
9f836f5433 Fixed following code smells reported by SonarQube:
1) Immediately return this expression instead of assigning it to the temporary variable.
 2) Extract this nested ternary operation into an independent statement.
 3) Expected a `for-of` loop instead of a `for` loop with this simple iteration.
2022-01-18 14:49:54 +05:30
Akshay Joshi
e3807ec3d6 Fixed following code smells reported by SonarQube:
1) Boolean checks should not be inverted.
 2) Review this redundant assignment.
 3) Extract this nested ternary operation into an independent statement.
 4) Unexpected empty function.
 5) Immediately return this expression instead of assigning it to the temporary variable.
2022-01-17 13:56:01 +05:30
Akshay Joshi
4e414f57e6 Fixed code smell 'Default parameters should be last' reported by SonarQube. 2022-01-12 18:40:18 +05:30
Rahul Shirsat
6528d086ba Fixed review comments:
1. Split the restore options/backup options into 2 tabs
2. Restore icon changes
3. feature tests issues
4. restore help link broken
5. Comment section not visible

refs #7018
2022-01-06 16:46:44 +05:30
Akshay Joshi
2786f7ac5a Update copyright notices for 2022 2022-01-04 13:54:25 +05:30
Rahul Shirsat
603d91be0e Port Restore dialog to React. Fixes #7018 2021-12-28 13:45:59 +05:30
Akshay Joshi
92a997b16a Rearrange tools menu on the basis of usability and form groups of similar sub-menus. 2021-12-16 18:29:44 +05:30
Akshay Joshi
fd53e4f5f9 Replace Alertify alert and confirm with React-based model dialog. Fixes #7053 2021-12-07 18:52:40 +05:30
Nikhil Mohite
3dcee71a92 Resolved issue if the binary path is not present/correct, then show error notification to add/correct the binary path.
refs #6984
2021-11-24 17:28:04 +05:30
Akshay Joshi
d644b4f94e 1) Replace Flask-BabelEx with Flask-Babel. Fixes #6088
2) Upgrade Flask to version 2. Fixes #7010
2021-11-24 17:22:57 +05:30
Nikhil Mohite
3afeb8ca46 Port Backup Global, Backup Server, and Backup object dialog in React. Fixes #6984 2021-11-22 11:20:44 +05:30
Khushboo Vashi
483e2ca8d0 Port browser tree to React. Fixes #6129 2021-09-27 16:44:26 +05:30
Aditya Toshniwal
56e2af9efc Fixed test case failures. 2021-08-26 15:01:26 +05:30
Akshay Joshi
4bc4ca1ba9 1) Added browse button to select the binary path in the Preferences. Fixes #1561
2) Added support to set the binary path for the different database server versions. Fixes #5370
2021-06-04 17:55:35 +05:30
Khushboo Vashi
7275ce906e 1) Fixed an issue where the user is not warned if Kerberos ticket expiration
is less than 30 min while initiating a global backup. Fixes #6444

2) Ensure that proper identification should be there when the server is
   connected using Kerberos or without Kerberos. Fixes #6445
2021-05-14 12:33:01 +05:30
Khushboo Vashi
b30ec71098 Ensure that while connecting to the server using SSPI login, it should not prompt for the password. Fixes #5776 2021-05-05 11:40:48 +05:30
Khushboo Vashi
72f3730c34 Added support to connect PostgreSQL servers via Kerberos authentication. Fixes #6158 2021-05-03 16:10:45 +05:30
Pradip Parkale
8ae8fea6d2 Ensure that Backup and Restore should work on shared servers as some cases were failing due to initial changes.
Fixes #6385
2021-04-22 17:29:04 +05:30
Pradip Parkale
cb7bcaf939 Ensure that Backup and Restore should work on shared servers. Fixes #6385 2021-04-14 12:11:55 +05:30
Pramod Ahire
9e90350e44 Fixed jasmine test cases and added some missing messages for disabled menus. 2021-02-03 12:15:37 +05:30
Pramod Ahire
b948f43dda Added Quick Search functionality for menu items and help articles. Fixes #6148 2021-02-02 14:47:58 +05:30
Akshay Joshi
b372f08a59 Update copyright notices for 2021 2021-01-04 15:34:45 +05:30
Rahul Shirsat
be386e77f2 1) Fixed an issue where the process watcher dialog throws an error for
the database server which is already removed. Fixes #5985
2) Fixed cognitive complexity reported by SonarQube.
2020-11-12 17:47:21 +05:30
Akshay Joshi
5284a1c66b Fixed API test cases. 2020-10-27 11:15:45 +05:30
Rahul Shirsat
c2ad97d0ab Added support to download utility files at the client-side. Fixes #3318 2020-10-23 16:14:55 +05:30
Akshay Joshi
1c70a43b91 Fixed code smells 'Define a constant instead of duplicating this literal' reported by SonarQube. 2020-09-29 15:08:14 +05:30
Cyril Jouve
5a253f9053 Change the following to replace Python 2 code with Python 3:
1) Replace the deprecated unit test method.
2) Wraps filter usage in a list call.
3) Converts the old metaclass syntax to new.
4) Use range instead of xrange method.
5) Change Unicode to str.
6) Several other transformations.
7) Fixed change password test cases.
8) Use simplejson instead of plain JSON.
2020-08-31 16:45:31 +05:30
Aditya Toshniwal
e582ffca38 Fixed regression issue in taking backup of the table. Added some more test cases. 2020-08-25 18:06:38 +05:30
Aditya Toshniwal
275c671576 Fixed cognitive complexity issues reported by SonarQube. 2020-08-25 12:39:14 +05:30
Akshay Joshi
fbbbc36221 Fixed code smell 'Define a constant instead of duplicating this literal' reported by SonarQube. 2020-08-20 20:26:51 +05:30
Nikhil Mohite
93adf6884f Upgrade font awesome from v4 to v5. Fixes #5731 2020-08-13 12:04:00 +05:30
Yogesh Mahajan 
3672013ddc Fixed an issue where the error message does not have a close button on utility dialogs. Fixes #5670 2020-08-07 17:17:51 +05:30
Cyril Jouve
f93cfe8c4c Remove old Python 2 compatibility code. Fixes #5700 2020-07-27 11:03:13 +01:00
Nikhil Mohite
7edcca9b07 Added High Contrast theme support. Fixes #5653
Fixed text color issue in explain analyze for the Dark theme. Fixes #5677
2020-07-20 11:51:21 +05:30
Murtuza Zabuawala
2db9242f5c Fixed accessibility issue where few dialogs are not rendering properly
when we zoomed in browser window 200% and screen resolution is low.

Fixes #5662
2020-07-09 18:18:37 +05:30
Satish V
2ebf203412 Fixed issue of error message not getting displayed when filename is empty for backup, restore, and import/export. Fixes #3814. 2020-07-06 19:04:26 +05:30
Pradip Parkale
b30c590866 Fixed SonarQube code smell 'Rename function and variable name to match the regular expression'. 2020-07-01 13:50:51 +05:30
Khushboo Vashi
c7a16a4bd5 Fixed code smells having rule 'Nested blocks of code should not be left empty'. 2020-06-26 13:18:27 +05:30
Yogesh Mahajan
707ff450b5 Fixed following SonarQube issues:
1. Boolean checks should not be inverted.
2. The comma operator should not be used.
3. Arguments to built-in functions should match documented types.
4. Redundant pairs of parentheses should be removed.
5. A conditionally executed single line should be denoted by indentation, 
6. A while loop should be used instead of a 'for' loop.
2020-06-26 13:12:07 +05:30
Akshay Joshi
bc24e3643f More code cleanup for SonarQube. 2020-06-18 16:20:34 +01:00
Ashesh Vashi
e73e2d2502 Fixed the errors, and warnings reported by pylama.
TODO::
- Don't use unicode in Python 3 for removing the support of Python 2 (
  psycopg2 driver - __init__.py, server_manager.py).
- Merge the lastest pgcli (version: 3.0.0) for SQL autocompletion.
2020-05-08 14:13:38 +05:30
Akshay Joshi
a662d866af Ensure that 'With OID' option should be disabled while taking backup of database server version 12 and above. Fixes #4840 2020-05-07 11:56:43 +05:30
Dave Page
86afec860f Remove Python 2 support from the Python tests.
refs #5443
2020-04-30 12:56:45 +05:30
Aditya Toshniwal
b695329d2d Fixed API test cases for backup, restore and maintenance. 2020-04-27 21:17:34 +05:30
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