Commit Graph

191 Commits

Author SHA1 Message Date
Ashesh Vashi
2d7a218792 Resolved few issues with browser.js:
(dynamic menu generation, typo in error message)

- Dynamic menu generation code was failing for some corner cases.
- Removed trailing whitespaces.
- Resolved a typo in the message - 'click_for_detailed_msg', which was
  resulting in '{}' message instead of actual error message.
2016-02-28 12:15:08 +05:30
Ashesh Vashi
41e85fd631 Make the default privileges jinja2 template macros to generate more
consistent SQL.
i.e.
Put 4 spaces after every new line (wherever required).
2016-02-28 12:15:08 +05:30
Khushboo Vashi
d4a13eaafa Security Labels and the Variables are used in many modules under the Database Node.
Provide functions in the database node to handle them.
2016-02-26 15:21:55 +00:00
Dave Page
3b2ef2961b Correct error message to match the field name. 2016-02-25 16:47:07 +00:00
Dave Page
af25a11dde Correct spelling of SECLABEL 2016-02-25 16:41:11 +00:00
Dave Page
f3813239c0 Fix rule name generation 2016-02-25 11:14:34 +00:00
Dave Page
de9e122a91 Fix typo 2016-02-25 10:39:04 +00:00
Surinder Kumar
c950683fa1 Add support for extensions. 2016-02-24 16:45:35 +00:00
Sanket Mehta
f466e0169a Add support for casts. 2016-02-24 16:44:37 +00:00
Dave Page
0b1cf1ad2c Remove an unnecessary line ending. 2016-02-24 16:42:38 +00:00
Ashesh Vashi
f4ae7cd210 Resolved a typo in the node creation SQL template for PostgreSQL 9.2. 2016-02-24 15:00:25 +05:30
Akshay Joshi
7ffbb8c039 Add support for viewing/editing procedural languages. 2016-02-23 10:07:14 +00:00
Dave Page
2de7b4c0a0 Improve Resource Group labels per discussion with Jason. 2016-02-23 09:08:46 +00:00
Akshay Joshi
c153032e3b Add support for displaying dependency and dependents info. 2016-02-22 13:07:16 +00:00
Harshal Dhumal
0b956813d4 public in the privilege control should not be allowed to select the
'WITH GRANT' options.
2016-02-22 17:36:23 +05:30
Akshay Joshi
8186e45844 Adding Numeric control support for Backform.
This patch also includes an issue related to IntegerControl, which does
not emit any error message, when it has some issues.

In order to fix the issue, it will trigger 'pgadmin-session:invalid'
event, when the input value is not an valid integer.
2016-02-22 17:18:08 +05:30
Ashesh Vashi
6c2faa984b Do not need to implement the BackendSupported function in resource
group, we do have the same function in CollectionModule class, which
will work, when we set the min_ver, max_ver and server_type properly.

Thanks Khushboo for pointing that out, and Akshay for quick testing for
this patch.
2016-02-22 17:04:06 +05:30
Akshay Joshi
dafd2f3323 Add support for Resource Groups in EDB Advanced Server 9.4+. 2016-02-22 10:51:35 +00:00
Ashesh Vashi
bbf037f005 Resolved a typo in Server Module related to assigning manager object to
driver variable.
2016-02-22 14:01:16 +05:30
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
Harshal Dhumal
a3d23a65bb Disconnect the database connection only once not every time before
running the offline queries i.e. renaming of the database, using
different tablespce for the database, etc.
2016-02-18 17:08:24 +05:30
Ashesh Vashi
3d134a3d07 Initialize (executing the constructor) for the PGNodeModule needs to be
called while initialing the CollectionNodeModule, as
super(..).__init__(..) does not call __init__ function of all parent
classes. Please refer to method resolution order (MRO) in python for
more information.

This patch also includes some typo resolution in PGNdoeModule. Also,
removed the AddAttr(..) at the moment, because - it is not going
anywhere at the moment.
2016-02-18 17:08:24 +05:30
Dave Page
131043d7cb Don't ask before connecting to servers or databases, just do it like pgAdmin 3. 2016-02-12 16:46:56 +00:00
Dave Page
47fc43c23f Don't add (GROUP) to the end of group role names; that's denoted by the icon. 2016-02-12 16:39:56 +00:00
Khushboo Vashi
b32496f71a Allow to use the select2 with multiple selection. Changed the formatter
used by NodeAjaxOptions Family controls to takes care the data returns
by these controls.
2016-02-10 13:09:09 +05:30
Murtuza Zabuawala
a02b1a4813 Adding validation for the previleges control. 2016-02-10 13:01:14 +05:30
Murtuza Zabuawala
dc51baefcc Adding more jinja2 template macros for the default previleges. 2016-02-10 13:00:19 +05:30
Khushboo Vashi
637a5838a8 Resolved a typo in variable name 'version_compatible' 2016-02-10 12:12:06 +05:30
Dave Page
2a52462dbf Add a simple version check mechanism to warn the user if a new release is available. 2016-02-08 16:28:20 +00:00
Ashesh Vashi
712f47987f Resolving an error related to not able to generate the reversed
engineered SQL from the database when no ACL is defined.
2016-02-05 17:29:04 +05:30
Ashesh Vashi
a82f58a8f4 Resolved an internal server error while selecting the role node on
PostgreSQL/PPAS server (version >= 9.5).

Reported by: Akshay Joshi
2016-02-05 15:51:30 +05:30
Harshal Dhumal
a0648ed54b Using different strategy to render different type of data based on the
type for the Variable control, instead of using the complex DynamicCell.
2016-02-05 14:35:52 +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
Ashesh Vashi
657f14997b Adding the Database node.
We know that current implemenation have some limitations:
i.e.
* We should not show the template0 in the browser tree.
* Should not connect to the database which does not have permission to connect the server by the current user.
* Show default previlige for PUBLIC in creation mode.
* Allow to create/database database only if current user have sufficient permission.
* Do not show reversed engineered SQL in all supported version.
* Do not showing system database or not.

Author: Khushboo Vashi, Harshal Dhumal, Murtuza Zabuawala
Reviewed by: Neel Patel, Akshay Joshi
2016-02-05 13:06:50 +05:30
Ashesh Vashi
71a69f1dd4 Adding the Tablespace node
Author: Murtuza Zabuawala
Reviewed by: Neel Patel, Ashesh Vashi
2016-02-05 09:51:02 +05:30
Ashesh Vashi
91c0388a47 Adding the Login/Group Role Node.
Also - includes:
* Added 'parent_id' in the 'generate_browser_node' function of the Nodes
  to allow them to move around the parents objects (specially through
  update/save functionality).

* Handles the issue related to adding the older object back to the
  collection (DataModel).

Author: Ashesh Vashi
Reviewed by: Neel Patel, and Akshay Joshi.
2016-02-05 09:48:38 +05:30
Harshal Dhumal
3ff77e9866 Common functions to convert the privileges format to/from the database
server.
2016-02-04 21:02:15 +05:30
Murtuza Zabuawala
359dff0f78 Fixed the NodeAjaxOtionsControl formatter, which was causing malformed
string, when have special character.
2016-02-03 16:41:28 +05:30
Murtuza Zabuawala
79cd9d518c Modified the variable jinja2 macros to allow to set/reset multiple
options in a single command, instead of multiple commands.
2016-02-03 16:35:46 +05:30
Ashesh Vashi
fc676efa30 Do not trigger 'pgadmin-session:invalid' event, when a child object do
not have any validation error, or the validation error message is null.

Thanks Murtuza for find out the root cause.
2016-02-02 19:42:50 +05:30
Murtuza Zabuawala
e9497687d0 Adding the macros to set variable options for objects other than Role. 2016-02-02 19:40:00 +05:30
Harshal Dhumal
b77c5a6c54 Python 2.6 support fixes. 2016-01-27 15:59:54 +01:00
Harshal Dhumal
c421bef0d0 Changed the Unique Columns of the Variable Control based on the input
from the user.

i.e.
Set the uniqueCol as ['name', 'role'] in case of hasRole is set to true
in schema for it, ['name', ['database'] in case of hasDatabase is set to
true, otherwise ['name'].

Also - fixed a typo in the callback function headerDataChanged(..).
2016-01-22 18:19:13 +05:30
Harshal Dhumal
d0f7e69ad7 Added two jinja2 template macro for support for priviliges and default
privileges.

Also, made a change in the privilege.js to scroll the div to make the
opening div visible properly.
2016-01-22 18:07:12 +05:30
Harshal Dhumal
7f3c972d06 Resovled a typo in rendering the NodeAjaxOptionsCell about getting the
options from the column schema for the cell.
2016-01-22 13:23:09 +05:30
Harshal Dhumal
c6cfad4f01 Fix minor status bar display issue. 2016-01-21 09:10:00 +00:00
Harshal Dhumal
720a9c819b Resolved a typo in the datamodel javascript. 2016-01-21 12:25:31 +05:30
Murtuza Zabuawala
d2f6135a98 [Python 3] Fixed the issue processing the request data (decoding issue)
for UPDATE operation of the server node.
2016-01-21 12:24:20 +05:30
Ashesh Vashi
ba4a6faaa4 Resolved a typo in the frame javscript 2016-01-20 20:23:59 +05:30
Harshal Dhumal
422bad4394 Allow the privileges control to work properly. Resolved few typos and
trivial bugs within the privilige control.

i.e.
- Do not show 'ALL' for only one privilege type.
- Show correct privilege label in PrivilegeEditor.
- Typo in TEMPORARY privilege.
- Added missing toJSON function call, while calling the parent's toJSON
  function.
2016-01-20 20:23:23 +05:30