Hi, Please find the attached patch to fix RM #2945 : [Web based] Message "can't execute an empty query" displayed if user Click Yes on constrains trigger for view trigger
Fixed issues: 1. Disable "Constraint trigger?" option in View node 2. Disable "Constraint trigger?" option in edit mode for all the applicable nodes 3. Merged "Constraint trigger?" and "Constraint?" on the properties tab as both were for the same purpose but the "Constraint trigger?" was not showing correct data. Thanks, Khushboo
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/trigger/sql/default/properties.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/trigger/sql/default/properties.sql index 76f0a25..8b3ddc1 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/trigger/sql/default/properties.sql +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/trigger/sql/default/properties.sql @@ -7,7 +7,7 @@ SELECT t.oid,t.tgname AS name, t.xmin, t.*, relname, CASE WHEN relkind = 'r' THE {% if datlastsysoid %} (CASE WHEN t.oid <= {{ datlastsysoid}}::oid THEN true ElSE false END) AS is_sys_trigger, {% endif %} - (CASE WHEN tgconstraint != 0::OID THEN true ElSE false END) AS is_constarint, + (CASE WHEN tgconstraint != 0::OID THEN true ElSE false END) AS is_constraint_trigger, (CASE WHEN tgenabled = 'O' THEN true ElSE false END) AS is_enable_trigger FROM pg_trigger t JOIN pg_class cl ON cl.oid=tgrelid diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/triggers/static/js/trigger.js b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/triggers/static/js/trigger.js index 843ff11..04f9a41 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/triggers/static/js/trigger.js +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/triggers/static/js/trigger.js @@ -249,8 +249,9 @@ define('pgadmin.node.trigger', [ group: gettext('Definition'), disabled: function(m) { // Disabled if table is a partitioned table. - if (_.has(m, 'node_info') && _.has(m.node_info, 'table') && - _.has(m.node_info.table, 'is_partitioned') && m.node_info.table.is_partitioned) + if ((_.has(m, 'node_info') && _.has(m.node_info, 'table') && + _.has(m.node_info.table, 'is_partitioned') && m.node_info.table.is_partitioned) || + _.indexOf(Object.keys(m.node_info), 'view') != -1) { setTimeout(function(){ m.set('is_constraint_trigger', false); @@ -258,6 +259,8 @@ define('pgadmin.node.trigger', [ return true; } + + return m.inSchemaWithModelCheck.apply(this, [m]); } },{ id: 'tgdeferrable', label: gettext('Deferrable?'), @@ -487,10 +490,6 @@ define('pgadmin.node.trigger', [ id: 'is_sys_trigger', label: gettext('System trigger?'), cell: 'string', type: 'switch', disabled: 'inSchemaWithModelCheck', mode: ['properties'] },{ - id: 'is_constarint', label: gettext('Constraint?'), cell: 'string', - type: 'switch', disabled: 'inSchemaWithModelCheck', mode: ['properties'], - group: gettext('Definition') - },{ id: 'description', label: gettext('Comment'), cell: 'string', type: 'multiline', mode: ['properties', 'create', 'edit'], disabled: 'inSchema'