public inbox for [email protected]
help / color / mirror / Atom feedFrom: Pradip Parkale <[email protected]>
To: pgadmin-hackers <[email protected]>
Subject: [pgAdmin][RM4639]: Truncate Trigger option should enabled in properties sections if trigger is already created without each rows
Date: Tue, 20 Oct 2020 14:59:37 +0530
Message-ID: <CAJ9T6StgwcFRNmTLfmwbT=g_vDLTbtmKtt_nu96WMt-ycf3DCw@mail.gmail.com> (raw)
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']),
view thread (2+ 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: [pgAdmin][RM4639]: Truncate Trigger option should enabled in properties sections if trigger is already created without each rows
In-Reply-To: <CAJ9T6StgwcFRNmTLfmwbT=g_vDLTbtmKtt_nu96WMt-ycf3DCw@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