Commit Graph

51 Commits (6fabf4764b51c9978c896ce93733b474a3c3a8ff)

Author SHA1 Message Date
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 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
Dave Page 2f097cd016 Fix typo in freshly added check. 2017-05-25 17:10:41 -04: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
Khushboo Vashi 94b7fc483a Fix sorting of sizes on the statistics views by sorting raw values and prettifying on the client side. Includes Jasmine tests for the prettyfying function. Fixes #2315 2017-05-08 11:29:13 +01:00
Jonas Thelemann ddfa934357 Unified usage of "definition incomplete". 2017-04-05 13:55:00 +01: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
Harshal Dhumal ffa8d94e76 Better handling the non-ascii characters for different database objects.
Using 'psycopg2.extensions.UNICODE' (for Python < 3) in the psycopg2
driver for proper conversation of unicode characters. Also - adjusted
the string typecaster to take care of different character types (char,
character, text, name, character varying, and their array types).

Reviewed by: Dave Page, Murtuza Zabuawala & Akshay Joshi
2017-03-02 15:09:28 +05:30
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
Surinder Kumar 07e1c61eea Allow setting of effective_io_concurrency on tablespaces in 9.6+. Fixes #2000 2017-01-08 15:27:58 +05:30
Dave Page f221194bcc Update copyright notices for 2017. 2017-01-04 13:33:32 +00:00
Navnath Gadakh ae612f5403 Major update to the test suite:
1. Code changes (due to drop objects functionality).
2. Quoting for database names in drop databases.
3. Code changes for import errors for pickle_path and advanced_config variables.
2016-10-07 13:59:43 +01:00
Navnath Gadakh a4aae4c245 Update role and tablespace tests to cleanup properly following a failure. 2016-09-26 14:02:59 +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
Navnath Gadakh 81e2bc1e80 Test suite enhancements:
1. The user will specify the tablespace path in test_config.json.in
2.  If tablespace path not found, skip the test cases for that server(Only tablespace test cases)
3.  Add the skipped test summary in the test result. (Now it's showing on console + in log file, but need to update in a final enhanced test summary report. Which is research point we will work on that after finishing all nodes API test cases)
4.  Removed the test_ prefix from the values in the config files.
5. Add tablespace and roles tests
2016-08-09 16:05:40 +01:00
Murtuza Zabuawala 06e881570a Fix numerous encoding issues. Fixes #1307. Fixes #1479 2016-07-26 15:05:14 +01:00
Harshal Dhumal 166d42953c Give a more useful error message if attempting to drop an object that doesn't exist. Fixes #1154 2016-07-26 14:40:02 +01:00
Dave Page 60659975ed Stop using deprecated imports. 2016-07-22 16:25:23 +01:00
Murtuza Zabuawala e4ef927da3 Fix tablespace statistics. Fixes #1196 2016-06-23 13:06:05 +01:00
Ashesh Vashi b78b3904cd Use PUBLIC (in caps) whenever used as a keyword. Fixes #1138 2016-06-23 09:15:09 +05:30
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
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
Murtuza Zabuawala d4e5d9c4f4 Add "Move objects..” functionality in tablespace node. Fixes #1286 2016-06-15 13:21:01 +01:00
Murtuza Zabuawala 62c1369938 Add "Move objects..” functionality to tablespace node. Fixes #1286
Additionally I have removed pre_9.1 sql's & align SQL line indentation as well.
2016-06-14 14:53:48 +01:00
Murtuza Zabuawala 1f9d0ffc54 Fix comment removal for various nodes. Fixes #1331 2016-06-13 16:22:50 +01:00
Murtuza Zabuawala 9ed2530b1f Fixes #1110 - Proper validation for the security labels. 2016-06-06 18:07:13 +05:30
Murtuza Zabuawala 8b54b59f2b Fixes #1285 - Update the comments (description) over the tablespace
properly.
2016-06-03 15:36:47 +05:30
Ashesh Vashi 7e51a8fd56 Improvement in the security tab for each of the nodes.
* Hide the security tab for the objects under the catalog schema.
  Patched by Surinder Kumar, vastly improved by me.

* Make the securtiy label across all the nodes, using the same backbone
  model across the nodes, and make changes in the backend code for the
  same.
2016-05-29 15:19:36 +05:30
Dave Page 238da58732 Helpfile refactoring. 2016-05-20 16:39:35 -04:00
Dave Page 1606f1d8e8 Link online help to dialogs 2016-05-16 22:35:27 -04:00
Murtuza Zabuawala 174363c9a7 Fixed typo for acl in tablespace node 2016-05-13 13:43:35 +05:30
Karen Blatchley 949e536bae First round of string review and cleanup. 2016-05-06 13:53:48 +01:00
Dave Page e09aa90614 Rename "Parameters" to "Arguments" and "Variables" to "Parameters" for consistency with the PG docs.
Per Susan Douglas.
2016-04-14 20:11:55 +01:00
Dave Page 62fcfd928d Add context-sensitive SQL help. 2016-04-12 13:36:06 +01:00
Ashesh Vashi 611c9c4ae7 Disable the menu to create database and tablespace, if:
* Database server is not connected.
* Do not have adequate permission to create.
2016-03-18 10:31:57 +05:30
Arun Kollan c814698328 Fix security label sizing. 2016-03-15 15:07:40 +00:00
Murtuza Zabuawala b747a5b5eb Update ACL parsing for tablespaces to use newer infrastructure. 2016-03-11 09:05:58 +00:00
Ashesh Vashi 87623cb997 Resolved few typos, comments, and also some query correction in the SQL
templates for different nodes.
2016-03-11 01:02:25 +05:30
Dave Page ce5d7b7d60 Fix gettext calls per Khushboo 2016-03-10 17:18:42 +00:00
Dave Page 83a662f798 Fix all manner of inconsistencies in object properties display:
- Don't display the OID on Edit dialogues
- Use the ACL summary display in the properties panel, not the subnode editor.
- s/Oid/OID/g
- Ensure all security properties are displayed in the Security group
- Ensure all object definition values are stored in the Definition (or a more precise) group, not General.
- Fix the ordering of General properties so the comment is always show last.
2016-03-10 17:08:27 +00:00
Dave Page 2b6c8dff0b Fix various inconsistencies with databases and tablespaces:
- Display the ACL string in properties, not the subnode panel.
- Offer default values for the owner of new objects.
- Add missing context menu option to create a tablespace from a server node.
2016-03-10 16:14:26 +00:00
Dave Page 5ea822f33e Preferences dialogue. Patch by Ashesh and Khushboo Vashi. 2016-03-07 11:48:53 +00:00
Dave Page af25a11dde Correct spelling of SECLABEL 2016-02-25 16:41:11 +00:00
Akshay Joshi c153032e3b Add support for displaying dependency and dependents info. 2016-02-22 13:07:16 +00:00
Ashesh Vashi d5da26876b Resolved few issues (with some improvements) with existing nodes.
This commit takes care of the following issues/improvements.
* Adding missing imports for unauthorised in database module
* Node under Servers Nodes (i.e. Databases, tablespaces, roles nodes)
  need to be inherited from PGChildNodeView (and, not from NodeView) for
  adding server version check for their children.
* Adding statistics for database, and tablespaces in its node (not, yet
  in UI)
* Renaming the camel case methods with proper name.
  (i.e. getSQL -> get_sql, getNewSQL -> get_new_sql, etc.)
* Fixed the functions going beyond the text limit (column: 80) in
  Databases, Roles & Tablespaces modules.
* Fixed the node method of Database module, which was not tested ever.
* We do not need separate SQL template for fetching the name (i.e.
  get_name.sql), using the 'nodes.sql' for the same.
* Optimise the query for fetching ACLs for the database node, we didn't
  require to join certain tables, while fetching only the ACLs.
* Introduced the list of the ACLs (regular and default ACLs for
  different type) supported by each version [Databases Module].
* Renamed the templates 'get_nodes.sql' to' nodes.sql' to make it
  consistent with other modules.
* Removed the checks for the authentication table use, as we don't need
  to expose the password to the users (even the encrypted MD5). Using
  the pg_roles view always for fetching roles/users information now.
* Resolved some typos in unreachable (specially the exceptions
  catchment area.)
* Logging the exception in the application.
* Using qtLiteral, qtIdent properly in the templates (do not assume
  about the types of data.)
* Using tsid as identifier instead of did for the tablespaces.
* Using nodes method of tablespace view for fetching individual node
  information.
* Removing the hardcoded node information from the 'parse_priv_to_db'
  function, and pass on allowed ACLs by the caller nodes.
* Using 'nodes.sql' to fetch name of the template instead of writing
  that in the delete.sql template, which is definitely wrong place to
  fetch the name of the object. [Tablespace Module]
2016-02-22 11:44:24 +05:30
Ashesh Vashi 01d020ed95 Do not show the tablespace node as inode ('+' sign for expanding the tree node for it). 2016-02-05 14:19:30 +05:30