diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/templates/procedure/js/procedures.js b/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/templates/procedure/js/procedures.js index af6194685..a3cfc5d9a 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/templates/procedure/js/procedures.js +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/templates/procedure/js/procedures.js @@ -46,13 +46,13 @@ function($, _, S, pgAdmin, pgBrowser, alertify, Function) { applies: ['object', 'context'], callback: 'show_obj_properties', category: 'create', priority: 4, label: '{{ _('Procedure...') }}', icon: 'wcTabIcon icon-procedure', data: {action: 'create', check: - false} + false}, enable: 'canCreateProc' },{ name: 'create_procedure', node: 'procedure', module: this, applies: ['object', 'context'], callback: 'show_obj_properties', category: 'create', priority: 4, label: '{{ _('Procedure...') }}', icon: 'wcTabIcon icon-procedure', data: {action: 'create', check: - true}, + true}, enable: 'canCreateProc' },{ name: 'create_procedure', node: 'schema', module: this, applies: ['object', 'context'], callback: 'show_obj_properties', @@ -64,6 +64,19 @@ function($, _, S, pgAdmin, pgBrowser, alertify, Function) { }, canDrop: pgSchemaNode.canChildDrop, canDropCascade: false, + canCreateProc: function(itemData, item, data) { + var node_hierarchy = this.getTreeNodeHierarchy.apply(this, [item]); + + // Do not provide Create option in catalog + if ('catalog' in node_hierarchy) + return false; + + // Procedures supported only in PPAS + if ('server' in node_hierarchy && node_hierarchy['server'].server_type == "ppas") + return true; + + return false; + }, model: Function.model.extend({ defaults: _.extend({}, Function.model.prototype.defaults, @@ -166,22 +179,7 @@ function($, _, S, pgAdmin, pgBrowser, alertify, Function) { return null; }, - } - ), - canCreateProc: function(itemData, item, data) { - var node_hierarchy = this.getTreeNodeHierarchy.apply(this, [item]); - - // Do not provide Create option in catalog - if ('catalog' in node_hierarchy) - return false; - - // Procedures supported only in PPAS - if ('server' in node_hierarchy && node_hierarchy['server'].type == "ppas") - return true; - - return false; - - } + }) }); } 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 2d9023416..77482a9fd 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 @@ -12,7 +12,7 @@ import re import simplejson as json from functools import wraps -import pgadmin.browser.server_groups.servers.databases.schemas as schemas +import pgadmin.browser.server_groups.servers.databases as database from flask import render_template, make_response, request, jsonify from flask_babel import gettext as _ from pgadmin.browser.server_groups.servers.databases.schemas.utils \ @@ -72,7 +72,7 @@ class PackageModule(SchemaChildModule): Load the module script for schema, when any of the database node is initialized. """ - return schemas.SchemaModule.NODE_TYPE + return database.DatabaseModule.NODE_TYPE blueprint = PackageModule(__name__) 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 e269c60c8..eeca34971 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 @@ -9,7 +9,7 @@ function($, _, S, pgAdmin, pgBrowser, alertify) { node: 'package', label: '{{ _('Packages') }}', type: 'coll-package', - columns: ['name', ,'owner', 'description'] + columns: ['name' ,'owner', 'description'] }); }; @@ -22,7 +22,7 @@ function($, _, S, pgAdmin, pgBrowser, alertify) { collection_type: 'coll-package', hasSQL: true, hasDepends: true, - parent_type: ['schema'], + parent_type: ['schema', 'catalog'], Init: function() { /* Avoid mulitple registration of menus */ if (this.initialized) diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/rules/templates/rules/js/rules.js b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/rules/templates/rules/js/rules.js index dfc32c4de..d34e3ce32 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/rules/templates/rules/js/rules.js +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/rules/templates/rules/js/rules.js @@ -240,7 +240,7 @@ function($, _, S, pgAdmin, pgBrowser, CodeMirror) { Check if it is view and its parent node is schema then allow to create Rule */ - else if('view' == d._type){ + else if('view' == d._type || 'table' == d._type){ prev_i = t.hasParent(i) ? t.parent(i) : null; prev_d = prev_i ? t.itemData(prev_i) : null; prev_j = t.hasParent(prev_i) ? t.parent(prev_i) : null;