From 9ddd480cb470978e66f089fc5b5538d08cf11438 Mon Sep 17 00:00:00 2001 From: Carlos Ruiz Date: Sun, 11 Jan 2015 16:56:56 -0500 Subject: [PATCH] IDEMPIERE-2064 Implement toolbar+tab button --- .../oracle/201501111521_IDEMPIERE-2064.sql | 173 ++++++++++++++++++ .../201501111521_IDEMPIERE-2064.sql | 163 +++++++++++++++++ .../src/org/compiere/model/GridField.java | 10 +- .../src/org/compiere/model/GridFieldVO.java | 8 +- .../src/org/compiere/model/GridTab.java | 2 +- .../src/org/compiere/model/I_AD_Column.java | 4 +- .../src/org/compiere/model/MColumn.java | 4 +- .../src/org/compiere/model/X_AD_Column.java | 28 +-- .../src/org/compiere/model/X_AD_Field.java | 16 +- .../compiere/model/X_AD_UserDef_Field.java | 16 +- .../src/org/compiere/grid/GridController.java | 6 +- .../adempiere/webui/adwindow/ADTabpanel.java | 4 +- .../webui/adwindow/GridTabRowRenderer.java | 4 +- .../adempiere/webui/adwindow/GridView.java | 6 +- .../adempiere/webui/apps/form/WTabEditor.java | 8 +- 15 files changed, 400 insertions(+), 52 deletions(-) create mode 100644 migration/i2.1/oracle/201501111521_IDEMPIERE-2064.sql create mode 100644 migration/i2.1/postgresql/201501111521_IDEMPIERE-2064.sql diff --git a/migration/i2.1/oracle/201501111521_IDEMPIERE-2064.sql b/migration/i2.1/oracle/201501111521_IDEMPIERE-2064.sql new file mode 100644 index 0000000000..6fb9f340c5 --- /dev/null +++ b/migration/i2.1/oracle/201501111521_IDEMPIERE-2064.sql @@ -0,0 +1,173 @@ +SET SQLBLANKLINES ON +SET DEFINE OFF + +-- Jan 11, 2015 3:18:55 PM COT +-- IDEMPIERE-2064 Implement toolbar+tab button +INSERT INTO AD_Reference (AD_Reference_ID,Name,ValidationType,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,EntityType,IsOrderByValue,AD_Reference_UU) VALUES (200099,'IsToolbarButton','L',0,0,'Y',TO_DATE('2015-01-11 15:18:54','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2015-01-11 15:18:54','YYYY-MM-DD HH24:MI:SS'),100,'D','N','d90d1cd0-4cf1-41e0-84cb-53600a366a22') +; + +-- Jan 11, 2015 3:19:18 PM COT +INSERT INTO AD_Ref_List (AD_Ref_List_ID,Name,AD_Reference_ID,Value,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,EntityType,AD_Ref_List_UU) VALUES (200285,'Toolbar',200099,'Y',0,0,'Y',TO_DATE('2015-01-11 15:19:18','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2015-01-11 15:19:18','YYYY-MM-DD HH24:MI:SS'),100,'D','5803fda0-fda8-4100-85f2-a4fe8142a059') +; + +-- Jan 11, 2015 3:19:35 PM COT +INSERT INTO AD_Ref_List (AD_Ref_List_ID,Name,AD_Reference_ID,Value,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,EntityType,AD_Ref_List_UU) VALUES (200286,'Window',200099,'N',0,0,'Y',TO_DATE('2015-01-11 15:19:34','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2015-01-11 15:19:34','YYYY-MM-DD HH24:MI:SS'),100,'D','eb2f6365-a357-4655-9102-d622360aacce') +; + +-- Jan 11, 2015 3:19:45 PM COT +INSERT INTO AD_Ref_List (AD_Ref_List_ID,Name,AD_Reference_ID,Value,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,EntityType,AD_Ref_List_UU) VALUES (200287,'Both',200099,'B',0,0,'Y',TO_DATE('2015-01-11 15:19:44','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2015-01-11 15:19:44','YYYY-MM-DD HH24:MI:SS'),100,'D','5b8b7285-d4da-4513-8941-a280d501ea19') +; + +-- Jan 11, 2015 3:20:17 PM COT +UPDATE AD_Column SET AD_Reference_ID=17, AD_Reference_Value_ID=200099,Updated=TO_DATE('2015-01-11 15:20:17','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=200703 +; + +-- Jan 11, 2015 3:20:18 PM COT +UPDATE AD_Column SET AD_Reference_Value_ID=200099,Updated=TO_DATE('2015-01-11 15:20:18','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=200949 +; + +-- Jan 11, 2015 3:20:20 PM COT +UPDATE AD_Column SET AD_Reference_Value_ID=200099,Updated=TO_DATE('2015-01-11 15:20:20','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=200958 +; + +-- Jan 11, 2015 3:20:36 PM COT +UPDATE AD_Column SET IsToolbarButton='Y' WHERE IsToolbarButton IS NULL +; + +-- Jan 11, 2015 3:20:44 PM COT +ALTER TABLE AD_Field MODIFY IsToolbarButton CHAR(1) DEFAULT NULL +; + +-- Jan 11, 2015 3:20:50 PM COT +ALTER TABLE AD_UserDef_Field MODIFY IsToolbarButton CHAR(1) DEFAULT NULL +; + +-- to drop the constraint (unknown name) +alter table ad_column add (tmp_istoolbarbutton char(1) null); + +update ad_column set tmp_istoolbarbutton=istoolbarbutton; + +alter table ad_column drop (istoolbarbutton) cascade constraint; + +alter table ad_column rename column tmp_istoolbarbutton to istoolbarbutton; + +-- Jan 11, 2015 3:20:35 PM COT +ALTER TABLE AD_Column MODIFY IsToolbarButton CHAR(1) DEFAULT 'Y' +; + +-- Jan 11, 2015 4:53:13 PM COT +-- IDEMPIERE-2064 Implement toolbar+tab button +UPDATE AD_Field SET IsDisplayed='Y', SeqNo=190, XPosition=4, ColumnSpan=2,Updated=TO_DATE('2015-01-11 16:53:13','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200648 +; + +-- Jan 11, 2015 4:53:13 PM COT +UPDATE AD_Field SET SeqNo=200,Updated=TO_DATE('2015-01-11 16:53:13','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=59619 +; + +-- Jan 11, 2015 4:53:13 PM COT +UPDATE AD_Field SET SeqNo=210,Updated=TO_DATE('2015-01-11 16:53:13','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=171 +; + +-- Jan 11, 2015 4:53:13 PM COT +UPDATE AD_Field SET SeqNo=220,Updated=TO_DATE('2015-01-11 16:53:13','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=56279 +; + +-- Jan 11, 2015 4:53:13 PM COT +UPDATE AD_Field SET SeqNo=230,Updated=TO_DATE('2015-01-11 16:53:13','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=2574 +; + +-- Jan 11, 2015 4:53:13 PM COT +UPDATE AD_Field SET SeqNo=240,Updated=TO_DATE('2015-01-11 16:53:13','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=2573 +; + +-- Jan 11, 2015 4:53:13 PM COT +UPDATE AD_Field SET SeqNo=250,Updated=TO_DATE('2015-01-11 16:53:13','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=202518 +; + +-- Jan 11, 2015 4:53:13 PM COT +UPDATE AD_Field SET SeqNo=260,Updated=TO_DATE('2015-01-11 16:53:13','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=202519 +; + +-- Jan 11, 2015 4:53:13 PM COT +UPDATE AD_Field SET SeqNo=270,Updated=TO_DATE('2015-01-11 16:53:13','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=160 +; + +-- Jan 11, 2015 4:53:13 PM COT +UPDATE AD_Field SET SeqNo=280,Updated=TO_DATE('2015-01-11 16:53:13','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=161 +; + +-- Jan 11, 2015 4:53:13 PM COT +UPDATE AD_Field SET SeqNo=290,Updated=TO_DATE('2015-01-11 16:53:13','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=162 +; + +-- Jan 11, 2015 4:53:13 PM COT +UPDATE AD_Field SET SeqNo=300,Updated=TO_DATE('2015-01-11 16:53:13','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=166 +; + +-- Jan 11, 2015 4:53:13 PM COT +UPDATE AD_Field SET SeqNo=310,Updated=TO_DATE('2015-01-11 16:53:13','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=5122 +; + +-- Jan 11, 2015 4:53:13 PM COT +UPDATE AD_Field SET SeqNo=320,Updated=TO_DATE('2015-01-11 16:53:13','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=169 +; + +-- Jan 11, 2015 4:53:13 PM COT +UPDATE AD_Field SET SeqNo=330,Updated=TO_DATE('2015-01-11 16:53:13','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=2370 +; + +-- Jan 11, 2015 4:53:13 PM COT +UPDATE AD_Field SET SeqNo=340,Updated=TO_DATE('2015-01-11 16:53:13','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=10128 +; + +-- Jan 11, 2015 4:53:13 PM COT +UPDATE AD_Field SET SeqNo=350,Updated=TO_DATE('2015-01-11 16:53:13','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=4941 +; + +-- Jan 11, 2015 4:53:13 PM COT +UPDATE AD_Field SET SeqNo=360,Updated=TO_DATE('2015-01-11 16:53:13','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=50188 +; + +-- Jan 11, 2015 4:53:13 PM COT +UPDATE AD_Field SET SeqNo=370,Updated=TO_DATE('2015-01-11 16:53:13','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=168 +; + +-- Jan 11, 2015 4:53:13 PM COT +UPDATE AD_Field SET SeqNo=380,Updated=TO_DATE('2015-01-11 16:53:13','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=159 +; + +-- Jan 11, 2015 4:53:13 PM COT +UPDATE AD_Field SET SeqNo=390,Updated=TO_DATE('2015-01-11 16:53:13','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=4940 +; + +-- Jan 11, 2015 4:53:13 PM COT +UPDATE AD_Field SET SeqNo=400,Updated=TO_DATE('2015-01-11 16:53:13','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200288 +; + +-- Jan 11, 2015 4:55:14 PM COT +UPDATE AD_Element SET Description='Show the button on the toolbar, the window, or both', Help='The IsToolbarButton field indicates if this button is part of the toolbar''s process button popup list, or render as field in window, or both.',Updated=TO_DATE('2015-01-11 16:55:14','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Element_ID=200187 +; + +-- Jan 11, 2015 4:55:14 PM COT +UPDATE AD_Column SET ColumnName='IsToolbarButton', Name='Toolbar Button', Description='Show the button on the toolbar, the window, or both', Help='The IsToolbarButton field indicates if this button is part of the toolbar''s process button popup list, or render as field in window, or both.' WHERE AD_Element_ID=200187 +; + +-- Jan 11, 2015 4:55:14 PM COT +UPDATE AD_Process_Para SET ColumnName='IsToolbarButton', Name='Toolbar Button', Description='Show the button on the toolbar, the window, or both', Help='The IsToolbarButton field indicates if this button is part of the toolbar''s process button popup list, or render as field in window, or both.', AD_Element_ID=200187 WHERE UPPER(ColumnName)='ISTOOLBARBUTTON' AND IsCentrallyMaintained='Y' AND AD_Element_ID IS NULL +; + +-- Jan 11, 2015 4:55:14 PM COT +UPDATE AD_Process_Para SET ColumnName='IsToolbarButton', Name='Toolbar Button', Description='Show the button on the toolbar, the window, or both', Help='The IsToolbarButton field indicates if this button is part of the toolbar''s process button popup list, or render as field in window, or both.' WHERE AD_Element_ID=200187 AND IsCentrallyMaintained='Y' +; + +-- Jan 11, 2015 4:55:14 PM COT +UPDATE AD_InfoColumn SET ColumnName='IsToolbarButton', Name='Toolbar Button', Description='Show the button on the toolbar, the window, or both', Help='The IsToolbarButton field indicates if this button is part of the toolbar''s process button popup list, or render as field in window, or both.' WHERE AD_Element_ID=200187 AND IsCentrallyMaintained='Y' +; + +-- Jan 11, 2015 4:55:14 PM COT +UPDATE AD_Field SET Name='Toolbar Button', Description='Show the button on the toolbar, the window, or both', Help='The IsToolbarButton field indicates if this button is part of the toolbar''s process button popup list, or render as field in window, or both.' WHERE AD_Column_ID IN (SELECT AD_Column_ID FROM AD_Column WHERE AD_Element_ID=200187) AND IsCentrallyMaintained='Y' +; + +SELECT register_migration_script('201501111521_IDEMPIERE-2064.sql') FROM dual +; + diff --git a/migration/i2.1/postgresql/201501111521_IDEMPIERE-2064.sql b/migration/i2.1/postgresql/201501111521_IDEMPIERE-2064.sql new file mode 100644 index 0000000000..1c5eaa617b --- /dev/null +++ b/migration/i2.1/postgresql/201501111521_IDEMPIERE-2064.sql @@ -0,0 +1,163 @@ +-- Jan 11, 2015 3:18:55 PM COT +-- IDEMPIERE-2064 Implement toolbar+tab button +INSERT INTO AD_Reference (AD_Reference_ID,Name,ValidationType,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,EntityType,IsOrderByValue,AD_Reference_UU) VALUES (200099,'IsToolbarButton','L',0,0,'Y',TO_TIMESTAMP('2015-01-11 15:18:54','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2015-01-11 15:18:54','YYYY-MM-DD HH24:MI:SS'),100,'D','N','d90d1cd0-4cf1-41e0-84cb-53600a366a22') +; + +-- Jan 11, 2015 3:19:18 PM COT +INSERT INTO AD_Ref_List (AD_Ref_List_ID,Name,AD_Reference_ID,Value,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,EntityType,AD_Ref_List_UU) VALUES (200285,'Toolbar',200099,'Y',0,0,'Y',TO_TIMESTAMP('2015-01-11 15:19:18','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2015-01-11 15:19:18','YYYY-MM-DD HH24:MI:SS'),100,'D','5803fda0-fda8-4100-85f2-a4fe8142a059') +; + +-- Jan 11, 2015 3:19:35 PM COT +INSERT INTO AD_Ref_List (AD_Ref_List_ID,Name,AD_Reference_ID,Value,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,EntityType,AD_Ref_List_UU) VALUES (200286,'Window',200099,'N',0,0,'Y',TO_TIMESTAMP('2015-01-11 15:19:34','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2015-01-11 15:19:34','YYYY-MM-DD HH24:MI:SS'),100,'D','eb2f6365-a357-4655-9102-d622360aacce') +; + +-- Jan 11, 2015 3:19:45 PM COT +INSERT INTO AD_Ref_List (AD_Ref_List_ID,Name,AD_Reference_ID,Value,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,EntityType,AD_Ref_List_UU) VALUES (200287,'Both',200099,'B',0,0,'Y',TO_TIMESTAMP('2015-01-11 15:19:44','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2015-01-11 15:19:44','YYYY-MM-DD HH24:MI:SS'),100,'D','5b8b7285-d4da-4513-8941-a280d501ea19') +; + +-- Jan 11, 2015 3:20:17 PM COT +UPDATE AD_Column SET AD_Reference_ID=17, AD_Reference_Value_ID=200099,Updated=TO_TIMESTAMP('2015-01-11 15:20:17','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=200703 +; + +-- Jan 11, 2015 3:20:18 PM COT +UPDATE AD_Column SET AD_Reference_Value_ID=200099,Updated=TO_TIMESTAMP('2015-01-11 15:20:18','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=200949 +; + +-- Jan 11, 2015 3:20:20 PM COT +UPDATE AD_Column SET AD_Reference_Value_ID=200099,Updated=TO_TIMESTAMP('2015-01-11 15:20:20','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=200958 +; + +-- Jan 11, 2015 3:20:35 PM COT +INSERT INTO t_alter_column values('ad_column','IsToolbarButton','CHAR(1)',null,'Y') +; + +-- Jan 11, 2015 3:20:36 PM COT +UPDATE AD_Column SET IsToolbarButton='Y' WHERE IsToolbarButton IS NULL +; + +-- Jan 11, 2015 3:20:44 PM COT +INSERT INTO t_alter_column values('ad_field','IsToolbarButton','CHAR(1)',null,'NULL') +; + +-- Jan 11, 2015 3:20:50 PM COT +INSERT INTO t_alter_column values('ad_userdef_field','IsToolbarButton','CHAR(1)',null,'NULL') +; + +ALTER TABLE ad_column DROP CONSTRAINT ad_column_istoolbarbutton_check CASCADE +; + +-- Jan 11, 2015 4:53:13 PM COT +UPDATE AD_Field SET IsDisplayed='Y', SeqNo=190, XPosition=4, ColumnSpan=2,Updated=TO_TIMESTAMP('2015-01-11 16:53:13','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200648 +; + +-- Jan 11, 2015 4:53:13 PM COT +UPDATE AD_Field SET SeqNo=200,Updated=TO_TIMESTAMP('2015-01-11 16:53:13','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=59619 +; + +-- Jan 11, 2015 4:53:13 PM COT +UPDATE AD_Field SET SeqNo=210,Updated=TO_TIMESTAMP('2015-01-11 16:53:13','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=171 +; + +-- Jan 11, 2015 4:53:13 PM COT +UPDATE AD_Field SET SeqNo=220,Updated=TO_TIMESTAMP('2015-01-11 16:53:13','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=56279 +; + +-- Jan 11, 2015 4:53:13 PM COT +UPDATE AD_Field SET SeqNo=230,Updated=TO_TIMESTAMP('2015-01-11 16:53:13','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=2574 +; + +-- Jan 11, 2015 4:53:13 PM COT +UPDATE AD_Field SET SeqNo=240,Updated=TO_TIMESTAMP('2015-01-11 16:53:13','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=2573 +; + +-- Jan 11, 2015 4:53:13 PM COT +UPDATE AD_Field SET SeqNo=250,Updated=TO_TIMESTAMP('2015-01-11 16:53:13','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=202518 +; + +-- Jan 11, 2015 4:53:13 PM COT +UPDATE AD_Field SET SeqNo=260,Updated=TO_TIMESTAMP('2015-01-11 16:53:13','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=202519 +; + +-- Jan 11, 2015 4:53:13 PM COT +UPDATE AD_Field SET SeqNo=270,Updated=TO_TIMESTAMP('2015-01-11 16:53:13','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=160 +; + +-- Jan 11, 2015 4:53:13 PM COT +UPDATE AD_Field SET SeqNo=280,Updated=TO_TIMESTAMP('2015-01-11 16:53:13','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=161 +; + +-- Jan 11, 2015 4:53:13 PM COT +UPDATE AD_Field SET SeqNo=290,Updated=TO_TIMESTAMP('2015-01-11 16:53:13','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=162 +; + +-- Jan 11, 2015 4:53:13 PM COT +UPDATE AD_Field SET SeqNo=300,Updated=TO_TIMESTAMP('2015-01-11 16:53:13','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=166 +; + +-- Jan 11, 2015 4:53:13 PM COT +UPDATE AD_Field SET SeqNo=310,Updated=TO_TIMESTAMP('2015-01-11 16:53:13','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=5122 +; + +-- Jan 11, 2015 4:53:13 PM COT +UPDATE AD_Field SET SeqNo=320,Updated=TO_TIMESTAMP('2015-01-11 16:53:13','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=169 +; + +-- Jan 11, 2015 4:53:13 PM COT +UPDATE AD_Field SET SeqNo=330,Updated=TO_TIMESTAMP('2015-01-11 16:53:13','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=2370 +; + +-- Jan 11, 2015 4:53:13 PM COT +UPDATE AD_Field SET SeqNo=340,Updated=TO_TIMESTAMP('2015-01-11 16:53:13','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=10128 +; + +-- Jan 11, 2015 4:53:13 PM COT +UPDATE AD_Field SET SeqNo=350,Updated=TO_TIMESTAMP('2015-01-11 16:53:13','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=4941 +; + +-- Jan 11, 2015 4:53:13 PM COT +UPDATE AD_Field SET SeqNo=360,Updated=TO_TIMESTAMP('2015-01-11 16:53:13','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=50188 +; + +-- Jan 11, 2015 4:53:13 PM COT +UPDATE AD_Field SET SeqNo=370,Updated=TO_TIMESTAMP('2015-01-11 16:53:13','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=168 +; + +-- Jan 11, 2015 4:53:13 PM COT +UPDATE AD_Field SET SeqNo=380,Updated=TO_TIMESTAMP('2015-01-11 16:53:13','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=159 +; + +-- Jan 11, 2015 4:53:13 PM COT +UPDATE AD_Field SET SeqNo=390,Updated=TO_TIMESTAMP('2015-01-11 16:53:13','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=4940 +; + +-- Jan 11, 2015 4:53:13 PM COT +UPDATE AD_Field SET SeqNo=400,Updated=TO_TIMESTAMP('2015-01-11 16:53:13','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200288 +; + +-- Jan 11, 2015 4:55:14 PM COT +UPDATE AD_Element SET Description='Show the button on the toolbar, the window, or both', Help='The IsToolbarButton field indicates if this button is part of the toolbar''s process button popup list, or render as field in window, or both.',Updated=TO_TIMESTAMP('2015-01-11 16:55:14','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Element_ID=200187 +; + +-- Jan 11, 2015 4:55:14 PM COT +UPDATE AD_Column SET ColumnName='IsToolbarButton', Name='Toolbar Button', Description='Show the button on the toolbar, the window, or both', Help='The IsToolbarButton field indicates if this button is part of the toolbar''s process button popup list, or render as field in window, or both.' WHERE AD_Element_ID=200187 +; + +-- Jan 11, 2015 4:55:14 PM COT +UPDATE AD_Process_Para SET ColumnName='IsToolbarButton', Name='Toolbar Button', Description='Show the button on the toolbar, the window, or both', Help='The IsToolbarButton field indicates if this button is part of the toolbar''s process button popup list, or render as field in window, or both.', AD_Element_ID=200187 WHERE UPPER(ColumnName)='ISTOOLBARBUTTON' AND IsCentrallyMaintained='Y' AND AD_Element_ID IS NULL +; + +-- Jan 11, 2015 4:55:14 PM COT +UPDATE AD_Process_Para SET ColumnName='IsToolbarButton', Name='Toolbar Button', Description='Show the button on the toolbar, the window, or both', Help='The IsToolbarButton field indicates if this button is part of the toolbar''s process button popup list, or render as field in window, or both.' WHERE AD_Element_ID=200187 AND IsCentrallyMaintained='Y' +; + +-- Jan 11, 2015 4:55:14 PM COT +UPDATE AD_InfoColumn SET ColumnName='IsToolbarButton', Name='Toolbar Button', Description='Show the button on the toolbar, the window, or both', Help='The IsToolbarButton field indicates if this button is part of the toolbar''s process button popup list, or render as field in window, or both.' WHERE AD_Element_ID=200187 AND IsCentrallyMaintained='Y' +; + +-- Jan 11, 2015 4:55:14 PM COT +UPDATE AD_Field SET Name='Toolbar Button', Description='Show the button on the toolbar, the window, or both', Help='The IsToolbarButton field indicates if this button is part of the toolbar''s process button popup list, or render as field in window, or both.' WHERE AD_Column_ID IN (SELECT AD_Column_ID FROM AD_Column WHERE AD_Element_ID=200187) AND IsCentrallyMaintained='Y' +; + +SELECT register_migration_script('201501111521_IDEMPIERE-2064.sql') FROM dual +; + diff --git a/org.adempiere.base/src/org/compiere/model/GridField.java b/org.adempiere.base/src/org/compiere/model/GridField.java index 595bcdb2d5..258040e85d 100644 --- a/org.adempiere.base/src/org/compiere/model/GridField.java +++ b/org.adempiere.base/src/org/compiere/model/GridField.java @@ -81,7 +81,7 @@ public class GridField /** * */ - private static final long serialVersionUID = -3759342619253398035L; + private static final long serialVersionUID = -757531553169088955L; /** * Field Constructor. @@ -2156,7 +2156,13 @@ public class GridField public boolean isToolbarButton() { - return m_vo.displayType == DisplayType.Button && m_vo.IsToolbarButton; + return m_vo.displayType == DisplayType.Button && + (MColumn.ISTOOLBARBUTTON_Toolbar.equals(m_vo.IsToolbarButton) || MColumn.ISTOOLBARBUTTON_Both.equals(m_vo.IsToolbarButton)); + } + + public boolean isToolbarOnlyButton() + { + return m_vo.displayType == DisplayType.Button && MColumn.ISTOOLBARBUTTON_Toolbar.equals(m_vo.IsToolbarButton); } public GridField clone(Properties ctx) diff --git a/org.adempiere.base/src/org/compiere/model/GridFieldVO.java b/org.adempiere.base/src/org/compiere/model/GridFieldVO.java index f57479af59..6f9accc26b 100644 --- a/org.adempiere.base/src/org/compiere/model/GridFieldVO.java +++ b/org.adempiere.base/src/org/compiere/model/GridFieldVO.java @@ -47,7 +47,7 @@ public class GridFieldVO implements Serializable /** * */ - private static final long serialVersionUID = 6391887120974125904L; + private static final long serialVersionUID = 4367399601545064219L; /** * Return the SQL statement used for the MFieldVO.create @@ -227,7 +227,7 @@ public class GridFieldVO implements Serializable else if (columnName.equalsIgnoreCase("NumLines")) vo.NumLines=rs.getInt(i); else if (columnName.equalsIgnoreCase("IsToolbarButton")) - vo.IsToolbarButton = "Y".equals(rs.getString(i)); + vo.IsToolbarButton = rs.getString(i); else if (columnName.equalsIgnoreCase("AD_Chart_ID")) vo.AD_Chart_ID = rs.getInt (i); } @@ -298,7 +298,7 @@ public class GridFieldVO implements Serializable if (userDef.getNumLines() > 0) vo.NumLines=userDef.getNumLines(); if (userDef.getIsToolbarButton() != null) - vo.IsToolbarButton = "Y".equals(userDef.getIsToolbarButton()); + vo.IsToolbarButton = userDef.getIsToolbarButton(); //IDEMPIERE-1120 Implement Field SeqNo customization if (userDef.getSeqNo() > 0) vo.SeqNo = userDef.getSeqNo(); @@ -628,7 +628,7 @@ public class GridFieldVO implements Serializable /* Allow copy - IDEMPIERE-67 - Carlos Ruiz - globalqss */ public boolean IsAllowCopy = false; /** Toolbar Button **/ - public boolean IsToolbarButton = false; + public String IsToolbarButton = MColumn.ISTOOLBARBUTTON_Window; public int AD_Chart_ID = 0; diff --git a/org.adempiere.base/src/org/compiere/model/GridTab.java b/org.adempiere.base/src/org/compiere/model/GridTab.java index 74ac2160b8..d5dbd16dcc 100644 --- a/org.adempiere.base/src/org/compiere/model/GridTab.java +++ b/org.adempiere.base/src/org/compiere/model/GridTab.java @@ -3270,7 +3270,7 @@ public class GridTab implements DataStatusListener, Evaluatee, Serializable int maxcol=0; for (GridField gridField : getFields()) { - if (!gridField.isDisplayed() || gridField.isToolbarButton()) + if (!gridField.isDisplayed() || gridField.isToolbarOnlyButton()) continue; int col = gridField.getXPosition() + gridField.getColumnSpan(); if (gridField.isFieldOnly() diff --git a/org.adempiere.base/src/org/compiere/model/I_AD_Column.java b/org.adempiere.base/src/org/compiere/model/I_AD_Column.java index 8113ef7f5b..e2edcd5d38 100644 --- a/org.adempiere.base/src/org/compiere/model/I_AD_Column.java +++ b/org.adempiere.base/src/org/compiere/model/I_AD_Column.java @@ -515,12 +515,12 @@ public interface I_AD_Column /** Set Toolbar Button. * Add the column button to the toolbar */ - public void setIsToolbarButton (boolean IsToolbarButton); + public void setIsToolbarButton (String IsToolbarButton); /** Get Toolbar Button. * Add the column button to the toolbar */ - public boolean isToolbarButton(); + public String getIsToolbarButton(); /** Column name IsTranslated */ public static final String COLUMNNAME_IsTranslated = "IsTranslated"; diff --git a/org.adempiere.base/src/org/compiere/model/MColumn.java b/org.adempiere.base/src/org/compiere/model/MColumn.java index 55d8a2ec0a..d8b9e45c67 100644 --- a/org.adempiere.base/src/org/compiere/model/MColumn.java +++ b/org.adempiere.base/src/org/compiere/model/MColumn.java @@ -241,9 +241,9 @@ public class MColumn extends X_AD_Column if (displayType != DisplayType.Button) { - if (isToolbarButton()) + if (! ISTOOLBARBUTTON_Window.equals(getIsToolbarButton())) { - setIsToolbarButton(false); + setIsToolbarButton(ISTOOLBARBUTTON_Window); } } diff --git a/org.adempiere.base/src/org/compiere/model/X_AD_Column.java b/org.adempiere.base/src/org/compiere/model/X_AD_Column.java index 0ceea67303..fe602d84a9 100644 --- a/org.adempiere.base/src/org/compiere/model/X_AD_Column.java +++ b/org.adempiere.base/src/org/compiere/model/X_AD_Column.java @@ -32,7 +32,7 @@ public class X_AD_Column extends PO implements I_AD_Column, I_Persistent /** * */ - private static final long serialVersionUID = 20141030L; + private static final long serialVersionUID = 20150111L; /** Standard Constructor */ public X_AD_Column (Properties ctx, int AD_Column_ID, String trxName) @@ -62,7 +62,7 @@ public class X_AD_Column extends PO implements I_AD_Column, I_Persistent setIsSecure (false); // N setIsSelectionColumn (false); - setIsToolbarButton (true); + setIsToolbarButton (null); // Y setIsTranslated (false); setIsUpdateable (true); @@ -819,28 +819,30 @@ public class X_AD_Column extends PO implements I_AD_Column, I_Persistent return (String)get_Value(COLUMNNAME_IsSyncDatabase); } + /** IsToolbarButton AD_Reference_ID=200099 */ + public static final int ISTOOLBARBUTTON_AD_Reference_ID=200099; + /** Toolbar = Y */ + public static final String ISTOOLBARBUTTON_Toolbar = "Y"; + /** Window = N */ + public static final String ISTOOLBARBUTTON_Window = "N"; + /** Both = B */ + public static final String ISTOOLBARBUTTON_Both = "B"; /** Set Toolbar Button. @param IsToolbarButton Add the column button to the toolbar */ - public void setIsToolbarButton (boolean IsToolbarButton) + public void setIsToolbarButton (String IsToolbarButton) { - set_Value (COLUMNNAME_IsToolbarButton, Boolean.valueOf(IsToolbarButton)); + + set_Value (COLUMNNAME_IsToolbarButton, IsToolbarButton); } /** Get Toolbar Button. @return Add the column button to the toolbar */ - public boolean isToolbarButton () + public String getIsToolbarButton () { - Object oo = get_Value(COLUMNNAME_IsToolbarButton); - if (oo != null) - { - if (oo instanceof Boolean) - return ((Boolean)oo).booleanValue(); - return "Y".equals(oo); - } - return false; + return (String)get_Value(COLUMNNAME_IsToolbarButton); } /** Set Translated. diff --git a/org.adempiere.base/src/org/compiere/model/X_AD_Field.java b/org.adempiere.base/src/org/compiere/model/X_AD_Field.java index 4dbaffabd6..706feda627 100644 --- a/org.adempiere.base/src/org/compiere/model/X_AD_Field.java +++ b/org.adempiere.base/src/org/compiere/model/X_AD_Field.java @@ -32,7 +32,7 @@ public class X_AD_Field extends PO implements I_AD_Field, I_Persistent /** * */ - private static final long serialVersionUID = 20141030L; + private static final long serialVersionUID = 20150111L; /** Standard Constructor */ public X_AD_Field (Properties ctx, int AD_Field_ID, String trxName) @@ -775,12 +775,14 @@ public class X_AD_Field extends PO implements I_AD_Field, I_Persistent return false; } - /** IsToolbarButton AD_Reference_ID=319 */ - public static final int ISTOOLBARBUTTON_AD_Reference_ID=319; - /** Yes = Y */ - public static final String ISTOOLBARBUTTON_Yes = "Y"; - /** No = N */ - public static final String ISTOOLBARBUTTON_No = "N"; + /** IsToolbarButton AD_Reference_ID=200099 */ + public static final int ISTOOLBARBUTTON_AD_Reference_ID=200099; + /** Toolbar = Y */ + public static final String ISTOOLBARBUTTON_Toolbar = "Y"; + /** Window = N */ + public static final String ISTOOLBARBUTTON_Window = "N"; + /** Both = B */ + public static final String ISTOOLBARBUTTON_Both = "B"; /** Set Toolbar Button. @param IsToolbarButton Add the column button to the toolbar diff --git a/org.adempiere.base/src/org/compiere/model/X_AD_UserDef_Field.java b/org.adempiere.base/src/org/compiere/model/X_AD_UserDef_Field.java index a3bd03b127..d9081d1919 100644 --- a/org.adempiere.base/src/org/compiere/model/X_AD_UserDef_Field.java +++ b/org.adempiere.base/src/org/compiere/model/X_AD_UserDef_Field.java @@ -30,7 +30,7 @@ public class X_AD_UserDef_Field extends PO implements I_AD_UserDef_Field, I_Pers /** * */ - private static final long serialVersionUID = 20141030L; + private static final long serialVersionUID = 20150111L; /** Standard Constructor */ public X_AD_UserDef_Field (Properties ctx, int AD_UserDef_Field_ID, String trxName) @@ -481,12 +481,14 @@ public class X_AD_UserDef_Field extends PO implements I_AD_UserDef_Field, I_Pers return (String)get_Value(COLUMNNAME_IsSameLine); } - /** IsToolbarButton AD_Reference_ID=319 */ - public static final int ISTOOLBARBUTTON_AD_Reference_ID=319; - /** Yes = Y */ - public static final String ISTOOLBARBUTTON_Yes = "Y"; - /** No = N */ - public static final String ISTOOLBARBUTTON_No = "N"; + /** IsToolbarButton AD_Reference_ID=200099 */ + public static final int ISTOOLBARBUTTON_AD_Reference_ID=200099; + /** Toolbar = Y */ + public static final String ISTOOLBARBUTTON_Toolbar = "Y"; + /** Window = N */ + public static final String ISTOOLBARBUTTON_Window = "N"; + /** Both = B */ + public static final String ISTOOLBARBUTTON_Both = "B"; /** Set Toolbar Button. @param IsToolbarButton Add the column button to the toolbar diff --git a/org.adempiere.ui.swing/src/org/compiere/grid/GridController.java b/org.adempiere.ui.swing/src/org/compiere/grid/GridController.java index 360400a0fa..661f7d38be 100644 --- a/org.adempiere.ui.swing/src/org/compiere/grid/GridController.java +++ b/org.adempiere.ui.swing/src/org/compiere/grid/GridController.java @@ -158,9 +158,9 @@ public class GridController extends CPanel VetoableChangeListener, PropertyChangeListener, MouseListener { /** - * + * */ - private static final long serialVersionUID = 7308782933999556880L; + private static final long serialVersionUID = -2830833057882006196L; /** * Constructor - you need to call initGrid for instanciation @@ -419,7 +419,7 @@ public class GridController extends CPanel // IDEMPIERE-587 Swing: Toolbar Button to start Process from button fields && !( mField.getDisplayType()==DisplayType.Button - && mField.isToolbarButton()) + && mField.isToolbarOnlyButton()) ) { VEditor vEditor = VEditorFactory.getEditor(m_mTab, mField, false); diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/ADTabpanel.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/ADTabpanel.java index 3f127b3629..19a29d9fd6 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/ADTabpanel.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/ADTabpanel.java @@ -435,8 +435,8 @@ DataStatusListener, IADTabpanel, IdSpace, IFieldEditorContainer editors.add(editor); editor.getComponent().setId(field.getColumnName()); toolbarButtonEditors.add(editor); - - continue; + if (field.isToolbarOnlyButton()) + continue; } } diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/GridTabRowRenderer.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/GridTabRowRenderer.java index de637b5285..4f56d5e61a 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/GridTabRowRenderer.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/GridTabRowRenderer.java @@ -459,7 +459,7 @@ public class GridTabRowRenderer implements RowRenderer, RowRendererExt } // IDEMPIERE-2148: when has tab customize, ignore check properties isDisplayedGrid - if ((!isGridViewCustomized && gridPanelFields[i].isDisplayedGrid()) || gridPanelFields[i].isToolbarButton()) { + if ((!isGridViewCustomized && gridPanelFields[i].isDisplayedGrid()) || gridPanelFields[i].isToolbarOnlyButton()) { continue; } colIndex ++; @@ -590,7 +590,7 @@ public class GridTabRowRenderer implements RowRenderer, RowRendererExt //skip selection and indicator column int colIndex = 1; for (int i = 0; i < columnCount; i++) { - if ((!isGridViewCustomized && !gridPanelFields[i].isDisplayedGrid()) || gridPanelFields[i].isToolbarButton()) { + if ((!isGridViewCustomized && !gridPanelFields[i].isDisplayedGrid()) || gridPanelFields[i].isToolbarOnlyButton()) { continue; } colIndex ++; diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/GridView.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/GridView.java index e73840e1f7..0322b0dd61 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/GridView.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/GridView.java @@ -274,7 +274,7 @@ public class GridView extends Vbox implements EventListener, IdSpace, IFi for(GridField gridField : tmpFields) { if (gridField.getAD_Field_ID() == AD_Field_ID) { // IDEMPIERE-2204 add field in tabCustomization list to display list event this field have showInGrid = false - if((gridField.isDisplayedGrid() || gridField.isDisplayed()) && !gridField.isToolbarButton()) + if((gridField.isDisplayedGrid() || gridField.isDisplayed()) && !gridField.isToolbarOnlyButton()) fieldList.add(gridField); break; @@ -292,7 +292,7 @@ public class GridView extends Vbox implements EventListener, IdSpace, IFi ArrayList gridFieldList = new ArrayList(); for(GridField field:tmpFields){ - if(field.isDisplayedGrid() && !field.isToolbarButton()) { + if(field.isDisplayedGrid() && !field.isToolbarOnlyButton()) { gridFieldList.add(field); } } @@ -489,7 +489,7 @@ public class GridView extends Vbox implements EventListener, IdSpace, IFi for (int i = 0; i < numColumns; i++) { // IDEMPIERE-2148: when has tab customize, ignore check properties isDisplayedGrid - if ((isHasCustomizeData || gridField[i].isDisplayedGrid()) && !gridField[i].isToolbarButton()) + if ((isHasCustomizeData || gridField[i].isDisplayedGrid()) && !gridField[i].isToolbarOnlyButton()) { colnames.put(index, gridField[i].getHeader()); index++; diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/form/WTabEditor.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/form/WTabEditor.java index c02c72ce8d..b1e80d4e2b 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/form/WTabEditor.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/form/WTabEditor.java @@ -207,7 +207,7 @@ public class WTabEditor extends TabEditor implements IFormController, EventListe { MField field = getMField(gridField.getAD_Field_ID()); - if (!gridField.isDisplayed() || gridField.isToolbarButton()) + if (!gridField.isDisplayed() || gridField.isToolbarOnlyButton()) continue; // field group @@ -372,11 +372,11 @@ public class WTabEditor extends TabEditor implements IFormController, EventListe int maxcol=0; for (GridField gridField : getGridFields()) { - if (!gridField.isDisplayed() || gridField.isToolbarButton()) + if (!gridField.isDisplayed() || gridField.isToolbarOnlyButton()) continue; int col = gridField.getXPosition() + gridField.getColumnSpan(); if (gridField.isFieldOnly() - || (gridField.getDisplayType() == DisplayType.Button && !gridField.isToolbarButton()) + || (gridField.getDisplayType() == DisplayType.Button && !gridField.isToolbarOnlyButton()) || gridField.getDisplayType() == DisplayType.YesNo) { col--; } @@ -804,7 +804,7 @@ public class WTabEditor extends TabEditor implements IFormController, EventListe for (MField field : getMFields()) { GridField gridField = getGridField(field); - if (!field.isActive() || gridField.isToolbarButton()) + if (!field.isActive() || gridField.isToolbarOnlyButton()) continue; KeyNamePair pair = new KeyNamePair(field.getAD_Field_ID(), field.getName()); if (field.isDisplayed()) {