hg merge release-2.1 (merge release2.1 into development)
This commit is contained in:
commit
c7151bb162
|
@ -0,0 +1,177 @@
|
||||||
|
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'
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jan 11, 2015 5:01:02 PM COT
|
||||||
|
UPDATE AD_Column SET IsToolbarButton='B',Updated=TO_DATE('2015-01-11 17:01:02','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=6487
|
||||||
|
;
|
||||||
|
|
||||||
|
SELECT register_migration_script('201501111521_IDEMPIERE-2064.sql') FROM dual
|
||||||
|
;
|
||||||
|
|
|
@ -0,0 +1,67 @@
|
||||||
|
SET SQLBLANKLINES ON
|
||||||
|
SET DEFINE OFF
|
||||||
|
|
||||||
|
-- Jan 11, 2015 6:38:54 PM COT
|
||||||
|
-- IDEMPIERE-1425 Account element improvements
|
||||||
|
INSERT INTO AD_Element (AD_Element_ID,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,ColumnName,Name,PrintName,EntityType,AD_Element_UU) VALUES (202809,0,0,'Y',TO_DATE('2015-01-11 18:38:53','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2015-01-11 18:38:53','YYYY-MM-DD HH24:MI:SS'),100,'IsTreeDrivenByValue','Driven By Search Key','Defines if the tree is driven by the Search Key column','D','9ff38eb0-bbe7-4584-8682-f82f5cf9152b')
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jan 11, 2015 6:39:16 PM COT
|
||||||
|
INSERT INTO AD_Column (AD_Column_ID,Version,Name,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) VALUES (211812,0,'Driven By Search Key',288,'IsTreeDrivenByValue','N',1,'N','N','Y','N','N',0,'N',20,0,0,'Y',TO_DATE('2015-01-11 18:39:16','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2015-01-11 18:39:16','YYYY-MM-DD HH24:MI:SS'),100,202809,'Y','N','U','N','N','N','Y','a55184b0-1acc-433e-8df2-cd00b8aa77a3','Y',0,'N','N')
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jan 11, 2015 6:39:17 PM COT
|
||||||
|
ALTER TABLE AD_Tree ADD IsTreeDrivenByValue CHAR(1) DEFAULT 'N' CHECK (IsTreeDrivenByValue IN ('Y','N')) NOT NULL
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jan 11, 2015 6:39:32 PM COT
|
||||||
|
INSERT INTO AD_Field (AD_Field_ID,Name,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 (203480,'Driven By Search Key',243,211812,'Y',1,100,'N','N','N','N',0,0,'Y',TO_DATE('2015-01-11 18:39:31','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2015-01-11 18:39:31','YYYY-MM-DD HH24:MI:SS'),100,'N','Y','U','ac15015d-0eef-4e66-b2fb-6a2fa0f60a1f','Y',100,2,2)
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jan 11, 2015 6:39:47 PM COT
|
||||||
|
UPDATE AD_Field SET IsDisplayed='Y', SeqNo=70, XPosition=5,Updated=TO_DATE('2015-01-11 18:39:47','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=203480
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jan 11, 2015 6:39:47 PM COT
|
||||||
|
UPDATE AD_Field SET SeqNo=80,Updated=TO_DATE('2015-01-11 18:39:47','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=5228
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jan 11, 2015 6:39:47 PM COT
|
||||||
|
UPDATE AD_Field SET SeqNo=90,Updated=TO_DATE('2015-01-11 18:39:47','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=12421
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jan 11, 2015 6:39:47 PM COT
|
||||||
|
UPDATE AD_Field SET SeqNo=100,Updated=TO_DATE('2015-01-11 18:39:47','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=8371
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jan 11, 2015 6:39:56 PM COT
|
||||||
|
UPDATE AD_Element SET Name='Driven by Search Key',Updated=TO_DATE('2015-01-11 18:39:56','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Element_ID=202809
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jan 11, 2015 6:39:56 PM COT
|
||||||
|
UPDATE AD_Column SET ColumnName='IsTreeDrivenByValue', Name='Driven by Search Key', Description=NULL, Help=NULL WHERE AD_Element_ID=202809
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jan 11, 2015 6:39:56 PM COT
|
||||||
|
UPDATE AD_Process_Para SET ColumnName='IsTreeDrivenByValue', Name='Driven by Search Key', Description=NULL, Help=NULL, AD_Element_ID=202809 WHERE UPPER(ColumnName)='ISTREEDRIVENBYVALUE' AND IsCentrallyMaintained='Y' AND AD_Element_ID IS NULL
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jan 11, 2015 6:39:56 PM COT
|
||||||
|
UPDATE AD_Process_Para SET ColumnName='IsTreeDrivenByValue', Name='Driven by Search Key', Description=NULL, Help=NULL WHERE AD_Element_ID=202809 AND IsCentrallyMaintained='Y'
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jan 11, 2015 6:39:56 PM COT
|
||||||
|
UPDATE AD_InfoColumn SET ColumnName='IsTreeDrivenByValue', Name='Driven by Search Key', Description=NULL, Help=NULL WHERE AD_Element_ID=202809 AND IsCentrallyMaintained='Y'
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jan 11, 2015 6:39:56 PM COT
|
||||||
|
UPDATE AD_Field SET Name='Driven by Search Key', Description=NULL, Help=NULL WHERE AD_Column_ID IN (SELECT AD_Column_ID FROM AD_Column WHERE AD_Element_ID=202809) AND IsCentrallyMaintained='Y'
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jan 11, 2015 6:39:56 PM COT
|
||||||
|
UPDATE AD_PrintFormatItem SET PrintName='Defines if the tree is driven by the Search Key column', Name='Driven by Search Key' WHERE IsCentrallyMaintained='Y' AND EXISTS (SELECT * FROM AD_Column c WHERE c.AD_Column_ID=AD_PrintFormatItem.AD_Column_ID AND c.AD_Element_ID=202809)
|
||||||
|
;
|
||||||
|
|
||||||
|
SELECT register_migration_script('201501111840_IDEMPIERE-1425.sql') FROM dual
|
||||||
|
;
|
||||||
|
|
|
@ -0,0 +1,167 @@
|
||||||
|
-- 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'
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jan 11, 2015 5:01:02 PM COT
|
||||||
|
UPDATE AD_Column SET IsToolbarButton='B',Updated=TO_TIMESTAMP('2015-01-11 17:01:02','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=6487
|
||||||
|
;
|
||||||
|
|
||||||
|
SELECT register_migration_script('201501111521_IDEMPIERE-2064.sql') FROM dual
|
||||||
|
;
|
||||||
|
|
|
@ -0,0 +1,64 @@
|
||||||
|
-- Jan 11, 2015 6:38:54 PM COT
|
||||||
|
-- IDEMPIERE-1425 Account element improvements
|
||||||
|
INSERT INTO AD_Element (AD_Element_ID,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,ColumnName,Name,PrintName,EntityType,AD_Element_UU) VALUES (202809,0,0,'Y',TO_TIMESTAMP('2015-01-11 18:38:53','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2015-01-11 18:38:53','YYYY-MM-DD HH24:MI:SS'),100,'IsTreeDrivenByValue','Driven By Search Key','Defines if the tree is driven by the Search Key column','D','9ff38eb0-bbe7-4584-8682-f82f5cf9152b')
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jan 11, 2015 6:39:16 PM COT
|
||||||
|
INSERT INTO AD_Column (AD_Column_ID,Version,Name,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) VALUES (211812,0,'Driven By Search Key',288,'IsTreeDrivenByValue','N',1,'N','N','Y','N','N',0,'N',20,0,0,'Y',TO_TIMESTAMP('2015-01-11 18:39:16','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2015-01-11 18:39:16','YYYY-MM-DD HH24:MI:SS'),100,202809,'Y','N','U','N','N','N','Y','a55184b0-1acc-433e-8df2-cd00b8aa77a3','Y',0,'N','N')
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jan 11, 2015 6:39:17 PM COT
|
||||||
|
ALTER TABLE AD_Tree ADD COLUMN IsTreeDrivenByValue CHAR(1) DEFAULT 'N' CHECK (IsTreeDrivenByValue IN ('Y','N')) NOT NULL
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jan 11, 2015 6:39:32 PM COT
|
||||||
|
INSERT INTO AD_Field (AD_Field_ID,Name,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 (203480,'Driven By Search Key',243,211812,'Y',1,100,'N','N','N','N',0,0,'Y',TO_TIMESTAMP('2015-01-11 18:39:31','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2015-01-11 18:39:31','YYYY-MM-DD HH24:MI:SS'),100,'N','Y','U','ac15015d-0eef-4e66-b2fb-6a2fa0f60a1f','Y',100,2,2)
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jan 11, 2015 6:39:47 PM COT
|
||||||
|
UPDATE AD_Field SET IsDisplayed='Y', SeqNo=70, XPosition=5,Updated=TO_TIMESTAMP('2015-01-11 18:39:47','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=203480
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jan 11, 2015 6:39:47 PM COT
|
||||||
|
UPDATE AD_Field SET SeqNo=80,Updated=TO_TIMESTAMP('2015-01-11 18:39:47','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=5228
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jan 11, 2015 6:39:47 PM COT
|
||||||
|
UPDATE AD_Field SET SeqNo=90,Updated=TO_TIMESTAMP('2015-01-11 18:39:47','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=12421
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jan 11, 2015 6:39:47 PM COT
|
||||||
|
UPDATE AD_Field SET SeqNo=100,Updated=TO_TIMESTAMP('2015-01-11 18:39:47','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=8371
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jan 11, 2015 6:39:56 PM COT
|
||||||
|
UPDATE AD_Element SET Name='Driven by Search Key',Updated=TO_TIMESTAMP('2015-01-11 18:39:56','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Element_ID=202809
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jan 11, 2015 6:39:56 PM COT
|
||||||
|
UPDATE AD_Column SET ColumnName='IsTreeDrivenByValue', Name='Driven by Search Key', Description=NULL, Help=NULL WHERE AD_Element_ID=202809
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jan 11, 2015 6:39:56 PM COT
|
||||||
|
UPDATE AD_Process_Para SET ColumnName='IsTreeDrivenByValue', Name='Driven by Search Key', Description=NULL, Help=NULL, AD_Element_ID=202809 WHERE UPPER(ColumnName)='ISTREEDRIVENBYVALUE' AND IsCentrallyMaintained='Y' AND AD_Element_ID IS NULL
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jan 11, 2015 6:39:56 PM COT
|
||||||
|
UPDATE AD_Process_Para SET ColumnName='IsTreeDrivenByValue', Name='Driven by Search Key', Description=NULL, Help=NULL WHERE AD_Element_ID=202809 AND IsCentrallyMaintained='Y'
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jan 11, 2015 6:39:56 PM COT
|
||||||
|
UPDATE AD_InfoColumn SET ColumnName='IsTreeDrivenByValue', Name='Driven by Search Key', Description=NULL, Help=NULL WHERE AD_Element_ID=202809 AND IsCentrallyMaintained='Y'
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jan 11, 2015 6:39:56 PM COT
|
||||||
|
UPDATE AD_Field SET Name='Driven by Search Key', Description=NULL, Help=NULL WHERE AD_Column_ID IN (SELECT AD_Column_ID FROM AD_Column WHERE AD_Element_ID=202809) AND IsCentrallyMaintained='Y'
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jan 11, 2015 6:39:56 PM COT
|
||||||
|
UPDATE AD_PrintFormatItem SET PrintName='Defines if the tree is driven by the Search Key column', Name='Driven by Search Key' WHERE IsCentrallyMaintained='Y' AND EXISTS (SELECT * FROM AD_Column c WHERE c.AD_Column_ID=AD_PrintFormatItem.AD_Column_ID AND c.AD_Element_ID=202809)
|
||||||
|
;
|
||||||
|
|
||||||
|
SELECT register_migration_script('201501111840_IDEMPIERE-1425.sql') FROM dual
|
||||||
|
;
|
||||||
|
|
|
@ -81,7 +81,7 @@ public class GridField
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
private static final long serialVersionUID = -3759342619253398035L;
|
private static final long serialVersionUID = -757531553169088955L;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Field Constructor.
|
* Field Constructor.
|
||||||
|
@ -2156,7 +2156,13 @@ public class GridField
|
||||||
|
|
||||||
public boolean isToolbarButton()
|
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)
|
public GridField clone(Properties ctx)
|
||||||
|
|
|
@ -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
|
* Return the SQL statement used for the MFieldVO.create
|
||||||
|
@ -227,7 +227,7 @@ public class GridFieldVO implements Serializable
|
||||||
else if (columnName.equalsIgnoreCase("NumLines"))
|
else if (columnName.equalsIgnoreCase("NumLines"))
|
||||||
vo.NumLines=rs.getInt(i);
|
vo.NumLines=rs.getInt(i);
|
||||||
else if (columnName.equalsIgnoreCase("IsToolbarButton"))
|
else if (columnName.equalsIgnoreCase("IsToolbarButton"))
|
||||||
vo.IsToolbarButton = "Y".equals(rs.getString(i));
|
vo.IsToolbarButton = rs.getString(i);
|
||||||
else if (columnName.equalsIgnoreCase("AD_Chart_ID"))
|
else if (columnName.equalsIgnoreCase("AD_Chart_ID"))
|
||||||
vo.AD_Chart_ID = rs.getInt (i);
|
vo.AD_Chart_ID = rs.getInt (i);
|
||||||
}
|
}
|
||||||
|
@ -298,7 +298,7 @@ public class GridFieldVO implements Serializable
|
||||||
if (userDef.getNumLines() > 0)
|
if (userDef.getNumLines() > 0)
|
||||||
vo.NumLines=userDef.getNumLines();
|
vo.NumLines=userDef.getNumLines();
|
||||||
if (userDef.getIsToolbarButton() != null)
|
if (userDef.getIsToolbarButton() != null)
|
||||||
vo.IsToolbarButton = "Y".equals(userDef.getIsToolbarButton());
|
vo.IsToolbarButton = userDef.getIsToolbarButton();
|
||||||
//IDEMPIERE-1120 Implement Field SeqNo customization
|
//IDEMPIERE-1120 Implement Field SeqNo customization
|
||||||
if (userDef.getSeqNo() > 0)
|
if (userDef.getSeqNo() > 0)
|
||||||
vo.SeqNo = userDef.getSeqNo();
|
vo.SeqNo = userDef.getSeqNo();
|
||||||
|
@ -628,7 +628,7 @@ public class GridFieldVO implements Serializable
|
||||||
/* Allow copy - IDEMPIERE-67 - Carlos Ruiz - globalqss */
|
/* Allow copy - IDEMPIERE-67 - Carlos Ruiz - globalqss */
|
||||||
public boolean IsAllowCopy = false;
|
public boolean IsAllowCopy = false;
|
||||||
/** Toolbar Button **/
|
/** Toolbar Button **/
|
||||||
public boolean IsToolbarButton = false;
|
public String IsToolbarButton = MColumn.ISTOOLBARBUTTON_Window;
|
||||||
|
|
||||||
public int AD_Chart_ID = 0;
|
public int AD_Chart_ID = 0;
|
||||||
|
|
||||||
|
|
|
@ -3270,7 +3270,7 @@ public class GridTab implements DataStatusListener, Evaluatee, Serializable
|
||||||
int maxcol=0;
|
int maxcol=0;
|
||||||
for (GridField gridField : getFields())
|
for (GridField gridField : getFields())
|
||||||
{
|
{
|
||||||
if (!gridField.isDisplayed() || gridField.isToolbarButton())
|
if (!gridField.isDisplayed() || gridField.isToolbarOnlyButton())
|
||||||
continue;
|
continue;
|
||||||
int col = gridField.getXPosition() + gridField.getColumnSpan();
|
int col = gridField.getXPosition() + gridField.getColumnSpan();
|
||||||
if (gridField.isFieldOnly()
|
if (gridField.isFieldOnly()
|
||||||
|
|
|
@ -515,12 +515,12 @@ public interface I_AD_Column
|
||||||
/** Set Toolbar Button.
|
/** Set Toolbar Button.
|
||||||
* Add the column button to the toolbar
|
* Add the column button to the toolbar
|
||||||
*/
|
*/
|
||||||
public void setIsToolbarButton (boolean IsToolbarButton);
|
public void setIsToolbarButton (String IsToolbarButton);
|
||||||
|
|
||||||
/** Get Toolbar Button.
|
/** Get Toolbar Button.
|
||||||
* Add the column button to the toolbar
|
* Add the column button to the toolbar
|
||||||
*/
|
*/
|
||||||
public boolean isToolbarButton();
|
public String getIsToolbarButton();
|
||||||
|
|
||||||
/** Column name IsTranslated */
|
/** Column name IsTranslated */
|
||||||
public static final String COLUMNNAME_IsTranslated = "IsTranslated";
|
public static final String COLUMNNAME_IsTranslated = "IsTranslated";
|
||||||
|
|
|
@ -152,6 +152,15 @@ public interface I_AD_Tree
|
||||||
*/
|
*/
|
||||||
public boolean isDefault();
|
public boolean isDefault();
|
||||||
|
|
||||||
|
/** Column name IsTreeDrivenByValue */
|
||||||
|
public static final String COLUMNNAME_IsTreeDrivenByValue = "IsTreeDrivenByValue";
|
||||||
|
|
||||||
|
/** Set Driven by Search Key */
|
||||||
|
public void setIsTreeDrivenByValue (boolean IsTreeDrivenByValue);
|
||||||
|
|
||||||
|
/** Get Driven by Search Key */
|
||||||
|
public boolean isTreeDrivenByValue();
|
||||||
|
|
||||||
/** Column name Name */
|
/** Column name Name */
|
||||||
public static final String COLUMNNAME_Name = "Name";
|
public static final String COLUMNNAME_Name = "Name";
|
||||||
|
|
||||||
|
|
|
@ -109,6 +109,8 @@ public class MActivity extends X_C_Activity
|
||||||
return success;
|
return success;
|
||||||
if (newRecord)
|
if (newRecord)
|
||||||
insert_Tree(MTree_Base.TREETYPE_Activity);
|
insert_Tree(MTree_Base.TREETYPE_Activity);
|
||||||
|
if (newRecord || is_ValueChanged(COLUMNNAME_Value))
|
||||||
|
update_Tree(MTree_Base.TREETYPE_Activity);
|
||||||
// Value/Name change
|
// Value/Name change
|
||||||
if (!newRecord && (is_ValueChanged("Value") || is_ValueChanged("Name"))){
|
if (!newRecord && (is_ValueChanged("Value") || is_ValueChanged("Name"))){
|
||||||
StringBuilder msguvd = new StringBuilder("C_Activity_ID=").append(getC_Activity_ID());
|
StringBuilder msguvd = new StringBuilder("C_Activity_ID=").append(getC_Activity_ID());
|
||||||
|
|
|
@ -925,7 +925,9 @@ public class MBPartner extends X_C_BPartner
|
||||||
*/
|
*/
|
||||||
protected boolean afterSave (boolean newRecord, boolean success)
|
protected boolean afterSave (boolean newRecord, boolean success)
|
||||||
{
|
{
|
||||||
if (newRecord && success)
|
if (!success)
|
||||||
|
return success;
|
||||||
|
if (newRecord)
|
||||||
{
|
{
|
||||||
// Trees
|
// Trees
|
||||||
insert_Tree(MTree_Base.TREETYPE_BPartner);
|
insert_Tree(MTree_Base.TREETYPE_BPartner);
|
||||||
|
@ -935,9 +937,11 @@ public class MBPartner extends X_C_BPartner
|
||||||
insert_Accounting("C_BP_Vendor_Acct", "C_BP_Group_Acct",msgacc.toString());
|
insert_Accounting("C_BP_Vendor_Acct", "C_BP_Group_Acct",msgacc.toString());
|
||||||
// insert_Accounting("C_BP_Employee_Acct", "C_AcctSchema_Default", null);
|
// insert_Accounting("C_BP_Employee_Acct", "C_AcctSchema_Default", null);
|
||||||
}
|
}
|
||||||
|
if (newRecord || is_ValueChanged(COLUMNNAME_Value))
|
||||||
|
update_Tree(MTree_Base.TREETYPE_BPartner);
|
||||||
|
|
||||||
// Value/Name change
|
// Value/Name change
|
||||||
if (success && !newRecord
|
if (!newRecord
|
||||||
&& (is_ValueChanged("Value") || is_ValueChanged("Name"))){
|
&& (is_ValueChanged("Value") || is_ValueChanged("Name"))){
|
||||||
StringBuilder msgacc = new StringBuilder("C_BPartner_ID=").append(getC_BPartner_ID());
|
StringBuilder msgacc = new StringBuilder("C_BPartner_ID=").append(getC_BPartner_ID());
|
||||||
MAccount.updateValueDescription(getCtx(), msgacc.toString(), get_TrxName());
|
MAccount.updateValueDescription(getCtx(), msgacc.toString(), get_TrxName());
|
||||||
|
|
|
@ -70,6 +70,8 @@ public class MCampaign extends X_C_Campaign
|
||||||
return success;
|
return success;
|
||||||
if (newRecord)
|
if (newRecord)
|
||||||
insert_Tree(MTree_Base.TREETYPE_Campaign);
|
insert_Tree(MTree_Base.TREETYPE_Campaign);
|
||||||
|
if (newRecord || is_ValueChanged(COLUMNNAME_Value))
|
||||||
|
update_Tree(MTree_Base.TREETYPE_Campaign);
|
||||||
// Value/Name change
|
// Value/Name change
|
||||||
if (!newRecord && (is_ValueChanged("Value") || is_ValueChanged("Name")))
|
if (!newRecord && (is_ValueChanged("Value") || is_ValueChanged("Name")))
|
||||||
MAccount.updateValueDescription(getCtx(), "C_Campaign_ID=" + getC_Campaign_ID(), get_TrxName());
|
MAccount.updateValueDescription(getCtx(), "C_Campaign_ID=" + getC_Campaign_ID(), get_TrxName());
|
||||||
|
|
|
@ -241,9 +241,9 @@ public class MColumn extends X_AD_Column
|
||||||
|
|
||||||
if (displayType != DisplayType.Button)
|
if (displayType != DisplayType.Button)
|
||||||
{
|
{
|
||||||
if (isToolbarButton())
|
if (! ISTOOLBARBUTTON_Window.equals(getIsToolbarButton()))
|
||||||
{
|
{
|
||||||
setIsToolbarButton(false);
|
setIsToolbarButton(ISTOOLBARBUTTON_Window);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -246,14 +246,16 @@ public class MElementValue extends X_C_ElementValue
|
||||||
{
|
{
|
||||||
if (!success)
|
if (!success)
|
||||||
return success;
|
return success;
|
||||||
if (newRecord)
|
if (newRecord || is_ValueChanged(COLUMNNAME_Value))
|
||||||
{
|
{
|
||||||
// afalcone [Bugs #1837219]
|
// afalcone [Bugs #1837219]
|
||||||
int ad_Tree_ID= (new MElement(getCtx(), getC_Element_ID(), get_TrxName())).getAD_Tree_ID();
|
int ad_Tree_ID= (new MElement(getCtx(), getC_Element_ID(), get_TrxName())).getAD_Tree_ID();
|
||||||
String treeType= (new MTree(getCtx(),ad_Tree_ID,get_TrxName())).getTreeType();
|
String treeType= (new MTree(getCtx(),ad_Tree_ID,get_TrxName())).getTreeType();
|
||||||
insert_Tree(treeType, getC_Element_ID());
|
|
||||||
// insert_Tree(MTree_Base.TREETYPE_ElementValue, getC_Element_ID()); Old
|
|
||||||
|
|
||||||
|
if (newRecord)
|
||||||
|
insert_Tree(treeType, getC_Element_ID());
|
||||||
|
|
||||||
|
update_Tree(treeType);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Value/Name change
|
// Value/Name change
|
||||||
|
|
|
@ -156,6 +156,8 @@ public class MOrg extends X_AD_Org
|
||||||
// TreeNode
|
// TreeNode
|
||||||
insert_Tree(MTree_Base.TREETYPE_Organization);
|
insert_Tree(MTree_Base.TREETYPE_Organization);
|
||||||
}
|
}
|
||||||
|
if (newRecord || is_ValueChanged(COLUMNNAME_Value))
|
||||||
|
update_Tree(MTree_Base.TREETYPE_Organization);
|
||||||
// Value/Name change
|
// Value/Name change
|
||||||
if (!newRecord && (is_ValueChanged("Value") || is_ValueChanged("Name")))
|
if (!newRecord && (is_ValueChanged("Value") || is_ValueChanged("Name")))
|
||||||
{
|
{
|
||||||
|
|
|
@ -704,6 +704,8 @@ public class MProduct extends X_M_Product
|
||||||
"p.M_Product_Category_ID=" + getM_Product_Category_ID());
|
"p.M_Product_Category_ID=" + getM_Product_Category_ID());
|
||||||
insert_Tree(X_AD_Tree.TREETYPE_Product);
|
insert_Tree(X_AD_Tree.TREETYPE_Product);
|
||||||
}
|
}
|
||||||
|
if (newRecord || is_ValueChanged(COLUMNNAME_Value))
|
||||||
|
update_Tree(MTree_Base.TREETYPE_Product);
|
||||||
|
|
||||||
// New Costing
|
// New Costing
|
||||||
if (newRecord || is_ValueChanged("M_Product_Category_ID"))
|
if (newRecord || is_ValueChanged("M_Product_Category_ID"))
|
||||||
|
|
|
@ -428,14 +428,18 @@ public class MProject extends X_C_Project
|
||||||
*/
|
*/
|
||||||
protected boolean afterSave (boolean newRecord, boolean success)
|
protected boolean afterSave (boolean newRecord, boolean success)
|
||||||
{
|
{
|
||||||
if (newRecord && success)
|
if (!success)
|
||||||
|
return success;
|
||||||
|
if (newRecord)
|
||||||
{
|
{
|
||||||
insert_Accounting("C_Project_Acct", "C_AcctSchema_Default", null);
|
insert_Accounting("C_Project_Acct", "C_AcctSchema_Default", null);
|
||||||
insert_Tree(MTree_Base.TREETYPE_Project);
|
insert_Tree(MTree_Base.TREETYPE_Project);
|
||||||
}
|
}
|
||||||
|
if (newRecord || is_ValueChanged(COLUMNNAME_Value))
|
||||||
|
update_Tree(MTree_Base.TREETYPE_Project);
|
||||||
|
|
||||||
// Value/Name change
|
// Value/Name change
|
||||||
if (success && !newRecord
|
if (!newRecord
|
||||||
&& (is_ValueChanged("Value") || is_ValueChanged("Name")))
|
&& (is_ValueChanged("Value") || is_ValueChanged("Name")))
|
||||||
MAccount.updateValueDescription(getCtx(), "C_Project_ID=" + getC_Project_ID(), get_TrxName());
|
MAccount.updateValueDescription(getCtx(), "C_Project_ID=" + getC_Project_ID(), get_TrxName());
|
||||||
|
|
||||||
|
|
|
@ -106,6 +106,8 @@ public class MSalesRegion extends X_C_SalesRegion
|
||||||
return success;
|
return success;
|
||||||
if (newRecord)
|
if (newRecord)
|
||||||
insert_Tree(MTree_Base.TREETYPE_SalesRegion);
|
insert_Tree(MTree_Base.TREETYPE_SalesRegion);
|
||||||
|
if (newRecord || is_ValueChanged(COLUMNNAME_Value))
|
||||||
|
update_Tree(MTree_Base.TREETYPE_SalesRegion);
|
||||||
// Value/Name change
|
// Value/Name change
|
||||||
if (!newRecord && (is_ValueChanged("Value") || is_ValueChanged("Name")))
|
if (!newRecord && (is_ValueChanged("Value") || is_ValueChanged("Name")))
|
||||||
MAccount.updateValueDescription(getCtx(), "C_SalesRegion_ID=" + getC_SalesRegion_ID(), get_TrxName());
|
MAccount.updateValueDescription(getCtx(), "C_SalesRegion_ID=" + getC_SalesRegion_ID(), get_TrxName());
|
||||||
|
|
|
@ -408,8 +408,7 @@ public class MTree extends MTree_Base
|
||||||
String fromClause = getSourceTableName(false); // fully qualified
|
String fromClause = getSourceTableName(false); // fully qualified
|
||||||
String columnNameX = getSourceTableName(true);
|
String columnNameX = getSourceTableName(true);
|
||||||
String color = getActionColorName();
|
String color = getActionColorName();
|
||||||
if (getTreeType().equals(TREETYPE_Menu))
|
if (getTreeType().equals(TREETYPE_Menu)) {
|
||||||
{
|
|
||||||
boolean base = Env.isBaseLanguage(p_ctx, "AD_Menu");
|
boolean base = Env.isBaseLanguage(p_ctx, "AD_Menu");
|
||||||
sourceTable = "m";
|
sourceTable = "m";
|
||||||
if (base)
|
if (base)
|
||||||
|
@ -450,9 +449,13 @@ public class MTree extends MTree_Base
|
||||||
sqlNode.append("f.JSPURL");
|
sqlNode.append("f.JSPURL");
|
||||||
sqlNode.append(" IS NOT NULL))");
|
sqlNode.append(" IS NOT NULL))");
|
||||||
}
|
}
|
||||||
}
|
} else if (isTreeDrivenByValue()) {
|
||||||
else
|
sqlNode.append("SELECT t.").append(columnNameX)
|
||||||
{
|
.append("_ID, t.Value || ' - ' || t.Name, t.Description, t.IsSummary,").append(color)
|
||||||
|
.append(" FROM ").append(fromClause);
|
||||||
|
if (!m_editable)
|
||||||
|
sqlNode.append(" WHERE t.IsActive='Y'");
|
||||||
|
} else {
|
||||||
if (columnNameX == null)
|
if (columnNameX == null)
|
||||||
throw new IllegalArgumentException("Unknown TreeType=" + getTreeType());
|
throw new IllegalArgumentException("Unknown TreeType=" + getTreeType());
|
||||||
sqlNode.append("SELECT t.").append(columnNameX)
|
sqlNode.append("SELECT t.").append(columnNameX)
|
||||||
|
|
|
@ -342,6 +342,17 @@ public class MTree_Base extends X_AD_Tree
|
||||||
{
|
{
|
||||||
if (!isActive() || !isAllNodes())
|
if (!isActive() || !isAllNodes())
|
||||||
setIsDefault(false);
|
setIsDefault(false);
|
||||||
|
|
||||||
|
if (isTreeDrivenByValue()) {
|
||||||
|
String tableName = getSourceTableName(true);
|
||||||
|
MTable table = MTable.get(getCtx(), tableName);
|
||||||
|
// Value and IsSummary are mandatory columns to have a tree driven by Value
|
||||||
|
if ( table.getColumn("Value") == null
|
||||||
|
|| table.getColumn("IsSummary") == null) {
|
||||||
|
setIsTreeDrivenByValue(false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
} // beforeSabe
|
} // beforeSabe
|
||||||
|
|
||||||
|
|
|
@ -106,7 +106,7 @@ public abstract class PO
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
private static final long serialVersionUID = -591429462738850345L;
|
private static final long serialVersionUID = -2731993630208549493L;
|
||||||
|
|
||||||
public static final String LOCAL_TRX_PREFIX = "POSave";
|
public static final String LOCAL_TRX_PREFIX = "POSave";
|
||||||
|
|
||||||
|
@ -3869,6 +3869,63 @@ public abstract class PO
|
||||||
return no > 0;
|
return no > 0;
|
||||||
} // insert_Tree
|
} // insert_Tree
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Update parent key and seqno based on value if the tree is driven by value
|
||||||
|
* @param treeType MTree TREETYPE_*
|
||||||
|
* @return true if inserted
|
||||||
|
*/
|
||||||
|
protected void update_Tree (String treeType)
|
||||||
|
{
|
||||||
|
int idxValueCol = get_ColumnIndex("Value");
|
||||||
|
if (idxValueCol < 0)
|
||||||
|
return;
|
||||||
|
int idxValueIsSummary = get_ColumnIndex("IsSummary");
|
||||||
|
if (idxValueIsSummary < 0)
|
||||||
|
return;
|
||||||
|
String value = get_Value(idxValueCol).toString();
|
||||||
|
if (value == null)
|
||||||
|
return;
|
||||||
|
|
||||||
|
String tableName = MTree_Base.getNodeTableName(treeType);
|
||||||
|
String sourceTableName = MTree_Base.getSourceTableName(treeType);
|
||||||
|
String updateSeqNo = "UPDATE " + tableName + " SET SeqNo=SeqNo+1 WHERE Parent_ID=? AND SeqNo>=? AND AD_Tree_ID=?";
|
||||||
|
String update = "UPDATE " + tableName + " SET SeqNo=?, Parent_ID=? WHERE Node_ID=? AND AD_Tree_ID=?";
|
||||||
|
String selMinSeqNo = "SELECT COALESCE(MIN(tn.SeqNo),-1) FROM AD_TreeNode tn JOIN " + sourceTableName + " n ON (tn.Node_ID=n." + sourceTableName + "_ID) WHERE tn.Parent_ID=? AND tn.AD_Tree_ID=? AND n.Value>?";
|
||||||
|
String selMaxSeqNo = "SELECT COALESCE(MAX(tn.SeqNo)+1,999) FROM AD_TreeNode tn JOIN " + sourceTableName + " n ON (tn.Node_ID=n." + sourceTableName + "_ID) WHERE tn.Parent_ID=? AND tn.AD_Tree_ID=? AND n.Value<?";
|
||||||
|
|
||||||
|
List<MTree_Base> trees = new Query(getCtx(), MTree_Base.Table_Name, "TreeType=?", get_TrxName())
|
||||||
|
.setClient_ID()
|
||||||
|
.setOnlyActiveRecords(true)
|
||||||
|
.setParameters(treeType)
|
||||||
|
.list();
|
||||||
|
|
||||||
|
for (MTree_Base tree : trees) {
|
||||||
|
if (tree.isTreeDrivenByValue()) {
|
||||||
|
int newParentID = retrieveIdOfParentValue(value, sourceTableName, getAD_Client_ID(), get_TrxName());
|
||||||
|
int seqNo = DB.getSQLValueEx(get_TrxName(), selMinSeqNo, newParentID, tree.getAD_Tree_ID(), value);
|
||||||
|
if (seqNo == -1)
|
||||||
|
seqNo = DB.getSQLValueEx(get_TrxName(), selMaxSeqNo, newParentID, tree.getAD_Tree_ID(), value);
|
||||||
|
DB.executeUpdateEx(updateSeqNo, new Object[] {newParentID, seqNo, tree.getAD_Tree_ID()}, get_TrxName());
|
||||||
|
DB.executeUpdateEx(update, new Object[] {seqNo, newParentID, get_ID(), tree.getAD_Tree_ID()}, get_TrxName());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} // update_Tree
|
||||||
|
|
||||||
|
/** Returns the summary node with the corresponding value */
|
||||||
|
public static int retrieveIdOfParentValue(String value, String tableName, int clientID, String trxName)
|
||||||
|
{
|
||||||
|
String sql = "SELECT " + tableName + "_ID FROM " + tableName + " WHERE IsSummary='Y' AND AD_Client_ID=? AND Value=?";
|
||||||
|
int pos = value.length()-1;
|
||||||
|
while (pos > 0) {
|
||||||
|
String testParentValue = value.substring(0, pos);
|
||||||
|
int parentID = DB.getSQLValueEx(trxName, sql, clientID, testParentValue);
|
||||||
|
if (parentID > 0)
|
||||||
|
return parentID;
|
||||||
|
pos--;
|
||||||
|
}
|
||||||
|
return 0; // rootID
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Delete ID Tree Nodes
|
* Delete ID Tree Nodes
|
||||||
* @param treeType MTree TREETYPE_*
|
* @param treeType MTree TREETYPE_*
|
||||||
|
|
|
@ -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 */
|
/** Standard Constructor */
|
||||||
public X_AD_Column (Properties ctx, int AD_Column_ID, String trxName)
|
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);
|
setIsSecure (false);
|
||||||
// N
|
// N
|
||||||
setIsSelectionColumn (false);
|
setIsSelectionColumn (false);
|
||||||
setIsToolbarButton (true);
|
setIsToolbarButton (null);
|
||||||
// Y
|
// Y
|
||||||
setIsTranslated (false);
|
setIsTranslated (false);
|
||||||
setIsUpdateable (true);
|
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);
|
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.
|
/** Set Toolbar Button.
|
||||||
@param IsToolbarButton
|
@param IsToolbarButton
|
||||||
Add the column button to the toolbar
|
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.
|
/** Get Toolbar Button.
|
||||||
@return Add the column button to the toolbar
|
@return Add the column button to the toolbar
|
||||||
*/
|
*/
|
||||||
public boolean isToolbarButton ()
|
public String getIsToolbarButton ()
|
||||||
{
|
{
|
||||||
Object oo = get_Value(COLUMNNAME_IsToolbarButton);
|
return (String)get_Value(COLUMNNAME_IsToolbarButton);
|
||||||
if (oo != null)
|
|
||||||
{
|
|
||||||
if (oo instanceof Boolean)
|
|
||||||
return ((Boolean)oo).booleanValue();
|
|
||||||
return "Y".equals(oo);
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Set Translated.
|
/** Set Translated.
|
||||||
|
|
|
@ -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 */
|
/** Standard Constructor */
|
||||||
public X_AD_Field (Properties ctx, int AD_Field_ID, String trxName)
|
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;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** IsToolbarButton AD_Reference_ID=319 */
|
/** IsToolbarButton AD_Reference_ID=200099 */
|
||||||
public static final int ISTOOLBARBUTTON_AD_Reference_ID=319;
|
public static final int ISTOOLBARBUTTON_AD_Reference_ID=200099;
|
||||||
/** Yes = Y */
|
/** Toolbar = Y */
|
||||||
public static final String ISTOOLBARBUTTON_Yes = "Y";
|
public static final String ISTOOLBARBUTTON_Toolbar = "Y";
|
||||||
/** No = N */
|
/** Window = N */
|
||||||
public static final String ISTOOLBARBUTTON_No = "N";
|
public static final String ISTOOLBARBUTTON_Window = "N";
|
||||||
|
/** Both = B */
|
||||||
|
public static final String ISTOOLBARBUTTON_Both = "B";
|
||||||
/** Set Toolbar Button.
|
/** Set Toolbar Button.
|
||||||
@param IsToolbarButton
|
@param IsToolbarButton
|
||||||
Add the column button to the toolbar
|
Add the column button to the toolbar
|
||||||
|
|
|
@ -30,7 +30,7 @@ public class X_AD_Tree extends PO implements I_AD_Tree, I_Persistent
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
private static final long serialVersionUID = 20141030L;
|
private static final long serialVersionUID = 20150111L;
|
||||||
|
|
||||||
/** Standard Constructor */
|
/** Standard Constructor */
|
||||||
public X_AD_Tree (Properties ctx, int AD_Tree_ID, String trxName)
|
public X_AD_Tree (Properties ctx, int AD_Tree_ID, String trxName)
|
||||||
|
@ -41,6 +41,8 @@ public class X_AD_Tree extends PO implements I_AD_Tree, I_Persistent
|
||||||
setAD_Tree_ID (0);
|
setAD_Tree_ID (0);
|
||||||
setIsAllNodes (false);
|
setIsAllNodes (false);
|
||||||
setIsDefault (false);
|
setIsDefault (false);
|
||||||
|
// N
|
||||||
|
setIsTreeDrivenByValue (false);
|
||||||
// N
|
// N
|
||||||
setName (null);
|
setName (null);
|
||||||
setTreeType (null);
|
setTreeType (null);
|
||||||
|
@ -177,6 +179,27 @@ public class X_AD_Tree extends PO implements I_AD_Tree, I_Persistent
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Set Driven by Search Key.
|
||||||
|
@param IsTreeDrivenByValue Driven by Search Key */
|
||||||
|
public void setIsTreeDrivenByValue (boolean IsTreeDrivenByValue)
|
||||||
|
{
|
||||||
|
set_Value (COLUMNNAME_IsTreeDrivenByValue, Boolean.valueOf(IsTreeDrivenByValue));
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Get Driven by Search Key.
|
||||||
|
@return Driven by Search Key */
|
||||||
|
public boolean isTreeDrivenByValue ()
|
||||||
|
{
|
||||||
|
Object oo = get_Value(COLUMNNAME_IsTreeDrivenByValue);
|
||||||
|
if (oo != null)
|
||||||
|
{
|
||||||
|
if (oo instanceof Boolean)
|
||||||
|
return ((Boolean)oo).booleanValue();
|
||||||
|
return "Y".equals(oo);
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
/** Set Name.
|
/** Set Name.
|
||||||
@param Name
|
@param Name
|
||||||
Alphanumeric identifier of the entity
|
Alphanumeric identifier of the entity
|
||||||
|
|
|
@ -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 */
|
/** Standard Constructor */
|
||||||
public X_AD_UserDef_Field (Properties ctx, int AD_UserDef_Field_ID, String trxName)
|
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);
|
return (String)get_Value(COLUMNNAME_IsSameLine);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** IsToolbarButton AD_Reference_ID=319 */
|
/** IsToolbarButton AD_Reference_ID=200099 */
|
||||||
public static final int ISTOOLBARBUTTON_AD_Reference_ID=319;
|
public static final int ISTOOLBARBUTTON_AD_Reference_ID=200099;
|
||||||
/** Yes = Y */
|
/** Toolbar = Y */
|
||||||
public static final String ISTOOLBARBUTTON_Yes = "Y";
|
public static final String ISTOOLBARBUTTON_Toolbar = "Y";
|
||||||
/** No = N */
|
/** Window = N */
|
||||||
public static final String ISTOOLBARBUTTON_No = "N";
|
public static final String ISTOOLBARBUTTON_Window = "N";
|
||||||
|
/** Both = B */
|
||||||
|
public static final String ISTOOLBARBUTTON_Both = "B";
|
||||||
/** Set Toolbar Button.
|
/** Set Toolbar Button.
|
||||||
@param IsToolbarButton
|
@param IsToolbarButton
|
||||||
Add the column button to the toolbar
|
Add the column button to the toolbar
|
||||||
|
|
|
@ -160,7 +160,7 @@ public class GridController extends CPanel
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
private static final long serialVersionUID = 7308782933999556880L;
|
private static final long serialVersionUID = -2830833057882006196L;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructor - you need to call initGrid for instanciation
|
* 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
|
// IDEMPIERE-587 Swing: Toolbar Button to start Process from button fields
|
||||||
&& !(
|
&& !(
|
||||||
mField.getDisplayType()==DisplayType.Button
|
mField.getDisplayType()==DisplayType.Button
|
||||||
&& mField.isToolbarButton())
|
&& mField.isToolbarOnlyButton())
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
VEditor vEditor = VEditorFactory.getEditor(m_mTab, mField, false);
|
VEditor vEditor = VEditorFactory.getEditor(m_mTab, mField, false);
|
||||||
|
|
|
@ -70,6 +70,7 @@ import org.compiere.model.MToolBarButton;
|
||||||
import org.compiere.model.MToolBarButtonRestrict;
|
import org.compiere.model.MToolBarButtonRestrict;
|
||||||
import org.compiere.model.MTree;
|
import org.compiere.model.MTree;
|
||||||
import org.compiere.model.MTreeNode;
|
import org.compiere.model.MTreeNode;
|
||||||
|
import org.compiere.model.PO;
|
||||||
import org.compiere.model.Query;
|
import org.compiere.model.Query;
|
||||||
import org.compiere.model.X_AD_FieldGroup;
|
import org.compiere.model.X_AD_FieldGroup;
|
||||||
import org.compiere.model.X_AD_ToolBarButton;
|
import org.compiere.model.X_AD_ToolBarButton;
|
||||||
|
@ -436,8 +437,8 @@ DataStatusListener, IADTabpanel, IdSpace, IFieldEditorContainer
|
||||||
editors.add(editor);
|
editors.add(editor);
|
||||||
editor.getComponent().setId(field.getColumnName());
|
editor.getComponent().setId(field.getColumnName());
|
||||||
toolbarButtonEditors.add(editor);
|
toolbarButtonEditors.add(editor);
|
||||||
|
if (field.isToolbarOnlyButton())
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1248,9 +1249,14 @@ DataStatusListener, IADTabpanel, IdSpace, IFieldEditorContainer
|
||||||
refresh = false;
|
refresh = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// Remove the node if driven by value; will be re-added right after
|
||||||
|
if ("Saved".equals(e.getAD_Message()) && model.find(null, gridTab.getRecord_ID())!=null && isTreeDrivenByValue())
|
||||||
|
model.removeNode(model.find(null, gridTab.getRecord_ID()));
|
||||||
if ("Saved".equals(e.getAD_Message()) && model.find(null, gridTab.getRecord_ID())==null)
|
if ("Saved".equals(e.getAD_Message()) && model.find(null, gridTab.getRecord_ID())==null)
|
||||||
{
|
{
|
||||||
addNewNode();
|
addNewNode();
|
||||||
|
if (isTreeDrivenByValue())
|
||||||
|
treePanel.prepareForRefresh();
|
||||||
}
|
}
|
||||||
if (refresh)
|
if (refresh)
|
||||||
{
|
{
|
||||||
|
@ -1318,10 +1324,25 @@ DataStatusListener, IADTabpanel, IdSpace, IFieldEditorContainer
|
||||||
SimpleTreeModel model = (SimpleTreeModel)(TreeModel<?>) treePanel.getTree().getModel();
|
SimpleTreeModel model = (SimpleTreeModel)(TreeModel<?>) treePanel.getTree().getModel();
|
||||||
DefaultTreeNode<Object> treeNode = model.getRoot();
|
DefaultTreeNode<Object> treeNode = model.getRoot();
|
||||||
MTreeNode root = (MTreeNode) treeNode.getData();
|
MTreeNode root = (MTreeNode) treeNode.getData();
|
||||||
|
|
||||||
|
int parentID = root.getNode_ID();
|
||||||
|
DefaultTreeNode<Object> parentNode = null;
|
||||||
|
if (isTreeDrivenByValue()) {
|
||||||
|
String value = gridTab.getValue("Value").toString();
|
||||||
|
parentID = PO.retrieveIdOfParentValue(value, getTableName(), Env.getAD_Client_ID(Env.getCtx()), null);
|
||||||
|
parentNode = model.find(treeNode, parentID);
|
||||||
|
name = value + " - " + name;
|
||||||
|
}
|
||||||
MTreeNode node = new MTreeNode (gridTab.getRecord_ID(), 0, name, description,
|
MTreeNode node = new MTreeNode (gridTab.getRecord_ID(), 0, name, description,
|
||||||
root.getNode_ID(), summary, imageIndicator, false, null);
|
parentID, summary, imageIndicator, false, null);
|
||||||
DefaultTreeNode<Object> newNode = new DefaultTreeNode<Object>(node);
|
DefaultTreeNode<Object> newNode = new DefaultTreeNode<Object>(node);
|
||||||
model.addNode(newNode);
|
|
||||||
|
if (isTreeDrivenByValue() && parentNode != null) {
|
||||||
|
model.addNode(parentNode, newNode, 0);
|
||||||
|
} else {
|
||||||
|
model.addNode(newNode);
|
||||||
|
}
|
||||||
|
|
||||||
int[] path = model.getPath(newNode);
|
int[] path = model.getPath(newNode);
|
||||||
Treeitem ti = treePanel.getTree().renderItemByPath(path);
|
Treeitem ti = treePanel.getTree().renderItemByPath(path);
|
||||||
treePanel.getTree().setSelectedItem(ti);
|
treePanel.getTree().setSelectedItem(ti);
|
||||||
|
@ -1349,7 +1370,16 @@ DataStatusListener, IADTabpanel, IdSpace, IFieldEditorContainer
|
||||||
}
|
}
|
||||||
|
|
||||||
boolean changed = false;
|
boolean changed = false;
|
||||||
if (Env.isBaseLanguage(Env.getCtx(), "AD_Menu")) {
|
if (isTreeDrivenByValue()) {
|
||||||
|
String value = (String) gridTab.getValue("Value");
|
||||||
|
String name = (String) gridTab.getValue("Name");
|
||||||
|
String full = value + " - " + name;
|
||||||
|
|
||||||
|
if (full != null && !full.equals(data.getName())) {
|
||||||
|
data.setName(full);
|
||||||
|
changed = true;
|
||||||
|
}
|
||||||
|
} else if (Env.isBaseLanguage(Env.getCtx(), "AD_Menu")) {
|
||||||
String name = (String) gridTab.getValue("Name");
|
String name = (String) gridTab.getValue("Name");
|
||||||
if (name != null && !name.equals(data.getName())) {
|
if (name != null && !name.equals(data.getName())) {
|
||||||
data.setName(name);
|
data.setName(name);
|
||||||
|
@ -1667,5 +1697,12 @@ DataStatusListener, IADTabpanel, IdSpace, IFieldEditorContainer
|
||||||
listPanel.onADTabPanelParentChanged();
|
listPanel.onADTabPanelParentChanged();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
|
private boolean isTreeDrivenByValue() {
|
||||||
|
SimpleTreeModel model = (SimpleTreeModel)(TreeModel<?>) treePanel.getTree().getModel();
|
||||||
|
boolean retValue = false;
|
||||||
|
retValue = model.isTreeDrivenByValue();
|
||||||
|
return retValue;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
|
@ -41,7 +41,8 @@ public class ADTreePanel extends Panel implements EventListener<Event>
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
private static final long serialVersionUID = -3046550099597437942L;
|
private static final long serialVersionUID = -6868506934553777046L;
|
||||||
|
|
||||||
private static final String ON_EXPAND_MENU_EVENT = "onExpandMenu";
|
private static final String ON_EXPAND_MENU_EVENT = "onExpandMenu";
|
||||||
private TreeSearchPanel pnlSearch;
|
private TreeSearchPanel pnlSearch;
|
||||||
private Tree tree;
|
private Tree tree;
|
||||||
|
@ -180,4 +181,9 @@ public class ADTreePanel extends Panel implements EventListener<Event>
|
||||||
collapseAll();
|
collapseAll();
|
||||||
}
|
}
|
||||||
//
|
//
|
||||||
|
|
||||||
|
public void prepareForRefresh() {
|
||||||
|
this.AD_Tree_ID = -1;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1348,7 +1348,7 @@ public abstract class AbstractADWindowContent extends AbstractUIPart implements
|
||||||
if (Util.isEmpty(header))
|
if (Util.isEmpty(header))
|
||||||
header = AEnv.getDialogHeader(Env.getCtx(), curWindowNo, prefix);
|
header = AEnv.getDialogHeader(Env.getCtx(), curWindowNo, prefix);
|
||||||
|
|
||||||
SessionManager.getAppDesktop().setTabTitle(header);
|
SessionManager.getAppDesktop().setTabTitle(header, curWindowNo);
|
||||||
}
|
}
|
||||||
else if (adTabbox.getSelectedDetailADTabpanel() == null)
|
else if (adTabbox.getSelectedDetailADTabpanel() == null)
|
||||||
{
|
{
|
||||||
|
|
|
@ -458,7 +458,7 @@ public class GridTabRowRenderer implements RowRenderer<Object[]>, RowRendererExt
|
||||||
}
|
}
|
||||||
|
|
||||||
// IDEMPIERE-2148: when has tab customize, ignore check properties isDisplayedGrid
|
// 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;
|
continue;
|
||||||
}
|
}
|
||||||
colIndex ++;
|
colIndex ++;
|
||||||
|
@ -590,7 +590,7 @@ public class GridTabRowRenderer implements RowRenderer<Object[]>, RowRendererExt
|
||||||
//skip selection and indicator column
|
//skip selection and indicator column
|
||||||
int colIndex = 1;
|
int colIndex = 1;
|
||||||
for (int i = 0; i < columnCount; i++) {
|
for (int i = 0; i < columnCount; i++) {
|
||||||
if ((!isGridViewCustomized && !gridPanelFields[i].isDisplayedGrid()) || gridPanelFields[i].isToolbarButton()) {
|
if ((!isGridViewCustomized && !gridPanelFields[i].isDisplayedGrid()) || gridPanelFields[i].isToolbarOnlyButton()) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
colIndex ++;
|
colIndex ++;
|
||||||
|
|
|
@ -275,7 +275,7 @@ public class GridView extends Vbox implements EventListener<Event>, IdSpace, IFi
|
||||||
for(GridField gridField : tmpFields) {
|
for(GridField gridField : tmpFields) {
|
||||||
if (gridField.getAD_Field_ID() == AD_Field_ID) {
|
if (gridField.getAD_Field_ID() == AD_Field_ID) {
|
||||||
// IDEMPIERE-2204 add field in tabCustomization list to display list event this field have showInGrid = false
|
// 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);
|
fieldList.add(gridField);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
@ -293,7 +293,7 @@ public class GridView extends Vbox implements EventListener<Event>, IdSpace, IFi
|
||||||
ArrayList<GridField> gridFieldList = new ArrayList<GridField>();
|
ArrayList<GridField> gridFieldList = new ArrayList<GridField>();
|
||||||
|
|
||||||
for(GridField field:tmpFields){
|
for(GridField field:tmpFields){
|
||||||
if(field.isDisplayedGrid() && !field.isToolbarButton()) {
|
if(field.isDisplayedGrid() && !field.isToolbarOnlyButton()) {
|
||||||
gridFieldList.add(field);
|
gridFieldList.add(field);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -494,7 +494,7 @@ public class GridView extends Vbox implements EventListener<Event>, IdSpace, IFi
|
||||||
for (int i = 0; i < numColumns; i++)
|
for (int i = 0; i < numColumns; i++)
|
||||||
{
|
{
|
||||||
// IDEMPIERE-2148: when has tab customize, ignore check properties isDisplayedGrid
|
// 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());
|
colnames.put(index, gridField[i].getHeader());
|
||||||
index++;
|
index++;
|
||||||
|
|
|
@ -207,7 +207,7 @@ public class WTabEditor extends TabEditor implements IFormController, EventListe
|
||||||
{
|
{
|
||||||
MField field = getMField(gridField.getAD_Field_ID());
|
MField field = getMField(gridField.getAD_Field_ID());
|
||||||
|
|
||||||
if (!gridField.isDisplayed() || gridField.isToolbarButton())
|
if (!gridField.isDisplayed() || gridField.isToolbarOnlyButton())
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
// field group
|
// field group
|
||||||
|
@ -372,11 +372,11 @@ public class WTabEditor extends TabEditor implements IFormController, EventListe
|
||||||
int maxcol=0;
|
int maxcol=0;
|
||||||
for (GridField gridField : getGridFields())
|
for (GridField gridField : getGridFields())
|
||||||
{
|
{
|
||||||
if (!gridField.isDisplayed() || gridField.isToolbarButton())
|
if (!gridField.isDisplayed() || gridField.isToolbarOnlyButton())
|
||||||
continue;
|
continue;
|
||||||
int col = gridField.getXPosition() + gridField.getColumnSpan();
|
int col = gridField.getXPosition() + gridField.getColumnSpan();
|
||||||
if (gridField.isFieldOnly()
|
if (gridField.isFieldOnly()
|
||||||
|| (gridField.getDisplayType() == DisplayType.Button && !gridField.isToolbarButton())
|
|| (gridField.getDisplayType() == DisplayType.Button && !gridField.isToolbarOnlyButton())
|
||||||
|| gridField.getDisplayType() == DisplayType.YesNo) {
|
|| gridField.getDisplayType() == DisplayType.YesNo) {
|
||||||
col--;
|
col--;
|
||||||
}
|
}
|
||||||
|
@ -804,7 +804,7 @@ public class WTabEditor extends TabEditor implements IFormController, EventListe
|
||||||
for (MField field : getMFields())
|
for (MField field : getMFields())
|
||||||
{
|
{
|
||||||
GridField gridField = getGridField(field);
|
GridField gridField = getGridField(field);
|
||||||
if (!field.isActive() || gridField.isToolbarButton())
|
if (!field.isActive() || gridField.isToolbarOnlyButton())
|
||||||
continue;
|
continue;
|
||||||
KeyNamePair pair = new KeyNamePair(field.getAD_Field_ID(), field.getName());
|
KeyNamePair pair = new KeyNamePair(field.getAD_Field_ID(), field.getName());
|
||||||
if (field.isDisplayed()) {
|
if (field.isDisplayed()) {
|
||||||
|
|
|
@ -43,11 +43,10 @@ import org.zkoss.zul.event.TreeDataEvent;
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public class SimpleTreeModel extends org.zkoss.zul.DefaultTreeModel<Object> implements TreeitemRenderer<Object>, EventListener<Event> {
|
public class SimpleTreeModel extends org.zkoss.zul.DefaultTreeModel<Object> implements TreeitemRenderer<Object>, EventListener<Event> {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
private static final long serialVersionUID = -4649471521757131755L;
|
private static final long serialVersionUID = -2689107390272278321L;
|
||||||
|
|
||||||
private static final CLogger logger = CLogger.getCLogger(SimpleTreeModel.class);
|
private static final CLogger logger = CLogger.getCLogger(SimpleTreeModel.class);
|
||||||
|
|
||||||
|
@ -81,6 +80,7 @@ public class SimpleTreeModel extends org.zkoss.zul.DefaultTreeModel<Object> impl
|
||||||
MTreeNode root = vTree.getRoot();
|
MTreeNode root = vTree.getRoot();
|
||||||
SimpleTreeModel treeModel = SimpleTreeModel.createFrom(root);
|
SimpleTreeModel treeModel = SimpleTreeModel.createFrom(root);
|
||||||
treeModel.setItemDraggable(true);
|
treeModel.setItemDraggable(true);
|
||||||
|
treeModel.setTreeDrivenByValue(vTree.isTreeDrivenByValue());
|
||||||
treeModel.addOnDropEventListener(new ADTreeOnDropListener(tree, treeModel, vTree, windowNo));
|
treeModel.addOnDropEventListener(new ADTreeOnDropListener(tree, treeModel, vTree, windowNo));
|
||||||
|
|
||||||
if (tree.getTreecols() == null)
|
if (tree.getTreecols() == null)
|
||||||
|
@ -103,6 +103,16 @@ public class SimpleTreeModel extends org.zkoss.zul.DefaultTreeModel<Object> impl
|
||||||
return treeModel;
|
return treeModel;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private boolean isTreeDrivenByValue = false;
|
||||||
|
|
||||||
|
public boolean isTreeDrivenByValue() {
|
||||||
|
return isTreeDrivenByValue;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setTreeDrivenByValue(boolean isTreeDrivenByValue) {
|
||||||
|
this.isTreeDrivenByValue = isTreeDrivenByValue;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @param root
|
* @param root
|
||||||
|
@ -168,6 +178,8 @@ public class SimpleTreeModel extends org.zkoss.zul.DefaultTreeModel<Object> impl
|
||||||
ZkCssHelper.appendStyle(tc, "color: #" + hex);
|
ZkCssHelper.appendStyle(tc, "color: #" + hex);
|
||||||
}
|
}
|
||||||
ti.setTooltiptext(mNode.getDescription());
|
ti.setTooltiptext(mNode.getDescription());
|
||||||
|
if (mNode.isSummary())
|
||||||
|
ZkCssHelper.appendStyle(tc, "font-weight: bold");
|
||||||
}
|
}
|
||||||
// End color
|
// End color
|
||||||
}else{
|
}else{
|
||||||
|
|
|
@ -212,7 +212,7 @@ public interface IDesktop extends UIPart {
|
||||||
|
|
||||||
public boolean isPendingWindow();
|
public boolean isPendingWindow();
|
||||||
|
|
||||||
public void setTabTitle(String title);
|
public void setTabTitle(String title, int windowNo);
|
||||||
|
|
||||||
public void renderHomeTab();
|
public void renderHomeTab();
|
||||||
}
|
}
|
||||||
|
|
|
@ -397,8 +397,8 @@ public abstract class TabbedDesktop extends AbstractDesktop {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setTabTitle(String title) {
|
public void setTabTitle(String title, int windowNo) {
|
||||||
windowContainer.setTabTitle(title);
|
windowContainer.setTabTitle(title, windowNo);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,6 +21,7 @@ import org.adempiere.webui.component.Tabbox;
|
||||||
import org.adempiere.webui.component.Tabpanel;
|
import org.adempiere.webui.component.Tabpanel;
|
||||||
import org.adempiere.webui.component.Tabpanels;
|
import org.adempiere.webui.component.Tabpanels;
|
||||||
import org.adempiere.webui.component.Tabs;
|
import org.adempiere.webui.component.Tabs;
|
||||||
|
import org.adempiere.webui.desktop.TabbedDesktop;
|
||||||
import org.adempiere.webui.panel.IHelpContext;
|
import org.adempiere.webui.panel.IHelpContext;
|
||||||
import org.adempiere.webui.session.SessionManager;
|
import org.adempiere.webui.session.SessionManager;
|
||||||
import org.compiere.model.X_AD_CtxHelp;
|
import org.compiere.model.X_AD_CtxHelp;
|
||||||
|
@ -264,11 +265,38 @@ public class WindowContainer extends AbstractUIPart
|
||||||
return tab;
|
return tab;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setTabTitle(String title) {
|
public void setTabTitle(String title, int windowNo) {
|
||||||
setTabTitle(title, getSelectedTab());
|
setTabTitle(title, getTab(windowNo));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* IDEMPIERE-2333 / getTab - get the tab based on the windowNo
|
||||||
|
* @param windowNo
|
||||||
|
* @return org.zkoss.zul.Tab
|
||||||
|
*/
|
||||||
|
private org.zkoss.zul.Tab getTab(int windowNo) {
|
||||||
|
org.zkoss.zul.Tabpanels panels = tabbox.getTabpanels();
|
||||||
|
List<?> childrens = panels.getChildren();
|
||||||
|
for (Object child : childrens)
|
||||||
|
{
|
||||||
|
Tabpanel panel = (Tabpanel) child;
|
||||||
|
Component component = panel.getFirstChild();
|
||||||
|
Object att = component != null ? component.getAttribute(TabbedDesktop.WINDOWNO_ATTRIBUTE) : null;
|
||||||
|
if (att != null && (att instanceof Integer))
|
||||||
|
{
|
||||||
|
if (windowNo == (Integer)att)
|
||||||
|
{
|
||||||
|
org.zkoss.zul.Tab tab = panel.getLinkedTab();
|
||||||
|
return tab;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setTabTitle(String title, org.zkoss.zul.Tab tab) {
|
public void setTabTitle(String title, org.zkoss.zul.Tab tab) {
|
||||||
|
if (tab == null)
|
||||||
|
return;
|
||||||
title = title.replaceAll("[&]", "");
|
title = title.replaceAll("[&]", "");
|
||||||
if (title.length() <= MAX_TITLE_LENGTH)
|
if (title.length() <= MAX_TITLE_LENGTH)
|
||||||
{
|
{
|
||||||
|
@ -277,7 +305,7 @@ public class WindowContainer extends AbstractUIPart
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
tab.setTooltiptext(title);
|
tab.setTooltiptext(title);
|
||||||
title = title.substring(0, 27) + "...";
|
title = title.substring(0, MAX_TITLE_LENGTH-3) + "...";
|
||||||
tab.setLabel(title);
|
tab.setLabel(title);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue