Commit Graph

847 Commits (86858b18f65d9c861196180b8fec6a7b704e7b70)

Author SHA1 Message Date
Surinder Kumar 802840fd7f Fix various cosmetic issues with preference dialog
1. Foreign keys listed twice
The label for Exclusion constraint was set to 'Foreign keys'. fixed it.
2. Trigger function, Unique constraint, Primary key should be in title case
3. if user click outside of Preferences window it disappear (it should not disappear)
set preference alertify dialog option closableByDimmer to false.
4. Columns node settings listed twice
Override the register_preferences method in Columns CatalogObjectColumnsModule class
because there are two types of columns node, catalogs columns and tables columns.
so the settings for table columns should also work for catalog columns. Thats why we are not showing preference option for catalogs column node.
Ashesh fixed this issue.
2016-06-08 13:29:49 +01:00
Neel Patel 17fa6dcc40 Properly quote function names when starting the debugger. Fixes #1225 2016-06-08 13:22:03 +01:00
Surinder Kumar 8eb0742076 Add the Query Tool to the context menu, and improve prioritisation. Fixes #1256 2016-06-08 13:18:59 +01:00
Murtuza Zabuawala d7f5e95b2b Fix unwanted space indentation issue in Database node. 2016-06-08 12:56:56 +01:00
Murtuza Zabuawala 47007076cc Fix validation issue causing statistics tab to break if no node is selected on browser tree and user clicks on statistics tab. 2016-06-08 12:48:34 +01:00
Surinder Kumar a871b15fe9 When any of the docked tab(statistics, dependents & dependencies)
are clicked without selecting any tree node. it gives error in browser
console panel.
Because the node passed is undefined. and check is missing. This is now
fixed by adding check for node passed.
2016-06-08 12:46:30 +01:00
Murtuza Zabuawala 61037d4f60 Fix styling of statistics table. Fixes #1315 2016-06-08 09:30:53 +01:00
Dave Page 8a571df248 Revert "Fix appicon font styling."
This doesn't actually work - there seems to be something funky about
the way the runtime renders mfizz icons on Windows.

This reverts commit 5bbaf7841e.
2016-06-07 14:55:38 +01:00
Dave Page 5bbaf7841e Fix appicon font styling. 2016-06-07 14:08:37 +01:00
Murtuza Zabuawala 4ace8bb5b6 Statistics support remaining object types that support them. 2016-06-07 13:16:12 +01:00
Murtuza Zabuawala ac2612264c Fix validation of object before using it 2016-06-07 12:37:58 +01:00
Murtuza Zabuawala 20a22731e0 Fix incorrect condition checking for privileges. 2016-06-07 12:37:02 +01:00
Harshal Dhumal f3fae9d238 Fix email validation and mouse pointer over the Users option. 2016-06-07 09:24:44 +01:00
Harshal Dhumal e4f21568ad Fix styling of Alertify buttons 2016-06-07 09:23:58 +01:00
Dave Page 124f49869e Fix typo per Susan. 2016-06-07 09:06:29 +01:00
Ashesh Vashi 7d08e42bbe During encryption password is converted to buffer (instead of
bytearray), and that is causing the issue in Python 2.

This was regress of commit-id: 37e2e1d24b
2016-06-07 13:26:43 +05:30
Ashesh Vashi 37e2e1d24b Fixing the decryption issue during restoring the connection on restart.
As we convert the binary password to string during storing the
connection information, we also need to convert it back to byte-arrays
during restoring the connections.

Hence - decode the passowrd using 'utf-8' encoding during storing the
connection information, and encode it during restoring the connections.
2016-06-06 22:48:53 +05:30
Harshal Dhumal 7f1e57c2a6 Remove the header controls of subnode control properly, when removing it
from the VariableControl, and the customized TokenControl in the
fts_configuration javascript module during clean up process.
2016-06-06 18:53:19 +05:30
Murtuza Zabuawala 9ed2530b1f Fixes #1110 - Proper validation for the security labels. 2016-06-06 18:07:13 +05:30
Harshal Dhumal e3ab4501d5 User management. 2016-06-06 13:34:08 +01:00
Dave Page 4398d1d869 Fix mouse cursor on dashboard quick links. Fixes #1163 2016-06-03 13:10:49 +01:00
Ashesh Vashi 129ca87937 Removing wrongly overridden CSS on the Select2 arrow, and
selection__rendered.
2016-06-03 16:16:15 +05:30
Harshal Dhumal 5eef63c068 Added support for the password cell. 2016-06-03 16:13:43 +05:30
Murtuza Zabuawala 6dbfb7db7e Fixes #1273 - Resolved an issue setting privileges on the SHELL type. 2016-06-03 15:58:10 +05:30
Murtuza Zabuawala 6501f4cf36 Fixes #1280 - Resolved issue in json encoding while dealing with the
date format.
2016-06-03 15:54:04 +05:30
Murtuza Zabuawala c14ff8e15e Fixes #1300 - Honour show system object in the table dialog, and do not
show catalog schema tables.
2016-06-03 15:45:13 +05:30
Murtuza Zabuawala 9c8637cf0f Corrected the z-index of backgrid-filter so that - it does not take
precedence over top panel.
2016-06-03 15:43:06 +05:30
Murtuza Zabuawala 6036c431b0 Fixes #1283, #1287 - Do not show null description in the create mode,
corrected the index expression on table node.

Reported by Thom Brown.
2016-06-03 15:41:24 +05:30
Akshay Joshi 967159664e Fixes #1303 Query with Order by clause is not working in Query Tool 2016-06-03 14:40:57 +05:30
Murtuza Zabuawala 8b54b59f2b Fixes #1285 - Update the comments (description) over the tablespace
properly.
2016-06-03 15:36:47 +05:30
Murtuza Zabuawala 9436542074 Fixes #1223 - Do not allow to drop user from non-super user.
Also - fixed some javascript variable scope issue in the 'delete_obj'
function of nodes.
2016-06-03 15:32:33 +05:30
Murtuza Zabuawala 1bd37d1f76 Fixes #1275 Issue with Query tool for PPAS - not showing the correct output 2016-06-03 14:34:50 +05:30
Harshal Dhumal ab9f63d960 Fixes# 1210 - Send the columns SQL with proper mime type. 2016-06-03 15:24:39 +05:30
Murtuza Zabuawala 40ab0b7c88 Fixes #1298 - ACL for the SEQUENCE node were not parsed properly. 2016-06-03 15:23:14 +05:30
Harshal Dhumal dea4b8ca31 Proper evaluation of the optionsValues in the Backgrid Select2Cell. 2016-06-03 15:20:56 +05:30
Murtuza Zabuawala c3e2f5f212 Resolve threading issue in the dashboards. 2016-06-03 09:16:11 +01:00
Ashesh Vashi af1e70ba4f Load the collection node sorted on order by 'label'. 2016-06-03 06:49:20 +05:30
Ashesh Vashi 8313bc9b8a Do proper validation of the server node. 2016-06-03 06:29:23 +05:30
Ashesh Vashi 57f3cbfa3b Select parent node when deleting/dropping the last children. 2016-06-03 06:06:40 +05:30
Ashesh Vashi 05a3d509bc Fixes #1104 - Load the first level node properly, whenever we add first
node under it, and select that node.

This fixes the problem of adding first server.
2016-06-03 05:57:58 +05:30
Susan Douglas e47671edaa Table dialog and backup tool docs 2016-06-02 14:05:46 +01:00
Murtuza Zabuawala 1f25e90fa4 Fixes #1276 - Resolved an issue - 'TypeError: c is undefined on removing
member type from Type=composite'.
2016-06-02 15:31:07 +05:30
Ashesh Vashi e18b135f6f Rename the 'Auto Vacuum' tab to 'Parameter' as it represents 'Storage
Parameters'.
2016-06-02 15:28:32 +05:30
Surinder Kumar 2610eaefbe Fixes# 1290 - Use qtLiteral with parameterized values.
When not using qtLiteral, it was result into an error - "unknown
error displayed when modify comments which may special characters on
Materialized view".
2016-06-02 15:08:24 +05:30
Murtuza Zabuawala bf042d46a2 Check valid DOMElement existance before accessing it while updating the
menu updation.
2016-06-02 15:01:16 +05:30
Murtuza Zabuawala 60208b7ae5 Fixes an issue rendering the dashboard, when data object is missing.
Also, fixed an issue checking the existence of the data object before
accessing it in schema javascript module.
2016-06-02 14:58:14 +05:30
Surinder Kumar e8a52fcd31 Fixes #1295 - Added menu for the 'Grant Wizard' for the trigger function
nodes.
2016-06-02 14:48:24 +05:30
Surinder Kumar 278f18bab8 Fixes #1243 - Allow to resize the columns of the result table in the
Query editor.
2016-06-02 14:46:58 +05:30
Ashesh Vashi 486da5e12c Fixed issue only coming in the runtime.
* Do not need to translate an empty string. (that results into the
  translation header inclusion in the javacript module).
* String.prototype.StartsWith is not an well received function, it has
  not been available in the QWebkit for linux.
2016-06-02 13:15:26 +05:30
Ashesh Vashi 954163b495 Resolved an typo in Backup dialog.
Reported by Susan Douglas.
2016-06-01 15:39:54 +05:30
Ashesh Vashi adcaeeeaf8 Resolved an typo in Backup dialog.
Reported by Susan Douglas.
2016-06-01 13:43:57 +05:30
Murtuza Zabuawala 4482bbb1ba Fixed a typo in Type node javascript module. 2016-05-31 23:29:50 +05:30
Khushboo Vashi b4d195aafe Fixes #1278 - Load the foreign server node javascript module when
databases (not when servers) are being loaded.
2016-05-31 23:26:55 +05:30
Murtuza Zabuawala afcb62cfd6 Fixes #1262 - Do not allow to delete the default server group. 2016-05-31 13:48:07 +05:30
Ashesh Vashi 79d5e33955 Do not allow to edit properties for the object under a catalog schema. 2016-05-31 00:16:33 +05:30
Surinder Kumar 4aaa58352c Support for the 'Refresh CONCURRENTLY' is applicable only on the
database server >= 9.4.
2016-05-30 17:01:04 +05:30
Murtuza Zabuawala 70cca42d61 Fixes #1147 - 65536 is valid port for PostgreSQL. 2016-05-29 16:04:10 +05:30
Murtuza Zabuawala f4cb7d8f9c Fixes #1231, #1237
* 'Of type' can't be used with 'Like'.
* 'Of type' usage conflicts with adding columns.
2016-05-29 16:02:08 +05:30
Surinder Kumar 6cb83f08d6 Load nodes under the schema at database level.
The following node module script will be loaded, when first database
node object is added in the browser tree.
* Domains
* Foreign tables
* FTS Configuration
* FTS Dictionary, and
* Functions

Icons for these modules needs to be shown in the dependents list.
2016-05-29 15:33:35 +05:30
Murtuza Zabuawala c96f28b66f Fixes #1123 - Options other than 'Create' are not available in the
procedure node.

This patch also includes other fixes related 'procedure' node as below:
* Generate correct statement for dropping procedure.
* Fetch the missing schema name for the EXEC script.
* Removed the 'DROP CASCADE' menu options, as it is not supported by
  procedure.
2016-05-29 15:28:17 +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
Murtuza Zabuawala 100f075510 Fixes #1142 - Update the comments in edit mode for the function,
procedure, trigger function nod objects.
2016-05-28 19:47:12 +05:30
Murtuza Zabuawala fd0d740acc Fixes #1143 - Update the comments in edit mode for the foreign data
wrapper, and foreign table objects.
2016-05-28 19:45:12 +05:30
Sanket Mehta 2fb1e96e2f Fixes #1113 - Casts should be in alphabetical order. 2016-05-28 18:57:26 +05:30
Susan Douglas b482ba6ce9 Additional documentation pages for dialogs. 2016-05-27 17:13:36 +01:00
Ashesh Vashi f247153920 Updated the Alertify to use latest version 1.7.0 2016-05-27 14:54:29 +05:30
Dave Page b85fa58344 Additional docs from Susan. 2016-05-26 15:29:33 +01:00
Dave Page 7aea8f8536 s/domain-constraints/domain_constraints for consistency. 2016-05-26 15:27:06 +01:00
Surinder Kumar 6f2c8cfb31 Fixing couple issues with some of the nodes.
* Added 'catalog' as parent type for the domain, procedure nodes.
* Proper initialization of the FTS Configuration, FTS Parser, FTS
  Dictionary, FTS Template Nodes.
* Proper Indentation in collection.js
2016-05-26 11:19:17 +05:30
Neel Patel 95fe98600f Use the correct URL in the 'View Filtered Rows' dialog for the table
node. It should have not honoured the object node which is selected
afterwards.
2016-05-25 17:56:37 +05:30
Surinder Kumar f4938beb3c Error out - when user tries to load a binary file in the Query Editor. 2016-05-25 17:51:44 +05:30
Murtuza Zabuawala db79f3ff3d Fixes #1150 - Disconnecting a database action should followed by
updating the menu state according to its current state.
2016-05-25 17:44:39 +05:30
Surinder Kumar 4741992ad7 [Grant Wizard] Added support for Materialized View in the Grant Wizard.
Also - done proper view clean up when the wizard is cancelled.
2016-05-25 17:41:02 +05:30
Murtuza Zabuawala b1aa956af8 Fixes #1118 - Handle null, or empty string for the comments in Jinja2
template for Sequence Node.
2016-05-25 17:37:06 +05:30
Ashesh Vashi cf0f692d00 Dialog default sizing. 2016-05-25 11:18:05 +01:00
Ashesh Vashi 75fb99651a Center align the switch in backgrid 2016-05-25 13:46:42 +05:30
Ashesh Vashi 798ff03818 Role can update the catalog is not support from PG >= 9.5.
We will set rolcatupdate same as rolsuper from the properties query for
PG >= 9.5
2016-05-25 13:46:42 +05:30
Ashesh Vashi 748497916e Honour the node type (if provided) in the menu item, and disable it on
any other nodes.
2016-05-25 01:15:10 +05:30
Ashesh Vashi d20db0f43e Defined SwitchDepsCell in the schema javascript module, because - it
will be loaded before every other javascript module requires this Cell.
2016-05-25 01:01:02 +05:30
Surinder Kumar 05dde57651 Fixes #1207 - Unable to comments on materialized view with Postgres Plus
Advanced Server.

Made changes in the query templates for create, view-id, and update to
make it work properly with it.
2016-05-25 00:48:41 +05:30
Surinder Kumar c0ab396fad Fixes #1213 - Dropping the materialized view using an non-super user
results into an error - "list index out of range".

Using correct variable name while accessing parameter from an
dictionary.
2016-05-25 00:45:38 +05:30
Surinder Kumar d4644428e6 Fixes #1217 - Added support for the context menu - 'View Data' for the
Materialized View.
2016-05-25 00:02:52 +05:30
Murtuza Zabuawala c81977d441 Fixes #1136 - do not to allow create a server group with same name. 2016-05-25 00:00:28 +05:30
Murtuza Zabuawala 42a3b784ba Fixes #1135 - resolved an issue dropping a role with special characters. 2016-05-24 23:56:26 +05:30
Surinder Kumar 3b3cf7502b Added support for the CREATE script for View and Materialized View, and
SELECT & INSERT support for the Materialized View Node.
2016-05-24 23:53:19 +05:30
Murtuza Zabuawala af84ba5a4f Fixed all the review comments from Dave.
* Moved the Columns, and Constraint to its repective tabs.
* Ensure all the labels only have a capital letter on the first word
  (except for keywords or acronyms).
* Resolve the typo in string - 'System table'.
* Error messages on fields should not be shown unless the field loses
  focus and has an error.
* "General" section should have a limited subset of information.
* Variables grids should not be on the Security tab.
* Fixes the field labels that imply a question.
* Privileges controls on the Properties lists should be in a "Security"
  group.

Apart from review comments improved few other areas too:
* Used in-place DepsCell functionality for columns in both index, and
  type node.
* Improved the error handling in constraint nodes.
* Added create, alert SQL Help for nodes associated with the table node.
2016-05-24 23:29:55 +05:30
Murtuza Zabuawala aa1c283514 Added Insert/Delete/Update script functionality for foreign table objects 2016-05-24 12:41:00 +05:30
Ashesh Vashi dca6951e74 Fixes #1218 - Backup table not working.
Send parameters in proper format to work it well with table backup.

Thanks Fahar for reporting it.
2016-05-24 12:09:31 +05:30
Ashesh Vashi 0840e6af2d [Backup] Checking for 'only_data' parameter before accessing it.
Reported by Neel Patel
2016-05-24 12:02:49 +05:30
Ashesh Vashi 98fa93413d Initialize the msg to None as we may not have msg available, when
current version, and latest released version is matching.
2016-05-24 11:49:40 +05:30
Surinder Kumar 8a3a44ed25 Fixes the issue about redirection to undesirable URL when clicked on the
file control selection button.

All our views are inherited from the Backform.Form (a extended
Backbone.View), which has an tag element set to 'form'. The default
action for a button in form is to submit the data, and that results into
undesirable redirection within our Views. We can resolve the issue of
redirection by setting 'preventDefault' to true in the click event
object on that button. But - we may use the button control within our
view in future, and that will have the similar behaviour. Keeping that
in mind, we set the default tag to 'div' instead of 'form' for all our
views.

ommit.
2016-05-23 16:26:42 +05:30
Neel Patel aff0d417bb Fixed the issue related to set proper height, width of the div of a frame in
wcFrame. This is only happens only in the Firefox browser.

This was regression of the commit-id:
9a832086c5.
2016-05-23 13:22:40 +05:30
Dave Page 1724787f2a www.pgadmin.org now supports https. 2016-05-21 13:54:22 -04:00
Akshay Joshi 0a354055a9 Adding support for autocomplete in the SQL Editor.
In Query editor, we can use the autocomplete feature by using keyword
combination - 'Ctrl + Space'.
2016-05-21 16:04:29 +05:30
Neel Patel da28dc8507 Added support for importing and exporting the table data. 2016-05-21 15:43:43 +05:30
Ashesh Vashi 2c6ca7d82c Changed the Select2Control to work more consistently. 2016-05-21 15:41:38 +05:30
Ashesh Vashi b2b6d443b5 Do not validate the model unnecessarily (when closing).
Clear the cache of a node, whenever an object has been removed of that
kind, it will allow us to fetch the latest list.
2016-05-21 15:36:41 +05:30
Murtuza Zabuawala d2eaa8b3dd Adding support for the trigger functions node. 2016-05-21 15:09:44 +05:30
Murtuza Zabuawala 077075c765 Renaming the label of the browser left node after editing the properties
properly.
2016-05-21 15:06:14 +05:30
Surinder Kumar 3120ce1909 Fixes few issues with File Manager.
- Rename file/folder not working in list view.
- Selection folder only should not allow to select file.
- Ui changes in table list to match with the pgadmin color styles.
- Custom STORAGE_DIR path don't list files/folders when opened in window
  system.
- Code cleanup, formatting & did proper commenting.
- In file selection mode, the value typed in text box not setting into
  backbone model.
- Removed create file code, it should be handled on module using it.
- Written a common function to make ajax request, instead of writing
  individual functions for same task.
2016-05-21 15:02:05 +05:30
Ashesh Vashi 875e251359 Allow to specify the height & width from the javascript modules of an
individual node.
2016-05-21 14:18:26 +05:30
Dave Page 238da58732 Helpfile refactoring. 2016-05-20 16:39:35 -04:00
Surinder Kumar ecde42cbed Implementation of View & Materialized View 2016-05-20 17:43:30 +05:30
Akshay Joshi 4dbe058832 Implementation of Table, Column, Index, Trigger, Constraints and Rule Node.
- Table, Column, Index and Trigger (Author:- Murtuza Zabuawala)
 - Constraints Primary Key/Unique/Check/Foreign Key/Exclusion
     with integration into Table node (Author:- Harshal Dhumal)
 - Rule (Author:- Surinder Kumar)
 - Vacuum Control (Initial patch by Surinder Kumar and further enhancement by Murtuza)
2016-05-20 17:15:52 +05:30
Sanket Mehta 6895da9cbc Added support for FTS configuration node 2016-05-19 21:04:07 +05:30
Neel Patel 9a832086c5 Fixed an issue - not displaying query tool & debugger from the runtime.
In order to resolve the issue, set the height, width of the area (div)
under the wcFrame. wcIFrame consider the height, and width of this
container to determine the height, width & position of the iframe.
2016-05-19 15:55:13 +05:30
Akshay Joshi 3a9b331df6 Change the priority of Tools menu item 2016-05-19 13:53:49 +05:30
Akshay Joshi 7d5d6dad28 Remove testing code 2016-05-17 19:00:13 +05:30
Akshay Joshi 8312efe927 Fixed issue of getting/setting preferences options for 'Explain' 2016-05-17 14:38:44 +05:30
Akshay Joshi 216b6b16b5 Fixed issue change 'Auto Commit' option from preferences not reflacted properly on UI and also not set the class variable 2016-05-17 12:31:39 +05:30
Dave Page 1606f1d8e8 Link online help to dialogs 2016-05-16 22:35:27 -04:00
Surinder Kumar 2c7a45814c Resolved an issue about missing 'canDrop' function check for the browser
tree nodes.

Each individual node is responsible for introducing the 'canDrop'
function/flag to decide whether the 'Delete/Drop' context menu should be
enabled/disabled.

In commit-id: 26aa5607ad, 'obj.canDrop'
was set to true in the 'pgBrowser.Node' in delete callback, just to make
the server-group droppable, which is wrong, as all the nodes are
getting affected because of this change in a wrong way.

To fix the issue, added the 'canDrop' function in the server-group node.

Apart from them, also added restriction for not allowing to delete the
default server-group.

Also, handled the same restriction at the server end.
2016-05-16 23:09:11 +05:30
Ashesh Vashi d1e3237e2e Fixed misc issues 2016-05-16 19:51:15 +05:30
Ashesh Vashi 735e9ba67b Show the error div only when it has some data within it.
Changed its colour for better attendtion.

Reduced the margin-bottom for the backform-tab, so that - we can see the
control well in the properties dialog.
2016-05-16 19:05:38 +05:30
Ashesh Vashi 8a7a8eb9aa Check for valid object existence before checking its session changed
flag in the data model.

Thanks Murtuza, and Harshal for reporting it.
2016-05-16 18:29:32 +05:30
Ashesh Vashi 76087f3df3 Fixed issue while using decode() without checking type of the variable. Type maybe string or byte. 2016-05-16 13:22:10 +05:30
Ashesh Vashi 8bd17cb433 [Python 3 compatibility] Introduced a separate HTML safe string function
in 'utils' module, earlier the function -'escape(...)' was converting
the strings to bytes, and that's reason, it was not working on Python 3.
2016-05-16 11:58:42 +05:30
Ashesh Vashi 3bbfd8a19f Loading the explain.js as 'application/javascript'
On some older version of browser, it was considering it as HTML.

Thanks Neel Patel for reporting.
2016-05-16 11:28:23 +05:30
Ashesh Vashi 28af92d386 Resolved a bug about listing file type listing, 'All Files' were listed
twice in some cases.
2016-05-16 02:43:38 +05:30
Ashesh Vashi 38bb45ec86 Adding backup as a allowed file type in the backup utility file-control 2016-05-16 02:19:41 +05:30
Ashesh Vashi 63b951baee Adding initial version for showing statistics for the server, and
database nodes.
2016-05-16 01:58:02 +05:30
Khushboo Vashi d1e2b902dc Add support for foreign server 2016-05-16 01:42:09 +05:30
Sanket Mehta fcc3d112e2 Integrate the graphical explain module in the Query Editor.
Added few TODO list for the graphical explain module by Ashesh.
2016-05-16 01:07:54 +05:30
Murtuza Zabuawala 5ca63fba48 Initial version for generationg the CREATE/SELECT/EXEC scripts for the
selected node.
2016-05-16 00:25:34 +05:30
Neel Patel c34e62207a Added support different maintenance operations
i.e. vacuum, analyze, reindex, cluster.

Tweaked by Ashesh for:
* Integrate it with the background process executor, and observer.
* Changed the UI for operation selection from select2 to custom radio
  group.
* Made it consistent with other tools like backup, restore, etc.
2016-05-16 00:16:52 +05:30
Ashesh Vashi ca62825c90 Set PGPASSWORD environment variable from the process executor before running
the external utility.
2016-05-15 22:29:17 +05:30
Murtuza Zabuawala 2da3a710a1 Added support for restoring a tar/custom type backup file in a object.
Tweaked by Ashesh Vashi as below:
- Integrated it with the background process executor, and observer.
- Improved the message format of the backup module messages.
- Created an item in TODO list to list down the objects in the selected
  backup file.
2016-05-15 20:00:02 +05:30
Murtuza Zabuawala 8ca760ee2b Addd support for taking backup for the server.
Tweaked by Ashesh Vashi to integrate the backgroud process, and also
with some improvements as stated below:
* Resolved an issue loading existing preference.
* Improved the background process observer/executor for supporting
  detalied view.
* Added the utility path preferences in the ServerType class.
2016-05-15 16:04:39 +05:30
Ashesh Vashi fe0911f285 [Python 3 compatibility] Improved the background process executor to
work with Python 3.
2016-05-15 00:03:25 +05:30
Ashesh Vashi 491bd3605b Fixed an issue creating extensions 'postgis_topology', and
'postgis_tiger_geocoder'.

Current implementation changes the schema name, whenever we chance the
name, which is wrong. We should have not change the schema for this
event.

Thanks Fahar Abbas for reporting.
2016-05-14 15:42:25 +05:30
Surinder Kumar 1aeab98a2b Load, and save the files in the Query Editor.
Also, the changes done by Ashesh to resolved few issue with the file
manager in 'Select' mode.
2016-05-14 15:29:08 +05:30
Neel Patel 4dc7f84761 Added functionality to Pause/Resume replay of WAL on the database
server.

Tweaked a little bit by Ashesh.
2016-05-14 01:41:20 +05:30
Harshal Dhumal 14839bf5de Always make sure - we convert the psasword to string in the as_dict
function.
2016-05-14 01:14:26 +05:30
Surinder Kumar cc91a538e0 Fixed the canDrop function of the node menus does not get called during
enable/disable menu checks.

Tweaked a little bit by Ashesh.
2016-05-14 01:10:20 +05:30
Ashesh Vashi b22d73ec46 Improvise the pgsql driver to keep the utility names used for different
operation like backup, restore, etc within it.

Also:
* improvised the color combination of the background process logger.
* Removed an unnecessary print statement from the
  get_storage_directory(..) function, also return None if STORAGE_DIR
  is set to None.
2016-05-14 00:48:20 +05:30
Surinder Kumar 5348f6e96a Improvised the file manager functionalities as per comments given:
* Do not show the drives on windows, if STORAGE_DIR is set.
* Do not show non-applicable buttons, whenever no files/directory
  present in the storage directory.
* Showing dimmer under the warning messages for replace/delete.
* Select file type other than 'All Files' in create/replace mode.

Tweaked a bit by Ashesh.
2016-05-14 00:42:41 +05:30
Surinder Kumar 938ea21f40 Fixed following issues:
1) Grant wizard close issue.
   2) Moved grant wizard specific css from wizard.css to grant_wizard.css
   3) removed 'ajs_content' css from wizard.css causing padding issue in alertify dialog
2016-05-13 15:04:36 +05:30
Murtuza Zabuawala 174363c9a7 Fixed typo for acl in tablespace node 2016-05-13 13:43:35 +05:30
Harshal Dhumal 4816f5ed12 Change server password feature 2016-05-13 13:21:20 +05:30
Akshay Joshi 8e4e1640e7 Fixed cStringIO and StringIO module compatibility in python 2016-05-13 11:22:59 +05:30
Ashesh Vashi f682f06c94 Adding a background process executor, and observer.
We will be using the external utilities like pg_dump, pg_dumpall,
pg_restore in background. pgAdmin 4 can be run as a CGI script, hence -
it is not good idea to run those utility in a controlled environment.
The process executor will run them in background, and we will execute
the process executor in detached mode.

Now that - the process executor runs in detached mode, we need an
observer, which will look at the status of the processes. It also reads
output, and error logs on demand.

Thanks - Surinder for helping in some of the UI changes.
2016-05-13 08:49:51 +05:30
Ashesh Vashi 512e11c47c 'pgadmin.utils.storage' has been renamed to 'pgadmin.utils.paths'. Resolved the typo. 2016-05-13 00:36:45 +05:30
Ashesh Vashi 9cdd1f8098 Added support for the server side file manager, which will be useful in
selection, creation, upload/download files/directories resides on the
server side.

This will be useful for file selection/creation for different server
side utilites like pg_dump, pg_dumpall, pg_restore.
2016-05-13 00:04:32 +05:30
Harshal Dhumal 180630ce0e Fixed variable scope issue in server.js 2016-05-10 18:16:08 +05:30
Murtuza Zabuawala 83b6a04763 Added input validation and title of the prompt for 'Named Restore point' functionality 2016-05-10 16:04:47 +05:30
Harshal Dhumal 585daddce2 Destroy the existing Select2 object before rerendering the control. 2016-05-12 16:14:06 +05:30
Ashesh Vashi d768faf2ea Do not validate the attributes on saving, because - sometimes it results
into an error, and does not call the callback - 'success/fail'
internally.

And, that will not close the property dialog in those cases.

Reported by Harshal Dhumal.
2016-05-12 15:51:21 +05:30
Harshal Dhumal a4d981cced Remove all the object view control within the subnode control, whenever
we remove it.

It will remove all the events, controls, elements, etc associated with
the subnode control.
2016-05-12 15:47:36 +05:30
Murtuza Zabuawala 40a9490382 Check for the connection status before executing the statement for
checking the 'server in recovery' information.

Thanks Khushboo for reporting the issue.
2016-05-12 13:23:24 +05:30
Ashesh Vashi 7f790a7f49 Use the same cursor object of a connection object only from the same
server.

Current implementation keeps the cursor object in the 'g' (current
request context) object identified by the connection-id.
But - it fails to identify a different connection object request, when
we have same database name in different database server, it does not
able to identify it as separate request, Hence - now we will use
server-id qualified identifier for the same object.

Thanks Neel Patel for pointing out the issue.
2016-05-12 13:08:38 +05:30
Dave Page 81e59be1bd Fix menu width. 2016-05-11 16:34:25 +01:00
Murtuza Zabuawala 23f0cf07ca Allow creation of named restore points. 2016-05-11 16:13:14 +01:00
Ashesh Vashi 7513cebd8c Load only one set of CSS files per module.
There are times, a module is loaded multiple times, and returns same set
of CSS files mulitple times, in order to avoid loading the same file
multiple times, we will create a set out of the list of CSS files.
2016-05-11 12:46:16 +05:30
Surinder Kumar 01e83f1807 Adding missing dependency 'underscore.string' in the 'menu.js'. 2016-05-11 12:11:06 +05:30
Murtuza Zabuawala ce043fbe07 Python 3 compatibility fix - iteritems() is deprecated. 2016-05-10 17:01:11 +01:00
Ashesh Vashi 9cae686c65 Allow the modules to define the i18n messages, and other messages
required by its javascript module.

This will allow us to load the javascript modules as a static file, and
not as a Jinja2 template. This will increase the load time, as it will
decrease number of templates to be processed during loading those
javascripts.
2016-05-10 16:07:48 +05:30
Ashesh Vashi d8cbee3850 Adding the timeout for the connection on the configuration database.
While accessing the configuration database from multiple session, it
results in to the error - OperationError, because - sqlite locks all the
database, and does not allow to access it simultaneously. We added the
timeout to give some time window for accessing it simultaneously.
2016-05-10 15:59:04 +05:30
Neel Patel 8cfca280d4 Fixed issue 'Reload Configuration' option is also enabled on database node while it should only be enabled on server node 2016-05-09 23:22:35 +05:30
Harshal Dhumal 176b99c90b Added the multiple selection support in the Select2Cell 2016-05-10 13:48:54 +05:30
Sanket Mehta 817bdd0108 Fixed typos in FTS DICTIONARY node 2016-05-10 12:53:39 +05:30
Harshal Dhumal baae12dfcc Improve the password error message color on the 'Change Password' page. 2016-05-10 12:47:51 +05:30
Khushboo Vashi dd7bde5ab8 Introduced the dependencies logic functionality (used in the backform),
which will allow us to add dependencies other model attributes on custom
backgrid cell.
2016-05-10 12:40:56 +05:30
Khushboo Vashi 7a400bacf3 Do not send the incomplete definition of a node object to the server
instead show proper message.

Tweaked by Ashesh for adding the proper message
2016-05-10 12:34:24 +05:30
Ashesh Vashi e8b4bb909b Do not honour the session-id, longer than 40 characters, instead create
new session-id in that case.
2016-05-09 00:04:37 +05:30
Ashesh Vashi b383c67fa5 Treat the Array different from the Object to make sure session tracking
works well with it.
2016-05-08 23:55:57 +05:30
Khushboo Vashi e522ebbcca Ensure delete/drop works without JS errors. 2016-05-06 15:47:21 +01:00
Khushboo Vashi f3d05279a7 In IE10, the Save/Reset buttons are not getting enabled after changing fields. 2016-05-06 15:29:32 +01:00
Neel Patel 4190933909 Allow the server config to be reloaded. 2016-05-06 15:08:22 +01:00
Khushboo Vashi 86c4dd06b5 Fix dependents/dependency icons. 2016-05-06 14:50:17 +01:00
Murtuza Zabuawala 94303867dd Fix a typo introduced in a merge. 2016-05-06 13:58:31 +01:00
Karen Blatchley 949e536bae First round of string review and cleanup. 2016-05-06 13:53:48 +01:00
Akshay Joshi 894002b06d Fixed below review comments for QueryTool
- The button bar be moved out into an HTML template
 - create.sql should perhaps be renamed to insert.sql
 - The "Add Row" button only works if you're on the last page of the resultset.
 - Use one wcDocker instead of two
 - Added support of code folding
2016-05-06 18:09:04 +05:30
Akshay Joshi 7867adaa53 Added dependency of messages 'pgadmin.browser.messages' in backfrom.pgadmin.js 2016-05-06 17:55:50 +05:30
Neel Patel 149c59aa4f Fixed below review comments
- Removed the "lineWrapping" option from the codemirror textarea because
  it was creating issue in the code folding.
- Handle the values while depositing during debugging.
- Properly handle the Array values while saving it to sqlite database
  and displayed in input dialog.
- SQL code folding was not supported in codemirror so added the same.
2016-05-06 16:05:32 +05:30
Dave Page 1efba422bc Fix comment marker. 2016-05-06 10:23:17 +01:00
Dave Page c3762c9059 Ensure we update the error message on dashboard grids when it changes. 2016-05-06 08:49:28 +01:00
Dave Page 0628ee0425 Dashboards v1 2016-05-05 16:42:16 +01:00
Ashesh Vashi 07e0de5399 Resolved an issue, a copy-paste issue (was using field instead of the
column object) in NodeAjaxOptionsCell.

It was regression of '32e0a0d4b62462d45da88c177ffc6966de3dbcbb' commit.

Thanks Harshal for reporting this.
2016-04-29 17:25:43 +05:30
Ashesh Vashi 1b5037afe7 Show the resize handle on the alertify dialog. 2016-04-29 16:19:29 +05:30
Surinder Kumar c15b7c6cae Remove unnecessary extra classes set in the SqlFieldControl, and also
removed the unnecessary classes for the same in the overrides.css file.
2016-04-29 16:05:55 +05:30
Ashesh Vashi 9ef7132e83 Set proper context object, when triggering the 'pgadmin-session' events
in order to resolve few corner cases for validation.
2016-04-29 15:56:56 +05:30
Ashesh Vashi 32e0a0d4b6 Clear the node cache, when an node is created/updated to make sure - we
will always have latest data related to that type of node. Also, fixed
the cache_level for different node types.

This commit also contains fixes for the following issue:
* In extension module - use the 'node-list-by-name' instead of using a
  custom 'node-ajax-options' control, and removed redundant template
  schemas from it.
* When we tries to destroy the select2 object from
  Select2Cell/Select2Control while releasing the properties view,
  sometimes select2 can not find the instance related it for some
  unknown reason. Hence - before removing it we will check for manual
  instance existance using $.data('select2').
* When we traverse through the browser tree nodes very quickly, it tries
  to remove the object before it gets created completely, and results
  into an exception.
* Icon in the select2 drop down list was not visible due to some CSS
  issues.

Apart of that, we will generate two new browser events -
'pgadmin-node:created:<NODE-TYPE>', 'pgadmin-node:updated:<NODE-TYPE>'
whenever a new node is created, or an existing node will be updated.
2016-04-29 15:50:38 +05:30
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
Khushboo Vashi 970e0c3540 [Python 3] Fixed an issue iterate the keys from the session loaded from
the sqlite.
2016-04-26 16:16:29 +05:30
Ashesh Vashi 9dd3aeadb5 Do not close the menu, when clicking on the menu with checkbox.
Introduced a class 'noclose'. Then - menu-item having this class will
not propograte the events to its parent, hence - it will not be closed.

Some of the CSS applicable only to the immediate buttons only, and not
the grand-children.
2016-04-25 22:06:42 +05:30
Ashesh Vashi 26e9ceaf48 Do not reset the driver registry when the 'load_driver' method of
DriverRegistry is executed second time.

Also, initialize the driver before registering different blueprints,
which uses those driver inside them.

Thanks Khushboo for reporting the issue.
2016-04-25 15:33:54 +05:30
Ashesh Vashi 52aa32a4d2 background-position-x and background-position-y are not supported on the
browser, using background-position instead which is supported in all the
supported browsers.
2016-04-25 13:45:54 +05:30
Murtuza Zabuawala 973e2b1b4a Match the border style of the inline-fieldset with the other control. 2016-04-25 13:34:51 +05:30
Ashesh Vashi 0e50f4b1f3 Fixed the issue - preferences were saved.
It was regression of the commit-id:
533aaa2fa3.
2016-04-25 11:54:02 +05:30
Ashesh Vashi 1b44aed456 Resolved an issue - rendering the SQL control refering to the undefined
variable.

It was regression of the commit-id:
085ce50545.
2016-04-22 22:55:54 +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
Dave Page 471cd72bb9 Cleanup debugger dashboard 2016-04-20 09:00:25 -04:00
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
Neel Patel 4f8b018b39 Various tweaks and improvements to the debugger 2016-04-18 08:34:18 -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
Ashesh Vashi 7522d89890 We would not like to make the overflow hidden for the main panel class
''pg-panel-content'.

This reverts commit 8dd8fc57a4.
2016-04-18 12:12:47 +05:30
Khushboo Vashi 2d8633d4ca Fixed few typos/issues in the datamodel.js 2016-04-18 12:10:19 +05:30
Ashesh Vashi 8dd8fc57a4 Revert "Revert "Fix the properties toolbar at the top of the panel so it's always visible.""
This reverts commit e210d2b580.
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
Surinder Kumar e7902d4b45 Support procedures and ignore packages that look like schemas properly in PPAS 2016-04-16 10:01:28 +01:00
Seçkin Alan 26aa5607ad Fix dropping of server groups. 2016-04-16 09:55:38 +01:00
Dave Page e210d2b580 Revert "Fix the properties toolbar at the top of the panel so it's always visible."
This reverts commit 6e42e48244.
2016-04-15 15:47:14 +01:00
Arun Kollan 533aaa2fa3 Restyle alertify dialogues so they look like the rest of the app. Still some tweaks needed, but we're 95% of the way there. 2016-04-15 15:30:50 +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
Ashesh Vashi 6e42e48244 Fix the properties toolbar at the top of the panel so it's always visible. 2016-04-15 14:44:09 +01:00
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
Dave Page 1c0e477823 Icon for the grant wizard. 2016-04-15 11:17:16 +01:00
Dave Page cf80db66a6 Confine whitespace prewrap to the SQL Editor's output grid to prevent it breaking subnode forms. 2016-04-15 11:11:32 +01:00
Dave Page 9c65b73f31 Fix "View Filtered Rows" option. 2016-04-15 08:52:27 +01:00
Ashesh Vashi af680b724d Improvise the Select2Cell
Select2 does not allow to scroll any of the parent container once it was
opened, and if it was not properly closed.

Also, resolved an issue - existing selection was not working, while
re-rendering the Select2Cell.
2016-04-15 11:01:14 +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
Neel Patel 12ae40fe62 Procedural language debugger. 2016-04-14 21:36:04 +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
Dave Page dc06f92bb3 Update message catalog 2016-04-14 15:49:23 +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
Akshay Joshi c6acbcb5ad Query tool/data editor initial version 2016-04-14 15:04:03 +01:00
Dave Page 0420210076 Fix favicon routing 2016-04-14 13:40:01 +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
Seçkin Alan af1e38a97a [Python 3 compability] Fixed the issue introduced by the Grant Wizard,
which fixes a issue with the Python 3.
2016-04-14 11:54:29 +05:30
Surinder Kumar 40c592a988 Grant wizard. 2016-04-13 16:11:43 +01:00
Murtuza Zabuawala 6e237d16ca Add canAddRow/canEditRow/canDeleteRow functionality for Backgrid.
This will allow user to check condition on individual opration(add/edit/delete row) rather than only while rendering the control.
2016-04-13 15:54:17 +01:00
Arun Kollan 0fb0820c64 Fix CodeMirror borders on dialogues. 2016-04-13 12:24:46 +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
Seçkin Alan de2e7bf8f1 Fix the mouse pointer on the top-level menus. 2016-04-13 09:58:38 +01:00
Akshay Joshi 03d6fce53c Add support for an affected row count property to the DB interface. 2016-04-12 17:02:54 +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 c304d3e90e Save the database OID of the maintenance database. 2016-04-11 17:15:55 +05:30
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