Commit Graph
100 Commits
Author SHA1 Message Date
Harshal Dhumal da40573f0b Fix user manager role handling. Fixes #2641 2017-09-18 11:45:57 +01:00
Harshal Dhumal 765e130336 Support Flask-Security 3.0 2017-09-18 11:40:09 +01:00
Harshal Dhumal 30e7016077 Changed array representation and formatting for the data types in Query Tool and View Data. Fixes #2671 2017-09-18 12:07:15 +05:30
Harshal Dhumal 263aa42725 Reset query tool options before running tests. Fixes #2681 2017-09-05 16:25:15 +01:00
Harshal Dhumal dbf760c6e7 Improve datamodel validations for default Validator if user (developer) do not implement validate function in datamodel. Fixes #2670 2017-08-31 09:54:31 +01:00
Harshal Dhumal 048205ead5 Rename the debugger XSS test function to 'a_test_function' to ensure it appears near the top of the tree and not off-screen.
This should not be a permanent fix (the test should be able to scroll the treeview), but works for now to stop tests failing.
2017-08-30 11:12:27 +01:00
Harshal Dhumal ceb9438000 Cleanup feature tests. Fixes #2586 2017-08-29 14:57:56 +01:00
Harshal Dhumal b1ad89fb4a Using the proper python syntax to fetch the default binary path for
different servers types.
2017-08-26 09:59:57 +05:30
Harshal Dhumal 831c614a60 Store the file dialog view on toggle. 2017-07-26 14:35:43 +01:00
Harshal Dhumal 97cd74a373 Default the file browser view to list, and make it configurable. Fixes #2579 2017-07-26 13:09:52 +01:00
Harshal Dhumal d339d6b816 Do not dump the session data on the disk on every request.
Session object is updated, everytime a request is being served, and
that was forcing the session object dumped on the dist on every request.

On windows, it was causing issues on slower system on startup. Because -
windows file system locks the file, when it is opened by any
application. And, frequent requests on the pgAdmin main UI rendering
was causing issues, because of that.

In order to resolve the issue, we will not write the session data on
disk for every request, but - only after certain delay (in seconds),
from it was last written. It can be configured using the attribute
'PGADMIN_SESSION_DISK_WRITE_DELAY' in the configuration file,
default vaule for the delay is 10.
(i.e. 10 seconds)
2017-07-25 15:52:32 +05:30
Harshal Dhumal 7182b59976 Ensure arrow keys work correctly when the pane is focused instead of the tab in the query tool history. 2017-07-21 13:33:59 +01:00
Harshal Dhumal 54882e061c Don't attempt to render binary data in the query tool result grid. Fixes #2080. Fixes #2074. 2017-07-20 13:09:47 +01:00
Harshal Dhumal 3942461c50 Correct for malformed query generated when using custom type. Fixes #2544 2017-07-17 11:14:34 +01:00
Harshal Dhumal 8bbcf0ab36 Fix handline of large file uploads and properly show any errors that may occur. Fixes #2153 2017-07-17 10:51:26 +01:00
Harshal Dhumal 07aa74eaf5 Show tablespace on partitions. Fixes #2551 2017-07-17 09:50:18 +01:00
Harshal Dhumal 7aa7ea0fe2 Couple of typos in the release notes. 2017-07-10 15:18:48 +01:00
Harshal Dhumal d151bdb4cd Fix handling of CREATE TABLE OF <type>. Fixes #2534 2017-07-07 16:34:33 +01:00
Harshal Dhumal fc78202600 Fix clear history. 2017-07-07 15:51:06 +01:00
Harshal Dhumal 76939e4f63 Prompt the user to save dirty queries rather than discard them for a more natural workflow. Fixes #1972 2017-07-04 23:39:10 +01:00
Harshal Dhumal 1977a5fcda Fix clipboard handling with large datasets. Fixes #2489 2017-07-03 11:19:02 +01:00
Harshal Dhumal 4e21cdb64b Fix a syntax error in the SQL Editor. 2017-07-03 11:02:20 +01:00
Harshal Dhumal 2d65312910 Improve speed of Select All in the results grid. Fixes #2522 2017-06-30 09:54:31 +01:00
Harshal Dhumal 7389744ecf A number of minor cleanups to the recent changes to the query tool. 2017-06-28 09:49:39 -04:00
Harshal Dhumal c65158312d Use on-demand loading for results in the query tool. Fixes #2137
With a 27420 row query, pgAdmin III runs the query in 5.873s on my laptop. pgAdmin 4 now takes ~1s.
2017-06-27 09:03:04 -04:00
Harshal Dhumal aa400cbc12 Fix integer/numeric validation on various dialogues. Fixes #2421 2017-06-08 14:59:26 +01:00
Harshal Dhumal a80f760933 Only reconnect to databases that were previously connected. Fixes #2292 2017-05-08 12:36:51 +01:00
Harshal Dhumal 9acf340400 Generic function qtLiteral was not adapting values properly when they contain non ascii characters. Fixes #2305 2017-03-31 21:11:25 -04:00
Harshal Dhumal 720aefbe6f Select2Cell: Check if cell is in multiselect mode before setting default selection of multiple values. Fixes #2283 2017-03-23 10:45:42 +00:00
Harshal Dhumal 2142824448 PRevent an error being displayed if the user views data on a table with no columns. Fixes #2244 2017-03-21 16:40:21 +00:00
Harshal Dhumal e4134695e5 Fix dropping of databases with Unicode names. Fixes #2243
1. Pickup correct encoding in qtLiteral to decode.
2. While releasing database connection only decode database name if it's not unicode.
2017-03-17 10:33:03 +00:00
Harshal Dhumal 502c827697 Fix numeric control validation in nested schemas. Fixes #2241 2017-03-09 15:23:18 +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
Harshal Dhumal b961b2d929 Fix function arguments when generating create SQL. Fixes #2198 2017-02-24 12:42:25 +00:00
Harshal Dhumal 1c09b57a1a Fix casting issue with dependents queries. 2017-02-24 10:48:46 +00:00
Harshal Dhumal 685b1ea12f Fix renaming of check constraints when the table name is changed at the same time. Fixes #2201 2017-02-24 10:44:43 +00:00
Harshal Dhumal 5e33fe4e95 Properly handle event trigger functions in different schemas. Fixes #2200 2017-02-24 10:40:11 +00:00
Harshal Dhumal 4ef26a528b Allow direct navigation (i.e. typing of paths) in the file manager. Fixes #1911 2017-02-03 10:51:36 +01:00
Harshal Dhumal 415119d581 Properly remove any event listeners added by subnode control. 2017-01-20 13:24:37 +00:00
Harshal Dhumal 5adc6b71ca fix display of double scrollbars on the grant wizard. Fixes #2028 2016-12-19 09:25:14 +00:00
Harshal Dhumal 2994c128f3 Fix inconsistent table styling. Fixes #2027 2016-12-19 09:21:49 +00:00
Harshal Dhumal 2952faab5e Fix exclusion constraint support on 9.6. Fixes #1875 2016-10-21 16:14:19 +01:00
Harshal Dhumal aef508ff91 Properly quote type names in RE-SQL for tables. Fixes #1863 2016-10-21 14:43:57 +01:00
Harshal Dhumal 6874a1a247 Properly generate exclusion constraint SQL. Fixes #1861 2016-10-21 12:04:30 +01:00
Harshal Dhumal 713c692ddd Fix View privilege management. Fixes #1531
1. Fixed update privileges for views and materialized views.
2. Apart from this fixed wrong sql for privilege update.
3. Fixed: Error message was not got cleared even after removing entry with error on privilege tab.
2016-10-10 09:42:22 +01:00
Harshal Dhumal f117685d77 Drop all connections from the connection manager when a server is dropped to avoid issues if sqlite reuses an ID. Fixes #1720 2016-09-22 12:57:52 +01:00
Harshal Dhumal 58a79e4fc6 Fix parsing issue in packages. 2016-08-22 16:49:32 +01:00
Harshal Dhumal cf1be2a320 Add support for Packages on EPAS. 2016-08-22 12:30:16 +01:00
Harshal Dhumal 1056e9553f Show default database privileges in properties mode. Fixes #1538 2016-08-17 14:22:56 +01:00
Harshal Dhumal 8918b8894d Fixed privileges parsing issue while editing privileges of existing object. Fixes #1417 2016-08-08 16:31:57 +01:00
Harshal Dhumal f78024808e Prevent the user attempting to run external commands if the bin path is not configured. Fixes #1177 2016-08-08 11:59:37 +01:00
Harshal Dhumal cb35c46f03 Fix View Data options for tables with columns that need quoting. Fixes #1492 2016-08-04 11:54:36 +01:00
Harshal Dhumal dfceb63986 Add save password option in sever create mode. Fixes #1450
Do a little string/layout cleanup whilst passing.
2016-08-03 15:55:45 +01:00
Harshal Dhumal de568b3021 Fix renaming of constraints from the table dialogue. Fixes #1500
1] datamodel.js: For collection type added check before adding model into "changed" list instead of adding it blindly.

2] Type casting from str to int of column properties like attlen, attpricision.

3] Added missing data formating when adding new column to existing table (from table edit mode).

4] Added more validation for Foreign key constraint.

5] Column.js: Column grid (in table edit mode) show proper disabled color for disabled cell when grid renders.

6] All constraints and index js added idattribute to distinguish which s/constraint or s/index is updated on server side.

7] Column update.sql: Fixed sql when altering column data type. The issue was when we alter data type from which has length and precision to data type which don't have these properties and vice versa.
For e.g. alter data type numeric(10,12) to real (and vice versa)

8] Renaming constraint (RM1500).

9] simplejson KeyError handing for Python 2.7.
2016-08-03 15:39:14 +01:00
Harshal Dhumal ec3b9bb15b Allow to create the foreign table with inherits options. Fixes #1260 2016-08-02 09:38:56 +05:30
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
Harshal Dhumal 875360d1c8 When we use deps functionality, backform controls re-render then. But before we re-render them we must remove old grid (if any) otherwise is causes js error "Unable to call exitEditMode of undefined". Fixes #1497 2016-07-25 14:31:17 +01:00
Harshal Dhumal 9dd3cf2399 Make Save/Save As menu options work a little more sanely. Fixes #1460 2016-07-25 12:55:06 +01:00
Harshal Dhumal a7d7577c7c Query tool file handling cleanup. Fixes #1460
- Opening a file should set the tab name to the filename
- Editing a file should add a * to the tab name to indicate the file is dirty
- Saving changes to a file should clear the *
- The Save button should have a drop-down menu, with a Save As option.
2016-07-21 13:44:42 +01:00
Harshal Dhumal 83a1535f89 Fix saving of query output as CSV data. Fixes #1405 2016-07-18 15:29:09 +01:00
Harshal Dhumal c7d25c33f2 Make the Parameter grid use a workflow consistent with other grids. Fixes #1241
1. Altered variable control to make its UI consistent with privileges and Security labels.
2. Changed datamodel.js to handle duplicate rows at datamodel level and not UI/Control level. (See variable control for example)
2016-07-18 11:50:42 +01:00
Harshal Dhumal 4077de2187 Fix Select2 issues. Fixes #1418. Fixes #1434
1. Select2 control fixed for multi-select mode.
2. Index constrains (primary and unique key) fixed column listing issue.
3. Table node "inherited from" (Select2 control) was not showing table name with public schema
2016-07-05 12:58:48 +01:00
Harshal Dhumal 9396cb03d5 Fix intermittent CodeMirror rendering issue. Fixes #1399 2016-06-29 11:19:04 +01:00
Harshal Dhumal 19b4f9e01f Issue Fixed: Now User cannot be created with single (or less than 6 ) character password.
Fixes #1386
2016-06-21 09:20:21 +01:00
Harshal Dhumal 237f93591f Keyboard shortcuts in the Query Tool:
Execute  -->   Ctrl + Shift + E
Explain  -->    Ctrl + Shift + X
Explain analyze  -->   Ctrl + Shift + A
2016-06-20 13:03:46 +01:00
Harshal Dhumal fc40197d39 Fix handling of errors when using "Connect Now?" for new servers. Fixes #1313.
Also fixes #1363 - display the server group properly in server properties.
2016-06-15 12:36:56 +01:00
Harshal Dhumal 6b95d6ac75 Added connect now option in server create dialog. Fixes #1313 2016-06-14 17:23:25 +01:00
Harshal Dhumal b0b21fd46c Avoid showing multiple 'Reset Layout' options under file menu. Fixes #1348
Also restructured code related to reset layout functionality.
2016-06-14 15:01:15 +01:00
Harshal Dhumal 93706ee40b Preferences and user management help button fixes. Fixes #1318 2016-06-14 12:33:03 +01:00
Harshal Dhumal 6cfa022e35 Validate email addresses when creating the config DB. 2016-06-10 16:19:46 +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
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
Harshal Dhumal e3ab4501d5 User management. 2016-06-06 13:34:08 +01:00
Harshal Dhumal 5eef63c068 Added support for the password cell. 2016-06-03 16:13:43 +05:30
Harshal Dhumal ab9f63d960 Fixes# 1210 - Send the columns SQL with proper mime type. 2016-06-03 15:24:39 +05:30
Harshal Dhumal dea4b8ca31 Proper evaluation of the optionsValues in the Backgrid Select2Cell. 2016-06-03 15:20:56 +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
Harshal Dhumal 4816f5ed12 Change server password feature 2016-05-13 13:21:20 +05:30
Harshal Dhumal 180630ce0e Fixed variable scope issue in server.js 2016-05-10 18:16:08 +05:30
Harshal Dhumal 585daddce2 Destroy the existing Select2 object before rerendering the control. 2016-05-12 16:14:06 +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
Harshal Dhumal 176b99c90b Added the multiple selection support in the Select2Cell 2016-05-10 13:48:54 +05:30
Harshal Dhumal baae12dfcc Improve the password error message color on the 'Change Password' page. 2016-05-10 12:47:51 +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
Harshal Dhumal 219f208317 Evaluate the disabled option in SwitchControl.
Also - for consistency reason use the same evaluation logic in each of
the control.
2016-03-23 12:51:29 +05:30
Harshal Dhumal 709311b77c Fix issues with multiple subnode forms being open at once when adding rows to a grid. 2016-03-22 17:04:46 +00:00
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
Harshal Dhumal 8189b39b1e Configuration options for switch control from different places should be merged together and not overridden. 2016-03-22 14:28:13 +00:00
Harshal Dhumal def1a30251 Add support for Sequences. 2016-03-10 15:23:04 +00:00
Harshal Dhumal 986375d60e Add support for Event Triggers. 2016-03-10 13:38:31 +00:00
Harshal Dhumal d2e372114b Security Label and ACL template macros:
Way to use in template:

1) Security labels:

SECLABLE.SET(conn, object_type, object_name, provider, security_label,
object.schema)

SECLABLE.UNSET(conn, object_type, object_name, provider, object.schema)

2) Privileges:

PRIVILEGE.SET(conn, object_type, grantee, object_name,
privileges_without_grant, privileges_with_grant,
            object.schema)

PRIVILEGE.UNSETALL(conn, object_type, grantee, object_name, schema)

privileges_without_grant = comma separated string of privileges.
privileges_with_grant = comma separated string of privileges.
2016-03-03 15:12:37 +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
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
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
Harshal Dhumal 3ff77e9866 Common functions to convert the privileges format to/from the database
server.
2016-02-04 21:02:15 +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