Re: [pgAdmin4][Patch]: Fixed the issue related to Domain Constraint module

2017-07-04 Thread Dave Page
Thanks - patch applied.

On Tue, Jul 4, 2017 at 6:27 AM, Khushboo Vashi <
khushboo.va...@enterprisedb.com> wrote:

> Hi,
>
> Please find the attached updated patch which includes following fixes:
>
> 1. The plus button to add a constraint with the domain dialogue doesn't
> work.
> 2. The Domain Constraint node doesn't load.
> 3. On update, the domain constraint node name doesn't change.
>
> Thanks,
> Khushboo
>
>
> On Mon, Jul 3, 2017 at 7:52 PM, Dave Page  wrote:
>
>> Hi
>>
>> On Mon, Jul 3, 2017 at 6:10 AM, Khushboo Vashi <
>> khushboo.va...@enterprisedb.com> wrote:
>>
>>>
>>>
>>> On Mon, Jul 3, 2017 at 1:10 PM, Khushboo Vashi <
>>> khushboo.va...@enterprisedb.com> wrote:
>>>
 Hi,

 The Domain Constraint module doesn't load as it can not find the
 domain_constraints.js file.
 To fix this issue, renamed the domain_constraint.js to
 domain_constraints.js.

 RM #2529  created for the
>>> same.
>>>
 Please find the attached fix.


>>>
>> I think this is still broken. If I try to create a new domain called abc,
>> with a basetype of text, then hit the + button to add a constraint, I get:
>>
>>
>> domain.js:24 Uncaught TypeError: Cannot read property 'server' of
>> undefined at s.initialize (domain.js:24) at s.e.Model (backbone-min.js:1)
>> at s [as constructor] (backbone-min.js:1) at new s (backbone-min.js:1)
>> at s._prepareModel (backbone-min.js:1) at set (backbone-min.js:1) at
>> s.add (backbone-min.js:1) at s.insertRow (backgrid.min.js:8) at
>> s.insertRow (backgrid.min.js:8) at HTMLButtonElement. (
>> backform.pgadmin.js:1347)
>>
>> --
>> 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


pgAdmin 4 commit: Resolve a number of issues with domains and domain co

2017-07-04 Thread Dave Page
Resolve a number of issues with domains and domain constraints. Fixes #2529

Branch
--
master

Details
---
https://git.postgresql.org/gitweb?p=pgadmin4.git;a=commitdiff;h=66b101fe4c8a8c8d0d0c8f213033ccec7ae7853d
Author: Khushboo Vashi 

Modified Files
--
.../schemas/domains/domain_constraints/__init__.py |  29 ++--
.../static/js/domain_constraint.js | 146 -
.../static/js/domain_constraints.js| 146 +
.../databases/schemas/domains/static/js/domain.js  |  10 +-
4 files changed, 159 insertions(+), 172 deletions(-)



pgAdmin 4 commit: Improve styling for alerts by highlighting the icon.

2017-07-04 Thread Dave Page
Improve styling for alerts by highlighting the icon.

Branch
--
master

Details
---
https://git.postgresql.org/gitweb?p=pgadmin4.git;a=commitdiff;h=b211eb199c78f480716e0c2be47a14f0f23a6f81
Author: Murtuza Zabuawala 

Modified Files
--
web/pgadmin/static/js/alerts/alertify_wrapper.js |  4 ++--
web/pgadmin/static/scss/_alert.scss  | 17 +++--
web/pgadmin/static/scss/_alertify.overrides.scss |  1 +
3 files changed, 18 insertions(+), 4 deletions(-)



[RM1972][pgAdmin4] Improve query tool close workflow.

2017-07-04 Thread Harshal Dhumal
Hi,

Please find attached patch for to allow user to save changed query or data
when closing query tool/datagrid.




-- 
*Harshal Dhumal*
*Sr. Software Engineer*

EnterpriseDB India: http://www.enterprisedb.com
The Enterprise PostgreSQL Company
diff --git a/web/pgadmin/feature_tests/xss_checks_panels_and_query_tool_test.py b/web/pgadmin/feature_tests/xss_checks_panels_and_query_tool_test.py
index 75b4222..ac50ea1 100644
--- a/web/pgadmin/feature_tests/xss_checks_panels_and_query_tool_test.py
+++ b/web/pgadmin/feature_tests/xss_checks_panels_and_query_tool_test.py
@@ -61,7 +61,7 @@ class CheckForXssFeatureTest(BaseFeatureTest):
 
 # Query tool
 self._check_xss_in_query_tool()
-self._close_query_tool()
+self.page.close_query_tool()
 
 def after(self):
 time.sleep(1)
@@ -123,7 +123,6 @@ class CheckForXssFeatureTest(BaseFeatureTest):
 "Properties tab (Backform Control)"
 )
 
-
 def _check_xss_in_sql_tab(self):
 self.page.click_tab("SQL")
 # Fetch the inner html & check for escaped characters
@@ -173,19 +172,6 @@ class CheckForXssFeatureTest(BaseFeatureTest):
 "Query tool (SlickGrid)"
 )
 
-def _close_query_tool(self):
-self.page.driver.switch_to_default_content()
-self.page.click_element(
-self.page.find_by_xpath("//*[@id='dockerContainer']/div/div[3]/div/div[2]/div[1]")
-)
-time.sleep(0.5)
-self.page.driver.switch_to.frame(self.page.driver.find_element_by_tag_name('iframe'))
-time.sleep(1)
-self.page.click_element(self.page.find_by_xpath("//button[contains(.,'Yes')]"))
-time.sleep(0.5)
-self.page.driver.switch_to_default_content()
-
-
 def _check_escaped_characters(self, source_code, string_to_find, source):
 # For XSS we need to search against element's html code
 if source_code.find(string_to_find) == -1:
diff --git a/web/pgadmin/tools/sqleditor/templates/sqleditor/js/sqleditor.js b/web/pgadmin/tools/sqleditor/templates/sqleditor/js/sqleditor.js
index 2ea37fc..0584df5 100644
--- a/web/pgadmin/tools/sqleditor/templates/sqleditor/js/sqleditor.js
+++ b/web/pgadmin/tools/sqleditor/templates/sqleditor/js/sqleditor.js
@@ -253,11 +253,11 @@ define([
   var data_store = self.handler.data_store;
   if(data_store && (_.size(data_store.added) ||
   _.size(data_store.updated))) {
-msg = gettext("The data has been modified, but not saved. Are you sure you wish to discard the changes?");
+msg = gettext("The data has changed. Do you want to save changes?");
 notify = true;
   }
 } else if(self.handler.is_query_tool && self.handler.is_query_changed) {
-  msg = gettext("The query has been modified, but not saved. Are you sure you wish to discard the changes?");
+  msg = gettext("The text has changed. Do you want to save changes?");
   notify = true;
 }
 if(notify) {return self.user_confirmation(p, msg);}
@@ -407,23 +407,60 @@ define([
   user_confirmation: function(panel, msg) {
 // If there is anything to save then prompt user
 var that = this;
-alertify.confirm(gettext("Unsaved changes"), msg,
-  function() {
-// Do nothing as user do not want to save, just continue
-window.onbeforeunload = null;
-panel.off(wcDocker.EVENT.CLOSING);
-// remove col_size object on panel close
-if (!_.isUndefined(that.handler.col_size)) {
-  delete that.handler.col_size;
+
+alertify.confirmSave || alertify.dialog('confirmSave', function() {
+  return {
+main: function(title, message) {
+var content = ''
++ gettext('The text has changed. Do you want to save changes?')
++ '';
+  this.setHeader(title);
+  this.setContent(message);
+},
+setup: function () {
+  return {
+buttons: [
+{
+  text: gettext('Save'),
+  className: 'btn btn-primary',
+},{
+  text: gettext('Don\'t save'),
+  className: 'btn btn-danger',
+},{
+  text: gettext('Cancel'),
+  key: 27, // ESC
+  invokeOnClose: true,
+  className: 'btn btn-warning',
+}
+],
+focus: {
+  element: 0,
+  select: false
+},
+options: {
+maximizable: false,
+resizable: false
+}
+  };
+},
+ca

pgAdmin 4 commit: Prompt the user to save dirty queries rather than dis

2017-07-04 Thread Dave Page
Prompt the user to save dirty queries rather than discard them for a more 
natural workflow. Fixes #1972

Branch
--
master

Details
---
https://git.postgresql.org/gitweb?p=pgadmin4.git;a=commitdiff;h=76939e4f63f1da1820e80fa78f784bfe1887cd7a
Author: Harshal Dhumal 

Modified Files
--
.../xss_checks_panels_and_query_tool_test.py   | 16 +---
.../sqleditor/templates/sqleditor/js/sqleditor.js  | 98 ++
web/regression/feature_utils/pgadmin_page.py   |  2 +-
3 files changed, 82 insertions(+), 34 deletions(-)



Re: [RM1972][pgAdmin4] Improve query tool close workflow.

2017-07-04 Thread Dave Page
Thanks, applied.

On Tue, Jul 4, 2017 at 3:07 PM, Harshal Dhumal <
harshal.dhu...@enterprisedb.com> wrote:

> Hi,
>
> Please find attached patch for to allow user to save changed query or data
> when closing query tool/datagrid.
>
>
>
>
> --
> *Harshal Dhumal*
> *Sr. Software Engineer*
>
> EnterpriseDB India: 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


Build failed in Jenkins: pgadmin4-master-python27 #220

2017-07-04 Thread pgAdmin 4 Jenkins
See 


Changes:

[Dave Page] Prompt the user to save dirty queries rather than discard them for a

--
[...truncated 289.44 KB...]
Update materialized view under schema node ... ok
runTest 
(pgadmin.browser.server_groups.servers.databases.tests.test_db_add.DatabaseAddTestCase)
Check Databases Node URL ... ok
runTest 
(pgadmin.browser.server_groups.servers.databases.tests.test_db_delete.DatabaseDeleteTestCase)
Check Databases Node URL ... ok
runTest 
(pgadmin.browser.server_groups.servers.databases.tests.test_db_get.DatabasesGetTestCase)
Check Databases Node URL ... ok
runTest 
(pgadmin.browser.server_groups.servers.databases.tests.test_db_put.DatabasesUpdateTestCase)
Check Databases Node ... ok
runTest 
(pgadmin.browser.server_groups.servers.resource_groups.tests.test_resource_groups_add.ResourceGroupsAddTestCase)
Add resource groups ... ok
runTest 
(pgadmin.browser.server_groups.servers.resource_groups.tests.test_resource_groups_delete.ResourceGroupsDeleteTestCase)
Delete resource groups ... ok
runTest 
(pgadmin.browser.server_groups.servers.resource_groups.tests.test_resource_groups_put.ResourceGroupsPutTestCase)
Put resource groups ... ok
runTest 
(pgadmin.browser.server_groups.servers.resource_groups.tests.tests_resource_groups_get.ResourceGroupsGetTestCase)
Get resource groups ... ok
runTest 
(pgadmin.browser.server_groups.servers.roles.tests.test_role_add.LoginRoleAddTestCase)
Check Role Node ... ok
runTest 
(pgadmin.browser.server_groups.servers.roles.tests.test_role_delete.LoginRoleDeleteTestCase)
Check Role Node ... ok
runTest 
(pgadmin.browser.server_groups.servers.roles.tests.test_role_get.LoginRoleGetTestCase)
Check Role Node ... ok
runTest 
(pgadmin.browser.server_groups.servers.roles.tests.test_role_put.LoginRolePutTestCase)
Check Role Node ... ok
runTest 
(pgadmin.browser.server_groups.servers.tablespaces.tests.test_tbspc_add.TableSpaceAddTestCase)
Check Tablespace Node ... ok
runTest 
(pgadmin.browser.server_groups.servers.tablespaces.tests.test_tbspc_delete.TableSpaceDeleteTestCase)
Check Tablespace Node ... ok
runTest 
(pgadmin.browser.server_groups.servers.tablespaces.tests.test_tbspc_get.TablespaceGetTestCase)
Check Tablespace Node ... ok
runTest 
(pgadmin.browser.server_groups.servers.tablespaces.tests.test_tbspc_put.TableSpaceUpdateTestCase)
Check Tablespace Node ... ok
runTest 
(pgadmin.browser.server_groups.servers.tests.test_check_recovery.TestCheckRecovery)
Test for check recovery ... ok
runTest 
(pgadmin.browser.server_groups.servers.tests.test_dependencies_sql.TestDependenciesSql)
Test dependencies SQL file ... ok
runTest 
(pgadmin.browser.server_groups.servers.tests.test_dependents_sql.TestDependentsSql)
Test dependencies SQL file ... ok
runTest 
(pgadmin.browser.server_groups.servers.tests.test_role_dependencies_sql.TestRoleDependenciesSql)
Test Role Dependencies SQL file ... ok
runTest 
(pgadmin.browser.server_groups.servers.tests.test_server_add.ServersAddTestCase)
Default Server Node url ... ok
runTest 
(pgadmin.browser.server_groups.servers.tests.test_server_delete.ServerDeleteTestCase)
Default Server Node url ... ok
runTest 
(pgadmin.browser.server_groups.servers.tests.test_server_get.ServersGetTestCase)
Default Server Node url ... ok
runTest 
(pgadmin.browser.server_groups.servers.tests.test_server_put.ServerUpdateTestCase)
Default Server Node url ... ok
runTest (pgadmin.browser.server_groups.tests.test_sg_get.SgNodeTestCase)
Check Server Group Node ... ok
runTest 
(pgadmin.utils.javascript.tests.test_javascript_bundler.JavascriptBundlerTestCase)
scenario name: JavascriptBundlerTestCase ... ok
runTest 
(pgadmin.utils.tests.test_versioned_template_loader.TestVersionedTemplateLoader)
Render a template when called ... ok
runTest 
(pgadmin.utils.tests.test_versioned_template_loader.TestVersionedTemplateLoader)
Render a version 9.1 template when it is present ... ok
runTest 
(pgadmin.utils.tests.test_versioned_template_loader.TestVersionedTemplateLoader)
Render a version 9.2 template when request for a higher version ... ok
runTest 
(pgadmin.utils.tests.test_versioned_template_loader.TestVersionedTemplateLoader)
Render default version when version 9.0 was requested and only 9.1 and 9.2 are 
present ... ok
runTest 
(pgadmin.utils.tests.test_versioned_template_loader.TestVersionedTemplateLoader)
Raise error when version is smaller than available templates ... ok
runTest 
(regression.python_test_utils.sql_template_test_base.SQLTemplateTestBase)
parent test class ... ok

--
Ran 163 tests in 23.825s

OK

==
Test Result Summary
==

PostgreSQL 9.6:

151 tests passed
0 tests failed
12 tests skipped:
SynonymGetTestCa