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'

Reply via email to