From 1056e9553f983fb83b0fc145c5e6b19f752670a5 Mon Sep 17 00:00:00 2001 From: Harshal Dhumal Date: Wed, 17 Aug 2016 14:22:56 +0100 Subject: [PATCH] Show default database privileges in properties mode. Fixes #1538 --- .../databases/templates/databases/js/databases.js | 12 ++++++++++++ .../templates/databases/sql/9.1_plus/properties.sql | 3 +++ .../templates/databases/sql/9.2_plus/properties.sql | 4 ++++ .../templates/databases/sql/9.3_plus/properties.sql | 4 ++++ 4 files changed, 23 insertions(+) diff --git a/web/pgadmin/browser/server_groups/servers/databases/templates/databases/js/databases.js b/web/pgadmin/browser/server_groups/servers/databases/templates/databases/js/databases.js index 34c3e050d..f9e75a268 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/templates/databases/js/databases.js +++ b/web/pgadmin/browser/server_groups/servers/databases/templates/databases/js/databases.js @@ -230,6 +230,18 @@ function($, _, S, pgAdmin, pgBrowser, Alertify) { },{ id: 'acl', label: '{{ _('Privileges') }}', type: 'text', group: '{{ _('Security') }}', mode: ['properties'], disabled: true + },{ + id: 'tblacl', label: '{{ _('Default TABLE Privileges') }}', type: 'text', + group: '{{ _('Security') }}', mode: ['properties'], disabled: true + },{ + id: 'seqacl', label: '{{ _('Default SEQUENCE Privileges') }}', type: 'text', + group: '{{ _('Security') }}', mode: ['properties'], disabled: true + },{ + id: 'funcacl', label: '{{ _('Default FUNCTION Privileges') }}', type: 'text', + group: '{{ _('Security') }}', mode: ['properties'], disabled: true + },{ + id: 'typeacl', label: '{{ _('Default TYPE Privileges') }}', type: 'text', + group: '{{ _('Security') }}', mode: ['properties'], disabled: true, min_version: 90200 },{ id: 'comments', label:'{{ _('Comment') }}', editable: false, type: 'multiline' diff --git a/web/pgadmin/browser/server_groups/servers/databases/templates/databases/sql/9.1_plus/properties.sql b/web/pgadmin/browser/server_groups/servers/databases/templates/databases/sql/9.1_plus/properties.sql index d141adf6e..34969d64b 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/templates/databases/sql/9.1_plus/properties.sql +++ b/web/pgadmin/browser/server_groups/servers/databases/templates/databases/sql/9.1_plus/properties.sql @@ -5,6 +5,9 @@ SELECT has_database_privilege(db.oid, 'CREATE') as cancreate, current_setting('default_tablespace') AS default_tablespace, descr.description as comments, + (SELECT array_to_string(defaclacl::text[], ', ') FROM pg_default_acl WHERE defaclobjtype = 'r' AND defaclnamespace = 0::OID) AS tblacl, + (SELECT array_to_string(defaclacl::text[], ', ') FROM pg_default_acl WHERE defaclobjtype = 'S' AND defaclnamespace = 0::OID) AS seqacl, + (SELECT array_to_string(defaclacl::text[], ', ') FROM pg_default_acl WHERE defaclobjtype = 'f' AND defaclnamespace = 0::OID) AS funcacl, array_to_string(datacl::text[], ', ') AS acl FROM pg_database db LEFT OUTER JOIN pg_tablespace ta ON db.dattablespace=ta.OID diff --git a/web/pgadmin/browser/server_groups/servers/databases/templates/databases/sql/9.2_plus/properties.sql b/web/pgadmin/browser/server_groups/servers/databases/templates/databases/sql/9.2_plus/properties.sql index 214ac7d9f..3c6a7499e 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/templates/databases/sql/9.2_plus/properties.sql +++ b/web/pgadmin/browser/server_groups/servers/databases/templates/databases/sql/9.2_plus/properties.sql @@ -5,6 +5,10 @@ SELECT has_database_privilege(db.oid, 'CREATE') as cancreate, current_setting('default_tablespace') AS default_tablespace, descr.description as comments, + (SELECT array_to_string(defaclacl::text[], ', ') FROM pg_default_acl WHERE defaclobjtype = 'r' AND defaclnamespace = 0::OID) AS tblacl, + (SELECT array_to_string(defaclacl::text[], ', ') FROM pg_default_acl WHERE defaclobjtype = 'S' AND defaclnamespace = 0::OID) AS seqacl, + (SELECT array_to_string(defaclacl::text[], ', ') FROM pg_default_acl WHERE defaclobjtype = 'f' AND defaclnamespace = 0::OID) AS funcacl, + (SELECT array_to_string(defaclacl::text[], ', ') FROM pg_default_acl WHERE defaclobjtype = 'T' AND defaclnamespace = 0::OID) AS typeacl, (SELECT array_agg(provider || '=' || label) FROM pg_shseclabel sl1 WHERE sl1.objoid=db.oid) AS seclabels, array_to_string(datacl::text[], ', ') AS acl FROM pg_database db diff --git a/web/pgadmin/browser/server_groups/servers/databases/templates/databases/sql/9.3_plus/properties.sql b/web/pgadmin/browser/server_groups/servers/databases/templates/databases/sql/9.3_plus/properties.sql index 214ac7d9f..3c6a7499e 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/templates/databases/sql/9.3_plus/properties.sql +++ b/web/pgadmin/browser/server_groups/servers/databases/templates/databases/sql/9.3_plus/properties.sql @@ -5,6 +5,10 @@ SELECT has_database_privilege(db.oid, 'CREATE') as cancreate, current_setting('default_tablespace') AS default_tablespace, descr.description as comments, + (SELECT array_to_string(defaclacl::text[], ', ') FROM pg_default_acl WHERE defaclobjtype = 'r' AND defaclnamespace = 0::OID) AS tblacl, + (SELECT array_to_string(defaclacl::text[], ', ') FROM pg_default_acl WHERE defaclobjtype = 'S' AND defaclnamespace = 0::OID) AS seqacl, + (SELECT array_to_string(defaclacl::text[], ', ') FROM pg_default_acl WHERE defaclobjtype = 'f' AND defaclnamespace = 0::OID) AS funcacl, + (SELECT array_to_string(defaclacl::text[], ', ') FROM pg_default_acl WHERE defaclobjtype = 'T' AND defaclnamespace = 0::OID) AS typeacl, (SELECT array_agg(provider || '=' || label) FROM pg_shseclabel sl1 WHERE sl1.objoid=db.oid) AS seclabels, array_to_string(datacl::text[], ', ') AS acl FROM pg_database db