public inbox for [email protected]  
help / color / mirror / Atom feed
[pgAdmin][RM4639]: Truncate Trigger option should enabled in properties sections if trigger is already created without each rows
2+ messages / 2 participants
[nested] [flat]

* [pgAdmin][RM4639]: Truncate Trigger option should enabled in properties sections if trigger is already created without each rows
@ 2020-10-20 09:29 Pradip Parkale <[email protected]>
  2020-10-20 11:47 ` Re: [pgAdmin][RM4639]: Truncate Trigger option should enabled in properties sections if trigger is already created without each rows Akshay Joshi <[email protected]>
  0 siblings, 1 reply; 2+ messages in thread

From: Pradip Parkale @ 2020-10-20 09:29 UTC (permalink / raw)
  To: pgadmin-hackers

Hi Hackers,
Please find the attached for RM4639 and RM5779. For the trigger, most of
the fields will be disabled in edit mode.


-- 
Thanks & Regards,
Pradip Parkale
Software Engineer | EnterpriseDB Corporation


Attachments:

  [application/octet-stream] RM4639.patch (5.6K, 3-RM4639.patch)
  download | inline diff:
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 4d0f4c936..3dd6729c3 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
@@ -209,6 +209,9 @@ define('pgadmin.node.trigger', [
           deps: ['is_constraint_trigger'],
           disabled: function(m) {
             // Disabled if table is a partitioned table.
+            if (!m.isNew())
+              return true;
+
             if (_.has(m, 'node_info') && _.has(m.node_info, 'table') &&
               _.has(m.node_info.table, 'is_partitioned') &&
                m.node_info.table.is_partitioned && m.node_info.server.version < 110000
@@ -367,6 +370,8 @@ define('pgadmin.node.trigger', [
           },
           control: 'select2', select2: { allowClear: false, width: '100%' },
           disabled: function(m) {
+            if (!m.isNew())
+              return true;
             // If contraint trigger is set to True then only enable it
             var is_constraint_trigger = m.get('is_constraint_trigger');
             if(!m.inSchemaWithModelCheck.apply(this, [m])) {
@@ -399,7 +404,7 @@ define('pgadmin.node.trigger', [
             controlsClassName: 'pgadmin-controls pg-el-sm-7 pg-el-12',
             disabled: function(m) {
               var evn_insert = m.get('evnt_insert');
-              if (!_.isUndefined(evn_insert) && m.node_info['server']['server_type'] == 'ppas')
+              if (!_.isUndefined(evn_insert) && m.node_info['server']['server_type'] == 'ppas' && m.isNew())
                 return false;
               return m.inSchemaWithModelCheck.apply(this, [m]);
             },
@@ -412,7 +417,7 @@ define('pgadmin.node.trigger', [
             controlsClassName: 'pgadmin-controls pg-el-sm-7 pg-el-12',
             disabled: function(m) {
               var evn_update = m.get('evnt_update');
-              if (!_.isUndefined(evn_update) && m.node_info['server']['server_type'] == 'ppas')
+              if (!_.isUndefined(evn_update) && m.node_info['server']['server_type'] == 'ppas' && m.isNew())
                 return false;
               return m.inSchemaWithModelCheck.apply(this, [m]);
             },
@@ -425,13 +430,13 @@ define('pgadmin.node.trigger', [
             controlsClassName: 'pgadmin-controls pg-el-sm-7 pg-el-12',
             disabled: function(m) {
               var evn_delete = m.get('evnt_delete');
-              if (!_.isUndefined(evn_delete) && m.node_info['server']['server_type'] == 'ppas')
+              if (!_.isUndefined(evn_delete) && m.node_info['server']['server_type'] == 'ppas' && m.isNew())
                 return false;
               return m.inSchemaWithModelCheck.apply(this, [m]);
             },
           },{
             id: 'evnt_truncate', label: gettext('TRUNCATE'),
-            type: 'switch', group: gettext('Events'),
+            type: 'switch', group: gettext('Events'),deps: ['is_row_trigger', 'is_constraint_trigger'],
             extraToggleClasses: 'pg-el-sm-6',
             controlLabelClassName: 'control-label pg-el-sm-5 pg-el-12',
             controlsClassName: 'pgadmin-controls pg-el-sm-7 pg-el-12',
@@ -439,18 +444,19 @@ define('pgadmin.node.trigger', [
               var is_constraint_trigger = m.get('is_constraint_trigger'),
                 is_row_trigger = m.get('is_row_trigger'),
                 server_type = m.node_info['server']['server_type'];
-              if(!m.inSchemaWithModelCheck.apply(this, [m])) {
-                // We will enabale truncate only for EDB PPAS
-                // and both triggers row & constarint are set to false
-                return (server_type !== 'ppas' ||
-                _.isUndefined(is_constraint_trigger) ||
-                  _.isUndefined(is_row_trigger) ||
-                  is_constraint_trigger !== false ||
-                  is_row_trigger !== false);
-              } else {
-                // Disable it
+              if (is_row_trigger == true){
+                setTimeout(function(){
+                  m.set('evnt_truncate', false);
+                },10);
                 return true;
               }
+
+              if (server_type === 'ppas' &&
+                  !_.isUndefined(is_constraint_trigger) &&
+                    !_.isUndefined(is_row_trigger) &&
+                    is_constraint_trigger === false && m.isNew())
+                return false;
+              return m.inSchemaWithModelCheck.apply(this, [m]);
             },
           }],
         },{
@@ -588,6 +594,8 @@ define('pgadmin.node.trigger', [
         },
         // Disable/Enable Transition tables
         disableTransition: function(m) {
+          if (!m.isNew())
+            return true;
           var flag = false,
             evnt = null,
             name = this.name,
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/triggers/utils.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/triggers/utils.py
index 0c3836f08..deea0b7ee 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/triggers/utils.py
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/triggers/utils.py
@@ -105,6 +105,7 @@ def get_trigger_function_and_columns(conn, data, tid,
     # with schema name.
     if data['lanname'] == 'edbspl':
         data['tfunction'] = 'Inline EDB-SPL'
+        data['tgargs'] = None
     else:
         SQL = render_template("/".join(
             [template_path, 'get_triggerfunctions.sql']),


^ permalink  raw  reply  [nested|flat] 2+ messages in thread

* Re: [pgAdmin][RM4639]: Truncate Trigger option should enabled in properties sections if trigger is already created without each rows
  2020-10-20 09:29 [pgAdmin][RM4639]: Truncate Trigger option should enabled in properties sections if trigger is already created without each rows Pradip Parkale <[email protected]>
@ 2020-10-20 11:47 ` Akshay Joshi <[email protected]>
  0 siblings, 0 replies; 2+ messages in thread

From: Akshay Joshi @ 2020-10-20 11:47 UTC (permalink / raw)
  To: Pradip Parkale <[email protected]>; +Cc: pgadmin-hackers

Thanks, patch applied.

On Tue, Oct 20, 2020 at 2:59 PM Pradip Parkale <
[email protected]> wrote:

> Hi Hackers,
> Please find the attached for RM4639 and RM5779. For the trigger, most of
> the fields will be disabled in edit mode.
>
>
> --
> Thanks & Regards,
> Pradip Parkale
> Software Engineer | EnterpriseDB Corporation
>


-- 
*Thanks & Regards*
*Akshay Joshi*
*pgAdmin Hacker | Sr. Software Architect*
*EDB Postgres <http://edbpostgres.com>*

*Mobile: +91 976-788-8246*


^ permalink  raw  reply  [nested|flat] 2+ messages in thread


end of thread, other threads:[~2020-10-20 11:47 UTC | newest]

Thread overview: 2+ messages (download: mbox mbox.gz follow: Atom feed)
-- links below jump to the message on this page --
2020-10-20 09:29 [pgAdmin][RM4639]: Truncate Trigger option should enabled in properties sections if trigger is already created without each rows Pradip Parkale <[email protected]>
2020-10-20 11:47 ` Akshay Joshi <[email protected]>

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox