Commit Graph

205 Commits (master)

Author SHA1 Message Date
Nikhil Mohite a48828e7a3
Improve performance by removing signal-based zoom-in, zoom-out, etc functionality from the runtime environment. #5723 2023-01-17 17:18:35 +05:30
Akshay Joshi 98184e5835 Update copyright notices for 2023 2023-01-02 11:53:55 +05:30
Aditya Toshniwal ff9daec5ec
Rewrite pgAdmin main menu bar to use React. #5615 2022-12-22 14:25:18 +05:30
Nikhil Mohite 2480d08e0f
Added native menu support in desktop mode. #5503 2022-12-06 18:16:36 +05:30
Akshay Joshi 9d3654bd69
Ensure that the query history date format in Desktop mode matches the format of the locale of the pgadmin server. #5495
Format the time based on pgadmin servers locale.
2022-11-24 10:48:05 +05:30
Mark Mayo 41508f7f67
python 3 updates
- Fix super() calls for python 3
- No need to inherit objects.
- No need for u at the start of strings
- Tidied up some brackets and f-strings too
2022-11-19 10:13:41 +05:30
Pravesh Sharma b100df3160
Fixed an issue where the password recovery link was not working. #5397 2022-10-11 10:52:57 +05:30
Akshay Joshi 0b6b2e733a 1) Remove Python's 'Six' package completely. #5357
2) Replace deprecated @abstractproperty with @property, @abstractmethod.
2022-09-26 12:47:31 +05:30
Aditya Toshniwal 04b1e26041 Fixed an issue where server names with special characters are not displayed correctly in the process tab. Fixes #7695 2022-09-15 16:43:37 +05:30
Aditya Toshniwal 2de965d710 1. Use EDB's repo for react-data-grid instead of the personal repo.
2. Improved searching in the Search Objects.
3. Fixed react warnings in the query tool.
4. Fixed some SonarQube issues.
2022-09-13 19:13:33 +05:30
Akshay Joshi f771d3a4bb Conditionally pin Flask version based on Python version. 2022-08-17 12:21:05 +05:30
Akshay Joshi d4fdd4601e 1) Pin Flask version 2.1.*
2) Fixed API test cases that failed due to a change in the Werkzeug version.
3) Change password issue is fixed.
2022-08-17 11:54:16 +05:30
Nikhil Mohite b283c0ba18 Port Master Password dialog to React. Fixes #7342 2022-07-04 12:16:23 +05:30
Aditya Toshniwal cb635f6706 Removing dynamic module loading and replacing it with static loading. Fixes #7492
Gets rid of all occurrences and usage of get_own_javascripts since it is no longer used.
2022-06-30 11:06:50 +05:30
Akshay Joshi faff8d1fb3 Revert "Disable the master password requirement when using alternative authentication sources. Fixes #7012"
This reverts commit 0c823455a0.
2022-04-22 15:58:06 +05:30
Akshay Joshi 86a3696ab4 Remove aciTree and its references. 2022-04-13 17:35:01 +05:30
Khushboo Vashi 0c823455a0 Disable the master password requirement when using alternative authentication sources. Fixes #7012 2022-04-11 13:45:53 +05:30
Aditya Toshniwal b5b9ee46a1 1) Port query tool to React. Fixes #6131
2) Added status bar to the Query Tool. Fixes #3253
3) Ensure that row numbers should be visible in view when scrolling horizontally. Fixes #3989
4) Allow removing a single query history. Refs #4113
5) Partially fixed Macros usability issues. Ref #6969
6) Fixed an issue where the Query tool opens on minimum size if the user opens multiple query tool Window quickly. Fixes #6725
7) Relocate GIS Viewer Button to the Left Side of the Results Table. Fixes #6830
8) Fixed an issue where the connection bar is not visible. Fixes #7188
9) Fixed an issue where an Empty message popup after running a query. Fixes #7260
10) Ensure that Autocomplete should work after changing the connection. Fixes #7262
11) Fixed an issue where the copy and paste row does not work if the first column contains no data. Fixes #7294
2022-04-07 17:36:56 +05:30
Khushboo Vashi e61a1045f5 Added capability to deploy PostgreSQL servers on Amazon RDS. Fixes #7177 2022-02-14 12:13:48 +05:30
Akshay Joshi 2786f7ac5a Update copyright notices for 2022 2022-01-04 13:54:25 +05:30
Ashesh Vashi 36c9eb3dfd Added support for Two-factor authentication for improving security. Fixes #6543 2021-12-02 16:47:18 +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
Akshay Joshi a701e8c766 Fixed an issue where the Change Password menu option is missing for internal
authentication source when more than one authentication source is defined.

Fixes #6989
2021-11-22 11:02:26 +05:30
Khushboo Vashi 9e3165c0ff 1) Ensure that the master password should be prompt when MASTER_PASSWORD_REQUIRED
is set to True and AUTHENTICATION_SOURCES is the webserver. Fixes #6928
2) Fixed an issue where the existing server group is disappeared on rename it. Fixes #6930
2021-10-19 11:56:44 +05:30
Akshay Joshi 1ed6272e7b Ensure that SQL help should work for EPAS servers. Fixes #6834 2021-10-06 14:54:01 +05:30
Akshay Joshi 7d07770244 Reverting 'Two-factor authentication' support as it cause OSX and docker build failures.
This reverts commit 787a441343.
2021-09-29 13:24:18 +05:30
Ashesh Vashi 787a441343 Added support for Two-factor authentication for improving security. Fixes #6543 2021-09-28 17:47:00 +05:30
Khushboo Vashi 483e2ca8d0 Port browser tree to React. Fixes #6129 2021-09-27 16:44:26 +05:30
Khushboo Vashi 78b041465e Fixed an issue where even if the user is locked, he can reset the password and can login into pgAdmin. Fixes #6664 2021-08-09 14:24:26 +05:30
Khushboo Vashi e981868246 Fixed an issue where the user unable to add server in Kerberos Authentication Mode with Master Password. Fixes #6595 2021-07-09 21:47:34 +05:30
Khushboo Vashi 48ca83f31d Added support for OAuth 2 authentication. Fixes #5940
Initial patch sent by: Florian Sabonchi
2021-07-06 13:22:58 +05:30
Nikhil Mohite 09693d14d1 Added check if the Windows version is not supporting the ConPty or WinPty disable the PSQL for that version.
refs #2341
2021-06-14 11:47:40 +05:30
Aditya Toshniwal 6e42d9113b Fixed user password-related issues.
refs #6225
2021-06-10 22:56:38 +05:30
Khushboo Vashi 460fb7ec29 Fixed an issue where pgAdmin does not open after password reset in server mode. Fixes #6513 2021-06-10 22:55:31 +05:30
Nikhil Mohite 7c88ee7cff Added a mechanism to detect a corrupt/broken config database file. Fixes #6460 2021-06-08 19:41:47 +05:30
Nikhil Mohite e1067ffe67 Ensure that the Query Tool connection string should not be changed as per the 'Query Tool tab title'. Fixes #6404 2021-06-07 22:07:51 +05:30
Aditya Toshniwal 065a3aa2f5 Updated Flask-Security-Too to the latest v4. Fixes #6225 2021-06-06 13:58:06 +05:30
Nikhil Mohite e0eac875b6 Disable the PSQL tool for Windows, the 'fcntl' module is not working on Windows. 2021-06-01 20:04:43 +05:30
Khushboo Vashi 72f3730c34 Added support to connect PostgreSQL servers via Kerberos authentication. Fixes #6158 2021-05-03 16:10:45 +05:30
Akshay Joshi 2872b5c5d3 1) Ensure that the zoom level should be set for the newly opened window.
2) Ensure that if the zoom level is changed on the main window then it should
   be applicable for all the opened windows.

refs #6271
2021-03-22 17:50:26 +05:30
Akshay Joshi 49a59f8929 Added zoom scaling options with keyboard shortcuts in runtime. Fixes #6271 2021-03-15 14:26:11 +05:30
Akshay Joshi 008bc6da28 Fixed some SonarQube issues. 2021-03-02 14:53:05 +05:30
Dave Page 08df09af96 Limit the upgrade check to run once per day. Fixes #6187 2021-01-29 16:01:35 +00:00
Dave Page 3c1dc18656 Fix typo 2021-01-29 15:40:23 +00:00
Dave Page 12276b6033 Fix typo 2021-01-29 15:34:51 +00:00
Akshay Joshi 102ffd141c Implemented runtime using NWjs to open pgAdmin4 in a standalone window
instead of the system tray and web browser. Used NWjs to get rid of QT
and C++. Fixes #5967

Use cheroot as the default production server for pgAdmin4. Fixes #5017
2021-01-29 13:38:27 +05:30
Khushboo Vashi c0ef0a893d 1) Added support for Kerberos authentication, using SPNEGO to forward the Kerberos tickets through a browser. Fixes #5457
2) Fixed incorrect log information for AUTHENTICATION_SOURCES. Fixes #5829
2021-01-18 16:32:10 +05:30
Aditya Toshniwal 0c8226ff39 Added ERD Diagram support with basic table fields, primary key, foreign key, and DDL SQL generation. Fixes #1802 2021-01-16 17:06:50 +05:30
Akshay Joshi f0debdd513 Revert "1) Added support for Kerberos authentication, using SPNEGO to forward the Kerberos tickets through a browser. Fixes #5457"
This reverts commit 6ead597b43.
2021-01-14 14:46:59 +05:30
Khushboo Vashi 6ead597b43 1) Added support for Kerberos authentication, using SPNEGO to forward the Kerberos tickets through a browser. Fixes #5457
2) Fixed incorrect log information for AUTHENTICATION_SOURCES. Fixes #5829
2021-01-14 13:46:48 +05:30
Akshay Joshi b372f08a59 Update copyright notices for 2021 2021-01-04 15:34:45 +05:30
Libor M 7648bd9646 Added missing gettext. 2020-10-27 10:51:35 +05:30
Ganesh Jaybhay 08c4deba5a Added following security enhancements:
1) Added ALLOWED_HOSTS list to limit the host address.
  2) Added CSP and HSTS security header.
  3) Hide the webserver/ development framework version.

Fixes #5919
2020-10-20 17:14:45 +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
Pradip Parkale 7f947f146c Fixed cognitive complexity issues reported by SonarQube. 2020-08-25 12:28:55 +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
Akshay Joshi ed0dc62b69 Fixed incorrect import statement for urlopen.
refs #5700
2020-07-27 17:33:44 +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 8c20f0c0d2 Some clumsy coding related fixes reported by SonarQube. 2020-06-12 15:24:17 +05:30
Yogesh Mahajan 4632a7faba Fixed an issue where pgadmin detects the wrong browser version of the Microsoft Edge. Fixes #5465 2020-05-29 13:07:02 +05:30
Khushboo Vashi a9a1a975a6 Added compatibility for Flask-Security-Too version 3.2 2020-05-13 16:02:38 +05:30
Dave Page 74b3495542 Warn the user if an unsupported, deprecated or unknown browser is detected. Fixes #5399 2020-04-14 21:15:02 +05:30
Khushboo Vashi f77aa3284f Added LDAP authentication support. Fixes #2186 2020-04-06 15:57:05 +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
Aditya Toshniwal 8c3bba65e5 Logout the pgAdmin session when no user activity of mouse move, click or keypress. Fixes #5000.
Introduced two config params:
1. USER_INACTIVITY_TIMEOUT - Interval in seconds for the timeout. Default is 0-Zero which means disabled.
2. OVERRIDE_USER_INACTIVITY_TIMEOUT - If set to true, tools like query tool or debugger will override USER_INACTIVITY_TIMEOUT
   and will not allow the application to timeout if a query is running for a long time.
2020-01-15 18:07:46 +05:30
Dave Page 01c7636c75 Update copyright notices for 2020. 2020-01-02 14:43:50 +00:00
Aditya Toshniwal 75ac259632 Fix issue where the user can not switch the UI language. It's a regression of #4348. Fixes #4975 2019-12-05 14:34:44 +05:30
Dave Page 7408b8c8d9 PEP-8 fix. 2019-10-29 12:18:49 +00:00
Richard Yen 30e9673375 Give appropriate error messages when the user tries to use an blank master password. Fixes #4341 2019-10-25 13:55:07 +01:00
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
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
Dave Page 4b421550d3 Stop using application/x-javascript as a mime type and use the RFC-compliant application/javascript instead. Fixes #4261 2019-05-15 09:44:57 +01:00
Dave Page d7da8be486 Make the upgrade check key configurable. 2019-01-02 12:56:39 +00:00
Murtuza Zabuawala e23d307c56 Update copyright notices for 2019 2019-01-02 15:54:12 +05:30
Aditya Toshniwal 82c9cca683 Move all CSS into SCSS files for consistency and ease of colour maintenance etc. Fixes #2927 2018-09-04 11:24:51 +01:00
Dave Page d7eb41fff4 Include a cacert file when needed for the upgrade check. Fixes #3185 2018-07-23 16:15:58 +01:00
Aditya Toshniwal bdb7e3fde2 Infrastructure and changes to the Query Tool for realtime preference handling. Refs #3294
Highlights of this patch include:
- Changes will affect SQL Editors in Create dialog boxes, SQL tab of the main screen, Query tool, History entries in the query tool, Query tool opened in New Tab/Window
- All the components of SQL editor will refer to single source of preferences which is cached in the Browser object. All other redundant ajax get preference calls are removed.
- SQL editor will not refer template JS variables anymore, once all the references are removed the template variables will also be removed.
- Code refactoring wherever possible.
- Covered JS test cases wherever possible.
2018-07-05 11:38:43 +01:00
Akshay Joshi b7fb01ab04 Add support for SSH tunneled connections. Fixes #1447 2018-05-04 11:27:27 +01:00
Murtuza Zabuawala 8ec51412c3 Add a (configurable) limit to the number of pgAgent job history rows displayed on the statistics tab. Fixes #3072 2018-04-06 10:00:25 +01:00
Murtuza Zabuawala be055ce57d Update Python and JS modules. Fixes #3154 2018-04-04 10:47:01 +01:00
Khushboo Vashi 7805170783 Add the ability to enable/disable UI animations. Fixes #1978 2018-04-03 14:52:13 +01:00
Khushboo Vashi 413709fc78 Simplify cookie domain/path settings, per discussion. Instead of trying to be smart, just let the user specify them in the config, e.g.
COOKIE_DEFAULT_DOMAIN = None
SESSION_COOKIE_DOMAIN = None
2018-03-23 10:14:02 +00:00
Khushboo Vashi 534f1f35fe Appropriately set the cookie path. Fixes #3197 2018-03-19 17:09:19 +00:00
Dave Page 93d44d5643 Revert "Ensure the cookie domain and path are properly set. Fixes #3197"
This reverts commit 9c4edb4a28.

Jenkins really doesn't like this.
2018-03-15 14:54:14 -04:00
Khushboo Vashi 9c4edb4a28 Ensure the cookie domain and path are properly set. Fixes #3197 2018-03-15 13:59:29 -04:00
Joao Pedro De Almeida Pereira 3a6994f719 Final PEP-8 fixes 2018-03-08 09:33:43 +00:00
Murtuza Zabuawala abf0b1a7ae Allow admins to disable the use of Gravatar if they choose. Fixes #3037 2018-03-07 16:35:33 +00:00
Murtuza Zabuawala 06ff05762e PEP8 fixes. Fixes #3175 2018-03-07 11:47:01 +00:00
Harshal Dhumal aa1849c13a Support tab navigation in dialogs. Fixes #2898 2018-02-27 11:18:36 +00:00
Harshal Dhumal 43d3e0ca64 PEP8 fixes. 2018-02-26 15:58:48 +00:00
Harshal Dhumal c91a597df9 Fix alignment issues in keyboard shortcut options. Fixes #3080 2018-02-20 16:49:59 +00:00
Khushboo Vashi 258b064963 Add configurable shortcut keys for various common options in the main window. Fixes #2899 2018-02-09 12:07:57 +00:00
Khushboo Vashi 262d01bf01 Add keyboard navigation options for the main browser windows. Fixes #2895 2018-02-02 14:28:37 +01:00
Dave Page 89821c0d19 Update copyright notices for 2018. 2018-01-05 10:42:50 +00:00
Harshal Dhumal 1a4e21e6dd Fix regression tests for password reset in server mode 2017-11-30 13:16:59 +00:00
Harshal Dhumal 35a5cf22d5 Refuse password changes (and tell the user) if the notification email cannot be sent. Fixes #2892 2017-11-30 11:16:38 +00:00
Murtuza Zabuawala 897bf4857a Fix counted rows display in table properties. Fixes #2836 2017-11-02 09:35:44 +00:00