From 7417e1ce3cceef7ae9bdb4a6ed7a54e00e79fc11 Mon Sep 17 00:00:00 2001 From: Nicolas Micoud <58596990+nmicoud@users.noreply.github.com> Date: Mon, 6 Mar 2023 19:56:56 +0100 Subject: [PATCH] =?UTF-8?q?IDEMPIERE-5595:=20Allow=20to=20deactivate=20neg?= =?UTF-8?q?ate=20option=20for=20"Chosen=20Multipl=E2=80=A6=20(#1695)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * IDEMPIERE-5595: Allow to deactivate negate option for "Chosen Multiple Selection" components in processes https://idempiere.atlassian.net/browse/IDEMPIERE-5595 * IDEMPIERE-5595: regenerate serial * IDEMPIERE-5595: move scripts to iD10 / resolve conflict * IDEMPIERE-5595: change position of the field / update existing data * IDEMPIERE-5595: check ProcedureName is empty before enabling it * IDEMPIERE-5595: update existing records missing in oracle * Update 202303020910_IDEMPIERE-5595.sql * Update 202303020910_IDEMPIERE-5595.sql --------- Co-authored-by: Carlos Ruiz --- .../oracle/202303020910_IDEMPIERE-5595.sql | 181 ++++++++++++++++++ .../202303020910_IDEMPIERE-5595.sql | 178 +++++++++++++++++ .../src/org/compiere/model/GridFieldVO.java | 4 + .../org/compiere/model/I_AD_Process_Para.java | 15 +- .../src/org/compiere/model/MProcessPara.java | 11 +- .../org/compiere/model/X_AD_Process_Para.java | 31 ++- .../webui/apps/ProcessParameterPanel.java | 8 +- 7 files changed, 418 insertions(+), 10 deletions(-) create mode 100644 migration/iD10/oracle/202303020910_IDEMPIERE-5595.sql create mode 100644 migration/iD10/postgresql/202303020910_IDEMPIERE-5595.sql diff --git a/migration/iD10/oracle/202303020910_IDEMPIERE-5595.sql b/migration/iD10/oracle/202303020910_IDEMPIERE-5595.sql new file mode 100644 index 0000000000..053e1bc85d --- /dev/null +++ b/migration/iD10/oracle/202303020910_IDEMPIERE-5595.sql @@ -0,0 +1,181 @@ +-- IDEMPIERE-5595 +SELECT register_migration_script('202303020910_IDEMPIERE-5595.sql') FROM dual; + +SET SQLBLANKLINES ON +SET DEFINE OFF + +-- Mar 2, 2023, 9:10:17 AM CET +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 (203791,0,0,'Y',TO_TIMESTAMP('2023-03-02 09:09:50','YYYY-MM-DD HH24:MI:SS'),10,TO_TIMESTAMP('2023-03-02 09:09:50','YYYY-MM-DD HH24:MI:SS'),10,'IsShowNegateButton','Show Negate Button','Show Negate Button for Chosen Multiple editors',NULL,'Show Negate Button','D','a40deb16-1d75-41b1-b93f-ac9907079815') +; + +-- Mar 2, 2023, 9:11:32 AM CET +INSERT INTO AD_Column (AD_Column_ID,Version,Name,Description,AD_Table_ID,ColumnName,DefaultValue,FieldLength,IsKey,IsParent,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsEncrypted,AD_Reference_ID,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,AD_Element_ID,IsUpdateable,IsSelectionColumn,EntityType,IsSyncDatabase,IsAlwaysUpdateable,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsAllowCopy,SeqNoSelection,IsToolbarButton,IsSecure,FKConstraintType,IsHtml) VALUES (215776,0,'Show Negate Button','Show Negate Button for Chosen Multiple editors',285,'IsShowNegateButton','N',1,'N','N','Y','N','N',0,'N',20,0,0,'Y',TO_TIMESTAMP('2023-03-02 09:11:32','YYYY-MM-DD HH24:MI:SS'),10,TO_TIMESTAMP('2023-03-02 09:11:32','YYYY-MM-DD HH24:MI:SS'),10,203791,'Y','N','D','N','N','N','Y','82f6c4ec-189d-4c3a-959c-235afbbc51ba','Y',0,'N','N','N','N') +; + +-- Mar 2, 2023, 9:27:16 AM CET +ALTER TABLE AD_Process_Para ADD IsShowNegateButton CHAR(1) DEFAULT 'N' CHECK (IsShowNegateButton IN ('Y','N')) NOT NULL +; + +-- Mar 2, 2023, 9:28:51 AM CET +INSERT INTO AD_Field (AD_Field_ID,Name,Description,AD_Tab_ID,AD_Column_ID,IsDisplayed,DisplayLength,SeqNo,IsSameLine,IsHeading,IsFieldOnly,IsEncrypted,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,IsReadOnly,IsCentrallyMaintained,EntityType,AD_Field_UU,IsDisplayedGrid,SeqNoGrid,XPosition,ColumnSpan) VALUES (207571,'Show Negate Button','Show Negate Button for Chosen Multiple editors',246,215776,'Y',1,310,'N','N','N','N',0,0,'Y',TO_TIMESTAMP('2023-03-02 09:28:50','YYYY-MM-DD HH24:MI:SS'),10,TO_TIMESTAMP('2023-03-02 09:28:50','YYYY-MM-DD HH24:MI:SS'),10,'N','Y','D','b7022b17-3635-41dd-8ff3-932a6f9626c2','Y',290,2,2) +; + +-- Mar 2, 2023, 9:28:59 AM CET +UPDATE AD_Field SET SeqNo=130,Updated=TO_TIMESTAMP('2023-03-02 09:28:59','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=10 WHERE AD_Field_ID=205238 +; + +-- Mar 2, 2023, 9:28:59 AM CET +UPDATE AD_Field SET SeqNo=140,Updated=TO_TIMESTAMP('2023-03-02 09:28:59','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=10 WHERE AD_Field_ID=5818 +; + +-- Mar 2, 2023, 9:28:59 AM CET +UPDATE AD_Field SET SeqNo=150,Updated=TO_TIMESTAMP('2023-03-02 09:28:59','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=10 WHERE AD_Field_ID=2539 +; + +-- Mar 2, 2023, 9:28:59 AM CET +UPDATE AD_Field SET SeqNo=160,Updated=TO_TIMESTAMP('2023-03-02 09:28:59','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=10 WHERE AD_Field_ID=2540 +; + +-- Mar 2, 2023, 9:28:59 AM CET +UPDATE AD_Field SET SeqNo=170,Updated=TO_TIMESTAMP('2023-03-02 09:28:59','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=10 WHERE AD_Field_ID=2907 +; + +-- Mar 2, 2023, 9:28:59 AM CET +UPDATE AD_Field SET SeqNo=180,Updated=TO_TIMESTAMP('2023-03-02 09:28:59','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=10 WHERE AD_Field_ID=2901 +; + +-- Mar 2, 2023, 9:28:59 AM CET +UPDATE AD_Field SET SeqNo=190,Updated=TO_TIMESTAMP('2023-03-02 09:28:59','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=10 WHERE AD_Field_ID=2903 +; + +-- Mar 2, 2023, 9:28:59 AM CET +UPDATE AD_Field SET SeqNo=200,Updated=TO_TIMESTAMP('2023-03-02 09:28:59','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=10 WHERE AD_Field_ID=200097 +; + +-- Mar 2, 2023, 9:28:59 AM CET +UPDATE AD_Field SET SeqNo=210,Updated=TO_TIMESTAMP('2023-03-02 09:28:59','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=10 WHERE AD_Field_ID=2904 +; + +-- Mar 2, 2023, 9:28:59 AM CET +UPDATE AD_Field SET SeqNo=220,Updated=TO_TIMESTAMP('2023-03-02 09:28:59','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=10 WHERE AD_Field_ID=2544 +; + +-- Mar 2, 2023, 9:28:59 AM CET +UPDATE AD_Field SET SeqNo=230,Updated=TO_TIMESTAMP('2023-03-02 09:28:59','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=10 WHERE AD_Field_ID=205339 +; + +-- Mar 2, 2023, 9:28:59 AM CET +UPDATE AD_Field SET SeqNo=240,Updated=TO_TIMESTAMP('2023-03-02 09:28:59','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=10 WHERE AD_Field_ID=2902 +; + +-- Mar 2, 2023, 9:28:59 AM CET +UPDATE AD_Field SET SeqNo=250,Updated=TO_TIMESTAMP('2023-03-02 09:28:59','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=10 WHERE AD_Field_ID=4398 +; + +-- Mar 2, 2023, 9:28:59 AM CET +UPDATE AD_Field SET SeqNo=260,Updated=TO_TIMESTAMP('2023-03-02 09:28:59','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=10 WHERE AD_Field_ID=2906 +; + +-- Mar 2, 2023, 9:28:59 AM CET +UPDATE AD_Field SET SeqNo=270,Updated=TO_TIMESTAMP('2023-03-02 09:28:59','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=10 WHERE AD_Field_ID=2905 +; + +-- Mar 2, 2023, 9:28:59 AM CET +UPDATE AD_Field SET SeqNo=280,Updated=TO_TIMESTAMP('2023-03-02 09:28:59','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=10 WHERE AD_Field_ID=205193 +; + +-- Mar 2, 2023, 9:28:59 AM CET +UPDATE AD_Field SET SeqNo=290,Updated=TO_TIMESTAMP('2023-03-02 09:28:59','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=10 WHERE AD_Field_ID=56333 +; + +-- Mar 2, 2023, 9:28:59 AM CET +UPDATE AD_Field SET SeqNo=300,Updated=TO_TIMESTAMP('2023-03-02 09:28:59','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=10 WHERE AD_Field_ID=56334 +; + +-- Mar 2, 2023, 9:28:59 AM CET +UPDATE AD_Field SET SeqNo=310,Updated=TO_TIMESTAMP('2023-03-02 09:28:59','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=10 WHERE AD_Field_ID=204372 +; + +-- Mar 2, 2023, 9:28:59 AM CET +UPDATE AD_Field SET SeqNo=320,Updated=TO_TIMESTAMP('2023-03-02 09:28:59','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=10 WHERE AD_Field_ID=206410 +; + +-- Mar 2, 2023, 9:28:59 AM CET +UPDATE AD_Field SET IsDisplayed='Y', SeqNo=330, XPosition=5,Updated=TO_TIMESTAMP('2023-03-02 09:28:59','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=10 WHERE AD_Field_ID=207571 +; + +-- Mar 2, 2023, 9:29:41 AM CET +UPDATE AD_Field SET DisplayLogic='@AD_Reference_ID@ = 200161 | @AD_Reference_ID@ = 200163 | @AD_Reference_ID@ = 200162',Updated=TO_TIMESTAMP('2023-03-02 09:29:41','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=10 WHERE AD_Field_ID=207571 +; + +-- Mar 2, 2023, 4:16:34 PM CET +UPDATE AD_Field SET IsDisplayed='Y', SeqNo=170, XPosition=2,Updated=TO_TIMESTAMP('2023-03-02 16:16:34','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=10 WHERE AD_Field_ID=207571 +; + +-- Mar 2, 2023, 4:16:34 PM CET +UPDATE AD_Field SET SeqNo=180,Updated=TO_TIMESTAMP('2023-03-02 16:16:34','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=10 WHERE AD_Field_ID=2907 +; + +-- Mar 2, 2023, 4:16:34 PM CET +UPDATE AD_Field SET SeqNo=190,Updated=TO_TIMESTAMP('2023-03-02 16:16:34','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=10 WHERE AD_Field_ID=2901 +; + +-- Mar 2, 2023, 4:16:34 PM CET +UPDATE AD_Field SET SeqNo=200,Updated=TO_TIMESTAMP('2023-03-02 16:16:34','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=10 WHERE AD_Field_ID=2903 +; + +-- Mar 2, 2023, 4:16:34 PM CET +UPDATE AD_Field SET SeqNo=210,Updated=TO_TIMESTAMP('2023-03-02 16:16:34','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=10 WHERE AD_Field_ID=200097 +; + +-- Mar 2, 2023, 4:16:34 PM CET +UPDATE AD_Field SET SeqNo=220,Updated=TO_TIMESTAMP('2023-03-02 16:16:34','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=10 WHERE AD_Field_ID=2904 +; + +-- Mar 2, 2023, 4:16:34 PM CET +UPDATE AD_Field SET SeqNo=230,Updated=TO_TIMESTAMP('2023-03-02 16:16:34','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=10 WHERE AD_Field_ID=2544 +; + +-- Mar 2, 2023, 4:16:34 PM CET +UPDATE AD_Field SET SeqNo=240,Updated=TO_TIMESTAMP('2023-03-02 16:16:34','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=10 WHERE AD_Field_ID=205339 +; + +-- Mar 2, 2023, 4:16:34 PM CET +UPDATE AD_Field SET SeqNo=250,Updated=TO_TIMESTAMP('2023-03-02 16:16:34','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=10 WHERE AD_Field_ID=2902 +; + +-- Mar 2, 2023, 4:16:34 PM CET +UPDATE AD_Field SET SeqNo=260,Updated=TO_TIMESTAMP('2023-03-02 16:16:34','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=10 WHERE AD_Field_ID=4398 +; + +-- Mar 2, 2023, 4:16:34 PM CET +UPDATE AD_Field SET SeqNo=270,Updated=TO_TIMESTAMP('2023-03-02 16:16:34','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=10 WHERE AD_Field_ID=2906 +; + +-- Mar 2, 2023, 4:16:34 PM CET +UPDATE AD_Field SET SeqNo=280,Updated=TO_TIMESTAMP('2023-03-02 16:16:34','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=10 WHERE AD_Field_ID=2905 +; + +-- Mar 2, 2023, 4:16:34 PM CET +UPDATE AD_Field SET SeqNo=290,Updated=TO_TIMESTAMP('2023-03-02 16:16:34','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=10 WHERE AD_Field_ID=205193 +; + +-- Mar 2, 2023, 4:16:34 PM CET +UPDATE AD_Field SET SeqNo=300,Updated=TO_TIMESTAMP('2023-03-02 16:16:34','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=10 WHERE AD_Field_ID=56333 +; + +-- Mar 2, 2023, 4:16:34 PM CET +UPDATE AD_Field SET SeqNo=310,Updated=TO_TIMESTAMP('2023-03-02 16:16:34','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=10 WHERE AD_Field_ID=56334 +; + +-- Mar 2, 2023, 4:16:34 PM CET +UPDATE AD_Field SET SeqNo=320,Updated=TO_TIMESTAMP('2023-03-02 16:16:34','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=10 WHERE AD_Field_ID=204372 +; + +-- Mar 2, 2023, 4:16:34 PM CET +UPDATE AD_Field SET SeqNo=330,Updated=TO_TIMESTAMP('2023-03-02 16:16:34','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=10 WHERE AD_Field_ID=206410 +; + +UPDATE AD_Process_Para SET IsShowNegateButton='Y' WHERE AD_Process_ID IN +(SELECT AD_Process_ID FROM AD_Process WHERE ClassName IS NULL AND JasperReport IS null); + diff --git a/migration/iD10/postgresql/202303020910_IDEMPIERE-5595.sql b/migration/iD10/postgresql/202303020910_IDEMPIERE-5595.sql new file mode 100644 index 0000000000..c784b45d5a --- /dev/null +++ b/migration/iD10/postgresql/202303020910_IDEMPIERE-5595.sql @@ -0,0 +1,178 @@ +-- IDEMPIERE-5595 +SELECT register_migration_script('202303020910_IDEMPIERE-5595.sql') FROM dual; + +-- Mar 2, 2023, 9:10:17 AM CET +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 (203791,0,0,'Y',TO_TIMESTAMP('2023-03-02 09:09:50','YYYY-MM-DD HH24:MI:SS'),10,TO_TIMESTAMP('2023-03-02 09:09:50','YYYY-MM-DD HH24:MI:SS'),10,'IsShowNegateButton','Show Negate Button','Show Negate Button for Chosen Multiple editors',NULL,'Show Negate Button','D','a40deb16-1d75-41b1-b93f-ac9907079815') +; + +-- Mar 2, 2023, 9:11:32 AM CET +INSERT INTO AD_Column (AD_Column_ID,Version,Name,Description,AD_Table_ID,ColumnName,DefaultValue,FieldLength,IsKey,IsParent,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsEncrypted,AD_Reference_ID,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,AD_Element_ID,IsUpdateable,IsSelectionColumn,EntityType,IsSyncDatabase,IsAlwaysUpdateable,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsAllowCopy,SeqNoSelection,IsToolbarButton,IsSecure,FKConstraintType,IsHtml) VALUES (215776,0,'Show Negate Button','Show Negate Button for Chosen Multiple editors',285,'IsShowNegateButton','N',1,'N','N','Y','N','N',0,'N',20,0,0,'Y',TO_TIMESTAMP('2023-03-02 09:11:32','YYYY-MM-DD HH24:MI:SS'),10,TO_TIMESTAMP('2023-03-02 09:11:32','YYYY-MM-DD HH24:MI:SS'),10,203791,'Y','N','D','N','N','N','Y','82f6c4ec-189d-4c3a-959c-235afbbc51ba','Y',0,'N','N','N','N') +; + +-- Mar 2, 2023, 9:27:16 AM CET +ALTER TABLE AD_Process_Para ADD COLUMN IsShowNegateButton CHAR(1) DEFAULT 'N' CHECK (IsShowNegateButton IN ('Y','N')) NOT NULL +; + +-- Mar 2, 2023, 9:28:51 AM CET +INSERT INTO AD_Field (AD_Field_ID,Name,Description,AD_Tab_ID,AD_Column_ID,IsDisplayed,DisplayLength,SeqNo,IsSameLine,IsHeading,IsFieldOnly,IsEncrypted,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,IsReadOnly,IsCentrallyMaintained,EntityType,AD_Field_UU,IsDisplayedGrid,SeqNoGrid,XPosition,ColumnSpan) VALUES (207571,'Show Negate Button','Show Negate Button for Chosen Multiple editors',246,215776,'Y',1,310,'N','N','N','N',0,0,'Y',TO_TIMESTAMP('2023-03-02 09:28:50','YYYY-MM-DD HH24:MI:SS'),10,TO_TIMESTAMP('2023-03-02 09:28:50','YYYY-MM-DD HH24:MI:SS'),10,'N','Y','D','b7022b17-3635-41dd-8ff3-932a6f9626c2','Y',290,2,2) +; + +-- Mar 2, 2023, 9:28:59 AM CET +UPDATE AD_Field SET SeqNo=130,Updated=TO_TIMESTAMP('2023-03-02 09:28:59','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=10 WHERE AD_Field_ID=205238 +; + +-- Mar 2, 2023, 9:28:59 AM CET +UPDATE AD_Field SET SeqNo=140,Updated=TO_TIMESTAMP('2023-03-02 09:28:59','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=10 WHERE AD_Field_ID=5818 +; + +-- Mar 2, 2023, 9:28:59 AM CET +UPDATE AD_Field SET SeqNo=150,Updated=TO_TIMESTAMP('2023-03-02 09:28:59','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=10 WHERE AD_Field_ID=2539 +; + +-- Mar 2, 2023, 9:28:59 AM CET +UPDATE AD_Field SET SeqNo=160,Updated=TO_TIMESTAMP('2023-03-02 09:28:59','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=10 WHERE AD_Field_ID=2540 +; + +-- Mar 2, 2023, 9:28:59 AM CET +UPDATE AD_Field SET SeqNo=170,Updated=TO_TIMESTAMP('2023-03-02 09:28:59','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=10 WHERE AD_Field_ID=2907 +; + +-- Mar 2, 2023, 9:28:59 AM CET +UPDATE AD_Field SET SeqNo=180,Updated=TO_TIMESTAMP('2023-03-02 09:28:59','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=10 WHERE AD_Field_ID=2901 +; + +-- Mar 2, 2023, 9:28:59 AM CET +UPDATE AD_Field SET SeqNo=190,Updated=TO_TIMESTAMP('2023-03-02 09:28:59','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=10 WHERE AD_Field_ID=2903 +; + +-- Mar 2, 2023, 9:28:59 AM CET +UPDATE AD_Field SET SeqNo=200,Updated=TO_TIMESTAMP('2023-03-02 09:28:59','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=10 WHERE AD_Field_ID=200097 +; + +-- Mar 2, 2023, 9:28:59 AM CET +UPDATE AD_Field SET SeqNo=210,Updated=TO_TIMESTAMP('2023-03-02 09:28:59','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=10 WHERE AD_Field_ID=2904 +; + +-- Mar 2, 2023, 9:28:59 AM CET +UPDATE AD_Field SET SeqNo=220,Updated=TO_TIMESTAMP('2023-03-02 09:28:59','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=10 WHERE AD_Field_ID=2544 +; + +-- Mar 2, 2023, 9:28:59 AM CET +UPDATE AD_Field SET SeqNo=230,Updated=TO_TIMESTAMP('2023-03-02 09:28:59','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=10 WHERE AD_Field_ID=205339 +; + +-- Mar 2, 2023, 9:28:59 AM CET +UPDATE AD_Field SET SeqNo=240,Updated=TO_TIMESTAMP('2023-03-02 09:28:59','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=10 WHERE AD_Field_ID=2902 +; + +-- Mar 2, 2023, 9:28:59 AM CET +UPDATE AD_Field SET SeqNo=250,Updated=TO_TIMESTAMP('2023-03-02 09:28:59','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=10 WHERE AD_Field_ID=4398 +; + +-- Mar 2, 2023, 9:28:59 AM CET +UPDATE AD_Field SET SeqNo=260,Updated=TO_TIMESTAMP('2023-03-02 09:28:59','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=10 WHERE AD_Field_ID=2906 +; + +-- Mar 2, 2023, 9:28:59 AM CET +UPDATE AD_Field SET SeqNo=270,Updated=TO_TIMESTAMP('2023-03-02 09:28:59','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=10 WHERE AD_Field_ID=2905 +; + +-- Mar 2, 2023, 9:28:59 AM CET +UPDATE AD_Field SET SeqNo=280,Updated=TO_TIMESTAMP('2023-03-02 09:28:59','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=10 WHERE AD_Field_ID=205193 +; + +-- Mar 2, 2023, 9:28:59 AM CET +UPDATE AD_Field SET SeqNo=290,Updated=TO_TIMESTAMP('2023-03-02 09:28:59','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=10 WHERE AD_Field_ID=56333 +; + +-- Mar 2, 2023, 9:28:59 AM CET +UPDATE AD_Field SET SeqNo=300,Updated=TO_TIMESTAMP('2023-03-02 09:28:59','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=10 WHERE AD_Field_ID=56334 +; + +-- Mar 2, 2023, 9:28:59 AM CET +UPDATE AD_Field SET SeqNo=310,Updated=TO_TIMESTAMP('2023-03-02 09:28:59','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=10 WHERE AD_Field_ID=204372 +; + +-- Mar 2, 2023, 9:28:59 AM CET +UPDATE AD_Field SET SeqNo=320,Updated=TO_TIMESTAMP('2023-03-02 09:28:59','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=10 WHERE AD_Field_ID=206410 +; + +-- Mar 2, 2023, 9:28:59 AM CET +UPDATE AD_Field SET IsDisplayed='Y', SeqNo=330, XPosition=5,Updated=TO_TIMESTAMP('2023-03-02 09:28:59','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=10 WHERE AD_Field_ID=207571 +; + +-- Mar 2, 2023, 9:29:41 AM CET +UPDATE AD_Field SET DisplayLogic='@AD_Reference_ID@ = 200161 | @AD_Reference_ID@ = 200163 | @AD_Reference_ID@ = 200162',Updated=TO_TIMESTAMP('2023-03-02 09:29:41','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=10 WHERE AD_Field_ID=207571 +; + +-- Mar 2, 2023, 4:16:34 PM CET +UPDATE AD_Field SET IsDisplayed='Y', SeqNo=170, XPosition=2,Updated=TO_TIMESTAMP('2023-03-02 16:16:34','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=10 WHERE AD_Field_ID=207571 +; + +-- Mar 2, 2023, 4:16:34 PM CET +UPDATE AD_Field SET SeqNo=180,Updated=TO_TIMESTAMP('2023-03-02 16:16:34','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=10 WHERE AD_Field_ID=2907 +; + +-- Mar 2, 2023, 4:16:34 PM CET +UPDATE AD_Field SET SeqNo=190,Updated=TO_TIMESTAMP('2023-03-02 16:16:34','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=10 WHERE AD_Field_ID=2901 +; + +-- Mar 2, 2023, 4:16:34 PM CET +UPDATE AD_Field SET SeqNo=200,Updated=TO_TIMESTAMP('2023-03-02 16:16:34','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=10 WHERE AD_Field_ID=2903 +; + +-- Mar 2, 2023, 4:16:34 PM CET +UPDATE AD_Field SET SeqNo=210,Updated=TO_TIMESTAMP('2023-03-02 16:16:34','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=10 WHERE AD_Field_ID=200097 +; + +-- Mar 2, 2023, 4:16:34 PM CET +UPDATE AD_Field SET SeqNo=220,Updated=TO_TIMESTAMP('2023-03-02 16:16:34','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=10 WHERE AD_Field_ID=2904 +; + +-- Mar 2, 2023, 4:16:34 PM CET +UPDATE AD_Field SET SeqNo=230,Updated=TO_TIMESTAMP('2023-03-02 16:16:34','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=10 WHERE AD_Field_ID=2544 +; + +-- Mar 2, 2023, 4:16:34 PM CET +UPDATE AD_Field SET SeqNo=240,Updated=TO_TIMESTAMP('2023-03-02 16:16:34','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=10 WHERE AD_Field_ID=205339 +; + +-- Mar 2, 2023, 4:16:34 PM CET +UPDATE AD_Field SET SeqNo=250,Updated=TO_TIMESTAMP('2023-03-02 16:16:34','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=10 WHERE AD_Field_ID=2902 +; + +-- Mar 2, 2023, 4:16:34 PM CET +UPDATE AD_Field SET SeqNo=260,Updated=TO_TIMESTAMP('2023-03-02 16:16:34','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=10 WHERE AD_Field_ID=4398 +; + +-- Mar 2, 2023, 4:16:34 PM CET +UPDATE AD_Field SET SeqNo=270,Updated=TO_TIMESTAMP('2023-03-02 16:16:34','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=10 WHERE AD_Field_ID=2906 +; + +-- Mar 2, 2023, 4:16:34 PM CET +UPDATE AD_Field SET SeqNo=280,Updated=TO_TIMESTAMP('2023-03-02 16:16:34','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=10 WHERE AD_Field_ID=2905 +; + +-- Mar 2, 2023, 4:16:34 PM CET +UPDATE AD_Field SET SeqNo=290,Updated=TO_TIMESTAMP('2023-03-02 16:16:34','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=10 WHERE AD_Field_ID=205193 +; + +-- Mar 2, 2023, 4:16:34 PM CET +UPDATE AD_Field SET SeqNo=300,Updated=TO_TIMESTAMP('2023-03-02 16:16:34','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=10 WHERE AD_Field_ID=56333 +; + +-- Mar 2, 2023, 4:16:34 PM CET +UPDATE AD_Field SET SeqNo=310,Updated=TO_TIMESTAMP('2023-03-02 16:16:34','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=10 WHERE AD_Field_ID=56334 +; + +-- Mar 2, 2023, 4:16:34 PM CET +UPDATE AD_Field SET SeqNo=320,Updated=TO_TIMESTAMP('2023-03-02 16:16:34','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=10 WHERE AD_Field_ID=204372 +; + +-- Mar 2, 2023, 4:16:34 PM CET +UPDATE AD_Field SET SeqNo=330,Updated=TO_TIMESTAMP('2023-03-02 16:16:34','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=10 WHERE AD_Field_ID=206410 +; + +UPDATE AD_Process_Para SET IsShowNegateButton='Y' WHERE AD_Process_ID IN +(SELECT AD_Process_ID FROM AD_Process WHERE ClassName IS NULL AND JasperReport IS null); + diff --git a/org.adempiere.base/src/org/compiere/model/GridFieldVO.java b/org.adempiere.base/src/org/compiere/model/GridFieldVO.java index 530a5ab301..451ebc4a3d 100644 --- a/org.adempiere.base/src/org/compiere/model/GridFieldVO.java +++ b/org.adempiere.base/src/org/compiere/model/GridFieldVO.java @@ -387,6 +387,7 @@ public class GridFieldVO implements Serializable, Cloneable vo.FieldGroup = rs.getString("FieldGroup"); vo.FieldGroupType = rs.getString("FieldGroupType"); vo.IsCollapsedByDefault = "Y".equals(rs.getString("IsCollapsedByDefault")); + vo.IsShowNegateButton = "Y".equals(rs.getString("IsShowNegateButton")); } catch (SQLException e) { @@ -770,6 +771,9 @@ public class GridFieldVO implements Serializable, Cloneable /* Allow to show field in Quick Form */ public boolean IsQuickForm = false; + /** Show Negate button (only for Chosen Multiple fields) */ + public boolean IsShowNegateButton = false; + /** * Set Context including contained elements * @param newCtx new context diff --git a/org.adempiere.base/src/org/compiere/model/I_AD_Process_Para.java b/org.adempiere.base/src/org/compiere/model/I_AD_Process_Para.java index 5c4730c3b2..f85086c39e 100644 --- a/org.adempiere.base/src/org/compiere/model/I_AD_Process_Para.java +++ b/org.adempiere.base/src/org/compiere/model/I_AD_Process_Para.java @@ -22,7 +22,7 @@ import org.compiere.util.KeyNamePair; /** Generated Interface for AD_Process_Para * @author iDempiere (generated) - * @version Release 10 + * @version Release 11 */ public interface I_AD_Process_Para { @@ -387,6 +387,19 @@ public interface I_AD_Process_Para */ public boolean isRange(); + /** Column name IsShowNegateButton */ + public static final String COLUMNNAME_IsShowNegateButton = "IsShowNegateButton"; + + /** Set Show Negate Button. + * Show Negate Button for Chosen Multiple editors + */ + public void setIsShowNegateButton (boolean IsShowNegateButton); + + /** Get Show Negate Button. + * Show Negate Button for Chosen Multiple editors + */ + public boolean isShowNegateButton(); + /** Column name MandatoryLogic */ public static final String COLUMNNAME_MandatoryLogic = "MandatoryLogic"; diff --git a/org.adempiere.base/src/org/compiere/model/MProcessPara.java b/org.adempiere.base/src/org/compiere/model/MProcessPara.java index 5d8ff7f9c0..a300153a20 100644 --- a/org.adempiere.base/src/org/compiere/model/MProcessPara.java +++ b/org.adempiere.base/src/org/compiere/model/MProcessPara.java @@ -43,8 +43,7 @@ public class MProcessPara extends X_AD_Process_Para implements ImmutablePOSuppor /** * */ - private static final long serialVersionUID = -1757466458508655102L; - + private static final long serialVersionUID = -1357447647930552555L; /** Static Logger */ private static CLogger s_log = CLogger.getCLogger (MProcessPara.class); @@ -351,7 +350,13 @@ public class MProcessPara extends X_AD_Process_Para implements ImmutablePOSuppor LogicEvaluator.validate(getDisplayLogic()); } } - + + if (newRecord && DisplayType.isChosenMultipleSelection(getAD_Reference_ID())) { + MProcess p = MProcess.get(getAD_Process_ID()); + if (Util.isEmpty(p.getClassname()) && Util.isEmpty(p.getProcedureName()) && Util.isEmpty(p.getJasperReport())) + setIsShowNegateButton(true); + } + return true; } // beforeSave diff --git a/org.adempiere.base/src/org/compiere/model/X_AD_Process_Para.java b/org.adempiere.base/src/org/compiere/model/X_AD_Process_Para.java index 9b2aafb50c..9081aa3c39 100644 --- a/org.adempiere.base/src/org/compiere/model/X_AD_Process_Para.java +++ b/org.adempiere.base/src/org/compiere/model/X_AD_Process_Para.java @@ -23,7 +23,7 @@ import org.compiere.util.KeyNamePair; /** Generated Model for AD_Process_Para * @author iDempiere (generated) - * @version Release 10 - $Id$ */ + * @version Release 11 - $Id$ */ @org.adempiere.base.Model(table="AD_Process_Para") public class X_AD_Process_Para extends PO implements I_AD_Process_Para, I_Persistent { @@ -31,7 +31,7 @@ public class X_AD_Process_Para extends PO implements I_AD_Process_Para, I_Persis /** * */ - private static final long serialVersionUID = 20230206L; + private static final long serialVersionUID = 20230302L; /** Standard Constructor */ public X_AD_Process_Para (Properties ctx, int AD_Process_Para_ID, String trxName) @@ -56,6 +56,8 @@ public class X_AD_Process_Para extends PO implements I_AD_Process_Para, I_Persis // N setIsMandatory (false); setIsRange (false); + setIsShowNegateButton (false); +// N setName (null); setSeqNo (0); // @SQL=SELECT NVL(MAX(SeqNo),0)+10 AS DefaultValue FROM AD_Process_Para WHERE AD_Process_ID=@AD_Process_ID@ @@ -85,6 +87,8 @@ public class X_AD_Process_Para extends PO implements I_AD_Process_Para, I_Persis // N setIsMandatory (false); setIsRange (false); + setIsShowNegateButton (false); +// N setName (null); setSeqNo (0); // @SQL=SELECT NVL(MAX(SeqNo),0)+10 AS DefaultValue FROM AD_Process_Para WHERE AD_Process_ID=@AD_Process_ID@ @@ -595,6 +599,29 @@ public class X_AD_Process_Para extends PO implements I_AD_Process_Para, I_Persis return false; } + /** Set Show Negate Button. + @param IsShowNegateButton Show Negate Button for Chosen Multiple editors + */ + public void setIsShowNegateButton (boolean IsShowNegateButton) + { + set_Value (COLUMNNAME_IsShowNegateButton, Boolean.valueOf(IsShowNegateButton)); + } + + /** Get Show Negate Button. + @return Show Negate Button for Chosen Multiple editors + */ + public boolean isShowNegateButton() + { + Object oo = get_Value(COLUMNNAME_IsShowNegateButton); + if (oo != null) + { + if (oo instanceof Boolean) + return ((Boolean)oo).booleanValue(); + return "Y".equals(oo); + } + return false; + } + /** Set Mandatory Logic. @param MandatoryLogic Mandatory Logic */ diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/ProcessParameterPanel.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/ProcessParameterPanel.java index a519b03e5a..c411bbfef3 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/ProcessParameterPanel.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/ProcessParameterPanel.java @@ -98,7 +98,7 @@ public class ProcessParameterPanel extends Panel implements /** * generated serial id */ - private static final long serialVersionUID = -6099317911368929787L; + private static final long serialVersionUID = -1398301240136128512L; /** Event post from {@link #valueChange(ValueChangeEvent)} **/ private static final String ON_POST_EDITOR_VALUE_CHANGE_EVENT = "onPostEditorValueChange"; @@ -259,7 +259,7 @@ public class ProcessParameterPanel extends Panel implements + "p.SeqNo, p.AD_Reference_Value_ID, vr.Code AS ValidationCode, " + "p.ReadOnlyLogic, p.DisplayLogic, p.IsEncrypted, NULL AS FormatPattern, p.MandatoryLogic, p.Placeholder, p.Placeholder2, p.isAutoComplete, " + "'' AS ValidationCodeLookup, " - + "fg.Name AS FieldGroup, fg.FieldGroupType, fg.IsCollapsedByDefault " + + "fg.Name AS FieldGroup, fg.FieldGroupType, fg.IsCollapsedByDefault, p.IsShowNegateButton " + "FROM AD_Process_Para p" + " LEFT OUTER JOIN AD_Val_Rule vr ON (p.AD_Val_Rule_ID=vr.AD_Val_Rule_ID) " + " LEFT OUTER JOIN AD_FieldGroup fg ON (p.AD_FieldGroup_ID=fg.AD_FieldGroup_ID) " @@ -273,7 +273,7 @@ public class ProcessParameterPanel extends Panel implements + "p.SeqNo, p.AD_Reference_Value_ID, vr.Code AS ValidationCode, " + "p.ReadOnlyLogic, p.DisplayLogic, p.IsEncrypted, NULL AS FormatPattern,p.MandatoryLogic, t.Placeholder, t.Placeholder2, p.isAutoComplete, " + "'' AS ValidationCodeLookup, " - + "fgt.Name AS FieldGroup, fg.FieldGroupType, fg.IsCollapsedByDefault " + + "fgt.Name AS FieldGroup, fg.FieldGroupType, fg.IsCollapsedByDefault, p.IsShowNegateButton " + "FROM AD_Process_Para p" + " INNER JOIN AD_Process_Para_Trl t ON (p.AD_Process_Para_ID=t.AD_Process_Para_ID)" + " LEFT OUTER JOIN AD_Val_Rule vr ON (p.AD_Val_Rule_ID=vr.AD_Val_Rule_ID) " @@ -528,7 +528,7 @@ public class ProcessParameterPanel extends Panel implements m_separators.add(null); m_dateRangeEditors.add(null); //add not in support for multi selection field - if(DisplayType.isChosenMultipleSelection(mField.getDisplayType())) { + if(DisplayType.isChosenMultipleSelection(mField.getDisplayType()) && voF.IsShowNegateButton) { Button bNegate = ButtonFactory.createButton("", null, null); bNegate.setTooltiptext(Msg.translate(Env.getCtx(), "IncludeSelectedValues")); bNegate.setIconSclass("z-icon-IncludeSelected");