Commit Graph

433 Commits

Author SHA1 Message Date
Aditya Toshniwal
b82e6dbdb8 1) Added email id validation on the login page.
2) Added validation for the file manager.
2020-09-11 19:55:19 +05:30
Aditya Toshniwal
796a8a013a 1) Changing the state of the react directly is not recommended, so avoid changing it directly.
2) Fixed API test cases.
2020-09-09 13:08:58 +05:30
Aditya Toshniwal
535739c0c7 Fixed cognitive complexity issues reported by SonarQube. 2020-09-09 11:25:43 +05:30
Nikhil Mohite
72f0e87367 Fixed cognitive complexity issues reported by SonarQube. 2020-09-09 11:20:17 +05:30
Pradip Parkale
4da4a05611 Fixed code smell 'Remove duplicates string literals'. 2020-09-07 17:56:02 +05:30
Khushboo Vashi
31bbdd6a12 Fixed code smell 'String literals should not be duplicated'. 2020-09-03 18:35:58 +05:30
Pradip Parkale
b562ab7681 Added shared server support for admin users. Fixes #4979 2020-09-03 12:59:28 +05:30
Aditya Toshniwal
8f3bdf1cf3 Fixed cognitive complexity issues reported by SonarQube. 2020-09-02 14:39:54 +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
Yogesh Mahajan
3984544bdb Fixed code smell 'String literals should not be duplicated'. 2020-08-28 18:17:27 +05:30
Nikhil Mohite
d2577e32e6 Fixed cognitive complexity issues reported by SonarQube. 2020-08-25 18:13:01 +05:30
Akshay Joshi
103b08c9c5 Define constants for preferences label to fix SonarQube issues. 2020-08-20 17:58:37 +05:30
Khushboo Vashi
cc5a7ea334 Fixed code smell 'String literals should not be duplicated'.
Create a constant.py file which contains the common Constants.
2020-08-19 14:16:02 +05:30
Cyril Jouve
36574b25b6 The 'str' object never has attribute decode in Python3, so remove the dead code. 2020-08-12 18:55:35 +05:30
Aditya Toshniwal
caeea7940a Fixed errors occurring when saving preferences, regression of SonarQube fixes. 2020-08-12 17:42:53 +05:30
Yogesh Mahajan
1f70385a4e Fixed an issue where conversion of bytea to the binary string results in an error. Fixes #5567 2020-08-11 15:31:14 +05:30
Aditya Toshniwal
8129df42da Fixed cognitive complexity issues reported by SonarQube. 2020-08-11 15:13:35 +05:30
Cyril Jouve
7a0bfecfc5 Use Python3 'ipaddress' module to validate the IPv4 and IPv6 addresses. 2020-08-10 15:57:25 +05:30
Aditya Toshniwal
d6400bbcae Replace the generic exception class with a more specific one. 2020-08-07 12:37:00 +05:30
Akshay Joshi
aac0da4cbc Fixed ssh tunnel hang issue when the user tries to disconnect the server. Fixes #4361 2020-08-06 16:16:37 +05:30
Aditya Toshniwal
aa679e06b2 Replace the generic exception class with a more specific one to fix SonarQube issues. 2020-08-05 12:41:28 +05:30
Aditya Toshniwal
536593bf8a Fixed following SonarQube issues:
- Remove this assignment to the local variable, the value is never used.
  - Rename local variables to match the regular expression
  - Add logic to this except clause or eliminate it and rethrow the exception automatically.
  - Rename fields to match the regular expression
  - Extract this nested conditional expression into an independent statement.
  - Change this default value to "None" and initialize this parameter inside the function/method.
  - Update this function so that its implementation is not identical to __repr__
  - Refactor this method to not always return the same value
  - Reraise this exception to stop the application as the user expects
  - Add missing parameters _w _PY3. This method overrides simplejson.decoder.JSONDecoder.decode.
  - Remove this redundant continue.
  - Remove this unused function declaration
  - Remove this identity check; it will always be False.
2020-08-03 12:59:51 +05:30
Nikhil Mohite
eb2c554601 Fixed cognitive complexity issues reported by SonarQube. 2020-08-03 12:46:34 +05:30
Aditya Toshniwal
56cf64ad22 Fixed following SonarQube issues:
- Refactor functions to not always return the same value.
  - Rename "cls" to "self" or add the missing "self" parameter.
  - Remove useless assignment to variables.
2020-07-30 14:04:22 +05:30
Cyril Jouve
f93cfe8c4c Remove old Python 2 compatibility code. Fixes #5700 2020-07-27 11:03:13 +01:00
Yogesh Mahajan
dd27e08a98 Fixed code smell 'Unused local variables should be removed'. 2020-07-24 12:15:29 +05:30
Aditya Toshniwal
505a3ac960 1) Fixed cognitive complexity issues reported by SonarQube.
2) Fixed code smell 'Add a nested comment explaining why this method is
   empty, or complete the implementation'.
2020-07-24 11:46:30 +05:30
Aditya Toshniwal
bd15d2d0f7 Fixed CSRF errors when pgAdmin opened in an iframe on safari browser. Fixes #5675 2020-07-17 15:31:04 +05:30
Khushboo Vashi
bd9dc97b4f Fixed code smell 'Functions, methods, and lambdas should not have too many parameters' reported by SonarQube. 2020-07-14 19:23:50 +05:30
Ashesh Vashi
1889c256e1 Fixed a typo in the psycopg2 driver in fetching result with
'execute_scalar' while attempting to reconnect.
2020-07-13 22:45:01 +05:30
Aditya Toshniwal
357a9179b1 Fixed convention related issues reported by SonarQube. 2020-07-09 18:55:33 +05:30
Yogesh Mahajan
3c08e618bd Fixed an issue where CSV download quotes numeric columns. Fixes #5463 2020-07-09 18:11:46 +05:30
Akshay Joshi
102d6e7a9a Fixed an issue where panels get disappeared. Regression of SonarQube fix. 2020-06-29 14:05:07 +05:30
Akshay Joshi
b91f6f0f5c Fixed an issue where the semicolon is misplaced in RLS Policy SQL.
Fixed one regression issue introduced by renaming the method 'gc' to 'gc_timeout'.
2020-06-26 19:24:54 +05:30
Satish V
830ac1cc91 Fixed following SonarQube issues:
1. Method/Field names should comply with a naming convention.
 2. Conditionals should start on new lines
2020-06-26 13:32:45 +05:30
Pradip Parkale
5206dafb35 Fixed code smells having rule 'Rename class name to match the regular expression'. 2020-06-26 13:23:23 +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
Aditya Toshniwal
d3b3d07f2e Fixed SonarQube issues with the tag unused. All the unused variables, assignments, code comments are fixed. 2020-06-25 11:09:43 +05:30
Satish V
a1fd9ea3ce Fixed issue related to extra semicolons and function naming convention reported by SonarQube. 2020-06-24 16:16:12 +05:30
Yogesh Mahajan
caebdcfa91 Ensure that the query tool should display the proper error message while terminating the active session. Fixes #3591 2020-06-22 17:09:10 +05:30
Aditya Toshniwal
df05efd7d9 Fixed vulnerabilities and few design suspicions where two conditional structures are having the same implementation. 2020-06-17 17:15:09 +05:30
Aditya Toshniwal
641f7bbe9d Some clumsy coding related fixes reported by SonarQube. 2020-06-15 16:50:07 +05:30
Yogesh Mahajan
92d9c41da7 Fixed connection and version number detection issue when the database server is upgraded. Fixes #5507 2020-06-04 18:18:11 +05:30
Satish V
d22e276586 Ensure that proper error should be displayed for the deleted node. Fixes #3669 2020-06-03 11:26:26 +05:30
Yogesh Mahajan
09b76b306c Fixed typo in exception keyword. Fixes #5539 2020-05-28 18:11:41 +05:30
Khushboo Vashi
0f56c25893 Changed the user identity from email to username in the log file.
refs #5452
2020-05-18 11:01:20 +05:30
Akshay Joshi
c0451cd454 Added connected pgAdmin user and connection name in the log file. Fixes #5452
Patch By: Nico T
2020-05-13 17:43:21 +05:30
Akshay Joshi
0620fafb6c Fixed PEP8 issues discovered after pycodestyle gets upgraded. 2020-05-13 17:14:32 +05:30
Akshay Joshi
46e9924ebb Fixed Unicode decode error 'utf-8' codec can't decode byte. Fixes #5510
It's a regression of commit id: 04d6d4e2ccc129baa698471ce0680ccabe2282be
2020-05-12 17:22:22 +05:30
Yogesh Mahajan
1294c089a8 Implement Selenium Grid to run multiple tests across different browsers, operating systems, and machines in parallel. Fixes #5255 2020-05-11 12:11:31 +05:30
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
Khushboo Vashi
d68e6bd892 Remove Python2 modules.
refs #5443
2020-05-08 12:28:21 +05:30
Dave Page
04d6d4e2cc Remove support for Python 2. Fixes #5443 2020-05-04 14:58:49 +01:00
Akshay Joshi
ad80217593 Remove Python2 references from the source code.
refs #5443

Initial patch: Neel Patel
2020-04-30 17:22:48 +05:30
Dave Page
86afec860f Remove Python 2 support from the Python tests.
refs #5443
2020-04-30 12:56:45 +05:30
Khushboo Vashi
0f6abcc7fa Fixed an issue where the user is not able to create a server if login with an LDAP account. Fixes #5439
Improved LDAP error messages.
2020-04-27 15:33:19 +05:30
Akshay Joshi
4c616f32eb 1) Fixed feature test and API test cases.
2) Added logic to exclude RESQL test cases.
2020-04-22 13:57:32 +05:30
Ashesh Vashi
d9c84edf9a A valid ip address can be IPv4/IPv6 2020-04-14 18:45:45 +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
Ashesh Vashi
1a34f61b24 Moved the ip-address check functionality to a separate file to improve
the maintainability of the code.
2020-04-08 16:50:14 +05:30
Aditya Toshniwal
c9d04684ce Ensure that all the transactions should be canceled before closing the connections when a server is disconnected using pgAdmin. Fixes #5142 2020-02-28 14:12:44 +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
Akshay Joshi
2ae279a382 Remove the deprecated 'is_xhr' parameter of flask.request object. 2020-02-10 12:31:52 +05:30
Khushboo Vashi
45f2e35a99 Added Schema Diff tool to compare two schemas and generate the difference script.
Currently supported objects are Table, View, Materialized View, Function and Procedure.

Backend comparison of two schemas implemented by: Akshay Joshi

Fixes #3452.
2020-01-10 15:42:09 +05:30
Pradip Parkale
ed279cac31 Improve the test framework to run for multiple classes defined in a single file. Fixes #5071. 2020-01-10 11:48:36 +05:30
Dave Page
01c7636c75 Update copyright notices for 2020. 2020-01-02 14:43:50 +00:00
Aditya Toshniwal
4ed2d74d9c 1) Fix network disconnect issue while establishing the connection via SSH Tunnel and it impossible to expand the Servers node. Fixes #4724.
2) Fix server connection drops out issue in query tool. Fixes #4818
3) Fix VPN network disconnect issue where pgAdmin4 hangs on expanding the Servers node. Fixes #4926.
4) Ensure that the Servers collection node should expand independently of server connections. Fixes #4933.

Set the default connection timeout to 10 seconds instead of 0.
2019-11-26 09:04:41 +05:30
Akshay Joshi
de878b3198 Refactored code of table and it's child nodes.
1) Remove duplicate logic.
2) Child node specific logic should be inside the child node and table node gets the required information from the respective child node.

Note:- Refactoring of columns node still in progress.

Fixes #4807
2019-11-15 14:45:55 +05:30
Akshay Joshi
f22134dabd Ensure that the superuser should be able to create database and role, as the superuser
overrides all the access restrictions.
Fixes #4792 Fixes #4878
2019-11-14 18:14:53 +05:30
Yosry Muhammad
687204771c Add support in query history to show internal queries generated by pgAdmin during save data operations. Fixes #4612 2019-08-16 17:17:12 +05:30
Aditya Toshniwal
db7a2e3023 Add a --modules option to the RE-SQL test suite to allow testing of specific object types. Fixes #4560 2019-08-06 13:43:49 +01:00
Dave Page
3f4d5a687b Rename horribly named function. 2019-07-12 13:00:23 +01:00
Akshay Joshi
776884860e Ensure parameter values are quoted when needed when editing roles. Fixes #4393 2019-07-04 15:00:29 +01:00
Aditya Toshniwal
0d42f8026c Fix SSH tunnel password decryption. Fixes #4320 2019-06-25 07:06:04 -04:00
Aditya Toshniwal
6e8ebbd375 Allow editing of data where a primary key column includes a % sign in the value. Fixes #4036
Fix an XSS issue seen in View/Edit data mode if a column name includes HTML. Fixes #4367
2019-06-20 12:21:37 +01:00
Akshay Joshi
9e65c971a3 Add a framework for testing reversed engineered SQL and CRUD API endpoints. Fixes #4202 2019-06-18 14:28:25 +01:00
Dave Page
71919a4ce9 Prevent the "Please login to access this page" message displaying multiple times. Fixes #4306 2019-06-17 14:12:36 +01:00
Aditya Toshniwal
82bd94e696 Fix connection restoration issue when pgAdmin server is restarted and the page is refreshed. Fixes #4357 2019-06-14 11:50:01 +05:30
Dave Page
6d52f2b911 Initial support for PostgreSQL 12. Fixes #4283. Fixes #4288. Fixes #4290. 2019-06-10 14:24:45 +01:00
Aditya Toshniwal
f561c0cee6 Fix keyboard navigation in "inner" tabsets such as the Query Tool and Debugger. Fixes #4195 2019-06-10 11:10:49 +01:00
Aditya Toshniwal
a588c2994d 1) Fix issue where SSH tunnel connection using password is failing, it's regression of Master Password. Fixes #4320
2) Fix some more issues related to SSH Tunnel(By: Akshay Joshi)
2019-06-05 12:07:24 +05:30
Dave Page
2dd075161d Allow the UI layout to be fully locked or to prevent docking changes. Fixes #2653 2019-05-31 11:51:30 -04:00
Akshay Joshi
aa95ff9f57 Fix encoding issue for background process, it is regression of Master Password. Fixes #4303 2019-05-29 12:50:48 +05:30
Aditya Toshniwal
dfa892d2a2 1. Added Master Password to increase the security of saved passwords. Fixes #4184
2. In server(web) mode, update all the saved server credentials when user password is changed. Fixes #3377
2019-05-28 12:00:18 +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
c21ea3c342 Ensure that pgAdmin4 should work properly with psycopg2 v2.8. Fixes #4143 2019-04-08 17:49:50 +05:30
Aditya Toshniwal
7627e9c699 Display errors during CSV download from the Query Tool in the UI rather than putting them in the CSV file. Fixes #4085
Ensure the toolbar buttons are properly reset following a CSV download in the Query Tool. Fixes #4096
2019-03-29 14:31:33 +00:00
Dave Page
ae23f146d1 Use the user's full email address (not just the username part) as the basis for the storage directory name.. Fixes #3887 2019-03-22 09:36:13 +00:00
Usman Muzaffar
be26fc540c Many fixes to the stability of the feature tests, including:
tree toggle issue
Query tool inteliSence issue eg. when there is only one option and drop down is not shown
Backup and restore windows locator changes
Fixes required due to resolving rm # 4041
Dependent tab not showing data sometime, so refreshed the page and handled it
Due to change of logic for auto commit, did the required changes
Due to fix of RM 4062, did the required workaround which broke the test case.
2019-03-21 12:04:37 +00:00
Khushboo Vashi
e4417229aa Update all Python and JS dependencies. Fixes #4019 2019-03-14 15:11:16 +00:00
Khushboo Vashi
efeb9d6d20 Fix regression issue caused due to encoding fixes. 2019-03-04 16:11:20 +05:30
Dave Page
ecbba79c2a Fix PEP-8 issue. 2019-03-01 14:19:08 +00:00
Khushboo Vashi
849e34c2f7 Add full support and testsfor all PG server side encodings. Fixes #3992. Fixes #3982. Fixes #3911 2019-03-01 13:51:50 +00:00
Aditya Toshniwal
e6e7cf0f69 Fix support for bigint's in JSONB data. Fixes #3587 2019-02-27 13:39:47 +00:00
Aditya Toshniwal
59446bb4b5 Ensure JSON data isn't modified in-flight by psycopg2 when using View/Edit data. Fixes #3600 2019-02-25 10:34:36 +00:00
Khushboo Vashi
34045efb38 Modify the Download as CSV option to use the same connection as the Query Tool its running in so temporary tables etc. can be used. Fixes #3673 2019-02-20 11:49:45 +00:00
Aditya Toshniwal
292ac32db5 Fix editing of table data with a JSON primary key. Fixes #3912 2019-02-20 11:15:39 +00:00
Ashesh Vashi
eb3d3980e0 Use 'set_config(...)' function to update the 'bytea_output' settings
instead of 'UPDATE' statement, which is not allowed in the the read-only
instances.

Reported by: Robert J. Rotter
Solution provided by: Tom Lane

Fixes #3973
2019-02-08 10:18:32 +05:30
Akshay Joshi
22d458b01e Close connections gracefully when the user logs out of pgAdmin. Fixes #3942 2019-02-06 13:17:52 +00:00
Cyril Jouve
b786c4c140 Replace the PyCrypto module with the cryptography module. Fixes #3272 2019-01-31 15:57:27 +01:00