diff --git a/migration/360lts-release/oracle/948_IDEMPIERE-234.sql b/migration/360lts-release/oracle/948_IDEMPIERE-234.sql
new file mode 100644
index 0000000000..5c855f3093
--- /dev/null
+++ b/migration/360lts-release/oracle/948_IDEMPIERE-234.sql
@@ -0,0 +1,958 @@
+-- Oct 23, 2012 5:37:00 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET ColumnSpan=2,Updated=TO_DATE('2012-10-23 17:37:00','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200068
+;
+
+-- Oct 23, 2012 5:42:57 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Window SET Description='Maintain toolbar button access rule', Name='Role Toolbar Button Access',Updated=TO_DATE('2012-10-23 17:42:57','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Window_ID=200001
+;
+
+-- Oct 23, 2012 5:42:57 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Window_Trl SET IsTranslated='N' WHERE AD_Window_ID=200001
+;
+
+-- Oct 23, 2012 5:42:57 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Menu SET IsActive='Y', Name='Role Toolbar Button Access', Description='Maintain toolbar button access rule',Updated=TO_DATE('2012-10-23 17:42:57','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Menu_ID=200001
+;
+
+-- Oct 23, 2012 5:42:57 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Menu_Trl SET IsTranslated='N' WHERE AD_Menu_ID=200001
+;
+
+-- Oct 23, 2012 5:44:11 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Table SET Description='Toolbar button access rule', Name='Toolbar Button Access',Updated=TO_DATE('2012-10-23 17:44:11','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Table_ID=200004
+;
+
+-- Oct 23, 2012 5:44:11 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Table_Trl SET IsTranslated='N' WHERE AD_Table_ID=200004
+;
+
+-- Oct 23, 2012 5:45:05 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Column (Version,AD_Table_ID,EntityType,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsSyncDatabase,IsKey,AD_Element_ID,CreatedBy,Updated,AD_Org_ID,IsActive,IsAutocomplete,IsAllowLogging,Created,IsUpdateable,AD_Column_UU,IsAlwaysUpdateable,Help,IsAllowCopy,UpdatedBy,DefaultValue,IsEncrypted,ColumnName,Description,Name,AD_Client_ID,AD_Column_ID,SeqNoSelection,IsToolbarButton) VALUES (1,200004,'D','Y','N','N',0,'N',1,'N',20,'N','N',2079,100,TO_DATE('2012-10-23 17:45:04','YYYY-MM-DD HH24:MI:SS'),0,'Y','N','Y',TO_DATE('2012-10-23 17:45:04','YYYY-MM-DD HH24:MI:SS'),'N','28bc855d-3815-43ec-b3f6-d053ce1368a5','N','If selected (excluded), the role cannot access the data specified. If not selected (included), the role can ONLY access the data specified. Exclude items represent a negative list (i.e. you don''t have access to the listed items). Include items represent a positive list (i.e. you only have access to the listed items).
+ You would usually not mix Exclude and Include. If you have one include rule in your list, you would only have access to that item anyway.','Y',100,'Y','N','IsExclude','Exclude access to the data - if not selected Include access to the data','Exclude',0,200811,0,'N')
+;
+
+-- Oct 23, 2012 5:45:06 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Column_Trl (AD_Language,AD_Column_ID, Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Column_Trl_UU ) SELECT l.AD_Language,t.AD_Column_ID, t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Column t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Column_ID=200811 AND NOT EXISTS (SELECT * FROM AD_Column_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Column_ID=t.AD_Column_ID)
+;
+
+-- Oct 23, 2012 5:46:36 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Field (SortNo,IsEncrypted,AD_Tab_ID,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,UpdatedBy,AD_Org_ID,Created,AD_Client_ID,Help,CreatedBy,Updated,EntityType,IsDisplayed,IsFieldOnly,IsDisplayedGrid,SeqNoGrid,AD_Field_UU,DisplayLength,Description,Name,IsActive,XPosition,ColumnSpan,NumLines) VALUES (0,'N',200003,'N','N',200811,80,'Y',200730,'Y',100,0,TO_DATE('2012-10-23 17:46:35','YYYY-MM-DD HH24:MI:SS'),0,'If selected (excluded), the role cannot access the data specified. If not selected (included), the role can ONLY access the data specified. Exclude items represent a negative list (i.e. you don''t have access to the listed items). Include items represent a positive list (i.e. you only have access to the listed items).
+ You would usually not mix Exclude and Include. If you have one include rule in your list, you would only have access to that item anyway.',100,TO_DATE('2012-10-23 17:46:35','YYYY-MM-DD HH24:MI:SS'),'D','Y','N','Y',80,'94cefb8d-5e6f-453c-b133-7ab99e7928e4',0,'Exclude access to the data - if not selected Include access to the data','Exclude','Y',2,2,1)
+;
+
+-- Oct 23, 2012 5:46:37 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Field_Trl_UU ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=200730 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID)
+;
+
+-- Oct 23, 2012 5:46:50 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+ALTER TABLE AD_ToolBarButtonRestrict ADD IsExclude CHAR(1) DEFAULT 'Y' CHECK (IsExclude IN ('Y','N')) NOT NULL
+;
+
+-- Oct 23, 2012 5:50:47 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Column SET MandatoryLogic='@#AD_Client_ID@>0',Updated=TO_DATE('2012-10-23 17:50:47','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=200108
+;
+
+-- Oct 23, 2012 6:02:02 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Tab SET Name='Toolbar Button Access',Updated=TO_DATE('2012-10-23 18:02:02','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=200003
+;
+
+-- Oct 23, 2012 6:03:14 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Column SET IsUpdateable='Y',Updated=TO_DATE('2012-10-23 18:03:14','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=200108
+;
+
+-- Oct 23, 2012 6:03:20 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Column SET IsUpdateable='Y', IsToolbarButton='N',Updated=TO_DATE('2012-10-23 18:03:20','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=200105
+;
+
+-- Oct 23, 2012 6:03:31 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Column SET IsUpdateable='Y', IsToolbarButton='N',Updated=TO_DATE('2012-10-23 18:03:31','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=200111
+;
+
+-- Oct 23, 2012 6:14:02 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Table SET Name='Toolbar Button',Updated=TO_DATE('2012-10-23 18:14:02','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Table_ID=200003
+;
+
+-- Oct 23, 2012 6:14:21 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Window SET Name='Toolbar Button',Updated=TO_DATE('2012-10-23 18:14:21','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Window_ID=200000
+;
+
+-- Oct 23, 2012 6:14:21 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Menu SET IsActive='Y', Name='Toolbar Button', Description=NULL,Updated=TO_DATE('2012-10-23 18:14:21','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Menu_ID=200000
+;
+
+-- Oct 23, 2012 6:19:16 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Val_Rule SET Code='AD_Ref_List.Value IN (''W'',''R'')', Name='AD_ToolBarButton Action - Window/Report',Updated=TO_DATE('2012-10-23 18:19:16','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Val_Rule_ID=200002
+;
+
+-- Oct 23, 2012 6:19:26 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Column SET IsMandatory='Y',Updated=TO_DATE('2012-10-23 18:19:26','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=200105
+;
+
+-- Oct 23, 2012 6:19:35 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+ALTER TABLE AD_ToolBarButtonRestrict MODIFY Action CHAR(1)
+;
+
+-- Oct 23, 2012 6:19:35 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+ALTER TABLE AD_ToolBarButtonRestrict MODIFY Action NOT NULL
+;
+
+-- Oct 23, 2012 6:24:34 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Column (Version,AD_Table_ID,EntityType,AD_Reference_Value_ID,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsSyncDatabase,IsKey,AD_Element_ID,CreatedBy,Updated,AD_Org_ID,IsActive,IsAutocomplete,IsAllowLogging,Created,IsUpdateable,AD_Column_UU,IsAlwaysUpdateable,Help,IsAllowCopy,UpdatedBy,DefaultValue,AD_Val_Rule_ID,IsEncrypted,ColumnName,Description,Name,AD_Client_ID,AD_Column_ID,SeqNoSelection,IsToolbarButton) VALUES (1,200003,'D',104,'Y','N','N',0,'N',1,'N',17,'N','N',152,100,TO_DATE('2012-10-23 18:24:33','YYYY-MM-DD HH24:MI:SS'),0,'Y','N','Y',TO_DATE('2012-10-23 18:24:33','YYYY-MM-DD HH24:MI:SS'),'Y','bd152532-f402-4590-b889-02b79fee52b1','N','The Action field is a drop down list box which indicates the Action to be performed for this Item.','Y',100,'W',200002,'N','Action','Indicates the Action to be performed','Action',0,200812,0,'N')
+;
+
+-- Oct 23, 2012 6:24:34 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Column_Trl (AD_Language,AD_Column_ID, Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Column_Trl_UU ) SELECT l.AD_Language,t.AD_Column_ID, t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Column t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Column_ID=200812 AND NOT EXISTS (SELECT * FROM AD_Column_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Column_ID=t.AD_Column_ID)
+;
+
+-- Oct 23, 2012 6:24:46 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+ALTER TABLE AD_ToolBarButton ADD Action CHAR(1) DEFAULT 'W' NOT NULL
+;
+
+-- Oct 23, 2012 6:27:22 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Val_Rule (Code,Updated,UpdatedBy,Created,EntityType,Name,Type,CreatedBy,AD_Val_Rule_UU,AD_Client_ID,IsActive,AD_Org_ID,AD_Val_Rule_ID) VALUES ('(AD_ToolbarButton.Action=''@Action@'') OR (AD_ToolbarButton.Action||''@Action@''=''RW'' )',TO_DATE('2012-10-23 18:27:20','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2012-10-23 18:27:20','YYYY-MM-DD HH24:MI:SS'),'D','AD_ToolbarButton of Action','S',100,'a6553b61-35ba-4bae-add1-6eeb6851d051',0,'Y',0,200011)
+;
+
+-- Oct 23, 2012 6:27:37 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Column SET AD_Val_Rule_ID=200011, IsToolbarButton='N',Updated=TO_DATE('2012-10-23 18:27:37','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=200104
+;
+
+-- Oct 23, 2012 6:28:44 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Field (SortNo,IsEncrypted,AD_Tab_ID,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,UpdatedBy,AD_Org_ID,Created,AD_Client_ID,Help,CreatedBy,Updated,EntityType,IsDisplayed,IsFieldOnly,IsDisplayedGrid,SeqNoGrid,AD_Field_UU,DisplayLength,Description,Name,IsActive,XPosition,ColumnSpan,NumLines) VALUES (0,'N',200002,'N','N',200812,120,'Y',200731,'N',100,0,TO_DATE('2012-10-23 18:28:43','YYYY-MM-DD HH24:MI:SS'),0,'The Action field is a drop down list box which indicates the Action to be performed for this Item.',100,TO_DATE('2012-10-23 18:28:43','YYYY-MM-DD HH24:MI:SS'),'D','Y','N','Y',120,'fc97d18a-d3e0-4285-bc9c-bd9fb4f16a71',0,'Indicates the Action to be performed','Action','Y',1,2,1)
+;
+
+-- Oct 23, 2012 6:28:44 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Field_Trl_UU ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=200731 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID)
+;
+
+-- Oct 23, 2012 6:29:02 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNo=0,IsDisplayed='N' WHERE AD_Field_ID=200054
+;
+
+-- Oct 23, 2012 6:29:02 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNo=40,IsDisplayed='Y' WHERE AD_Field_ID=200731
+;
+
+-- Oct 23, 2012 6:29:02 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNo=50,IsDisplayed='Y' WHERE AD_Field_ID=200056
+;
+
+-- Oct 23, 2012 6:29:02 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNo=60,IsDisplayed='Y' WHERE AD_Field_ID=200057
+;
+
+-- Oct 23, 2012 6:29:02 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNo=70,IsDisplayed='Y' WHERE AD_Field_ID=200051
+;
+
+-- Oct 23, 2012 6:29:02 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNo=80,IsDisplayed='Y' WHERE AD_Field_ID=200052
+;
+
+-- Oct 23, 2012 6:29:02 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNo=90,IsDisplayed='Y' WHERE AD_Field_ID=200058
+;
+
+-- Oct 23, 2012 6:29:02 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNo=100,IsDisplayed='Y' WHERE AD_Field_ID=200059
+;
+
+-- Oct 23, 2012 6:29:02 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNo=110,IsDisplayed='Y' WHERE AD_Field_ID=200053
+;
+
+ALTER TABLE AD_ToolBarButtonRestrict MODIFY Classname NULL
+;
+
+UPDATE AD_ToolbarButton SET Classname=NULL WHERE Classname IS NOT NULL
+;
+
+-- Oct 24, 2012 4:40:17 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_ToolBarButton SET Action='R',Updated=TO_DATE('2012-10-24 16:40:17','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_ToolBarButton_ID=200059
+;
+
+-- Oct 24, 2012 4:40:20 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_ToolBarButton SET Action='R',Updated=TO_DATE('2012-10-24 16:40:20','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_ToolBarButton_ID=200060
+;
+
+-- Oct 24, 2012 4:40:25 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_ToolBarButton SET Action='R',Updated=TO_DATE('2012-10-24 16:40:25','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_ToolBarButton_ID=200061
+;
+
+-- Oct 24, 2012 4:40:31 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_ToolBarButton SET Action='R',Updated=TO_DATE('2012-10-24 16:40:31','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_ToolBarButton_ID=200062
+;
+
+-- Oct 24, 2012 4:40:36 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_ToolBarButton SET Action='R',Updated=TO_DATE('2012-10-24 16:40:36','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_ToolBarButton_ID=200063
+;
+
+-- Oct 24, 2012 4:40:41 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_ToolBarButton SET Action='R',Updated=TO_DATE('2012-10-24 16:40:41','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_ToolBarButton_ID=200064
+;
+
+-- Oct 24, 2012 4:43:25 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNoGrid=0,IsDisplayedGrid='N' WHERE AD_Field_ID=200054
+;
+
+-- Oct 24, 2012 4:43:25 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNoGrid=40,IsDisplayedGrid='Y' WHERE AD_Field_ID=200056
+;
+
+-- Oct 24, 2012 4:43:25 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNoGrid=50,IsDisplayedGrid='Y' WHERE AD_Field_ID=200057
+;
+
+-- Oct 24, 2012 4:43:25 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNoGrid=60,IsDisplayedGrid='Y' WHERE AD_Field_ID=200051
+;
+
+-- Oct 24, 2012 4:43:25 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNoGrid=70,IsDisplayedGrid='Y' WHERE AD_Field_ID=200052
+;
+
+-- Oct 24, 2012 4:43:25 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNoGrid=80,IsDisplayedGrid='Y' WHERE AD_Field_ID=200058
+;
+
+-- Oct 24, 2012 4:43:25 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNoGrid=90,IsDisplayedGrid='Y' WHERE AD_Field_ID=200059
+;
+
+-- Oct 24, 2012 4:43:25 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNoGrid=100,IsDisplayedGrid='Y' WHERE AD_Field_ID=200053
+;
+
+-- Oct 24, 2012 4:43:25 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNoGrid=110,IsDisplayedGrid='Y' WHERE AD_Field_ID=200731
+;
+
+-- Oct 24, 2012 4:44:36 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNoGrid=0,IsDisplayedGrid='N' WHERE AD_Field_ID=200052
+;
+
+-- Oct 24, 2012 4:44:36 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNoGrid=0,IsDisplayedGrid='N' WHERE AD_Field_ID=200058
+;
+
+-- Oct 24, 2012 4:44:36 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNoGrid=0,IsDisplayedGrid='N' WHERE AD_Field_ID=200059
+;
+
+-- Oct 24, 2012 4:44:36 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNoGrid=50,IsDisplayedGrid='Y' WHERE AD_Field_ID=200731
+;
+
+-- Oct 24, 2012 4:44:36 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNoGrid=60,IsDisplayedGrid='Y' WHERE AD_Field_ID=200057
+;
+
+-- Oct 24, 2012 4:44:36 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNoGrid=70,IsDisplayedGrid='Y' WHERE AD_Field_ID=200051
+;
+
+-- Oct 24, 2012 4:44:36 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNoGrid=80,IsDisplayedGrid='Y' WHERE AD_Field_ID=200053
+;
+
+-- Oct 24, 2012 4:45:48 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNo=0,IsDisplayed='N' WHERE AD_Field_ID=200052
+;
+
+-- Oct 24, 2012 4:45:48 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNo=0,IsDisplayed='N' WHERE AD_Field_ID=200058, 2012 4:45:48 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNo=0,IsDisplayed='N' WHERE AD_Field_ID=200059
+;
+
+-- Oct 24, 2012 4:45:48 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNo=80,IsDisplayed='Y' WHERE AD_Field_ID=200053
+;
+
+-- Oct 24, 2012 4:49:32 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET DisplayLogic='@Action@=R',Updated=TO_DATE('2012-10-24 16:49:32','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200615
+;
+
+-- Oct 24, 2012 4:52:58 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET XPosition=1,Updated=TO_DATE('2012-10-24 16:52:58','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200070
+;
+
+-- Oct 24, 2012 4:53:04 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET XPosition=1,Updated=TO_DATE('2012-10-24 16:53:04','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200615
+;
+
+-- Oct 24, 2012 5:36:10 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Column SET IsActive='N',Updated=TO_DATE('2012-10-24 17:36:10','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=200087
+;
+
+-- Oct 24, 2012 5:37:48 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Column (IsSyncDatabase,IsEncrypted,Version,AD_Table_ID,EntityType,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsKey,AD_Element_ID,Created,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,IsAlwaysUpdateable,ColumnName,Description,Help,Name,IsAllowCopy,IsActive,CreatedBy,Updated,AD_Org_ID,UpdatedBy,AD_Client_ID,AD_Column_ID,IsToolbarButton,SeqNoSelection) VALUES ('N','N',1,200003,'D','N','N','N',0,'N',10,'N',30,'N',125,TO_DATE('2012-10-24 17:37:46','YYYY-MM-DD HH24:MI:SS'),'N','Y','0759632a-25f9-48e5-a6e4-13214fa8d57c','Y','N','AD_Tab_ID','Tab within a Window','The Tab indicates a tab that displays within a window.','Tab','Y','Y',100,TO_DATE('2012-10-24 17:37:46','YYYY-MM-DD HH24:MI:SS'),0,100,0,200813,'N',0)
+;
+
+-- Oct 24, 2012 5:37:48 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Column_Trl (AD_Language,AD_Column_ID, Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Column_Trl_UU ) SELECT l.AD_Language,t.AD_Column_ID, t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Column t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Column_ID=200813 AND NOT EXISTS (SELECT * FROM AD_Column_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Column_ID=t.AD_Column_ID)
+;
+
+-- Oct 24, 2012 5:38:55 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Column (IsSyncDatabase,IsEncrypted,Version,AD_Table_ID,EntityType,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsKey,AD_Element_ID,Created,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,IsAlwaysUpdateable,ColumnName,Description,Help,Name,IsAllowCopy,IsActive,CreatedBy,Updated,AD_Org_ID,UpdatedBy,AD_Client_ID,AD_Column_ID,IsToolbarButton,SeqNoSelection) VALUES ('N','N',1,200003,'D','N','N','N',0,'N',10,'N',19,'N',117,TO_DATE('2012-10-24 17:38:53','YYYY-MM-DD HH24:MI:SS'),'N','Y','208abde6-b52c-4d25-9051-36e139e6214a','Y','N','AD_Process_ID','Process or Report','The Process field identifies a unique Process or Report in the system.','Process','Y','Y',100,TO_DATE('2012-10-24 17:38:53','YYYY-MM-DD HH24:MI:SS'),0,100,0,200814,'N',0)
+;
+
+-- Oct 24, 2012 5:38:55 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Column_Trl (AD_Language,AD_Column_ID, Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Column_Trl_UU ) SELECT l.AD_Language,t.AD_Column_ID, t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Column t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Column_ID=200814 AND NOT EXISTS (SELECT * FROM AD_Column_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Column_ID=t.AD_Column_ID)
+;
+
+-- Oct 24, 2012 5:41:04 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Column (IsSyncDatabase,IsEncrypted,Version,AD_Table_ID,EntityType,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsKey,AD_Element_ID,Created,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,IsAlwaysUpdateable,ColumnName,Description,Help,Name,IsAllowCopy,IsActive,CreatedBy,Updated,AD_Org_ID,UpdatedBy,AD_Client_ID,AD_Column_ID,IsToolbarButton,SeqNoSelection) VALUES ('N','N',1,200003,'D','N','N','N',0,'N',2000,'N',14,'N',283,TO_DATE('2012-10-24 17:41:03','YYYY-MM-DD HH24:MI:SS'),'N','Y','f55fe6cb-34f8-4291-a879-44f8f7b9d7cf','Y','N','DisplayLogic','If the Field is displayed, the result determines if the field is actually displayed','format := {expression} [{logic} {expression}]
+expression := @{context}@{operand}{value} or @{context}@{operand}{value}
+logic := {|}|{&}
+context := any global or window context
+value := strings or numbers
+logic operators := AND or OR with the previous result from left to right
+operand := eq{=}, gt{>}, le{<}, not{~^!}
+Examples:
+@AD_Table_ID@=14 | @Language@!GERGER
+@PriceLimit@>10 | @PriceList@>@PriceActual@
+@Name@>J
+Strings may be in single quotes (optional)','Display Logic','Y','Y',100,TO_DATE('2012-10-24 17:41:03','YYYY-MM-DD HH24:MI:SS'),0,100,0,200815,'N',0)
+;
+
+-- Oct 24, 2012 5:41:04 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Column_Trl (AD_Language,AD_Column_ID, Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Column_Trl_UU ) SELECT l.AD_Language,t.AD_Column_ID, t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Column t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Column_ID=200815 AND NOT EXISTS (SELECT * FROM AD_Column_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Column_ID=t.AD_Column_ID)
+;
+
+-- Oct 24, 2012 5:50:23 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Column (IsSyncDatabase,IsEncrypted,Version,AD_Table_ID,EntityType,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsKey,AD_Element_ID,Created,IsAutocomplete,IsAllowLogging,AD_Column_UU,DefaultValue,IsUpdateable,IsAlwaysUpdateable,ColumnName,Description,Help,Name,IsAllowCopy,IsActive,CreatedBy,Updated,AD_Org_ID,UpdatedBy,AD_Client_ID,AD_Column_ID,IsToolbarButton,SeqNoSelection) VALUES ('N','N',1,200003,'D','N','N','N',0,'N',10,'N',11,'N',566,TO_DATE('2012-10-24 17:50:22','YYYY-MM-DD HH24:MI:SS'),'N','Y','093d28e9-b81f-4e86-8e43-fcadcf708af6','@SQL=SELECT NVL(MAX(SeqNo),0)+10 AS DefaultValue FROM AD_ToolbarButton WHERE AD_Tab_ID=@AD_Tab_ID@','Y','N','SeqNo','Method of ordering records; lowest number comes first','The Sequence indicates the order of records','Sequence','Y','Y',100,TO_DATE('2012-10-24 17:50:22','YYYY-MM-DD HH24:MI:SS'),0,100,0,200816,'N',0)
+;
+
+-- Oct 24, 2012 5:50:23 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Column_Trl (AD_Language,AD_Column_ID, Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Column_Trl_UU ) SELECT l.AD_Language,t.AD_Column_ID, t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Column t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Column_ID=200816 AND NOT EXISTS (SELECT * FROM AD_Column_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Column_ID=t.AD_Column_ID)
+;
+
+-- Oct 24, 2012 5:50:57 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+ALTER TABLE AD_ToolBarButton ADD AD_Tab_ID NUMBER(10) DEFAULT NULL
+;
+
+-- Oct 24, 2012 5:51:08 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+ALTER TABLE AD_ToolBarButton ADD AD_Process_ID NUMBER(10) DEFAULT NULL
+;
+
+-- Oct 24, 2012 5:51:28 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+ALTER TABLE AD_ToolBarButton ADD DisplayLogic NVARCHAR2(2000) DEFAULT NULL
+;
+
+-- Oct 24, 2012 5:51:38 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+ALTER TABLE AD_ToolBarButton ADD SeqNo NUMBER(10) DEFAULT NULL
+;
+
+-- Oct 24, 2012 5:54:46 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Column (IsSyncDatabase,IsEncrypted,Version,AD_Table_ID,EntityType,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,AD_Val_Rule_ID,IsKey,AD_Element_ID,Created,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,IsAlwaysUpdateable,ColumnName,Description,Help,Name,IsAllowCopy,IsActive,CreatedBy,Updated,AD_Org_ID,UpdatedBy,AD_Client_ID,AD_Column_ID,IsToolbarButton,SeqNoSelection) VALUES ('N','N',1,200004,'D','N','N','N',0,'N',10,'N',19,163,'N',125,TO_DATE('2012-10-24 17:54:45','YYYY-MM-DD HH24:MI:SS'),'N','Y','16e082c5-c744-4f85-8a3a-f139690521af','Y','N','AD_Tab_ID','Tab within a Window','The Tab indicates a tab that displays within a window.','Tab','Y','Y',100,TO_DATE('2012-10-24 17:54:45','YYYY-MM-DD HH24:MI:SS'),0,100,0,200817,'N',0)
+;
+
+-- Oct 24, 2012 5:54:46 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Column_Trl (AD_Language,AD_Column_ID, Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Column_Trl_UU ) SELECT l.AD_Language,t.AD_Column_ID, t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Column t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Column_ID=200817 AND NOT EXISTS (SELECT * FROM AD_Column_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Column_ID=t.AD_Column_ID)
+;
+
+-- Oct 24, 2012 5:54:53 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+ALTER TABLE AD_ToolBarButtonRestrict ADD AD_Tab_ID NUMBER(10) DEFAULT NULL
+;
+
+-- Oct 24, 2012 5:58:34 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Field (SortNo,IsEncrypted,AD_Tab_ID,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,AD_Org_ID,Created,IsDisplayedGrid,SeqNoGrid,EntityType,AD_Client_ID,Description,IsDisplayed,IsFieldOnly,AD_Field_UU,CreatedBy,Updated,DisplayLength,DisplayLogic,Name,UpdatedBy,IsActive,XPosition,ColumnSpan,NumLines) VALUES (0,'N',200003,'N','N',200817,90,'Y',200732,'N','The Tab indicates a tab that displays within a window.',0,TO_DATE('2012-10-24 17:58:33','YYYY-MM-DD HH24:MI:SS'),'N',90,'D',0,'Tab within a Window','Y','N','0ba360c9-e34d-45a8-a5ff-0dbaf222f82c',100,TO_DATE('2012-10-24 17:58:33','YYYY-MM-DD HH24:MI:SS'),0,'@Action@=W','Tab',100,'Y',4,2,1)
+;
+
+-- Oct 24, 2012 5:58:34 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Field_Trl_UU ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=200732 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID)
+;
+
+-- Oct 24, 2012 5:59:09 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNo=70,IsDisplayed='Y' WHERE AD_Field_ID=200070
+;
+
+-- Oct 24, 2012 5:59:09 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNo=80,IsDisplayed='Y' WHERE AD_Field_ID=200732
+;
+
+-- Oct 24, 2012 5:59:09 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNo=90,IsDisplayed='Y' WHERE AD_Field_ID=200068
+;
+
+-- Oct 24, 2012 5:59:09 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNo=100,IsDisplayed='Y' WHERE AD_Field_ID=200730
+;
+
+-- Oct 24, 2012 6:01:15 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Val_Rule SET Code='((AD_ToolbarButton.Action=''@Action@'') OR (AD_ToolbarButton.Action||''@Action@''=''RW'' )) AND (AD_ToolbarButton.AD_Tab_ID IS NULL OR AD_ToolbarButton.AD_Tab_ID=@AD_Tab_ID@))',Updated=TO_DATE('2012-10-24 18:01:15','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Val_Rule_ID=200011
+;
+
+-- Oct 24, 2012 6:03:27 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Tab SET SeqNo=90,Updated=TO_DATE('2012-10-24 18:03:27','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=115
+;
+
+-- Oct 24, 2012 6:05:49 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Tab (IsSortTab,ImportFields,Processing,AD_Window_ID,SeqNo,AD_Table_ID,HasTree,IsInfoTab,AD_Column_ID,AD_Client_ID,IsInsertRecord,IsAdvancedTab,TabLevel,AD_Tab_UU,EntityType,IsReadOnly,AD_Org_ID,Created,CreatedBy,Updated,Name,OrderByClause,IsSingleRow,IsTranslationTab,UpdatedBy,IsActive,AD_Tab_ID) VALUES ('N','N','N',102,80,200003,'N','N',200813,0,'Y','N',2,'b67bbfa7-d919-431f-88e0-74bf410c321d','D','N',0,TO_DATE('2012-10-24 18:05:48','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2012-10-24 18:05:48','YYYY-MM-DD HH24:MI:SS'),'Toolbar Button','SeqNo','N','N',100,'Y',200028)
+;
+
+-- Oct 24, 2012 6:05:50 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Tab_Trl (AD_Language,AD_Tab_ID, CommitWarning,Help,Name,Description, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Tab_Trl_UU ) SELECT l.AD_Language,t.AD_Tab_ID, t.CommitWarning,t.Help,t.Name,t.Description, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Tab t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Tab_ID=200028 AND NOT EXISTS (SELECT * FROM AD_Tab_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Tab_ID=t.AD_Tab_ID)
+;
+
+-- Oct 24, 2012 6:06:58 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,AD_Org_ID,Created,EntityType,AD_Client_ID,Description,IsDisplayed,IsFieldOnly,AD_Field_UU,CreatedBy,Updated,DisplayLength,Name,UpdatedBy,IsActive) VALUES ('N',200028,'N','N',200812,'Y',200733,'N','The Action field is a drop down list box which indicates the Action to be performed for this Item.',0,TO_DATE('2012-10-24 18:06:57','YYYY-MM-DD HH24:MI:SS'),'D',0,'Indicates the Action to be performed','Y','N','431eb0bc-d764-4a77-843d-537ea5b0178e',100,TO_DATE('2012-10-24 18:06:57','YYYY-MM-DD HH24:MI:SS'),1,'Action',100,'Y')
+;
+
+-- Oct 24, 2012 6:06:58 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Field_Trl_UU ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=200733 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID)
+;
+
+-- Oct 24, 2012 6:06:59 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,AD_Org_ID,Created,EntityType,AD_Client_ID,Description,IsDisplayed,IsFieldOnly,AD_Field_UU,CreatedBy,Updated,DisplayLength,Name,UpdatedBy,IsActive) VALUES ('N',200028,'N','N',200095,'Y',200734,'N',0,TO_DATE('2012-10-24 18:06:58','YYYY-MM-DD HH24:MI:SS'),'D',0,'The class name that implements the interface for toolbar actions','Y','N','6420886d-cd75-4159-a1ca-eeae6d3309d7',100,TO_DATE('2012-10-24 18:06:58','YYYY-MM-DD HH24:MI:SS'),255,'Action Class Name',100,'Y')
+;
+
+-- Oct 24, 2012 6:06:59 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Field_Trl_UU ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=200734 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID)
+;
+
+-- Oct 24, 2012 6:06:59 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,AD_Org_ID,Created,EntityType,AD_Client_ID,Description,IsDisplayed,IsFieldOnly,AD_Field_UU,CreatedBy,Updated,DisplayLength,Name,UpdatedBy,IsActive) VALUES ('N',200028,'N','N',200096,'Y',200735,'N','Used to get the corresponding message and Icon name prefix',0,TO_DATE('2012-10-24 18:06:59','YYYY-MM-DD HH24:MI:SS'),'D',0,'Action name on the toolbar','Y','N','944ffe4d-5a59-4352-99ef-2b6d0349932f',100,TO_DATE('2012-10-24 18:06:59','YYYY-MM-DD HH24:MI:SS'),60,'Action Name',100,'Y')
+;
+
+-- Oct 24, 2012 6:06:59 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Field_Trl_UU ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=200735 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID)
+;
+
+-- Oct 24, 2012 6:07:00 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,AD_Org_ID,Created,EntityType,AD_Client_ID,Description,IsDisplayed,IsFieldOnly,AD_Field_UU,CreatedBy,Updated,DisplayLength,Name,UpdatedBy,IsActive) VALUES ('N',200028,'N','N',200089,'Y',200736,'N','There are two methods of making records unavailable in the system: One is to delete the record, the other is to de-activate the record. A de-activated record is not available for selection, but available for reports.
+There are two reasons for de-activating and not deleting records:
+(1) The system requires the record for audit purposes.
+(2) The record is referenced by other records. E.g., you cannot delete a Business Partner, if there are invoices for this partner record existing. You de-activate the Business Partner and prevent that this record is used for future entries.',0,TO_DATE('2012-10-24 18:06:59','YYYY-MM-DD HH24:MI:SS'),'D',0,'The record is active in the system','Y','N','2ed0ef54-e204-4b18-bafa-4f9b8dfb68c6',100,TO_DATE('2012-10-24 18:06:59','YYYY-MM-DD HH24:MI:SS'),1,'Active',100,'Y')
+;
+
+-- Oct 24, 2012 6:07:00 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Field_Trl_UU ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=200736 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID)
+;
+
+-- Oct 24, 2012 6:07:01 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,AD_Org_ID,Created,EntityType,AD_Client_ID,IsDisplayed,IsFieldOnly,AD_Field_UU,CreatedBy,Updated,DisplayLength,Name,UpdatedBy,IsActive) VALUES ('N',200028,'N','N',200204,'Y',200737,'N',0,TO_DATE('2012-10-24 18:07:00','YYYY-MM-DD HH24:MI:SS'),'D',0,'Y','N','82384725-b699-4676-9bf9-f41018683484',100,TO_DATE('2012-10-24 18:07:00','YYYY-MM-DD HH24:MI:SS'),36,'AD_ToolBarButton_UU',100,'Y')
+;
+
+-- Oct 24, 2012 6:07:01 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Field_Trl_UU ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=200737 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID)
+;
+
+-- Oct 24, 2012 6:07:02 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,AD_Org_ID,Created,EntityType,AD_Client_ID,Description,IsDisplayed,IsFieldOnly,AD_Field_UU,CreatedBy,Updated,DisplayLength,Name,UpdatedBy,IsActive) VALUES ('N',200028,'N','N',200083,'Y',200738,'N','A Client is a company or a legal entity. You cannot share data between Clients. Tenant is a synonym for Client.',0,TO_DATE('2012-10-24 18:07:01','YYYY-MM-DD HH24:MI:SS'),'D',0,'Client/Tenant for this installation.','Y','N','f70ffbf9-81c6-4760-bf65-662157d15d11',100,TO_DATE('2012-10-24 18:07:01','YYYY-MM-DD HH24:MI:SS'),22,'Client',100,'Y')
+;
+
+-- Oct 24, 2012 6:07:02 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Field_Trl_UU ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=200738 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID)
+;
+
+-- Oct 24, 2012 6:07:03 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,AD_Org_ID,Created,EntityType,AD_Client_ID,IsDisplayed,IsFieldOnly,AD_Field_UU,CreatedBy,Updated,DisplayLength,Name,UpdatedBy,IsActive) VALUES ('N',200028,'N','N',200088,'Y',200739,'N',0,TO_DATE('2012-10-24 18:07:02','YYYY-MM-DD HH24:MI:SS'),'D',0,'Y','N','f4d110db-ca5e-475a-9d2c-a2a15df8e228',100,TO_DATE('2012-10-24 18:07:02','YYYY-MM-DD HH24:MI:SS'),255,'Component Name',100,'Y')
+;
+
+-- Oct 24, 2012 6:07:03 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Field_Trl_UU ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=200739 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID)
+;
+
+-- Oct 24, 2012 6:07:04 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,AD_Org_ID,Created,EntityType,AD_Client_ID,Description,IsDisplayed,IsFieldOnly,AD_Field_UU,CreatedBy,Updated,DisplayLength,Name,UpdatedBy,IsActive) VALUES ('N',200028,'N','N',200094,'Y',200740,'N','The migration "resets" the system to the current/original setting. If selected you can save the customization and re-apply it. Please note that you need to check, if your customization has no negative side effect in the new release.',0,TO_DATE('2012-10-24 18:07:03','YYYY-MM-DD HH24:MI:SS'),'D',0,'The change is a customization of the data dictionary and can be applied after Migration','Y','N','5c33c342-0211-4534-97bb-8fe4187b4d96',100,TO_DATE('2012-10-24 18:07:03','YYYY-MM-DD HH24:MI:SS'),1,'Customization',100,'Y')
+;
+
+-- Oct 24, 2012 6:07:04 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Field_Trl_UU ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=200740 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID)
+;
+
+-- Oct 24, 2012 6:07:05 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,AD_Org_ID,Created,EntityType,AD_Client_ID,Description,IsDisplayed,IsFieldOnly,AD_Field_UU,CreatedBy,Updated,DisplayLength,Name,UpdatedBy,IsActive) VALUES ('N',200028,'N','N',200815,'Y',200741,'N','format := {expression} [{logic} {expression}]
+expression := @{context}@{operand}{value} or @{context}@{operand}{value}
+logic := {|}|{&}
+context := any global or window context
+value := strings or numbers
+logic operators := AND or OR with the previous result from left to right
+operand := eq{=}, gt{>}, le{<}, not{~^!}
+Examples:
+@AD_Table_ID@=14 | @Language@!GERGER
+@PriceLimit@>10 | @PriceList@>@PriceActual@
+@Name@>J
+Strings may be in single quotes (optional)',0,TO_DATE('2012-10-24 18:07:04','YYYY-MM-DD HH24:MI:SS'),'D',0,'If the Field is displayed, the result determines if the field is actually displayed','Y','N','87d35c66-a9bc-4ce4-9510-4d639edf144e',100,TO_DATE('2012-10-24 18:07:04','YYYY-MM-DD HH24:MI:SS'),2000,'Display Logic',100,'Y')
+;
+
+-- Oct 24, 2012 6:07:05 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Field_Trl_UU ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=200741 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID)
+;
+
+-- Oct 24, 2012 6:07:06 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,AD_Org_ID,Created,EntityType,AD_Client_ID,Description,IsDisplayed,IsFieldOnly,AD_Field_UU,CreatedBy,Updated,DisplayLength,Name,UpdatedBy,IsActive) VALUES ('N',200028,'N','N',200097,'Y',200742,'N',0,TO_DATE('2012-10-24 18:07:05','YYYY-MM-DD HH24:MI:SS'),'D',0,'KeyCode for shortcuts','Y','N','105f662c-4c38-4efc-b00f-f092337ba9ee',100,TO_DATE('2012-10-24 18:07:05','YYYY-MM-DD HH24:MI:SS'),10,'KeyCode',100,'Y')
+;
+
+-- Oct 24, 2012 6:07:06 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Field_Trl_UU ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=200742 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID)
+;
+
+-- Oct 24, 2012 6:07:07 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,AD_Org_ID,Created,EntityType,AD_Client_ID,Description,IsDisplayed,IsFieldOnly,AD_Field_UU,CreatedBy,Updated,DisplayLength,Name,UpdatedBy,IsActive) VALUES ('N',200028,'N','N',200098,'Y',200743,'N',0,TO_DATE('2012-10-24 18:07:06','YYYY-MM-DD HH24:MI:SS'),'D',0,'Keystroke Modifiers for shortcuts','Y','N','dc6e02fe-97c8-40ca-bca7-ca52b0798401',100,TO_DATE('2012-10-24 18:07:06','YYYY-MM-DD HH24:MI:SS'),10,'Keystroke Modifiers',100,'Y')
+;
+
+-- Oct 24, 2012 6:07:07 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Field_Trl_UU ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=200743 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID)
+;
+
+-- Oct 24, 2012 6:07:07 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,AD_Org_ID,Created,EntityType,AD_Client_ID,Description,IsDisplayed,IsFieldOnly,AD_Field_UU,CreatedBy,Updated,DisplayLength,Name,UpdatedBy,IsActive) VALUES ('N',200028,'N','N',200091,'Y',200744,'N','The name of an entity (record) is used as an default search option in addition to the search key. The name is up to 60 characters in length.',0,TO_DATE('2012-10-24 18:07:07','YYYY-MM-DD HH24:MI:SS'),'D',0,'Alphanumeric identifier of the entity','Y','N','4ba69d5b-69bc-4162-9aa2-0bcd7064ae4d',100,TO_DATE('2012-10-24 18:07:07','YYYY-MM-DD HH24:MI:SS'),60,'Name',100,'Y')
+;
+
+-- Oct 24, 2012 6:07:07 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Field_Trl_UU ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=200744 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID)
+;
+
+-- Oct 24, 2012 6:07:08 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,AD_Org_ID,Created,EntityType,AD_Client_ID,Description,IsDisplayed,IsFieldOnly,AD_Field_UU,CreatedBy,Updated,DisplayLength,Name,UpdatedBy,IsActive) VALUES ('N',200028,'N','N',200084,'Y',200745,'N','An organization is a unit of your client or legal entity - examples are store, department. You can share data between organizations.',0,TO_DATE('2012-10-24 18:07:07','YYYY-MM-DD HH24:MI:SS'),'D',0,'Organizational entity within client','Y','N','4e365917-a396-4928-a6b7-c861055c9f78',100,TO_DATE('2012-10-24 18:07:07','YYYY-MM-DD HH24:MI:SS'),22,'Organization',100,'Y')
+;
+
+-- Oct 24, 2012 6:07:08 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Field_Trl_UU ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=200745 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID)
+;
+
+-- Oct 24, 2012 6:07:09 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,AD_Org_ID,Created,EntityType,AD_Client_ID,Description,IsDisplayed,IsFieldOnly,AD_Field_UU,CreatedBy,Updated,DisplayLength,Name,UpdatedBy,IsActive) VALUES ('N',200028,'N','N',200814,'Y',200746,'N','The Process field identifies a unique Process or Report in the system.',0,TO_DATE('2012-10-24 18:07:08','YYYY-MM-DD HH24:MI:SS'),'D',0,'Process or Report','Y','N','42794be2-2e7c-42cc-924d-4da8314a24fb',100,TO_DATE('2012-10-24 18:07:08','YYYY-MM-DD HH24:MI:SS'),10,'Process',100,'Y')
+;
+
+-- Oct 24, 2012 6:07:09 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Field_Trl_UU ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=200746 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID)
+;
+
+-- Oct 24, 2012 6:07:10 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,AD_Org_ID,Created,EntityType,AD_Client_ID,Description,IsDisplayed,IsFieldOnly,AD_Field_UU,CreatedBy,Updated,DisplayLength,Name,UpdatedBy,IsActive) VALUES ('N',200028,'N','N',200816,'Y',200747,'N','The Sequence indicates the order of records',0,TO_DATE('2012-10-24 18:07:09','YYYY-MM-DD HH24:MI:SS'),'D',0,'Method of ordering records; lowest number comes first','Y','N','0f9a9af3-8f38-4f44-88ff-13efca819a8a',100,TO_DATE('2012-10-24 18:07:09','YYYY-MM-DD HH24:MI:SS'),10,'Sequence',100,'Y')
+;
+
+-- Oct 24, 2012 6:07:10 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Field_Trl_UU ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=200747 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID)
+;
+
+-- Oct 24, 2012 6:07:11 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,AD_Org_ID,Created,EntityType,AD_Client_ID,Description,IsDisplayed,IsFieldOnly,AD_Field_UU,CreatedBy,Updated,DisplayLength,Name,UpdatedBy,IsActive) VALUES ('N',200028,'N','N',200813,'Y',200748,'N','The Tab indicates a tab that displays within a window.',0,TO_DATE('2012-10-24 18:07:10','YYYY-MM-DD HH24:MI:SS'),'D',0,'Tab within a Window','Y','N','68a5b882-5d9c-4a92-99d1-e13473944b8f',100,TO_DATE('2012-10-24 18:07:10','YYYY-MM-DD HH24:MI:SS'),10,'Tab',100,'Y')
+;
+
+-- Oct 24, 2012 6:07:11 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Field_Trl_UU ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=200748 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID)
+;
+
+-- Oct 24, 2012 6:07:12 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,AD_Org_ID,Created,IsDisplayedGrid,EntityType,AD_Client_ID,IsDisplayed,IsFieldOnly,AD_Field_UU,CreatedBy,Updated,DisplayLength,Name,UpdatedBy,IsActive) VALUES ('N',200028,'N','N',200090,'Y',200749,'N',0,TO_DATE('2012-10-24 18:07:11','YYYY-MM-DD HH24:MI:SS'),'N','D',0,'N','N','ec7e1b7d-2ae5-4214-8465-97d8628b9ac5',100,TO_DATE('2012-10-24 18:07:11','YYYY-MM-DD HH24:MI:SS'),22,'ToolBar Button',100,'Y')
+;
+
+-- Oct 24, 2012 6:07:12 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Field_Trl_UU ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=200749 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID)
+;
+
+-- Oct 24, 2012 6:07:44 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+DELETE FROM AD_Field_Trl WHERE AD_Field_ID=200734
+;
+
+-- Oct 24, 2012 6:07:44 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+DELETE FROM AD_Field WHERE AD_Field_ID=200734
+;
+
+-- Oct 24, 2012 6:07:56 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+DELETE FROM AD_Field_Trl WHERE AD_Field_ID=200735
+;
+
+-- Oct 24, 2012 6:07:56 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+DELETE FROM AD_Field WHERE AD_Field_ID=200735
+;
+
+-- Oct 24, 2012 6:08:15 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+DELETE FROM AD_Field_Trl WHERE AD_Field_ID=200742
+;
+
+-- Oct 24, 2012 6:08:15 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+DELETE FROM AD_Field WHERE AD_Field_ID=200742
+;
+
+-- Oct 24, 2012 6:08:21 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+DELETE FROM AD_Field_Trl WHERE AD_Field_ID=200743
+;
+
+-- Oct 24, 2012 6:08:21 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+DELETE FROM AD_Field WHERE AD_Field_ID=200743
+;
+
+-- Oct 24, 2012 6:12:01 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNo=0,IsDisplayed='N' WHERE AD_Field_ID=200737
+;
+
+-- Oct 24, 2012 6:12:01 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNo=0,IsDisplayed='N' WHERE AD_Field_ID=200733
+;
+
+-- Oct 24, 2012 6:12:01 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNo=0,IsDisplayed='N' WHERE AD_Field_ID=200740
+;
+
+-- Oct 24, 2012 6:12:01 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNo=10,IsDisplayed='Y' WHERE AD_Field_ID=200738
+;
+
+-- Oct 24, 2012 6:12:01 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNo=20,IsDisplayed='Y' WHERE AD_Field_ID=200745
+;
+
+-- Oct 24, 2012 6:12:01 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNo=30,IsDisplayed='Y' WHERE AD_Field_ID=200748
+;
+
+-- Oct 24, 2012 6:12:01 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNo=40,IsDisplayed='Y' WHERE AD_Field_ID=200744
+;
+
+-- Oct 24, 2012 6:12:01 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNo=50,IsDisplayed='Y' WHERE AD_Field_ID=200739
+;
+
+-- Oct 24, 2012 6:12:01 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNo=60,IsDisplayed='Y' WHERE AD_Field_ID=200736
+;
+
+-- Oct 24, 2012 6:12:01 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNo=70,IsDisplayed='Y' WHERE AD_Field_ID=200747
+;
+
+-- Oct 24, 2012 6:12:01 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNo=80,IsDisplayed='Y' WHERE AD_Field_ID=200746
+;
+
+-- Oct 24, 2012 6:12:01 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNo=90,IsDisplayed='Y' WHERE AD_Field_ID=200741
+;
+
+-- Oct 24, 2012 6:13:43 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNoGrid=0,IsDisplayedGrid='N' WHERE AD_Field_ID=200737
+;
+
+-- Oct 24, 2012 6:13:43 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNoGrid=0,IsDisplayedGrid='N' WHERE AD_Field_ID=200733
+;
+
+-- Oct 24, 2012 6:13:43 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNoGrid=0,IsDisplayedGrid='N' WHERE AD_Field_ID=200738
+;
+
+-- Oct 24, 2012 6:13:43 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNoGrid=0,IsDisplayedGrid='N' WHERE AD_Field_ID=200740
+;
+
+-- Oct 24, 2012 6:13:43 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNoGrid=0,IsDisplayedGrid='N' WHERE AD_Field_ID=200745
+;
+
+-- Oct 24, 2012 6:13:43 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNoGrid=10,IsDisplayedGrid='Y' WHERE AD_Field_ID=200748
+;
+
+-- Oct 24, 2012 6:13:43 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNoGrid=20,IsDisplayedGrid='Y' WHERE AD_Field_ID=200747
+;
+
+-- Oct 24, 2012 6:13:43 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNoGrid=30,IsDisplayedGrid='Y' WHERE AD_Field_ID=200744
+;
+
+-- Oct 24, 2012 6:13:43 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNoGrid=40,IsDisplayedGrid='Y' WHERE AD_Field_ID=200739
+;
+
+-- Oct 24, 2012 6:13:43 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNoGrid=50,IsDisplayedGrid='Y' WHERE AD_Field_ID=200746
+;
+
+-- Oct 24, 2012 6:13:43 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNoGrid=60,IsDisplayedGrid='Y' WHERE AD_Field_ID=200741
+;
+
+-- Oct 24, 2012 6:13:43 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNoGrid=70,IsDisplayedGrid='Y' WHERE AD_Field_ID=200736
+;
+
+-- Oct 24, 2012 6:17:56 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Tab SET WhereClause='AD_ToolBarButton.AD_Tab_ID IS NULL',Updated=TO_DATE('2012-10-24 18:17:56','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=200002
+;
+
+-- Oct 24, 2012 9:04:04 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET ColumnSpan=2,Updated=TO_DATE('2012-10-24 21:04:04','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200738
+;
+
+-- Oct 24, 2012 9:04:16 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET XPosition=4, ColumnSpan=2,Updated=TO_DATE('2012-10-24 21:04:16','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200745
+;
+
+-- Oct 24, 2012 9:04:27 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET ColumnSpan=2,Updated=TO_DATE('2012-10-24 21:04:27','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200748
+;
+
+-- Oct 24, 2012 9:04:40 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET XPosition=4, ColumnSpan=2,Updated=TO_DATE('2012-10-24 21:04:40','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200744
+;
+
+-- Oct 24, 2012 9:04:51 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET ColumnSpan=2,Updated=TO_DATE('2012-10-24 21:04:51','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200739
+;
+
+-- Oct 24, 2012 9:05:00 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET XPosition=2, ColumnSpan=2,Updated=TO_DATE('2012-10-24 21:05:00','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200736
+;
+
+-- Oct 24, 2012 9:05:14 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET ColumnSpan=2,Updated=TO_DATE('2012-10-24 21:05:14','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200747
+;
+
+-- Oct 24, 2012 9:05:17 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET ColumnSpan=2,Updated=TO_DATE('2012-10-24 21:05:17','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200746
+;
+
+-- Oct 24, 2012 9:05:23 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET ColumnSpan=5, NumLines=3,Updated=TO_DATE('2012-10-24 21:05:23','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200741
+;
+
+-- Oct 24, 2012 9:06:12 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Tab SET SeqNo=80,Updated=TO_DATE('2012-10-24 21:06:12','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=115
+;
+
+-- Oct 24, 2012 9:06:17 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Tab SET SeqNo=90,Updated=TO_DATE('2012-10-24 21:06:17','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=200028
+;
+
+-- Oct 24, 2012 9:34:31 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Val_Rule SET Code='(((AD_ToolbarButton.Action=''@Action@'') OR (AD_ToolbarButton.Action||''@Action@''=''RW'' )) AND (coalesce(AD_ToolbarButton.AD_Tab_ID,0)=@AD_Tab_ID:0@))',Updated=TO_DATE('2012-10-24 21:34:31','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Val_Rule_ID=200011
+;
+
+-- Oct 27, 2012 10:19:50 AM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Field (SortNo,IsEncrypted,AD_Tab_ID,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,AD_Org_ID,Created,IsDisplayedGrid,SeqNoGrid,EntityType,AD_Client_ID,Description,IsDisplayed,IsFieldOnly,AD_Field_UU,CreatedBy,Updated,DisplayLength,DisplayLogic,Name,UpdatedBy,IsActive,XPosition,ColumnSpan,NumLines) VALUES (0,'N',200002,'N','N',200815,90,'Y',200753,'N','format := {expression} [{logic} {expression}]
+expression := @{context}@{operand}{value} or @{context}@{operand}{value}
+logic := {|}|{&}
+context := any global or window context
+value := strings or numbers
+logic operators := AND or OR with the previous result from left to right
+operand := eq{=}, gt{>}, le{<}, not{~^!}
+Examples:
+@AD_Table_ID@=14 | @Language@!GERGER
+@PriceLimit@>10 | @PriceList@>@PriceActual@
+@Name@>J
+Strings may be in single quotes (optional)',0,TO_DATE('2012-10-27 10:19:47','YYYY-MM-DD HH24:MI:SS'),'N',90,'D',0,'If the Field is displayed, the result determines if the field is actually displayed','Y','N','5091d500-3614-4ffb-8655-36f64d0b12be',100,TO_DATE('2012-10-27 10:19:47','YYYY-MM-DD HH24:MI:SS'),0,'@IsCustomization@=Y','Display Logic',100,'Y',1,5,3)
+;
+
+-- Oct 27, 2012 10:19:50 AM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Field_Trl_UU ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=200753 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID)
+;
+
+-- Oct 27, 2012 10:24:14 AM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Element SET Help='The OSGi service component name that implements the IAction interface for toolbar action', Name='Service Component Name', Description='The service component name that implements the interface for toolbar actions', PrintName='Service Component Name',Updated=TO_DATE('2012-10-27 10:24:14','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Element_ID=200018
+;
+
+-- Oct 27, 2012 10:24:14 AM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Element_Trl SET IsTranslated='N' WHERE AD_Element_ID=200018
+;
+
+-- Oct 27, 2012 10:24:14 AM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Column SET ColumnName='ActionClassName', Name='Service Component Name', Description='The service component name that implements the interface for toolbar actions', Help='The OSGi service component name that implements the IAction interface for toolbar action' WHERE AD_Element_ID=200018
+;
+
+-- Oct 27, 2012 10:24:15 AM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Process_Para SET ColumnName='ActionClassName', Name='Service Component Name', Description='The service component name that implements the interface for toolbar actions', Help='The OSGi service component name that implements the IAction interface for toolbar action', AD_Element_ID=200018 WHERE UPPER(ColumnName)='ACTIONCLASSNAME' AND IsCentrallyMaintained='Y' AND AD_Element_ID IS NULL
+;
+
+-- Oct 27, 2012 10:24:15 AM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Process_Para SET ColumnName='ActionClassName', Name='Service Component Name', Description='The service component name that implements the interface for toolbar actions', Help='The OSGi service component name that implements the IAction interface for toolbar action' WHERE AD_Element_ID=200018 AND IsCentrallyMaintained='Y'
+;
+
+-- Oct 27, 2012 10:24:15 AM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET Name='Service Component Name', Description='The service component name that implements the interface for toolbar actions', Help='The OSGi service component name that implements the IAction interface for toolbar action' WHERE AD_Column_ID IN (SELECT AD_Column_ID FROM AD_Column WHERE AD_Element_ID=200018) AND IsCentrallyMaintained='Y'
+;
+
+-- Oct 27, 2012 10:24:15 AM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_PrintFormatItem pi SET PrintName='Service Component Name', Name='Service Component Name' WHERE IsCentrallyMaintained='Y' AND EXISTS (SELECT * FROM AD_Column c WHERE c.AD_Column_ID=pi.AD_Column_ID AND c.AD_Element_ID=200018)
+;
+
+SELECT register_migration_script('948_IDEMPIERE-234.sql') FROM dual
+;
diff --git a/migration/360lts-release/postgresql/948_IDEMPIERE-234.sql b/migration/360lts-release/postgresql/948_IDEMPIERE-234.sql
new file mode 100644
index 0000000000..d936346a61
--- /dev/null
+++ b/migration/360lts-release/postgresql/948_IDEMPIERE-234.sql
@@ -0,0 +1,961 @@
+-- Oct 23, 2012 5:37:00 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET ColumnSpan=2,Updated=TO_TIMESTAMP('2012-10-23 17:37:00','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200068
+;
+
+-- Oct 23, 2012 5:42:57 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Window SET Description='Maintain toolbar button access rule', Name='Role Toolbar Button Access',Updated=TO_TIMESTAMP('2012-10-23 17:42:57','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Window_ID=200001
+;
+
+-- Oct 23, 2012 5:42:57 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Window_Trl SET IsTranslated='N' WHERE AD_Window_ID=200001
+;
+
+-- Oct 23, 2012 5:42:57 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Menu SET IsActive='Y', Name='Role Toolbar Button Access', Description='Maintain toolbar button access rule',Updated=TO_TIMESTAMP('2012-10-23 17:42:57','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Menu_ID=200001
+;
+
+-- Oct 23, 2012 5:42:57 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Menu_Trl SET IsTranslated='N' WHERE AD_Menu_ID=200001
+;
+
+-- Oct 23, 2012 5:44:11 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Table SET Description='Toolbar button access rule', Name='Toolbar Button Access',Updated=TO_TIMESTAMP('2012-10-23 17:44:11','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Table_ID=200004
+;
+
+-- Oct 23, 2012 5:44:11 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Table_Trl SET IsTranslated='N' WHERE AD_Table_ID=200004
+;
+
+-- Oct 23, 2012 5:45:05 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Column (Version,AD_Table_ID,EntityType,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsSyncDatabase,IsKey,AD_Element_ID,CreatedBy,Updated,AD_Org_ID,IsActive,IsAutocomplete,IsAllowLogging,Created,IsUpdateable,AD_Column_UU,IsAlwaysUpdateable,Help,IsAllowCopy,UpdatedBy,DefaultValue,IsEncrypted,ColumnName,Description,Name,AD_Client_ID,AD_Column_ID,SeqNoSelection,IsToolbarButton) VALUES (1,200004,'D','Y','N','N',0,'N',1,'N',20,'N','N',2079,100,TO_TIMESTAMP('2012-10-23 17:45:04','YYYY-MM-DD HH24:MI:SS'),0,'Y','N','Y',TO_TIMESTAMP('2012-10-23 17:45:04','YYYY-MM-DD HH24:MI:SS'),'N','28bc855d-3815-43ec-b3f6-d053ce1368a5','N','If selected (excluded), the role cannot access the data specified. If not selected (included), the role can ONLY access the data specified. Exclude items represent a negative list (i.e. you don''t have access to the listed items). Include items represent a positive list (i.e. you only have access to the listed items).
+ You would usually not mix Exclude and Include. If you have one include rule in your list, you would only have access to that item anyway.','Y',100,'Y','N','IsExclude','Exclude access to the data - if not selected Include access to the data','Exclude',0,200811,0,'N')
+;
+
+-- Oct 23, 2012 5:45:06 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Column_Trl (AD_Language,AD_Column_ID, Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Column_Trl_UU ) SELECT l.AD_Language,t.AD_Column_ID, t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Column t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Column_ID=200811 AND NOT EXISTS (SELECT * FROM AD_Column_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Column_ID=t.AD_Column_ID)
+;
+
+-- Oct 23, 2012 5:46:36 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Field (SortNo,IsEncrypted,AD_Tab_ID,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,UpdatedBy,AD_Org_ID,Created,AD_Client_ID,Help,CreatedBy,Updated,EntityType,IsDisplayed,IsFieldOnly,IsDisplayedGrid,SeqNoGrid,AD_Field_UU,DisplayLength,Description,Name,IsActive,XPosition,ColumnSpan,NumLines) VALUES (0,'N',200003,'N','N',200811,80,'Y',200730,'Y',100,0,TO_TIMESTAMP('2012-10-23 17:46:35','YYYY-MM-DD HH24:MI:SS'),0,'If selected (excluded), the role cannot access the data specified. If not selected (included), the role can ONLY access the data specified. Exclude items represent a negative list (i.e. you don''t have access to the listed items). Include items represent a positive list (i.e. you only have access to the listed items).
+ You would usually not mix Exclude and Include. If you have one include rule in your list, you would only have access to that item anyway.',100,TO_TIMESTAMP('2012-10-23 17:46:35','YYYY-MM-DD HH24:MI:SS'),'D','Y','N','Y',80,'94cefb8d-5e6f-453c-b133-7ab99e7928e4',0,'Exclude access to the data - if not selected Include access to the data','Exclude','Y',2,2,1)
+;
+
+-- Oct 23, 2012 5:46:37 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Field_Trl_UU ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=200730 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID)
+;
+
+-- Oct 23, 2012 5:46:50 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+ALTER TABLE AD_ToolBarButtonRestrict ADD COLUMN IsExclude CHAR(1) DEFAULT 'Y' CHECK (IsExclude IN ('Y','N')) NOT NULL
+;
+
+-- Oct 23, 2012 5:50:47 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Column SET MandatoryLogic='@#AD_Client_ID@>0',Updated=TO_TIMESTAMP('2012-10-23 17:50:47','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=200108
+;
+
+-- Oct 23, 2012 6:02:02 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Tab SET Name='Toolbar Button Access',Updated=TO_TIMESTAMP('2012-10-23 18:02:02','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=200003
+;
+
+-- Oct 23, 2012 6:03:14 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Column SET IsUpdateable='Y',Updated=TO_TIMESTAMP('2012-10-23 18:03:14','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=200108
+;
+
+-- Oct 23, 2012 6:03:20 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Column SET IsUpdateable='Y', IsToolbarButton='N',Updated=TO_TIMESTAMP('2012-10-23 18:03:20','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=200105
+;
+
+-- Oct 23, 2012 6:03:31 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Column SET IsUpdateable='Y', IsToolbarButton='N',Updated=TO_TIMESTAMP('2012-10-23 18:03:31','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=200111
+;
+
+-- Oct 23, 2012 6:14:02 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Table SET Name='Toolbar Button',Updated=TO_TIMESTAMP('2012-10-23 18:14:02','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Table_ID=200003
+;
+
+-- Oct 23, 2012 6:14:21 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Window SET Name='Toolbar Button',Updated=TO_TIMESTAMP('2012-10-23 18:14:21','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Window_ID=200000
+;
+
+-- Oct 23, 2012 6:14:21 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Menu SET IsActive='Y', Name='Toolbar Button', Description=NULL,Updated=TO_TIMESTAMP('2012-10-23 18:14:21','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Menu_ID=200000
+;
+
+-- Oct 23, 2012 6:19:16 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Val_Rule SET Code='AD_Ref_List.Value IN (''W'',''R'')', Name='AD_ToolBarButton Action - Window/Report',Updated=TO_TIMESTAMP('2012-10-23 18:19:16','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Val_Rule_ID=200002
+;
+
+-- Oct 23, 2012 6:19:26 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Column SET IsMandatory='Y',Updated=TO_TIMESTAMP('2012-10-23 18:19:26','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=200105
+;
+
+-- Oct 23, 2012 6:19:35 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO t_alter_column values('ad_toolbarbuttonrestrict','"action"','CHAR(1)',null,null)
+;
+
+-- Oct 23, 2012 6:19:35 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO t_alter_column values('ad_toolbarbuttonrestrict','"action"',null,'NOT NULL',null)
+;
+
+-- Oct 23, 2012 6:24:34 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Column (Version,AD_Table_ID,EntityType,AD_Reference_Value_ID,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsSyncDatabase,IsKey,AD_Element_ID,CreatedBy,Updated,AD_Org_ID,IsActive,IsAutocomplete,IsAllowLogging,Created,IsUpdateable,AD_Column_UU,IsAlwaysUpdateable,Help,IsAllowCopy,UpdatedBy,DefaultValue,AD_Val_Rule_ID,IsEncrypted,ColumnName,Description,Name,AD_Client_ID,AD_Column_ID,SeqNoSelection,IsToolbarButton) VALUES (1,200003,'D',104,'Y','N','N',0,'N',1,'N',17,'N','N',152,100,TO_TIMESTAMP('2012-10-23 18:24:33','YYYY-MM-DD HH24:MI:SS'),0,'Y','N','Y',TO_TIMESTAMP('2012-10-23 18:24:33','YYYY-MM-DD HH24:MI:SS'),'Y','bd152532-f402-4590-b889-02b79fee52b1','N','The Action field is a drop down list box which indicates the Action to be performed for this Item.','Y',100,'W',200002,'N','Action','Indicates the Action to be performed','Action',0,200812,0,'N')
+;
+
+-- Oct 23, 2012 6:24:34 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Column_Trl (AD_Language,AD_Column_ID, Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Column_Trl_UU ) SELECT l.AD_Language,t.AD_Column_ID, t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Column t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Column_ID=200812 AND NOT EXISTS (SELECT * FROM AD_Column_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Column_ID=t.AD_Column_ID)
+;
+
+-- Oct 23, 2012 6:24:46 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+ALTER TABLE AD_ToolBarButton ADD COLUMN "action" CHAR(1) DEFAULT 'W' NOT NULL
+;
+
+-- Oct 23, 2012 6:27:22 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Val_Rule (Code,Updated,UpdatedBy,Created,EntityType,Name,Type,CreatedBy,AD_Val_Rule_UU,AD_Client_ID,IsActive,AD_Org_ID,AD_Val_Rule_ID) VALUES ('(AD_ToolbarButton.Action=''@Action@'') OR (AD_ToolbarButton.Action||''@Action@''=''RW'' )',TO_TIMESTAMP('2012-10-23 18:27:20','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2012-10-23 18:27:20','YYYY-MM-DD HH24:MI:SS'),'D','AD_ToolbarButton of Action','S',100,'a6553b61-35ba-4bae-add1-6eeb6851d051',0,'Y',0,200011)
+;
+
+-- Oct 23, 2012 6:27:37 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Column SET AD_Val_Rule_ID=200011, IsToolbarButton='N',Updated=TO_TIMESTAMP('2012-10-23 18:27:37','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=200104
+;
+
+-- Oct 23, 2012 6:28:44 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Field (SortNo,IsEncrypted,AD_Tab_ID,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,UpdatedBy,AD_Org_ID,Created,AD_Client_ID,Help,CreatedBy,Updated,EntityType,IsDisplayed,IsFieldOnly,IsDisplayedGrid,SeqNoGrid,AD_Field_UU,DisplayLength,Description,Name,IsActive,XPosition,ColumnSpan,NumLines) VALUES (0,'N',200002,'N','N',200812,120,'Y',200731,'N',100,0,TO_TIMESTAMP('2012-10-23 18:28:43','YYYY-MM-DD HH24:MI:SS'),0,'The Action field is a drop down list box which indicates the Action to be performed for this Item.',100,TO_TIMESTAMP('2012-10-23 18:28:43','YYYY-MM-DD HH24:MI:SS'),'D','Y','N','Y',120,'fc97d18a-d3e0-4285-bc9c-bd9fb4f16a71',0,'Indicates the Action to be performed','Action','Y',1,2,1)
+;
+
+-- Oct 23, 2012 6:28:44 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Field_Trl_UU ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=200731 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID)
+;
+
+-- Oct 23, 2012 6:29:02 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNo=0,IsDisplayed='N' WHERE AD_Field_ID=200054
+;
+
+-- Oct 23, 2012 6:29:02 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNo=40,IsDisplayed='Y' WHERE AD_Field_ID=200731
+;
+
+-- Oct 23, 2012 6:29:02 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNo=50,IsDisplayed='Y' WHERE AD_Field_ID=200056
+;
+
+-- Oct 23, 2012 6:29:02 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNo=60,IsDisplayed='Y' WHERE AD_Field_ID=200057
+;
+
+-- Oct 23, 2012 6:29:02 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNo=70,IsDisplayed='Y' WHERE AD_Field_ID=200051
+;
+
+-- Oct 23, 2012 6:29:02 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNo=80,IsDisplayed='Y' WHERE AD_Field_ID=200052
+;
+
+-- Oct 23, 2012 6:29:02 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNo=90,IsDisplayed='Y' WHERE AD_Field_ID=200058
+;
+
+-- Oct 23, 2012 6:29:02 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNo=100,IsDisplayed='Y' WHERE AD_Field_ID=200059
+;
+
+-- Oct 23, 2012 6:29:02 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNo=110,IsDisplayed='Y' WHERE AD_Field_ID=200053
+;
+
+INSERT INTO t_alter_column values('ad_toolbarbutton','"classname"',null,'NULL',null)
+;
+
+UPDATE AD_ToolbarButton SET Classname=NULL WHERE Classname IS NOT NULL
+;
+
+-- Oct 24, 2012 4:40:17 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_ToolBarButton SET "action"='R',Updated=TO_TIMESTAMP('2012-10-24 16:40:17','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_ToolBarButton_ID=200059
+;
+
+-- Oct 24, 2012 4:40:20 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_ToolBarButton SET "action"='R',Updated=TO_TIMESTAMP('2012-10-24 16:40:20','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_ToolBarButton_ID=200060
+;
+
+-- Oct 24, 2012 4:40:25 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_ToolBarButton SET "action"='R',Updated=TO_TIMESTAMP('2012-10-24 16:40:25','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_ToolBarButton_ID=200061
+;
+
+-- Oct 24, 2012 4:40:31 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_ToolBarButton SET "action"='R',Updated=TO_TIMESTAMP('2012-10-24 16:40:31','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_ToolBarButton_ID=200062
+;
+
+-- Oct 24, 2012 4:40:36 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_ToolBarButton SET "action"='R',Updated=TO_TIMESTAMP('2012-10-24 16:40:36','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_ToolBarButton_ID=200063
+;
+
+-- Oct 24, 2012 4:40:41 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_ToolBarButton SET "action"='R',Updated=TO_TIMESTAMP('2012-10-24 16:40:41','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_ToolBarButton_ID=200064
+;
+
+-- Oct 24, 2012 4:43:25 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNoGrid=0,IsDisplayedGrid='N' WHERE AD_Field_ID=200054
+;
+
+-- Oct 24, 2012 4:43:25 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNoGrid=40,IsDisplayedGrid='Y' WHERE AD_Field_ID=200056
+;
+
+-- Oct 24, 2012 4:43:25 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNoGrid=50,IsDisplayedGrid='Y' WHERE AD_Field_ID=200057
+;
+
+-- Oct 24, 2012 4:43:25 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNoGrid=60,IsDisplayedGrid='Y' WHERE AD_Field_ID=200051
+;
+
+-- Oct 24, 2012 4:43:25 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNoGrid=70,IsDisplayedGrid='Y' WHERE AD_Field_ID=200052
+;
+
+-- Oct 24, 2012 4:43:25 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNoGrid=80,IsDisplayedGrid='Y' WHERE AD_Field_ID=200058
+;
+
+-- Oct 24, 2012 4:43:25 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNoGrid=90,IsDisplayedGrid='Y' WHERE AD_Field_ID=200059
+;
+
+-- Oct 24, 2012 4:43:25 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNoGrid=100,IsDisplayedGrid='Y' WHERE AD_Field_ID=200053
+;
+
+-- Oct 24, 2012 4:43:25 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNoGrid=110,IsDisplayedGrid='Y' WHERE AD_Field_ID=200731
+;
+
+-- Oct 24, 2012 4:44:36 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNoGrid=0,IsDisplayedGrid='N' WHERE AD_Field_ID=200052
+;
+
+-- Oct 24, 2012 4:44:36 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNoGrid=0,IsDisplayedGrid='N' WHERE AD_Field_ID=200058
+;
+
+-- Oct 24, 2012 4:44:36 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNoGrid=0,IsDisplayedGrid='N' WHERE AD_Field_ID=200059
+;
+
+-- Oct 24, 2012 4:44:36 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNoGrid=50,IsDisplayedGrid='Y' WHERE AD_Field_ID=200731
+;
+
+-- Oct 24, 2012 4:44:36 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNoGrid=60,IsDisplayedGrid='Y' WHERE AD_Field_ID=200057
+;
+
+-- Oct 24, 2012 4:44:36 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNoGrid=70,IsDisplayedGrid='Y' WHERE AD_Field_ID=200051
+;
+
+-- Oct 24, 2012 4:44:36 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNoGrid=80,IsDisplayedGrid='Y' WHERE AD_Field_ID=200053
+;
+
+-- Oct 24, 2012 4:45:48 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNo=0,IsDisplayed='N' WHERE AD_Field_ID=200052
+;
+
+-- Oct 24, 2012 4:45:48 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNo=0,IsDisplayed='N' WHERE AD_Field_ID=200058
+;
+
+-- Oct 24, 2012 4:45:48 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNo=0,IsDisplayed='N' WHERE AD_Field_ID=200059
+;
+
+-- Oct 24, 2012 4:45:48 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNo=80,IsDisplayed='Y' WHERE AD_Field_ID=200053
+;
+
+-- Oct 24, 2012 4:49:32 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET DisplayLogic='@Action@=R',Updated=TO_TIMESTAMP('2012-10-24 16:49:32','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200615
+;
+
+-- Oct 24, 2012 4:52:58 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET XPosition=1,Updated=TO_TIMESTAMP('2012-10-24 16:52:58','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200070
+;
+
+-- Oct 24, 2012 4:53:04 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET XPosition=1,Updated=TO_TIMESTAMP('2012-10-24 16:53:04','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200615
+;
+
+-- Oct 24, 2012 5:36:10 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Column SET IsActive='N',Updated=TO_TIMESTAMP('2012-10-24 17:36:10','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=200087
+;
+
+-- Oct 24, 2012 5:37:48 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Column (IsSyncDatabase,IsEncrypted,Version,AD_Table_ID,EntityType,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsKey,AD_Element_ID,Created,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,IsAlwaysUpdateable,ColumnName,Description,Help,Name,IsAllowCopy,IsActive,CreatedBy,Updated,AD_Org_ID,UpdatedBy,AD_Client_ID,AD_Column_ID,IsToolbarButton,SeqNoSelection) VALUES ('N','N',1,200003,'D','N','N','N',0,'N',10,'N',30,'N',125,TO_TIMESTAMP('2012-10-24 17:37:46','YYYY-MM-DD HH24:MI:SS'),'N','Y','0759632a-25f9-48e5-a6e4-13214fa8d57c','Y','N','AD_Tab_ID','Tab within a Window','The Tab indicates a tab that displays within a window.','Tab','Y','Y',100,TO_TIMESTAMP('2012-10-24 17:37:46','YYYY-MM-DD HH24:MI:SS'),0,100,0,200813,'N',0)
+;
+
+-- Oct 24, 2012 5:37:48 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Column_Trl (AD_Language,AD_Column_ID, Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Column_Trl_UU ) SELECT l.AD_Language,t.AD_Column_ID, t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Column t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Column_ID=200813 AND NOT EXISTS (SELECT * FROM AD_Column_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Column_ID=t.AD_Column_ID)
+;
+
+-- Oct 24, 2012 5:38:55 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Column (IsSyncDatabase,IsEncrypted,Version,AD_Table_ID,EntityType,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsKey,AD_Element_ID,Created,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,IsAlwaysUpdateable,ColumnName,Description,Help,Name,IsAllowCopy,IsActive,CreatedBy,Updated,AD_Org_ID,UpdatedBy,AD_Client_ID,AD_Column_ID,IsToolbarButton,SeqNoSelection) VALUES ('N','N',1,200003,'D','N','N','N',0,'N',10,'N',19,'N',117,TO_TIMESTAMP('2012-10-24 17:38:53','YYYY-MM-DD HH24:MI:SS'),'N','Y','208abde6-b52c-4d25-9051-36e139e6214a','Y','N','AD_Process_ID','Process or Report','The Process field identifies a unique Process or Report in the system.','Process','Y','Y',100,TO_TIMESTAMP('2012-10-24 17:38:53','YYYY-MM-DD HH24:MI:SS'),0,100,0,200814,'N',0)
+;
+
+-- Oct 24, 2012 5:38:55 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Column_Trl (AD_Language,AD_Column_ID, Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Column_Trl_UU ) SELECT l.AD_Language,t.AD_Column_ID, t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Column t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Column_ID=200814 AND NOT EXISTS (SELECT * FROM AD_Column_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Column_ID=t.AD_Column_ID)
+;
+
+-- Oct 24, 2012 5:41:04 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Column (IsSyncDatabase,IsEncrypted,Version,AD_Table_ID,EntityType,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsKey,AD_Element_ID,Created,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,IsAlwaysUpdateable,ColumnName,Description,Help,Name,IsAllowCopy,IsActive,CreatedBy,Updated,AD_Org_ID,UpdatedBy,AD_Client_ID,AD_Column_ID,IsToolbarButton,SeqNoSelection) VALUES ('N','N',1,200003,'D','N','N','N',0,'N',2000,'N',14,'N',283,TO_TIMESTAMP('2012-10-24 17:41:03','YYYY-MM-DD HH24:MI:SS'),'N','Y','f55fe6cb-34f8-4291-a879-44f8f7b9d7cf','Y','N','DisplayLogic','If the Field is displayed, the result determines if the field is actually displayed','format := {expression} [{logic} {expression}]
+expression := @{context}@{operand}{value} or @{context}@{operand}{value}
+logic := {|}|{&}
+context := any global or window context
+value := strings or numbers
+logic operators := AND or OR with the previous result from left to right
+operand := eq{=}, gt{>}, le{<}, not{~^!}
+Examples:
+@AD_Table_ID@=14 | @Language@!GERGER
+@PriceLimit@>10 | @PriceList@>@PriceActual@
+@Name@>J
+Strings may be in single quotes (optional)','Display Logic','Y','Y',100,TO_TIMESTAMP('2012-10-24 17:41:03','YYYY-MM-DD HH24:MI:SS'),0,100,0,200815,'N',0)
+;
+
+-- Oct 24, 2012 5:41:04 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Column_Trl (AD_Language,AD_Column_ID, Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Column_Trl_UU ) SELECT l.AD_Language,t.AD_Column_ID, t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Column t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Column_ID=200815 AND NOT EXISTS (SELECT * FROM AD_Column_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Column_ID=t.AD_Column_ID)
+;
+
+-- Oct 24, 2012 5:50:23 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Column (IsSyncDatabase,IsEncrypted,Version,AD_Table_ID,EntityType,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsKey,AD_Element_ID,Created,IsAutocomplete,IsAllowLogging,AD_Column_UU,DefaultValue,IsUpdateable,IsAlwaysUpdateable,ColumnName,Description,Help,Name,IsAllowCopy,IsActive,CreatedBy,Updated,AD_Org_ID,UpdatedBy,AD_Client_ID,AD_Column_ID,IsToolbarButton,SeqNoSelection) VALUES ('N','N',1,200003,'D','N','N','N',0,'N',10,'N',11,'N',566,TO_TIMESTAMP('2012-10-24 17:50:22','YYYY-MM-DD HH24:MI:SS'),'N','Y','093d28e9-b81f-4e86-8e43-fcadcf708af6','@SQL=SELECT NVL(MAX(SeqNo),0)+10 AS DefaultValue FROM AD_ToolbarButton WHERE AD_Tab_ID=@AD_Tab_ID@','Y','N','SeqNo','Method of ordering records; lowest number comes first','The Sequence indicates the order of records','Sequence','Y','Y',100,TO_TIMESTAMP('2012-10-24 17:50:22','YYYY-MM-DD HH24:MI:SS'),0,100,0,200816,'N',0)
+;
+
+-- Oct 24, 2012 5:50:23 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Column_Trl (AD_Language,AD_Column_ID, Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Column_Trl_UU ) SELECT l.AD_Language,t.AD_Column_ID, t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Column t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Column_ID=200816 AND NOT EXISTS (SELECT * FROM AD_Column_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Column_ID=t.AD_Column_ID)
+;
+
+-- Oct 24, 2012 5:50:57 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+ALTER TABLE AD_ToolBarButton ADD COLUMN AD_Tab_ID NUMERIC(10) DEFAULT NULL
+;
+
+-- Oct 24, 2012 5:51:08 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+ALTER TABLE AD_ToolBarButton ADD COLUMN AD_Process_ID NUMERIC(10) DEFAULT NULL
+;
+
+-- Oct 24, 2012 5:51:28 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+ALTER TABLE AD_ToolBarButton ADD COLUMN DisplayLogic VARCHAR(2000) DEFAULT NULL
+;
+
+-- Oct 24, 2012 5:51:38 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+ALTER TABLE AD_ToolBarButton ADD COLUMN SeqNo NUMERIC(10) DEFAULT NULL
+;
+
+-- Oct 24, 2012 5:54:46 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Column (IsSyncDatabase,IsEncrypted,Version,AD_Table_ID,EntityType,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,AD_Val_Rule_ID,IsKey,AD_Element_ID,Created,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,IsAlwaysUpdateable,ColumnName,Description,Help,Name,IsAllowCopy,IsActive,CreatedBy,Updated,AD_Org_ID,UpdatedBy,AD_Client_ID,AD_Column_ID,IsToolbarButton,SeqNoSelection) VALUES ('N','N',1,200004,'D','N','N','N',0,'N',10,'N',19,163,'N',125,TO_TIMESTAMP('2012-10-24 17:54:45','YYYY-MM-DD HH24:MI:SS'),'N','Y','16e082c5-c744-4f85-8a3a-f139690521af','Y','N','AD_Tab_ID','Tab within a Window','The Tab indicates a tab that displays within a window.','Tab','Y','Y',100,TO_TIMESTAMP('2012-10-24 17:54:45','YYYY-MM-DD HH24:MI:SS'),0,100,0,200817,'N',0)
+;
+
+-- Oct 24, 2012 5:54:46 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Column_Trl (AD_Language,AD_Column_ID, Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Column_Trl_UU ) SELECT l.AD_Language,t.AD_Column_ID, t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Column t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Column_ID=200817 AND NOT EXISTS (SELECT * FROM AD_Column_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Column_ID=t.AD_Column_ID)
+;
+
+-- Oct 24, 2012 5:54:53 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+ALTER TABLE AD_ToolBarButtonRestrict ADD COLUMN AD_Tab_ID NUMERIC(10) DEFAULT NULL
+;
+
+-- Oct 24, 2012 5:58:34 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Field (SortNo,IsEncrypted,AD_Tab_ID,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,AD_Org_ID,Created,IsDisplayedGrid,SeqNoGrid,EntityType,AD_Client_ID,Description,IsDisplayed,IsFieldOnly,AD_Field_UU,CreatedBy,Updated,DisplayLength,DisplayLogic,Name,UpdatedBy,IsActive,XPosition,ColumnSpan,NumLines) VALUES (0,'N',200003,'N','N',200817,90,'Y',200732,'N','The Tab indicates a tab that displays within a window.',0,TO_TIMESTAMP('2012-10-24 17:58:33','YYYY-MM-DD HH24:MI:SS'),'N',90,'D',0,'Tab within a Window','Y','N','0ba360c9-e34d-45a8-a5ff-0dbaf222f82c',100,TO_TIMESTAMP('2012-10-24 17:58:33','YYYY-MM-DD HH24:MI:SS'),0,'@Action@=W','Tab',100,'Y',4,2,1)
+;
+
+-- Oct 24, 2012 5:58:34 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Field_Trl_UU ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=200732 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID)
+;
+
+-- Oct 24, 2012 5:59:09 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNo=70,IsDisplayed='Y' WHERE AD_Field_ID=200070
+;
+
+-- Oct 24, 2012 5:59:09 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNo=80,IsDisplayed='Y' WHERE AD_Field_ID=200732
+;
+
+-- Oct 24, 2012 5:59:09 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNo=90,IsDisplayed='Y' WHERE AD_Field_ID=200068
+;
+
+-- Oct 24, 2012 5:59:09 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNo=100,IsDisplayed='Y' WHERE AD_Field_ID=200730
+;
+
+-- Oct 24, 2012 6:01:15 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Val_Rule SET Code='((AD_ToolbarButton.Action=''@Action@'') OR (AD_ToolbarButton.Action||''@Action@''=''RW'' )) AND (AD_ToolbarButton.AD_Tab_ID IS NULL OR AD_ToolbarButton.AD_Tab_ID=@AD_Tab_ID@))',Updated=TO_TIMESTAMP('2012-10-24 18:01:15','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Val_Rule_ID=200011
+;
+
+-- Oct 24, 2012 6:03:27 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Tab SET SeqNo=90,Updated=TO_TIMESTAMP('2012-10-24 18:03:27','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=115
+;
+
+-- Oct 24, 2012 6:05:49 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Tab (IsSortTab,ImportFields,Processing,AD_Window_ID,SeqNo,AD_Table_ID,HasTree,IsInfoTab,AD_Column_ID,AD_Client_ID,IsInsertRecord,IsAdvancedTab,TabLevel,AD_Tab_UU,EntityType,IsReadOnly,AD_Org_ID,Created,CreatedBy,Updated,Name,OrderByClause,IsSingleRow,IsTranslationTab,UpdatedBy,IsActive,AD_Tab_ID) VALUES ('N','N','N',102,80,200003,'N','N',200813,0,'Y','N',2,'b67bbfa7-d919-431f-88e0-74bf410c321d','D','N',0,TO_TIMESTAMP('2012-10-24 18:05:48','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2012-10-24 18:05:48','YYYY-MM-DD HH24:MI:SS'),'Toolbar Button','SeqNo','N','N',100,'Y',200028)
+;
+
+-- Oct 24, 2012 6:05:50 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Tab_Trl (AD_Language,AD_Tab_ID, CommitWarning,Help,Name,Description, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Tab_Trl_UU ) SELECT l.AD_Language,t.AD_Tab_ID, t.CommitWarning,t.Help,t.Name,t.Description, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Tab t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Tab_ID=200028 AND NOT EXISTS (SELECT * FROM AD_Tab_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Tab_ID=t.AD_Tab_ID)
+;
+
+-- Oct 24, 2012 6:06:58 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,AD_Org_ID,Created,EntityType,AD_Client_ID,Description,IsDisplayed,IsFieldOnly,AD_Field_UU,CreatedBy,Updated,DisplayLength,Name,UpdatedBy,IsActive) VALUES ('N',200028,'N','N',200812,'Y',200733,'N','The Action field is a drop down list box which indicates the Action to be performed for this Item.',0,TO_TIMESTAMP('2012-10-24 18:06:57','YYYY-MM-DD HH24:MI:SS'),'D',0,'Indicates the Action to be performed','Y','N','431eb0bc-d764-4a77-843d-537ea5b0178e',100,TO_TIMESTAMP('2012-10-24 18:06:57','YYYY-MM-DD HH24:MI:SS'),1,'Action',100,'Y')
+;
+
+-- Oct 24, 2012 6:06:58 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Field_Trl_UU ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=200733 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID)
+;
+
+-- Oct 24, 2012 6:06:59 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,AD_Org_ID,Created,EntityType,AD_Client_ID,Description,IsDisplayed,IsFieldOnly,AD_Field_UU,CreatedBy,Updated,DisplayLength,Name,UpdatedBy,IsActive) VALUES ('N',200028,'N','N',200095,'Y',200734,'N',0,TO_TIMESTAMP('2012-10-24 18:06:58','YYYY-MM-DD HH24:MI:SS'),'D',0,'The class name that implements the interface for toolbar actions','Y','N','6420886d-cd75-4159-a1ca-eeae6d3309d7',100,TO_TIMESTAMP('2012-10-24 18:06:58','YYYY-MM-DD HH24:MI:SS'),255,'Action Class Name',100,'Y')
+;
+
+-- Oct 24, 2012 6:06:59 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Field_Trl_UU ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=200734 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID)
+;
+
+-- Oct 24, 2012 6:06:59 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,AD_Org_ID,Created,EntityType,AD_Client_ID,Description,IsDisplayed,IsFieldOnly,AD_Field_UU,CreatedBy,Updated,DisplayLength,Name,UpdatedBy,IsActive) VALUES ('N',200028,'N','N',200096,'Y',200735,'N','Used to get the corresponding message and Icon name prefix',0,TO_TIMESTAMP('2012-10-24 18:06:59','YYYY-MM-DD HH24:MI:SS'),'D',0,'Action name on the toolbar','Y','N','944ffe4d-5a59-4352-99ef-2b6d0349932f',100,TO_TIMESTAMP('2012-10-24 18:06:59','YYYY-MM-DD HH24:MI:SS'),60,'Action Name',100,'Y')
+;
+
+-- Oct 24, 2012 6:06:59 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Field_Trl_UU ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=200735 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID)
+;
+
+-- Oct 24, 2012 6:07:00 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,AD_Org_ID,Created,EntityType,AD_Client_ID,Description,IsDisplayed,IsFieldOnly,AD_Field_UU,CreatedBy,Updated,DisplayLength,Name,UpdatedBy,IsActive) VALUES ('N',200028,'N','N',200089,'Y',200736,'N','There are two methods of making records unavailable in the system: One is to delete the record, the other is to de-activate the record. A de-activated record is not available for selection, but available for reports.
+There are two reasons for de-activating and not deleting records:
+(1) The system requires the record for audit purposes.
+(2) The record is referenced by other records. E.g., you cannot delete a Business Partner, if there are invoices for this partner record existing. You de-activate the Business Partner and prevent that this record is used for future entries.',0,TO_TIMESTAMP('2012-10-24 18:06:59','YYYY-MM-DD HH24:MI:SS'),'D',0,'The record is active in the system','Y','N','2ed0ef54-e204-4b18-bafa-4f9b8dfb68c6',100,TO_TIMESTAMP('2012-10-24 18:06:59','YYYY-MM-DD HH24:MI:SS'),1,'Active',100,'Y')
+;
+
+-- Oct 24, 2012 6:07:00 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Field_Trl_UU ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=200736 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID)
+;
+
+-- Oct 24, 2012 6:07:01 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,AD_Org_ID,Created,EntityType,AD_Client_ID,IsDisplayed,IsFieldOnly,AD_Field_UU,CreatedBy,Updated,DisplayLength,Name,UpdatedBy,IsActive) VALUES ('N',200028,'N','N',200204,'Y',200737,'N',0,TO_TIMESTAMP('2012-10-24 18:07:00','YYYY-MM-DD HH24:MI:SS'),'D',0,'Y','N','82384725-b699-4676-9bf9-f41018683484',100,TO_TIMESTAMP('2012-10-24 18:07:00','YYYY-MM-DD HH24:MI:SS'),36,'AD_ToolBarButton_UU',100,'Y')
+;
+
+-- Oct 24, 2012 6:07:01 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Field_Trl_UU ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=200737 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID)
+;
+
+-- Oct 24, 2012 6:07:02 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,AD_Org_ID,Created,EntityType,AD_Client_ID,Description,IsDisplayed,IsFieldOnly,AD_Field_UU,CreatedBy,Updated,DisplayLength,Name,UpdatedBy,IsActive) VALUES ('N',200028,'N','N',200083,'Y',200738,'N','A Client is a company or a legal entity. You cannot share data between Clients. Tenant is a synonym for Client.',0,TO_TIMESTAMP('2012-10-24 18:07:01','YYYY-MM-DD HH24:MI:SS'),'D',0,'Client/Tenant for this installation.','Y','N','f70ffbf9-81c6-4760-bf65-662157d15d11',100,TO_TIMESTAMP('2012-10-24 18:07:01','YYYY-MM-DD HH24:MI:SS'),22,'Client',100,'Y')
+;
+
+-- Oct 24, 2012 6:07:02 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Field_Trl_UU ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=200738 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID)
+;
+
+-- Oct 24, 2012 6:07:03 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,AD_Org_ID,Created,EntityType,AD_Client_ID,IsDisplayed,IsFieldOnly,AD_Field_UU,CreatedBy,Updated,DisplayLength,Name,UpdatedBy,IsActive) VALUES ('N',200028,'N','N',200088,'Y',200739,'N',0,TO_TIMESTAMP('2012-10-24 18:07:02','YYYY-MM-DD HH24:MI:SS'),'D',0,'Y','N','f4d110db-ca5e-475a-9d2c-a2a15df8e228',100,TO_TIMESTAMP('2012-10-24 18:07:02','YYYY-MM-DD HH24:MI:SS'),255,'Component Name',100,'Y')
+;
+
+-- Oct 24, 2012 6:07:03 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Field_Trl_UU ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=200739 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID)
+;
+
+-- Oct 24, 2012 6:07:04 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,AD_Org_ID,Created,EntityType,AD_Client_ID,Description,IsDisplayed,IsFieldOnly,AD_Field_UU,CreatedBy,Updated,DisplayLength,Name,UpdatedBy,IsActive) VALUES ('N',200028,'N','N',200094,'Y',200740,'N','The migration "resets" the system to the current/original setting. If selected you can save the customization and re-apply it. Please note that you need to check, if your customization has no negative side effect in the new release.',0,TO_TIMESTAMP('2012-10-24 18:07:03','YYYY-MM-DD HH24:MI:SS'),'D',0,'The change is a customization of the data dictionary and can be applied after Migration','Y','N','5c33c342-0211-4534-97bb-8fe4187b4d96',100,TO_TIMESTAMP('2012-10-24 18:07:03','YYYY-MM-DD HH24:MI:SS'),1,'Customization',100,'Y')
+;
+
+-- Oct 24, 2012 6:07:04 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Field_Trl_UU ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=200740 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID)
+;
+
+-- Oct 24, 2012 6:07:05 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,AD_Org_ID,Created,EntityType,AD_Client_ID,Description,IsDisplayed,IsFieldOnly,AD_Field_UU,CreatedBy,Updated,DisplayLength,Name,UpdatedBy,IsActive) VALUES ('N',200028,'N','N',200815,'Y',200741,'N','format := {expression} [{logic} {expression}]
+expression := @{context}@{operand}{value} or @{context}@{operand}{value}
+logic := {|}|{&}
+context := any global or window context
+value := strings or numbers
+logic operators := AND or OR with the previous result from left to right
+operand := eq{=}, gt{>}, le{<}, not{~^!}
+Examples:
+@AD_Table_ID@=14 | @Language@!GERGER
+@PriceLimit@>10 | @PriceList@>@PriceActual@
+@Name@>J
+Strings may be in single quotes (optional)',0,TO_TIMESTAMP('2012-10-24 18:07:04','YYYY-MM-DD HH24:MI:SS'),'D',0,'If the Field is displayed, the result determines if the field is actually displayed','Y','N','87d35c66-a9bc-4ce4-9510-4d639edf144e',100,TO_TIMESTAMP('2012-10-24 18:07:04','YYYY-MM-DD HH24:MI:SS'),2000,'Display Logic',100,'Y')
+;
+
+-- Oct 24, 2012 6:07:05 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Field_Trl_UU ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=200741 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID)
+;
+
+-- Oct 24, 2012 6:07:06 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,AD_Org_ID,Created,EntityType,AD_Client_ID,Description,IsDisplayed,IsFieldOnly,AD_Field_UU,CreatedBy,Updated,DisplayLength,Name,UpdatedBy,IsActive) VALUES ('N',200028,'N','N',200097,'Y',200742,'N',0,TO_TIMESTAMP('2012-10-24 18:07:05','YYYY-MM-DD HH24:MI:SS'),'D',0,'KeyCode for shortcuts','Y','N','105f662c-4c38-4efc-b00f-f092337ba9ee',100,TO_TIMESTAMP('2012-10-24 18:07:05','YYYY-MM-DD HH24:MI:SS'),10,'KeyCode',100,'Y')
+;
+
+-- Oct 24, 2012 6:07:06 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Field_Trl_UU ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=200742 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID)
+;
+
+-- Oct 24, 2012 6:07:07 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,AD_Org_ID,Created,EntityType,AD_Client_ID,Description,IsDisplayed,IsFieldOnly,AD_Field_UU,CreatedBy,Updated,DisplayLength,Name,UpdatedBy,IsActive) VALUES ('N',200028,'N','N',200098,'Y',200743,'N',0,TO_TIMESTAMP('2012-10-24 18:07:06','YYYY-MM-DD HH24:MI:SS'),'D',0,'Keystroke Modifiers for shortcuts','Y','N','dc6e02fe-97c8-40ca-bca7-ca52b0798401',100,TO_TIMESTAMP('2012-10-24 18:07:06','YYYY-MM-DD HH24:MI:SS'),10,'Keystroke Modifiers',100,'Y')
+;
+
+-- Oct 24, 2012 6:07:07 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Field_Trl_UU ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=200743 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID)
+;
+
+-- Oct 24, 2012 6:07:07 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,AD_Org_ID,Created,EntityType,AD_Client_ID,Description,IsDisplayed,IsFieldOnly,AD_Field_UU,CreatedBy,Updated,DisplayLength,Name,UpdatedBy,IsActive) VALUES ('N',200028,'N','N',200091,'Y',200744,'N','The name of an entity (record) is used as an default search option in addition to the search key. The name is up to 60 characters in length.',0,TO_TIMESTAMP('2012-10-24 18:07:07','YYYY-MM-DD HH24:MI:SS'),'D',0,'Alphanumeric identifier of the entity','Y','N','4ba69d5b-69bc-4162-9aa2-0bcd7064ae4d',100,TO_TIMESTAMP('2012-10-24 18:07:07','YYYY-MM-DD HH24:MI:SS'),60,'Name',100,'Y')
+;
+
+-- Oct 24, 2012 6:07:07 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Field_Trl_UU ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=200744 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID)
+;
+
+-- Oct 24, 2012 6:07:08 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,AD_Org_ID,Created,EntityType,AD_Client_ID,Description,IsDisplayed,IsFieldOnly,AD_Field_UU,CreatedBy,Updated,DisplayLength,Name,UpdatedBy,IsActive) VALUES ('N',200028,'N','N',200084,'Y',200745,'N','An organization is a unit of your client or legal entity - examples are store, department. You can share data between organizations.',0,TO_TIMESTAMP('2012-10-24 18:07:07','YYYY-MM-DD HH24:MI:SS'),'D',0,'Organizational entity within client','Y','N','4e365917-a396-4928-a6b7-c861055c9f78',100,TO_TIMESTAMP('2012-10-24 18:07:07','YYYY-MM-DD HH24:MI:SS'),22,'Organization',100,'Y')
+;
+
+-- Oct 24, 2012 6:07:08 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Field_Trl_UU ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=200745 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID)
+;
+
+-- Oct 24, 2012 6:07:09 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,AD_Org_ID,Created,EntityType,AD_Client_ID,Description,IsDisplayed,IsFieldOnly,AD_Field_UU,CreatedBy,Updated,DisplayLength,Name,UpdatedBy,IsActive) VALUES ('N',200028,'N','N',200814,'Y',200746,'N','The Process field identifies a unique Process or Report in the system.',0,TO_TIMESTAMP('2012-10-24 18:07:08','YYYY-MM-DD HH24:MI:SS'),'D',0,'Process or Report','Y','N','42794be2-2e7c-42cc-924d-4da8314a24fb',100,TO_TIMESTAMP('2012-10-24 18:07:08','YYYY-MM-DD HH24:MI:SS'),10,'Process',100,'Y')
+;
+
+-- Oct 24, 2012 6:07:09 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Field_Trl_UU ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=200746 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID)
+;
+
+-- Oct 24, 2012 6:07:10 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,AD_Org_ID,Created,EntityType,AD_Client_ID,Description,IsDisplayed,IsFieldOnly,AD_Field_UU,CreatedBy,Updated,DisplayLength,Name,UpdatedBy,IsActive) VALUES ('N',200028,'N','N',200816,'Y',200747,'N','The Sequence indicates the order of records',0,TO_TIMESTAMP('2012-10-24 18:07:09','YYYY-MM-DD HH24:MI:SS'),'D',0,'Method of ordering records; lowest number comes first','Y','N','0f9a9af3-8f38-4f44-88ff-13efca819a8a',100,TO_TIMESTAMP('2012-10-24 18:07:09','YYYY-MM-DD HH24:MI:SS'),10,'Sequence',100,'Y')
+;
+
+-- Oct 24, 2012 6:07:10 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Field_Trl_UU ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=200747 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID)
+;
+
+-- Oct 24, 2012 6:07:11 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,AD_Org_ID,Created,EntityType,AD_Client_ID,Description,IsDisplayed,IsFieldOnly,AD_Field_UU,CreatedBy,Updated,DisplayLength,Name,UpdatedBy,IsActive) VALUES ('N',200028,'N','N',200813,'Y',200748,'N','The Tab indicates a tab that displays within a window.',0,TO_TIMESTAMP('2012-10-24 18:07:10','YYYY-MM-DD HH24:MI:SS'),'D',0,'Tab within a Window','Y','N','68a5b882-5d9c-4a92-99d1-e13473944b8f',100,TO_TIMESTAMP('2012-10-24 18:07:10','YYYY-MM-DD HH24:MI:SS'),10,'Tab',100,'Y')
+;
+
+-- Oct 24, 2012 6:07:11 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Field_Trl_UU ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=200748 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID)
+;
+
+-- Oct 24, 2012 6:07:12 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,AD_Org_ID,Created,IsDisplayedGrid,EntityType,AD_Client_ID,IsDisplayed,IsFieldOnly,AD_Field_UU,CreatedBy,Updated,DisplayLength,Name,UpdatedBy,IsActive) VALUES ('N',200028,'N','N',200090,'Y',200749,'N',0,TO_TIMESTAMP('2012-10-24 18:07:11','YYYY-MM-DD HH24:MI:SS'),'N','D',0,'N','N','ec7e1b7d-2ae5-4214-8465-97d8628b9ac5',100,TO_TIMESTAMP('2012-10-24 18:07:11','YYYY-MM-DD HH24:MI:SS'),22,'ToolBar Button',100,'Y')
+;
+
+-- Oct 24, 2012 6:07:12 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Field_Trl_UU ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=200749 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID)
+;
+
+-- Oct 24, 2012 6:07:44 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+DELETE FROM AD_Field_Trl WHERE AD_Field_ID=200734
+;
+
+-- Oct 24, 2012 6:07:44 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+DELETE FROM AD_Field WHERE AD_Field_ID=200734
+;
+
+-- Oct 24, 2012 6:07:56 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+DELETE FROM AD_Field_Trl WHERE AD_Field_ID=200735
+;
+
+-- Oct 24, 2012 6:07:56 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+DELETE FROM AD_Field WHERE AD_Field_ID=200735
+;
+
+-- Oct 24, 2012 6:08:15 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+DELETE FROM AD_Field_Trl WHERE AD_Field_ID=200742
+;
+
+-- Oct 24, 2012 6:08:15 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+DELETE FROM AD_Field WHERE AD_Field_ID=200742
+;
+
+-- Oct 24, 2012 6:08:21 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+DELETE FROM AD_Field_Trl WHERE AD_Field_ID=200743
+;
+
+-- Oct 24, 2012 6:08:21 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+DELETE FROM AD_Field WHERE AD_Field_ID=200743
+;
+
+-- Oct 24, 2012 6:12:01 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNo=0,IsDisplayed='N' WHERE AD_Field_ID=200737
+;
+
+-- Oct 24, 2012 6:12:01 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNo=0,IsDisplayed='N' WHERE AD_Field_ID=200733
+;
+
+-- Oct 24, 2012 6:12:01 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNo=0,IsDisplayed='N' WHERE AD_Field_ID=200740
+;
+
+-- Oct 24, 2012 6:12:01 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNo=10,IsDisplayed='Y' WHERE AD_Field_ID=200738
+;
+
+-- Oct 24, 2012 6:12:01 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNo=20,IsDisplayed='Y' WHERE AD_Field_ID=200745
+;
+
+-- Oct 24, 2012 6:12:01 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNo=30,IsDisplayed='Y' WHERE AD_Field_ID=200748
+;
+
+-- Oct 24, 2012 6:12:01 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNo=40,IsDisplayed='Y' WHERE AD_Field_ID=200744
+;
+
+-- Oct 24, 2012 6:12:01 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNo=50,IsDisplayed='Y' WHERE AD_Field_ID=200739
+;
+
+-- Oct 24, 2012 6:12:01 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNo=60,IsDisplayed='Y' WHERE AD_Field_ID=200736
+;
+
+-- Oct 24, 2012 6:12:01 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNo=70,IsDisplayed='Y' WHERE AD_Field_ID=200747
+;
+
+-- Oct 24, 2012 6:12:01 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNo=80,IsDisplayed='Y' WHERE AD_Field_ID=200746
+;
+
+-- Oct 24, 2012 6:12:01 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNo=90,IsDisplayed='Y' WHERE AD_Field_ID=200741
+;
+
+-- Oct 24, 2012 6:13:43 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNoGrid=0,IsDisplayedGrid='N' WHERE AD_Field_ID=200737
+;
+
+-- Oct 24, 2012 6:13:43 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNoGrid=0,IsDisplayedGrid='N' WHERE AD_Field_ID=200733
+;
+
+-- Oct 24, 2012 6:13:43 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNoGrid=0,IsDisplayedGrid='N' WHERE AD_Field_ID=200738
+;
+
+-- Oct 24, 2012 6:13:43 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNoGrid=0,IsDisplayedGrid='N' WHERE AD_Field_ID=200740
+;
+
+-- Oct 24, 2012 6:13:43 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNoGrid=0,IsDisplayedGrid='N' WHERE AD_Field_ID=200745
+;
+
+-- Oct 24, 2012 6:13:43 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNoGrid=10,IsDisplayedGrid='Y' WHERE AD_Field_ID=200748
+;
+
+-- Oct 24, 2012 6:13:43 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNoGrid=20,IsDisplayedGrid='Y' WHERE AD_Field_ID=200747
+;
+
+-- Oct 24, 2012 6:13:43 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNoGrid=30,IsDisplayedGrid='Y' WHERE AD_Field_ID=200744
+;
+
+-- Oct 24, 2012 6:13:43 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNoGrid=40,IsDisplayedGrid='Y' WHERE AD_Field_ID=200739
+;
+
+-- Oct 24, 2012 6:13:43 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNoGrid=50,IsDisplayedGrid='Y' WHERE AD_Field_ID=200746
+;
+
+-- Oct 24, 2012 6:13:43 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNoGrid=60,IsDisplayedGrid='Y' WHERE AD_Field_ID=200741
+;
+
+-- Oct 24, 2012 6:13:43 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET SeqNoGrid=70,IsDisplayedGrid='Y' WHERE AD_Field_ID=200736
+;
+
+-- Oct 24, 2012 6:17:56 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Tab SET WhereClause='AD_ToolBarButton.AD_Tab_ID IS NULL',Updated=TO_TIMESTAMP('2012-10-24 18:17:56','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=200002
+;
+
+-- Oct 24, 2012 9:04:04 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET ColumnSpan=2,Updated=TO_TIMESTAMP('2012-10-24 21:04:04','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200738
+;
+
+-- Oct 24, 2012 9:04:16 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET XPosition=4, ColumnSpan=2,Updated=TO_TIMESTAMP('2012-10-24 21:04:16','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200745
+;
+
+-- Oct 24, 2012 9:04:27 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET ColumnSpan=2,Updated=TO_TIMESTAMP('2012-10-24 21:04:27','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200748
+;
+
+-- Oct 24, 2012 9:04:40 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET XPosition=4, ColumnSpan=2,Updated=TO_TIMESTAMP('2012-10-24 21:04:40','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200744
+;
+
+-- Oct 24, 2012 9:04:51 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET ColumnSpan=2,Updated=TO_TIMESTAMP('2012-10-24 21:04:51','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200739
+;
+
+-- Oct 24, 2012 9:05:00 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET XPosition=2, ColumnSpan=2,Updated=TO_TIMESTAMP('2012-10-24 21:05:00','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200736
+;
+
+-- Oct 24, 2012 9:05:14 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET ColumnSpan=2,Updated=TO_TIMESTAMP('2012-10-24 21:05:14','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200747
+;
+
+-- Oct 24, 2012 9:05:17 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET ColumnSpan=2,Updated=TO_TIMESTAMP('2012-10-24 21:05:17','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200746
+;
+
+-- Oct 24, 2012 9:05:23 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET ColumnSpan=5, NumLines=3,Updated=TO_TIMESTAMP('2012-10-24 21:05:23','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200741
+;
+
+-- Oct 24, 2012 9:06:12 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Tab SET SeqNo=80,Updated=TO_TIMESTAMP('2012-10-24 21:06:12','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=115
+;
+
+-- Oct 24, 2012 9:06:17 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Tab SET SeqNo=90,Updated=TO_TIMESTAMP('2012-10-24 21:06:17','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=200028
+;
+
+-- Oct 24, 2012 9:34:31 PM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Val_Rule SET Code='(((AD_ToolbarButton.Action=''@Action@'') OR (AD_ToolbarButton.Action||''@Action@''=''RW'' )) AND (coalesce(AD_ToolbarButton.AD_Tab_ID,0)=@AD_Tab_ID:0@))',Updated=TO_TIMESTAMP('2012-10-24 21:34:31','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Val_Rule_ID=200011
+;
+
+-- Oct 27, 2012 10:19:50 AM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Field (SortNo,IsEncrypted,AD_Tab_ID,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,AD_Org_ID,Created,IsDisplayedGrid,SeqNoGrid,EntityType,AD_Client_ID,Description,IsDisplayed,IsFieldOnly,AD_Field_UU,CreatedBy,Updated,DisplayLength,DisplayLogic,Name,UpdatedBy,IsActive,XPosition,ColumnSpan,NumLines) VALUES (0,'N',200002,'N','N',200815,90,'Y',200753,'N','format := {expression} [{logic} {expression}]
+expression := @{context}@{operand}{value} or @{context}@{operand}{value}
+logic := {|}|{&}
+context := any global or window context
+value := strings or numbers
+logic operators := AND or OR with the previous result from left to right
+operand := eq{=}, gt{>}, le{<}, not{~^!}
+Examples:
+@AD_Table_ID@=14 | @Language@!GERGER
+@PriceLimit@>10 | @PriceList@>@PriceActual@
+@Name@>J
+Strings may be in single quotes (optional)',0,TO_TIMESTAMP('2012-10-27 10:19:47','YYYY-MM-DD HH24:MI:SS'),'N',90,'D',0,'If the Field is displayed, the result determines if the field is actually displayed','Y','N','5091d500-3614-4ffb-8655-36f64d0b12be',100,TO_TIMESTAMP('2012-10-27 10:19:47','YYYY-MM-DD HH24:MI:SS'),0,'@IsCustomization@=Y','Display Logic',100,'Y',1,5,3)
+;
+
+-- Oct 27, 2012 10:19:50 AM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Field_Trl_UU ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=200753 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID)
+;
+
+-- Oct 27, 2012 10:24:14 AM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Element SET Help='The OSGi service component name that implements the IAction interface for toolbar action', Name='Service Component Name', Description='The service component name that implements the interface for toolbar actions', PrintName='Service Component Name',Updated=TO_TIMESTAMP('2012-10-27 10:24:14','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Element_ID=200018
+;
+
+-- Oct 27, 2012 10:24:14 AM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Element_Trl SET IsTranslated='N' WHERE AD_Element_ID=200018
+;
+
+-- Oct 27, 2012 10:24:14 AM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Column SET ColumnName='ActionClassName', Name='Service Component Name', Description='The service component name that implements the interface for toolbar actions', Help='The OSGi service component name that implements the IAction interface for toolbar action' WHERE AD_Element_ID=200018
+;
+
+-- Oct 27, 2012 10:24:15 AM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Process_Para SET ColumnName='ActionClassName', Name='Service Component Name', Description='The service component name that implements the interface for toolbar actions', Help='The OSGi service component name that implements the IAction interface for toolbar action', AD_Element_ID=200018 WHERE UPPER(ColumnName)='ACTIONCLASSNAME' AND IsCentrallyMaintained='Y' AND AD_Element_ID IS NULL
+;
+
+-- Oct 27, 2012 10:24:15 AM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Process_Para SET ColumnName='ActionClassName', Name='Service Component Name', Description='The service component name that implements the interface for toolbar actions', Help='The OSGi service component name that implements the IAction interface for toolbar action' WHERE AD_Element_ID=200018 AND IsCentrallyMaintained='Y'
+;
+
+-- Oct 27, 2012 10:24:15 AM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_Field SET Name='Service Component Name', Description='The service component name that implements the interface for toolbar actions', Help='The OSGi service component name that implements the IAction interface for toolbar action' WHERE AD_Column_ID IN (SELECT AD_Column_ID FROM AD_Column WHERE AD_Element_ID=200018) AND IsCentrallyMaintained='Y'
+;
+
+-- Oct 27, 2012 10:24:15 AM MYT
+-- IDEMPIERE-234 Configurable Toolbar
+UPDATE AD_PrintFormatItem SET PrintName='Service Component Name', Name='Service Component Name' 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=200018)
+;
+
+SELECT register_migration_script('948_IDEMPIERE-234.sql') FROM dual
+;
diff --git a/org.adempiere.base-feature/model.generator.launch b/org.adempiere.base-feature/model.generator.launch
index 4d69880fca..74596719aa 100644
--- a/org.adempiere.base-feature/model.generator.launch
+++ b/org.adempiere.base-feature/model.generator.launch
@@ -12,7 +12,7 @@
-
+
@@ -21,7 +21,7 @@
-
+
diff --git a/org.adempiere.base/OSGI-INF/eventmanager.xml b/org.adempiere.base/OSGI-INF/eventmanager.xml
index 2f30624198..a36b0ccff3 100644
--- a/org.adempiere.base/OSGI-INF/eventmanager.xml
+++ b/org.adempiere.base/OSGI-INF/eventmanager.xml
@@ -1,5 +1,5 @@
-
+
diff --git a/org.adempiere.base/src/org/compiere/model/I_AD_ToolBarButton.java b/org.adempiere.base/src/org/compiere/model/I_AD_ToolBarButton.java
index 7498fa92d4..8c6adb8de0 100644
--- a/org.adempiere.base/src/org/compiere/model/I_AD_ToolBarButton.java
+++ b/org.adempiere.base/src/org/compiere/model/I_AD_ToolBarButton.java
@@ -18,12 +18,11 @@ package org.compiere.model;
import java.math.BigDecimal;
import java.sql.Timestamp;
-import org.compiere.model.*;
import org.compiere.util.KeyNamePair;
/** Generated Interface for AD_ToolBarButton
* @author Adempiere (generated)
- * @version 360LTS.015
+ * @version Release 3.6.0LTS
*/
public interface I_AD_ToolBarButton
{
@@ -32,7 +31,7 @@ public interface I_AD_ToolBarButton
public static final String Table_Name = "AD_ToolBarButton";
/** AD_Table_ID=200003 */
- public static final int Table_ID = MTable.getTable_ID(Table_Name);
+ public static final int Table_ID = 200003;
KeyNamePair Model = new KeyNamePair(Table_ID, Table_Name);
@@ -42,6 +41,19 @@ public interface I_AD_ToolBarButton
/** Load Meta Data */
+ /** Column name Action */
+ public static final String COLUMNNAME_Action = "Action";
+
+ /** Set Action.
+ * Indicates the Action to be performed
+ */
+ public void setAction (String Action);
+
+ /** Get Action.
+ * Indicates the Action to be performed
+ */
+ public String getAction();
+
/** Column name ActionClassName */
public static final String COLUMNNAME_ActionClassName = "ActionClassName";
@@ -89,6 +101,36 @@ public interface I_AD_ToolBarButton
*/
public int getAD_Org_ID();
+ /** Column name AD_Process_ID */
+ public static final String COLUMNNAME_AD_Process_ID = "AD_Process_ID";
+
+ /** Set Process.
+ * Process or Report
+ */
+ public void setAD_Process_ID (int AD_Process_ID);
+
+ /** Get Process.
+ * Process or Report
+ */
+ public int getAD_Process_ID();
+
+ public org.compiere.model.I_AD_Process getAD_Process() throws RuntimeException;
+
+ /** Column name AD_Tab_ID */
+ public static final String COLUMNNAME_AD_Tab_ID = "AD_Tab_ID";
+
+ /** Set Tab.
+ * Tab within a Window
+ */
+ public void setAD_Tab_ID (int AD_Tab_ID);
+
+ /** Get Tab.
+ * Tab within a Window
+ */
+ public int getAD_Tab_ID();
+
+ public org.compiere.model.I_AD_Tab getAD_Tab() throws RuntimeException;
+
/** Column name AD_ToolBarButton_ID */
public static final String COLUMNNAME_AD_ToolBarButton_ID = "AD_ToolBarButton_ID";
@@ -98,18 +140,14 @@ public interface I_AD_ToolBarButton
/** Get ToolBar Button */
public int getAD_ToolBarButton_ID();
- /** Column name Classname */
- public static final String COLUMNNAME_Classname = "Classname";
+ /** Column name AD_ToolBarButton_UU */
+ public static final String COLUMNNAME_AD_ToolBarButton_UU = "AD_ToolBarButton_UU";
- /** Set Classname.
- * Java Classname
- */
- public void setClassname (String Classname);
+ /** Set AD_ToolBarButton_UU */
+ public void setAD_ToolBarButton_UU (String AD_ToolBarButton_UU);
- /** Get Classname.
- * Java Classname
- */
- public String getClassname();
+ /** Get AD_ToolBarButton_UU */
+ public String getAD_ToolBarButton_UU();
/** Column name ComponentName */
public static final String COLUMNNAME_ComponentName = "ComponentName";
@@ -136,6 +174,19 @@ public interface I_AD_ToolBarButton
*/
public int getCreatedBy();
+ /** Column name DisplayLogic */
+ public static final String COLUMNNAME_DisplayLogic = "DisplayLogic";
+
+ /** Set Display Logic.
+ * If the Field is displayed, the result determines if the field is actually displayed
+ */
+ public void setDisplayLogic (String DisplayLogic);
+
+ /** Get Display Logic.
+ * If the Field is displayed, the result determines if the field is actually displayed
+ */
+ public String getDisplayLogic();
+
/** Column name IsActive */
public static final String COLUMNNAME_IsActive = "IsActive";
@@ -201,6 +252,21 @@ public interface I_AD_ToolBarButton
*/
public String getName();
+ /** Column name SeqNo */
+ public static final String COLUMNNAME_SeqNo = "SeqNo";
+
+ /** Set Sequence.
+ * Method of ordering records;
+ lowest number comes first
+ */
+ public void setSeqNo (int SeqNo);
+
+ /** Get Sequence.
+ * Method of ordering records;
+ lowest number comes first
+ */
+ public int getSeqNo();
+
/** Column name Updated */
public static final String COLUMNNAME_Updated = "Updated";
diff --git a/org.adempiere.base/src/org/compiere/model/I_AD_ToolBarButtonRestrict.java b/org.adempiere.base/src/org/compiere/model/I_AD_ToolBarButtonRestrict.java
index d421fa1f86..c57f510745 100644
--- a/org.adempiere.base/src/org/compiere/model/I_AD_ToolBarButtonRestrict.java
+++ b/org.adempiere.base/src/org/compiere/model/I_AD_ToolBarButtonRestrict.java
@@ -105,6 +105,21 @@ public interface I_AD_ToolBarButtonRestrict
public org.compiere.model.I_AD_Role getAD_Role() throws RuntimeException;
+ /** Column name AD_Tab_ID */
+ public static final String COLUMNNAME_AD_Tab_ID = "AD_Tab_ID";
+
+ /** Set Tab.
+ * Tab within a Window
+ */
+ public void setAD_Tab_ID (int AD_Tab_ID);
+
+ /** Get Tab.
+ * Tab within a Window
+ */
+ public int getAD_Tab_ID();
+
+ public org.compiere.model.I_AD_Tab getAD_Tab() throws RuntimeException;
+
/** Column name AD_ToolBarButton_ID */
public static final String COLUMNNAME_AD_ToolBarButton_ID = "AD_ToolBarButton_ID";
@@ -178,6 +193,19 @@ public interface I_AD_ToolBarButtonRestrict
*/
public boolean isActive();
+ /** Column name IsExclude */
+ public static final String COLUMNNAME_IsExclude = "IsExclude";
+
+ /** Set Exclude.
+ * Exclude access to the data - if not selected Include access to the data
+ */
+ public void setIsExclude (boolean IsExclude);
+
+ /** Get Exclude.
+ * Exclude access to the data - if not selected Include access to the data
+ */
+ public boolean isExclude();
+
/** Column name Updated */
public static final String COLUMNNAME_Updated = "Updated";
diff --git a/org.adempiere.base/src/org/compiere/model/MToolBarButton.java b/org.adempiere.base/src/org/compiere/model/MToolBarButton.java
new file mode 100644
index 0000000000..1065b5f41d
--- /dev/null
+++ b/org.adempiere.base/src/org/compiere/model/MToolBarButton.java
@@ -0,0 +1,77 @@
+/******************************************************************************
+ * Copyright (C) 2012 Heng Sin Low *
+ * Copyright (C) 2012 Trek Global *
+ * This program is free software; you can redistribute it and/or modify it *
+ * under the terms version 2 of the GNU General Public License as published *
+ * by the Free Software Foundation. This program is distributed in the hope *
+ * that it will be useful, but WITHOUT ANY WARRANTY; without even the implied *
+ * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. *
+ * See the GNU General Public License for more details. *
+ * You should have received a copy of the GNU General Public License along *
+ * with this program; if not, write to the Free Software Foundation, Inc., *
+ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. *
+ *****************************************************************************/
+package org.compiere.model;
+
+import java.sql.ResultSet;
+import java.util.List;
+import java.util.Properties;
+
+import org.compiere.util.Env;
+
+/**
+ * @author hengsin
+ *
+ */
+public class MToolBarButton extends X_AD_ToolBarButton {
+
+ /**
+ * generated serial id
+ */
+ private static final long serialVersionUID = -2809601337584187559L;
+
+ /**
+ * @param ctx
+ * @param AD_ToolBarButton_ID
+ * @param trxName
+ */
+ public MToolBarButton(Properties ctx, int AD_ToolBarButton_ID,
+ String trxName) {
+ super(ctx, AD_ToolBarButton_ID, trxName);
+ }
+
+ /**
+ * @param ctx
+ * @param rs
+ * @param trxName
+ */
+ public MToolBarButton(Properties ctx, ResultSet rs, String trxName) {
+ super(ctx, rs, trxName);
+ }
+
+ public static MToolBarButton[] getOfTab(int AD_Tab_ID, String trxName) {
+ MToolBarButton[] buttons = new MToolBarButton[0];
+
+ Query query = new Query(Env.getCtx(), MTable.get(Env.getCtx(), Table_ID), "AD_Tab_ID=? AND Action=?", trxName);
+ List list = query.setParameters(AD_Tab_ID, "W").setOnlyActiveRecords(true)
+ .setOrderBy("SeqNo").list();
+ if (list != null && !list.isEmpty()) {
+ buttons = list.toArray(buttons);
+ }
+
+ return buttons;
+ }
+
+ public static MToolBarButton[] getOfWindow(int AD_Window_ID, String trxName) {
+ MToolBarButton[] buttons = new MToolBarButton[0];
+
+ Query query = new Query(Env.getCtx(), MTable.get(Env.getCtx(), Table_ID), "Action=?" +
+ " AND IsCustomization='Y' AND ActionClassName IS NOT NULL", trxName);
+ List list = query.setParameters("W").setOnlyActiveRecords(true).list();
+ if (list != null && !list.isEmpty()) {
+ buttons = list.toArray(buttons);
+ }
+
+ return buttons;
+ }
+}
diff --git a/org.adempiere.base/src/org/compiere/model/MToolBarButtonRestrict.java b/org.adempiere.base/src/org/compiere/model/MToolBarButtonRestrict.java
index d61ba84cbb..484541ea4c 100644
--- a/org.adempiere.base/src/org/compiere/model/MToolBarButtonRestrict.java
+++ b/org.adempiere.base/src/org/compiere/model/MToolBarButtonRestrict.java
@@ -18,6 +18,7 @@ package org.compiere.model;
import java.sql.ResultSet;
import java.util.Properties;
+import java.util.logging.Level;
import org.compiere.util.CLogger;
import org.compiere.util.DB;
@@ -30,6 +31,28 @@ import org.compiere.util.Env;
*/
public class MToolBarButtonRestrict extends X_AD_ToolBarButtonRestrict
{
+ private static final String GET_OF_WINDOW_SQL = "SELECT AD_ToolBarButton_ID FROM AD_ToolBarButtonRestrict WHERE IsActive = 'Y'"
+ + " AND AD_Client_ID IN (0, ?)"
+ + " AND (AD_Role_ID IS NULL OR AD_Role_ID = ?)"
+ + " AND (AD_Window_ID IS NULL OR (Action='W' AND AD_Window_ID=?))"
+ + " AND AD_ToolBarButton_ID IN"
+ + " (SELECT AD_ToolBarButton_ID FROM AD_ToolBarButton WHERE AD_Tab_ID IS NULL AND IsActive='Y' AND Action=?)";
+
+ private static final String GET_OF_REPORT_SQL = "SELECT AD_ToolBarButton_ID FROM AD_ToolBarButtonRestrict WHERE IsActive = 'Y'"
+ + " AND AD_Client_ID IN (0, ?)"
+ + " AND (AD_Role_ID IS NULL OR AD_Role_ID = ?)"
+ + " AND (AD_Process_ID IS NULL OR (Action='R' AND AD_Process_ID=?))"
+ + " AND AD_ToolBarButton_ID IN"
+ + " (SELECT AD_ToolBarButton_ID FROM AD_ToolBarButton WHERE AD_Tab_ID IS NULL AND IsActive='Y' AND Action=?)";
+
+ private static final String GET_OF_TAB_SQL = "SELECT AD_ToolBarButton_ID FROM AD_ToolBarButtonRestrict WHERE IsActive = 'Y'"
+ + " AND AD_Client_ID IN (0, ?)"
+ + " AND (AD_Role_ID IS NULL OR AD_Role_ID = ?)"
+ + " AND Action='W'"
+ + " AND AD_ToolBarButton_ID IN"
+ + " (SELECT AD_ToolBarButton_ID FROM AD_ToolBarButton WHERE AD_Tab_ID=?"
+ + " AND AD_Process_ID IS NOT NULL AND IsActive='Y' AND Action='W')";
+
/**
*
*/
@@ -59,22 +82,52 @@ public class MToolBarButtonRestrict extends X_AD_ToolBarButtonRestrict
super(ctx, rs, trxName);
} // MToolBarButtonRestrict
- /** Returns a list of restrictions to be applied according to the role, the window of the form ... **/
- public static int[] getOf (Properties ctx, int AD_Role_ID, String Action, int Action_ID, String className, String trxName)
- {
- // Action : R-Report, W-Window, X-form
- String sql = "SELECT AD_ToolBarButton_ID FROM AD_ToolBarButtonRestrict WHERE IsActive = 'Y'"
- + " AND AD_Client_ID IN (0, ?)"
- + " AND (AD_Role_ID IS NULL OR AD_Role_ID = ?)"
- + " AND (Action IS NULL OR Action=? AND (AD_Window_ID IS NULL OR (Action='W' AND AD_Window_ID=?)))"
- + " AND AD_ToolBarButton_ID IN (SELECT AD_ToolBarButton_ID FROM AD_ToolBarButton WHERE IsActive='Y' AND Classname=?)";
- s_log.info("sql="+sql);
+ /**
+ * Returns a list of restrictions to be applied according to the role, the window of the form ...
+ * @param ctx
+ * @param AD_Role_ID
+ * @param AD_Window_ID
+ * @param reportViewer
+ * @param trxName
+ **/
+ public static int[] getOfWindow(Properties ctx, int AD_Role_ID, int AD_Window_ID, boolean reportViewer, String trxName)
+ {
+ if (s_log.isLoggable(Level.INFO))
+ s_log.info("sql="+GET_OF_WINDOW_SQL);
- int[] ids = DB.getIDsEx(trxName, sql, Env.getAD_Client_ID(ctx), AD_Role_ID, Action, Action_ID, className);
+ int[] ids = DB.getIDsEx(trxName, GET_OF_WINDOW_SQL, Env.getAD_Client_ID(ctx), AD_Role_ID, AD_Window_ID, reportViewer ? "R" : "W");
+
+ return ids;
+ } // getOfWindow
+
+ /**
+ * Returns a list of restrictions to be applied according to the role, the window of the form ...
+ * @param ctx
+ * @param AD_Role_ID
+ * @param AD_Window_ID
+ * @param trxName
+ **/
+ public static int[] getOfReport(Properties ctx, int AD_Role_ID, int AD_Process_ID, String trxName)
+ {
+ if (s_log.isLoggable(Level.INFO))
+ s_log.info("sql="+GET_OF_REPORT_SQL);
+
+ int[] ids = DB.getIDsEx(trxName, GET_OF_REPORT_SQL, Env.getAD_Client_ID(ctx), AD_Role_ID, AD_Process_ID, "R");
return ids;
} // getOf
+ /** Returns a list of restrictions to be applied according to the role for ad_tab toolbar buttons **/
+ public static int[] getOfTab(Properties ctx, int AD_Role_ID, int AD_Tab_ID, String trxName)
+ {
+ if (s_log.isLoggable(Level.INFO))
+ s_log.info("sql="+GET_OF_TAB_SQL);
+
+ int[] ids = DB.getIDsEx(trxName, GET_OF_TAB_SQL, Env.getAD_Client_ID(ctx), AD_Role_ID, AD_Tab_ID);
+
+ return ids;
+ } // getOfTab
+
/**
* String Representation
* @return info
diff --git a/org.adempiere.base/src/org/compiere/model/X_AD_ToolBarButton.java b/org.adempiere.base/src/org/compiere/model/X_AD_ToolBarButton.java
index 8ad6f601b1..f24d8ae3f8 100644
--- a/org.adempiere.base/src/org/compiere/model/X_AD_ToolBarButton.java
+++ b/org.adempiere.base/src/org/compiere/model/X_AD_ToolBarButton.java
@@ -19,19 +19,18 @@ package org.compiere.model;
import java.sql.ResultSet;
import java.util.Properties;
-import org.compiere.model.*;
import org.compiere.util.KeyNamePair;
/** Generated Model for AD_ToolBarButton
* @author Adempiere (generated)
- * @version 360LTS.015 - $Id$ */
+ * @version Release 3.6.0LTS - $Id$ */
public class X_AD_ToolBarButton extends PO implements I_AD_ToolBarButton, I_Persistent
{
/**
*
*/
- private static final long serialVersionUID = 20120329L;
+ private static final long serialVersionUID = 20121025L;
/** Standard Constructor */
public X_AD_ToolBarButton (Properties ctx, int AD_ToolBarButton_ID, String trxName)
@@ -39,8 +38,9 @@ public class X_AD_ToolBarButton extends PO implements I_AD_ToolBarButton, I_Pers
super (ctx, AD_ToolBarButton_ID, trxName);
/** if (AD_ToolBarButton_ID == 0)
{
+ setAction (null);
+// W
setAD_ToolBarButton_ID (0);
- setClassname (null);
setComponentName (null);
setIsCustomization (false);
// N
@@ -76,6 +76,40 @@ public class X_AD_ToolBarButton extends PO implements I_AD_ToolBarButton, I_Pers
return sb.toString();
}
+ /** Action AD_Reference_ID=104 */
+ public static final int ACTION_AD_Reference_ID=104;
+ /** Window = W */
+ public static final String ACTION_Window = "W";
+ /** Task = T */
+ public static final String ACTION_Task = "T";
+ /** WorkFlow = F */
+ public static final String ACTION_WorkFlow = "F";
+ /** Process = P */
+ public static final String ACTION_Process = "P";
+ /** Report = R */
+ public static final String ACTION_Report = "R";
+ /** Form = X */
+ public static final String ACTION_Form = "X";
+ /** Workbench = B */
+ public static final String ACTION_Workbench = "B";
+ /** Set Action.
+ @param Action
+ Indicates the Action to be performed
+ */
+ public void setAction (String Action)
+ {
+
+ set_Value (COLUMNNAME_Action, Action);
+ }
+
+ /** Get Action.
+ @return Indicates the Action to be performed
+ */
+ public String getAction ()
+ {
+ return (String)get_Value(COLUMNNAME_Action);
+ }
+
/** Set Action Class Name.
@param ActionClassName
The class name that implements the interface for toolbar actions
@@ -110,6 +144,62 @@ public class X_AD_ToolBarButton extends PO implements I_AD_ToolBarButton, I_Pers
return (String)get_Value(COLUMNNAME_ActionName);
}
+ public org.compiere.model.I_AD_Process getAD_Process() throws RuntimeException
+ {
+ return (org.compiere.model.I_AD_Process)MTable.get(getCtx(), org.compiere.model.I_AD_Process.Table_Name)
+ .getPO(getAD_Process_ID(), get_TrxName()); }
+
+ /** Set Process.
+ @param AD_Process_ID
+ Process or Report
+ */
+ public void setAD_Process_ID (int AD_Process_ID)
+ {
+ if (AD_Process_ID < 1)
+ set_Value (COLUMNNAME_AD_Process_ID, null);
+ else
+ set_Value (COLUMNNAME_AD_Process_ID, Integer.valueOf(AD_Process_ID));
+ }
+
+ /** Get Process.
+ @return Process or Report
+ */
+ public int getAD_Process_ID ()
+ {
+ Integer ii = (Integer)get_Value(COLUMNNAME_AD_Process_ID);
+ if (ii == null)
+ return 0;
+ return ii.intValue();
+ }
+
+ public org.compiere.model.I_AD_Tab getAD_Tab() throws RuntimeException
+ {
+ return (org.compiere.model.I_AD_Tab)MTable.get(getCtx(), org.compiere.model.I_AD_Tab.Table_Name)
+ .getPO(getAD_Tab_ID(), get_TrxName()); }
+
+ /** Set Tab.
+ @param AD_Tab_ID
+ Tab within a Window
+ */
+ public void setAD_Tab_ID (int AD_Tab_ID)
+ {
+ if (AD_Tab_ID < 1)
+ set_Value (COLUMNNAME_AD_Tab_ID, null);
+ else
+ set_Value (COLUMNNAME_AD_Tab_ID, Integer.valueOf(AD_Tab_ID));
+ }
+
+ /** Get Tab.
+ @return Tab within a Window
+ */
+ public int getAD_Tab_ID ()
+ {
+ Integer ii = (Integer)get_Value(COLUMNNAME_AD_Tab_ID);
+ if (ii == null)
+ return 0;
+ return ii.intValue();
+ }
+
/** Set ToolBar Button.
@param AD_ToolBarButton_ID ToolBar Button */
public void setAD_ToolBarButton_ID (int AD_ToolBarButton_ID)
@@ -130,21 +220,18 @@ public class X_AD_ToolBarButton extends PO implements I_AD_ToolBarButton, I_Pers
return ii.intValue();
}
- /** Set Classname.
- @param Classname
- Java Classname
- */
- public void setClassname (String Classname)
+ /** Set AD_ToolBarButton_UU.
+ @param AD_ToolBarButton_UU AD_ToolBarButton_UU */
+ public void setAD_ToolBarButton_UU (String AD_ToolBarButton_UU)
{
- set_Value (COLUMNNAME_Classname, Classname);
+ set_Value (COLUMNNAME_AD_ToolBarButton_UU, AD_ToolBarButton_UU);
}
- /** Get Classname.
- @return Java Classname
- */
- public String getClassname ()
+ /** Get AD_ToolBarButton_UU.
+ @return AD_ToolBarButton_UU */
+ public String getAD_ToolBarButton_UU ()
{
- return (String)get_Value(COLUMNNAME_Classname);
+ return (String)get_Value(COLUMNNAME_AD_ToolBarButton_UU);
}
/** Set Component Name.
@@ -161,6 +248,23 @@ public class X_AD_ToolBarButton extends PO implements I_AD_ToolBarButton, I_Pers
return (String)get_Value(COLUMNNAME_ComponentName);
}
+ /** Set Display Logic.
+ @param DisplayLogic
+ If the Field is displayed, the result determines if the field is actually displayed
+ */
+ public void setDisplayLogic (String DisplayLogic)
+ {
+ set_Value (COLUMNNAME_DisplayLogic, DisplayLogic);
+ }
+
+ /** Get Display Logic.
+ @return If the Field is displayed, the result determines if the field is actually displayed
+ */
+ public String getDisplayLogic ()
+ {
+ return (String)get_Value(COLUMNNAME_DisplayLogic);
+ }
+
/** Set Customization.
@param IsCustomization
The change is a customization of the data dictionary and can be applied after Migration
@@ -249,4 +353,24 @@ public class X_AD_ToolBarButton extends PO implements I_AD_ToolBarButton, I_Pers
{
return new KeyNamePair(get_ID(), getName());
}
+
+ /** Set Sequence.
+ @param SeqNo
+ Method of ordering records; lowest number comes first
+ */
+ public void setSeqNo (int SeqNo)
+ {
+ set_Value (COLUMNNAME_SeqNo, Integer.valueOf(SeqNo));
+ }
+
+ /** Get Sequence.
+ @return Method of ordering records; lowest number comes first
+ */
+ public int getSeqNo ()
+ {
+ Integer ii = (Integer)get_Value(COLUMNNAME_SeqNo);
+ if (ii == null)
+ return 0;
+ return ii.intValue();
+ }
}
\ No newline at end of file
diff --git a/org.adempiere.base/src/org/compiere/model/X_AD_ToolBarButtonRestrict.java b/org.adempiere.base/src/org/compiere/model/X_AD_ToolBarButtonRestrict.java
index 96bcec8a7b..ad13259d7b 100644
--- a/org.adempiere.base/src/org/compiere/model/X_AD_ToolBarButtonRestrict.java
+++ b/org.adempiere.base/src/org/compiere/model/X_AD_ToolBarButtonRestrict.java
@@ -29,7 +29,7 @@ public class X_AD_ToolBarButtonRestrict extends PO implements I_AD_ToolBarButton
/**
*
*/
- private static final long serialVersionUID = 20121012L;
+ private static final long serialVersionUID = 20121025L;
/** Standard Constructor */
public X_AD_ToolBarButtonRestrict (Properties ctx, int AD_ToolBarButtonRestrict_ID, String trxName)
@@ -37,7 +37,10 @@ public class X_AD_ToolBarButtonRestrict extends PO implements I_AD_ToolBarButton
super (ctx, AD_ToolBarButtonRestrict_ID, trxName);
/** if (AD_ToolBarButtonRestrict_ID == 0)
{
+ setAction (null);
setAD_ToolBarButtonRestrict_ID (0);
+ setIsExclude (true);
+// Y
} */
}
@@ -92,7 +95,7 @@ public class X_AD_ToolBarButtonRestrict extends PO implements I_AD_ToolBarButton
public void setAction (String Action)
{
- set_ValueNoCheck (COLUMNNAME_Action, Action);
+ set_Value (COLUMNNAME_Action, Action);
}
/** Get Action.
@@ -143,9 +146,9 @@ public class X_AD_ToolBarButtonRestrict extends PO implements I_AD_ToolBarButton
public void setAD_Role_ID (int AD_Role_ID)
{
if (AD_Role_ID < 0)
- set_ValueNoCheck (COLUMNNAME_AD_Role_ID, null);
+ set_Value (COLUMNNAME_AD_Role_ID, null);
else
- set_ValueNoCheck (COLUMNNAME_AD_Role_ID, Integer.valueOf(AD_Role_ID));
+ set_Value (COLUMNNAME_AD_Role_ID, Integer.valueOf(AD_Role_ID));
}
/** Get Role.
@@ -159,6 +162,34 @@ public class X_AD_ToolBarButtonRestrict extends PO implements I_AD_ToolBarButton
return ii.intValue();
}
+ public org.compiere.model.I_AD_Tab getAD_Tab() throws RuntimeException
+ {
+ return (org.compiere.model.I_AD_Tab)MTable.get(getCtx(), org.compiere.model.I_AD_Tab.Table_Name)
+ .getPO(getAD_Tab_ID(), get_TrxName()); }
+
+ /** Set Tab.
+ @param AD_Tab_ID
+ Tab within a Window
+ */
+ public void setAD_Tab_ID (int AD_Tab_ID)
+ {
+ if (AD_Tab_ID < 1)
+ set_Value (COLUMNNAME_AD_Tab_ID, null);
+ else
+ set_Value (COLUMNNAME_AD_Tab_ID, Integer.valueOf(AD_Tab_ID));
+ }
+
+ /** Get Tab.
+ @return Tab within a Window
+ */
+ public int getAD_Tab_ID ()
+ {
+ Integer ii = (Integer)get_Value(COLUMNNAME_AD_Tab_ID);
+ if (ii == null)
+ return 0;
+ return ii.intValue();
+ }
+
public org.compiere.model.I_AD_ToolBarButton getAD_ToolBarButton() throws RuntimeException
{
return (org.compiere.model.I_AD_ToolBarButton)MTable.get(getCtx(), org.compiere.model.I_AD_ToolBarButton.Table_Name)
@@ -230,9 +261,9 @@ public class X_AD_ToolBarButtonRestrict extends PO implements I_AD_ToolBarButton
public void setAD_Window_ID (int AD_Window_ID)
{
if (AD_Window_ID < 1)
- set_ValueNoCheck (COLUMNNAME_AD_Window_ID, null);
+ set_Value (COLUMNNAME_AD_Window_ID, null);
else
- set_ValueNoCheck (COLUMNNAME_AD_Window_ID, Integer.valueOf(AD_Window_ID));
+ set_Value (COLUMNNAME_AD_Window_ID, Integer.valueOf(AD_Window_ID));
}
/** Get Window.
@@ -245,4 +276,28 @@ public class X_AD_ToolBarButtonRestrict extends PO implements I_AD_ToolBarButton
return 0;
return ii.intValue();
}
+
+ /** Set Exclude.
+ @param IsExclude
+ Exclude access to the data - if not selected Include access to the data
+ */
+ public void setIsExclude (boolean IsExclude)
+ {
+ set_ValueNoCheck (COLUMNNAME_IsExclude, Boolean.valueOf(IsExclude));
+ }
+
+ /** Get Exclude.
+ @return Exclude access to the data - if not selected Include access to the data
+ */
+ public boolean isExclude ()
+ {
+ Object oo = get_Value(COLUMNNAME_IsExclude);
+ if (oo != null)
+ {
+ if (oo instanceof Boolean)
+ return ((Boolean)oo).booleanValue();
+ return "Y".equals(oo);
+ }
+ return false;
+ }
}
\ No newline at end of file
diff --git a/org.adempiere.base/src/org/compiere/util/Msg.java b/org.adempiere.base/src/org/compiere/util/Msg.java
index 1efddd0433..a5f5efbbd4 100644
--- a/org.adempiere.base/src/org/compiere/util/Msg.java
+++ b/org.adempiere.base/src/org/compiere/util/Msg.java
@@ -257,8 +257,9 @@ public final class Msg
String retStr = get().lookup (AD_Language, AD_Message);
//
if (retStr == null || retStr.length() == 0)
- {
- s_log.warning("NOT found: " + AD_Message);
+ {
+ if (s_log.isLoggable(Level.INFO))
+ s_log.info("NOT found: " + AD_Message);
return AD_Message;
}
diff --git a/org.adempiere.plugin.utils/src/org/adempiere/plugin/utils/AdempiereActivator.java b/org.adempiere.plugin.utils/src/org/adempiere/plugin/utils/AdempiereActivator.java
index 75296cb2ec..af23a23bba 100644
--- a/org.adempiere.plugin.utils/src/org/adempiere/plugin/utils/AdempiereActivator.java
+++ b/org.adempiere.plugin.utils/src/org/adempiere/plugin/utils/AdempiereActivator.java
@@ -25,10 +25,12 @@ public class AdempiereActivator implements BundleActivator {
@Override
public void start(BundleContext context) throws Exception {
this.context = context;
- logger.info(getName() + " " + getVersion() + " starting...");
+ if (logger.isLoggable(Level.INFO))
+ logger.info(getName() + " " + getVersion() + " starting...");
installPackage();
start();
- logger.info(getName() + " " + getVersion() + " ready.");
+ if (logger.isLoggable(Level.INFO))
+ logger.info(getName() + " " + getVersion() + " ready.");
}
public String getName() {
@@ -45,20 +47,28 @@ public class AdempiereActivator implements BundleActivator {
private void installPackage() {
String trxName = Trx.createTrxName();
- String where = "Name=? AND PK_Version=?";
- Query q = new Query(Env.getCtx(), X_AD_Package_Imp.Table_Name,
- where.toString(), trxName);
- q.setParameters(new Object[] { getName(), getVersion() });
- X_AD_Package_Imp pkg = q.first();
- if (pkg == null) {
- packIn(trxName);
- install();
- logger.info(getName() + " " + getVersion() + " installed.");
- } else {
- logger.info(getName() + " " + getVersion() + " was installed: "
- + pkg.getCreated());
+ try {
+ String where = "Name=? AND PK_Version=?";
+ Query q = new Query(Env.getCtx(), X_AD_Package_Imp.Table_Name,
+ where.toString(), trxName);
+ q.setParameters(new Object[] { getName(), getVersion() });
+ X_AD_Package_Imp pkg = q.first();
+ if (pkg == null) {
+ packIn(trxName);
+ install();
+ if (logger.isLoggable(Level.INFO))
+ logger.info(getName() + " " + getVersion() + " installed.");
+ } else {
+ if (logger.isLoggable(Level.INFO))
+ logger.info(getName() + " " + getVersion() + " was installed: "
+ + pkg.getCreated());
+ }
+ Trx.get(trxName, false).commit();
+ } finally {
+ if (Trx.get(trxName, false) != null) {
+ Trx.get(trxName, false).close();
+ }
}
- Trx.get(trxName, false).commit();
}
protected void packIn(String trxName) {
@@ -78,7 +88,7 @@ public class AdempiereActivator implements BundleActivator {
// call 2pack
service.merge(context, zipfile);
} catch (Exception e) {
- logger.log(Level.WARNING, "Error on Dictionary service", e);
+ logger.log(Level.SEVERE, "Error on Dictionary service", e);
}
}
}
diff --git a/org.adempiere.ui.swing/src/org/compiere/apps/APanel.java b/org.adempiere.ui.swing/src/org/compiere/apps/APanel.java
index 4dffacd8d6..2fc8c06479 100644
--- a/org.adempiere.ui.swing/src/org/compiere/apps/APanel.java
+++ b/org.adempiere.ui.swing/src/org/compiere/apps/APanel.java
@@ -155,8 +155,6 @@ public final class APanel extends CPanel
private boolean isNested = false;
private boolean ToolBarMenuRestictionLoaded = false;
-
- private static final String WINDOW = "org.idempiere.ui.window";
/**
* Constructs a new instance.
@@ -2926,7 +2924,7 @@ public final class APanel extends CPanel
{
int ToolBarButton_ID = 0;
- int[] restrictionList = MToolBarButtonRestrict.getOf(m_ctx, MRole.getDefault().getAD_Role_ID(), "W", m_window.getAD_Window_ID(), WINDOW, null);
+ int[] restrictionList = MToolBarButtonRestrict.getOfWindow(m_ctx, MRole.getDefault().getAD_Role_ID(), m_window.getAD_Window_ID(), false, null);
log.info("restrictionList="+restrictionList.toString());
for (int i = 0; i < restrictionList.length; i++)
diff --git a/org.adempiere.ui.zk.example/.classpath b/org.adempiere.ui.zk.example/.classpath
new file mode 100644
index 0000000000..ad32c83a78
--- /dev/null
+++ b/org.adempiere.ui.zk.example/.classpath
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/org.adempiere.ui.zk.example/.project b/org.adempiere.ui.zk.example/.project
new file mode 100644
index 0000000000..9d7ffad959
--- /dev/null
+++ b/org.adempiere.ui.zk.example/.project
@@ -0,0 +1,33 @@
+
+
+ org.adempiere.ui.zk.example
+
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+ org.eclipse.pde.ManifestBuilder
+
+
+
+
+ org.eclipse.pde.SchemaBuilder
+
+
+
+
+ org.eclipse.pde.ds.core.builder
+
+
+
+
+
+ org.eclipse.pde.PluginNature
+ org.eclipse.jdt.core.javanature
+
+
diff --git a/org.adempiere.ui.zk.example/.settings/org.eclipse.jdt.core.prefs b/org.adempiere.ui.zk.example/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000000..c537b63063
--- /dev/null
+++ b/org.adempiere.ui.zk.example/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.6
diff --git a/org.adempiere.ui.zk.example/.settings/org.eclipse.pde.core.prefs b/org.adempiere.ui.zk.example/.settings/org.eclipse.pde.core.prefs
new file mode 100644
index 0000000000..f29e940a00
--- /dev/null
+++ b/org.adempiere.ui.zk.example/.settings/org.eclipse.pde.core.prefs
@@ -0,0 +1,3 @@
+eclipse.preferences.version=1
+pluginProject.extensions=false
+resolve.requirebundle=false
diff --git a/org.adempiere.ui.zk.example/2Pack/ExportAction/dict/PackOut.xml b/org.adempiere.ui.zk.example/2Pack/ExportAction/dict/PackOut.xml
new file mode 100644
index 0000000000..ba04efc65d
--- /dev/null
+++ b/org.adempiere.ui.zk.example/2Pack/ExportAction/dict/PackOut.xml
@@ -0,0 +1,32 @@
+
+
+
+ 0
+ 0
+ W
+
+
+
+
+ true
+ true
+ Export Action
+ 0
+ 0
+ 09c20701-b692-44a1-9480-72a1cf8a0bf3
+ Export
+
+ org.adempiere.ui.zk.example.action.export
+
+
+ 0
+ 0
+ I
+ Export
+
+ U
+ b9d8b3d7-34d7-4f18-aed9-c19f9ed8f28a
+ org.adempiere.ui.zk.example.action.export.tooltip
+ true
+
+
diff --git a/org.adempiere.ui.zk.example/2Pack/ExportAction/doc/ExportActionDoc.xml b/org.adempiere.ui.zk.example/2Pack/ExportAction/doc/ExportActionDoc.xml
new file mode 100644
index 0000000000..092f3a8350
--- /dev/null
+++ b/org.adempiere.ui.zk.example/2Pack/ExportAction/doc/ExportActionDoc.xml
@@ -0,0 +1,26 @@
+
+
+
+
+ ExportAction Package Description
+
Package Name:
+ ExportAction
+
Author:
+
+
Email Address:
+
+
Created:
+ 2012-10-27 01:01:27.282
+
Updated:
+ 2012-10-27 01:01:27.282
+
Description:
+
+
Instructions:
+
+
Files in Package:
+ File: PackOut.xml
+ Directory: \dict\
+ Notes: Contains all application/object settings for package
+
Client:
+ 0-SYSTEM-System
+
diff --git a/org.adempiere.ui.zk.example/META-INF/2Pack.zip b/org.adempiere.ui.zk.example/META-INF/2Pack.zip
new file mode 100644
index 0000000000..eb60c4edde
Binary files /dev/null and b/org.adempiere.ui.zk.example/META-INF/2Pack.zip differ
diff --git a/org.adempiere.ui.zk.example/META-INF/MANIFEST.MF b/org.adempiere.ui.zk.example/META-INF/MANIFEST.MF
new file mode 100644
index 0000000000..9665427554
--- /dev/null
+++ b/org.adempiere.ui.zk.example/META-INF/MANIFEST.MF
@@ -0,0 +1,27 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: Example
+Bundle-SymbolicName: org.adempiere.ui.zk.example
+Bundle-Version: 1.0.0.qualifier
+Bundle-Activator: org.adempiere.ui.zk.example.Activator
+Bundle-ActivationPolicy: lazy
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Import-Package: org.adempiere.base,
+ org.adempiere.exceptions,
+ org.adempiere.plugin.utils,
+ org.adempiere.webui.action,
+ org.adempiere.webui.adwindow,
+ org.adempiere.webui.apps,
+ org.adempiere.webui.component,
+ org.adempiere.webui.window,
+ org.compiere.model,
+ org.compiere.util,
+ org.osgi.framework;version="1.3.0",
+ org.zkoss.util.media,
+ org.zkoss.zk.ui,
+ org.zkoss.zk.ui.event,
+ org.zkoss.zul,
+ org.zkoss.zul.event,
+ org.zkoss.zul.impl
+Service-Component: OSGI-INF/export.xml
+Export-Package: action.images
diff --git a/org.adempiere.ui.zk.example/OSGI-INF/export.xml b/org.adempiere.ui.zk.example/OSGI-INF/export.xml
new file mode 100644
index 0000000000..e4a35dad4b
--- /dev/null
+++ b/org.adempiere.ui.zk.example/OSGI-INF/export.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/org.adempiere.ui.zk.example/build.properties b/org.adempiere.ui.zk.example/build.properties
new file mode 100644
index 0000000000..b6088d24a2
--- /dev/null
+++ b/org.adempiere.ui.zk.example/build.properties
@@ -0,0 +1,5 @@
+output.. = bin/
+bin.includes = META-INF/,\
+ .,\
+ OSGI-INF/export.xml
+source.. = src/
diff --git a/org.adempiere.ui.zk.example/src/action/images/org.adempiere.ui.zk.example.action.export24.png b/org.adempiere.ui.zk.example/src/action/images/org.adempiere.ui.zk.example.action.export24.png
new file mode 100644
index 0000000000..d39e1caa9e
Binary files /dev/null and b/org.adempiere.ui.zk.example/src/action/images/org.adempiere.ui.zk.example.action.export24.png differ
diff --git a/org.adempiere.ui.zk.example/src/org/adempiere/ui/zk/example/Activator.java b/org.adempiere.ui.zk.example/src/org/adempiere/ui/zk/example/Activator.java
new file mode 100644
index 0000000000..47d30657e5
--- /dev/null
+++ b/org.adempiere.ui.zk.example/src/org/adempiere/ui/zk/example/Activator.java
@@ -0,0 +1,42 @@
+/******************************************************************************
+ * Copyright (C) 2012 Heng Sin Low *
+ * Copyright (C) 2012 Trek Global *
+ * This program is free software; you can redistribute it and/or modify it *
+ * under the terms version 2 of the GNU General Public License as published *
+ * by the Free Software Foundation. This program is distributed in the hope *
+ * that it will be useful, but WITHOUT ANY WARRANTY; without even the implied *
+ * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. *
+ * See the GNU General Public License for more details. *
+ * You should have received a copy of the GNU General Public License along *
+ * with this program; if not, write to the Free Software Foundation, Inc., *
+ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. *
+ *****************************************************************************/
+package org.adempiere.ui.zk.example;
+
+import org.adempiere.plugin.utils.AdempiereActivator;
+import org.osgi.framework.BundleContext;
+
+/**
+ *
+ * @author hengsin
+ *
+ */
+public class Activator extends AdempiereActivator {
+
+ /*
+ * (non-Javadoc)
+ * @see org.osgi.framework.BundleActivator#start(org.osgi.framework.BundleContext)
+ */
+ public void start(BundleContext bundleContext) throws Exception {
+ super.start(bundleContext);
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext)
+ */
+ public void stop(BundleContext bundleContext) throws Exception {
+ super.stop(bundleContext);
+ }
+
+}
diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/action/ExportAction.java b/org.adempiere.ui.zk.example/src/org/adempiere/ui/zk/example/action/ExportAction.java
similarity index 89%
rename from org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/action/ExportAction.java
rename to org.adempiere.ui.zk.example/src/org/adempiere/ui/zk/example/action/ExportAction.java
index cdbd771e0e..db9d370888 100644
--- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/action/ExportAction.java
+++ b/org.adempiere.ui.zk.example/src/org/adempiere/ui/zk/example/action/ExportAction.java
@@ -1,6 +1,6 @@
/******************************************************************************
- * Product: Adempiere ERP & CRM Smart Business Solution *
- * Copyright (C) 2010 Heng Sin Low *
+ * Copyright (C) 2012 Heng Sin Low *
+ * Copyright (C) 2012 Trek Global *
* This program is free software; you can redistribute it and/or modify it *
* under the terms version 2 of the GNU General Public License as published *
* by the Free Software Foundation. This program is distributed in the hope *
@@ -11,7 +11,7 @@
* with this program; if not, write to the Free Software Foundation, Inc., *
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. *
*****************************************************************************/
-package org.adempiere.webui.panel.action;
+package org.adempiere.ui.zk.example.action;
import java.io.File;
import java.util.ArrayList;
@@ -24,6 +24,8 @@ import java.util.Set;
import org.adempiere.base.IGridTabExporter;
import org.adempiere.base.Service;
import org.adempiere.exceptions.AdempiereException;
+import org.adempiere.webui.action.IAction;
+import org.adempiere.webui.adwindow.ADWindow;
import org.adempiere.webui.adwindow.AbstractADWindowContent;
import org.adempiere.webui.adwindow.IADTabbox;
import org.adempiere.webui.adwindow.IADTabpanel;
@@ -36,6 +38,7 @@ import org.adempiere.webui.component.Listbox;
import org.adempiere.webui.component.Window;
import org.adempiere.webui.window.FDialog;
import org.compiere.model.GridTab;
+import org.compiere.model.MRole;
import org.compiere.util.Env;
import org.compiere.util.Msg;
import org.zkoss.util.media.AMedia;
@@ -47,12 +50,11 @@ import org.zkoss.zul.Hbox;
import org.zkoss.zul.Vbox;
/**
- *
* @author hengsin
*
*/
-public class ExportAction implements EventListener
-{
+public class ExportAction implements IAction, EventListener {
+
private AbstractADWindowContent panel;
private Map exporterMap = null;
@@ -62,20 +64,29 @@ public class ExportAction implements EventListener
private ConfirmPanel confirmPanel = new ConfirmPanel(true);
private Listbox cboType = new Listbox();
private Checkbox chkCurrentRow = new Checkbox();
-
/**
- * @param panel
+ *
*/
- public ExportAction(AbstractADWindowContent panel)
- {
- this.panel = panel;
+ public ExportAction() {
}
- /**
- * execute export action
+ /* (non-Javadoc)
+ * @see org.adempiere.webui.action.IAction#execute(java.lang.Object)
*/
- public void export()
- {
+ @Override
+ public void execute(Object target) {
+ ADWindow adwindow = (ADWindow) target;
+ panel = adwindow.getADWindowContent();
+
+ if (!MRole.getDefault().isCanExport()) {
+ FDialog.error(panel.getWindowNo(), "AccessTableNoView");
+ return;
+ }
+
+ doExport();
+ }
+
+ private void doExport() {
exporterMap = new HashMap();
extensionMap = new HashMap();
List exporterList = Service.list(IGridTabExporter.class);
diff --git a/org.adempiere.ui.zk/META-INF/MANIFEST.MF b/org.adempiere.ui.zk/META-INF/MANIFEST.MF
index 6f00ad4d6b..382accad47 100644
--- a/org.adempiere.ui.zk/META-INF/MANIFEST.MF
+++ b/org.adempiere.ui.zk/META-INF/MANIFEST.MF
@@ -12,9 +12,12 @@ Import-Package: javax.servlet,
org.apache.ecs.xhtml,
org.compiere.css,
org.osgi.framework;version="1.5.0",
+ org.osgi.service.component;version="1.1.0",
+ org.osgi.util.tracker;version="1.5.0",
org.slf4j;version="1.6.1",
org.slf4j.helpers;version="1.6.1",
org.slf4j.spi;version="1.6.1"
+DynamicImport-Package: action.images
Bundle-ClassPath: WEB-INF/classes/,
WEB-INF/lib/atmosphere-runtime-0.9.jar,
WEB-INF/lib/atmosphere-compat-jbossweb-0.9.jar,
@@ -24,6 +27,8 @@ Bundle-ClassPath: WEB-INF/classes/,
Export-Package: metainfo.zk,
org.adempiere.webui,
org.adempiere.webui.acct,
+ org.adempiere.webui.action,
+ org.adempiere.webui.adwindow,
org.adempiere.webui.apps,
org.adempiere.webui.apps.form,
org.adempiere.webui.apps.graph,
@@ -44,8 +49,7 @@ Export-Package: metainfo.zk,
org.adempiere.webui.session,
org.adempiere.webui.theme,
org.adempiere.webui.util,
- org.adempiere.webui.window,
- metainfo.zk
+ org.adempiere.webui.window
Require-Bundle: org.adempiere.report.jasper;bundle-version="1.0.0",
org.adempiere.base;bundle-version="1.0.0",
org.adempiere.report.jasper.library;bundle-version="1.0.0",
diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/action/Actions.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/action/Actions.java
new file mode 100644
index 0000000000..ceb906ee74
--- /dev/null
+++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/action/Actions.java
@@ -0,0 +1,91 @@
+/******************************************************************************
+ * Copyright (C) 2012 Heng Sin Low *
+ * Copyright (C) 2012 Trek Global *
+ * This program is free software; you can redistribute it and/or modify it *
+ * under the terms version 2 of the GNU General Public License as published *
+ * by the Free Software Foundation. This program is distributed in the hope *
+ * that it will be useful, but WITHOUT ANY WARRANTY; without even the implied *
+ * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. *
+ * See the GNU General Public License for more details. *
+ * You should have received a copy of the GNU General Public License along *
+ * with this program; if not, write to the Free Software Foundation, Inc., *
+ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. *
+ *****************************************************************************/
+package org.adempiere.webui.action;
+
+import java.io.IOException;
+import java.io.InputStream;
+
+import org.adempiere.webui.WebUIActivator;
+import org.compiere.util.CCache;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.Filter;
+import org.osgi.framework.InvalidSyntaxException;
+import org.osgi.service.component.ComponentConstants;
+import org.osgi.util.tracker.ServiceTracker;
+import org.zkoss.image.AImage;
+
+/**
+ *
+ * @author hengsin
+ *
+ */
+public class Actions {
+
+ private static final String ACTION_IMAGES_PATH = "/action/images/";
+ private static CCache> trackerCache = new CCache>("ActionsServiceTracker", 5);
+ private static CCache imageCache = new CCache("ActionsImages",5);
+
+ private static final String COMPONENT_FILTER = "(&(objectclass=org.adempiere.webui.action.IAction)("
+ + ComponentConstants.COMPONENT_NAME + "=?))";
+
+ public static ServiceTracker getActionTracker(String actionId) {
+ ServiceTracker actionTracker = null;
+ synchronized (trackerCache) {
+ actionTracker = trackerCache.get(actionId);
+ }
+ if (actionTracker != null)
+ return actionTracker;
+ BundleContext context = WebUIActivator.getBundleContext();
+ Filter filter = null;
+ try {
+ String sFilter = COMPONENT_FILTER.replaceFirst("[?]", actionId);
+ filter = context.createFilter(sFilter);
+ } catch (InvalidSyntaxException e) {
+ e.printStackTrace();
+ }
+
+ actionTracker = new ServiceTracker(context, filter, null);
+ if (actionTracker != null) {
+ actionTracker.open();
+ synchronized (trackerCache) {
+ trackerCache.put(actionId, actionTracker);
+ }
+ }
+ return actionTracker;
+ }
+
+ public static AImage getActionImage(String actionId) {
+ AImage aImage = null;
+ synchronized (imageCache) {
+ aImage = imageCache.get(actionId);
+ }
+ if (aImage != null)
+ return aImage;
+
+ String path = ACTION_IMAGES_PATH + actionId + "24.png";
+ InputStream inputStream = Actions.class.getClassLoader().getResourceAsStream(path);
+ if (inputStream != null) {
+ try {
+ aImage = new AImage(actionId, inputStream);
+ } catch (IOException e) {
+ }
+ }
+ if (aImage != null) {
+ synchronized (imageCache) {
+ imageCache.put(actionId, aImage);
+ }
+ }
+ return aImage;
+ }
+}
diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/action/IAction.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/action/IAction.java
new file mode 100644
index 0000000000..331ca49e9d
--- /dev/null
+++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/action/IAction.java
@@ -0,0 +1,22 @@
+/******************************************************************************
+ * Copyright (C) 2012 Heng Sin Low *
+ * Copyright (C) 2012 Trek Global *
+ * This program is free software; you can redistribute it and/or modify it *
+ * under the terms version 2 of the GNU General Public License as published *
+ * by the Free Software Foundation. This program is distributed in the hope *
+ * that it will be useful, but WITHOUT ANY WARRANTY; without even the implied *
+ * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. *
+ * See the GNU General Public License for more details. *
+ * You should have received a copy of the GNU General Public License along *
+ * with this program; if not, write to the Free Software Foundation, Inc., *
+ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. *
+ *****************************************************************************/
+package org.adempiere.webui.action;
+
+/**
+ * @author hengsin
+ *
+ */
+public interface IAction {
+ public void execute(Object target);
+}
diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/ADSortTab.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/ADSortTab.java
index a7e8f62084..14348e73b1 100644
--- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/ADSortTab.java
+++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/ADSortTab.java
@@ -140,6 +140,7 @@ public class ADSortTab extends Panel implements IADTabpanel
private boolean active = false;
private boolean isChanged;
private boolean detailPaneMode;
+ private int tabNo;
/**
* Dynamic Init
@@ -948,5 +949,15 @@ public class ADSortTab extends Panel implements IADTabpanel
return true;
}
}
+
+ @Override
+ public void setTabNo(int tabNo) {
+ this.tabNo = tabNo;
+ }
+
+ @Override
+ public int getTabNo() {
+ return tabNo;
+ }
} //ADSortTab
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 89eb939ee2..4c39f3ae4e 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
@@ -55,9 +55,12 @@ import org.compiere.model.GridTab;
import org.compiere.model.GridWindow;
import org.compiere.model.MLookup;
import org.compiere.model.MSysConfig;
+import org.compiere.model.MToolBarButton;
+import org.compiere.model.MToolBarButtonRestrict;
import org.compiere.model.MTree;
import org.compiere.model.MTreeNode;
import org.compiere.model.X_AD_FieldGroup;
+import org.compiere.model.X_AD_ToolBarButton;
import org.compiere.util.CLogger;
import org.compiere.util.DisplayType;
import org.compiere.util.Env;
@@ -71,6 +74,7 @@ import org.zkoss.zk.ui.event.Event;
import org.zkoss.zk.ui.event.EventListener;
import org.zkoss.zk.ui.event.Events;
import org.zkoss.zk.ui.util.Clients;
+import org.zkoss.zul.Button;
import org.zkoss.zul.Center;
import org.zkoss.zul.DefaultTreeNode;
import org.zkoss.zul.Div;
@@ -134,6 +138,10 @@ DataStatusListener, IADTabpanel
private ArrayList editors = new ArrayList();
private ArrayList editorComps = new ArrayList();
+
+ private ArrayList toolbarButtonEditors = new ArrayList();
+
+ private ArrayList toolbarProcessButtons = new ArrayList();
private boolean uiCreated = false;
@@ -161,6 +169,8 @@ DataStatusListener, IADTabpanel
private boolean detailPaneMode;
+ private int tabNo;
+
public static final String ON_TOGGLE_EVENT = "onToggle";
public ADTabpanel()
@@ -407,7 +417,7 @@ DataStatusListener, IADTabpanel
editor.setADTabpanel(this);
field.addPropertyChangeListener(editor);
editors.add(editor);
- editorComps.add(editor.getComponent());
+ toolbarButtonEditors.add(editor);
continue;
}
@@ -563,6 +573,8 @@ DataStatusListener, IADTabpanel
if (rowList != null)
rowList.add(row);
+ loadToolbarButtons();
+
//create tree
if (gridTab.isTreeTab() && treePanel != null) {
int AD_Tree_ID = MTree.getDefaultAD_Tree_ID (
@@ -574,6 +586,30 @@ DataStatusListener, IADTabpanel
switchRowPresentation();
}
+ private void loadToolbarButtons() {
+ //get extra toolbar process buttons
+ MToolBarButton[] mToolbarButtons = MToolBarButton.getOfTab(gridTab.getAD_Tab_ID(), null);
+ for(MToolBarButton mToolbarButton : mToolbarButtons) {
+ ToolbarProcessButton toolbarProcessButton = new ToolbarProcessButton(mToolbarButton, this, windowPanel, windowNo);
+ toolbarProcessButtons.add(toolbarProcessButton);
+ }
+
+ if (toolbarProcessButtons.size() > 0) {
+ int ids[] = MToolBarButtonRestrict.getOfTab(Env.getCtx(), Env.getAD_Role_ID(Env.getCtx()), gridTab.getAD_Tab_ID(), null);
+ if (ids != null && ids.length > 0) {
+ for(int id : ids) {
+ X_AD_ToolBarButton tbt = new X_AD_ToolBarButton(Env.getCtx(), id, null);
+ for(ToolbarProcessButton btn : toolbarProcessButtons) {
+ if (tbt.getComponentName().equals(btn.getColumnName())) {
+ toolbarProcessButtons.remove(btn);
+ break;
+ }
+ }
+ }
+ }
+ }
+ }
+
private Component createSpacer() {
return new Space();
}
@@ -716,6 +752,10 @@ DataStatusListener, IADTabpanel
if (listPanel.isVisible()) {
listPanel.dynamicDisplay(col);
}
+
+ for (ToolbarProcessButton btn : toolbarProcessButtons) {
+ btn.dynamicDisplay();
+ }
Events.sendEvent(this, new Event(ON_DYNAMIC_DISPLAY_EVENT, this));
logger.config(gridTab.toString() + " - fini - " + (col<=0 ? "complete" : "seletive"));
@@ -1203,18 +1243,18 @@ DataStatusListener, IADTabpanel
* Get all visible button editors
* @return List
*/
- public List getToolbarButtons() {
- List buttonList = new ArrayList();
- if (isGridView()) {
- buttonList = listPanel.getToolbarButtons();
- } else {
- for(WEditor editor : editors) {
- if (editor instanceof WButtonEditor && editor.getComponent() != null
- && editor.getComponent().isVisible()
- && editor.getGridField() != null
- && editor.getGridField().isToolbarButton()) {
- buttonList.add((WButtonEditor) editor);
- }
+ public List