public inbox for [email protected]
help / color / mirror / Atom feedFrom: Ashesh Vashi <[email protected]>
To: pgadmin-hackers <[email protected]>
Subject: PATCH: RM#1735
Date: Sat, 24 Sep 2016 03:23:13 +0530
Message-ID: <CAG7mmox6bkyzjZVRCdgP5dZCOMco5d_=j856sKaQikq4oTAizg@mail.gmail.com> (raw)
List-Unsubscribe: <mailto:[email protected]?body=unsub%20pgadmin-hackers>
Hi Dave/Team,
I've fixed the issue "No default schema when creating some schema objects".
For package, allowing to change the schema at the create time only, as the
logic required to change schema of an existing package required a lot of
changes. And, I am reluctant to do it at this phase of the project.
--
Thanks & Regards,
Ashesh Vashi
EnterpriseDB INDIA: Enterprise PostgreSQL Company
<http://www.enterprisedb.com;
*http://www.linkedin.com/in/asheshvashi*
<http://www.linkedin.com/in/asheshvashi;
--
Sent via pgadmin-hackers mailing list ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgadmin-hackers
Attachments:
[application/octet-stream] RM1735.patch (19.9K, 3-RM1735.patch)
download | inline diff:
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/collations/templates/collation/js/collation.js b/web/pgadmin/browser/server_groups/servers/databases/schemas/collations/templates/collation/js/collation.js
index 05dad55..e4e3176 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/collations/templates/collation/js/collation.js
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/collations/templates/collation/js/collation.js
@@ -100,19 +100,8 @@ function($, _, S, pgAdmin, pgBrowser, alertify) {
return false;
}
return true;
- },
- control: Backform.NodeListByNameControl.extend({
- render: function(){
- // Initialize parent's render method
- Backform.NodeListByNameControl.prototype.render.apply(this, arguments);
-
- // Set schema default value to its parent Schema
- if(this.model.isNew()){
- this.model.set({'schema': this.model.node_info.schema.label});
- }
- return this;
- }
- })
+ }, control: 'node-list-by-name',
+ cache_node: 'database', cached_level: 'database'
},{
id: 'copy_collation', label:'{{ _('Copy collation') }}', cell: 'string',
control: 'node-ajax-options',
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/domains/templates/domains/js/domains.js b/web/pgadmin/browser/server_groups/servers/databases/schemas/domains/templates/domains/js/domains.js
index ebf822e..7d1e8fe 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/domains/templates/domains/js/domains.js
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/domains/templates/domains/js/domains.js
@@ -19,8 +19,15 @@ function($, _, S, pgAdmin, pgBrowser, alertify) {
var ConstraintModel = pgBrowser.Node.Model.extend({
idAttribute: 'conoid',
initialize: function(attrs, args) {
- var isNew = (_.size(attrs) === 0);
- if (!isNew) {
+ if (_.size(attrs) === 0) {
+ var userInfo = pgBrowser.serverInfo[
+ args.node_info.server._id
+ ].user,
+ schemaInfo = args.node_info.schema;
+ this.set({
+ 'owner': userInfo.name, 'schema': schemaInfo._label
+ }, {silent: true});
+ } else {
this.convalidated_default = this.get('convalidated')
}
pgBrowser.Node.Model.prototype.initialize.apply(this, arguments);
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/templates/foreign_tables/js/foreign_tables.js b/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/templates/foreign_tables/js/foreign_tables.js
index 7b75de1..f0c7036 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/templates/foreign_tables/js/foreign_tables.js
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/templates/foreign_tables/js/foreign_tables.js
@@ -491,13 +491,13 @@ function($, _, S, pgAdmin, pgBrowser, alertify) {
initialize: function(attrs, args) {
var isNew = (_.size(attrs) === 0);
if (isNew) {
- // Set Selected Schema
- schema = args.node_info.schema._label
- this.set({'basensp': schema}, {silent: true});
+ var schema = args.node_info.schema._label,
+ userInfo = pgBrowser.serverInfo[args.node_info.server._id].user;
- // Set Current User
- var userInfo = pgBrowser.serverInfo[args.node_info.server._id].user;
- this.set({'owner': userInfo.name}, {silent: true});
+ // Set Selected Schema and Current User
+ this.set({
+ 'basensp': schema, 'owner': userInfo.name
+ }, {silent: true});
}
pgBrowser.Node.Model.prototype.initialize.apply(this, arguments);
},
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/fts_configurations/templates/fts_configuration/js/fts_configuration.js b/web/pgadmin/browser/server_groups/servers/databases/schemas/fts_configurations/templates/fts_configuration/js/fts_configuration.js
index 96f823e..b04ad10 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/fts_configurations/templates/fts_configuration/js/fts_configuration.js
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/fts_configurations/templates/fts_configuration/js/fts_configuration.js
@@ -490,7 +490,8 @@ function($, _, S, pgAdmin, pgBrowser, alertify) {
},{
id: 'schema', label: '{{ _('Schema')}}', cell: 'string',
type: 'text', mode: ['create','edit'], node: 'schema',
- control: 'node-list-by-id'
+ control: 'node-list-by-id', cache_node: 'database',
+ cache_level: 'database'
},{
id: 'description', label:'{{ _('Comment') }}', cell: 'string',
type: 'multiline', cellHeaderClasses: 'width_percent_50'
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/fts_parser/templates/fts_parser/js/fts_parser.js b/web/pgadmin/browser/server_groups/servers/databases/schemas/fts_parser/templates/fts_parser/js/fts_parser.js
index 949be82..6a12bf7 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/fts_parser/templates/fts_parser/js/fts_parser.js
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/fts_parser/templates/fts_parser/js/fts_parser.js
@@ -89,7 +89,8 @@ function($, _, S, pgAdmin, pgBrowser, alertify) {
},{
id: 'schema', label: '{{ _('Schema')}}', cell: 'string',
type: 'text', mode: ['create','edit'], node: 'schema',
- control: 'node-list-by-id'
+ control: 'node-list-by-id', cache_node: 'database',
+ cache_level: 'database'
},{
id: 'description', label:'{{ _('Comment') }}', cell: 'string',
type: 'multiline', cellHeaderClasses: 'width_percent_50'
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/fts_templates/templates/fts_template/js/fts_templates.js b/web/pgadmin/browser/server_groups/servers/databases/schemas/fts_templates/templates/fts_template/js/fts_templates.js
index 41adf27..fba56b6 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/fts_templates/templates/fts_template/js/fts_templates.js
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/fts_templates/templates/fts_template/js/fts_templates.js
@@ -83,7 +83,8 @@ function($, _, S, pgAdmin, pgBrowser, alertify) {
},{
id: 'schema', label: '{{ _('Schema')}}', cell: 'string',
type: 'text', mode: ['create','edit'], node: 'schema',
- control: 'node-list-by-id'
+ control: 'node-list-by-id', cache_node: 'database',
+ cache_level: 'database'
},{
id: 'description', label:'{{ _('Comment') }}', cell: 'string',
type: 'multiline', cellHeaderClasses: 'width_percent_50'
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/packages/__init__.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/packages/__init__.py
index dfbae1e..bfb2fe7 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/packages/__init__.py
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/packages/__init__.py
@@ -409,7 +409,7 @@ class PackageView(PGChildNodeView):
return make_json_response(
success=1,
- info=_("Package dropped"),
+ info=_("Packge dropped"),
data={
'id': pkgid,
'scid': scid,
@@ -517,9 +517,8 @@ class PackageView(PGChildNodeView):
u'name'
]
- data['schema'] = self.schema
-
if pkgid is not None:
+ data['schema'] = self.schema
SQL = render_template("/".join([self.template_path, 'properties.sql']), scid=scid, pkgid=pkgid)
status, res = self.conn.execute_dict(SQL)
if not status:
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/packages/templates/package/js/package.js b/web/pgadmin/browser/server_groups/servers/databases/schemas/packages/templates/package/js/package.js
index eeca349..6183268 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/packages/templates/package/js/package.js
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/packages/templates/package/js/package.js
@@ -85,6 +85,17 @@ function($, _, S, pgAdmin, pgBrowser, alertify) {
acl: undefined,
pkgacl: []
},
+ initialize: function(attrs, args) {
+ if (_.size(attrs) === 0) {
+ var userInfo = pgBrowser.serverInfo[args.node_info.server._id].user;
+ var schemaInfo = args.node_info.schema;
+
+ this.set({
+ 'owner': userInfo.name, 'schema': schemaInfo._label
+ }, {silent: true});
+ }
+ pgAdmin.Browser.Node.Model.prototype.initialize.apply(this, arguments);
+ },
// Define the schema for package node.
schema: [{
id: 'name', label: '{{ _('Name') }}', cell: 'string',
@@ -102,6 +113,17 @@ function($, _, S, pgAdmin, pgBrowser, alertify) {
return !m.isNew();
}
},{
+ id: 'schema', label:'{{_('Schema')}}', type: 'text', node: 'schema',
+ control: 'node-list-by-name',
+ disabled: function(m) { return !m.isNew(); }, filter: function(d) {
+ // If schema name start with pg_* then we need to exclude them
+ if(d && d.label.match(/^pg_/))
+ {
+ return false;
+ }
+ return true;
+ }, cache_node: 'database', cache_level: 'database'
+ },{
id: 'is_sys_object', label: '{{ _('System package?') }}',
cell:'boolean', type: 'switch',mode: ['properties']
},{
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/templates/sequence/js/sequence.js b/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/templates/sequence/js/sequence.js
index c2f6fd1..de338f2 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/templates/sequence/js/sequence.js
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/templates/sequence/js/sequence.js
@@ -140,7 +140,7 @@ function($, _, S, pgAdmin, pgBrowser, alertify) {
return false;
}
return true;
- }
+ }, cache_node: 'database', cache_level: 'database'
},{
id: 'comment', label:'{{ _('Comment') }}', type: 'multiline',
mode: ['properties', 'create', 'edit']
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/templates/synonym/js/synonym.js b/web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/templates/synonym/js/synonym.js
index fadc95a..a3ab4ad 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/templates/synonym/js/synonym.js
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/templates/synonym/js/synonym.js
@@ -83,12 +83,13 @@ function($, _, S, pgAdmin, pgBrowser, alertify) {
id: 'owner', label:'{{ _('Owner') }}', cell: 'string',
type: 'text', mode: ['properties', 'create', 'edit'],
disabled: true , control: 'node-list-by-name',
- node: 'role'
+ node: 'role', visible: false
},{
id: 'schema', label:'{{ _('Schema') }}', cell: 'string',
type: 'text', mode: ['properties', 'create', 'edit'],
- disabled: true , control: 'node-list-by-name',
- node: 'schema'
+ disabled: function(m) { return !m.isNew(); }, node: 'schema',
+ control: 'node-list-by-name', cache_node: 'database',
+ cache_level: 'database'
},{
id: 'targettype', label:'{{ _('Target type') }}', cell: 'string',
disabled: 'inSchema', group: '{{ _('Definition') }}',
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/table/js/table.js b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/table/js/table.js
index 44b4521..2d00609 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/table/js/table.js
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/table/js/table.js
@@ -276,15 +276,15 @@ function($, _, S, pgAdmin, pgBrowser, alertify) {
},
// Default values!
initialize: function(attrs, args) {
- var self = this,
- isNew = (_.size(attrs) === 0);
+ var self = this;
- if (isNew) {
- var userInfo = pgBrowser.serverInfo[args.node_info.server._id].user;
- var schemaInfo = args.node_info.schema;
+ if (_.size(attrs) === 0) {
+ var userInfo = pgBrowser.serverInfo[args.node_info.server._id].user,
+ schemaInfo = args.node_info.schema;
- this.set({'relowner': userInfo.name}, {silent: true});
- this.set({'schema': schemaInfo._label}, {silent: true});
+ this.set({
+ 'relowner': userInfo.name, 'schema': schemaInfo._label
+ }, {silent: true});
}
pgBrowser.Node.Model.prototype.initialize.apply(this, arguments);
@@ -308,7 +308,7 @@ function($, _, S, pgAdmin, pgBrowser, alertify) {
return false;
}
return true;
- }
+ }, cache_node: 'database', cache_level: 'database'
},{
id: 'spcname', label:'{{ _('Tablespace') }}', node: 'tablespace',
type: 'text', control: 'node-list-by-name', disabled: 'inSchema',
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/types/templates/type/js/type.js b/web/pgadmin/browser/server_groups/servers/databases/schemas/types/templates/type/js/type.js
index 08f1a3a..965826e 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/types/templates/type/js/type.js
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/types/templates/type/js/type.js
@@ -304,14 +304,13 @@ function($, _, S, pgAdmin, pgBrowser, alertify, Backgrid) {
// Default values!
initialize: function(attrs, args) {
- var isNew = (_.size(attrs) === 0);
+ if (_.size(attrs) === 0) {
+ var userInfo = pgBrowser.serverInfo[args.node_info.server._id].user,
+ schemaInfo = args.node_info.schema;
- if (isNew) {
- var userInfo = pgBrowser.serverInfo[args.node_info.server._id].user;
- var schemaInfo = args.node_info.schema;
-
- this.set({'typeowner': userInfo.name}, {silent: true});
- this.set({'schema': schemaInfo._label}, {silent: true});
+ this.set({
+ 'typeowner': userInfo.name, 'schema': schemaInfo._label
+ }, {silent: true});
}
pgBrowser.Node.Model.prototype.initialize.apply(this, arguments);
},
@@ -338,7 +337,7 @@ function($, _, S, pgAdmin, pgBrowser, alertify, Backgrid) {
return false;
}
return true;
- },
+ }, cache_node: 'database', cache_level: 'database',
control: 'node-list-by-name', select2: {allowClear: false}
},{
id: 'typtype', label:'{{ _('Type') }}',
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/mview/js/mview.js b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/mview/js/mview.js
index 50e49884..190c661 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/mview/js/mview.js
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/mview/js/mview.js
@@ -115,19 +115,13 @@ function($, _, S, pgAdmin, alertify, pgBrowser, CodeMirror) {
*/
model: pgBrowser.Node.Model.extend({
initialize: function(attrs, args) {
- var isNew = (_.size(attrs) === 0);
- if (isNew) {
- // Set Selected Schema
- var schemaLabel = args.node_info.schema._label;
- if (schemaLabel == '') {
- this.set({'schema': 'public'}, {silent: true});
- } else {
- this.set({'schema': schemaLabel}, {silent: true});
- }
-
- // Set Current User
- var userInfo = pgBrowser.serverInfo[args.node_info.server._id].user;
- this.set({'owner': userInfo.name}, {silent: true});
+ if (_.size(attrs) === 0) {
+ // Set Selected Schema and Current User
+ var schemaLabel = args.node_info.schema._label || 'public',
+ userInfo = pgBrowser.serverInfo[args.node_info.server._id].user;
+ this.set({
+ 'schema': 'public', 'owner': userInfo.name
+ }, {silent: true});
}
pgBrowser.Node.Model.prototype.initialize.apply(this, arguments);
},
@@ -149,7 +143,8 @@ function($, _, S, pgAdmin, alertify, pgBrowser, CodeMirror) {
},{
id: 'schema', label:'{{ _("Schema") }}', cell: 'string', first_empty: false,
control: 'node-list-by-name', type: 'text', cache_level: 'database',
- node: 'schema', mode: ['create', 'edit'], disabled: 'inSchema', select2: { allowClear: false }
+ node: 'schema', mode: ['create', 'edit'], cache_node: 'database',
+ disabled: 'inSchema', select2: { allowClear: false }
},{
id: 'system_view', label:'{{ _("System view?") }}', cell: 'string',
type: 'switch', disabled: true, mode: ['properties'],
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/view/js/view.js b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/view/js/view.js
index 7f87044..651529a 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/view/js/view.js
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/view/js/view.js
@@ -89,19 +89,13 @@ function($, _, S, pgAdmin, pgBrowser, CodeMirror) {
*/
model: pgBrowser.Node.Model.extend({
initialize: function(attrs, args) {
- var isNew = (_.size(attrs) === 0);
- if (isNew) {
- // Set Selected Schema
- var schemaLabel = args.node_info.schema._label;
- if (schemaLabel == '') {
- this.set({'schema': 'public'}, {silent: true});
- } else {
- this.set({'schema': schemaLabel}, {silent: true});
- }
-
- // Set Current User
- var userInfo = pgBrowser.serverInfo[args.node_info.server._id].user;
- this.set({'owner': userInfo.name}, {silent: true});
+ if (_.size(attrs) === 0) {
+ // Set Selected Schema and, Current User
+ var schemaLabel = args.node_info.schema._label || 'public',
+ userInfo = pgBrowser.serverInfo[args.node_info.server._id].user;
+ this.set({
+ 'schema': schemaLabel, 'owner': userInfo.name
+ }, {silent: true});
}
pgBrowser.Node.Model.prototype.initialize.apply(this, arguments);
},
@@ -117,7 +111,9 @@ function($, _, S, pgAdmin, pgBrowser, CodeMirror) {
},{
id: 'schema', label:'{{ _("Schema") }}', cell: 'string', first_empty: false,
control: 'node-list-by-name', type: 'text', cache_level: 'database',
- node: 'schema', disabled: 'notInSchema', mode: ['create', 'edit'], select2: { allowClear: false }
+ node: 'schema', disabled: 'notInSchema', mode: ['create', 'edit'],
+ select2: { allowClear: false }, cache_node: 'database',
+ cache_level: 'database'
},{
id: 'system_view', label:'{{ _("System view?") }}', cell: 'string',
type: 'switch', disabled: true, mode: ['properties']
view thread (4+ messages) latest in thread
reply
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: [email protected]
Cc: [email protected]
Subject: Re: PATCH: RM#1735
In-Reply-To: <CAG7mmox6bkyzjZVRCdgP5dZCOMco5d_=j856sKaQikq4oTAizg@mail.gmail.com>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox