Commit Graph

362 Commits (0840e6af2dc089e7e640e2f1dc38c5119cebf47e)

Author SHA1 Message Date
Murtuza Zabuawala dac514a4ae Added a new control for rendering the notes to be used by different
tools/utitilities dialog.

Modified a little bit by Ashesh Vashi.
2016-04-28 11:52:06 +05:30
Sanket Mehta 244f5d59d2 Resolved an issue - fetching the source, and target type functions in
the CAST module. Make the changes in the CAST module too for the
changes done in the NodeAjaxOptionsControl in the commit-id:
944bdbb96c.

We've changed the signature (arguments) of the 'options' & 'transform'
functions.
2016-04-22 18:04:09 +05:30
Ashesh Vashi 085ce50545 Refresh the SQL control, whenever necessary.
Also, remove the CodeMirror object for better clean up process.

When a SQL control/tab is rendered in a hidden element, it does not
render really well. Because - it rely on the height, and width of the
container to count the gutten position, and margin, and other elements.

Hence - whenever the tab, panel becomes visible, we will refresh the
control.
2016-04-22 15:29:23 +05:30
Ashesh Vashi a5aa6d159a Updated the CodeMirror to the latest stable version (5.14.2).
It has now the 'sql/x-pgsql' mode, which will make the queries more
familiar, and lot more improved addons.
2016-04-22 15:28:34 +05:30
Ashesh Vashi ef7737c709 Added missing dependent javascript 'jquery.aciFragment' required by the
aciTree.

Also - fixed few CSS specifically for the preferences dialog.
Returning the sorted preferences from the server, so that - it lists
down in correct order.
2016-04-19 23:48:10 +05:30
Neel Patel 37699a9820 Don't try to use the template engine's gettext on Javascript variables, as it won't work as the templates are evaluated before any JS is executed. 2016-04-18 08:39:25 -04:00
Ashesh Vashi 09cc78bd0a Adding missing query templates required for the server module. 2016-04-18 14:57:35 +05:30
Ashesh Vashi 9aee9794c1 Fix the properties toolbar at the top of the panel so it's always
visible.

This patch also introduce a callback 'onCreate' for each panel, and
frame, which will be called whenever a panel/frame is being created.
2016-04-18 12:38:56 +05:30
Khushboo Vashi 2d8633d4ca Fixed few typos/issues in the datamodel.js 2016-04-18 12:10:19 +05:30
Priyanka Shendge 98d473a7ec Initial version of a regression test framework 2016-04-17 10:39:08 -04:00
Arun Kollan ffa348fe5d Fix wizard core styling. 2016-04-17 09:08:03 -04:00
Dave Page e176190256 Core infrastructure for dashboards. 2016-04-16 17:51:44 +01:00
Seçkin Alan 26aa5607ad Fix dropping of server groups. 2016-04-16 09:55:38 +01:00
Ashesh Vashi 34ba5bef24 Improvised the data clean up, in some cases, it was calling validation
due to internal 'set' function call from the internal 'reset' function.

We will stop the session management, before doing any clean up for
ignoring such events.
2016-04-15 19:29:30 +05:30
Khushboo Vashi de0864a92c Fix SQL Help on older browsers without string.endsWith(). 2016-04-15 14:26:32 +01:00
Ashesh Vashi 7ca939dcaf Fix dialogue close issue. 2016-04-15 14:02:21 +01:00
Dave Page 4d7d3bd5e1 Icon and toolbar cleanup/consistency. 2016-04-15 13:32:17 +01:00
Ashesh Vashi 58fcbd943a Deleting the object (model & nested model/collection) during showing
the node properties.
2016-04-15 16:14:22 +05:30
Seçkin Alan 7b344185b4 Validate the model on save. 2016-04-14 21:51:07 +01:00
Seçkin Alan 290e6949f8 Require a server hostname/address to be specified. 2016-04-14 21:46:01 +01:00
Sanket Mehta 1b442cff41 FTS Dictionary support (icons) 2016-04-14 20:54:14 +01:00
Sanket Mehta 7305986e14 FTS Dictionary support. 2016-04-14 20:53:14 +01:00
Sanket Mehta b47577390a Fix issue renaming FTS Parser. 2016-04-14 20:14:32 +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
Murtuza Zabuawala 49e433db4f Type fixes:
- Renaming or changing the schema for a shell type should not be allowed.

- I'm allowed to try to add ACL entries or security labels to an
existing shell type. This should be disallowed.

- Changing the schema on a (non-shell) type doesn't work - the type
name is omitted, e.g.

ALTER TYPE pem
    SET SCHEMA pemhistory;

Which should be:

ALTER TYPE pem.foo
    SET SCHEMA pemhistory;
2016-04-14 15:46:25 +01:00
Murtuza Zabuawala c047abd8a4 Fix various issues with Types, per discussion 2016-04-14 12:37:19 +01:00
Ashesh Vashi 8a39b3a700 Backend changes to fetch the statistics for the database and server
nodes, along with the front-end changes for those node.

NOTE:
We've not yet added the support to show them on the front-end.
2016-04-14 16:45:34 +05:30
Ashesh Vashi 6f58170894 Bind the current panel with the temporary functions, so that - it works
on the object everytime, it hits the buttons, and the callback functions
are being executed. The original implementation was not using the same
panel, when it was recalled from other function. And, results into
unexpected behaviour like not able to work with Edit object again.

Thanks Murtuza for reporting the issue.
2016-04-14 12:50:20 +05:30
Ashesh Vashi 30d189f499 Load the codemirror as package in the require.js, which will allow us to
load the codemirror addons without any modification.
2016-04-14 12:34:17 +05:30
Surinder Kumar 40c592a988 Grant wizard. 2016-04-13 16:11:43 +01:00
Ashesh Vashi 9e2d349591 Improvements to frame management. 2016-04-13 11:25:04 +01:00
Dave Page dd5e86bcf4 Fix label 2016-04-13 10:55:12 +01:00
Dave Page edf9f25691 Fix general category default. 2016-04-12 17:00:12 +01:00
Dave Page fc8c3db33f Remove unnecessary line of code. 2016-04-12 13:39:06 +01:00
Dave Page 62fcfd928d Add context-sensitive SQL help. 2016-04-12 13:36:06 +01:00
Ashesh Vashi 9b9126da15 Improvised Select2Cell, and SwitchCell.
Removed the use of separate editor for both of these cell types. There
were two instance of select2 were getting created in the Select2Cell,
one in the Select2Cell itself, and another in Select2CellEditor. And,
loosing the focus mysteriously, and making the scrollbar in the property
dialog non-responsive.

Also, modified the NodeAjaxOptionsCell to use the above logic, and
removed its own version of render function to make it consitent across
the system.

This patch [changes sent by Murtuza] also includes improvisation in the
DeleteCell, and ObjectCell, which will honour now 'canRemoveRow', and
''canEditRow' respective properties of Column.
2016-04-12 16:53:21 +05:30
Dave Page 787b35c326 Couple of typo fixes. 2016-04-11 15:41:41 +01:00
Ashesh Vashi e07ebdc049 Moving the messages used in common utilities in a separate javascript. 2016-04-11 17:07:58 +05:30
Dave Page d53ab31eb8 Button bar styling:
- Left justify the top button bar and match the style of the query tool
- Allow buttons to have tooltips and optional labels
2016-04-08 11:58:47 +01:00
Ashesh Vashi 95ffc908ce Changed the logic of transform function as per new implementation logic
of Select2Control.

Also, added missing translation functions for few strings.
2016-04-08 11:10:34 +05:30
Ashesh Vashi 944bdbb96c Improvised the 'transform/options' function usage with the Select2Cell.
The current implementaton binds the cell/control object, and the ajax
data in the asychronous Cells/Controls with the 'options' functions
extended from the Select2Cell.

The problem starts when we try to fetch the current model from that
options/transform/filter function to do some operation, which does not
require in most of the cases. Except the privileges control - where we
needed the current model for omitting the existing selected object
during transformation, and filtering.

In order resolved the issue, we need a common object, which is shared
among the Cell. In backgrid, the 'Column' object is mong the cell,
hence - implementation logic has been changed to bid the 'Column' object
with the 'options' function and, passed the 'Cell' object as an
arguments.

Because - we do use the common function 'transform' between 'Control'
and 'Cell', we needed make changes in the Select2Control to pass the
Control object as an arguments.

And, make the changes in the privileges control to use the new
implementation. The same logic is also required in some of the
operations, we will be/are working on the table/column nodes.
2016-04-08 11:10:34 +05:30
Dave Page 34a803fc68 FTS Parser support 2016-04-07 20:59:09 +01:00
Sanket Mehta d6d6361de5 FTS Parser support 2016-04-07 20:58:29 +01:00
Dave Page 680339ff20 Fix node type label 2016-04-07 20:57:45 +01:00
Dave Page 441a29f59c String tweaks. 2016-04-07 20:51:31 +01:00
Sanket Mehta 95566ed5e1 FTS Template support. 2016-04-07 15:01:56 +01:00
Murtuza Zabuawala ca277bc8b6 Type support 2016-04-07 12:27:33 +01:00
Ashesh Vashi 1ba0814377 Added support for 'array' type in the schema of Node model to treat as
an object, and handle it well in the toJSON(..) with session
transformation.
2016-04-06 15:05:39 +05:30
Khushboo Vashi 2add0155a3 Add support for domains. 2016-04-05 16:32:36 +01:00
Surinder Kumar d1eb3fd9d5 Utility functions for trigger and rule nodes, centralised because they're also utilised by the view node. 2016-04-05 16:19:55 +01:00
Khushboo Vashi 5ed7015ebc Add support for functions and procedures. 2016-04-05 16:14:10 +01:00
Ashesh Vashi 40165f2d1e Honour the 'show_system_object' flag when generating the list of schema nodes. 2016-04-05 16:37:54 +05:30
Harshal Dhumal 43d532321b Allow to close the create/edit dialog after successful 'save'
operation.

Some of the nodes do not return id as result, when they were created.
Modified the logic to allow to open the parent node in such conditions.
2016-04-01 15:34:29 +05:30
Murtuza Zabuawala 1a5eb0c417 Updated the template for the NodeAjaxOptionsControl, which was not honouring
the disabled attribute due to missing quotes around values.
2016-04-01 15:17:31 +05:30
Ashesh Vashi 242d5f47f6 Loading the jquery.aciSortable.min.js javascript, as when we destroy
the jquery-aciTree from preferences dialog, it throws an exception,
which uses functions from this javascript.
2016-03-24 14:23:44 +05:30
Dave Page 2a2374329e String improvements. 2016-03-23 16:03:22 +00:00
Dave Page 72f6353561 String improvements. 2016-03-23 16:00:26 +00:00
Dave Page 1ac16cbc0f We have defaults for switch display now, so no need to set the options explicitly. 2016-03-23 11:53:07 +00:00
Dave Page 258c7f3589 Don't display packages as schemas. 2016-03-23 11:52:11 +00:00
Murtuza Zabuawala 0e044e1216 Fixed the refresh issue when a server gets disconnected. 2016-03-23 16:52:21 +05:30
Harshal Dhumal ddd4768937 Backform control for selecting multiple columns.
Usage:

{
  id: 'columns', label: '{{ _('Columns') }}',
  type: 'collection', group: '{{ _('Definition') }}', editable:true,
  canDelete: true, canAdd: true, control: Backform.MultiColumnSelectControl,
  deps: ['index'], node: 'column',
  model: pgBrowser.Node.Model.extend({
    keys: ['column'],
    defaults: {
      column: undefined
    }
  })
}

Note: When using this control model should have column attribute. And node property should be column.
2016-03-22 16:52:34 +00:00
Khushboo Vashi 8ca134871f Update the Browser Tree Node Icon after editing. 2016-03-22 13:14:38 +00:00
Ashesh Vashi 87f9834951 Allow to create sub-menu/menu-group by specify the same category in
multiple menu-items (not just the 'create' menu-group).

Moved all the main menu/context menu generation implementation in the
'menu' javascript menu.

In this implementation, if more than one menu-items specify same type
of categories, they will be created withing that group, otherwise - it
will be created separately (unless 'single' property of that category is
set to true).

We can also provide icon, priority, separator(s) above/below it for the
individual sub-menu too using pgAdmin.Browser.add_menu_category
function(...).
2016-03-21 23:56:08 +05:30
Ashesh Vashi 79d6d50dcc The minimal refresh functionality, which will not unload the whole
tree, when 'refresh' on any node was selected.
2016-03-21 22:44:59 +05:30
Ashesh Vashi b056ba7bb7 Speed up the expansion/collapsing of nodes.
[as per Thom Brown <thom@linux.com>]

Also, we will not like to wait for 500 microsecond before initialing the
tree items, load them asap.
2016-03-21 22:44:59 +05:30
Khushboo Vashi 8a99282e07 Add support for domain dependencies/dependents. 2016-03-18 15:20:41 +00:00
Murtuza Zabuawala 3432481f9a Properly name the dbo and sys catalogs in PPAS. 2016-03-18 15:16:18 +00:00
Ashesh Vashi 84c5c29b92 Resolved an issue using wrong variable name for backbone-model, while
triggering events.

Thanks Khushboo Vashi for reporting.
2016-03-18 17:29:52 +05:30
Ashesh Vashi 4c9bbff28b Renaming a server, when it was connected, should not lose the existing
connections.

Thanks Neel for reporting the issue.

Also, resolved an issue related fetching properties of all the servers.
2016-03-18 17:12:40 +05:30
Ashesh Vashi 9dabd5bf3b Resolved an issue related to not able to select grantee in the
privileges control.

It was a regression introduced in the commit -
'4adea4dc2596fb495c4df8129745b87c35b062a6'.
2016-03-18 16:53:38 +05:30
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
Ashesh Vashi 09bdf1fab7 On Python 2, use urllib2 instead of urllib, which allows us to specify timeout
parameter.
2016-03-18 10:08:51 +05:30
Ashesh Vashi 328428ab22 Adding a timeout of 5 seconds (while fetching the latest pgAdmin version), it
stucks at rendering the main page (browser.html) in the broken network.
2016-03-18 09:58:00 +05:30
Ashesh Vashi 96b33d1aa8 Updated the jQuery-contextMenu to 1.9.2 (latest stable) version.
Also, added the missing license information about it in the libraries.txt.
2016-03-18 01:11:22 +05:30
Ashesh Vashi 1448a8f551 Log exceptions raised under the servers module. 2016-03-17 22:50:38 +05:30
Sanket Mehta 71badac203 Support "show system objects" in casts. 2016-03-17 11:49:11 +00:00
Neel Patel 3969e91563 Add support for Foreign data wrappers, servers and user mappings. 2016-03-17 11:39:38 +00:00
Dave Page 41805d40b5 Sort all nodes when loading. 2016-03-16 10:31:20 +00:00
Dave Page 2fb6ccf5b2 Re-shuffle server properties. 2016-03-16 09:58:14 +00:00
Khushboo Vashi a18553bd8c Add a data type reader utility. 2016-03-16 09:54:30 +00:00
Ashesh Vashi 40ceabb082 Do not rely on the individual model (instead use the first level 'top'
model) to fetch the node_info, because - when loading the data in the
collection, it may not initialize all the parameters.
2016-03-15 21:18:52 +05:30
Dave Page 62bd1a21cc Improve message display. 2016-03-15 15:45:40 +00:00
Arun Kollan c814698328 Fix security label sizing. 2016-03-15 15:07:40 +00:00
Akshay Joshi 218cc3ec0c As 'show_system_objects' has been implemented, I have fixed an issue for dependencies/dependents.
With previous implementation each node will have to send the values of 'show_system_objects'
while calling get_dependencies/get_dependents function. Now I have changed the logic to use the
value directly into the base class functions.
2016-03-15 14:16:33 +00:00
Ashesh Vashi 4adea4dc25 Resolved an issue related to no proper valid/invalid event was
generated for the privilege control. Also, made changes in the
PrivilegeRoleModel, to allow to select a grantee only once for the
current user (as grantor), and omit them from other cell objects.

Valid/Invalid event was not properly triggered, whenever the child
attribute is a collection/model within a model (nested mode/collection
within model). This patch tried to take care of all such scenarios in
general.
2016-03-15 19:00:58 +05:30
Ashesh Vashi b52a5736ff Improvements in the form/properties dialog control generation, and data
change events.

- In input & textarea control, call the change event on key up (but -
  not on every key up events, wait for sometime before trigger that
  event, so that - we do not overdo that).
- In unique/subnode control, whenever we create new model object, set
  all the required static fields used by pgAdmin form generation logic.
- In NodeAjaxListCell, we don't need to call the list generation
  operation (ajax operation) for each and every cell. They use the same
  shared column object.
2016-03-15 18:58:22 +05:30
Arun Kollan cdd7a1f637 Subnode collection layout improvements, with additional tweaks from me. 2016-03-15 12:30:01 +00:00
Dave Page fd05dec29c Default owner for new event triggers. 2016-03-11 16:58:46 +00:00
Murtuza Zabuawala b6f7202448 Add support for collations. 2016-03-11 13:40:28 +00:00
Dave Page c0086b092f Fix a number of minor issues with catalog objects:
- Remove unnecessary columns from collection property lists.
- Standardise property names and groupings.
- pg_attribute doesn't have an OID column, so use attnum instead (of atttypid!?!)
2016-03-11 10:09:23 +00:00
Dave Page 470881ac46 Fix cast SQL formatting. 2016-03-11 09:45:43 +00:00
Khushboo Vashi 2f334673a3 Fix a couple of issues with the unique-collection control:
- Pass the data to evaluation functions like canEdit, canAdd
- Properly honour the canAdd option.
2016-03-11 09:36:26 +00:00
Murtuza Zabuawala b747a5b5eb Update ACL parsing for tablespaces to use newer infrastructure. 2016-03-11 09:05:58 +00:00
Murtuza Zabuawala 5347bdb886 Added support for the catalog objects under special catalogs. (also,
added support for columns under it).
2016-03-11 01:09:06 +05:30
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 b7f6df34ab Fixup some SQL formatting, per Khushboo 2016-03-10 17:23:59 +00:00
Dave Page ce5d7b7d60 Fix gettext calls per Khushboo 2016-03-10 17:18:42 +00:00
Dave Page 649b719845 Variables should have their own tab on dialogues. 2016-03-10 17:15:58 +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 62537429d1 Show the ACL summary on the properties panel for databases. 2016-03-10 16:21:17 +00:00