Website downtime

2020-01-27 Thread Dave Page
All,

I'll be moving the VM hosting the pgAdmin website to a new host this
afternoon (UK time) to resolve a storage space issue. There will be some
downtime!

Sorry for any inconvenience caused.

Thanks.

-- 
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company


Re: Website downtime

2020-01-27 Thread Dave Page
This work is now complete.

On Mon, Jan 27, 2020 at 9:32 AM Dave Page  wrote:

> All,
>
> I'll be moving the VM hosting the pgAdmin website to a new host this
> afternoon (UK time) to resolve a storage space issue. There will be some
> downtime!
>
> Sorry for any inconvenience caused.
>
> Thanks.
>
> --
> Dave Page
> Blog: http://pgsnake.blogspot.com
> Twitter: @pgsnake
>
> EnterpriseDB UK: http://www.enterprisedb.com
> The Enterprise PostgreSQL Company
>


-- 
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company


Re: flask db migrate error

2020-01-27 Thread Radoslaw Garbacz
Thank you for your response, found the proper description - it works like a
charm.

On Wed, Jan 22, 2020 at 10:31 PM Khushboo Vashi <
khushboo.va...@enterprisedb.com> wrote:

> Hi,
>
> On Wed, Jan 22, 2020 at 9:06 PM Radoslaw Garbacz <
> radoslaw.garb...@xtremedatainc.com> wrote:
>
>> Hi,
>>
>> As this is my first post I'd like to thank you for your work on this
>> project.
>> Originally I posted this following question to pgsql-gui-dev and was
>> advised to repost here.
>>
>> I have a question regarding modifying configuration db model for pgadmin4:
>> When trying to create a new migration file I get an error:
>> sqlalchemy.exc.NoSuchTableError: user_old
>>
>> You can get the proper steps for the database migration from the README
> file with the "Create Database Migrations" section. (file location:
> /README).
>
> Thanks,
> Khushboo
>
> The command used: FLASK_APP=pgAdmin4.py flask db migrate -m "Add data
>> groups"
>> The db is initialized with: python setup.py, I also tried:
>> FLASK_APP=pgAdmin4.py flask db init
>>
>> When commenting out (just for tests) content of
>> "web/migrations/versions/35f29b1701bd_.py" I get a similar error but with
>> "server_old".
>> So my question is what is the correct procedure to modify configuration
>> db or how to solve the mentioned issue?
>>
>> Thanks in advance,
>>
>> DETAILS:
>>
>> * pgadmin4 version: cloned from master with latest commit on Jan 13, 2020
>>
>> * Changes in "model/__init__.py":
>> SCHEMA_VERSION = 25
>> ...
>> class DataGroup(db.Model):
>> """Define a data group for the treeview"""
>> __tablename__ = 'datagroup'
>> id = db.Column(db.Integer, primary_key=True)
>> user_id = db.Column(db.Integer, db.ForeignKey('user.id'),
>> nullable=False)
>>
>> name = db.Column(db.String(128), nullable=False)
>> __table_args__ = (db.UniqueConstraint('user_id', 'name'),)
>>
>>
>> * migrate command exception details:
>> ...
>>  File
>> "/home/rga/.virtualenvs/pgadmin4/lib/python3.7/site-packages/alembic/util/compat.py",
>> line 173, in load_module_py
>> spec.loader.exec_module(module)
>>   File "", line 728, in exec_module
>>   File "", line 219, in
>> _call_with_frames_removed
>>   File "migrations/env.py", line 94, in 
>> run_migrations_online()
>>   File "migrations/env.py", line 87, in run_migrations_online
>> context.run_migrations()
>>   File "", line 8, in run_migrations
>>   File
>> "/home/rga/.virtualenvs/pgadmin4/lib/python3.7/site-packages/alembic/runtime/environment.py",
>> line 846, in run_migrations
>> self.get_context().run_migrations(**kw)
>>   File
>> "/home/rga/.virtualenvs/pgadmin4/lib/python3.7/site-packages/alembic/runtime/migration.py",
>> line 507, in run_migrations
>> for step in self._migrations_fn(heads, self):
>>   File
>> "/home/rga/.virtualenvs/pgadmin4/lib/python3.7/site-packages/alembic/command.py",
>> line 190, in retrieve_migrations
>> revision_context.run_autogenerate(rev, context)
>>   File
>> "/home/rga/.virtualenvs/pgadmin4/lib/python3.7/site-packages/alembic/autogenerate/api.py",
>> line 442, in run_autogenerate
>> self._run_environment(rev, migration_context, True)
>>   File
>> "/home/rga/.virtualenvs/pgadmin4/lib/python3.7/site-packages/alembic/autogenerate/api.py",
>> line 482, in _run_environment
>> autogen_context, migration_script
>>   File
>> "/home/rga/.virtualenvs/pgadmin4/lib/python3.7/site-packages/alembic/autogenerate/compare.py",
>> line 25, in _populate_migration_script
>> _produce_net_changes(autogen_context, upgrade_ops)
>>   File
>> "/home/rga/.virtualenvs/pgadmin4/lib/python3.7/site-packages/alembic/autogenerate/compare.py",
>> line 51, in _produce_net_changes
>> autogen_context, upgrade_ops, schemas
>>   File
>> "/home/rga/.virtualenvs/pgadmin4/lib/python3.7/site-packages/alembic/util/langhelpers.py",
>> line 303, in go
>> fn(*arg, **kw)
>>   File
>> "/home/rga/.virtualenvs/pgadmin4/lib/python3.7/site-packages/alembic/autogenerate/compare.py",
>> line 83, in _autogen_for_tables
>> autogen_context,
>>   File
>> "/home/rga/.virtualenvs/pgadmin4/lib/python3.7/site-packages/alembic/autogenerate/compare.py",
>> line 195, in _compare_tables
>> inspector.reflecttable(t, None)
>>   File
>> "/home/rga/.virtualenvs/pgadmin4/lib/python3.7/site-packages/sqlalchemy/engine/reflection.py",
>> line 669, in reflecttable
>> reflection_options,
>>   File
>> "/home/rga/.virtualenvs/pgadmin4/lib/python3.7/site-packages/sqlalchemy/engine/reflection.py",
>> line 848, in _reflect_fk
>> **reflection_options
>>   File "", line 2, in __new__
>>   File
>> "/home/rga/.virtualenvs/pgadmin4/lib/python3.7/site-packages/sqlalchemy/util/deprecations.py",
>> line 128, in warned
>> return fn(*args, **kwargs)
>>   File
>> "/home/rga/.virtualenvs/pgadmin4/lib/python3.7/site-packages/sqlalchemy/sql/schema.py",
>> line 506, in __new__
>> metadata._remove_table(name, schema)
>>   File
>> "/home/rga/.virtualenvs/pgadmin4/lib/python3.7/site-packages/sqlalchemy/util

[pgAdmin4][Patch]: Schema Diff Fixes

2020-01-27 Thread Khushboo Vashi
Hi,

Please find the attached patch to fix the Schema Diff issues.

Thanks,
Khushboo


schema_diff_fixes.patch
Description: Binary data


pgAdmin 4 commit: Allow screen-reader to read label & description of no

2020-01-27 Thread Akshay Joshi
Allow screen-reader to read label & description of non-textable elements. Fixes 
#4762.
Allow screen-reader to identify the alert errors. Fixes #4763

  Added role alertdialog for confirm and alert dialog.
  Added role status for all status bars/banners.
  Added role alert for error bars.
  Added aria-labelledby for charts on each dashboard.
  Added tabindex for each chart so that it is navigable using tab key.

Branch
--
master

Details
---
https://git.postgresql.org/gitweb?p=pgadmin4.git;a=commitdiff;h=f167d77b61a4442f68dab4b3bdde5641bc20fada
Author: Nagesh Dhope 

Modified Files
--
docs/en_US/release_notes_4_18.rst  |  2 ++
.../servers/templates/servers/password.html|  2 +-
.../servers/templates/servers/tunnel_password.html |  2 +-
web/pgadmin/browser/static/js/browser.js   |  8 +++---
web/pgadmin/browser/static/js/collection.js|  2 +-
web/pgadmin/browser/static/js/node.js  |  6 ++---
web/pgadmin/browser/static/js/wizard.js|  4 +--
.../templates/dashboard/database_dashboard.html| 20 +++
.../templates/dashboard/server_dashboard.html  | 20 +++
web/pgadmin/static/js/alertify.pgadmin.defaults.js | 29 +++---
web/pgadmin/static/js/sqleditor/filter_dialog.js   |  2 +-
.../static/js/sqleditor/history/query_history.js   |  2 +-
.../tools/datagrid/templates/datagrid/index.html   |  1 +
web/pgadmin/tools/debugger/static/js/direct.js |  5 ++--
web/pgadmin/tools/sqleditor/static/js/sqleditor.js |  2 +-
15 files changed, 66 insertions(+), 41 deletions(-)



Re: [pgAdmin][RM4763][RM4762] Allow screen readers to identify errors and read description of non-textable elements.

2020-01-27 Thread Akshay Joshi
Thanks, patch applied.

On Fri, Jan 24, 2020 at 5:43 PM Nagesh Dhope 
wrote:

> Hi Hackers,
>
> Attached patch fixes
>
> RM4763
>
>- Added role *alertdialog* for *confirm* and *alert* dialog.
>- Added role *status* for all status bars/banners.
>- Added role *alert* for error bars.
>
> RM4762
>
>- Added *aria-labelledby* for charts on each dashboard, note that I
>have also added tabindex for each chart so that it is navigable using tab
>key.
>
>
> --
> Thanks,
> Nagesh
>


-- 
*Thanks & Regards*
*Akshay Joshi*

*Sr. Software Architect*
*EnterpriseDB Software India Private Limited*
*Mobile: +91 976-788-8246*


Re: [pgAdmin4][RM#5107] Add tab navigation for tabs under explain panel in query tool

2020-01-27 Thread Murtuza Zabuawala
Hi Akshay,

PFA updated patch.


--
Regards,
Murtuza Zabuawala
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company



On Thu, Jan 23, 2020 at 12:39 PM Akshay Joshi 
wrote:

> Hi Ganesh
>
> Following are the review comments:
>
>- Focus is going on Table headers but it is not visible.
>- Need to handle keyboard events on table header for sorting.
>- Add tabindex property for the table rows.
>- Add keyboard events to select the file from the file dialog.
>
>
> On Tue, Jan 21, 2020 at 6:26 PM Ganesh Jaybhay <
> ganesh.jayb...@enterprisedb.com> wrote:
>
>> Hi Hackers,
>>
>> Please find the attached minor fix for tab navigation on footer and
>> confirmation dialog buttons from file manager dialogue
>> Kindly review.
>>
>> Regards,
>> Ganesh Jaybhay
>>
>
>
> --
> *Thanks & Regards*
> *Akshay Joshi*
>
> *Sr. Software Architect*
> *EnterpriseDB Software India Private Limited*
> *Mobile: +91 976-788-8246*
>
diff --git a/web/pgadmin/misc/file_manager/static/js/create_dialogue.js b/web/pgadmin/misc/file_manager/static/js/create_dialogue.js
index a3c44ec88..268d8d727 100644
--- a/web/pgadmin/misc/file_manager/static/js/create_dialogue.js
+++ b/web/pgadmin/misc/file_manager/static/js/create_dialogue.js
@@ -28,11 +28,7 @@ module.exports =  Alertify.dialog('createModeDlg', function() {
   text: gettext('Create'),
   key: 13,
   className: 'btn btn-primary fa fa-file file_manager_create file_manager_ok pg-alertify-button disabled',
-},
-],
-focus: {
-  element: 0,
-},
+}],
 options: {
   closableByDimmer: false,
   maximizable: false,
@@ -175,6 +171,7 @@ module.exports =  Alertify.dialog('createModeDlg', function() {
 
 if (!_.isUndefined(newFile) && newFile !== '' && this.is_file_exist()) {
   this.replace_file();
+  this.$container.find('.replace_file').find('.btn_yes').trigger('focus');
   closeEvent.cancel = true;
 } else {
   pgAdmin.Browser.Events.trigger('pgadmin-storage:finish_btn:create_file', newFile);
diff --git a/web/pgadmin/misc/file_manager/static/js/select_dialogue.js b/web/pgadmin/misc/file_manager/static/js/select_dialogue.js
index 219e6ba4f..97d1ed770 100644
--- a/web/pgadmin/misc/file_manager/static/js/select_dialogue.js
+++ b/web/pgadmin/misc/file_manager/static/js/select_dialogue.js
@@ -91,9 +91,6 @@ module.exports =  Alertify.dialog('fileSelectionDlg', function() {
   key: 13,
   className: 'btn btn-primary fa fa-file file_manager_ok pg-alertify-button disabled',
 }],
-focus: {
-  element: 0,
-},
 options: {
   closableByDimmer: false,
   maximizable: false,
diff --git a/web/pgadmin/misc/file_manager/static/js/utility.js b/web/pgadmin/misc/file_manager/static/js/utility.js
index bd0e51cac..86d239989 100644
--- a/web/pgadmin/misc/file_manager/static/js/utility.js
+++ b/web/pgadmin/misc/file_manager/static/js/utility.js
@@ -474,7 +474,7 @@ define([
 
 /* For the html ele */
 let item_ele =
-  `
+  `
 
 `;
 
@@ -530,7 +530,7 @@ define([
   `
 
   
-
+
   ${lg.name}
 
 
@@ -575,7 +575,7 @@ define([
 
 /* For the html ele */
 let item_ele =
-  `
+  `
 `;
 
 let data_protected = '';
@@ -698,7 +698,7 @@ define([
 $('.storage_dialog #uploader .input-path').prop('disabled', false);
 var result = '',
   data = resp.data.result;
-
+let isGridView = false;
 // hide activity indicator
 $('.fileinfo').find('span.activity').hide();
 if (data.Code === 0) {
@@ -711,6 +711,7 @@ define([
 // generate HTML for files/folder and render into container
 if ($('.fileinfo').data('view') == 'grid') {
   result += getGridView(data, capabilities);
+  isGridView = true;
 } else {
   result += getListView(data, capabilities);
 }
@@ -737,6 +738,23 @@ define([
   $.tablesorter.resizable.setWidth($listing_table.find('th[data-column="2"]'), wo.resizable_widths[2]);
 });
 
+/* Role of this function is to click or double click on element when user is doing keyboard navigation*/
+var clickOnFileFolderManually = function(event) {
+  let self = this;
+  event.preventDefault();
+  event.stopPropagation();
+  // if file/folder is protected do nothing
+  if ($(this).find('.fa-lock').length)
+return;
+  if ($(this).find('.fa-file-text-o').length)
+$(this).click();
+  // If folder then first select and then double click to opn folder
+  else if ($(this).find('.fa-folder-open').length) {
+$(this).click();
+setTimeout(() => { $(self).trigger('dblclick'); }, 10)

Re: [pgAdmin4][Patch]: Schema Diff Fixes

2020-01-27 Thread Khushboo Vashi
The fixes which are covered in this patch:

Issues
Version mismatch should displayed if select EPAS 11 as source and EPAS 12
as target
We should handle schema diff if user stop server after compare
Data type is not visible for column headers in query tool/view data.
Difference SQL is shown, though source & target sql are same
Error shown when 'target only' table is selected & clicked on Generate
Script.
Incorrect Difference SQL is generated on comparing 2 tables having only
different data type for a column as boolean & boolean []
Difference SQL generated on deleting primary constraints from source
throwing error on running from query tool
Copy' button for 'Difference ' SQL does not work
Incorrect SQL is generated when check constraint from source table is
dropped.
Difference SQL is NOT shown when 'Unique Constraint' is dropped from source
table
In case of difference no message displayed related to copied successfully
or not
create or replace trigger should be on next line
Comparison Result of exactly identical tables having foreign key
constraint, is shown as different. But difference SQL is NOT shown
Wrong SQL displayed in difference tab for view and materialised view for
select statement
Wrong SQL displayed for procedure in difference section
If user already open compare section of Schema diff tool and Disconnect the
server then '<' not supported between instances of 'NoneType' and 'int'
message displayed
When 'check constraint' is added on source table which has already unique
constraint & identical target table is created, all SQL panels remain empty
Difference SQL is NOT shown when after adding 'Foreign Key' constraint to
existing source table.
Incorrect SQL is generated when existing index on source table is modified.
Wrong SQL displayed for function in difference section
Additional space is added before & after in difference SQL generated on
addition of index to source table.
Difference SQL is NOT shown when tables have different permission/grants
Incorrect SQL is shown when source had inherited table & target has normal
table.
Exactly identical child(inherited) tables shows difference SQL
Comparison is NOT working when custom vacuum is enabled & one of parameter
modified & again custom vacuum is disabled
Thanks,
Khushboo

On Tue, Jan 28, 2020 at 11:33 AM Khushboo Vashi <
khushboo.va...@enterprisedb.com> wrote:

> Hi,
>
> Please find the attached patch to fix the Schema Diff issues.
>
> Thanks,
> Khushboo
>