Commit Graph

66 Commits (93e83dddae53c8bbfec6d9029daef7ddada5fbaf)

Author SHA1 Message Date
Aditya Toshniwal 0da23b837d Set input controls as read-only instead of disabled will allow tab navigation in the properties tab and also allow screen readers to read it. Fixes #4993 2020-01-31 12:37:44 +05:30
Akshay Joshi b4b54d6b94 Fixed API test cases for missing language pack and jasmin test case. 2020-01-20 16:14:12 +05:30
Pradip Parkale 30b4b5b349 Improve code coverage and API test cases for the LANGUAGE module. Fixes #5050. 2020-01-20 13:16:59 +05:30
Dave Page 01c7636c75 Update copyright notices for 2020. 2020-01-02 14:43:50 +00:00
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 662266a367 Added MSQL test cases for Cast and Language. 2019-09-02 14:11:59 +05:30
Akshay Joshi cdf655f7db Add Reverse Engineered SQL tests for Languages. Fixes #4452 2019-07-11 09:20:01 +01:00
Akshay Joshi f085460453 Remove some files which was committed by mistake. 2019-07-09 16:47:23 +05:30
Akshay Joshi 1a9d8f01aa 1) Ensure re_sql tests should not abort at the first failure, it should run all the test cases.
2) Added place holder for owner, so we won't need to create separate pg/ppas folder just because of change in the owner name.
2019-07-09 15:37:53 +05:30
Aditya Toshniwal 024cfd2fab 1) Ensure that JSON strings as comments should be added properly for all the objects. Fixes #3582
2) Fixed alignment issue of columns in definition section of Index node. Fixes #4121
2019-04-12 15:07:07 +05:30
Dave Page d7bf6ec69f String review and subsequent cleanup
Ashesh Vashi
Abhilasha Narendra
Karen Blatchley
Susan Douglas
Dave Page
2019-03-05 14:08:16 +00:00
Akshay Joshi 8f4d1f14f2 1) Fix alignment of import/export toggle switch. Fixes #3963
2) Remove unnecessary options for toggle switch which are already the default options.
2019-02-06 16:49:36 +05:30
Khushboo Vashi dae8186c2a Replace Bootstrap switch with Bootstrap4 toggle to improve the performance. Fixes #3051 2019-02-04 11:31:48 +05:30
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
Khushboo Vashi f17979141c Add support for dropping multiple objects at once from the collection Properties panel. Fixes #1513 2018-10-31 10:30:37 +00:00
Joao De Almeida Pereira e5048b4d0b Disable ACLs for the database objects for the Greenplum due to
performance issue.

Reviewed By: Ashesh
Fixes #3415
2018-06-12 10:07:23 +05:30
Murtuza Zabuawala be055ce57d Update Python and JS modules. Fixes #3154 2018-04-04 10:47:01 +01:00
Joao Pedro De Almeida Pereira 876ce1799a Skip tests where appropriate on GPDB. Fixes #3190
Victoria & Joao @ Pivotal.
2018-03-13 15:32:35 -04:00
Murtuza Zabuawala 8964e511bf PEP8 fixes for the Casts, Event triggers, Extensions and Languages modules. Fixes #3161 2018-03-02 11:59:11 +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
Navnath Gadakh 80c4a3fb1a Use sufficiently long random strings in test objects to avoid conflicts. 2017-11-27 12:01:50 +00:00
Alexander Lakhin 187ab22d90 Further missing translation fixes. Stats now:
1481 of 1831 messages (80%) translated in pgadmin/translations/de/LC_MESSAGES/messages.po
1694 of 1831 messages (92%) translated in pgadmin/translations/ja/LC_MESSAGES/messages.po
1748 of 1831 messages (95%) translated in pgadmin/translations/pl/LC_MESSAGES/messages.po
1750 of 1831 messages (95%) translated in pgadmin/translations/ru/LC_MESSAGES/messages.po
1436 of 1831 messages (78%) translated in pgadmin/translations/zh/LC_MESSAGES/messages.po
2017-11-06 19:49:20 -05:00
Chethana Kumar 2be418706d Updated colours of tree view icons, which is to be more comfortable in identifying. 2017-11-06 13:03:03 +05:30
Alexander Lakhin 9be1364d1a Various string improvements and fixes. 2017-11-01 12:58:19 +00:00
Chethana Kumar 62c9376546 Improve icon alignment. 2017-09-22 14:29:34 +01:00
Chethana Kumar 23a00f9614 Replacing existing browser tree node png icons with the svg icons. Made
it compatible with the pgAdmin 4 color combination.

TODO::
Icons for the following nodes are in PNG format.
- Domain Constraint (Only the invalid icon)
- pgAgent Job Steps
- Green Plum database server
- Server (Only server.png, which is used in the create/edit dialog)
2017-09-11 11:17:31 +05:30
Teng Zhang 821442ed8f GPDB compatibility fixes:
When connected to a Greenplum database server
- Hide items that not work with GPDB, such as Triggers, FDW, FTS_*, etc
- Tables/Views/Catalogs/Language node can expand correctly
- Views/Languages/Catalogs can show properties dialog with correct information
- Show a greenplum icon at the server node

Teng Zhang & Hao Wang
2017-08-30 11:18:14 +01:00
Ashesh Vashi 845025db8f Some cosmetic changes.
- Loading 'pgadmin' as 'sources/pgadmin', as found under the 'sources'
  reference directory to be consistent with other files.
- Removed the 'pgadmin' reference from the base.html template.
- Renamed 'pgadmin.slickgrid.editors.js', and
  'pgadmin.slickgrid.formatters.js' as 'editors.js', and 'formatters.js'
  respectively, as they're already in the 'pgadmin/static/js/slickgrid'
  directory.
- Removed the duplicate entry of 'translations' from the webpack.shim.js
2017-08-09 16:52:12 +05:30
Murtuza Zabuawala bab3da24e6 Support SSL in the regression tests. Fixes #2170 2017-07-18 15:23:11 +01:00
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
Ashesh Vashi d26337a1ba Moved the javascripts of the following browser node modules to the
'static' directory from 'templates' in the respective module directory:
- Server Group
- Server
- Database
- Schema
- Cast
- Event trigger
- Extension
- Foreign data wrapper
- Language
- Catalog Object
- Collation
- Domain Constraint
- Domain
- Foreign server
- FTS Configuration
- FTS Dictionary
- FTS Parser
- FTS Template
- Function
- Procedure
- Trigger Function
- Package
- Sequence
- Catalog
- Schema
- Synonym
- Table
- Type
- Materialized View
- View
- pgAgent Modules
  + Job (pga_job)
  + Schedule (pga_schedule)
  + Steps (pga_jobstep)

Added new dynanic modules for listing the supported server types, and
current user information.

NOTE: We've not yet moved the javascripts for the children of the table
module.
2017-06-22 15:58:32 +05:30
Ashesh Vashi fd3ddbeafb Implementation of the client side 'url_for(...)' function.
Created a url_for function module to be used by different javascript
modules to use the same functionality of flask at client side.

A python module can expose the list of endpoints, used by its
javascripts, by overriding the 'get_exposed_url_endpoints(self)'
function.

In this patch, we have modified all the browser modules to use this
function. It will allow us to move the majority of the javascript
modules of browser nodes from templates directory to the static
directory.

TODO::
- Move these javascripts modules to the static directory.
- Use this function in all the applicable javascript modules.
  e.g. tools, miscellaneous modules
2017-06-12 12:01:25 +05:30
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 4b74a5ff35 Enable dialogue help buttons on Language and Foreign Table dialogues. Fixes #2116 2017-06-06 09:52:44 +01:00
Murtuza Zabuawala e9da157cc7 Add numerous missing checks to ensure objects really exist when we think they do. Fixes #2427 2017-05-25 16:28:04 -04:00
Atira Odhner 10920404e1 Re-organised the regression directory now we have multiple test suites: move test_utils.py into python_test_utils/ 2017-03-23 11:59:31 +00:00
Dave Page b2a74ad26d Fix a bunch of file headers. 2017-03-16 14:27:55 +00:00
Jonas Thelemann c34f5fd2d4 Use "could not" consistently, instead of "couldn't" which was used in some places. 2017-03-07 10:29:54 +00:00
George Gelashvili 6d05302ca1 Rename the 9.1_plus templates to "default" to more appropriately support Greenplum which is based on 8.3. 2017-02-01 09:57:49 +00:00
George Gelashvili 19be3529f8 Create a template loader for SQL templates.
This will automatically find the correct version of a template for the server version, and allows us to remove templates that were previously duplicated for different server versions.

Patch by George & Tira at Pivotal. Review by me and Murtuza from EDB.

Discussion: https://www.postgresql.org/message-id/flat/CAHowoHaU9_pkCt%2B1g8dpY3hsXXZmsJZiJH-3-_Hd%2BC1MxiGhtA%40mail.gmail.com#CAHowoHaU9_pkCt+1g8dpY3hsXXZmsJZiJH-3-_Hd+C1MxiGhtA@mail.gmail.com
2017-01-30 11:25:03 +00:00
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
Murtuza Zabuawala 00d2ab0338 Cast OIDs to oid not int, otherwise we lose half the range which results in objects not being accessible. Fixes #1951 2016-11-11 14:36:41 +00:00
Navnath Gadakh 1908e86d22 Resolve a PG 9.6 compatibility issue in the regression test for Languages. 2016-10-21 12:24:26 +01:00
Priyanka Shendge c4f1b8eb11 Add tests for Languages 2016-10-18 14:36:25 +01:00
Ashesh Vashi b6f307256b Sorting the data during tree data loading using the natural sort
algorithm.

This patch takes care of:
* Consistent behaviour during create, update operation on any node.
  - It should return the node data during creating a new object, or
    updating the existing one.
* Now that - we have consistent behaviour during these operations, we
  can consistently move, update the tree item based the node data from
  the server.
* Implemented the methods for each node to get the information about
  that particular node only.
* Using the above changes to implement the 'refresh' operation on tree
  node properly.

I must thank Surinder, and Harshal for helping me implement the 'node'
method, and also changed the behaviour of create & update methods to
return the node data for most of the nodes.

Fixes #1244
2016-08-29 20:06:58 +05:30
Ashesh Vashi f12d981a9d Handling the bad/lost connection of a database server.
Made backend changes for:
* Taking care of the connection status in the psycopg2 driver. And, when
  the connection is lost, it throws a exception with 503 http status
  message, and connection lost information in it.
* Allowing the flask application to propagate the exceptions even in the
  release mode.
* Utilising the existing password (while reconnection, if not
  disconnected explicitly).
* Introduced a new ajax response message 'service_unavailable' (http
  status code: 503), which suggests temporary service unavailable.

Client (front-end) changes:
* To handle the connection lost of a database server for different
  operations by generating proper events, and handle them properly.

Removed the connection status check code from different nodes, so that
- it generates the proper exception, when accessing the non-alive
  connection.

Fixes #1387
2016-08-29 12:01:35 +05:30
Akshay Joshi 7dffb020f1 Support CREATE LANGUAGE. Fixes #1252 2016-08-19 10:26:02 +01:00