From ade419e699a9acaba2f6b54f2955686f896b5f4d Mon Sep 17 00:00:00 2001 From: Jose Leite <122051639+joseleite550@users.noreply.github.com> Date: Wed, 26 Apr 2023 22:58:00 -0300 Subject: [PATCH] IDEMPIERE-5668 - Improvements to the copy role process (#1780) * IDEMPIERE-5668 - Improvements to the copy role process * IDEMPIERE-5668 - Adjustments to the parameters of the copyRole process --- .../oracle/202304131354_IDEMPIERE-5668.sql | 38 ++++++++++ .../oracle/202304250949_IDEMPIERE-5668.sql | 69 +++++++++++++++++++ .../202304131354_IDEMPIERE-5668.sql | 35 ++++++++++ .../202304250949_IDEMPIERE-5668.sql | 65 +++++++++++++++++ .../src/org/compiere/process/CopyRole.java | 61 +++++++--------- 5 files changed, 230 insertions(+), 38 deletions(-) create mode 100644 migration/iD11/oracle/202304131354_IDEMPIERE-5668.sql create mode 100644 migration/iD11/oracle/202304250949_IDEMPIERE-5668.sql create mode 100644 migration/iD11/postgresql/202304131354_IDEMPIERE-5668.sql create mode 100644 migration/iD11/postgresql/202304250949_IDEMPIERE-5668.sql diff --git a/migration/iD11/oracle/202304131354_IDEMPIERE-5668.sql b/migration/iD11/oracle/202304131354_IDEMPIERE-5668.sql new file mode 100644 index 0000000000..17106ad7a3 --- /dev/null +++ b/migration/iD11/oracle/202304131354_IDEMPIERE-5668.sql @@ -0,0 +1,38 @@ +-- IDEMPIERE-5668 +SELECT register_migration_script('202304131354_IDEMPIERE-5668.sql') FROM dual; + +SET SQLBLANKLINES ON +SET DEFINE OFF + +-- Apr 13, 2023, 1:57:56 PM BRT +INSERT INTO AD_Val_Rule (AD_Val_Rule_ID,Name,Type,Code,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,EntityType,AD_Val_Rule_UU) VALUES (200175,'AD_Role of User','S','AD_Role.AD_Role_ID IN (SELECT AD_User_Roles.AD_Role_ID FROM AD_User_Roles WHERE AD_User_Roles.AD_User_ID = @#AD_User_ID@)',0,0,'Y',TO_TIMESTAMP('2023-04-13 13:57:56','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2023-04-13 13:57:56','YYYY-MM-DD HH24:MI:SS'),100,'D','d1e9c6fc-5a01-41d5-bdaf-4f9f76b8eccd') +; + +-- Apr 13, 2023, 1:58:21 PM BRT +UPDATE AD_Process_Para SET AD_Val_Rule_ID=200175,Updated=TO_TIMESTAMP('2023-04-13 13:58:21','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Process_Para_ID=50002 +; + +-- Apr 13, 2023, 1:58:30 PM BRT +UPDATE AD_Process_Para SET AD_Val_Rule_ID=200175,Updated=TO_TIMESTAMP('2023-04-13 13:58:30','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Process_Para_ID=50001 +; + +-- Apr 13, 2023, 1:59:13 PM BRT +INSERT INTO AD_Val_Rule (AD_Val_Rule_ID,Name,Type,Code,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,EntityType,AD_Val_Rule_UU) VALUES (200176,'AD_Client Acess','S','(CASE WHEN @#AD_Client_ID@ <> 0 THEN AD_Client.AD_Client_ID <> 0 ELSE TRUE END)',0,0,'Y',TO_TIMESTAMP('2023-04-13 13:59:12','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2023-04-13 13:59:12','YYYY-MM-DD HH24:MI:SS'),100,'D','130eb80f-a0d6-4df2-8595-1c92c538700e') +; + +-- Apr 13, 2023, 1:59:22 PM BRT +UPDATE AD_Process_Para SET AD_Val_Rule_ID=200176,Updated=TO_TIMESTAMP('2023-04-13 13:59:22','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Process_Para_ID=50003 +; + +-- Apr 13, 2023, 2:00:53 PM BRT +UPDATE AD_Process_Para SET AD_Val_Rule_ID=148,Updated=TO_TIMESTAMP('2023-04-13 14:00:53','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Process_Para_ID=50004 +; + +-- Apr 13, 2023, 2:02:40 PM BRT +INSERT INTO AD_Message (MsgType,MsgText,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,AD_Message_ID,Value,EntityType,AD_Message_UU) VALUES ('I','Roles must be different',0,0,'Y',TO_TIMESTAMP('2023-04-13 14:02:40','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2023-04-13 14:02:40','YYYY-MM-DD HH24:MI:SS'),100,200831,'RolesMustBeDifferent','D','61a4a8d4-a253-4160-867f-1814463b1688') +; + +-- Apr 13, 2023, 2:03:37 PM BRT +INSERT INTO AD_Message (MsgType,MsgText,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,AD_Message_ID,Value,EntityType,AD_Message_UU) VALUES ('I','Role Copied',0,0,'Y',TO_TIMESTAMP('2023-04-13 14:03:36','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2023-04-13 14:03:36','YYYY-MM-DD HH24:MI:SS'),100,200832,'RoleCopied','D','3f6a6ae6-7083-4d97-afb3-476577b135a5') +; + diff --git a/migration/iD11/oracle/202304250949_IDEMPIERE-5668.sql b/migration/iD11/oracle/202304250949_IDEMPIERE-5668.sql new file mode 100644 index 0000000000..c8d7eafa70 --- /dev/null +++ b/migration/iD11/oracle/202304250949_IDEMPIERE-5668.sql @@ -0,0 +1,69 @@ +-- IDEMPIERE-5668 +SELECT register_migration_script('202304250949_IDEMPIERE-5668.sql') FROM dual; + +SET SQLBLANKLINES ON +SET DEFINE OFF + +-- Apr 25, 2023, 9:49:32 AM BRT +UPDATE AD_Process_Para SET AD_Val_Rule_ID=NULL,Updated=TO_TIMESTAMP('2023-04-25 09:49:32','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Process_Para_ID=50002 +; + +-- Apr 25, 2023, 9:49:49 AM BRT +UPDATE AD_Process_Para SET AD_Val_Rule_ID=NULL,Updated=TO_TIMESTAMP('2023-04-25 09:49:49','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Process_Para_ID=50001 +; + +-- Apr 25, 2023, 9:49:53 AM BRT +DELETE FROM AD_Val_Rule WHERE AD_Val_Rule_UU='d1e9c6fc-5a01-41d5-bdaf-4f9f76b8eccd' +; + +-- Apr 25, 2023, 9:50:39 AM BRT +DELETE FROM AD_Process_Para WHERE AD_Process_Para_UU='61319c51-d825-44bc-9244-ffe44c82ca82' +; + +-- Apr 25, 2023, 9:51:13 AM BRT +UPDATE AD_Process_Para SET SeqNo=5,Updated=TO_TIMESTAMP('2023-04-25 09:51:13','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Process_Para_ID=50004 +; + +-- Apr 25, 2023, 9:51:27 AM BRT +UPDATE AD_Process_Para SET AD_Val_Rule_ID=NULL,Updated=TO_TIMESTAMP('2023-04-25 09:51:27','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Process_Para_ID=50004 +; + +-- Apr 25, 2023, 9:55:19 AM BRT +UPDATE AD_Process SET Description='WARNING! when executing the process, all Role to access records will be lost, being replaced by Role from records',Updated=TO_TIMESTAMP('2023-04-25 09:55:19','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Process_ID=50010 +; + +-- Apr 25, 2023, 9:55:19 AM BRT +UPDATE AD_Menu SET Name='Copy Role', Description='WARNING! when executing the process, all Role to access records will be lost, being replaced by Role from records', IsActive='Y',Updated=TO_TIMESTAMP('2023-04-25 09:55:19','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Menu_ID=50007 +; + +-- Apr 25, 2023, 10:19:33 AM BRT +INSERT INTO AD_Element (AD_Element_ID,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,ColumnName,Name,Description,Help,PrintName,EntityType,AD_Element_UU) VALUES (203807,0,0,'Y',TO_TIMESTAMP('2023-04-25 10:19:32','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2023-04-25 10:19:32','YYYY-MM-DD HH24:MI:SS'),100,'AD_Role_ID_From','Role From','Role that will be copied all accesses','Inform the role that you want to copy the access information','Role From','D','b8c55d50-a3e9-4448-ab48-420b3792fe00') +; + +-- Apr 25, 2023, 10:29:08 AM BRT +DELETE FROM AD_Process_Para WHERE AD_Process_Para_UU='c91ae734-af0a-410b-8493-6c9333786c1f' +; + +-- Apr 25, 2023, 10:29:35 AM BRT +INSERT INTO AD_Process_Para (AD_Process_Para_ID,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,Name,Description,Help,AD_Process_ID,SeqNo,AD_Reference_ID,AD_Reference_Value_ID,IsRange,FieldLength,IsMandatory,ColumnName,IsCentrallyMaintained,EntityType,AD_Element_ID,AD_Process_Para_UU,IsEncrypted,IsAutocomplete,DateRangeOption,IsShowNegateButton) VALUES (200436,0,0,'Y',TO_TIMESTAMP('2023-04-25 10:29:34','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2023-04-25 10:29:34','YYYY-MM-DD HH24:MI:SS'),100,'Role From','Role that will be copied all accesses','Inform the role that you want to copy the access information',50010,10,18,53317,'N',0,'N','AD_Role_ID_From','Y','D',203807,'5f991e98-4cf2-4390-9233-f9baa9457e1c','N','N','D','N') +; + +-- Apr 25, 2023, 10:33:01 AM BRT +INSERT INTO AD_Element (AD_Element_ID,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,ColumnName,Name,Description,Help,PrintName,EntityType,AD_Element_UU) VALUES (203808,0,0,'Y',TO_TIMESTAMP('2023-04-25 10:33:01','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2023-04-25 10:33:01','YYYY-MM-DD HH24:MI:SS'),100,'AD_Role_ID_To','Role To','Role that will receive the copy of access permissions','Inform the role that will receive access information','Role To','D','19b55f83-b362-416b-b301-8e43b4700db2') +; + +-- Apr 25, 2023, 10:33:33 AM BRT +DELETE FROM AD_Process_Para WHERE AD_Process_Para_UU='d701cb36-ab0f-4dac-aeb4-6aa5b935950c' +; + +-- Apr 25, 2023, 10:33:56 AM BRT +INSERT INTO AD_Process_Para (AD_Process_Para_ID,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,Name,Description,Help,AD_Process_ID,SeqNo,AD_Reference_ID,AD_Reference_Value_ID,IsRange,FieldLength,IsMandatory,ColumnName,IsCentrallyMaintained,EntityType,AD_Element_ID,AD_Process_Para_UU,IsEncrypted,IsAutocomplete,DateRangeOption,IsShowNegateButton) VALUES (200437,0,0,'Y',TO_TIMESTAMP('2023-04-25 10:33:56','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2023-04-25 10:33:56','YYYY-MM-DD HH24:MI:SS'),100,'Role To','Role that will receive the copy of access permissions','Inform the role that will receive access information',50010,15,18,53317,'N',0,'N','AD_Role_ID_To','Y','D',203808,'4b94a03d-515b-4f1a-86a4-fc6991d922b3','N','N','D','N') +; + +-- Apr 25, 2023, 10:35:03 AM BRT +UPDATE AD_Process_Para SET IsMandatory='Y',Updated=TO_TIMESTAMP('2023-04-25 10:35:03','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Process_Para_ID=200436 +; + +-- Apr 25, 2023, 10:35:11 AM BRT +UPDATE AD_Process_Para SET IsMandatory='Y',Updated=TO_TIMESTAMP('2023-04-25 10:35:11','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Process_Para_ID=200437 +; diff --git a/migration/iD11/postgresql/202304131354_IDEMPIERE-5668.sql b/migration/iD11/postgresql/202304131354_IDEMPIERE-5668.sql new file mode 100644 index 0000000000..968ace6428 --- /dev/null +++ b/migration/iD11/postgresql/202304131354_IDEMPIERE-5668.sql @@ -0,0 +1,35 @@ +-- IDEMPIERE-5668 +SELECT register_migration_script('202304131354_IDEMPIERE-5668.sql') FROM dual; + +-- Apr 13, 2023, 1:57:56 PM BRT +INSERT INTO AD_Val_Rule (AD_Val_Rule_ID,Name,Type,Code,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,EntityType,AD_Val_Rule_UU) VALUES (200175,'AD_Role of User','S','AD_Role.AD_Role_ID IN (SELECT AD_User_Roles.AD_Role_ID FROM AD_User_Roles WHERE AD_User_Roles.AD_User_ID = @#AD_User_ID@)',0,0,'Y',TO_TIMESTAMP('2023-04-13 13:57:56','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2023-04-13 13:57:56','YYYY-MM-DD HH24:MI:SS'),100,'D','d1e9c6fc-5a01-41d5-bdaf-4f9f76b8eccd') +; + +-- Apr 13, 2023, 1:58:21 PM BRT +UPDATE AD_Process_Para SET AD_Val_Rule_ID=200175,Updated=TO_TIMESTAMP('2023-04-13 13:58:21','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Process_Para_ID=50002 +; + +-- Apr 13, 2023, 1:58:30 PM BRT +UPDATE AD_Process_Para SET AD_Val_Rule_ID=200175,Updated=TO_TIMESTAMP('2023-04-13 13:58:30','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Process_Para_ID=50001 +; + +-- Apr 13, 2023, 1:59:13 PM BRT +INSERT INTO AD_Val_Rule (AD_Val_Rule_ID,Name,Type,Code,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,EntityType,AD_Val_Rule_UU) VALUES (200176,'AD_Client Acess','S','(CASE WHEN @#AD_Client_ID@ <> 0 THEN AD_Client.AD_Client_ID <> 0 ELSE TRUE END)',0,0,'Y',TO_TIMESTAMP('2023-04-13 13:59:12','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2023-04-13 13:59:12','YYYY-MM-DD HH24:MI:SS'),100,'D','130eb80f-a0d6-4df2-8595-1c92c538700e') +; + +-- Apr 13, 2023, 1:59:22 PM BRT +UPDATE AD_Process_Para SET AD_Val_Rule_ID=200176,Updated=TO_TIMESTAMP('2023-04-13 13:59:22','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Process_Para_ID=50003 +; + +-- Apr 13, 2023, 2:00:53 PM BRT +UPDATE AD_Process_Para SET AD_Val_Rule_ID=148,Updated=TO_TIMESTAMP('2023-04-13 14:00:53','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Process_Para_ID=50004 +; + +-- Apr 13, 2023, 2:02:40 PM BRT +INSERT INTO AD_Message (MsgType,MsgText,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,AD_Message_ID,Value,EntityType,AD_Message_UU) VALUES ('I','Roles must be different',0,0,'Y',TO_TIMESTAMP('2023-04-13 14:02:40','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2023-04-13 14:02:40','YYYY-MM-DD HH24:MI:SS'),100,200831,'RolesMustBeDifferent','D','61a4a8d4-a253-4160-867f-1814463b1688') +; + +-- Apr 13, 2023, 2:03:37 PM BRT +INSERT INTO AD_Message (MsgType,MsgText,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,AD_Message_ID,Value,EntityType,AD_Message_UU) VALUES ('I','Role Copied',0,0,'Y',TO_TIMESTAMP('2023-04-13 14:03:36','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2023-04-13 14:03:36','YYYY-MM-DD HH24:MI:SS'),100,200832,'RoleCopied','D','3f6a6ae6-7083-4d97-afb3-476577b135a5') +; + diff --git a/migration/iD11/postgresql/202304250949_IDEMPIERE-5668.sql b/migration/iD11/postgresql/202304250949_IDEMPIERE-5668.sql new file mode 100644 index 0000000000..ce3ff70d77 --- /dev/null +++ b/migration/iD11/postgresql/202304250949_IDEMPIERE-5668.sql @@ -0,0 +1,65 @@ +-- IDEMPIERE-5668 +SELECT register_migration_script('202304250949_IDEMPIERE-5668.sql') FROM dual; + +-- Apr 25, 2023, 9:49:32 AM BRT +UPDATE AD_Process_Para SET AD_Val_Rule_ID=NULL,Updated=TO_TIMESTAMP('2023-04-25 09:49:32','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Process_Para_ID=50002 +; + +-- Apr 25, 2023, 9:49:49 AM BRT +UPDATE AD_Process_Para SET AD_Val_Rule_ID=NULL,Updated=TO_TIMESTAMP('2023-04-25 09:49:49','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Process_Para_ID=50001 +; + +-- Apr 25, 2023, 9:49:53 AM BRT +DELETE FROM AD_Val_Rule WHERE AD_Val_Rule_UU='d1e9c6fc-5a01-41d5-bdaf-4f9f76b8eccd' +; + +-- Apr 25, 2023, 9:50:39 AM BRT +DELETE FROM AD_Process_Para WHERE AD_Process_Para_UU='61319c51-d825-44bc-9244-ffe44c82ca82' +; + +-- Apr 25, 2023, 9:51:13 AM BRT +UPDATE AD_Process_Para SET SeqNo=5,Updated=TO_TIMESTAMP('2023-04-25 09:51:13','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Process_Para_ID=50004 +; + +-- Apr 25, 2023, 9:51:27 AM BRT +UPDATE AD_Process_Para SET AD_Val_Rule_ID=NULL,Updated=TO_TIMESTAMP('2023-04-25 09:51:27','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Process_Para_ID=50004 +; + +-- Apr 25, 2023, 9:55:19 AM BRT +UPDATE AD_Process SET Description='WARNING! when executing the process, all Role to access records will be lost, being replaced by Role from records',Updated=TO_TIMESTAMP('2023-04-25 09:55:19','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Process_ID=50010 +; + +-- Apr 25, 2023, 9:55:19 AM BRT +UPDATE AD_Menu SET Name='Copy Role', Description='WARNING! when executing the process, all Role to access records will be lost, being replaced by Role from records', IsActive='Y',Updated=TO_TIMESTAMP('2023-04-25 09:55:19','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Menu_ID=50007 +; + +-- Apr 25, 2023, 10:19:33 AM BRT +INSERT INTO AD_Element (AD_Element_ID,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,ColumnName,Name,Description,Help,PrintName,EntityType,AD_Element_UU) VALUES (203807,0,0,'Y',TO_TIMESTAMP('2023-04-25 10:19:32','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2023-04-25 10:19:32','YYYY-MM-DD HH24:MI:SS'),100,'AD_Role_ID_From','Role From','Role that will be copied all accesses','Inform the role that you want to copy the access information','Role From','D','b8c55d50-a3e9-4448-ab48-420b3792fe00') +; +-- Apr 25, 2023, 10:29:08 AM BRT +DELETE FROM AD_Process_Para WHERE AD_Process_Para_UU='c91ae734-af0a-410b-8493-6c9333786c1f' +; + +-- Apr 25, 2023, 10:29:35 AM BRT +INSERT INTO AD_Process_Para (AD_Process_Para_ID,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,Name,Description,Help,AD_Process_ID,SeqNo,AD_Reference_ID,AD_Reference_Value_ID,IsRange,FieldLength,IsMandatory,ColumnName,IsCentrallyMaintained,EntityType,AD_Element_ID,AD_Process_Para_UU,IsEncrypted,IsAutocomplete,DateRangeOption,IsShowNegateButton) VALUES (200436,0,0,'Y',TO_TIMESTAMP('2023-04-25 10:29:34','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2023-04-25 10:29:34','YYYY-MM-DD HH24:MI:SS'),100,'Role From','Role that will be copied all accesses','Inform the role that you want to copy the access information',50010,10,18,53317,'N',0,'N','AD_Role_ID_From','Y','D',203807,'5f991e98-4cf2-4390-9233-f9baa9457e1c','N','N','D','N') +; + +-- Apr 25, 2023, 10:33:01 AM BRT +INSERT INTO AD_Element (AD_Element_ID,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,ColumnName,Name,Description,Help,PrintName,EntityType,AD_Element_UU) VALUES (203808,0,0,'Y',TO_TIMESTAMP('2023-04-25 10:33:01','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2023-04-25 10:33:01','YYYY-MM-DD HH24:MI:SS'),100,'AD_Role_ID_To','Role To','Role that will receive the copy of access permissions','Inform the role that will receive access information','Role To','D','19b55f83-b362-416b-b301-8e43b4700db2') +; + +-- Apr 25, 2023, 10:33:33 AM BRT +DELETE FROM AD_Process_Para WHERE AD_Process_Para_UU='d701cb36-ab0f-4dac-aeb4-6aa5b935950c' +; + +-- Apr 25, 2023, 10:33:56 AM BRT +INSERT INTO AD_Process_Para (AD_Process_Para_ID,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,Name,Description,Help,AD_Process_ID,SeqNo,AD_Reference_ID,AD_Reference_Value_ID,IsRange,FieldLength,IsMandatory,ColumnName,IsCentrallyMaintained,EntityType,AD_Element_ID,AD_Process_Para_UU,IsEncrypted,IsAutocomplete,DateRangeOption,IsShowNegateButton) VALUES (200437,0,0,'Y',TO_TIMESTAMP('2023-04-25 10:33:56','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2023-04-25 10:33:56','YYYY-MM-DD HH24:MI:SS'),100,'Role To','Role that will receive the copy of access permissions','Inform the role that will receive access information',50010,15,18,53317,'N',0,'N','AD_Role_ID_To','Y','D',203808,'4b94a03d-515b-4f1a-86a4-fc6991d922b3','N','N','D','N') +; + +-- Apr 25, 2023, 10:35:03 AM BRT +UPDATE AD_Process_Para SET IsMandatory='Y',Updated=TO_TIMESTAMP('2023-04-25 10:35:03','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Process_Para_ID=200436 +; + +-- Apr 25, 2023, 10:35:11 AM BRT +UPDATE AD_Process_Para SET IsMandatory='Y',Updated=TO_TIMESTAMP('2023-04-25 10:35:11','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Process_Para_ID=200437 +; diff --git a/org.adempiere.base.process/src/org/compiere/process/CopyRole.java b/org.adempiere.base.process/src/org/compiere/process/CopyRole.java index b9b1ecb2d7..0168952ca1 100755 --- a/org.adempiere.base.process/src/org/compiere/process/CopyRole.java +++ b/org.adempiere.base.process/src/org/compiere/process/CopyRole.java @@ -21,19 +21,21 @@ package org.compiere.process; import java.math.BigDecimal; +import org.adempiere.base.annotation.Parameter; import org.adempiere.exceptions.AdempiereException; import org.compiere.model.I_AD_Role_Included; -import org.compiere.model.MProcessPara; import org.compiere.model.MRole; import org.compiere.util.DB; import org.compiere.util.Env; +import org.compiere.util.Msg; /** * Copy role access records * * @author Robert Klein - * @ author Paul Bowden + * @author Paul Bowden + * @contributor Jose.Leite * @version $Id: CopyRole.java,v 1.0$ * */ @@ -41,35 +43,17 @@ import org.compiere.util.Env; @org.adempiere.base.annotation.Process public class CopyRole extends SvrProcess { - private int m_AD_Role_ID_From = 0; - private int m_AD_Role_ID_To = 0; - private int m_AD_Client_ID = 0; - private int m_AD_Org_ID = 0; + @Parameter + private int p_AD_Role_ID_From = 0; + @Parameter + private int p_AD_Role_ID_To = 0; + @Parameter + private int p_AD_Org_ID = 0; - /** - * Prepare - e.g., get Parameters. - */ - protected void prepare() - { + + protected void prepare(){ - ProcessInfoParameter[] para = getParameter(); - for (int i = 0; i < para.length; i++) - { - String name = para[i].getParameterName(); - if (para[i].getParameter() == null) - ; - else if (name.equals("AD_Role_ID") && i == 0) - m_AD_Role_ID_From = para[i].getParameterAsInt(); - else if (name.equals("AD_Role_ID")&& i == 1) - m_AD_Role_ID_To = para[i].getParameterAsInt(); - else if (name.equals("AD_Client_ID")) - m_AD_Client_ID = para[i].getParameterAsInt(); - else if (name.equals("AD_Org_ID")) - m_AD_Org_ID = para[i].getParameterAsInt(); - else - MProcessPara.validateUnknownParameter(getProcessInfo().getAD_Process_ID(), para[i]); - } - } // prepare + } /** * Copy the role access records @@ -77,13 +61,14 @@ public class CopyRole extends SvrProcess * @throws Exception */ protected String doIt() throws Exception - { + { + if (! MRole.getDefault().isAccessAdvanced()) { return "@Error@ @Advanced@ @Process@"; } - if (m_AD_Role_ID_From == m_AD_Role_ID_To) - throw new AdempiereException("Roles must be different"); + if (p_AD_Role_ID_From == p_AD_Role_ID_To) + throw new AdempiereException(Msg.getMsg(getCtx(), "RolesMustBeDifferent")); String[] tables = new String[] {"AD_Window_Access", "AD_Process_Access", "AD_Form_Access", "AD_Workflow_Access", "AD_Task_Access", "AD_Document_Action_Access", "AD_InfoWindow_Access", @@ -101,7 +86,7 @@ public class CopyRole extends SvrProcess String table = tables[i]; String keycolumn = keycolumns[i]; - StringBuilder sql = new StringBuilder("DELETE FROM ").append(table).append(" WHERE AD_Role_ID = ").append(m_AD_Role_ID_To); + StringBuilder sql = new StringBuilder("DELETE FROM ").append(table).append(" WHERE AD_Role_ID = ").append(p_AD_Role_ID_To); int no = DB.executeUpdateEx(sql.toString(), get_TrxName()); addLog(action++, null, BigDecimal.valueOf(no), "Old records deleted from " + table ); @@ -120,25 +105,25 @@ public class CopyRole extends SvrProcess sql.append(", isReadWrite) "); else sql.append(") "); - sql.append("SELECT ").append(m_AD_Client_ID) - .append(", ").append(m_AD_Org_ID) + sql.append("SELECT ").append(Env.getAD_Client_ID(getCtx())) + .append(", ").append(p_AD_Org_ID) .append(", getDate(), ").append(Env.getAD_User_ID(Env.getCtx())) .append(", getDate(), ").append(Env.getAD_User_ID(Env.getCtx())) - .append(", ").append(m_AD_Role_ID_To) + .append(", ").append(p_AD_Role_ID_To) .append(", ").append(keycolumn) .append(", IsActive "); if (column_SeqNo) sql.append(", SeqNo "); if (column_IsReadWrite) sql.append(", isReadWrite "); - sql.append("FROM ").append(table).append(" WHERE AD_Role_ID = ").append(m_AD_Role_ID_From); + sql.append("FROM ").append(table).append(" WHERE AD_Role_ID = ").append(p_AD_Role_ID_From); no = DB.executeUpdateEx (sql.toString(), get_TrxName()); addLog(action++, null, new BigDecimal(no), "New records inserted into " + table ); } - return "Role copied"; + return Msg.getMsg(getCtx(),"RoleCopied"); } // doIt } // CopyRole