IDEMPIERE-325 Complete AD based info window ( AD_InfoWindow ) implementation. Added support for custom query operator and query function. Added support to open info window from menu.

This commit is contained in:
Heng Sin Low 2013-01-09 12:09:58 +08:00
parent f8930402a3
commit efa9fa0a72
37 changed files with 1670 additions and 140 deletions

View File

@ -0,0 +1,372 @@
-- Jan 7, 2013 2:25:05 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
INSERT INTO AD_Reference (AD_Reference_ID,Name,EntityType,AD_Reference_UU,IsOrderByValue,Description,ValidationType,AD_Client_ID,AD_Org_ID,CreatedBy,Updated,IsActive,Created,UpdatedBy) VALUES (200061,'InfoQueryOperators','D','70b95984-eab9-42f1-a9f1-24fd94265597','N','Operator list for info query criteria','L',0,0,100,TO_DATE('2013-01-07 14:25:02','YYYY-MM-DD HH24:MI:SS'),'Y',TO_DATE('2013-01-07 14:25:02','YYYY-MM-DD HH24:MI:SS'),100)
;
-- Jan 7, 2013 2:25:39 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
INSERT INTO AD_Ref_List (AD_Ref_List_ID,AD_Reference_ID,EntityType,Name,AD_Ref_List_UU,Value,Created,CreatedBy,Updated,UpdatedBy,IsActive,AD_Org_ID,AD_Client_ID) VALUES (200112,200061,'D','Like','cd02fd21-8913-4bc7-9ef4-a405069f8665','Like',TO_DATE('2013-01-07 14:25:37','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2013-01-07 14:25:37','YYYY-MM-DD HH24:MI:SS'),100,'Y',0,0)
;
-- Jan 7, 2013 2:25:55 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
INSERT INTO AD_Ref_List (AD_Ref_List_ID,AD_Reference_ID,EntityType,Name,AD_Ref_List_UU,Value,Created,CreatedBy,Updated,UpdatedBy,IsActive,AD_Org_ID,AD_Client_ID) VALUES (200113,200061,'D','=','1e99d0eb-d4ba-46ad-98be-1e9f0a20d387','=',TO_DATE('2013-01-07 14:25:54','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2013-01-07 14:25:54','YYYY-MM-DD HH24:MI:SS'),100,'Y',0,0)
;
-- Jan 7, 2013 2:26:18 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
INSERT INTO AD_Ref_List (AD_Ref_List_ID,AD_Reference_ID,EntityType,Name,AD_Ref_List_UU,Value,Created,CreatedBy,Updated,UpdatedBy,IsActive,AD_Org_ID,AD_Client_ID) VALUES (200114,200061,'D','>','da5910a0-4b7a-4986-ada4-ecba7eb953ad','>',TO_DATE('2013-01-07 14:26:17','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2013-01-07 14:26:17','YYYY-MM-DD HH24:MI:SS'),100,'Y',0,0)
;
-- Jan 7, 2013 2:26:30 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
INSERT INTO AD_Ref_List (AD_Ref_List_ID,AD_Reference_ID,EntityType,Name,AD_Ref_List_UU,Value,Created,CreatedBy,Updated,UpdatedBy,IsActive,AD_Org_ID,AD_Client_ID) VALUES (200115,200061,'D','>=','653d78b9-8a2b-40cd-a0f1-c7e8bf5cea1c','>=',TO_DATE('2013-01-07 14:26:29','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2013-01-07 14:26:29','YYYY-MM-DD HH24:MI:SS'),100,'Y',0,0)
;
-- Jan 7, 2013 2:26:38 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
INSERT INTO AD_Ref_List (AD_Ref_List_ID,AD_Reference_ID,EntityType,Name,AD_Ref_List_UU,Value,Created,CreatedBy,Updated,UpdatedBy,IsActive,AD_Org_ID,AD_Client_ID) VALUES (200116,200061,'D','<','2673aa9f-3efc-4625-9659-9242f8140d8c','<',TO_DATE('2013-01-07 14:26:37','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2013-01-07 14:26:37','YYYY-MM-DD HH24:MI:SS'),100,'Y',0,0)
;
-- Jan 7, 2013 2:26:47 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
INSERT INTO AD_Ref_List (AD_Ref_List_ID,AD_Reference_ID,EntityType,Name,AD_Ref_List_UU,Value,Created,CreatedBy,Updated,UpdatedBy,IsActive,AD_Org_ID,AD_Client_ID) VALUES (200117,200061,'D','<=','dc557f72-fae9-463f-86ab-7d078eef739f','<=',TO_DATE('2013-01-07 14:26:47','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2013-01-07 14:26:47','YYYY-MM-DD HH24:MI:SS'),100,'Y',0,0)
;
-- Jan 7, 2013 2:26:57 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
INSERT INTO AD_Ref_List (AD_Ref_List_ID,AD_Reference_ID,EntityType,Name,AD_Ref_List_UU,Value,Created,CreatedBy,Updated,UpdatedBy,IsActive,AD_Org_ID,AD_Client_ID) VALUES (200118,200061,'D','!=','bc2fee0b-7738-4d57-9d12-e60d55ff2256','!=',TO_DATE('2013-01-07 14:26:56','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2013-01-07 14:26:56','YYYY-MM-DD HH24:MI:SS'),100,'Y',0,0)
;
-- Jan 7, 2013 2:28:53 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
INSERT INTO AD_Element (ColumnName,AD_Element_ID,EntityType,Name,Description,PrintName,AD_Element_UU,AD_Client_ID,Created,Updated,AD_Org_ID,CreatedBy,UpdatedBy,IsActive) VALUES ('QueryOperator',202188,'D','Query Operator','Operator for database query','Query Operator','72ef789a-7846-4647-9776-f92242f850dc',0,TO_DATE('2013-01-07 14:28:51','YYYY-MM-DD HH24:MI:SS'),TO_DATE('2013-01-07 14:28:51','YYYY-MM-DD HH24:MI:SS'),0,100,100,'Y')
;
-- Jan 7, 2013 2:35:44 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
INSERT INTO AD_Element (ColumnName,AD_Element_ID,Help,EntityType,Name,Description,PrintName,AD_Element_UU,AD_Client_ID,Created,Updated,AD_Org_ID,CreatedBy,UpdatedBy,IsActive) VALUES ('QueryFunction',202189,'Database function for user query. If the database function takes more than just the column name parameter, use ? to indicate where the column name should goes to. E.g: Upper, Trunc and To_Char(?,''MM'')','D','Query Function','Database function for query','Query Function','141c4ef1-fa75-41cb-a2ae-ed7695ad3842',0,TO_DATE('2013-01-07 14:35:42','YYYY-MM-DD HH24:MI:SS'),TO_DATE('2013-01-07 14:35:42','YYYY-MM-DD HH24:MI:SS'),0,100,100,'Y')
;
-- Jan 7, 2013 2:40:06 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
INSERT INTO AD_Column (SeqNoSelection,IsSyncDatabase,IsEncrypted,Version,AD_Table_ID,AD_Column_ID,EntityType,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsKey,AD_Element_ID,IsAutocomplete,IsAllowLogging,MandatoryLogic,AD_Column_UU,IsUpdateable,ColumnName,Description,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,AD_Client_ID,IsToolbarButton,IsAlwaysUpdateable) VALUES (0,'N','N',1,897,208363,'D','N','N','N',0,'N',10,'N',10,'N',202188,'N','Y','@IsQueryCriteria@=Y','729dbd59-fbf2-4f8e-ad73-0e42da64cfab','Y','QueryOperator','Operator for database query','Query Operator','Y',TO_DATE('2013-01-07 14:40:04','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_DATE('2013-01-07 14:40:04','YYYY-MM-DD HH24:MI:SS'),100,0,'N','N')
;
-- Jan 7, 2013 2:41:20 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
INSERT INTO AD_Column (SeqNoSelection,IsSyncDatabase,IsEncrypted,Version,AD_Table_ID,AD_Column_ID,EntityType,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsKey,AD_Element_ID,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,Description,Help,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,AD_Client_ID,IsToolbarButton,IsAlwaysUpdateable) VALUES (0,'N','N',1,897,208364,'D','N','N','N',0,'N',255,'N',10,'N',202189,'N','Y','108f7521-1a09-4b26-aa34-c67fd09e2f55','Y','QueryFunction','Database function for query','Database function for user query. If the database function takes more than just the column name parameter, use ? to indicate where the column name should goes to. E.g: Upper, Trunc and To_Char(?,''MM'')','Query Function','Y',TO_DATE('2013-01-07 14:41:18','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_DATE('2013-01-07 14:41:18','YYYY-MM-DD HH24:MI:SS'),100,0,'N','N')
;
-- Jan 7, 2013 2:41:44 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
ALTER TABLE AD_InfoColumn ADD QueryOperator NVARCHAR2(10) DEFAULT NULL
;
-- Jan 7, 2013 2:42:03 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
ALTER TABLE AD_InfoColumn ADD QueryFunction NVARCHAR2(255) DEFAULT NULL
;
-- Jan 7, 2013 2:43:46 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
INSERT INTO AD_Field (ColumnSpan,NumLines,SortNo,IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,EntityType,Description,Name,IsDisplayed,IsFieldOnly,AD_Field_UU,DefaultValue,UpdatedBy,AD_Org_ID,Created,AD_Client_ID,CreatedBy,Updated,IsActive,IsDisplayedGrid,SeqNoGrid,XPosition,IsQuickEntry) VALUES (2,1,0,'N',844,0,'N','N',208363,200,'Y',201635,'N','D','Operator for database query','Query Operator','Y','N','9c9b2e2f-911e-4d00-bec3-38b018973ad4','@IsQueryCriteria@=Y',100,0,TO_DATE('2013-01-07 14:43:45','YYYY-MM-DD HH24:MI:SS'),0,100,TO_DATE('2013-01-07 14:43:45','YYYY-MM-DD HH24:MI:SS'),'Y','N',110,1,'N')
;
-- Jan 7, 2013 2:44:25 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
INSERT INTO AD_Field (ColumnSpan,NumLines,SortNo,IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,DisplayLogic,EntityType,Description,Name,IsDisplayed,IsFieldOnly,AD_Field_UU,UpdatedBy,AD_Org_ID,Created,AD_Client_ID,CreatedBy,Updated,IsActive,IsDisplayedGrid,SeqNoGrid,XPosition,IsQuickEntry) VALUES (5,1,0,'N',844,0,'N','N',208364,210,'Y',201636,'N','Database function for user query. If the database function takes more than just the column name parameter, use ? to indicate where the column name should goes to. E.g: Upper, Trunc and To_Char(?,''MM'')','@IsQueryCriteria@=Y','D','Database function for query','Query Function','Y','N','8e514e55-3297-4c61-9ded-d7e4c33919ac',100,0,TO_DATE('2013-01-07 14:44:24','YYYY-MM-DD HH24:MI:SS'),0,100,TO_DATE('2013-01-07 14:44:24','YYYY-MM-DD HH24:MI:SS'),'Y','N',120,1,'N')
;
-- Jan 7, 2013 2:45:05 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
UPDATE AD_Field SET SeqNo=160, IsDisplayed='Y', XPosition=1,Updated=TO_DATE('2013-01-07 14:45:05','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=201635
;
-- Jan 7, 2013 2:45:05 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
UPDATE AD_Field SET SeqNo=170, IsDisplayed='Y', XPosition=4,Updated=TO_DATE('2013-01-07 14:45:05','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=201636
;
-- Jan 7, 2013 2:45:05 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
UPDATE AD_Field SET SeqNo=180,Updated=TO_DATE('2013-01-07 14:45:05','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=13603
;
-- Jan 7, 2013 2:45:05 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
UPDATE AD_Field SET SeqNo=190,Updated=TO_DATE('2013-01-07 14:45:05','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=201622
;
-- Jan 7, 2013 2:45:05 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
UPDATE AD_Field SET SeqNo=200,Updated=TO_DATE('2013-01-07 14:45:05','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=201623
;
-- Jan 7, 2013 2:45:05 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
UPDATE AD_Field SET SeqNo=210,Updated=TO_DATE('2013-01-07 14:45:05','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=13597
;
-- Jan 7, 2013 6:13:01 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
UPDATE AD_Ref_List SET IsActive='N',Updated=TO_DATE('2013-01-07 18:13:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Ref_List_ID=486
;
-- Jan 7, 2013 6:13:41 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
INSERT INTO AD_Ref_List (AD_Ref_List_ID,AD_Reference_ID,EntityType,Description,Name,AD_Ref_List_UU,Value,Created,CreatedBy,Updated,UpdatedBy,IsActive,AD_Org_ID,AD_Client_ID) VALUES (200119,104,'D','Info Window','Info','5484a32f-202c-4316-9ae7-c295ed508aee','I',TO_DATE('2013-01-07 18:13:38','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2013-01-07 18:13:38','YYYY-MM-DD HH24:MI:SS'),100,'Y',0,0)
;
-- Jan 7, 2013 6:14:17 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
UPDATE AD_Column SET IsActive='N',Updated=TO_DATE('2013-01-07 18:14:17','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=6297
;
-- Jan 7, 2013 6:15:32 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
INSERT INTO AD_Column (SeqNoSelection,IsSyncDatabase,IsEncrypted,Version,AD_Table_ID,AD_Column_ID,EntityType,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsKey,AD_Element_ID,IsAutocomplete,IsAllowLogging,MandatoryLogic,AD_Column_UU,IsUpdateable,ColumnName,Description,Help,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,AD_Client_ID,IsToolbarButton,IsAlwaysUpdateable) VALUES (0,'N','N',1,116,208365,'D','N','N','N',0,'N',10,'N',19,'N',3068,'N','Y','@Action@=I','ad570436-9ec8-447c-9a0e-ee95d33d0cf5','Y','AD_InfoWindow_ID','Info and search/select Window','The Info window is used to search and select records as well as display information relevant to the selection.','Info Window','Y',TO_DATE('2013-01-07 18:15:31','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_DATE('2013-01-07 18:15:31','YYYY-MM-DD HH24:MI:SS'),100,0,'N','N')
;
-- Jan 7, 2013 6:17:08 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
UPDATE AD_Field SET IsDisplayed='N', IsActive='N', IsDisplayedGrid='N',Updated=TO_DATE('2013-01-07 18:17:08','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=4944
;
-- Jan 7, 2013 6:18:46 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
INSERT INTO AD_Field (ColumnSpan,NumLines,SortNo,IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,DisplayLogic,EntityType,Description,Name,IsDisplayed,IsFieldOnly,AD_Field_UU,UpdatedBy,AD_Org_ID,Created,AD_Client_ID,CreatedBy,Updated,IsActive,IsDisplayedGrid,SeqNoGrid,XPosition,IsQuickEntry) VALUES (2,1,0,'N',110,0,'N','N',208365,180,'Y',201638,'N','The Info window is used to search and select records as well as display information relevant to the selection.','@Action@=I','D','Info and search/select Window','Info Window','Y','N','c885c7d6-4ea3-418a-9548-6547646e8ecf',100,0,TO_DATE('2013-01-07 18:18:45','YYYY-MM-DD HH24:MI:SS'),0,100,TO_DATE('2013-01-07 18:18:45','YYYY-MM-DD HH24:MI:SS'),'Y','Y',180,1,'N')
;
-- Jan 7, 2013 6:23:35 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
ALTER TABLE AD_Menu ADD AD_InfoWindow_ID NUMBER(10) DEFAULT NULL
;
-- Jan 7, 2013 11:45:54 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
UPDATE AD_Column SET AD_Reference_Value_ID=200061, AD_Reference_ID=17,Updated=TO_DATE('2013-01-07 23:45:54','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=208363
;
-- Jan 7, 2013 11:48:11 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
UPDATE AD_Field SET DisplayLogic='@IsQueryCriteria@=Y',Updated=TO_DATE('2013-01-07 23:48:11','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=201635
;
-- Jan 8, 2013 3:50:56 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
UPDATE AD_Column SET IsAllowCopy='N',Updated=TO_DATE('2013-01-08 15:50:56','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=208351
;
-- Jan 8, 2013 3:55:24 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
INSERT INTO AD_Column (SeqNoSelection,IsSyncDatabase,IsEncrypted,Version,AD_Table_ID,AD_Column_ID,EntityType,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsKey,AD_Element_ID,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,Description,DefaultValue,Help,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,AD_Client_ID,IsToolbarButton,IsAlwaysUpdateable) VALUES (0,'N','N',1,895,208366,'D','Y','N','N',0,'N',1,'N',20,'N',2002,'N','Y','bd41e247-9cd9-4eaf-81ba-a98b34d2ecc0','Y','IsValid','Element is valid','N','The element passed the validation check','Valid','N',TO_DATE('2013-01-08 15:55:23','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_DATE('2013-01-08 15:55:23','YYYY-MM-DD HH24:MI:SS'),100,0,'N','N')
;
-- Jan 8, 2013 3:55:30 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
ALTER TABLE AD_InfoWindow ADD IsValid CHAR(1) DEFAULT 'N' CHECK (IsValid IN ('Y','N')) NOT NULL
;
-- Jan 8, 2013 3:56:20 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
INSERT INTO AD_Field (ColumnSpan,NumLines,SortNo,IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,EntityType,Description,Name,IsDisplayed,IsFieldOnly,AD_Field_UU,UpdatedBy,AD_Org_ID,Created,AD_Client_ID,CreatedBy,Updated,IsActive,IsDisplayedGrid,SeqNoGrid,XPosition,IsQuickEntry) VALUES (2,1,0,'N',842,0,'N','N',208366,160,'Y',201639,'N','The element passed the validation check','D','Element is valid','Valid','Y','N','fb3dfc55-0eac-4eb9-bde2-81df3662a8af',100,0,TO_DATE('2013-01-08 15:56:19','YYYY-MM-DD HH24:MI:SS'),0,100,TO_DATE('2013-01-08 15:56:19','YYYY-MM-DD HH24:MI:SS'),'Y','Y',90,1,'N')
;
-- Jan 8, 2013 3:57:11 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
UPDATE AD_Field SET SeqNo=150, IsDisplayed='Y', XPosition=3,Updated=TO_DATE('2013-01-08 15:57:11','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=201628
;
-- Jan 8, 2013 3:57:11 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
UPDATE AD_Field SET SeqNo=160, IsDisplayed='Y', XPosition=4,Updated=TO_DATE('2013-01-08 15:57:11','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=201639
;
-- Jan 8, 2013 4:35:44 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
INSERT INTO AD_Table (ImportTable,CopyColumnsFromTable,IsSecurityEnabled,AccessLevel,LoadSeq,AD_Table_ID,IsHighVolume,IsView,IsChangeLog,EntityType,ReplicationType,AD_Table_UU,IsCentrallyMaintained,IsDeleteable,TableName,Name,AD_Client_ID,IsActive,AD_Org_ID,CreatedBy,Updated,UpdatedBy,Created) VALUES ('N','N','N','6',0,200054,'N','N','N','D','L','3bd37917-909f-457e-892f-0bb9416af9a0','Y','Y','AD_InfoWindow_Access','Info Window Access',0,'Y',0,100,TO_DATE('2013-01-08 16:35:42','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2013-01-08 16:35:42','YYYY-MM-DD HH24:MI:SS'))
;
-- Jan 8, 2013 4:36:04 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
INSERT INTO AD_Column (IsSyncDatabase,IsEncrypted,Version,AD_Table_ID,AD_Column_ID,EntityType,IsMandatory,IsTranslated,IsIdentifier,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,AD_Val_Rule_ID,IsKey,AD_Element_ID,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,Description,DefaultValue,Help,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,AD_Client_ID,IsToolbarButton,IsAlwaysUpdateable) VALUES ('N','N',1,200054,208367,'D','Y','N','N','N',22,'N',19,129,'N',102,'N','Y','44f1a48e-c732-43a7-953a-910d601741d0','N','AD_Client_ID','Client/Tenant for this installation.','@#AD_Client_ID@','A Client is a company or a legal entity. You cannot share data between Clients. Tenant is a synonym for Client.','Client','N',TO_DATE('2013-01-08 16:36:03','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_DATE('2013-01-08 16:36:03','YYYY-MM-DD HH24:MI:SS'),100,0,'N','N')
;
-- Jan 8, 2013 4:36:04 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
INSERT INTO AD_Column (IsSyncDatabase,IsEncrypted,Version,AD_Table_ID,AD_Column_ID,EntityType,IsMandatory,IsTranslated,IsIdentifier,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,AD_Val_Rule_ID,IsKey,AD_Element_ID,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,Description,DefaultValue,Help,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,AD_Client_ID,IsToolbarButton,IsAlwaysUpdateable) VALUES ('N','N',1,200054,208368,'D','Y','N','N','N',22,'N',19,104,'N',113,'N','Y','daafd18d-41eb-4ec3-a866-1db36ca31f2f','N','AD_Org_ID','Organizational entity within client','@#AD_Org_ID@','An organization is a unit of your client or legal entity - examples are store, department. You can share data between organizations.','Organization','N',TO_DATE('2013-01-08 16:36:04','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_DATE('2013-01-08 16:36:04','YYYY-MM-DD HH24:MI:SS'),100,0,'N','N')
;
-- Jan 8, 2013 4:36:05 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
INSERT INTO AD_Column (IsSyncDatabase,IsEncrypted,Version,AD_Table_ID,AD_Column_ID,EntityType,IsMandatory,IsTranslated,IsIdentifier,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsKey,AD_Element_ID,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,Description,Help,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,AD_Client_ID,IsToolbarButton,IsAlwaysUpdateable) VALUES ('N','N',1,200054,208369,'D','Y','N','N','N',7,'N',16,'N',245,'N','Y','1e86c85f-353d-41b6-9b9c-f8241166ba7c','N','Created','Date this record was created','The Created field indicates the date that this record was created.','Created','N',TO_DATE('2013-01-08 16:36:04','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_DATE('2013-01-08 16:36:04','YYYY-MM-DD HH24:MI:SS'),100,0,'N','N')
;
-- Jan 8, 2013 4:36:06 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
INSERT INTO AD_Column (IsSyncDatabase,IsEncrypted,Version,AD_Table_ID,AD_Column_ID,EntityType,AD_Reference_Value_ID,IsMandatory,IsTranslated,IsIdentifier,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsKey,AD_Element_ID,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,Description,Help,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,AD_Client_ID,IsToolbarButton,IsAlwaysUpdateable) VALUES ('N','N',1,200054,208370,'D',110,'Y','N','N','N',22,'N',18,'N',246,'N','Y','65952c45-d736-479a-93da-6a2c20a0ab31','N','CreatedBy','User who created this records','The Created By field indicates the user who created this record.','Created By','N',TO_DATE('2013-01-08 16:36:05','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_DATE('2013-01-08 16:36:05','YYYY-MM-DD HH24:MI:SS'),100,0,'N','N')
;
-- Jan 8, 2013 4:36:07 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
INSERT INTO AD_Column (IsSyncDatabase,IsEncrypted,Version,AD_Table_ID,AD_Column_ID,EntityType,IsMandatory,IsTranslated,IsIdentifier,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsKey,AD_Element_ID,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,Description,DefaultValue,Help,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,AD_Client_ID,IsToolbarButton,IsAlwaysUpdateable) VALUES ('N','N',1,200054,208371,'D','Y','N','N','N',1,'N',20,'N',348,'N','Y','68d59bbf-a3bc-4467-b49d-433ba81e97e2','Y','IsActive','The record is active in the system','Y','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.','Active','N',TO_DATE('2013-01-08 16:36:06','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_DATE('2013-01-08 16:36:06','YYYY-MM-DD HH24:MI:SS'),100,0,'N','N')
;
-- Jan 8, 2013 4:36:09 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
INSERT INTO AD_Element (ColumnName,AD_Element_ID,EntityType,Name,PrintName,AD_Element_UU,AD_Client_ID,Created,Updated,AD_Org_ID,CreatedBy,UpdatedBy,IsActive) VALUES ('AD_InfoWindow_Access_UU',202191,'D','AD_InfoWindow_Access_UU','AD_InfoWindow_Access_UU','c711fc3d-f204-4018-95fa-260105f4a829',0,TO_DATE('2013-01-08 16:36:09','YYYY-MM-DD HH24:MI:SS'),TO_DATE('2013-01-08 16:36:09','YYYY-MM-DD HH24:MI:SS'),0,100,100,'Y')
;
-- Jan 8, 2013 4:36:10 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
INSERT INTO AD_Column (IsSyncDatabase,IsEncrypted,Version,AD_Table_ID,AD_Column_ID,EntityType,IsMandatory,IsTranslated,IsIdentifier,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsKey,AD_Element_ID,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,AD_Client_ID,IsToolbarButton,IsAlwaysUpdateable) VALUES ('N','N',1.00,200054,208373,'D','N','N','N','N',36,'N',10,'N',202191,'N','Y','8f7de6f9-9a2b-44fe-bb85-b286fb50cb02','Y','AD_InfoWindow_Access_UU','AD_InfoWindow_Access_UU','N',TO_DATE('2013-01-08 16:36:09','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_DATE('2013-01-08 16:36:09','YYYY-MM-DD HH24:MI:SS'),100,0,'N','N')
;
-- Jan 8, 2013 4:36:11 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
INSERT INTO AD_Column (IsSyncDatabase,IsEncrypted,Version,AD_Table_ID,AD_Column_ID,EntityType,IsMandatory,IsTranslated,IsIdentifier,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsKey,AD_Element_ID,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,Description,Help,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,AD_Client_ID,IsToolbarButton,IsAlwaysUpdateable) VALUES ('N','N',1,200054,208374,'D','Y','N','N','N',7,'N',16,'N',607,'N','Y','9fb38f84-8045-4098-8c29-2a6b3655cc30','N','Updated','Date this record was updated','The Updated field indicates the date that this record was updated.','Updated','N',TO_DATE('2013-01-08 16:36:10','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_DATE('2013-01-08 16:36:10','YYYY-MM-DD HH24:MI:SS'),100,0,'N','N')
;
-- Jan 8, 2013 4:36:12 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
INSERT INTO AD_Column (IsSyncDatabase,IsEncrypted,Version,AD_Table_ID,AD_Column_ID,EntityType,AD_Reference_Value_ID,IsMandatory,IsTranslated,IsIdentifier,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsKey,AD_Element_ID,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,Description,Help,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,AD_Client_ID,IsToolbarButton,IsAlwaysUpdateable) VALUES ('N','N',1,200054,208375,'D',110,'Y','N','N','N',22,'N',18,'N',608,'N','Y','d3d63740-11cd-4d46-9e67-fa7387de5539','N','UpdatedBy','User who updated this records','The Updated By field indicates the user who updated this record.','Updated By','N',TO_DATE('2013-01-08 16:36:11','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_DATE('2013-01-08 16:36:11','YYYY-MM-DD HH24:MI:SS'),100,0,'N','N')
;
-- Jan 8, 2013 4:37:49 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
INSERT INTO AD_Column (SeqNoSelection,IsSyncDatabase,IsEncrypted,Version,AD_Table_ID,AD_Column_ID,EntityType,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsKey,AD_Element_ID,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,Description,Help,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,AD_Client_ID,IsToolbarButton,IsAlwaysUpdateable) VALUES (0,'N','N',1,200054,208376,'D','Y','N','N',0,'Y',10,'N',19,'N',123,'N','Y','7f58fd78-7dc3-4cf5-afb7-7d69a5f4a83f','N','AD_Role_ID','Responsibility Role','The Role determines security and access a user who has this Role will have in the System.','Role','Y',TO_DATE('2013-01-08 16:37:48','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_DATE('2013-01-08 16:37:48','YYYY-MM-DD HH24:MI:SS'),100,0,'N','N')
;
-- Jan 8, 2013 4:38:51 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
INSERT INTO AD_Column (SeqNoSelection,IsSyncDatabase,IsEncrypted,Version,AD_Table_ID,AD_Column_ID,EntityType,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsKey,AD_Element_ID,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,Description,Help,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,AD_Client_ID,IsToolbarButton,IsAlwaysUpdateable) VALUES (0,'N','N',1,200054,208377,'D','Y','N','N',0,'Y',10,'N',19,'N',3068,'N','Y','947b4792-bd5b-405e-bc1c-18d122e22e67','N','AD_InfoWindow_ID','Info and search/select Window','The Info window is used to search and select records as well as display information relevant to the selection.','Info Window','Y',TO_DATE('2013-01-08 16:38:50','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_DATE('2013-01-08 16:38:50','YYYY-MM-DD HH24:MI:SS'),100,0,'N','N')
;
-- Jan 8, 2013 4:39:57 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
CREATE TABLE AD_InfoWindow_Access (AD_Client_ID NUMBER(10) NOT NULL, AD_InfoWindow_Access_UU NVARCHAR2(36) DEFAULT NULL , AD_InfoWindow_ID NUMBER(10) NOT NULL, AD_Org_ID NUMBER(10) NOT NULL, AD_Role_ID NUMBER(10) NOT NULL, Created DATE NOT NULL, CreatedBy NUMBER(10) NOT NULL, IsActive CHAR(1) DEFAULT 'Y' CHECK (IsActive IN ('Y','N')) NOT NULL, Updated DATE NOT NULL, UpdatedBy NUMBER(10) NOT NULL, CONSTRAINT AD_InfoWindow_Access_Key PRIMARY KEY (AD_Role_ID, AD_InfoWindow_ID))
;
-- Jan 8, 2013 4:42:28 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
INSERT INTO AD_Tab (ImportFields,Processing,IsSingleRow,AD_Window_ID,SeqNo,IsTranslationTab,IsSortTab,AD_Table_ID,HasTree,AD_Column_ID,IsInfoTab,IsReadOnly,IsInsertRecord,IsAdvancedTab,TabLevel,AD_Tab_UU,EntityType,Name,AD_Tab_ID,AD_Client_ID,AD_Org_ID,Created,CreatedBy,Updated,UpdatedBy,IsActive) VALUES ('N','N','N',111,65,'N','N',200054,'N',208376,'N','N','Y','N',1,'56ad707e-3224-4705-93b6-e890862d6836','D','Info Window Access',200064,0,0,TO_DATE('2013-01-08 16:42:27','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2013-01-08 16:42:27','YYYY-MM-DD HH24:MI:SS'),100,'Y')
;
-- Jan 8, 2013 4:42:58 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,EntityType,Description,Name,IsDisplayed,IsFieldOnly,AD_Field_UU,UpdatedBy,AD_Org_ID,Created,AD_Client_ID,CreatedBy,Updated,IsActive) VALUES ('N',200064,1,'N','N',208371,'Y',201640,'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.','D','The record is active in the system','Active','Y','N','19fbfbe9-9921-4e32-9797-8c29e79b688f',100,0,TO_DATE('2013-01-08 16:42:57','YYYY-MM-DD HH24:MI:SS'),0,100,TO_DATE('2013-01-08 16:42:57','YYYY-MM-DD HH24:MI:SS'),'Y')
;
-- Jan 8, 2013 4:42:59 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,EntityType,Name,IsDisplayed,IsFieldOnly,AD_Field_UU,UpdatedBy,AD_Org_ID,Created,AD_Client_ID,CreatedBy,Updated,IsActive) VALUES ('N',200064,36,'N','N',208373,'Y',201641,'N','D','AD_InfoWindow_Access_UU','Y','N','2e4da5d9-19c1-4fd3-9373-ad0fb7195ab7',100,0,TO_DATE('2013-01-08 16:42:58','YYYY-MM-DD HH24:MI:SS'),0,100,TO_DATE('2013-01-08 16:42:58','YYYY-MM-DD HH24:MI:SS'),'Y')
;
-- Jan 8, 2013 4:43:00 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,EntityType,Description,Name,IsDisplayed,IsFieldOnly,AD_Field_UU,UpdatedBy,AD_Org_ID,Created,AD_Client_ID,CreatedBy,Updated,IsActive) VALUES ('N',200064,22,'N','N',208367,'Y',201642,'N','A Client is a company or a legal entity. You cannot share data between Clients. Tenant is a synonym for Client.','D','Client/Tenant for this installation.','Client','Y','N','bfd467d8-8b5f-47eb-9d8b-8e3391f2e5f6',100,0,TO_DATE('2013-01-08 16:42:59','YYYY-MM-DD HH24:MI:SS'),0,100,TO_DATE('2013-01-08 16:42:59','YYYY-MM-DD HH24:MI:SS'),'Y')
;
-- Jan 8, 2013 4:43:01 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,EntityType,Description,Name,IsDisplayed,IsFieldOnly,AD_Field_UU,UpdatedBy,AD_Org_ID,Created,AD_Client_ID,CreatedBy,Updated,IsActive) VALUES ('N',200064,10,'N','N',208377,'Y',201643,'N','The Info window is used to search and select records as well as display information relevant to the selection.','D','Info and search/select Window','Info Window','Y','N','c282dcec-f3b2-4690-9d8c-c5e5800496ea',100,0,TO_DATE('2013-01-08 16:43:00','YYYY-MM-DD HH24:MI:SS'),0,100,TO_DATE('2013-01-08 16:43:00','YYYY-MM-DD HH24:MI:SS'),'Y')
;
-- Jan 8, 2013 4:43:02 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,EntityType,Description,Name,IsDisplayed,IsFieldOnly,AD_Field_UU,UpdatedBy,AD_Org_ID,Created,AD_Client_ID,CreatedBy,Updated,IsActive) VALUES ('N',200064,22,'N','N',208368,'Y',201645,'N','An organization is a unit of your client or legal entity - examples are store, department. You can share data between organizations.','D','Organizational entity within client','Organization','Y','N','f1b10a76-8ca1-47eb-adad-34e76e15863a',100,0,TO_DATE('2013-01-08 16:43:02','YYYY-MM-DD HH24:MI:SS'),0,100,TO_DATE('2013-01-08 16:43:02','YYYY-MM-DD HH24:MI:SS'),'Y')
;
-- Jan 8, 2013 4:43:03 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,EntityType,Description,Name,IsDisplayed,IsFieldOnly,AD_Field_UU,UpdatedBy,AD_Org_ID,Created,AD_Client_ID,CreatedBy,Updated,IsActive) VALUES ('N',200064,10,'N','N',208376,'Y',201646,'N','The Role determines security and access a user who has this Role will have in the System.','D','Responsibility Role','Role','Y','N','69a2be8a-c03a-4c0e-88fc-7558647097a3',100,0,TO_DATE('2013-01-08 16:43:02','YYYY-MM-DD HH24:MI:SS'),0,100,TO_DATE('2013-01-08 16:43:02','YYYY-MM-DD HH24:MI:SS'),'Y')
;
-- Jan 8, 2013 4:45:56 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
UPDATE AD_Field SET ColumnSpan=2, SeqNo=10,Updated=TO_DATE('2013-01-08 16:45:56','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=201642
;
-- Jan 8, 2013 4:45:57 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
UPDATE AD_Field SET ColumnSpan=2, SeqNo=20, IsDisplayed='Y', XPosition=4,Updated=TO_DATE('2013-01-08 16:45:57','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=201645
;
-- Jan 8, 2013 4:45:57 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
UPDATE AD_Field SET ColumnSpan=2, SeqNo=30,Updated=TO_DATE('2013-01-08 16:45:57','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=201643
;
-- Jan 8, 2013 4:45:57 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
UPDATE AD_Field SET ColumnSpan=2, SeqNo=40, IsDisplayed='Y', XPosition=1,Updated=TO_DATE('2013-01-08 16:45:57','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=201646
;
-- Jan 8, 2013 4:45:57 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
UPDATE AD_Field SET SeqNo=50, IsDisplayed='Y', XPosition=2,Updated=TO_DATE('2013-01-08 16:45:57','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=201640
;
-- Jan 8, 2013 4:45:57 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
UPDATE AD_Field SET SeqNo=0, IsDisplayed='N', XPosition=1,Updated=TO_DATE('2013-01-08 16:45:57','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=201641
;
-- Jan 8, 2013 4:46:24 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
UPDATE AD_Field SET SeqNoGrid=0,IsDisplayedGrid='N' WHERE AD_Field_ID=201641
;
-- Jan 8, 2013 4:46:24 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
UPDATE AD_Field SET SeqNoGrid=10,IsDisplayedGrid='Y' WHERE AD_Field_ID=201642
;
-- Jan 8, 2013 4:46:24 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
UPDATE AD_Field SET SeqNoGrid=20,IsDisplayedGrid='Y' WHERE AD_Field_ID=201645
;
-- Jan 8, 2013 4:46:24 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
UPDATE AD_Field SET SeqNoGrid=30,IsDisplayedGrid='Y' WHERE AD_Field_ID=201646
;
-- Jan 8, 2013 4:46:24 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
UPDATE AD_Field SET SeqNoGrid=40,IsDisplayedGrid='Y' WHERE AD_Field_ID=201643
;
-- Jan 8, 2013 4:46:24 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
UPDATE AD_Field SET SeqNoGrid=50,IsDisplayedGrid='Y' WHERE AD_Field_ID=201640
;
-- Jan 8, 2013 4:46:33 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
UPDATE AD_Field SET SeqNo=30,IsDisplayed='Y' WHERE AD_Field_ID=201646
;
-- Jan 8, 2013 4:46:33 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
UPDATE AD_Field SET SeqNo=40,IsDisplayed='Y' WHERE AD_Field_ID=201643
;
-- Jan 8, 2013 5:11:23 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
UPDATE AD_Tab SET Name='Info Access',Updated=TO_DATE('2013-01-08 17:11:23','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=200064
;
CREATE UNIQUE INDEX AD_InfoWindow_Unique_Name ON AD_InfoWindow (AD_Client_ID, Name)
;
SELECT register_migration_script('201301081022_IDEMPIERE-325.sql') FROM dual
;

View File

@ -0,0 +1,373 @@
-- Jan 7, 2013 2:25:05 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
INSERT INTO AD_Reference (AD_Reference_ID,Name,EntityType,AD_Reference_UU,IsOrderByValue,Description,ValidationType,AD_Client_ID,AD_Org_ID,CreatedBy,Updated,IsActive,Created,UpdatedBy) VALUES (200061,'InfoQueryOperators','D','70b95984-eab9-42f1-a9f1-24fd94265597','N','Operator list for info query criteria','L',0,0,100,TO_TIMESTAMP('2013-01-07 14:25:02','YYYY-MM-DD HH24:MI:SS'),'Y',TO_TIMESTAMP('2013-01-07 14:25:02','YYYY-MM-DD HH24:MI:SS'),100)
;
-- Jan 7, 2013 2:25:39 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
INSERT INTO AD_Ref_List (AD_Ref_List_ID,AD_Reference_ID,EntityType,Name,AD_Ref_List_UU,Value,Created,CreatedBy,Updated,UpdatedBy,IsActive,AD_Org_ID,AD_Client_ID) VALUES (200112,200061,'D','Like','cd02fd21-8913-4bc7-9ef4-a405069f8665','Like',TO_TIMESTAMP('2013-01-07 14:25:37','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2013-01-07 14:25:37','YYYY-MM-DD HH24:MI:SS'),100,'Y',0,0)
;
-- Jan 7, 2013 2:25:55 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
INSERT INTO AD_Ref_List (AD_Ref_List_ID,AD_Reference_ID,EntityType,Name,AD_Ref_List_UU,Value,Created,CreatedBy,Updated,UpdatedBy,IsActive,AD_Org_ID,AD_Client_ID) VALUES (200113,200061,'D','=','1e99d0eb-d4ba-46ad-98be-1e9f0a20d387','=',TO_TIMESTAMP('2013-01-07 14:25:54','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2013-01-07 14:25:54','YYYY-MM-DD HH24:MI:SS'),100,'Y',0,0)
;
-- Jan 7, 2013 2:26:18 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
INSERT INTO AD_Ref_List (AD_Ref_List_ID,AD_Reference_ID,EntityType,Name,AD_Ref_List_UU,Value,Created,CreatedBy,Updated,UpdatedBy,IsActive,AD_Org_ID,AD_Client_ID) VALUES (200114,200061,'D','>','da5910a0-4b7a-4986-ada4-ecba7eb953ad','>',TO_TIMESTAMP('2013-01-07 14:26:17','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2013-01-07 14:26:17','YYYY-MM-DD HH24:MI:SS'),100,'Y',0,0)
;
-- Jan 7, 2013 2:26:30 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
INSERT INTO AD_Ref_List (AD_Ref_List_ID,AD_Reference_ID,EntityType,Name,AD_Ref_List_UU,Value,Created,CreatedBy,Updated,UpdatedBy,IsActive,AD_Org_ID,AD_Client_ID) VALUES (200115,200061,'D','>=','653d78b9-8a2b-40cd-a0f1-c7e8bf5cea1c','>=',TO_TIMESTAMP('2013-01-07 14:26:29','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2013-01-07 14:26:29','YYYY-MM-DD HH24:MI:SS'),100,'Y',0,0)
;
-- Jan 7, 2013 2:26:38 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
INSERT INTO AD_Ref_List (AD_Ref_List_ID,AD_Reference_ID,EntityType,Name,AD_Ref_List_UU,Value,Created,CreatedBy,Updated,UpdatedBy,IsActive,AD_Org_ID,AD_Client_ID) VALUES (200116,200061,'D','<','2673aa9f-3efc-4625-9659-9242f8140d8c','<',TO_TIMESTAMP('2013-01-07 14:26:37','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2013-01-07 14:26:37','YYYY-MM-DD HH24:MI:SS'),100,'Y',0,0)
;
-- Jan 7, 2013 2:26:47 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
INSERT INTO AD_Ref_List (AD_Ref_List_ID,AD_Reference_ID,EntityType,Name,AD_Ref_List_UU,Value,Created,CreatedBy,Updated,UpdatedBy,IsActive,AD_Org_ID,AD_Client_ID) VALUES (200117,200061,'D','<=','dc557f72-fae9-463f-86ab-7d078eef739f','<=',TO_TIMESTAMP('2013-01-07 14:26:47','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2013-01-07 14:26:47','YYYY-MM-DD HH24:MI:SS'),100,'Y',0,0)
;
-- Jan 7, 2013 2:26:57 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
INSERT INTO AD_Ref_List (AD_Ref_List_ID,AD_Reference_ID,EntityType,Name,AD_Ref_List_UU,Value,Created,CreatedBy,Updated,UpdatedBy,IsActive,AD_Org_ID,AD_Client_ID) VALUES (200118,200061,'D','!=','bc2fee0b-7738-4d57-9d12-e60d55ff2256','!=',TO_TIMESTAMP('2013-01-07 14:26:56','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2013-01-07 14:26:56','YYYY-MM-DD HH24:MI:SS'),100,'Y',0,0)
;
-- Jan 7, 2013 2:28:53 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
INSERT INTO AD_Element (ColumnName,AD_Element_ID,EntityType,Name,Description,PrintName,AD_Element_UU,AD_Client_ID,Created,Updated,AD_Org_ID,CreatedBy,UpdatedBy,IsActive) VALUES ('QueryOperator',202188,'D','Query Operator','Operator for database query','Query Operator','72ef789a-7846-4647-9776-f92242f850dc',0,TO_TIMESTAMP('2013-01-07 14:28:51','YYYY-MM-DD HH24:MI:SS'),TO_TIMESTAMP('2013-01-07 14:28:51','YYYY-MM-DD HH24:MI:SS'),0,100,100,'Y')
;
-- Jan 7, 2013 2:35:44 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
INSERT INTO AD_Element (ColumnName,AD_Element_ID,Help,EntityType,Name,Description,PrintName,AD_Element_UU,AD_Client_ID,Created,Updated,AD_Org_ID,CreatedBy,UpdatedBy,IsActive) VALUES ('QueryFunction',202189,'Database function for user query. If the database function takes more than just the column name parameter, use ? to indicate where the column name should goes to. E.g: Upper, Trunc and To_Char(?,''MM'')','D','Query Function','Database function for query','Query Function','141c4ef1-fa75-41cb-a2ae-ed7695ad3842',0,TO_TIMESTAMP('2013-01-07 14:35:42','YYYY-MM-DD HH24:MI:SS'),TO_TIMESTAMP('2013-01-07 14:35:42','YYYY-MM-DD HH24:MI:SS'),0,100,100,'Y')
;
-- Jan 7, 2013 2:40:06 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
INSERT INTO AD_Column (SeqNoSelection,IsSyncDatabase,IsEncrypted,Version,AD_Table_ID,AD_Column_ID,EntityType,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsKey,AD_Element_ID,IsAutocomplete,IsAllowLogging,MandatoryLogic,AD_Column_UU,IsUpdateable,ColumnName,Description,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,AD_Client_ID,IsToolbarButton,IsAlwaysUpdateable) VALUES (0,'N','N',1,897,208363,'D','N','N','N',0,'N',10,'N',10,'N',202188,'N','Y','@IsQueryCriteria@=Y','729dbd59-fbf2-4f8e-ad73-0e42da64cfab','Y','QueryOperator','Operator for database query','Query Operator','Y',TO_TIMESTAMP('2013-01-07 14:40:04','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_TIMESTAMP('2013-01-07 14:40:04','YYYY-MM-DD HH24:MI:SS'),100,0,'N','N')
;
-- Jan 7, 2013 2:41:20 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
INSERT INTO AD_Column (SeqNoSelection,IsSyncDatabase,IsEncrypted,Version,AD_Table_ID,AD_Column_ID,EntityType,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsKey,AD_Element_ID,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,Description,Help,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,AD_Client_ID,IsToolbarButton,IsAlwaysUpdateable) VALUES (0,'N','N',1,897,208364,'D','N','N','N',0,'N',255,'N',10,'N',202189,'N','Y','108f7521-1a09-4b26-aa34-c67fd09e2f55','Y','QueryFunction','Database function for query','Database function for user query. If the database function takes more than just the column name parameter, use ? to indicate where the column name should goes to. E.g: Upper, Trunc and To_Char(?,''MM'')','Query Function','Y',TO_TIMESTAMP('2013-01-07 14:41:18','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_TIMESTAMP('2013-01-07 14:41:18','YYYY-MM-DD HH24:MI:SS'),100,0,'N','N')
;
-- Jan 7, 2013 2:41:44 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
ALTER TABLE AD_InfoColumn ADD COLUMN QueryOperator VARCHAR(10) DEFAULT NULL
;
-- Jan 7, 2013 2:42:03 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
ALTER TABLE AD_InfoColumn ADD COLUMN QueryFunction VARCHAR(255) DEFAULT NULL
;
-- Jan 7, 2013 2:43:46 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
INSERT INTO AD_Field (ColumnSpan,NumLines,SortNo,IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,EntityType,Description,Name,IsDisplayed,IsFieldOnly,AD_Field_UU,DefaultValue,UpdatedBy,AD_Org_ID,Created,AD_Client_ID,CreatedBy,Updated,IsActive,IsDisplayedGrid,SeqNoGrid,XPosition,IsQuickEntry) VALUES (2,1,0,'N',844,0,'N','N',208363,200,'Y',201635,'N','D','Operator for database query','Query Operator','Y','N','9c9b2e2f-911e-4d00-bec3-38b018973ad4','@IsQueryCriteria@=Y',100,0,TO_TIMESTAMP('2013-01-07 14:43:45','YYYY-MM-DD HH24:MI:SS'),0,100,TO_TIMESTAMP('2013-01-07 14:43:45','YYYY-MM-DD HH24:MI:SS'),'Y','N',110,1,'N')
;
-- Jan 7, 2013 2:44:25 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
INSERT INTO AD_Field (ColumnSpan,NumLines,SortNo,IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,DisplayLogic,EntityType,Description,Name,IsDisplayed,IsFieldOnly,AD_Field_UU,UpdatedBy,AD_Org_ID,Created,AD_Client_ID,CreatedBy,Updated,IsActive,IsDisplayedGrid,SeqNoGrid,XPosition,IsQuickEntry) VALUES (5,1,0,'N',844,0,'N','N',208364,210,'Y',201636,'N','Database function for user query. If the database function takes more than just the column name parameter, use ? to indicate where the column name should goes to. E.g: Upper, Trunc and To_Char(?,''MM'')','@IsQueryCriteria@=Y','D','Database function for query','Query Function','Y','N','8e514e55-3297-4c61-9ded-d7e4c33919ac',100,0,TO_TIMESTAMP('2013-01-07 14:44:24','YYYY-MM-DD HH24:MI:SS'),0,100,TO_TIMESTAMP('2013-01-07 14:44:24','YYYY-MM-DD HH24:MI:SS'),'Y','N',120,1,'N')
;
-- Jan 7, 2013 2:45:05 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
UPDATE AD_Field SET SeqNo=160, IsDisplayed='Y', XPosition=1,Updated=TO_TIMESTAMP('2013-01-07 14:45:05','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=201635
;
-- Jan 7, 2013 2:45:05 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
UPDATE AD_Field SET SeqNo=170, IsDisplayed='Y', XPosition=4,Updated=TO_TIMESTAMP('2013-01-07 14:45:05','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=201636
;
-- Jan 7, 2013 2:45:05 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
UPDATE AD_Field SET SeqNo=180,Updated=TO_TIMESTAMP('2013-01-07 14:45:05','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=13603
;
-- Jan 7, 2013 2:45:05 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
UPDATE AD_Field SET SeqNo=190,Updated=TO_TIMESTAMP('2013-01-07 14:45:05','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=201622
;
-- Jan 7, 2013 2:45:05 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
UPDATE AD_Field SET SeqNo=200,Updated=TO_TIMESTAMP('2013-01-07 14:45:05','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=201623
;
-- Jan 7, 2013 2:45:05 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
UPDATE AD_Field SET SeqNo=210,Updated=TO_TIMESTAMP('2013-01-07 14:45:05','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=13597
;
-- Jan 7, 2013 6:13:01 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
UPDATE AD_Ref_List SET IsActive='N',Updated=TO_TIMESTAMP('2013-01-07 18:13:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Ref_List_ID=486
;
-- Jan 7, 2013 6:13:41 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
INSERT INTO AD_Ref_List (AD_Ref_List_ID,AD_Reference_ID,EntityType,Description,Name,AD_Ref_List_UU,Value,Created,CreatedBy,Updated,UpdatedBy,IsActive,AD_Org_ID,AD_Client_ID) VALUES (200119,104,'D','Info Window','Info','5484a32f-202c-4316-9ae7-c295ed508aee','I',TO_TIMESTAMP('2013-01-07 18:13:38','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2013-01-07 18:13:38','YYYY-MM-DD HH24:MI:SS'),100,'Y',0,0)
;
-- Jan 7, 2013 6:14:17 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
UPDATE AD_Column SET IsActive='N',Updated=TO_TIMESTAMP('2013-01-07 18:14:17','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=6297
;
-- Jan 7, 2013 6:15:32 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
INSERT INTO AD_Column (SeqNoSelection,IsSyncDatabase,IsEncrypted,Version,AD_Table_ID,AD_Column_ID,EntityType,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsKey,AD_Element_ID,IsAutocomplete,IsAllowLogging,MandatoryLogic,AD_Column_UU,IsUpdateable,ColumnName,Description,Help,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,AD_Client_ID,IsToolbarButton,IsAlwaysUpdateable) VALUES (0,'N','N',1,116,208365,'D','N','N','N',0,'N',10,'N',19,'N',3068,'N','Y','@Action@=I','ad570436-9ec8-447c-9a0e-ee95d33d0cf5','Y','AD_InfoWindow_ID','Info and search/select Window','The Info window is used to search and select records as well as display information relevant to the selection.','Info Window','Y',TO_TIMESTAMP('2013-01-07 18:15:31','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_TIMESTAMP('2013-01-07 18:15:31','YYYY-MM-DD HH24:MI:SS'),100,0,'N','N')
;
-- Jan 7, 2013 6:17:08 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
UPDATE AD_Field SET IsDisplayed='N', IsActive='N', IsDisplayedGrid='N',Updated=TO_TIMESTAMP('2013-01-07 18:17:08','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=4944
;
-- Jan 7, 2013 6:18:46 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
INSERT INTO AD_Field (ColumnSpan,NumLines,SortNo,IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,DisplayLogic,EntityType,Description,Name,IsDisplayed,IsFieldOnly,AD_Field_UU,UpdatedBy,AD_Org_ID,Created,AD_Client_ID,CreatedBy,Updated,IsActive,IsDisplayedGrid,SeqNoGrid,XPosition,IsQuickEntry) VALUES (2,1,0,'N',110,0,'N','N',208365,180,'Y',201638,'N','The Info window is used to search and select records as well as display information relevant to the selection.','@Action@=I','D','Info and search/select Window','Info Window','Y','N','c885c7d6-4ea3-418a-9548-6547646e8ecf',100,0,TO_TIMESTAMP('2013-01-07 18:18:45','YYYY-MM-DD HH24:MI:SS'),0,100,TO_TIMESTAMP('2013-01-07 18:18:45','YYYY-MM-DD HH24:MI:SS'),'Y','Y',180,1,'N')
;
-- Jan 7, 2013 6:23:35 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
ALTER TABLE AD_Menu ADD COLUMN AD_InfoWindow_ID NUMERIC(10) DEFAULT NULL
;
-- Jan 7, 2013 11:45:54 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
UPDATE AD_Column SET AD_Reference_Value_ID=200061, AD_Reference_ID=17,Updated=TO_TIMESTAMP('2013-01-07 23:45:54','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=208363
;
-- Jan 7, 2013 11:48:11 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
UPDATE AD_Field SET DisplayLogic='@IsQueryCriteria@=Y',Updated=TO_TIMESTAMP('2013-01-07 23:48:11','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=201635
;
-- Jan 8, 2013 3:50:56 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
UPDATE AD_Column SET IsAllowCopy='N',Updated=TO_TIMESTAMP('2013-01-08 15:50:56','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=208351
;
-- Jan 8, 2013 3:55:24 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
INSERT INTO AD_Column (SeqNoSelection,IsSyncDatabase,IsEncrypted,Version,AD_Table_ID,AD_Column_ID,EntityType,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsKey,AD_Element_ID,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,Description,DefaultValue,Help,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,AD_Client_ID,IsToolbarButton,IsAlwaysUpdateable) VALUES (0,'N','N',1,895,208366,'D','Y','N','N',0,'N',1,'N',20,'N',2002,'N','Y','bd41e247-9cd9-4eaf-81ba-a98b34d2ecc0','Y','IsValid','Element is valid','N','The element passed the validation check','Valid','N',TO_TIMESTAMP('2013-01-08 15:55:23','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_TIMESTAMP('2013-01-08 15:55:23','YYYY-MM-DD HH24:MI:SS'),100,0,'N','N')
;
-- Jan 8, 2013 3:55:30 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
ALTER TABLE AD_InfoWindow ADD COLUMN IsValid CHAR(1) DEFAULT 'N' CHECK (IsValid IN ('Y','N')) NOT NULL
;
-- Jan 8, 2013 3:56:20 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
INSERT INTO AD_Field (ColumnSpan,NumLines,SortNo,IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,EntityType,Description,Name,IsDisplayed,IsFieldOnly,AD_Field_UU,UpdatedBy,AD_Org_ID,Created,AD_Client_ID,CreatedBy,Updated,IsActive,IsDisplayedGrid,SeqNoGrid,XPosition,IsQuickEntry) VALUES (2,1,0,'N',842,0,'N','N',208366,160,'Y',201639,'N','The element passed the validation check','D','Element is valid','Valid','Y','N','fb3dfc55-0eac-4eb9-bde2-81df3662a8af',100,0,TO_TIMESTAMP('2013-01-08 15:56:19','YYYY-MM-DD HH24:MI:SS'),0,100,TO_TIMESTAMP('2013-01-08 15:56:19','YYYY-MM-DD HH24:MI:SS'),'Y','Y',90,1,'N')
;
-- Jan 8, 2013 3:57:11 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
UPDATE AD_Field SET SeqNo=150, IsDisplayed='Y', XPosition=3,Updated=TO_TIMESTAMP('2013-01-08 15:57:11','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=201628
;
-- Jan 8, 2013 3:57:11 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
UPDATE AD_Field SET SeqNo=160, IsDisplayed='Y', XPosition=4,Updated=TO_TIMESTAMP('2013-01-08 15:57:11','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=201639
;
-- Jan 8, 2013 4:35:44 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
INSERT INTO AD_Table (ImportTable,CopyColumnsFromTable,IsSecurityEnabled,AccessLevel,LoadSeq,AD_Table_ID,IsHighVolume,IsView,IsChangeLog,EntityType,ReplicationType,AD_Table_UU,IsCentrallyMaintained,IsDeleteable,TableName,Name,AD_Client_ID,IsActive,AD_Org_ID,CreatedBy,Updated,UpdatedBy,Created) VALUES ('N','N','N','6',0,200054,'N','N','N','D','L','3bd37917-909f-457e-892f-0bb9416af9a0','Y','Y','AD_InfoWindow_Access','Info Window Access',0,'Y',0,100,TO_TIMESTAMP('2013-01-08 16:35:42','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2013-01-08 16:35:42','YYYY-MM-DD HH24:MI:SS'))
;
-- Jan 8, 2013 4:36:04 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
INSERT INTO AD_Column (IsSyncDatabase,IsEncrypted,Version,AD_Table_ID,AD_Column_ID,EntityType,IsMandatory,IsTranslated,IsIdentifier,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,AD_Val_Rule_ID,IsKey,AD_Element_ID,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,Description,DefaultValue,Help,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,AD_Client_ID,IsToolbarButton,IsAlwaysUpdateable) VALUES ('N','N',1,200054,208367,'D','Y','N','N','N',22,'N',19,129,'N',102,'N','Y','44f1a48e-c732-43a7-953a-910d601741d0','N','AD_Client_ID','Client/Tenant for this installation.','@#AD_Client_ID@','A Client is a company or a legal entity. You cannot share data between Clients. Tenant is a synonym for Client.','Client','N',TO_TIMESTAMP('2013-01-08 16:36:03','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_TIMESTAMP('2013-01-08 16:36:03','YYYY-MM-DD HH24:MI:SS'),100,0,'N','N')
;
-- Jan 8, 2013 4:36:04 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
INSERT INTO AD_Column (IsSyncDatabase,IsEncrypted,Version,AD_Table_ID,AD_Column_ID,EntityType,IsMandatory,IsTranslated,IsIdentifier,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,AD_Val_Rule_ID,IsKey,AD_Element_ID,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,Description,DefaultValue,Help,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,AD_Client_ID,IsToolbarButton,IsAlwaysUpdateable) VALUES ('N','N',1,200054,208368,'D','Y','N','N','N',22,'N',19,104,'N',113,'N','Y','daafd18d-41eb-4ec3-a866-1db36ca31f2f','N','AD_Org_ID','Organizational entity within client','@#AD_Org_ID@','An organization is a unit of your client or legal entity - examples are store, department. You can share data between organizations.','Organization','N',TO_TIMESTAMP('2013-01-08 16:36:04','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_TIMESTAMP('2013-01-08 16:36:04','YYYY-MM-DD HH24:MI:SS'),100,0,'N','N')
;
-- Jan 8, 2013 4:36:05 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
INSERT INTO AD_Column (IsSyncDatabase,IsEncrypted,Version,AD_Table_ID,AD_Column_ID,EntityType,IsMandatory,IsTranslated,IsIdentifier,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsKey,AD_Element_ID,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,Description,Help,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,AD_Client_ID,IsToolbarButton,IsAlwaysUpdateable) VALUES ('N','N',1,200054,208369,'D','Y','N','N','N',7,'N',16,'N',245,'N','Y','1e86c85f-353d-41b6-9b9c-f8241166ba7c','N','Created','Date this record was created','The Created field indicates the date that this record was created.','Created','N',TO_TIMESTAMP('2013-01-08 16:36:04','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_TIMESTAMP('2013-01-08 16:36:04','YYYY-MM-DD HH24:MI:SS'),100,0,'N','N')
;
-- Jan 8, 2013 4:36:06 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
INSERT INTO AD_Column (IsSyncDatabase,IsEncrypted,Version,AD_Table_ID,AD_Column_ID,EntityType,AD_Reference_Value_ID,IsMandatory,IsTranslated,IsIdentifier,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsKey,AD_Element_ID,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,Description,Help,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,AD_Client_ID,IsToolbarButton,IsAlwaysUpdateable) VALUES ('N','N',1,200054,208370,'D',110,'Y','N','N','N',22,'N',18,'N',246,'N','Y','65952c45-d736-479a-93da-6a2c20a0ab31','N','CreatedBy','User who created this records','The Created By field indicates the user who created this record.','Created By','N',TO_TIMESTAMP('2013-01-08 16:36:05','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_TIMESTAMP('2013-01-08 16:36:05','YYYY-MM-DD HH24:MI:SS'),100,0,'N','N')
;
-- Jan 8, 2013 4:36:07 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
INSERT INTO AD_Column (IsSyncDatabase,IsEncrypted,Version,AD_Table_ID,AD_Column_ID,EntityType,IsMandatory,IsTranslated,IsIdentifier,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsKey,AD_Element_ID,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,Description,DefaultValue,Help,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,AD_Client_ID,IsToolbarButton,IsAlwaysUpdateable) VALUES ('N','N',1,200054,208371,'D','Y','N','N','N',1,'N',20,'N',348,'N','Y','68d59bbf-a3bc-4467-b49d-433ba81e97e2','Y','IsActive','The record is active in the system','Y','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.','Active','N',TO_TIMESTAMP('2013-01-08 16:36:06','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_TIMESTAMP('2013-01-08 16:36:06','YYYY-MM-DD HH24:MI:SS'),100,0,'N','N')
;
-- Jan 8, 2013 4:36:09 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
INSERT INTO AD_Element (ColumnName,AD_Element_ID,EntityType,Name,PrintName,AD_Element_UU,AD_Client_ID,Created,Updated,AD_Org_ID,CreatedBy,UpdatedBy,IsActive) VALUES ('AD_InfoWindow_Access_UU',202191,'D','AD_InfoWindow_Access_UU','AD_InfoWindow_Access_UU','c711fc3d-f204-4018-95fa-260105f4a829',0,TO_TIMESTAMP('2013-01-08 16:36:09','YYYY-MM-DD HH24:MI:SS'),TO_TIMESTAMP('2013-01-08 16:36:09','YYYY-MM-DD HH24:MI:SS'),0,100,100,'Y')
;
-- Jan 8, 2013 4:36:10 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
INSERT INTO AD_Column (IsSyncDatabase,IsEncrypted,Version,AD_Table_ID,AD_Column_ID,EntityType,IsMandatory,IsTranslated,IsIdentifier,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsKey,AD_Element_ID,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,AD_Client_ID,IsToolbarButton,IsAlwaysUpdateable) VALUES ('N','N',1.00,200054,208373,'D','N','N','N','N',36,'N',10,'N',202191,'N','Y','8f7de6f9-9a2b-44fe-bb85-b286fb50cb02','Y','AD_InfoWindow_Access_UU','AD_InfoWindow_Access_UU','N',TO_TIMESTAMP('2013-01-08 16:36:09','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_TIMESTAMP('2013-01-08 16:36:09','YYYY-MM-DD HH24:MI:SS'),100,0,'N','N')
;
-- Jan 8, 2013 4:36:11 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
INSERT INTO AD_Column (IsSyncDatabase,IsEncrypted,Version,AD_Table_ID,AD_Column_ID,EntityType,IsMandatory,IsTranslated,IsIdentifier,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsKey,AD_Element_ID,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,Description,Help,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,AD_Client_ID,IsToolbarButton,IsAlwaysUpdateable) VALUES ('N','N',1,200054,208374,'D','Y','N','N','N',7,'N',16,'N',607,'N','Y','9fb38f84-8045-4098-8c29-2a6b3655cc30','N','Updated','Date this record was updated','The Updated field indicates the date that this record was updated.','Updated','N',TO_TIMESTAMP('2013-01-08 16:36:10','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_TIMESTAMP('2013-01-08 16:36:10','YYYY-MM-DD HH24:MI:SS'),100,0,'N','N')
;
-- Jan 8, 2013 4:36:12 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
INSERT INTO AD_Column (IsSyncDatabase,IsEncrypted,Version,AD_Table_ID,AD_Column_ID,EntityType,AD_Reference_Value_ID,IsMandatory,IsTranslated,IsIdentifier,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsKey,AD_Element_ID,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,Description,Help,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,AD_Client_ID,IsToolbarButton,IsAlwaysUpdateable) VALUES ('N','N',1,200054,208375,'D',110,'Y','N','N','N',22,'N',18,'N',608,'N','Y','d3d63740-11cd-4d46-9e67-fa7387de5539','N','UpdatedBy','User who updated this records','The Updated By field indicates the user who updated this record.','Updated By','N',TO_TIMESTAMP('2013-01-08 16:36:11','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_TIMESTAMP('2013-01-08 16:36:11','YYYY-MM-DD HH24:MI:SS'),100,0,'N','N')
;
-- Jan 8, 2013 4:37:49 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
INSERT INTO AD_Column (SeqNoSelection,IsSyncDatabase,IsEncrypted,Version,AD_Table_ID,AD_Column_ID,EntityType,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsKey,AD_Element_ID,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,Description,Help,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,AD_Client_ID,IsToolbarButton,IsAlwaysUpdateable) VALUES (0,'N','N',1,200054,208376,'D','Y','N','N',0,'Y',10,'N',19,'N',123,'N','Y','7f58fd78-7dc3-4cf5-afb7-7d69a5f4a83f','N','AD_Role_ID','Responsibility Role','The Role determines security and access a user who has this Role will have in the System.','Role','Y',TO_TIMESTAMP('2013-01-08 16:37:48','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_TIMESTAMP('2013-01-08 16:37:48','YYYY-MM-DD HH24:MI:SS'),100,0,'N','N')
;
-- Jan 8, 2013 4:38:51 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
INSERT INTO AD_Column (SeqNoSelection,IsSyncDatabase,IsEncrypted,Version,AD_Table_ID,AD_Column_ID,EntityType,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsKey,AD_Element_ID,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,Description,Help,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,AD_Client_ID,IsToolbarButton,IsAlwaysUpdateable) VALUES (0,'N','N',1,200054,208377,'D','Y','N','N',0,'Y',10,'N',19,'N',3068,'N','Y','947b4792-bd5b-405e-bc1c-18d122e22e67','N','AD_InfoWindow_ID','Info and search/select Window','The Info window is used to search and select records as well as display information relevant to the selection.','Info Window','Y',TO_TIMESTAMP('2013-01-08 16:38:50','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_TIMESTAMP('2013-01-08 16:38:50','YYYY-MM-DD HH24:MI:SS'),100,0,'N','N')
;
-- Jan 8, 2013 4:39:57 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
CREATE TABLE AD_InfoWindow_Access (AD_Client_ID NUMERIC(10) NOT NULL, AD_InfoWindow_Access_UU VARCHAR(36) DEFAULT NULL , AD_InfoWindow_ID NUMERIC(10) NOT NULL, AD_Org_ID NUMERIC(10) NOT NULL, AD_Role_ID NUMERIC(10) NOT NULL, Created TIMESTAMP NOT NULL, CreatedBy NUMERIC(10) NOT NULL, IsActive CHAR(1) DEFAULT 'Y' CHECK (IsActive IN ('Y','N')) NOT NULL, Updated TIMESTAMP NOT NULL, UpdatedBy NUMERIC(10) NOT NULL, CONSTRAINT AD_InfoWindow_Access_Key PRIMARY KEY (AD_Role_ID, AD_InfoWindow_ID))
;
-- Jan 8, 2013 4:42:28 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
INSERT INTO AD_Tab (ImportFields,Processing,IsSingleRow,AD_Window_ID,SeqNo,IsTranslationTab,IsSortTab,AD_Table_ID,HasTree,AD_Column_ID,IsInfoTab,IsReadOnly,IsInsertRecord,IsAdvancedTab,TabLevel,AD_Tab_UU,EntityType,Name,AD_Tab_ID,AD_Client_ID,AD_Org_ID,Created,CreatedBy,Updated,UpdatedBy,IsActive) VALUES ('N','N','N',111,65,'N','N',200054,'N',208376,'N','N','Y','N',1,'56ad707e-3224-4705-93b6-e890862d6836','D','Info Window Access',200064,0,0,TO_TIMESTAMP('2013-01-08 16:42:27','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2013-01-08 16:42:27','YYYY-MM-DD HH24:MI:SS'),100,'Y')
;
-- Jan 8, 2013 4:42:58 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,EntityType,Description,Name,IsDisplayed,IsFieldOnly,AD_Field_UU,UpdatedBy,AD_Org_ID,Created,AD_Client_ID,CreatedBy,Updated,IsActive) VALUES ('N',200064,1,'N','N',208371,'Y',201640,'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.','D','The record is active in the system','Active','Y','N','19fbfbe9-9921-4e32-9797-8c29e79b688f',100,0,TO_TIMESTAMP('2013-01-08 16:42:57','YYYY-MM-DD HH24:MI:SS'),0,100,TO_TIMESTAMP('2013-01-08 16:42:57','YYYY-MM-DD HH24:MI:SS'),'Y')
;
-- Jan 8, 2013 4:42:59 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,EntityType,Name,IsDisplayed,IsFieldOnly,AD_Field_UU,UpdatedBy,AD_Org_ID,Created,AD_Client_ID,CreatedBy,Updated,IsActive) VALUES ('N',200064,36,'N','N',208373,'Y',201641,'N','D','AD_InfoWindow_Access_UU','Y','N','2e4da5d9-19c1-4fd3-9373-ad0fb7195ab7',100,0,TO_TIMESTAMP('2013-01-08 16:42:58','YYYY-MM-DD HH24:MI:SS'),0,100,TO_TIMESTAMP('2013-01-08 16:42:58','YYYY-MM-DD HH24:MI:SS'),'Y')
;
-- Jan 8, 2013 4:43:00 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,EntityType,Description,Name,IsDisplayed,IsFieldOnly,AD_Field_UU,UpdatedBy,AD_Org_ID,Created,AD_Client_ID,CreatedBy,Updated,IsActive) VALUES ('N',200064,22,'N','N',208367,'Y',201642,'N','A Client is a company or a legal entity. You cannot share data between Clients. Tenant is a synonym for Client.','D','Client/Tenant for this installation.','Client','Y','N','bfd467d8-8b5f-47eb-9d8b-8e3391f2e5f6',100,0,TO_TIMESTAMP('2013-01-08 16:42:59','YYYY-MM-DD HH24:MI:SS'),0,100,TO_TIMESTAMP('2013-01-08 16:42:59','YYYY-MM-DD HH24:MI:SS'),'Y')
;
-- Jan 8, 2013 4:43:01 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,EntityType,Description,Name,IsDisplayed,IsFieldOnly,AD_Field_UU,UpdatedBy,AD_Org_ID,Created,AD_Client_ID,CreatedBy,Updated,IsActive) VALUES ('N',200064,10,'N','N',208377,'Y',201643,'N','The Info window is used to search and select records as well as display information relevant to the selection.','D','Info and search/select Window','Info Window','Y','N','c282dcec-f3b2-4690-9d8c-c5e5800496ea',100,0,TO_TIMESTAMP('2013-01-08 16:43:00','YYYY-MM-DD HH24:MI:SS'),0,100,TO_TIMESTAMP('2013-01-08 16:43:00','YYYY-MM-DD HH24:MI:SS'),'Y')
;
-- Jan 8, 2013 4:43:02 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,EntityType,Description,Name,IsDisplayed,IsFieldOnly,AD_Field_UU,UpdatedBy,AD_Org_ID,Created,AD_Client_ID,CreatedBy,Updated,IsActive) VALUES ('N',200064,22,'N','N',208368,'Y',201645,'N','An organization is a unit of your client or legal entity - examples are store, department. You can share data between organizations.','D','Organizational entity within client','Organization','Y','N','f1b10a76-8ca1-47eb-adad-34e76e15863a',100,0,TO_TIMESTAMP('2013-01-08 16:43:02','YYYY-MM-DD HH24:MI:SS'),0,100,TO_TIMESTAMP('2013-01-08 16:43:02','YYYY-MM-DD HH24:MI:SS'),'Y')
;
-- Jan 8, 2013 4:43:03 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,EntityType,Description,Name,IsDisplayed,IsFieldOnly,AD_Field_UU,UpdatedBy,AD_Org_ID,Created,AD_Client_ID,CreatedBy,Updated,IsActive) VALUES ('N',200064,10,'N','N',208376,'Y',201646,'N','The Role determines security and access a user who has this Role will have in the System.','D','Responsibility Role','Role','Y','N','69a2be8a-c03a-4c0e-88fc-7558647097a3',100,0,TO_TIMESTAMP('2013-01-08 16:43:02','YYYY-MM-DD HH24:MI:SS'),0,100,TO_TIMESTAMP('2013-01-08 16:43:02','YYYY-MM-DD HH24:MI:SS'),'Y')
;
-- Jan 8, 2013 4:45:56 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
UPDATE AD_Field SET ColumnSpan=2, SeqNo=10,Updated=TO_TIMESTAMP('2013-01-08 16:45:56','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=201642
;
-- Jan 8, 2013 4:45:57 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
UPDATE AD_Field SET ColumnSpan=2, SeqNo=20, IsDisplayed='Y', XPosition=4,Updated=TO_TIMESTAMP('2013-01-08 16:45:57','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=201645
;
-- Jan 8, 2013 4:45:57 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
UPDATE AD_Field SET ColumnSpan=2, SeqNo=30,Updated=TO_TIMESTAMP('2013-01-08 16:45:57','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=201643
;
-- Jan 8, 2013 4:45:57 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
UPDATE AD_Field SET ColumnSpan=2, SeqNo=40, IsDisplayed='Y', XPosition=1,Updated=TO_TIMESTAMP('2013-01-08 16:45:57','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=201646
;
-- Jan 8, 2013 4:45:57 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
UPDATE AD_Field SET SeqNo=50, IsDisplayed='Y', XPosition=2,Updated=TO_TIMESTAMP('2013-01-08 16:45:57','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=201640
;
-- Jan 8, 2013 4:45:57 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
UPDATE AD_Field SET SeqNo=0, IsDisplayed='N', XPosition=1,Updated=TO_TIMESTAMP('2013-01-08 16:45:57','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=201641
;
-- Jan 8, 2013 4:46:24 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
UPDATE AD_Field SET SeqNoGrid=0,IsDisplayedGrid='N' WHERE AD_Field_ID=201641
;
-- Jan 8, 2013 4:46:24 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
UPDATE AD_Field SET SeqNoGrid=10,IsDisplayedGrid='Y' WHERE AD_Field_ID=201642
;
-- Jan 8, 2013 4:46:24 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
UPDATE AD_Field SET SeqNoGrid=20,IsDisplayedGrid='Y' WHERE AD_Field_ID=201645
;
-- Jan 8, 2013 4:46:24 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
UPDATE AD_Field SET SeqNoGrid=30,IsDisplayedGrid='Y' WHERE AD_Field_ID=201646
;
-- Jan 8, 2013 4:46:24 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
UPDATE AD_Field SET SeqNoGrid=40,IsDisplayedGrid='Y' WHERE AD_Field_ID=201643
;
-- Jan 8, 2013 4:46:24 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
UPDATE AD_Field SET SeqNoGrid=50,IsDisplayedGrid='Y' WHERE AD_Field_ID=201640
;
-- Jan 8, 2013 4:46:33 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
UPDATE AD_Field SET SeqNo=30,IsDisplayed='Y' WHERE AD_Field_ID=201646
;
-- Jan 8, 2013 4:46:33 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
UPDATE AD_Field SET SeqNo=40,IsDisplayed='Y' WHERE AD_Field_ID=201643
;
-- Jan 8, 2013 5:11:23 PM MYT
-- IDEMPIERE-325 AD_InfoWindow
UPDATE AD_Tab SET Name='Info Access',Updated=TO_TIMESTAMP('2013-01-08 17:11:23','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=200064
;
CREATE UNIQUE INDEX AD_InfoWindow_Unique_Name ON AD_InfoWindow (AD_Client_ID, Name)
;
SELECT register_migration_script('201301081022_IDEMPIERE-325.sql') FROM dual
;

View File

@ -50,6 +50,9 @@ public class InfoWindowValidate extends SvrProcess
throws Exception throws Exception
{ {
MInfoWindow infoWindow = new MInfoWindow(getCtx(), p_AD_InfoWindow_ID, (String)null); MInfoWindow infoWindow = new MInfoWindow(getCtx(), p_AD_InfoWindow_ID, (String)null);
infoWindow.setIsValid(false);
infoWindow.saveEx();
StringBuilder builder = new StringBuilder("SELECT "); StringBuilder builder = new StringBuilder("SELECT ");
if (infoWindow.isDistinct()) if (infoWindow.isDistinct())
builder.append("DISTINCT "); builder.append("DISTINCT ");
@ -75,6 +78,10 @@ public class InfoWindowValidate extends SvrProcess
builder.append(" ").append(infoWindow.getOtherClause()); builder.append(" ").append(infoWindow.getOtherClause());
} }
if (infoWindow.getOrderByClause() != null && infoWindow.getOrderByClause().trim().length() > 0) {
builder.append(" ORDER BY ").append(infoWindow.getOrderByClause());
}
while(builder.indexOf("@") >= 0) { while(builder.indexOf("@") >= 0) {
int start = builder.indexOf("@"); int start = builder.indexOf("@");
int end = builder.indexOf("@", start+1); int end = builder.indexOf("@", start+1);
@ -93,6 +100,9 @@ public class InfoWindowValidate extends SvrProcess
DB.close(pstmt); DB.close(pstmt);
} }
infoWindow.setIsValid(true);
infoWindow.saveEx();
return "Ok"; return "Ok";
} // doIt } // doIt

View File

@ -89,5 +89,15 @@
tableName="AD_InfoWindow"> tableName="AD_InfoWindow">
</callout> </callout>
</extension> </extension>
<extension
id="org.adempiere.model.CalloutInfoWindow.reference"
point="org.adempiere.base.IColumnCallout">
<callout
class="org.adempiere.model.CalloutInfoWindow"
columnName="AD_Reference_ID"
priority="0"
tableName="AD_InfoColumn">
</callout>
</extension>
</plugin> </plugin>

View File

@ -1,6 +1,16 @@
/** /******************************************************************************
* * Copyright (C) 2013 Heng Sin Low *
*/ * Copyright (C) 2013 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.model; package org.adempiere.model;
import java.util.HashMap; import java.util.HashMap;
@ -17,6 +27,8 @@ import org.compiere.model.I_AD_InfoWindow;
import org.compiere.model.MColumn; import org.compiere.model.MColumn;
import org.compiere.model.MTable; import org.compiere.model.MTable;
import org.compiere.model.M_Element; import org.compiere.model.M_Element;
import org.compiere.model.X_AD_InfoColumn;
import org.compiere.util.DisplayType;
import org.compiere.util.Env; import org.compiere.util.Env;
/** /**
@ -38,13 +50,41 @@ public class CalloutInfoWindow implements IColumnCallout {
public String start(Properties ctx, int WindowNo, GridTab mTab, public String start(Properties ctx, int WindowNo, GridTab mTab,
GridField mField, Object value, Object oldValue) { GridField mField, Object value, Object oldValue) {
if (mTab.getTableName().equals("AD_InfoColumn")) if (mTab.getTableName().equals("AD_InfoColumn"))
return element(mTab, value); if (mField.getColumnName().equals("AD_Element_ID"))
return element(mTab, value);
else if (mField.getColumnName().equals("AD_Reference_ID"))
return reference(mTab, value);
else
return "";
else if (mTab.getTableName().equals("AD_InfoWindow")) else if (mTab.getTableName().equals("AD_InfoWindow"))
return table(mTab, value); return table(mTab, value);
else else
return ""; return "";
} }
private String reference(GridTab mTab, Object value) {
if (value != null) {
int id = ((Number)value).intValue();
if (id > 0) {
I_AD_InfoColumn infoColumn = GridTabWrapper.create(mTab, I_AD_InfoColumn.class);
setQueryOption(id, infoColumn);
}
}
return null;
}
private void setQueryOption(int AD_Reference_ID, I_AD_InfoColumn infoColumn) {
if (DisplayType.isText(AD_Reference_ID)) {
infoColumn.setQueryOperator(X_AD_InfoColumn.QUERYOPERATOR_Like);
infoColumn.setQueryFunction("Upper");
} else {
infoColumn.setQueryOperator(X_AD_InfoColumn.QUERYOPERATOR_Eq);
}
if (AD_Reference_ID == DisplayType.Date) {
infoColumn.setQueryFunction("Trunc");
}
}
private String table(GridTab mTab, Object value) { private String table(GridTab mTab, Object value) {
if (value != null) { if (value != null) {
int id = ((Number)value).intValue(); int id = ((Number)value).intValue();
@ -95,8 +135,10 @@ public class CalloutInfoWindow implements IColumnCallout {
infoColumn.setAD_Reference_ID(col.getAD_Reference_ID()); infoColumn.setAD_Reference_ID(col.getAD_Reference_ID());
infoColumn.setAD_Reference_Value_ID(col.getAD_Reference_Value_ID()); infoColumn.setAD_Reference_Value_ID(col.getAD_Reference_Value_ID());
infoColumn.setAD_Val_Rule_ID(col.getAD_Val_Rule_ID()); infoColumn.setAD_Val_Rule_ID(col.getAD_Val_Rule_ID());
if ((col.isSelectionColumn() || col.isIdentifier()) && !col.isKey()) if ((col.isSelectionColumn() || col.isIdentifier()) && !col.isKey()) {
infoColumn.setIsQueryCriteria(true); infoColumn.setIsQueryCriteria(true);
setQueryOption(infoColumn.getAD_Reference_ID(), infoColumn);
}
break; break;
} }
} }

View File

@ -307,6 +307,32 @@ public interface I_AD_InfoColumn
*/ */
public String getName(); public String getName();
/** Column name QueryFunction */
public static final String COLUMNNAME_QueryFunction = "QueryFunction";
/** Set Query Function.
* Database function for query
*/
public void setQueryFunction (String QueryFunction);
/** Get Query Function.
* Database function for query
*/
public String getQueryFunction();
/** Column name QueryOperator */
public static final String COLUMNNAME_QueryOperator = "QueryOperator";
/** Set Query Operator.
* Operator for database query
*/
public void setQueryOperator (String QueryOperator);
/** Get Query Operator.
* Operator for database query
*/
public String getQueryOperator();
/** Column name SelectClause */ /** Column name SelectClause */
public static final String COLUMNNAME_SelectClause = "SelectClause"; public static final String COLUMNNAME_SelectClause = "SelectClause";

View File

@ -208,6 +208,19 @@ public interface I_AD_InfoWindow
*/ */
public boolean isDistinct(); public boolean isDistinct();
/** Column name IsValid */
public static final String COLUMNNAME_IsValid = "IsValid";
/** Set Valid.
* Element is valid
*/
public void setIsValid (boolean IsValid);
/** Get Valid.
* Element is valid
*/
public boolean isValid();
/** Column name Name */ /** Column name Name */
public static final String COLUMNNAME_Name = "Name"; public static final String COLUMNNAME_Name = "Name";

View File

@ -0,0 +1,148 @@
/******************************************************************************
* Product: iDempiere ERP & CRM Smart Business Solution *
* Copyright (C) 1999-2012 ComPiere, Inc. All Rights Reserved. *
* 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. *
* For the text or an alternative of this public license, you may reach us *
* ComPiere, Inc., 2620 Augustine Dr. #245, Santa Clara, CA 95054, USA *
* or via info@compiere.org or http://www.compiere.org/license.html *
*****************************************************************************/
package org.compiere.model;
import java.math.BigDecimal;
import java.sql.Timestamp;
import org.compiere.util.KeyNamePair;
/** Generated Interface for AD_InfoWindow_Access
* @author iDempiere (generated)
* @version Release 1.0a
*/
public interface I_AD_InfoWindow_Access
{
/** TableName=AD_InfoWindow_Access */
public static final String Table_Name = "AD_InfoWindow_Access";
/** AD_Table_ID=200054 */
public static final int Table_ID = 200054;
KeyNamePair Model = new KeyNamePair(Table_ID, Table_Name);
/** AccessLevel = 6 - System - Client
*/
BigDecimal accessLevel = BigDecimal.valueOf(6);
/** Load Meta Data */
/** Column name AD_Client_ID */
public static final String COLUMNNAME_AD_Client_ID = "AD_Client_ID";
/** Get Client.
* Client/Tenant for this installation.
*/
public int getAD_Client_ID();
/** Column name AD_InfoWindow_Access_UU */
public static final String COLUMNNAME_AD_InfoWindow_Access_UU = "AD_InfoWindow_Access_UU";
/** Set AD_InfoWindow_Access_UU */
public void setAD_InfoWindow_Access_UU (String AD_InfoWindow_Access_UU);
/** Get AD_InfoWindow_Access_UU */
public String getAD_InfoWindow_Access_UU();
/** Column name AD_InfoWindow_ID */
public static final String COLUMNNAME_AD_InfoWindow_ID = "AD_InfoWindow_ID";
/** Set Info Window.
* Info and search/select Window
*/
public void setAD_InfoWindow_ID (int AD_InfoWindow_ID);
/** Get Info Window.
* Info and search/select Window
*/
public int getAD_InfoWindow_ID();
public org.compiere.model.I_AD_InfoWindow getAD_InfoWindow() throws RuntimeException;
/** Column name AD_Org_ID */
public static final String COLUMNNAME_AD_Org_ID = "AD_Org_ID";
/** Set Organization.
* Organizational entity within client
*/
public void setAD_Org_ID (int AD_Org_ID);
/** Get Organization.
* Organizational entity within client
*/
public int getAD_Org_ID();
/** Column name AD_Role_ID */
public static final String COLUMNNAME_AD_Role_ID = "AD_Role_ID";
/** Set Role.
* Responsibility Role
*/
public void setAD_Role_ID (int AD_Role_ID);
/** Get Role.
* Responsibility Role
*/
public int getAD_Role_ID();
public org.compiere.model.I_AD_Role getAD_Role() throws RuntimeException;
/** Column name Created */
public static final String COLUMNNAME_Created = "Created";
/** Get Created.
* Date this record was created
*/
public Timestamp getCreated();
/** Column name CreatedBy */
public static final String COLUMNNAME_CreatedBy = "CreatedBy";
/** Get Created By.
* User who created this records
*/
public int getCreatedBy();
/** Column name IsActive */
public static final String COLUMNNAME_IsActive = "IsActive";
/** Set Active.
* The record is active in the system
*/
public void setIsActive (boolean IsActive);
/** Get Active.
* The record is active in the system
*/
public boolean isActive();
/** Column name Updated */
public static final String COLUMNNAME_Updated = "Updated";
/** Get Updated.
* Date this record was updated
*/
public Timestamp getUpdated();
/** Column name UpdatedBy */
public static final String COLUMNNAME_UpdatedBy = "UpdatedBy";
/** Get Updated By.
* User who updated this records
*/
public int getUpdatedBy();
}

View File

@ -77,6 +77,21 @@ public interface I_AD_Menu
public org.compiere.model.I_AD_Form getAD_Form() throws RuntimeException; public org.compiere.model.I_AD_Form getAD_Form() throws RuntimeException;
/** Column name AD_InfoWindow_ID */
public static final String COLUMNNAME_AD_InfoWindow_ID = "AD_InfoWindow_ID";
/** Set Info Window.
* Info and search/select Window
*/
public void setAD_InfoWindow_ID (int AD_InfoWindow_ID);
/** Get Info Window.
* Info and search/select Window
*/
public int getAD_InfoWindow_ID();
public org.compiere.model.I_AD_InfoWindow getAD_InfoWindow() throws RuntimeException;
/** Column name AD_Menu_ID */ /** Column name AD_Menu_ID */
public static final String COLUMNNAME_AD_Menu_ID = "AD_Menu_ID"; public static final String COLUMNNAME_AD_Menu_ID = "AD_Menu_ID";
@ -157,21 +172,6 @@ public interface I_AD_Menu
public org.compiere.model.I_AD_Window getAD_Window() throws RuntimeException; public org.compiere.model.I_AD_Window getAD_Window() throws RuntimeException;
/** Column name AD_Workbench_ID */
public static final String COLUMNNAME_AD_Workbench_ID = "AD_Workbench_ID";
/** Set Workbench.
* Collection of windows, reports
*/
public void setAD_Workbench_ID (int AD_Workbench_ID);
/** Get Workbench.
* Collection of windows, reports
*/
public int getAD_Workbench_ID();
public org.compiere.model.I_AD_Workbench getAD_Workbench() throws RuntimeException;
/** Column name AD_Workflow_ID */ /** Column name AD_Workflow_ID */
public static final String COLUMNNAME_AD_Workflow_ID = "AD_Workflow_ID"; public static final String COLUMNNAME_AD_Workflow_ID = "AD_Workflow_ID";

View File

@ -59,7 +59,7 @@ public class MInfoWindow extends X_AD_InfoWindow
} // MInfoWindow } // MInfoWindow
public static MInfoWindow get(String tableName, String trxName) { public static MInfoWindow get(String tableName, String trxName) {
Query query = new Query(Env.getCtx(), MTable.get(Env.getCtx(), I_AD_InfoWindow.Table_ID), I_AD_InfoWindow.COLUMNNAME_AD_Table_ID+"=?", null); Query query = new Query(Env.getCtx(), MTable.get(Env.getCtx(), I_AD_InfoWindow.Table_ID), I_AD_InfoWindow.COLUMNNAME_AD_Table_ID+"=? AND IsValid='Y' ", null);
MTable table = MTable.get(Env.getCtx(), tableName); MTable table = MTable.get(Env.getCtx(), tableName);
if (table != null) { if (table != null) {
return query.setParameters(table.getAD_Table_ID()) return query.setParameters(table.getAD_Table_ID())
@ -131,4 +131,20 @@ public class MInfoWindow extends X_AD_InfoWindow
} }
return true; return true;
} }
@Override
protected boolean afterSave(boolean newRecord, boolean success) {
if (newRecord && success) // Add to all automatic roles
{
MRole[] roles = MRole.getOf(getCtx(), "IsManual='N'");
for (int i = 0; i < roles.length; i++)
{
MInfoWindowAccess wa = new MInfoWindowAccess(this, roles[i].getAD_Role_ID());
wa.saveEx();
}
}
return super.afterSave(newRecord, success);
}
} // MInfoWindow } // MInfoWindow

View File

@ -0,0 +1,59 @@
/**
*
*/
package org.compiere.model;
import java.sql.ResultSet;
import java.util.Properties;
/**
* @author hengsin
*
*/
public class MInfoWindowAccess extends X_AD_InfoWindow_Access {
/**
* generated serial id
*/
private static final long serialVersionUID = -5134731157350014858L;
/**
* @param ctx
* @param ignored
* @param trxName
*/
public MInfoWindowAccess(Properties ctx, int ignored, String trxName) {
super(ctx, 0, trxName);
if (ignored != 0)
throw new IllegalArgumentException("Multi-Key");
else
{
// setAD_InfoWindow_ID (0);
// setAD_Role_ID (0);
}
}
/**
* @param ctx
* @param rs
* @param trxName
*/
public MInfoWindowAccess(Properties ctx, ResultSet rs, String trxName) {
super(ctx, rs, trxName);
}
/**
* Parent Constructor
* @param parent parent
* @param AD_Role_ID role id
*/
public MInfoWindowAccess (MInfoWindow parent, int AD_Role_ID)
{
super (parent.getCtx(), 0, parent.get_TrxName());
MRole role = MRole.get(parent.getCtx(), AD_Role_ID);
setClientOrg(role);
setAD_InfoWindow_ID(parent.getAD_InfoWindow_ID());
setAD_Role_ID (AD_Role_ID);
} // MInfoWindowAccess
}

View File

@ -721,9 +721,9 @@ public final class MLookup extends Lookup implements Serializable
} }
// //
if (CLogMgt.isLevelFiner()) if (CLogMgt.isLevelFiner())
Env.setContext(m_info.ctx, Env.WINDOW_MLOOKUP, m_info.Column_ID, m_info.KeyColumn, sql.toString()); log.finer(m_info.Column_ID + ", " + m_info.KeyColumn + ": " + sql.toString());
if (CLogMgt.isLevelFinest()) if (CLogMgt.isLevelFinest())
log.fine(m_info.KeyColumn + ": " + sql); log.finest(m_info.KeyColumn + ": " + sql);
// Reset // Reset
m_lookup.clear(); m_lookup.clear();

View File

@ -124,13 +124,13 @@ public class MMenu extends X_AD_Menu
setAD_Form_ID(0); setAD_Form_ID(0);
if (getAD_Workflow_ID() != 0 && !action.equals(ACTION_WorkFlow)) if (getAD_Workflow_ID() != 0 && !action.equals(ACTION_WorkFlow))
setAD_Workflow_ID(0); setAD_Workflow_ID(0);
if (getAD_Workbench_ID() != 0 && !action.equals(ACTION_Workbench))
setAD_Workbench_ID(0);
if (getAD_Task_ID() != 0 && !action.equals(ACTION_Task)) if (getAD_Task_ID() != 0 && !action.equals(ACTION_Task))
setAD_Task_ID(0); setAD_Task_ID(0);
if (getAD_Process_ID() != 0 if (getAD_Process_ID() != 0
&& !(action.equals(ACTION_Process) || action.equals(ACTION_Report))) && !(action.equals(ACTION_Process) || action.equals(ACTION_Report)))
setAD_Process_ID(0); setAD_Process_ID(0);
if (getAD_InfoWindow_ID() != 0 && !action.equals(ACTION_Info))
setAD_InfoWindow_ID(0);
return true; return true;
} // beforeSave } // beforeSave

View File

@ -2797,6 +2797,7 @@ public final class MRole extends X_AD_Role
} }
private int m_includedSeqNo = -1; private int m_includedSeqNo = -1;
private HashMap<Integer, Boolean> m_infoAccess;
/** /**
* Merge permissions access * Merge permissions access
@ -2988,6 +2989,11 @@ public final class MRole extends X_AD_Role
getFormAccess(-1); getFormAccess(-1);
return m_formAccess; return m_formAccess;
} }
else if ("m_infoAccess".equals(varname))
{
getInfoAccess(-1);
return m_infoAccess;
}
else else
{ {
throw new IllegalArgumentException("varname not supported - "+varname); throw new IllegalArgumentException("varname not supported - "+varname);
@ -3015,6 +3021,10 @@ public final class MRole extends X_AD_Role
{ {
m_formAccess = map; m_formAccess = map;
} }
else if ("m_infoAccess".equals(varname))
{
m_infoAccess = map;
}
else else
{ {
throw new IllegalArgumentException("varname not supported - "+varname); throw new IllegalArgumentException("varname not supported - "+varname);
@ -3059,4 +3069,80 @@ public final class MRole extends X_AD_Role
return whereClause.toString(); return whereClause.toString();
} }
public Boolean getInfoAccess(int AD_InfoWindow_ID) {
if (m_infoAccess == null)
{
m_infoAccess = new HashMap<Integer,Boolean>(20);
// first get the info access from the included and substitute roles
mergeIncludedAccess("m_infoAccess");
// and now get the info access directly from this role
String ASPFilter = "";
/*
MClient client = MClient.get(getCtx(), getAD_Client_ID());
if (client.isUseASP())
ASPFilter =
" AND ( AD_InfoWindow_ID IN ( "
// Just ASP subscribed forms for client "
+ " SELECT f.AD_InfoWindow_ID "
+ " FROM ASP_InfoWindow f, ASP_Level l, ASP_ClientLevel cl "
+ " WHERE f.ASP_Level_ID = l.ASP_Level_ID "
+ " AND cl.AD_Client_ID = " + client.getAD_Client_ID()
+ " AND cl.ASP_Level_ID = l.ASP_Level_ID "
+ " AND f.IsActive = 'Y' "
+ " AND l.IsActive = 'Y' "
+ " AND cl.IsActive = 'Y' "
+ " AND f.ASP_Status = 'S') " // Show
+ " OR AD_InfoWindow_ID IN ( "
// + show ASP exceptions for client
+ " SELECT AD_InfoWindow_ID "
+ " FROM ASP_ClientException ce "
+ " WHERE ce.AD_Client_ID = " + client.getAD_Client_ID()
+ " AND ce.IsActive = 'Y' "
+ " AND ce.AD_InfoWindow_ID IS NOT NULL "
+ " AND ce.ASP_Status = 'S') " // Show
+ " ) "
+ " AND AD_InfoWindow_ID NOT IN ( "
// minus hide ASP exceptions for client
+ " SELECT AD_InfoWindow_ID "
+ " FROM ASP_ClientException ce "
+ " WHERE ce.AD_Client_ID = " + client.getAD_Client_ID()
+ " AND ce.IsActive = 'Y' "
+ " AND ce.AD_InfoWindow_ID IS NOT NULL "
+ " AND ce.ASP_Status = 'H')"; // Hide
*/
String sql = "SELECT AD_InfoWindow_ID, IsActive FROM AD_InfoWindow_Access WHERE AD_Role_ID=?" + ASPFilter;
PreparedStatement pstmt = null;
ResultSet rs = null;
HashMap<Integer,Boolean> directAccess = new HashMap<Integer,Boolean>(100);
try
{
pstmt = DB.prepareStatement(sql, get_TrxName());
pstmt.setInt(1, getAD_Role_ID());
rs = pstmt.executeQuery();
while (rs.next()) {
Integer infoId = new Integer(rs.getInt(1));
if ("N".equals(rs.getString(2))) {
// inactive info on direct access
if (m_infoAccess.containsKey(infoId)) {
m_infoAccess.remove(infoId);
}
} else {
directAccess.put(infoId, Boolean.TRUE);
}
}
}
catch (Exception e)
{
log.log(Level.SEVERE, sql, e);
}
finally
{
DB.close(rs, pstmt);
}
setAccessMap("m_infoAccess", mergeAccess(getAccessMap("m_infoAccess"), directAccess, true));
} // reload
Boolean retValue = m_infoAccess.get(AD_InfoWindow_ID);
return retValue;
}
} // MRole } // MRole

View File

@ -402,11 +402,11 @@ public class MTree extends MTree_Base
sourceTable = "m"; sourceTable = "m";
if (base) if (base)
sqlNode.append("SELECT m.AD_Menu_ID, m.Name,m.Description,m.IsSummary,m.Action, " sqlNode.append("SELECT m.AD_Menu_ID, m.Name,m.Description,m.IsSummary,m.Action, "
+ "m.AD_Window_ID, m.AD_Process_ID, m.AD_Form_ID, m.AD_Workflow_ID, m.AD_Task_ID, m.AD_Workbench_ID " + "m.AD_Window_ID, m.AD_Process_ID, m.AD_Form_ID, m.AD_Workflow_ID, m.AD_Task_ID, m.AD_InfoWindow_ID "
+ "FROM AD_Menu m"); + "FROM AD_Menu m");
else else
sqlNode.append("SELECT m.AD_Menu_ID, t.Name,t.Description,m.IsSummary,m.Action, " sqlNode.append("SELECT m.AD_Menu_ID, t.Name,t.Description,m.IsSummary,m.Action, "
+ "m.AD_Window_ID, m.AD_Process_ID, m.AD_Form_ID, m.AD_Workflow_ID, m.AD_Task_ID, m.AD_Workbench_ID " + "m.AD_Window_ID, m.AD_Process_ID, m.AD_Form_ID, m.AD_Workflow_ID, m.AD_Task_ID, m.AD_InfoWindow_ID "
+ "FROM AD_Menu m, AD_Menu_Trl t"); + "FROM AD_Menu m, AD_Menu_Trl t");
if (!base) if (!base)
sqlNode.append(" WHERE m.AD_Menu_ID=t.AD_Menu_ID AND t.AD_Language='") sqlNode.append(" WHERE m.AD_Menu_ID=t.AD_Menu_ID AND t.AD_Language='")
@ -520,7 +520,7 @@ public class MTree extends MTree_Base
int AD_Form_ID = m_nodeRowSet.getInt(index++); int AD_Form_ID = m_nodeRowSet.getInt(index++);
int AD_Workflow_ID = m_nodeRowSet.getInt(index++); int AD_Workflow_ID = m_nodeRowSet.getInt(index++);
int AD_Task_ID = m_nodeRowSet.getInt(index++); int AD_Task_ID = m_nodeRowSet.getInt(index++);
//int AD_Workbench_ID = m_nodeRowSet.getInt(index++); int AD_InfoWindow_ID = m_nodeRowSet.getInt(index++);
// //
MRole role = MRole.getDefault(getCtx(), false); MRole role = MRole.getDefault(getCtx(), false);
Boolean access = null; Boolean access = null;
@ -548,8 +548,8 @@ public class MTree extends MTree_Base
access = role.getWorkflowAccess(AD_Workflow_ID); access = role.getWorkflowAccess(AD_Workflow_ID);
else if (X_AD_Menu.ACTION_Task.equals(actionColor)) else if (X_AD_Menu.ACTION_Task.equals(actionColor))
access = role.getTaskAccess(AD_Task_ID); access = role.getTaskAccess(AD_Task_ID);
// else if (X_AD_Menu.ACTION_Workbench.equals(action)) else if (X_AD_Menu.ACTION_Info.equals(actionColor))
// access = role.getWorkbenchAccess(AD_Window_ID); access = role.getInfoAccess(AD_InfoWindow_ID);
// log.fine("getNodeDetail - " + name + " - " + actionColor + " - " + access); // log.fine("getNodeDetail - " + name + " - " + actionColor + " - " + access);
// //
if (access != null // rw or ro for Role if (access != null // rw or ro for Role

View File

@ -112,6 +112,8 @@ public final class MTreeNode extends DefaultMutableTreeNode
public static int TYPE_USERCHOICE = 7; public static int TYPE_USERCHOICE = 7;
/** Action - 8 */ /** Action - 8 */
public static int TYPE_DOCACTION = 8; public static int TYPE_DOCACTION = 8;
/** Info - 9 */
public static int TYPE_INFO = 9;
public static String[] PATHS = new String[] public static String[] PATHS = new String[]
{ {
@ -405,6 +407,15 @@ public final class MTreeNode extends DefaultMutableTreeNode
return X_AD_Menu.ACTION_Task.equals(m_imageIndicator); return X_AD_Menu.ACTION_Task.equals(m_imageIndicator);
} // isTask } // isTask
/**
* Is Info
* @return true if Info
*/
public boolean isInfo()
{
return X_AD_Menu.ACTION_Info.equals(m_imageIndicator);
} // isTask
/** /**
* Get Color * Get Color
* @return color or black if not set * @return color or black if not set

View File

@ -249,6 +249,17 @@ public class M_Element extends X_AD_Element
.append(" AND IsCentrallyMaintained='Y'"); .append(" AND IsCentrallyMaintained='Y'");
no += DB.executeUpdate(sql.toString(), get_TrxName()); no += DB.executeUpdate(sql.toString(), get_TrxName());
log.fine("Parameters updated #" + no); log.fine("Parameters updated #" + no);
// Info Column
sql = new StringBuilder("UPDATE AD_InfoColumn SET ColumnName=")
.append(DB.TO_STRING(getColumnName()))
.append(", Name=").append(DB.TO_STRING(getName()))
.append(", Description=").append(DB.TO_STRING(getDescription()))
.append(", Help=").append(DB.TO_STRING(getHelp()))
.append(" WHERE AD_Element_ID=").append(get_ID())
.append(" AND IsCentrallyMaintained='Y'");
no += DB.executeUpdate(sql.toString(), get_TrxName());
log.fine("Info Column updated #" + no);
} }
if ( is_ValueChanged(M_Element.COLUMNNAME_Name) if ( is_ValueChanged(M_Element.COLUMNNAME_Name)

View File

@ -30,7 +30,7 @@ public class X_AD_InfoColumn extends PO implements I_AD_InfoColumn, I_Persistent
/** /**
* *
*/ */
private static final long serialVersionUID = 20130101L; private static final long serialVersionUID = 20130108L;
/** Standard Constructor */ /** Standard Constructor */
public X_AD_InfoColumn (Properties ctx, int AD_InfoColumn_ID, String trxName) public X_AD_InfoColumn (Properties ctx, int AD_InfoColumn_ID, String trxName)
@ -52,6 +52,7 @@ public class X_AD_InfoColumn extends PO implements I_AD_InfoColumn, I_Persistent
setName (null); setName (null);
setSelectClause (null); setSelectClause (null);
setSeqNo (0); setSeqNo (0);
// @SQL=SELECT NVL(MAX(SeqNo),0)+10 AS DefaultValue FROM AD_InfoColumn WHERE AD_InfoWindow_ID=@AD_InfoWindow_ID@
} */ } */
} }
@ -445,6 +446,57 @@ public class X_AD_InfoColumn extends PO implements I_AD_InfoColumn, I_Persistent
return new KeyNamePair(get_ID(), getName()); return new KeyNamePair(get_ID(), getName());
} }
/** Set Query Function.
@param QueryFunction
Database function for query
*/
public void setQueryFunction (String QueryFunction)
{
set_Value (COLUMNNAME_QueryFunction, QueryFunction);
}
/** Get Query Function.
@return Database function for query
*/
public String getQueryFunction ()
{
return (String)get_Value(COLUMNNAME_QueryFunction);
}
/** QueryOperator AD_Reference_ID=200061 */
public static final int QUERYOPERATOR_AD_Reference_ID=200061;
/** Like = Like */
public static final String QUERYOPERATOR_Like = "Like";
/** = = = */
public static final String QUERYOPERATOR_Eq = "=";
/** > = > */
public static final String QUERYOPERATOR_Gt = ">";
/** >= = >= */
public static final String QUERYOPERATOR_GtEq = ">=";
/** < = < */
public static final String QUERYOPERATOR_Le = "<";
/** <= = <= */
public static final String QUERYOPERATOR_LeEq = "<=";
/** != = != */
public static final String QUERYOPERATOR_NotEq = "!=";
/** Set Query Operator.
@param QueryOperator
Operator for database query
*/
public void setQueryOperator (String QueryOperator)
{
set_Value (COLUMNNAME_QueryOperator, QueryOperator);
}
/** Get Query Operator.
@return Operator for database query
*/
public String getQueryOperator ()
{
return (String)get_Value(COLUMNNAME_QueryOperator);
}
/** Set Sql SELECT. /** Set Sql SELECT.
@param SelectClause @param SelectClause
SQL SELECT clause SQL SELECT clause

View File

@ -30,7 +30,7 @@ public class X_AD_InfoWindow extends PO implements I_AD_InfoWindow, I_Persistent
/** /**
* *
*/ */
private static final long serialVersionUID = 20130105L; private static final long serialVersionUID = 20130108L;
/** Standard Constructor */ /** Standard Constructor */
public X_AD_InfoWindow (Properties ctx, int AD_InfoWindow_ID, String trxName) public X_AD_InfoWindow (Properties ctx, int AD_InfoWindow_ID, String trxName)
@ -46,6 +46,8 @@ public class X_AD_InfoWindow extends PO implements I_AD_InfoWindow, I_Persistent
setIsDefault (false); setIsDefault (false);
// N // N
setIsDistinct (false); setIsDistinct (false);
// N
setIsValid (false);
// N // N
setName (null); setName (null);
} */ } */
@ -263,6 +265,30 @@ public class X_AD_InfoWindow extends PO implements I_AD_InfoWindow, I_Persistent
return false; return false;
} }
/** Set Valid.
@param IsValid
Element is valid
*/
public void setIsValid (boolean IsValid)
{
set_Value (COLUMNNAME_IsValid, Boolean.valueOf(IsValid));
}
/** Get Valid.
@return Element is valid
*/
public boolean isValid ()
{
Object oo = get_Value(COLUMNNAME_IsValid);
if (oo != null)
{
if (oo instanceof Boolean)
return ((Boolean)oo).booleanValue();
return "Y".equals(oo);
}
return false;
}
/** Set Name. /** Set Name.
@param Name @param Name
Alphanumeric identifier of the entity Alphanumeric identifier of the entity

View File

@ -0,0 +1,142 @@
/******************************************************************************
* Product: iDempiere ERP & CRM Smart Business Solution *
* Copyright (C) 1999-2012 ComPiere, Inc. All Rights Reserved. *
* 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. *
* For the text or an alternative of this public license, you may reach us *
* ComPiere, Inc., 2620 Augustine Dr. #245, Santa Clara, CA 95054, USA *
* or via info@compiere.org or http://www.compiere.org/license.html *
*****************************************************************************/
/** Generated Model - DO NOT CHANGE */
package org.compiere.model;
import java.sql.ResultSet;
import java.util.Properties;
/** Generated Model for AD_InfoWindow_Access
* @author iDempiere (generated)
* @version Release 1.0a - $Id$ */
public class X_AD_InfoWindow_Access extends PO implements I_AD_InfoWindow_Access, I_Persistent
{
/**
*
*/
private static final long serialVersionUID = 20130108L;
/** Standard Constructor */
public X_AD_InfoWindow_Access (Properties ctx, int AD_InfoWindow_Access_ID, String trxName)
{
super (ctx, AD_InfoWindow_Access_ID, trxName);
/** if (AD_InfoWindow_Access_ID == 0)
{
setAD_InfoWindow_ID (0);
setAD_Role_ID (0);
} */
}
/** Load Constructor */
public X_AD_InfoWindow_Access (Properties ctx, ResultSet rs, String trxName)
{
super (ctx, rs, trxName);
}
/** AccessLevel
* @return 6 - System - Client
*/
protected int get_AccessLevel()
{
return accessLevel.intValue();
}
/** Load Meta Data */
protected POInfo initPO (Properties ctx)
{
POInfo poi = POInfo.getPOInfo (ctx, Table_ID, get_TrxName());
return poi;
}
public String toString()
{
StringBuffer sb = new StringBuffer ("X_AD_InfoWindow_Access[")
.append(get_ID()).append("]");
return sb.toString();
}
/** Set AD_InfoWindow_Access_UU.
@param AD_InfoWindow_Access_UU AD_InfoWindow_Access_UU */
public void setAD_InfoWindow_Access_UU (String AD_InfoWindow_Access_UU)
{
set_Value (COLUMNNAME_AD_InfoWindow_Access_UU, AD_InfoWindow_Access_UU);
}
/** Get AD_InfoWindow_Access_UU.
@return AD_InfoWindow_Access_UU */
public String getAD_InfoWindow_Access_UU ()
{
return (String)get_Value(COLUMNNAME_AD_InfoWindow_Access_UU);
}
public org.compiere.model.I_AD_InfoWindow getAD_InfoWindow() throws RuntimeException
{
return (org.compiere.model.I_AD_InfoWindow)MTable.get(getCtx(), org.compiere.model.I_AD_InfoWindow.Table_Name)
.getPO(getAD_InfoWindow_ID(), get_TrxName()); }
/** Set Info Window.
@param AD_InfoWindow_ID
Info and search/select Window
*/
public void setAD_InfoWindow_ID (int AD_InfoWindow_ID)
{
if (AD_InfoWindow_ID < 1)
set_ValueNoCheck (COLUMNNAME_AD_InfoWindow_ID, null);
else
set_ValueNoCheck (COLUMNNAME_AD_InfoWindow_ID, Integer.valueOf(AD_InfoWindow_ID));
}
/** Get Info Window.
@return Info and search/select Window
*/
public int getAD_InfoWindow_ID ()
{
Integer ii = (Integer)get_Value(COLUMNNAME_AD_InfoWindow_ID);
if (ii == null)
return 0;
return ii.intValue();
}
public org.compiere.model.I_AD_Role getAD_Role() throws RuntimeException
{
return (org.compiere.model.I_AD_Role)MTable.get(getCtx(), org.compiere.model.I_AD_Role.Table_Name)
.getPO(getAD_Role_ID(), get_TrxName()); }
/** Set Role.
@param AD_Role_ID
Responsibility Role
*/
public void setAD_Role_ID (int AD_Role_ID)
{
if (AD_Role_ID < 0)
set_ValueNoCheck (COLUMNNAME_AD_Role_ID, null);
else
set_ValueNoCheck (COLUMNNAME_AD_Role_ID, Integer.valueOf(AD_Role_ID));
}
/** Get Role.
@return Responsibility Role
*/
public int getAD_Role_ID ()
{
Integer ii = (Integer)get_Value(COLUMNNAME_AD_Role_ID);
if (ii == null)
return 0;
return ii.intValue();
}
}

View File

@ -30,7 +30,7 @@ public class X_AD_Menu extends PO implements I_AD_Menu, I_Persistent
/** /**
* *
*/ */
private static final long serialVersionUID = 20121031L; private static final long serialVersionUID = 20130107L;
/** Standard Constructor */ /** Standard Constructor */
public X_AD_Menu (Properties ctx, int AD_Menu_ID, String trxName) public X_AD_Menu (Properties ctx, int AD_Menu_ID, String trxName)
@ -93,6 +93,8 @@ public class X_AD_Menu extends PO implements I_AD_Menu, I_Persistent
public static final String ACTION_Form = "X"; public static final String ACTION_Form = "X";
/** Workbench = B */ /** Workbench = B */
public static final String ACTION_Workbench = "B"; public static final String ACTION_Workbench = "B";
/** Info = I */
public static final String ACTION_Info = "I";
/** Set Action. /** Set Action.
@param Action @param Action
Indicates the Action to be performed Indicates the Action to be performed
@ -139,6 +141,34 @@ public class X_AD_Menu extends PO implements I_AD_Menu, I_Persistent
return ii.intValue(); return ii.intValue();
} }
public org.compiere.model.I_AD_InfoWindow getAD_InfoWindow() throws RuntimeException
{
return (org.compiere.model.I_AD_InfoWindow)MTable.get(getCtx(), org.compiere.model.I_AD_InfoWindow.Table_Name)
.getPO(getAD_InfoWindow_ID(), get_TrxName()); }
/** Set Info Window.
@param AD_InfoWindow_ID
Info and search/select Window
*/
public void setAD_InfoWindow_ID (int AD_InfoWindow_ID)
{
if (AD_InfoWindow_ID < 1)
set_Value (COLUMNNAME_AD_InfoWindow_ID, null);
else
set_Value (COLUMNNAME_AD_InfoWindow_ID, Integer.valueOf(AD_InfoWindow_ID));
}
/** Get Info Window.
@return Info and search/select Window
*/
public int getAD_InfoWindow_ID ()
{
Integer ii = (Integer)get_Value(COLUMNNAME_AD_InfoWindow_ID);
if (ii == null)
return 0;
return ii.intValue();
}
/** Set Menu. /** Set Menu.
@param AD_Menu_ID @param AD_Menu_ID
Identifies a Menu Identifies a Menu
@ -260,34 +290,6 @@ public class X_AD_Menu extends PO implements I_AD_Menu, I_Persistent
return ii.intValue(); return ii.intValue();
} }
public org.compiere.model.I_AD_Workbench getAD_Workbench() throws RuntimeException
{
return (org.compiere.model.I_AD_Workbench)MTable.get(getCtx(), org.compiere.model.I_AD_Workbench.Table_Name)
.getPO(getAD_Workbench_ID(), get_TrxName()); }
/** Set Workbench.
@param AD_Workbench_ID
Collection of windows, reports
*/
public void setAD_Workbench_ID (int AD_Workbench_ID)
{
if (AD_Workbench_ID < 1)
set_Value (COLUMNNAME_AD_Workbench_ID, null);
else
set_Value (COLUMNNAME_AD_Workbench_ID, Integer.valueOf(AD_Workbench_ID));
}
/** Get Workbench.
@return Collection of windows, reports
*/
public int getAD_Workbench_ID ()
{
Integer ii = (Integer)get_Value(COLUMNNAME_AD_Workbench_ID);
if (ii == null)
return 0;
return ii.intValue();
}
public org.compiere.model.I_AD_Workflow getAD_Workflow() throws RuntimeException public org.compiere.model.I_AD_Workflow getAD_Workflow() throws RuntimeException
{ {
return (org.compiere.model.I_AD_Workflow)MTable.get(getCtx(), org.compiere.model.I_AD_Workflow.Table_Name) return (org.compiere.model.I_AD_Workflow)MTable.get(getCtx(), org.compiere.model.I_AD_Workflow.Table_Name)

View File

@ -202,15 +202,6 @@ public final class Env
*/ */
/** WindowNo for Main */ /** WindowNo for Main */
public static final int WINDOW_MAIN = 0; public static final int WINDOW_MAIN = 0;
/** WindowNo for Find */
public static final int WINDOW_FIND = 1110;
/** WinowNo for MLookup */
public static final int WINDOW_MLOOKUP = 1111;
/** WindowNo for PrintCustomize */
public static final int WINDOW_CUSTOMIZE = 1112;
/** WindowNo for PrintCustomize */
@Deprecated
public static final int WINDOW_INFO = 1113;
/** Tab for Info */ /** Tab for Info */
public static final int TAB_INFO = 1113; public static final int TAB_INFO = 1113;
@ -320,7 +311,7 @@ public final class Env
*/ */
public static void setContext (Properties ctx, String context, boolean value) public static void setContext (Properties ctx, String context, boolean value)
{ {
setContext (ctx, context, value ? "Y" : "N"); setContext (ctx, context, convert(value));
} // setContext } // setContext
/** /**
@ -334,7 +325,7 @@ public final class Env
{ {
if (ctx == null || context == null) if (ctx == null || context == null)
return; return;
if (WindowNo != WINDOW_FIND && WindowNo != WINDOW_MLOOKUP) if (getLogger().isLoggable(Level.FINER))
getLogger().finer("Context("+WindowNo+") " + context + "==" + value); getLogger().finer("Context("+WindowNo+") " + context + "==" + value);
// //
if (value == null || value.equals("")) if (value == null || value.equals(""))
@ -357,7 +348,8 @@ public final class Env
if (value == null) if (value == null)
{ {
ctx.remove(WindowNo+"|"+context); ctx.remove(WindowNo+"|"+context);
getLogger().finer("Context("+WindowNo+") " + context + "==" + value); if (getLogger().isLoggable(Level.FINER))
getLogger().finer("Context("+WindowNo+") " + context + "==" + value);
} }
else else
{ // JDBC Format 2005-05-09 00:00:00.0 { // JDBC Format 2005-05-09 00:00:00.0
@ -371,10 +363,11 @@ public final class Env
//stringValue = stringValue.substring(0, stringValue.indexOf(".")); //stringValue = stringValue.substring(0, stringValue.indexOf("."));
// KTU // KTU
ctx.setProperty(WindowNo+"|"+context, stringValue); ctx.setProperty(WindowNo+"|"+context, stringValue);
getLogger().finer("Context("+WindowNo+") " + context + "==" + stringValue); if (getLogger().isLoggable(Level.FINER))
getLogger().finer("Context("+WindowNo+") " + context + "==" + stringValue);
} }
} // setContext } // setContext
/** /**
* Set Context for Window to int Value * Set Context for Window to int Value
* @param ctx context * @param ctx context
@ -386,7 +379,7 @@ public final class Env
{ {
if (ctx == null || context == null) if (ctx == null || context == null)
return; return;
if (WindowNo != WINDOW_FIND && WindowNo != WINDOW_MLOOKUP) if (getLogger().isLoggable(Level.FINER))
getLogger().finer("Context("+WindowNo+") " + context + "==" + value); getLogger().finer("Context("+WindowNo+") " + context + "==" + value);
// //
ctx.setProperty(WindowNo+"|"+context, String.valueOf(value)); ctx.setProperty(WindowNo+"|"+context, String.valueOf(value));
@ -401,9 +394,25 @@ public final class Env
*/ */
public static void setContext (Properties ctx, int WindowNo, String context, boolean value) public static void setContext (Properties ctx, int WindowNo, String context, boolean value)
{ {
setContext (ctx, WindowNo, context, value ? "Y" : "N"); setContext (ctx, WindowNo, context, convert(value));
} // setContext } // setContext
private static String convert(boolean value) {
return value ? "Y" : "N";
}
/**
* Set Context for Window to Y/N Value
* @param ctx context
* @param WindowNo window no
* @param context context key
* @param value context value
*/
public static void setContext (Properties ctx, int WindowNo, int TabNo, String context, boolean value)
{
setContext (ctx, WindowNo, TabNo, context, convert(value));
} // setContext
/** /**
* Set Context for Window & Tab to Value * Set Context for Window & Tab to Value
* @param ctx context * @param ctx context
@ -416,7 +425,7 @@ public final class Env
{ {
if (ctx == null || context == null) if (ctx == null || context == null)
return; return;
if (WindowNo != WINDOW_FIND && WindowNo != WINDOW_MLOOKUP) if (getLogger().isLoggable(Level.FINEST))
getLogger().finest("Context("+WindowNo+","+TabNo+") " + context + "==" + value); getLogger().finest("Context("+WindowNo+","+TabNo+") " + context + "==" + value);
// //
if (value == null) if (value == null)
@ -437,7 +446,7 @@ public final class Env
{ {
if (ctx == null) if (ctx == null)
return; return;
ctx.setProperty("AutoCommit", autoCommit ? "Y" : "N"); ctx.setProperty("AutoCommit", convert(autoCommit));
} // setAutoCommit } // setAutoCommit
/** /**
@ -450,7 +459,7 @@ public final class Env
{ {
if (ctx == null) if (ctx == null)
return; return;
ctx.setProperty(WindowNo+"|AutoCommit", autoCommit ? "Y" : "N"); ctx.setProperty(WindowNo+"|AutoCommit", convert(autoCommit));
} // setAutoCommit } // setAutoCommit
/** /**
@ -462,7 +471,7 @@ public final class Env
{ {
if (ctx == null) if (ctx == null)
return; return;
ctx.setProperty("AutoNew", autoNew ? "Y" : "N"); ctx.setProperty("AutoNew", convert(autoNew));
} // setAutoNew } // setAutoNew
/** /**
@ -475,7 +484,7 @@ public final class Env
{ {
if (ctx == null) if (ctx == null)
return; return;
ctx.setProperty(WindowNo+"|AutoNew", autoNew ? "Y" : "N"); ctx.setProperty(WindowNo+"|AutoNew", convert(autoNew));
} // setAutoNew } // setAutoNew
@ -488,7 +497,7 @@ public final class Env
{ {
if (ctx == null) if (ctx == null)
return; return;
ctx.setProperty("IsSOTrx", isSOTrx ? "Y" : "N"); ctx.setProperty("IsSOTrx", convert(isSOTrx));
} // setSOTrx } // setSOTrx
/** /**

View File

@ -151,8 +151,6 @@ public final class Find extends CDialog
m_query.addRestriction(Env.parseContext(Env.getCtx(), m_targetWindowNo, whereExtended, false)); m_query.addRestriction(Env.parseContext(Env.getCtx(), m_targetWindowNo, whereExtended, false));
// Required for Column Validation // Required for Column Validation
Env.setContext(Env.getCtx(), m_targetWindowNo, "Find_Table_ID", m_AD_Table_ID); Env.setContext(Env.getCtx(), m_targetWindowNo, "Find_Table_ID", m_AD_Table_ID);
// Context for Advanced Search Grid is WINDOW_FIND
Env.setContext(Env.getCtx(), Env.WINDOW_FIND, "Find_Table_ID", m_AD_Table_ID);
// //
try try
{ {

View File

@ -102,6 +102,8 @@ public class DetailPane extends Panel implements EventListener<Event>, IdSpace {
} }
}); });
tabbox.setSclass("adwindow-detailpane-tabbox"); tabbox.setSclass("adwindow-detailpane-tabbox");
tabbox.setTabscroll(true);
tabbox.setWidth("100%");
createPopup(); createPopup();

View File

@ -354,7 +354,7 @@ public class GridTabRowRenderer implements RowRenderer<Object[]>, RowRendererExt
} }
Cell cell = new Cell(); Cell cell = new Cell();
cell.setWidth("10px"); cell.setWidth("15px");
cell.addEventListener(Events.ON_CLICK, this); cell.addEventListener(Events.ON_CLICK, this);
cell.setTooltiptext(Util.cleanAmp(Msg.getMsg(Env.getCtx(), "EditRecord"))); cell.setTooltiptext(Util.cleanAmp(Msg.getMsg(Env.getCtx(), "EditRecord")));

View File

@ -375,7 +375,7 @@ public class GridView extends Vbox implements EventListener<Event>, IdSpace
frozen.setColumns(1); frozen.setColumns(1);
listbox.appendChild(frozen); listbox.appendChild(frozen);
org.zkoss.zul.Column indicator = new Column(); org.zkoss.zul.Column indicator = new Column();
indicator.setWidth("10px"); indicator.setWidth("15px");
try { try {
indicator.setSort("none"); indicator.setSort("none");
} catch (Exception e) {} } catch (Exception e) {}

View File

@ -266,9 +266,9 @@ public class WListItemRenderer implements ListitemRenderer<Object>, EventListene
NumberBox numberbox = new NumberBox(false); NumberBox numberbox = new NumberBox(false);
numberbox.setFormat(format); numberbox.setFormat(format);
numberbox.setValue(field); numberbox.setValue(field);
numberbox.setWidth("100px"); // numberbox.setWidth("100px");
numberbox.setEnabled(true); numberbox.setEnabled(true);
numberbox.setStyle("text-align:right; " numberbox.setStyle("text-align:right; width: 96%; margin: auto; "
+ listcell.getStyle()); + listcell.getStyle());
numberbox.addEventListener(Events.ON_CHANGE, this); numberbox.addEventListener(Events.ON_CHANGE, this);
listcell.appendChild(numberbox); listcell.appendChild(numberbox);
@ -276,7 +276,7 @@ public class WListItemRenderer implements ListitemRenderer<Object>, EventListene
else else
{ {
listcell.setLabel(format.format(((Number)field).doubleValue())); listcell.setLabel(format.format(((Number)field).doubleValue()));
ZkCssHelper.appendStyle(listcell, "text-align:right"); ZkCssHelper.appendStyle(listcell, "width: 96%; margin: auto;text-align: right");
} }
} }
} }
@ -295,6 +295,7 @@ public class WListItemRenderer implements ListitemRenderer<Object>, EventListene
else else
{ {
listcell.setLabel(dateFormat.format((Timestamp)field)); listcell.setLabel(dateFormat.format((Timestamp)field));
ZkCssHelper.appendStyle(listcell, "width: 96%; margin: auto");
} }
} }
else if (field instanceof String) else if (field instanceof String)
@ -325,11 +326,13 @@ public class WListItemRenderer implements ListitemRenderer<Object>, EventListene
Textbox textbox = new Textbox(); Textbox textbox = new Textbox();
textbox.setValue(field.toString()); textbox.setValue(field.toString());
textbox.addEventListener(Events.ON_CHANGE, this); textbox.addEventListener(Events.ON_CHANGE, this);
ZkCssHelper.appendStyle(textbox, "width: 96%; margin: auto");
listcell.appendChild(textbox); listcell.appendChild(textbox);
} }
else else
{ {
listcell.setLabel(field.toString()); listcell.setLabel(field.toString());
ZkCssHelper.appendStyle(listcell, "width: 96%; margin: auto");
} }
} }
} }
@ -347,6 +350,7 @@ public class WListItemRenderer implements ListitemRenderer<Object>, EventListene
{ {
listcell.setLabel(field.toString()); listcell.setLabel(field.toString());
listcell.setValue(field.toString()); listcell.setValue(field.toString());
ZkCssHelper.appendStyle(listcell, "width: 96%; margin: auto");
} }
} }
else else
@ -438,7 +442,7 @@ public class WListItemRenderer implements ListitemRenderer<Object>, EventListene
if (classType != null && classType.isAssignableFrom(IDColumn.class)) if (classType != null && classType.isAssignableFrom(IDColumn.class))
{ {
header = new ListHeader(""); header = new ListHeader("");
header.setWidth("20px"); header.setWidth("30px");
} }
else else
{ {
@ -464,7 +468,7 @@ public class WListItemRenderer implements ListitemRenderer<Object>, EventListene
else if (classType.equals(IDColumn.class)) else if (classType.equals(IDColumn.class))
{ {
header.setSort("none"); header.setSort("none");
if (width == 0) if (width < 30)
width = 30; width = 30;
} }
else if (width > 0 && width < 100 && (classType == null || !classType.isAssignableFrom(Boolean.class))) else if (width > 0 && width < 100 && (classType == null || !classType.isAssignableFrom(Boolean.class)))

View File

@ -75,6 +75,10 @@ public abstract class AbstractDesktop extends AbstractUIPart implements IDesktop
{ {
openForm(menu.getAD_Form_ID()); openForm(menu.getAD_Form_ID());
} }
else if(menu.getAction().equals(MMenu.ACTION_Info))
{
openInfo(menu.getAD_InfoWindow_ID());
}
else if(menu.getAction().equals(MMenu.ACTION_WorkFlow)) else if(menu.getAction().equals(MMenu.ACTION_WorkFlow))
{ {
openWorkflow(menu.getAD_Workflow_ID()); openWorkflow(menu.getAD_Workflow_ID());

View File

@ -137,6 +137,13 @@ public interface IDesktop extends UIPart {
* @return ADWindow * @return ADWindow
*/ */
public ADForm openForm(int formId); public ADForm openForm(int formId);
/**
*
* @param infoId
* @return ADWindow
*/
public void openInfo(int infoId);
/** /**
* *

View File

@ -25,8 +25,11 @@ import org.adempiere.webui.component.DesktopTabpanel;
import org.adempiere.webui.component.Tabbox; import org.adempiere.webui.component.Tabbox;
import org.adempiere.webui.component.Tabpanel; import org.adempiere.webui.component.Tabpanel;
import org.adempiere.webui.component.Window; import org.adempiere.webui.component.Window;
import org.adempiere.webui.factory.InfoManager;
import org.adempiere.webui.panel.ADForm; import org.adempiere.webui.panel.ADForm;
import org.adempiere.webui.panel.InfoPanel;
import org.adempiere.webui.part.WindowContainer; import org.adempiere.webui.part.WindowContainer;
import org.adempiere.webui.window.FDialog;
import org.adempiere.webui.window.WTask; import org.adempiere.webui.window.WTask;
import org.compiere.model.MQuery; import org.compiere.model.MQuery;
import org.compiere.model.MTask; import org.compiere.model.MTask;
@ -100,6 +103,26 @@ public abstract class TabbedDesktop extends AbstractDesktop {
return form; return form;
} }
/**
*
* @param infoId
*/
@Override
public void openInfo(int infoId) {
InfoPanel infoPanel = InfoManager.create(infoId);
if (infoPanel != null) {
DesktopTabpanel tabPanel = new DesktopTabpanel();
infoPanel.setParent(tabPanel);
String title = infoPanel.getTitle();
infoPanel.setTitle(null);
preOpenNewTab();
windowContainer.addWindow(tabPanel, title, true);
} else {
FDialog.error(0, "NotValid");
}
}
/** /**
* *
* @param workflow_ID * @param workflow_ID
@ -113,7 +136,7 @@ public abstract class TabbedDesktop extends AbstractDesktop {
preOpenNewTab(); preOpenNewTab();
windowContainer.addWindow(tabPanel, p.getWorkflow().get_Translation(MWorkflow.COLUMNNAME_Name), true); windowContainer.addWindow(tabPanel, p.getWorkflow().get_Translation(MWorkflow.COLUMNNAME_Name), true);
} }
/** /**
* *
* @param <T> * @param <T>

View File

@ -35,6 +35,7 @@ import org.adempiere.webui.panel.InfoPaymentPanel;
import org.adempiere.webui.panel.InfoProductPanel; import org.adempiere.webui.panel.InfoProductPanel;
import org.compiere.model.GridField; import org.compiere.model.GridField;
import org.compiere.model.Lookup; import org.compiere.model.Lookup;
import org.compiere.model.MInfoWindow;
import org.compiere.util.Env; import org.compiere.util.Env;
/** /**
@ -50,13 +51,13 @@ public class DefaultInfoFactory implements IInfoFactory {
InfoPanel info = null; InfoPanel info = null;
if (tableName.equals("C_BPartner")) { if (tableName.equals("C_BPartner")) {
info = new InfoBPartnerWindow(WindowNo, tableName, keyColumn, value, multiSelection, whereClause, AD_InfoWindow_ID); info = new InfoBPartnerWindow(WindowNo, tableName, keyColumn, value, multiSelection, whereClause, AD_InfoWindow_ID, lookup);
if (!info.loadedOK()) { if (!info.loadedOK()) {
info = new InfoBPartnerPanel (value,WindowNo, !Env.getContext(Env.getCtx(),"IsSOTrx").equals("N"), info = new InfoBPartnerPanel (value,WindowNo, !Env.getContext(Env.getCtx(),"IsSOTrx").equals("N"),
multiSelection, whereClause, lookup); multiSelection, whereClause, lookup);
} }
} else if (tableName.equals("M_Product")) { } else if (tableName.equals("M_Product")) {
info = new InfoProductWindow(WindowNo, tableName, keyColumn, value, multiSelection, whereClause, AD_InfoWindow_ID); info = new InfoProductWindow(WindowNo, tableName, keyColumn, value, multiSelection, whereClause, AD_InfoWindow_ID, lookup);
if (!info.loadedOK()) { if (!info.loadedOK()) {
info = new InfoProductPanel ( WindowNo, info = new InfoProductPanel ( WindowNo,
Env.getContextAsInt(Env.getCtx(), WindowNo, "M_Warehouse_ID"), Env.getContextAsInt(Env.getCtx(), WindowNo, "M_Warehouse_ID"),
@ -64,31 +65,31 @@ public class DefaultInfoFactory implements IInfoFactory {
multiSelection, value,whereClause, lookup); multiSelection, value,whereClause, lookup);
} }
} else if (tableName.equals("C_Invoice")) { } else if (tableName.equals("C_Invoice")) {
info = new InfoInvoiceWindow(WindowNo, tableName, keyColumn, value, multiSelection, whereClause, AD_InfoWindow_ID); info = new InfoInvoiceWindow(WindowNo, tableName, keyColumn, value, multiSelection, whereClause, AD_InfoWindow_ID, lookup);
if (!info.loadedOK()) { if (!info.loadedOK()) {
info = new InfoInvoicePanel ( WindowNo, value, info = new InfoInvoicePanel ( WindowNo, value,
multiSelection, whereClause, lookup); multiSelection, whereClause, lookup);
} }
} else if (tableName.equals("A_Asset")) { } else if (tableName.equals("A_Asset")) {
info = new InfoAssetWindow(WindowNo, tableName, keyColumn, value, multiSelection, whereClause, AD_InfoWindow_ID); info = new InfoAssetWindow(WindowNo, tableName, keyColumn, value, multiSelection, whereClause, AD_InfoWindow_ID, lookup);
if (!info.loadedOK()) { if (!info.loadedOK()) {
info = new InfoAssetPanel (WindowNo, 0, value, info = new InfoAssetPanel (WindowNo, 0, value,
multiSelection, whereClause, lookup); multiSelection, whereClause, lookup);
} }
} else if (tableName.equals("C_Order")) { } else if (tableName.equals("C_Order")) {
info = new InfoOrderWindow(WindowNo, tableName, keyColumn, value, multiSelection, whereClause, AD_InfoWindow_ID); info = new InfoOrderWindow(WindowNo, tableName, keyColumn, value, multiSelection, whereClause, AD_InfoWindow_ID, lookup);
if (!info.loadedOK()) { if (!info.loadedOK()) {
info = new InfoOrderPanel ( WindowNo, value, info = new InfoOrderPanel ( WindowNo, value,
multiSelection, whereClause, lookup); multiSelection, whereClause, lookup);
} }
} else if (tableName.equals("M_InOut")) { } else if (tableName.equals("M_InOut")) {
info = new InfoInOutWindow(WindowNo, tableName, keyColumn, value, multiSelection, whereClause, AD_InfoWindow_ID); info = new InfoInOutWindow(WindowNo, tableName, keyColumn, value, multiSelection, whereClause, AD_InfoWindow_ID, lookup);
if (!info.loadedOK()) { if (!info.loadedOK()) {
info = new InfoInOutPanel (WindowNo, value, info = new InfoInOutPanel (WindowNo, value,
multiSelection, whereClause, lookup); multiSelection, whereClause, lookup);
} }
} else if (tableName.equals("C_Payment")) { } else if (tableName.equals("C_Payment")) {
info = new InfoPaymentWindow(WindowNo, tableName, keyColumn, value, multiSelection, whereClause, AD_InfoWindow_ID); info = new InfoPaymentWindow(WindowNo, tableName, keyColumn, value, multiSelection, whereClause, AD_InfoWindow_ID, lookup);
if (!info.loadedOK()) { if (!info.loadedOK()) {
info = new InfoPaymentPanel (WindowNo, value, multiSelection, whereClause, lookup); info = new InfoPaymentPanel (WindowNo, value, multiSelection, whereClause, lookup);
} }
@ -96,13 +97,13 @@ public class DefaultInfoFactory implements IInfoFactory {
info = new InfoCashLinePanel (WindowNo, value, info = new InfoCashLinePanel (WindowNo, value,
multiSelection, whereClause, lookup); multiSelection, whereClause, lookup);
} else if (tableName.equals("S_ResourceAssigment")) { } else if (tableName.equals("S_ResourceAssigment")) {
info = new InfoAssignmentWindow(WindowNo, tableName, keyColumn, value, multiSelection, whereClause, AD_InfoWindow_ID); info = new InfoAssignmentWindow(WindowNo, tableName, keyColumn, value, multiSelection, whereClause, AD_InfoWindow_ID, lookup);
if (!info.loadedOK()) { if (!info.loadedOK()) {
info = new InfoAssignmentPanel (WindowNo, value, info = new InfoAssignmentPanel (WindowNo, value,
multiSelection, whereClause, lookup); multiSelection, whereClause, lookup);
} }
} else { } else {
info = new InfoWindow(WindowNo, tableName, keyColumn, value, multiSelection, whereClause, AD_InfoWindow_ID); info = new InfoWindow(WindowNo, tableName, keyColumn, value, multiSelection, whereClause, AD_InfoWindow_ID, lookup);
if (!info.loadedOK()) { if (!info.loadedOK()) {
info = new InfoGeneralPanel (value, WindowNo, info = new InfoGeneralPanel (value, WindowNo,
tableName, keyColumn, tableName, keyColumn,
@ -165,4 +166,16 @@ public class DefaultInfoFactory implements IInfoFactory {
return info; return info;
} }
@Override
public InfoWindow create(int AD_InfoWindow_ID) {
MInfoWindow infoWindow = new MInfoWindow(Env.getCtx(), AD_InfoWindow_ID, (String)null);
String tableName = infoWindow.getAD_Table().getTableName();
String keyColumn = tableName + "_ID";
InfoPanel info = create(-1, tableName, keyColumn, null, false, null, AD_InfoWindow_ID, false);
if (info instanceof InfoWindow)
return (InfoWindow) info;
else
return null;
}
} }

View File

@ -13,6 +13,7 @@
*****************************************************************************/ *****************************************************************************/
package org.adempiere.webui.factory; package org.adempiere.webui.factory;
import org.adempiere.webui.info.InfoWindow;
import org.adempiere.webui.panel.InfoPanel; import org.adempiere.webui.panel.InfoPanel;
import org.compiere.model.GridField; import org.compiere.model.GridField;
import org.compiere.model.Lookup; import org.compiere.model.Lookup;
@ -31,4 +32,6 @@ public interface IInfoFactory {
public InfoPanel create (Lookup lookup, GridField field, public InfoPanel create (Lookup lookup, GridField field,
String tableName, String keyColumn, String value, String tableName, String keyColumn, String value,
boolean multiSelection, String whereClause, int AD_InfoWindow_ID); boolean multiSelection, String whereClause, int AD_InfoWindow_ID);
public InfoWindow create (int AD_InfoWindow_ID);
} }

View File

@ -16,6 +16,7 @@ package org.adempiere.webui.factory;
import java.util.List; import java.util.List;
import org.adempiere.base.Service; import org.adempiere.base.Service;
import org.adempiere.webui.info.InfoWindow;
import org.adempiere.webui.panel.InfoPanel; import org.adempiere.webui.panel.InfoPanel;
import org.compiere.model.GridField; import org.compiere.model.GridField;
import org.compiere.model.Lookup; import org.compiere.model.Lookup;
@ -64,4 +65,19 @@ public class InfoManager
} }
return ip; return ip;
} }
public static InfoWindow create (int AD_InfoWindow_ID)
{
InfoWindow info = null;
List<IInfoFactory> factoryList = Service.locator().list(IInfoFactory.class).getServices();
for(IInfoFactory factory : factoryList)
{
info = factory.create(AD_InfoWindow_ID);
if (info != null)
break;
}
//
return info;
}
} }

View File

@ -12,6 +12,9 @@ import java.util.Properties;
import java.util.logging.Level; import java.util.logging.Level;
import org.adempiere.webui.AdempiereWebUI; import org.adempiere.webui.AdempiereWebUI;
import org.adempiere.webui.component.Column;
import org.adempiere.webui.component.Columns;
import org.adempiere.webui.component.ConfirmPanel;
import org.adempiere.webui.component.Grid; import org.adempiere.webui.component.Grid;
import org.adempiere.webui.component.GridFactory; import org.adempiere.webui.component.GridFactory;
import org.adempiere.webui.component.Label; import org.adempiere.webui.component.Label;
@ -28,13 +31,13 @@ import org.compiere.model.AccessSqlParser;
import org.compiere.model.AccessSqlParser.TableInfo; import org.compiere.model.AccessSqlParser.TableInfo;
import org.compiere.model.GridField; import org.compiere.model.GridField;
import org.compiere.model.GridFieldVO; import org.compiere.model.GridFieldVO;
import org.compiere.model.MColumn;
import org.compiere.model.MInfoColumn; import org.compiere.model.MInfoColumn;
import org.compiere.model.MInfoWindow; import org.compiere.model.MInfoWindow;
import org.compiere.model.MLookupFactory; import org.compiere.model.MLookupFactory;
import org.compiere.model.MLookupInfo; import org.compiere.model.MLookupInfo;
import org.compiere.model.MRole; import org.compiere.model.MRole;
import org.compiere.model.MTable; import org.compiere.model.MTable;
import org.compiere.model.X_AD_InfoColumn;
import org.compiere.util.DB; import org.compiere.util.DB;
import org.compiere.util.DisplayType; import org.compiere.util.DisplayType;
import org.compiere.util.Env; import org.compiere.util.Env;
@ -106,7 +109,7 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener {
public InfoWindow(int WindowNo, String tableName, String keyColumn, String queryValue, public InfoWindow(int WindowNo, String tableName, String keyColumn, String queryValue,
boolean multipleSelection, String whereClause, int AD_InfoWindow_ID, boolean lookup) { boolean multipleSelection, String whereClause, int AD_InfoWindow_ID, boolean lookup) {
super(WindowNo, tableName, keyColumn, multipleSelection, whereClause, super(WindowNo, tableName, keyColumn, multipleSelection, whereClause,
lookup); lookup);
this.queryValue = queryValue; this.queryValue = queryValue;
this.AD_InfoWindow_ID = AD_InfoWindow_ID; this.AD_InfoWindow_ID = AD_InfoWindow_ID;
infoContext = new Properties(Env.getCtx()); infoContext = new Properties(Env.getCtx());
@ -159,9 +162,13 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener {
private boolean loadInfoDefinition() { private boolean loadInfoDefinition() {
if (AD_InfoWindow_ID > 0) { if (AD_InfoWindow_ID > 0) {
infoWindow = new MInfoWindow(Env.getCtx(), AD_InfoWindow_ID, null); infoWindow = new MInfoWindow(Env.getCtx(), AD_InfoWindow_ID, null);
String tableName = MTable.getTableName(Env.getCtx(), infoWindow.getAD_Table_ID()); if (!infoWindow.isValid()) {
if (!tableName.equalsIgnoreCase(p_tableName)) { infoWindow = null;
throw new IllegalArgumentException("AD_InfoWindow.TableName <> TableName argument. ("+tableName + " <> " + p_tableName+")"); } else {
String tableName = MTable.getTableName(Env.getCtx(), infoWindow.getAD_Table_ID());
if (!tableName.equalsIgnoreCase(p_tableName)) {
throw new IllegalArgumentException("AD_InfoWindow.TableName <> TableName argument. ("+tableName + " <> " + p_tableName+")");
}
} }
} else { } else {
infoWindow = MInfoWindow.get(p_tableName, (String)null); infoWindow = MInfoWindow.get(p_tableName, (String)null);
@ -313,29 +320,53 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener {
} }
for(WEditor editor : editors) { for(WEditor editor : editors) {
if (editor.getGridField() != null && editor.getValue() != null && editor.getValue().toString().trim().length() > 0) { if (editor.getGridField() != null && editor.getValue() != null && editor.getValue().toString().trim().length() > 0) {
MInfoColumn mInfoColumn = findInfoColumn(editor.getGridField());
if (mInfoColumn == null || mInfoColumn.getSelectClause().equals("0")) {
continue;
}
String columnName = mInfoColumn.getSelectClause();
if (builder.length() > 0) { if (builder.length() > 0) {
builder.append(" AND "); builder.append(" AND ");
} else if (p_whereClause != null && p_whereClause.trim().length() > 0) { } else if (p_whereClause != null && p_whereClause.trim().length() > 0) {
builder.append(" AND "); builder.append(" AND ");
} }
String columnName = editor.getColumnName(); String columnClause = null;
for(MInfoColumn infoColumn: infoColumns) { if (mInfoColumn.getQueryFunction() != null && mInfoColumn.getQueryFunction().trim().length() > 0) {
if (columnName.equals(infoColumn.getColumnName())) { String function = mInfoColumn.getQueryFunction();
columnName = infoColumn.getSelectClause(); if (function.indexOf("@") >= 0) {
String s = Env.parseContext(infoContext, p_WindowNo, function, false, false);
if (s.length() == 0) {
log.log(Level.SEVERE, "Failed to parse query function. " + function);
} else {
function = s;
}
}
if (function.indexOf("?") >= 0) {
columnClause = function.replaceFirst("[?]", columnName);
} else {
columnClause = function+"("+columnName+")";
} }
}
if (isSearchLike(editor.getGridField())) {
builder.append("UPPER(")
.append(columnName)
.append(") LIKE ?");
} else { } else {
builder.append(columnName).append("=?"); columnClause = columnName;
} }
builder.append(columnClause)
.append(" ")
.append(mInfoColumn.getQueryOperator())
.append(" ?");
} }
} }
return builder.toString(); return builder.toString();
} }
private MInfoColumn findInfoColumn(GridField gridField) {
for(int i = 0; i < gridFields.size(); i++) {
if (gridFields.get(i) == gridField) {
return infoColumns[i];
}
}
return null;
}
/* (non-Javadoc) /* (non-Javadoc)
* @see org.adempiere.webui.panel.InfoPanel#setParameters(java.sql.PreparedStatement, boolean) * @see org.adempiere.webui.panel.InfoPanel#setParameters(java.sql.PreparedStatement, boolean)
*/ */
@ -343,14 +374,18 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener {
protected void setParameters(PreparedStatement pstmt, boolean forCount) protected void setParameters(PreparedStatement pstmt, boolean forCount)
throws SQLException { throws SQLException {
int parameterIndex = 0; int parameterIndex = 0;
for(WEditor editor : editors) { for(WEditor editor : editors) {
Object value = editor.getValue(); if (editor.getGridField() != null && editor.getValue() != null && editor.getValue().toString().trim().length() > 0) {
if (value != null && value.toString().trim().length() > 0) { MInfoColumn mInfoColumn = findInfoColumn(editor.getGridField());
if (mInfoColumn == null || mInfoColumn.getSelectClause().equals("0")) {
continue;
}
Object value = editor.getValue();
parameterIndex++; parameterIndex++;
if (value instanceof Boolean) { if (value instanceof Boolean) {
pstmt.setString(parameterIndex, ((Boolean) value).booleanValue() ? "Y" : "N"); pstmt.setString(parameterIndex, ((Boolean) value).booleanValue() ? "Y" : "N");
} else if (value instanceof String) { } else if (value instanceof String) {
if (isSearchLike(editor.getGridField())) { if (mInfoColumn.getQueryOperator().equals(X_AD_InfoColumn.QUERYOPERATOR_Like)) {
StringBuilder valueStr = new StringBuilder(value.toString().toUpperCase()); StringBuilder valueStr = new StringBuilder(value.toString().toUpperCase());
if (!valueStr.toString().endsWith("%")) if (!valueStr.toString().endsWith("%"))
valueStr.append("%"); valueStr.append("%");
@ -424,6 +459,8 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener {
South south = new South(); South south = new South();
layout.appendChild(south); layout.appendChild(south);
renderFooter(south); renderFooter(south);
confirmPanel.getButton(ConfirmPanel.A_ZOOM).setVisible(hasZoom());
} }
protected void renderFooter(South south) { protected void renderFooter(South south) {
@ -451,8 +488,13 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener {
protected void createParameterPanel() { protected void createParameterPanel() {
parameterGrid = GridFactory.newGridLayout(); parameterGrid = GridFactory.newGridLayout();
parameterGrid.setInnerWidth("auto"); // parameterGrid.setInnerWidth("auto");
parameterGrid.setWidgetAttribute(AdempiereWebUI.WIDGET_INSTANCE_NAME, "infoParameterPanel"); parameterGrid.setWidgetAttribute(AdempiereWebUI.WIDGET_INSTANCE_NAME, "infoParameterPanel");
parameterGrid.setStyle("width: 90%; margin: auto;");
Columns columns = new Columns();
parameterGrid.appendChild(columns);
for(int i = 0; i < 8; i++)
columns.appendChild(new Column());
Rows rows = new Rows(); Rows rows = new Rows();
parameterGrid.appendChild(rows); parameterGrid.appendChild(rows);
@ -510,7 +552,7 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener {
else else
{ {
panel = (Row) parameterGrid.getRows().getLastChild(); panel = (Row) parameterGrid.getRows().getLastChild();
if (panel.getChildren().size() >= 6) if (panel.getChildren().size() >= 8)
{ {
panel = new Row(); panel = new Row();
parameterGrid.getRows().appendChild(panel); parameterGrid.getRows().appendChild(panel);
@ -610,10 +652,9 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener {
super.executeQuery(); super.executeQuery();
} }
private boolean isSearchLike(GridField field) @Override
{ protected boolean hasZoom() {
return DisplayType.isText(field.getDisplayType()) return !isLookup() && infoWindow != null && !infoWindow.getAD_Table().isView();
&& MColumn.isSuggestSelectionColumn(field.getColumnName(), true);
} }
@Override @Override
@ -621,14 +662,19 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener {
if (evt != null && evt.getSource() instanceof WEditor) if (evt != null && evt.getSource() instanceof WEditor)
{ {
WEditor editor = (WEditor)evt.getSource(); WEditor editor = (WEditor)evt.getSource();
if (evt.getNewValue() == null) if (evt.getNewValue() == null) {
Env.setContext(infoContext, p_WindowNo, editor.getColumnName(), ""); Env.setContext(infoContext, p_WindowNo, editor.getColumnName(), "");
else if (evt.getNewValue() instanceof Boolean) Env.setContext(infoContext, p_WindowNo, Env.TAB_INFO, editor.getColumnName(), "");
} else if (evt.getNewValue() instanceof Boolean) {
Env.setContext(infoContext, p_WindowNo, editor.getColumnName(), (Boolean)evt.getNewValue()); Env.setContext(infoContext, p_WindowNo, editor.getColumnName(), (Boolean)evt.getNewValue());
else if (evt.getNewValue() instanceof Timestamp) Env.setContext(infoContext, p_WindowNo, Env.TAB_INFO, editor.getColumnName(), (Boolean)evt.getNewValue());
} else if (evt.getNewValue() instanceof Timestamp) {
Env.setContext(infoContext, p_WindowNo, editor.getColumnName(), (Timestamp)evt.getNewValue()); Env.setContext(infoContext, p_WindowNo, editor.getColumnName(), (Timestamp)evt.getNewValue());
else Env.setContext(infoContext, p_WindowNo, Env.TAB_INFO+"|"+editor.getColumnName(), (Timestamp)evt.getNewValue());
} else {
Env.setContext(infoContext, p_WindowNo, editor.getColumnName(), evt.getNewValue().toString()); Env.setContext(infoContext, p_WindowNo, editor.getColumnName(), evt.getNewValue().toString());
Env.setContext(infoContext, p_WindowNo, Env.TAB_INFO, editor.getColumnName(), evt.getNewValue().toString());
}
for(WEditor otherEditor : editors) for(WEditor otherEditor : editors)
{ {

View File

@ -224,6 +224,11 @@ public abstract class AbstractMenuPanel extends Panel implements EventListener<E
link.setImage("/images/mWindow.png"); link.setImage("/images/mWindow.png");
treeitem.setAttribute("menu.type", "form"); treeitem.setAttribute("menu.type", "form");
} }
else if (mChildNode.isInfo())
{
link.setImage("/images/mWindow.png");
treeitem.setAttribute("menu.type", "info");
}
else // Window else // Window
{ {
link.setImage("/images/mWindow.png"); link.setImage("/images/mWindow.png");

View File

@ -249,18 +249,21 @@ public abstract class InfoPanel extends Window implements EventListener<Event>,
protected InfoPanel (int WindowNo, protected InfoPanel (int WindowNo,
String tableName, String keyColumn,boolean multipleSelection, String tableName, String keyColumn,boolean multipleSelection,
String whereClause, boolean lookup) String whereClause, boolean lookup)
{ {
if (WindowNo <= 0) {
p_WindowNo = SessionManager.getAppDesktop().registerWindow(this);
} else {
p_WindowNo = WindowNo;
}
if (log.isLoggable(Level.INFO)) if (log.isLoggable(Level.INFO))
log.info("WinNo=" + p_WindowNo + " " + whereClause); log.info("WinNo=" + WindowNo + " " + whereClause);
p_WindowNo = WindowNo;
p_tableName = tableName; p_tableName = tableName;
p_keyColumn = keyColumn; p_keyColumn = keyColumn;
p_multipleSelection = multipleSelection; p_multipleSelection = multipleSelection;
m_lookup = lookup; m_lookup = lookup;
if (whereClause == null || whereClause.indexOf('@') == -1) if (whereClause == null || whereClause.indexOf('@') == -1)
p_whereClause = whereClause; p_whereClause = whereClause == null ? "" : whereClause;
else else
{ {
p_whereClause = Env.parseContext(Env.getCtx(), p_WindowNo, whereClause, false, false); p_whereClause = Env.parseContext(Env.getCtx(), p_WindowNo, whereClause, false, false);
@ -320,7 +323,7 @@ public abstract class InfoPanel extends Window implements EventListener<Event>,
this.addEventListener(Events.ON_OK, this); this.addEventListener(Events.ON_OK, this);
contentPanel.setOddRowSclass(null); contentPanel.setOddRowSclass(null);
contentPanel.setSizedByContent(true); // contentPanel.setSizedByContent(true);
contentPanel.setWidgetAttribute(AdempiereWebUI.WIDGET_INSTANCE_NAME, "infoListbox"); contentPanel.setWidgetAttribute(AdempiereWebUI.WIDGET_INSTANCE_NAME, "infoListbox");
this.setSclass("info-panel"); this.setSclass("info-panel");

View File

@ -251,8 +251,6 @@ public class FindWindow extends Window implements EventListener<Event>, ValueCha
m_query.addRestriction(m_whereExtended); m_query.addRestriction(m_whereExtended);
// Required for Column Validation // Required for Column Validation
Env.setContext(Env.getCtx(), m_targetWindowNo, "Find_Table_ID", m_AD_Table_ID); Env.setContext(Env.getCtx(), m_targetWindowNo, "Find_Table_ID", m_AD_Table_ID);
// Context for Advanced Search Grid is WINDOW_FIND
Env.setContext(Env.getCtx(), Env.WINDOW_FIND, "Find_Table_ID", m_AD_Table_ID);
// //
initPanel(); initPanel();
initFind(); initFind();