From 45b0724542195e10eec147442a176da0f1eb41e7 Mon Sep 17 00:00:00 2001 From: hieplq Date: Mon, 26 May 2014 23:27:34 +0700 Subject: [PATCH] IDEMPIERE-1334:Run one or more processes from Info Window --- .../oracle/201405261604_IDEMPIERE-1334.sql | 279 +++++++++++++++++ .../201405261604_IDEMPIERE-1334.sql | 292 ++++++++++++++++++ .../src/org/adempiere/model/MInfoProcess.java | 60 ++++ .../org/compiere/model/I_AD_InfoProcess.java | 237 ++++++++++++++ .../org/compiere/model/I_AD_InfoWindow.java | 28 +- .../src/org/compiere/model/MInfoWindow.java | 52 ++++ .../src/org/compiere/model/MSysConfig.java | 2 + .../org/compiere/model/X_AD_InfoProcess.java | 278 +++++++++++++++++ .../org/compiere/model/X_AD_InfoWindow.java | 54 ++-- .../webui/apps/AbstractProcessDialog.java | 2 + .../webui/apps/ProcessModalDialog.java | 1 + .../webui/component/ConfirmPanel.java | 68 ++++ .../adempiere/webui/component/WListbox.java | 68 ++-- .../webui/desktop/DefaultDesktop.java | 5 + .../adempiere/webui/event/DialogEvents.java | 6 + .../org/adempiere/webui/info/InfoWindow.java | 177 +++++++++-- .../org/adempiere/webui/panel/InfoPanel.java | 210 ++++++++++--- .../theme/default/css/theme.css.dsp | 5 + 18 files changed, 1685 insertions(+), 139 deletions(-) create mode 100644 migration/i2.0z/oracle/201405261604_IDEMPIERE-1334.sql create mode 100644 migration/i2.0z/postgresql/201405261604_IDEMPIERE-1334.sql create mode 100644 org.adempiere.base/src/org/adempiere/model/MInfoProcess.java create mode 100644 org.adempiere.base/src/org/compiere/model/I_AD_InfoProcess.java create mode 100644 org.adempiere.base/src/org/compiere/model/X_AD_InfoProcess.java diff --git a/migration/i2.0z/oracle/201405261604_IDEMPIERE-1334.sql b/migration/i2.0z/oracle/201405261604_IDEMPIERE-1334.sql new file mode 100644 index 0000000000..95918b6808 --- /dev/null +++ b/migration/i2.0z/oracle/201405261604_IDEMPIERE-1334.sql @@ -0,0 +1,279 @@ +SET SQLBLANKLINES ON +SET DEFINE OFF + +-- May 26, 2014 10:31:26 PM ICT +-- I forgot to set the DICTIONARY_ID_COMMENTS System Configurator +INSERT INTO AD_Table (ImportTable,CopyColumnsFromTable,IsSecurityEnabled,AccessLevel,LoadSeq,AD_Window_ID,AD_Table_ID,IsHighVolume,IsView,IsChangeLog,EntityType,ReplicationType,AD_Table_UU,IsCentrallyMaintained,IsDeleteable,TableName,Description,Name,IsActive,AD_Org_ID,CreatedBy,Updated,UpdatedBy,Processing,DatabaseViewDrop,AD_Client_ID,Created) VALUES ('N','N','N','4',0,385,200129,'N','N','Y','D','L','399fcb47-f46c-4789-9e45-962cc5379c16','Y','Y','AD_InfoProcess','define process for info window','Info Process','Y',0,100,TO_DATE('2014-05-26 22:31:25','YYYY-MM-DD HH24:MI:SS'),100,'N','N',0,TO_DATE('2014-05-26 22:31:25','YYYY-MM-DD HH24:MI:SS')) +; + +-- May 26, 2014 10:31:27 PM ICT +INSERT INTO AD_Sequence (StartNewYear,CurrentNextSys,IsTableID,CurrentNext,IsAudited,IsAutoSequence,AD_Sequence_ID,Description,Name,IncrementNo,AD_Sequence_UU,AD_Org_ID,CreatedBy,Updated,UpdatedBy,IsActive,StartNo,AD_Client_ID,Created) VALUES ('N',200000,'Y',1000000,'N','Y',200176,'Table AD_InfoProcess','AD_InfoProcess',1,'48700d65-3ba4-4888-8242-6af9a613206a',0,100,TO_DATE('2014-05-26 22:31:26','YYYY-MM-DD HH24:MI:SS'),100,'Y',1000000,0,TO_DATE('2014-05-26 22:31:26','YYYY-MM-DD HH24:MI:SS')) +; + +-- May 26, 2014 10:31:28 PM ICT +INSERT INTO AD_Element (ColumnName,AD_Element_ID,Name,PrintName,AD_Element_UU,AD_Org_ID,CreatedBy,UpdatedBy,IsActive,AD_Client_ID,EntityType,Created,Updated) VALUES ('AD_InfoProcess_ID',202712,'Info Process','Info Process','ebfa3db8-e6b2-43aa-9eaa-e3dc1b2eb7f1',0,100,100,'Y',0,'D',TO_DATE('2014-05-26 22:31:27','YYYY-MM-DD HH24:MI:SS'),TO_DATE('2014-05-26 22:31:27','YYYY-MM-DD HH24:MI:SS')) +; + +-- May 26, 2014 10:31:28 PM ICT +INSERT INTO AD_Column (IsSyncDatabase,Version,AD_Column_ID,IsMandatory,IsTranslated,IsIdentifier,IsParent,FieldLength,IsSelectionColumn,IsKey,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,IsToolbarButton,IsAlwaysUpdateable,AD_Client_ID,EntityType,IsEncrypted,IsSecure,FKConstraintType,AD_Element_ID,AD_Reference_ID,AD_Table_ID) VALUES ('Y',0.0,211241,'Y','N','N','N',10,'N','Y','N','Y','e3154b48-b2ac-4ad2-ba43-92744e8c6a4c','N','AD_InfoProcess_ID','Info Process','N',TO_DATE('2014-05-26 22:31:28','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_DATE('2014-05-26 22:31:28','YYYY-MM-DD HH24:MI:SS'),100,'N','N',0,'D','N','N','N',202712,13,200129) +; + +-- May 26, 2014 10:31:28 PM ICT +CREATE TABLE AD_InfoProcess (AD_InfoProcess_ID NUMBER(10) NOT NULL, CONSTRAINT AD_InfoProcess_Key PRIMARY KEY (AD_InfoProcess_ID)) +; + +-- May 26, 2014 10:31:29 PM ICT +INSERT INTO AD_Element (ColumnName,AD_Element_ID,Name,PrintName,AD_Element_UU,AD_Org_ID,CreatedBy,UpdatedBy,IsActive,AD_Client_ID,EntityType,Created,Updated) VALUES ('AD_InfoProcess_UU',202713,'AD_InfoProcess_UU','AD_InfoProcess_UU','dde8ccd5-449b-4b9b-84a2-720e77eff87b',0,100,100,'Y',0,'D',TO_DATE('2014-05-26 22:31:29','YYYY-MM-DD HH24:MI:SS'),TO_DATE('2014-05-26 22:31:29','YYYY-MM-DD HH24:MI:SS')) +; + +-- May 26, 2014 10:31:30 PM ICT +INSERT INTO AD_Column (IsSyncDatabase,Version,AD_Column_ID,IsMandatory,IsTranslated,IsIdentifier,IsParent,FieldLength,IsSelectionColumn,IsKey,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,IsToolbarButton,IsAlwaysUpdateable,AD_Client_ID,EntityType,IsEncrypted,IsSecure,FKConstraintType,AD_Element_ID,AD_Reference_ID,AD_Table_ID) VALUES ('Y',0.0,211242,'Y','N','N','N',36,'N','N','N','Y','8f961362-5939-48a4-8c8d-8d8b5d86a83e','N','AD_InfoProcess_UU','AD_InfoProcess_UU','N',TO_DATE('2014-05-26 22:31:29','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_DATE('2014-05-26 22:31:29','YYYY-MM-DD HH24:MI:SS'),100,'N','N',0,'D','N','N','N',202713,10,200129) +; + +-- May 26, 2014 10:31:30 PM ICT +ALTER TABLE AD_InfoProcess ADD AD_InfoProcess_UU VARCHAR2(36) NOT NULL +; + +-- May 26, 2014 10:31:30 PM ICT +ALTER TABLE AD_InfoProcess ADD CONSTRAINT AD_InfoProcess_UU_idx UNIQUE (AD_InfoProcess_UU) +; + +-- May 26, 2014 10:31:31 PM ICT +INSERT INTO AD_Column (IsSyncDatabase,Version,AD_Column_ID,IsMandatory,IsTranslated,IsIdentifier,IsParent,FieldLength,IsSelectionColumn,IsKey,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,Description,DefaultValue,Help,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,IsToolbarButton,IsAlwaysUpdateable,AD_Client_ID,EntityType,IsEncrypted,IsSecure,FKConstraintName,FKConstraintType,AD_Element_ID,AD_Reference_ID,AD_Table_ID,AD_Val_Rule_ID) VALUES ('Y',0.0,211243,'Y','N','N','N',10,'N','N','N','Y','e8fa9743-e852-4fb3-a8ba-aba7190f5d26','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('2014-05-26 22:31:30','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_DATE('2014-05-26 22:31:30','YYYY-MM-DD HH24:MI:SS'),100,'N','N',0,'D','N','N','ADClient_ADInfoProcess','N',102,19,200129,129) +; + +-- May 26, 2014 10:31:31 PM ICT +ALTER TABLE AD_InfoProcess ADD AD_Client_ID NUMBER(10) NOT NULL +; + +-- May 26, 2014 10:31:31 PM ICT +INSERT INTO AD_Column (IsSyncDatabase,Version,AD_Column_ID,IsMandatory,IsTranslated,IsIdentifier,IsParent,FieldLength,IsSelectionColumn,IsKey,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,Description,DefaultValue,Help,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,IsToolbarButton,IsAlwaysUpdateable,AD_Client_ID,EntityType,IsEncrypted,IsSecure,FKConstraintName,FKConstraintType,AD_Element_ID,AD_Reference_ID,AD_Table_ID,AD_Val_Rule_ID) VALUES ('Y',0.0,211244,'Y','N','N','N',10,'N','N','N','Y','48046a19-4d3c-40e6-93f2-49858061c1ff','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('2014-05-26 22:31:31','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_DATE('2014-05-26 22:31:31','YYYY-MM-DD HH24:MI:SS'),100,'N','N',0,'D','N','N','ADOrg_ADInfoProcess','N',113,19,200129,104) +; + +-- May 26, 2014 10:31:31 PM ICT +ALTER TABLE AD_InfoProcess ADD AD_Org_ID NUMBER(10) NOT NULL +; + +-- May 26, 2014 10:31:32 PM ICT +INSERT INTO AD_Column (IsSyncDatabase,Version,AD_Column_ID,IsMandatory,IsTranslated,IsIdentifier,IsParent,FieldLength,IsSelectionColumn,IsKey,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,Description,DefaultValue,Help,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,IsToolbarButton,IsAlwaysUpdateable,AD_Client_ID,EntityType,IsEncrypted,IsSecure,FKConstraintType,AD_Element_ID,AD_Reference_ID,AD_Table_ID) VALUES ('Y',0.0,211245,'Y','N','N','N',1,'N','N','N','Y','0d5a6a7a-b436-4958-814a-18ecafbc8971','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('2014-05-26 22:31:31','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_DATE('2014-05-26 22:31:31','YYYY-MM-DD HH24:MI:SS'),100,'N','N',0,'D','N','N','N',348,20,200129) +; + +-- May 26, 2014 10:31:32 PM ICT +ALTER TABLE AD_InfoProcess ADD IsActive CHAR(1) DEFAULT 'Y' CHECK (IsActive IN ('Y','N')) NOT NULL +; + +-- May 26, 2014 10:31:33 PM ICT +INSERT INTO AD_Column (IsSyncDatabase,Version,AD_Column_ID,IsMandatory,IsTranslated,IsIdentifier,IsParent,FieldLength,IsSelectionColumn,IsKey,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,Description,DefaultValue,Help,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,IsToolbarButton,IsAlwaysUpdateable,AD_Client_ID,EntityType,IsEncrypted,IsSecure,FKConstraintType,AD_Element_ID,AD_Reference_ID,AD_Table_ID) VALUES ('Y',0.0,211246,'Y','N','N','N',29,'N','N','N','Y','a8315f0c-3cbd-4092-bcc7-8e1f0bc4021c','N','Created','Date this record was created','SYSDATE','The Created field indicates the date that this record was created.','Created','N',TO_DATE('2014-05-26 22:31:32','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_DATE('2014-05-26 22:31:32','YYYY-MM-DD HH24:MI:SS'),100,'N','N',0,'D','N','N','N',245,16,200129) +; + +-- May 26, 2014 10:31:33 PM ICT +ALTER TABLE AD_InfoProcess ADD Created DATE DEFAULT SYSDATE NOT NULL +; + +-- May 26, 2014 10:31:34 PM ICT +INSERT INTO AD_Column (IsSyncDatabase,Version,AD_Column_ID,IsMandatory,IsTranslated,IsIdentifier,IsParent,FieldLength,IsSelectionColumn,IsKey,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,Description,Help,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,IsToolbarButton,IsAlwaysUpdateable,AD_Client_ID,EntityType,IsEncrypted,IsSecure,FKConstraintType,AD_Element_ID,AD_Reference_ID,AD_Reference_Value_ID,AD_Table_ID) VALUES ('Y',0.0,211247,'Y','N','N','N',10,'N','N','N','Y','f2e43604-537c-46a7-a08a-425589a290de','N','CreatedBy','User who created this records','The Created By field indicates the user who created this record.','Created By','N',TO_DATE('2014-05-26 22:31:33','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_DATE('2014-05-26 22:31:33','YYYY-MM-DD HH24:MI:SS'),100,'N','N',0,'D','N','N','N',246,18,110,200129) +; + +-- May 26, 2014 10:31:34 PM ICT +ALTER TABLE AD_InfoProcess ADD CreatedBy NUMBER(10) NOT NULL +; + +-- May 26, 2014 10:31:35 PM ICT +INSERT INTO AD_Column (IsSyncDatabase,Version,AD_Column_ID,IsMandatory,IsTranslated,IsIdentifier,IsParent,FieldLength,IsSelectionColumn,IsKey,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,Description,DefaultValue,Help,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,IsToolbarButton,IsAlwaysUpdateable,AD_Client_ID,EntityType,IsEncrypted,IsSecure,FKConstraintType,AD_Element_ID,AD_Reference_ID,AD_Table_ID) VALUES ('Y',0.0,211248,'Y','N','N','N',29,'N','N','N','Y','87143907-1038-4c5d-90f6-3114a6fc7edf','N','Updated','Date this record was updated','SYSDATE','The Updated field indicates the date that this record was updated.','Updated','N',TO_DATE('2014-05-26 22:31:34','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_DATE('2014-05-26 22:31:34','YYYY-MM-DD HH24:MI:SS'),100,'N','N',0,'D','N','N','N',607,16,200129) +; + +-- May 26, 2014 10:31:35 PM ICT +ALTER TABLE AD_InfoProcess ADD Updated DATE DEFAULT SYSDATE NOT NULL +; + +-- May 26, 2014 10:31:35 PM ICT +INSERT INTO AD_Column (IsSyncDatabase,Version,AD_Column_ID,IsMandatory,IsTranslated,IsIdentifier,IsParent,FieldLength,IsSelectionColumn,IsKey,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,Description,Help,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,IsToolbarButton,IsAlwaysUpdateable,AD_Client_ID,EntityType,IsEncrypted,IsSecure,FKConstraintType,AD_Element_ID,AD_Reference_ID,AD_Reference_Value_ID,AD_Table_ID) VALUES ('Y',0.0,211249,'Y','N','N','N',10,'N','N','N','Y','197f9f68-6340-45a8-9d75-9d027f8bcc75','N','UpdatedBy','User who updated this records','The Updated By field indicates the user who updated this record.','Updated By','N',TO_DATE('2014-05-26 22:31:35','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_DATE('2014-05-26 22:31:35','YYYY-MM-DD HH24:MI:SS'),100,'N','N',0,'D','N','N','N',608,18,110,200129) +; + +-- May 26, 2014 10:31:35 PM ICT +ALTER TABLE AD_InfoProcess ADD UpdatedBy NUMBER(10) NOT NULL +; + +-- May 26, 2014 10:31:36 PM ICT +INSERT INTO AD_Column (IsSyncDatabase,Version,AD_Column_ID,IsMandatory,IsTranslated,IsIdentifier,IsParent,FieldLength,IsSelectionColumn,IsKey,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,Description,Help,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,IsToolbarButton,IsAlwaysUpdateable,AD_Client_ID,EntityType,IsEncrypted,IsSecure,FKConstraintType,AD_Element_ID,AD_Reference_ID,AD_Table_ID) VALUES ('Y',0.0,211250,'Y','N','Y','N',60,'Y','N','N','Y','cba0a7f1-a35e-4410-b53d-b47a0a81b8d5','Y','Name','Alphanumeric identifier of the entity','The name of an entity (record) is used as an default search option in addition to the search key. The name is up to 60 characters in length.','Name','Y',TO_DATE('2014-05-26 22:31:35','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_DATE('2014-05-26 22:31:35','YYYY-MM-DD HH24:MI:SS'),100,'N','N',0,'D','N','N','N',469,10,200129) +; + +-- May 26, 2014 10:31:36 PM ICT +ALTER TABLE AD_InfoProcess ADD Name VARCHAR2(60) NOT NULL +; + +-- May 26, 2014 10:31:37 PM ICT +INSERT INTO AD_Column (IsSyncDatabase,Version,AD_Column_ID,IsMandatory,IsTranslated,IsIdentifier,IsParent,FieldLength,IsSelectionColumn,IsKey,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,Description,Help,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,IsToolbarButton,IsAlwaysUpdateable,AD_Client_ID,EntityType,IsEncrypted,IsSecure,FKConstraintType,AD_Element_ID,AD_Reference_ID,AD_Table_ID) VALUES ('Y',0.0,211251,'N','N','N','N',255,'Y','N','N','Y','da7faea4-1447-4912-975d-9916325f892c','Y','Description','Optional short description of the record','A description is limited to 255 characters.','Description','Y',TO_DATE('2014-05-26 22:31:36','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_DATE('2014-05-26 22:31:36','YYYY-MM-DD HH24:MI:SS'),100,'N','N',0,'D','N','N','N',275,10,200129) +; + +-- May 26, 2014 10:31:37 PM ICT +ALTER TABLE AD_InfoProcess ADD Description VARCHAR2(255) DEFAULT NULL +; + +-- May 26, 2014 10:31:38 PM ICT +INSERT INTO AD_Column (IsSyncDatabase,Version,AD_Column_ID,IsMandatory,IsTranslated,IsIdentifier,IsParent,FieldLength,IsSelectionColumn,IsKey,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,Description,Help,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,IsToolbarButton,IsAlwaysUpdateable,AD_Client_ID,EntityType,IsEncrypted,IsSecure,FKConstraintType,AD_Element_ID,AD_Reference_ID,AD_Table_ID) VALUES ('Y',0.0,211252,'N','N','N','N',120,'N','N','N','Y','54fdf7c3-564a-48ea-af3c-314efca2f0ed','Y','ImageURL','URL of image','URL of image; The image is not stored in the database, but retrieved at runtime. The image can be a gif, jpeg or png.','Image URL','Y',TO_DATE('2014-05-26 22:31:37','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_DATE('2014-05-26 22:31:37','YYYY-MM-DD HH24:MI:SS'),100,'N','N',0,'D','N','N','N',1720,10,200129) +; + +-- May 26, 2014 10:31:38 PM ICT +ALTER TABLE AD_InfoProcess ADD ImageURL VARCHAR2(120) DEFAULT NULL +; + +-- May 26, 2014 10:31:38 PM ICT +INSERT INTO AD_Column (IsSyncDatabase,Version,AD_Column_ID,IsMandatory,IsTranslated,IsIdentifier,IsParent,FieldLength,IsSelectionColumn,IsKey,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,Description,DefaultValue,Help,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,IsToolbarButton,IsAlwaysUpdateable,AD_Client_ID,EntityType,IsEncrypted,IsSecure,FKConstraintType,AD_Element_ID,AD_Reference_ID,AD_Table_ID) VALUES ('Y',0.0,211253,'Y','N','N','N',10,'N','N','N','Y','b9449134-fe06-4a9a-b1a6-54077974de21','Y','SeqNo','Method of ordering records; lowest number comes first','@SQL=SELECT NVL(MAX(SeqNo),0)+10 AS DefaultValue FROM AD_InfoProcess WHERE AD_InfoWindow_ID=@AD_InfoWindow_ID@','The Sequence indicates the order of records','Sequence','N',TO_DATE('2014-05-26 22:31:38','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_DATE('2014-05-26 22:31:38','YYYY-MM-DD HH24:MI:SS'),100,'N','N',0,'D','N','N','N',566,11,200129) +; + +-- May 26, 2014 10:31:38 PM ICT +ALTER TABLE AD_InfoProcess ADD SeqNo NUMBER(10) NOT NULL +; + +-- May 26, 2014 10:31:39 PM ICT +INSERT INTO AD_Column (IsSyncDatabase,Version,AD_Column_ID,IsMandatory,IsTranslated,IsIdentifier,IsParent,FieldLength,IsSelectionColumn,IsKey,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,Description,Help,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,IsToolbarButton,IsAlwaysUpdateable,AD_Client_ID,EntityType,IsEncrypted,IsSecure,FKConstraintName,FKConstraintType,AD_Element_ID,AD_Reference_ID,AD_Table_ID) VALUES ('Y',0.0,211254,'Y','N','N','N',10,'N','N','N','Y','be4dc8ea-58bf-4238-bff2-71099c2f36f9','Y','AD_Process_ID','Process or Report','The Process field identifies a unique Process or Report in the system.','Process','Y',TO_DATE('2014-05-26 22:31:38','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_DATE('2014-05-26 22:31:38','YYYY-MM-DD HH24:MI:SS'),100,'N','N',0,'D','N','N','ADProcess_ADInfoProcess','N',117,19,200129) +; + +-- May 26, 2014 10:31:39 PM ICT +ALTER TABLE AD_InfoProcess ADD AD_Process_ID NUMBER(10) NOT NULL +; + +-- May 26, 2014 10:31:40 PM ICT +INSERT INTO AD_Column (IsSyncDatabase,Version,AD_Column_ID,IsMandatory,IsTranslated,IsIdentifier,IsParent,FieldLength,IsSelectionColumn,IsKey,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,Description,Help,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,IsToolbarButton,IsAlwaysUpdateable,AD_Client_ID,EntityType,IsEncrypted,IsSecure,FKConstraintName,FKConstraintType,AD_Element_ID,AD_Reference_ID,AD_Table_ID) VALUES ('Y',0.0,211255,'N','N','N','Y',10,'N','N','N','Y','d9a775c3-dd5c-4e91-8416-60b78c33eb4e','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('2014-05-26 22:31:39','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_DATE('2014-05-26 22:31:39','YYYY-MM-DD HH24:MI:SS'),100,'N','N',0,'D','N','N','ADInfoWindow_ADInfoProcess','C',3068,19,200129) +; + +-- May 26, 2014 10:31:40 PM ICT +ALTER TABLE AD_InfoProcess ADD AD_InfoWindow_ID NUMBER(10) DEFAULT NULL +; + +-- May 26, 2014 10:31:41 PM ICT +INSERT INTO AD_Column (SeqNoSelection,IsSyncDatabase,Version,AD_Column_ID,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,IsKey,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,Description,Help,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,IsToolbarButton,IsAlwaysUpdateable,AD_Client_ID,EntityType,IsEncrypted,IsSecure,FKConstraintType,AD_Element_ID,AD_Reference_ID,AD_Table_ID) VALUES (0,'Y',0,211256,'N','N','N',0,'N',2000,'N','N','N','Y','54387a92-4caa-4ab2-a765-51cf779a537c','Y','Help','Comment or Hint','The Help field contains a hint, comment or help about the use of this item.','Comment/Help','Y',TO_DATE('2014-05-26 22:31:40','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_DATE('2014-05-26 22:31:40','YYYY-MM-DD HH24:MI:SS'),100,'N','N',0,'D','N','N','N',326,14,200129) +; + +-- May 26, 2014 10:31:41 PM ICT +ALTER TABLE AD_InfoProcess ADD Help VARCHAR2(2000) DEFAULT NULL +; + +-- May 26, 2014 10:31:41 PM ICT +INSERT INTO AD_Element (ColumnName,AD_Element_ID,Help,Name,Description,PrintName,AD_Element_UU,AD_Org_ID,CreatedBy,UpdatedBy,IsActive,AD_Client_ID,EntityType,Created,Updated) VALUES ('LayoutType',202714,'Process info can display as button list, drop down list, dialog button,...','LayoutType','Layout type of info process','Layout Type','913eafda-0cdc-4c44-85f8-487d77a3787c',0,100,100,'Y',0,'D',TO_DATE('2014-05-26 22:31:41','YYYY-MM-DD HH24:MI:SS'),TO_DATE('2014-05-26 22:31:41','YYYY-MM-DD HH24:MI:SS')) +; + +-- May 26, 2014 10:31:42 PM ICT +INSERT INTO AD_Reference (AD_Reference_ID,Name,EntityType,AD_Reference_UU,IsOrderByValue,Description,ValidationType,AD_Org_ID,CreatedBy,Updated,IsActive,Created,UpdatedBy,AD_Client_ID) VALUES (200083,'ad_info_process layout type','D','2171ebd2-e11a-4612-9885-128f155d65e8','N','define layout type of info process button','L',0,100,TO_DATE('2014-05-26 22:31:42','YYYY-MM-DD HH24:MI:SS'),'Y',TO_DATE('2014-05-26 22:31:42','YYYY-MM-DD HH24:MI:SS'),100,0) +; + +-- May 26, 2014 10:31:43 PM ICT +INSERT INTO AD_Ref_List (AD_Ref_List_ID,AD_Reference_ID,Description,Name,AD_Ref_List_UU,Value,Created,CreatedBy,Updated,UpdatedBy,IsActive,EntityType,AD_Client_ID,AD_Org_ID) VALUES (200185,200083,'info process display as muilti buttons','Button','6884dcd1-bc9a-4d16-9b2c-fe40968747f8','Button',TO_DATE('2014-05-26 22:31:42','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2014-05-26 22:31:42','YYYY-MM-DD HH24:MI:SS'),100,'Y','D',0,0) +; + +-- May 26, 2014 10:31:44 PM ICT +INSERT INTO AD_Ref_List (AD_Ref_List_ID,AD_Reference_ID,Description,Name,AD_Ref_List_UU,Value,Created,CreatedBy,Updated,UpdatedBy,IsActive,EntityType,AD_Client_ID,AD_Org_ID) VALUES (200186,200083,'Each info process is a menu item, when click a button process, this menu is show','Menu','7b539591-296a-43ee-916c-c87c35acc84d','Menu',TO_DATE('2014-05-26 22:31:43','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2014-05-26 22:31:43','YYYY-MM-DD HH24:MI:SS'),100,'Y','D',0,0) +; + +-- May 26, 2014 10:31:44 PM ICT +INSERT INTO AD_Ref_List (AD_Ref_List_ID,AD_Reference_ID,Description,Name,AD_Ref_List_UU,Value,Created,CreatedBy,Updated,UpdatedBy,IsActive,EntityType,AD_Client_ID,AD_Org_ID) VALUES (200187,200083,'info process is display as drop down list','Drop List','ff0cba3e-e82c-4aa8-9f9b-bedf681b822d','Drop List',TO_DATE('2014-05-26 22:31:44','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2014-05-26 22:31:44','YYYY-MM-DD HH24:MI:SS'),100,'Y','D',0,0) +; + +-- May 26, 2014 10:31:45 PM ICT +INSERT INTO AD_Column (SeqNoSelection,IsSyncDatabase,Version,AD_Column_ID,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,IsKey,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,Description,Help,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,IsToolbarButton,IsAlwaysUpdateable,AD_Client_ID,EntityType,IsEncrypted,IsSecure,FKConstraintType,AD_Element_ID,AD_Reference_ID,AD_Reference_Value_ID,AD_Table_ID) VALUES (0,'Y',0,211257,'N','N','N',0,'N',10,'N','N','N','Y','a0e8f5b5-ac5f-44ba-a2c9-060dd3231c4e','Y','LayoutType','Layout type of info process','Process info can display as button list, drop down list, dialog button,...','LayoutType','Y',TO_DATE('2014-05-26 22:31:45','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_DATE('2014-05-26 22:31:45','YYYY-MM-DD HH24:MI:SS'),100,'N','N',0,'D','N','N','N',202714,17,200083,200129) +; + +-- May 26, 2014 10:31:45 PM ICT +ALTER TABLE AD_InfoProcess ADD LayoutType VARCHAR2(10) DEFAULT NULL +; + +-- May 26, 2014 10:31:46 PM ICT +INSERT INTO AD_Column (SeqNoSelection,IsSyncDatabase,Version,AD_Column_ID,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,IsKey,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,Description,Help,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,IsToolbarButton,IsAlwaysUpdateable,AD_Client_ID,EntityType,IsEncrypted,IsSecure,FKConstraintType,AD_Element_ID,AD_Reference_ID,AD_Reference_Value_ID,AD_Table_ID) VALUES (0,'Y',0,211258,'N','N','N',0,'N',10,'N','N','N','Y','663fed7f-bda5-4602-9e9a-b2a45c02020c','Y','LayoutType','Layout type of info process','Process info can display as button list, drop down list, dialog button,...','LayoutType','Y',TO_DATE('2014-05-26 22:31:45','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_DATE('2014-05-26 22:31:45','YYYY-MM-DD HH24:MI:SS'),100,'N','N',0,'D','N','N','N',202714,17,200083,895) +; + +-- May 26, 2014 10:31:46 PM ICT +ALTER TABLE AD_InfoWindow ADD LayoutType VARCHAR2(10) DEFAULT NULL +; + +-- May 26, 2014 10:31:47 PM ICT +INSERT INTO AD_Field (SortNo,IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,CreatedBy,Updated,IsActive,IsDisplayedGrid,SeqNoGrid,XPosition,IsQuickEntry,AD_Client_ID,ColumnSpan,NumLines,IsAdvancedField,IsDefaultFocus,AD_Column_ID,EntityType,Created) VALUES (0,'N',842,0,'N','N',220,'Y',203025,'N','Process info can display as button list, drop down list, dialog button,...','Layout type of info process','LayoutType','f447274d-3c6b-42e1-a2ae-85f641a91a2c','Y','N',100,0,100,TO_DATE('2014-05-26 22:31:47','YYYY-MM-DD HH24:MI:SS'),'Y','Y',130,1,'N',0,1,1,'N','N',211258,'D',TO_DATE('2014-05-26 22:31:47','YYYY-MM-DD HH24:MI:SS')) +; + +-- May 26, 2014 10:31:48 PM ICT +INSERT INTO AD_Tab (ImportFields,Processing,IsSingleRow,AD_Window_ID,SeqNo,IsTranslationTab,IsSortTab,HasTree,IsInfoTab,IsReadOnly,IsInsertRecord,IsAdvancedTab,TabLevel,AD_Tab_UU,EntityType,Name,AD_Tab_ID,AD_Org_ID,Created,CreatedBy,Updated,UpdatedBy,IsActive,AD_Table_ID,AD_Client_ID,TreeDisplayedOn) VALUES ('N','N','Y',385,60,'N','N','N','N','N','Y','N',1,'2a39f93a-2062-404a-8e28-19fc45982162','D','Process',200142,0,TO_DATE('2014-05-26 22:31:47','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2014-05-26 22:31:47','YYYY-MM-DD HH24:MI:SS'),100,'Y',200129,0,'B') +; + +-- May 26, 2014 10:31:49 PM ICT +INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,CreatedBy,Updated,IsActive,IsDisplayedGrid,XPosition,IsQuickEntry,AD_Client_ID,ColumnSpan,NumLines,IsAdvancedField,IsDefaultFocus,AD_Column_ID,EntityType,Created) VALUES ('N',200142,36,'N','N',0,'Y',203026,'N','AD_InfoProcess_UU','87361dd1-cfc0-412d-a344-e5f602650e32','N','N',100,0,100,TO_DATE('2014-05-26 22:31:48','YYYY-MM-DD HH24:MI:SS'),'Y','N',1,'N',0,2,1,'N','N',211242,'D',TO_DATE('2014-05-26 22:31:48','YYYY-MM-DD HH24:MI:SS')) +; + +-- May 26, 2014 10:31:49 PM ICT +INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,CreatedBy,Updated,IsActive,IsDisplayedGrid,XPosition,IsQuickEntry,AD_Client_ID,ColumnSpan,NumLines,IsAdvancedField,IsDefaultFocus,AD_Column_ID,EntityType,Created) VALUES ('N',200142,10,'N','N',0,'Y',203027,'N','Info Process','8020c77c-816a-4be9-a38c-747aed3afcf2','N','N',100,0,100,TO_DATE('2014-05-26 22:31:49','YYYY-MM-DD HH24:MI:SS'),'Y','N',1,'N',0,2,1,'N','N',211241,'D',TO_DATE('2014-05-26 22:31:49','YYYY-MM-DD HH24:MI:SS')) +; + +-- May 26, 2014 10:31:50 PM ICT +INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,CreatedBy,Updated,IsActive,IsDisplayedGrid,XPosition,IsQuickEntry,AD_Client_ID,ColumnSpan,NumLines,IsAdvancedField,IsDefaultFocus,AD_Column_ID,EntityType,Created) VALUES ('N',200142,10,'N','N',10,'Y',203028,'Y','A Client is a company or a legal entity. You cannot share data between Clients. Tenant is a synonym for Client.','Client/Tenant for this installation.','Client','a6fccb4a-2521-4369-a1bb-06602ae9c840','Y','N',100,0,100,TO_DATE('2014-05-26 22:31:49','YYYY-MM-DD HH24:MI:SS'),'Y','N',1,'N',0,2,1,'N','N',211243,'D',TO_DATE('2014-05-26 22:31:49','YYYY-MM-DD HH24:MI:SS')) +; + +-- May 26, 2014 10:31:51 PM ICT +INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,IsAllowCopy,UpdatedBy,AD_Org_ID,CreatedBy,Updated,IsActive,IsDisplayedGrid,XPosition,IsQuickEntry,AD_Client_ID,ColumnSpan,NumLines,IsAdvancedField,IsDefaultFocus,AD_Column_ID,EntityType,Created) VALUES ('N',200142,10,'N','N',20,'Y',203029,'Y','An organization is a unit of your client or legal entity - examples are store, department. You can share data between organizations.','Organizational entity within client','Organization','60f9d173-cefb-417c-8080-8bb16aebff7e','Y','N','Y',100,0,100,TO_DATE('2014-05-26 22:31:50','YYYY-MM-DD HH24:MI:SS'),'Y','N',4,'N',0,2,1,'N','N',211244,'D',TO_DATE('2014-05-26 22:31:50','YYYY-MM-DD HH24:MI:SS')) +; + +-- May 26, 2014 10:31:51 PM ICT +INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,CreatedBy,Updated,IsActive,IsDisplayedGrid,SeqNoGrid,XPosition,IsQuickEntry,AD_Client_ID,ColumnSpan,NumLines,IsAdvancedField,IsDefaultFocus,AD_Column_ID,EntityType,Created) VALUES ('N',200142,10,'N','N',30,'Y',203030,'Y','The Info window is used to search and select records as well as display information relevant to the selection.','Info and search/select Window','Info Window','ecc17f1a-a61e-4449-a35b-9915088cad60','Y','N',100,0,100,TO_DATE('2014-05-26 22:31:51','YYYY-MM-DD HH24:MI:SS'),'Y','Y',60,1,'N',0,2,1,'N','N',211255,'D',TO_DATE('2014-05-26 22:31:51','YYYY-MM-DD HH24:MI:SS')) +; + +-- May 26, 2014 10:31:52 PM ICT +INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,CreatedBy,Updated,IsActive,IsDisplayedGrid,SeqNoGrid,XPosition,IsQuickEntry,AD_Client_ID,ColumnSpan,NumLines,IsAdvancedField,IsDefaultFocus,AD_Column_ID,EntityType,Created) VALUES ('N',200142,120,'N','N',40,'Y',203031,'N','URL of image; The image is not stored in the database, but retrieved at runtime. The image can be a gif, jpeg or png.','URL of image','Image URL','8a9c636e-677b-464c-a942-3e0e8f5ad3a4','Y','N',100,0,100,TO_DATE('2014-05-26 22:31:51','YYYY-MM-DD HH24:MI:SS'),'Y','Y',30,4,'N',0,2,1,'N','N',211252,'D',TO_DATE('2014-05-26 22:31:51','YYYY-MM-DD HH24:MI:SS')) +; + +-- May 26, 2014 10:31:53 PM ICT +INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,CreatedBy,Updated,IsActive,IsDisplayedGrid,SeqNoGrid,XPosition,IsQuickEntry,AD_Client_ID,ColumnSpan,NumLines,IsAdvancedField,IsDefaultFocus,AD_Column_ID,EntityType,Created) VALUES ('N',200142,60,'N','N',50,'Y',203032,'N','The name of an entity (record) is used as an default search option in addition to the search key. The name is up to 60 characters in length.','Alphanumeric identifier of the entity','Name','af4c42ad-5b90-474a-80f4-41341a08d3cf','Y','N',100,0,100,TO_DATE('2014-05-26 22:31:52','YYYY-MM-DD HH24:MI:SS'),'Y','Y',10,1,'N',0,5,1,'N','N',211250,'D',TO_DATE('2014-05-26 22:31:52','YYYY-MM-DD HH24:MI:SS')) +; + +-- May 26, 2014 10:31:53 PM ICT +INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,CreatedBy,Updated,IsActive,IsDisplayedGrid,SeqNoGrid,XPosition,IsQuickEntry,AD_Client_ID,ColumnSpan,NumLines,IsAdvancedField,IsDefaultFocus,AD_Column_ID,EntityType,Created) VALUES ('N',200142,255,'N','N',60,'Y',203033,'N','A description is limited to 255 characters.','Optional short description of the record','Description','cc49a78e-2927-484e-990e-8c303be44b4c','Y','N',100,0,100,TO_DATE('2014-05-26 22:31:53','YYYY-MM-DD HH24:MI:SS'),'Y','Y',20,1,'N',0,5,1,'N','N',211251,'D',TO_DATE('2014-05-26 22:31:53','YYYY-MM-DD HH24:MI:SS')) +; + +-- May 26, 2014 10:31:54 PM ICT +INSERT INTO AD_Field (SortNo,IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,CreatedBy,Updated,IsActive,IsDisplayedGrid,SeqNoGrid,XPosition,IsQuickEntry,AD_Client_ID,ColumnSpan,NumLines,IsAdvancedField,IsDefaultFocus,AD_Column_ID,EntityType,Created) VALUES (0,'N',200142,0,'N','N',70,'Y',203034,'N','The Help field contains a hint, comment or help about the use of this item.','Comment or Hint','Comment/Help','4b9118d1-4cc9-47fe-beee-b24e4d1263cb','Y','N',100,0,100,TO_DATE('2014-05-26 22:31:53','YYYY-MM-DD HH24:MI:SS'),'Y','Y',80,1,'N',0,5,3,'N','N',211256,'D',TO_DATE('2014-05-26 22:31:53','YYYY-MM-DD HH24:MI:SS')) +; + +-- May 26, 2014 10:31:55 PM ICT +INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,CreatedBy,Updated,IsActive,IsDisplayedGrid,SeqNoGrid,XPosition,IsQuickEntry,AD_Client_ID,ColumnSpan,NumLines,IsAdvancedField,IsDefaultFocus,AD_Column_ID,EntityType,Created) VALUES ('N',200142,10,'N','N',80,'Y',203035,'N','The Process field identifies a unique Process or Report in the system.','Process or Report','Process','2f7cb5e4-1af9-4912-b9dd-bbc8ccbae537','Y','N',100,0,100,TO_DATE('2014-05-26 22:31:54','YYYY-MM-DD HH24:MI:SS'),'Y','Y',50,1,'N',0,2,1,'N','N',211254,'D',TO_DATE('2014-05-26 22:31:54','YYYY-MM-DD HH24:MI:SS')) +; + +-- May 26, 2014 10:31:55 PM ICT +INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,CreatedBy,Updated,IsActive,IsDisplayedGrid,SeqNoGrid,XPosition,IsQuickEntry,AD_Client_ID,ColumnSpan,NumLines,IsAdvancedField,IsDefaultFocus,AD_Column_ID,EntityType,Created) VALUES ('N',200142,10,'N','N',90,'Y',203036,'N','The Sequence indicates the order of records','Method of ordering records; lowest number comes first','Sequence','c5ee4976-735e-40f8-8cd4-4bacc36adcdf','Y','N',100,0,100,TO_DATE('2014-05-26 22:31:55','YYYY-MM-DD HH24:MI:SS'),'Y','Y',40,4,'N',0,2,1,'N','N',211253,'D',TO_DATE('2014-05-26 22:31:55','YYYY-MM-DD HH24:MI:SS')) +; + +-- May 26, 2014 10:31:56 PM ICT +INSERT INTO AD_Field (SortNo,IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,CreatedBy,Updated,IsActive,IsDisplayedGrid,SeqNoGrid,XPosition,IsQuickEntry,AD_Client_ID,ColumnSpan,NumLines,IsAdvancedField,IsDefaultFocus,AD_Column_ID,EntityType,Created) VALUES (0,'N',200142,0,'N','N',100,'Y',203037,'N','Process info can display as button list, drop down list, dialog button,...','Layout type of info process','LayoutType','106b208d-b39b-4ab0-b839-7d0c95951bea','Y','N',100,0,100,TO_DATE('2014-05-26 22:31:55','YYYY-MM-DD HH24:MI:SS'),'Y','Y',90,1,'N',0,2,1,'N','N',211257,'D',TO_DATE('2014-05-26 22:31:55','YYYY-MM-DD HH24:MI:SS')) +; + +-- May 26, 2014 10:31:57 PM ICT +INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,CreatedBy,Updated,IsActive,IsDisplayedGrid,SeqNoGrid,XPosition,IsQuickEntry,AD_Client_ID,ColumnSpan,NumLines,IsAdvancedField,IsDefaultFocus,AD_Column_ID,EntityType,Created) VALUES ('N',200142,1,'N','N',110,'Y',203038,'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.','The record is active in the system','Active','e45bfa22-f210-4a87-9b0c-b3ab2da35161','Y','N',100,0,100,TO_DATE('2014-05-26 22:31:56','YYYY-MM-DD HH24:MI:SS'),'Y','Y',70,5,'N',0,2,1,'N','N',211245,'D',TO_DATE('2014-05-26 22:31:56','YYYY-MM-DD HH24:MI:SS')) +; + + +-- migrate for anyone use red1 process in info panel start +-- MISS SCRIPT THAN POSTGRES + +-- May 23, 2014 4:01:30 PM ICT +-- I forgot to set the DICTIONARY_ID_COMMENTS System Configurator +DELETE FROM AD_Field_Trl WHERE AD_Field_ID=202596 +; + +-- May 23, 2014 4:01:30 PM ICT +DELETE FROM AD_Field WHERE AD_Field_ID=202596 +; + +-- May 23, 2014 4:01:51 PM ICT +DELETE FROM AD_Column_Trl WHERE AD_Column_ID=210944 +; + +-- May 23, 2014 4:01:51 PM ICT +DELETE FROM AD_Column WHERE AD_Column_ID=210944 +; + +-- migrate for anyone use red1 process in info panel end + +SELECT register_migration_script('201405261604_IDEMPIERE-1334.sql') FROM dual +; diff --git a/migration/i2.0z/postgresql/201405261604_IDEMPIERE-1334.sql b/migration/i2.0z/postgresql/201405261604_IDEMPIERE-1334.sql new file mode 100644 index 0000000000..a2aeecf073 --- /dev/null +++ b/migration/i2.0z/postgresql/201405261604_IDEMPIERE-1334.sql @@ -0,0 +1,292 @@ +-- May 26, 2014 10:31:26 PM ICT +-- I forgot to set the DICTIONARY_ID_COMMENTS System Configurator +INSERT INTO AD_Table (ImportTable,CopyColumnsFromTable,IsSecurityEnabled,AccessLevel,LoadSeq,AD_Window_ID,AD_Table_ID,IsHighVolume,IsView,IsChangeLog,EntityType,ReplicationType,AD_Table_UU,IsCentrallyMaintained,IsDeleteable,TableName,Description,Name,IsActive,AD_Org_ID,CreatedBy,Updated,UpdatedBy,Processing,DatabaseViewDrop,AD_Client_ID,Created) VALUES ('N','N','N','4',0,385,200129,'N','N','Y','D','L','399fcb47-f46c-4789-9e45-962cc5379c16','Y','Y','AD_InfoProcess','define process for info window','Info Process','Y',0,100,TO_TIMESTAMP('2014-05-26 22:31:25','YYYY-MM-DD HH24:MI:SS'),100,'N','N',0,TO_TIMESTAMP('2014-05-26 22:31:25','YYYY-MM-DD HH24:MI:SS')) +; + +-- May 26, 2014 10:31:27 PM ICT +INSERT INTO AD_Sequence (StartNewYear,CurrentNextSys,IsTableID,CurrentNext,IsAudited,IsAutoSequence,AD_Sequence_ID,Description,Name,IncrementNo,AD_Sequence_UU,AD_Org_ID,CreatedBy,Updated,UpdatedBy,IsActive,StartNo,AD_Client_ID,Created) VALUES ('N',200000,'Y',1000000,'N','Y',200176,'Table AD_InfoProcess','AD_InfoProcess',1,'48700d65-3ba4-4888-8242-6af9a613206a',0,100,TO_TIMESTAMP('2014-05-26 22:31:26','YYYY-MM-DD HH24:MI:SS'),100,'Y',1000000,0,TO_TIMESTAMP('2014-05-26 22:31:26','YYYY-MM-DD HH24:MI:SS')) +; + +-- May 26, 2014 10:31:28 PM ICT +INSERT INTO AD_Element (ColumnName,AD_Element_ID,Name,PrintName,AD_Element_UU,AD_Org_ID,CreatedBy,UpdatedBy,IsActive,AD_Client_ID,EntityType,Created,Updated) VALUES ('AD_InfoProcess_ID',202712,'Info Process','Info Process','ebfa3db8-e6b2-43aa-9eaa-e3dc1b2eb7f1',0,100,100,'Y',0,'D',TO_TIMESTAMP('2014-05-26 22:31:27','YYYY-MM-DD HH24:MI:SS'),TO_TIMESTAMP('2014-05-26 22:31:27','YYYY-MM-DD HH24:MI:SS')) +; + +-- May 26, 2014 10:31:28 PM ICT +INSERT INTO AD_Column (IsSyncDatabase,Version,AD_Column_ID,IsMandatory,IsTranslated,IsIdentifier,IsParent,FieldLength,IsSelectionColumn,IsKey,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,IsToolbarButton,IsAlwaysUpdateable,AD_Client_ID,EntityType,IsEncrypted,IsSecure,FKConstraintType,AD_Element_ID,AD_Reference_ID,AD_Table_ID) VALUES ('Y',0.0,211241,'Y','N','N','N',10,'N','Y','N','Y','e3154b48-b2ac-4ad2-ba43-92744e8c6a4c','N','AD_InfoProcess_ID','Info Process','N',TO_TIMESTAMP('2014-05-26 22:31:28','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_TIMESTAMP('2014-05-26 22:31:28','YYYY-MM-DD HH24:MI:SS'),100,'N','N',0,'D','N','N','N',202712,13,200129) +; + +-- May 26, 2014 10:31:28 PM ICT +CREATE TABLE AD_InfoProcess (AD_InfoProcess_ID NUMERIC(10) NOT NULL, CONSTRAINT AD_InfoProcess_Key PRIMARY KEY (AD_InfoProcess_ID)) +; + +-- May 26, 2014 10:31:29 PM ICT +INSERT INTO AD_Element (ColumnName,AD_Element_ID,Name,PrintName,AD_Element_UU,AD_Org_ID,CreatedBy,UpdatedBy,IsActive,AD_Client_ID,EntityType,Created,Updated) VALUES ('AD_InfoProcess_UU',202713,'AD_InfoProcess_UU','AD_InfoProcess_UU','dde8ccd5-449b-4b9b-84a2-720e77eff87b',0,100,100,'Y',0,'D',TO_TIMESTAMP('2014-05-26 22:31:29','YYYY-MM-DD HH24:MI:SS'),TO_TIMESTAMP('2014-05-26 22:31:29','YYYY-MM-DD HH24:MI:SS')) +; + +-- May 26, 2014 10:31:30 PM ICT +INSERT INTO AD_Column (IsSyncDatabase,Version,AD_Column_ID,IsMandatory,IsTranslated,IsIdentifier,IsParent,FieldLength,IsSelectionColumn,IsKey,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,IsToolbarButton,IsAlwaysUpdateable,AD_Client_ID,EntityType,IsEncrypted,IsSecure,FKConstraintType,AD_Element_ID,AD_Reference_ID,AD_Table_ID) VALUES ('Y',0.0,211242,'Y','N','N','N',36,'N','N','N','Y','8f961362-5939-48a4-8c8d-8d8b5d86a83e','N','AD_InfoProcess_UU','AD_InfoProcess_UU','N',TO_TIMESTAMP('2014-05-26 22:31:29','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_TIMESTAMP('2014-05-26 22:31:29','YYYY-MM-DD HH24:MI:SS'),100,'N','N',0,'D','N','N','N',202713,10,200129) +; + +-- May 26, 2014 10:31:30 PM ICT +ALTER TABLE AD_InfoProcess ADD COLUMN AD_InfoProcess_UU VARCHAR(36) NOT NULL +; + +-- May 26, 2014 10:31:30 PM ICT +ALTER TABLE AD_InfoProcess ADD CONSTRAINT AD_InfoProcess_UU_idx UNIQUE (AD_InfoProcess_UU) +; + +-- May 26, 2014 10:31:31 PM ICT +INSERT INTO AD_Column (IsSyncDatabase,Version,AD_Column_ID,IsMandatory,IsTranslated,IsIdentifier,IsParent,FieldLength,IsSelectionColumn,IsKey,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,Description,DefaultValue,Help,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,IsToolbarButton,IsAlwaysUpdateable,AD_Client_ID,EntityType,IsEncrypted,IsSecure,FKConstraintName,FKConstraintType,AD_Element_ID,AD_Reference_ID,AD_Table_ID,AD_Val_Rule_ID) VALUES ('Y',0.0,211243,'Y','N','N','N',10,'N','N','N','Y','e8fa9743-e852-4fb3-a8ba-aba7190f5d26','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('2014-05-26 22:31:30','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_TIMESTAMP('2014-05-26 22:31:30','YYYY-MM-DD HH24:MI:SS'),100,'N','N',0,'D','N','N','ADClient_ADInfoProcess','N',102,19,200129,129) +; + +-- May 26, 2014 10:31:31 PM ICT +ALTER TABLE AD_InfoProcess ADD COLUMN AD_Client_ID NUMERIC(10) NOT NULL +; + +-- May 26, 2014 10:31:31 PM ICT +INSERT INTO AD_Column (IsSyncDatabase,Version,AD_Column_ID,IsMandatory,IsTranslated,IsIdentifier,IsParent,FieldLength,IsSelectionColumn,IsKey,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,Description,DefaultValue,Help,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,IsToolbarButton,IsAlwaysUpdateable,AD_Client_ID,EntityType,IsEncrypted,IsSecure,FKConstraintName,FKConstraintType,AD_Element_ID,AD_Reference_ID,AD_Table_ID,AD_Val_Rule_ID) VALUES ('Y',0.0,211244,'Y','N','N','N',10,'N','N','N','Y','48046a19-4d3c-40e6-93f2-49858061c1ff','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('2014-05-26 22:31:31','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_TIMESTAMP('2014-05-26 22:31:31','YYYY-MM-DD HH24:MI:SS'),100,'N','N',0,'D','N','N','ADOrg_ADInfoProcess','N',113,19,200129,104) +; + +-- May 26, 2014 10:31:31 PM ICT +ALTER TABLE AD_InfoProcess ADD COLUMN AD_Org_ID NUMERIC(10) NOT NULL +; + +-- May 26, 2014 10:31:32 PM ICT +INSERT INTO AD_Column (IsSyncDatabase,Version,AD_Column_ID,IsMandatory,IsTranslated,IsIdentifier,IsParent,FieldLength,IsSelectionColumn,IsKey,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,Description,DefaultValue,Help,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,IsToolbarButton,IsAlwaysUpdateable,AD_Client_ID,EntityType,IsEncrypted,IsSecure,FKConstraintType,AD_Element_ID,AD_Reference_ID,AD_Table_ID) VALUES ('Y',0.0,211245,'Y','N','N','N',1,'N','N','N','Y','0d5a6a7a-b436-4958-814a-18ecafbc8971','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('2014-05-26 22:31:31','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_TIMESTAMP('2014-05-26 22:31:31','YYYY-MM-DD HH24:MI:SS'),100,'N','N',0,'D','N','N','N',348,20,200129) +; + +-- May 26, 2014 10:31:32 PM ICT +ALTER TABLE AD_InfoProcess ADD COLUMN IsActive CHAR(1) DEFAULT 'Y' CHECK (IsActive IN ('Y','N')) NOT NULL +; + +-- May 26, 2014 10:31:33 PM ICT +INSERT INTO AD_Column (IsSyncDatabase,Version,AD_Column_ID,IsMandatory,IsTranslated,IsIdentifier,IsParent,FieldLength,IsSelectionColumn,IsKey,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,Description,DefaultValue,Help,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,IsToolbarButton,IsAlwaysUpdateable,AD_Client_ID,EntityType,IsEncrypted,IsSecure,FKConstraintType,AD_Element_ID,AD_Reference_ID,AD_Table_ID) VALUES ('Y',0.0,211246,'Y','N','N','N',29,'N','N','N','Y','a8315f0c-3cbd-4092-bcc7-8e1f0bc4021c','N','Created','Date this record was created','SYSDATE','The Created field indicates the date that this record was created.','Created','N',TO_TIMESTAMP('2014-05-26 22:31:32','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_TIMESTAMP('2014-05-26 22:31:32','YYYY-MM-DD HH24:MI:SS'),100,'N','N',0,'D','N','N','N',245,16,200129) +; + +-- May 26, 2014 10:31:33 PM ICT +ALTER TABLE AD_InfoProcess ADD COLUMN Created TIMESTAMP DEFAULT statement_timestamp() NOT NULL +; + +-- May 26, 2014 10:31:34 PM ICT +INSERT INTO AD_Column (IsSyncDatabase,Version,AD_Column_ID,IsMandatory,IsTranslated,IsIdentifier,IsParent,FieldLength,IsSelectionColumn,IsKey,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,Description,Help,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,IsToolbarButton,IsAlwaysUpdateable,AD_Client_ID,EntityType,IsEncrypted,IsSecure,FKConstraintType,AD_Element_ID,AD_Reference_ID,AD_Reference_Value_ID,AD_Table_ID) VALUES ('Y',0.0,211247,'Y','N','N','N',10,'N','N','N','Y','f2e43604-537c-46a7-a08a-425589a290de','N','CreatedBy','User who created this records','The Created By field indicates the user who created this record.','Created By','N',TO_TIMESTAMP('2014-05-26 22:31:33','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_TIMESTAMP('2014-05-26 22:31:33','YYYY-MM-DD HH24:MI:SS'),100,'N','N',0,'D','N','N','N',246,18,110,200129) +; + +-- May 26, 2014 10:31:34 PM ICT +ALTER TABLE AD_InfoProcess ADD COLUMN CreatedBy NUMERIC(10) NOT NULL +; + +-- May 26, 2014 10:31:35 PM ICT +INSERT INTO AD_Column (IsSyncDatabase,Version,AD_Column_ID,IsMandatory,IsTranslated,IsIdentifier,IsParent,FieldLength,IsSelectionColumn,IsKey,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,Description,DefaultValue,Help,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,IsToolbarButton,IsAlwaysUpdateable,AD_Client_ID,EntityType,IsEncrypted,IsSecure,FKConstraintType,AD_Element_ID,AD_Reference_ID,AD_Table_ID) VALUES ('Y',0.0,211248,'Y','N','N','N',29,'N','N','N','Y','87143907-1038-4c5d-90f6-3114a6fc7edf','N','Updated','Date this record was updated','SYSDATE','The Updated field indicates the date that this record was updated.','Updated','N',TO_TIMESTAMP('2014-05-26 22:31:34','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_TIMESTAMP('2014-05-26 22:31:34','YYYY-MM-DD HH24:MI:SS'),100,'N','N',0,'D','N','N','N',607,16,200129) +; + +-- May 26, 2014 10:31:35 PM ICT +ALTER TABLE AD_InfoProcess ADD COLUMN Updated TIMESTAMP DEFAULT statement_timestamp() NOT NULL +; + +-- May 26, 2014 10:31:35 PM ICT +INSERT INTO AD_Column (IsSyncDatabase,Version,AD_Column_ID,IsMandatory,IsTranslated,IsIdentifier,IsParent,FieldLength,IsSelectionColumn,IsKey,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,Description,Help,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,IsToolbarButton,IsAlwaysUpdateable,AD_Client_ID,EntityType,IsEncrypted,IsSecure,FKConstraintType,AD_Element_ID,AD_Reference_ID,AD_Reference_Value_ID,AD_Table_ID) VALUES ('Y',0.0,211249,'Y','N','N','N',10,'N','N','N','Y','197f9f68-6340-45a8-9d75-9d027f8bcc75','N','UpdatedBy','User who updated this records','The Updated By field indicates the user who updated this record.','Updated By','N',TO_TIMESTAMP('2014-05-26 22:31:35','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_TIMESTAMP('2014-05-26 22:31:35','YYYY-MM-DD HH24:MI:SS'),100,'N','N',0,'D','N','N','N',608,18,110,200129) +; + +-- May 26, 2014 10:31:35 PM ICT +ALTER TABLE AD_InfoProcess ADD COLUMN UpdatedBy NUMERIC(10) NOT NULL +; + +-- May 26, 2014 10:31:36 PM ICT +INSERT INTO AD_Column (IsSyncDatabase,Version,AD_Column_ID,IsMandatory,IsTranslated,IsIdentifier,IsParent,FieldLength,IsSelectionColumn,IsKey,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,Description,Help,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,IsToolbarButton,IsAlwaysUpdateable,AD_Client_ID,EntityType,IsEncrypted,IsSecure,FKConstraintType,AD_Element_ID,AD_Reference_ID,AD_Table_ID) VALUES ('Y',0.0,211250,'Y','N','Y','N',60,'Y','N','N','Y','cba0a7f1-a35e-4410-b53d-b47a0a81b8d5','Y','Name','Alphanumeric identifier of the entity','The name of an entity (record) is used as an default search option in addition to the search key. The name is up to 60 characters in length.','Name','Y',TO_TIMESTAMP('2014-05-26 22:31:35','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_TIMESTAMP('2014-05-26 22:31:35','YYYY-MM-DD HH24:MI:SS'),100,'N','N',0,'D','N','N','N',469,10,200129) +; + +-- May 26, 2014 10:31:36 PM ICT +ALTER TABLE AD_InfoProcess ADD COLUMN Name VARCHAR(60) NOT NULL +; + +-- May 26, 2014 10:31:37 PM ICT +INSERT INTO AD_Column (IsSyncDatabase,Version,AD_Column_ID,IsMandatory,IsTranslated,IsIdentifier,IsParent,FieldLength,IsSelectionColumn,IsKey,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,Description,Help,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,IsToolbarButton,IsAlwaysUpdateable,AD_Client_ID,EntityType,IsEncrypted,IsSecure,FKConstraintType,AD_Element_ID,AD_Reference_ID,AD_Table_ID) VALUES ('Y',0.0,211251,'N','N','N','N',255,'Y','N','N','Y','da7faea4-1447-4912-975d-9916325f892c','Y','Description','Optional short description of the record','A description is limited to 255 characters.','Description','Y',TO_TIMESTAMP('2014-05-26 22:31:36','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_TIMESTAMP('2014-05-26 22:31:36','YYYY-MM-DD HH24:MI:SS'),100,'N','N',0,'D','N','N','N',275,10,200129) +; + +-- May 26, 2014 10:31:37 PM ICT +ALTER TABLE AD_InfoProcess ADD COLUMN Description VARCHAR(255) DEFAULT NULL +; + +-- May 26, 2014 10:31:38 PM ICT +INSERT INTO AD_Column (IsSyncDatabase,Version,AD_Column_ID,IsMandatory,IsTranslated,IsIdentifier,IsParent,FieldLength,IsSelectionColumn,IsKey,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,Description,Help,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,IsToolbarButton,IsAlwaysUpdateable,AD_Client_ID,EntityType,IsEncrypted,IsSecure,FKConstraintType,AD_Element_ID,AD_Reference_ID,AD_Table_ID) VALUES ('Y',0.0,211252,'N','N','N','N',120,'N','N','N','Y','54fdf7c3-564a-48ea-af3c-314efca2f0ed','Y','ImageURL','URL of image','URL of image; The image is not stored in the database, but retrieved at runtime. The image can be a gif, jpeg or png.','Image URL','Y',TO_TIMESTAMP('2014-05-26 22:31:37','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_TIMESTAMP('2014-05-26 22:31:37','YYYY-MM-DD HH24:MI:SS'),100,'N','N',0,'D','N','N','N',1720,10,200129) +; + +-- May 26, 2014 10:31:38 PM ICT +ALTER TABLE AD_InfoProcess ADD COLUMN ImageURL VARCHAR(120) DEFAULT NULL +; + +-- May 26, 2014 10:31:38 PM ICT +INSERT INTO AD_Column (IsSyncDatabase,Version,AD_Column_ID,IsMandatory,IsTranslated,IsIdentifier,IsParent,FieldLength,IsSelectionColumn,IsKey,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,Description,DefaultValue,Help,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,IsToolbarButton,IsAlwaysUpdateable,AD_Client_ID,EntityType,IsEncrypted,IsSecure,FKConstraintType,AD_Element_ID,AD_Reference_ID,AD_Table_ID) VALUES ('Y',0.0,211253,'Y','N','N','N',10,'N','N','N','Y','b9449134-fe06-4a9a-b1a6-54077974de21','Y','SeqNo','Method of ordering records; lowest number comes first','@SQL=SELECT NVL(MAX(SeqNo),0)+10 AS DefaultValue FROM AD_InfoProcess WHERE AD_InfoWindow_ID=@AD_InfoWindow_ID@','The Sequence indicates the order of records','Sequence','N',TO_TIMESTAMP('2014-05-26 22:31:38','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_TIMESTAMP('2014-05-26 22:31:38','YYYY-MM-DD HH24:MI:SS'),100,'N','N',0,'D','N','N','N',566,11,200129) +; + +-- May 26, 2014 10:31:38 PM ICT +ALTER TABLE AD_InfoProcess ADD COLUMN SeqNo NUMERIC(10) NOT NULL +; + +-- May 26, 2014 10:31:39 PM ICT +INSERT INTO AD_Column (IsSyncDatabase,Version,AD_Column_ID,IsMandatory,IsTranslated,IsIdentifier,IsParent,FieldLength,IsSelectionColumn,IsKey,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,Description,Help,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,IsToolbarButton,IsAlwaysUpdateable,AD_Client_ID,EntityType,IsEncrypted,IsSecure,FKConstraintName,FKConstraintType,AD_Element_ID,AD_Reference_ID,AD_Table_ID) VALUES ('Y',0.0,211254,'Y','N','N','N',10,'N','N','N','Y','be4dc8ea-58bf-4238-bff2-71099c2f36f9','Y','AD_Process_ID','Process or Report','The Process field identifies a unique Process or Report in the system.','Process','Y',TO_TIMESTAMP('2014-05-26 22:31:38','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_TIMESTAMP('2014-05-26 22:31:38','YYYY-MM-DD HH24:MI:SS'),100,'N','N',0,'D','N','N','ADProcess_ADInfoProcess','N',117,19,200129) +; + +-- May 26, 2014 10:31:39 PM ICT +ALTER TABLE AD_InfoProcess ADD COLUMN AD_Process_ID NUMERIC(10) NOT NULL +; + +-- May 26, 2014 10:31:40 PM ICT +INSERT INTO AD_Column (IsSyncDatabase,Version,AD_Column_ID,IsMandatory,IsTranslated,IsIdentifier,IsParent,FieldLength,IsSelectionColumn,IsKey,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,Description,Help,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,IsToolbarButton,IsAlwaysUpdateable,AD_Client_ID,EntityType,IsEncrypted,IsSecure,FKConstraintName,FKConstraintType,AD_Element_ID,AD_Reference_ID,AD_Table_ID) VALUES ('Y',0.0,211255,'N','N','N','Y',10,'N','N','N','Y','d9a775c3-dd5c-4e91-8416-60b78c33eb4e','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('2014-05-26 22:31:39','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_TIMESTAMP('2014-05-26 22:31:39','YYYY-MM-DD HH24:MI:SS'),100,'N','N',0,'D','N','N','ADInfoWindow_ADInfoProcess','C',3068,19,200129) +; + +-- May 26, 2014 10:31:40 PM ICT +ALTER TABLE AD_InfoProcess ADD COLUMN AD_InfoWindow_ID NUMERIC(10) DEFAULT NULL +; + +-- May 26, 2014 10:31:41 PM ICT +INSERT INTO AD_Column (SeqNoSelection,IsSyncDatabase,Version,AD_Column_ID,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,IsKey,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,Description,Help,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,IsToolbarButton,IsAlwaysUpdateable,AD_Client_ID,EntityType,IsEncrypted,IsSecure,FKConstraintType,AD_Element_ID,AD_Reference_ID,AD_Table_ID) VALUES (0,'Y',0,211256,'N','N','N',0,'N',2000,'N','N','N','Y','54387a92-4caa-4ab2-a765-51cf779a537c','Y','Help','Comment or Hint','The Help field contains a hint, comment or help about the use of this item.','Comment/Help','Y',TO_TIMESTAMP('2014-05-26 22:31:40','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_TIMESTAMP('2014-05-26 22:31:40','YYYY-MM-DD HH24:MI:SS'),100,'N','N',0,'D','N','N','N',326,14,200129) +; + +-- May 26, 2014 10:31:41 PM ICT +ALTER TABLE AD_InfoProcess ADD COLUMN Help VARCHAR(2000) DEFAULT NULL +; + +-- May 26, 2014 10:31:41 PM ICT +INSERT INTO AD_Element (ColumnName,AD_Element_ID,Help,Name,Description,PrintName,AD_Element_UU,AD_Org_ID,CreatedBy,UpdatedBy,IsActive,AD_Client_ID,EntityType,Created,Updated) VALUES ('LayoutType',202714,'Process info can display as button list, drop down list, dialog button,...','LayoutType','Layout type of info process','Layout Type','913eafda-0cdc-4c44-85f8-487d77a3787c',0,100,100,'Y',0,'D',TO_TIMESTAMP('2014-05-26 22:31:41','YYYY-MM-DD HH24:MI:SS'),TO_TIMESTAMP('2014-05-26 22:31:41','YYYY-MM-DD HH24:MI:SS')) +; + +-- May 26, 2014 10:31:42 PM ICT +INSERT INTO AD_Reference (AD_Reference_ID,Name,EntityType,AD_Reference_UU,IsOrderByValue,Description,ValidationType,AD_Org_ID,CreatedBy,Updated,IsActive,Created,UpdatedBy,AD_Client_ID) VALUES (200083,'ad_info_process layout type','D','2171ebd2-e11a-4612-9885-128f155d65e8','N','define layout type of info process button','L',0,100,TO_TIMESTAMP('2014-05-26 22:31:42','YYYY-MM-DD HH24:MI:SS'),'Y',TO_TIMESTAMP('2014-05-26 22:31:42','YYYY-MM-DD HH24:MI:SS'),100,0) +; + +-- May 26, 2014 10:31:43 PM ICT +INSERT INTO AD_Ref_List (AD_Ref_List_ID,AD_Reference_ID,Description,Name,AD_Ref_List_UU,Value,Created,CreatedBy,Updated,UpdatedBy,IsActive,EntityType,AD_Client_ID,AD_Org_ID) VALUES (200185,200083,'info process display as muilti buttons','Button','6884dcd1-bc9a-4d16-9b2c-fe40968747f8','Button',TO_TIMESTAMP('2014-05-26 22:31:42','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2014-05-26 22:31:42','YYYY-MM-DD HH24:MI:SS'),100,'Y','D',0,0) +; + +-- May 26, 2014 10:31:44 PM ICT +INSERT INTO AD_Ref_List (AD_Ref_List_ID,AD_Reference_ID,Description,Name,AD_Ref_List_UU,Value,Created,CreatedBy,Updated,UpdatedBy,IsActive,EntityType,AD_Client_ID,AD_Org_ID) VALUES (200186,200083,'Each info process is a menu item, when click a button process, this menu is show','Menu','7b539591-296a-43ee-916c-c87c35acc84d','Menu',TO_TIMESTAMP('2014-05-26 22:31:43','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2014-05-26 22:31:43','YYYY-MM-DD HH24:MI:SS'),100,'Y','D',0,0) +; + +-- May 26, 2014 10:31:44 PM ICT +INSERT INTO AD_Ref_List (AD_Ref_List_ID,AD_Reference_ID,Description,Name,AD_Ref_List_UU,Value,Created,CreatedBy,Updated,UpdatedBy,IsActive,EntityType,AD_Client_ID,AD_Org_ID) VALUES (200187,200083,'info process is display as drop down list','Drop List','ff0cba3e-e82c-4aa8-9f9b-bedf681b822d','Drop List',TO_TIMESTAMP('2014-05-26 22:31:44','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2014-05-26 22:31:44','YYYY-MM-DD HH24:MI:SS'),100,'Y','D',0,0) +; + +-- May 26, 2014 10:31:45 PM ICT +INSERT INTO AD_Column (SeqNoSelection,IsSyncDatabase,Version,AD_Column_ID,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,IsKey,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,Description,Help,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,IsToolbarButton,IsAlwaysUpdateable,AD_Client_ID,EntityType,IsEncrypted,IsSecure,FKConstraintType,AD_Element_ID,AD_Reference_ID,AD_Reference_Value_ID,AD_Table_ID) VALUES (0,'Y',0,211257,'N','N','N',0,'N',10,'N','N','N','Y','a0e8f5b5-ac5f-44ba-a2c9-060dd3231c4e','Y','LayoutType','Layout type of info process','Process info can display as button list, drop down list, dialog button,...','LayoutType','Y',TO_TIMESTAMP('2014-05-26 22:31:45','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_TIMESTAMP('2014-05-26 22:31:45','YYYY-MM-DD HH24:MI:SS'),100,'N','N',0,'D','N','N','N',202714,17,200083,200129) +; + +-- May 26, 2014 10:31:45 PM ICT +ALTER TABLE AD_InfoProcess ADD COLUMN LayoutType VARCHAR(10) DEFAULT NULL +; + +-- May 26, 2014 10:31:46 PM ICT +INSERT INTO AD_Column (SeqNoSelection,IsSyncDatabase,Version,AD_Column_ID,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,IsKey,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,Description,Help,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,IsToolbarButton,IsAlwaysUpdateable,AD_Client_ID,EntityType,IsEncrypted,IsSecure,FKConstraintType,AD_Element_ID,AD_Reference_ID,AD_Reference_Value_ID,AD_Table_ID) VALUES (0,'Y',0,211258,'N','N','N',0,'N',10,'N','N','N','Y','663fed7f-bda5-4602-9e9a-b2a45c02020c','Y','LayoutType','Layout type of info process','Process info can display as button list, drop down list, dialog button,...','LayoutType','Y',TO_TIMESTAMP('2014-05-26 22:31:45','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_TIMESTAMP('2014-05-26 22:31:45','YYYY-MM-DD HH24:MI:SS'),100,'N','N',0,'D','N','N','N',202714,17,200083,895) +; + +-- May 26, 2014 10:31:46 PM ICT +ALTER TABLE AD_InfoWindow ADD COLUMN LayoutType VARCHAR(10) DEFAULT NULL +; + +-- May 26, 2014 10:31:47 PM ICT +INSERT INTO AD_Field (SortNo,IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,CreatedBy,Updated,IsActive,IsDisplayedGrid,SeqNoGrid,XPosition,IsQuickEntry,AD_Client_ID,ColumnSpan,NumLines,IsAdvancedField,IsDefaultFocus,AD_Column_ID,EntityType,Created) VALUES (0,'N',842,0,'N','N',220,'Y',203025,'N','Process info can display as button list, drop down list, dialog button,...','Layout type of info process','LayoutType','f447274d-3c6b-42e1-a2ae-85f641a91a2c','Y','N',100,0,100,TO_TIMESTAMP('2014-05-26 22:31:47','YYYY-MM-DD HH24:MI:SS'),'Y','Y',130,1,'N',0,1,1,'N','N',211258,'D',TO_TIMESTAMP('2014-05-26 22:31:47','YYYY-MM-DD HH24:MI:SS')) +; + +-- May 26, 2014 10:31:48 PM ICT +INSERT INTO AD_Tab (ImportFields,Processing,IsSingleRow,AD_Window_ID,SeqNo,IsTranslationTab,IsSortTab,HasTree,IsInfoTab,IsReadOnly,IsInsertRecord,IsAdvancedTab,TabLevel,AD_Tab_UU,EntityType,Name,AD_Tab_ID,AD_Org_ID,Created,CreatedBy,Updated,UpdatedBy,IsActive,AD_Table_ID,AD_Client_ID,TreeDisplayedOn) VALUES ('N','N','Y',385,60,'N','N','N','N','N','Y','N',1,'2a39f93a-2062-404a-8e28-19fc45982162','D','Process',200142,0,TO_TIMESTAMP('2014-05-26 22:31:47','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2014-05-26 22:31:47','YYYY-MM-DD HH24:MI:SS'),100,'Y',200129,0,'B') +; + +-- May 26, 2014 10:31:49 PM ICT +INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,CreatedBy,Updated,IsActive,IsDisplayedGrid,XPosition,IsQuickEntry,AD_Client_ID,ColumnSpan,NumLines,IsAdvancedField,IsDefaultFocus,AD_Column_ID,EntityType,Created) VALUES ('N',200142,36,'N','N',0,'Y',203026,'N','AD_InfoProcess_UU','87361dd1-cfc0-412d-a344-e5f602650e32','N','N',100,0,100,TO_TIMESTAMP('2014-05-26 22:31:48','YYYY-MM-DD HH24:MI:SS'),'Y','N',1,'N',0,2,1,'N','N',211242,'D',TO_TIMESTAMP('2014-05-26 22:31:48','YYYY-MM-DD HH24:MI:SS')) +; + +-- May 26, 2014 10:31:49 PM ICT +INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,CreatedBy,Updated,IsActive,IsDisplayedGrid,XPosition,IsQuickEntry,AD_Client_ID,ColumnSpan,NumLines,IsAdvancedField,IsDefaultFocus,AD_Column_ID,EntityType,Created) VALUES ('N',200142,10,'N','N',0,'Y',203027,'N','Info Process','8020c77c-816a-4be9-a38c-747aed3afcf2','N','N',100,0,100,TO_TIMESTAMP('2014-05-26 22:31:49','YYYY-MM-DD HH24:MI:SS'),'Y','N',1,'N',0,2,1,'N','N',211241,'D',TO_TIMESTAMP('2014-05-26 22:31:49','YYYY-MM-DD HH24:MI:SS')) +; + +-- May 26, 2014 10:31:50 PM ICT +INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,CreatedBy,Updated,IsActive,IsDisplayedGrid,XPosition,IsQuickEntry,AD_Client_ID,ColumnSpan,NumLines,IsAdvancedField,IsDefaultFocus,AD_Column_ID,EntityType,Created) VALUES ('N',200142,10,'N','N',10,'Y',203028,'Y','A Client is a company or a legal entity. You cannot share data between Clients. Tenant is a synonym for Client.','Client/Tenant for this installation.','Client','a6fccb4a-2521-4369-a1bb-06602ae9c840','Y','N',100,0,100,TO_TIMESTAMP('2014-05-26 22:31:49','YYYY-MM-DD HH24:MI:SS'),'Y','N',1,'N',0,2,1,'N','N',211243,'D',TO_TIMESTAMP('2014-05-26 22:31:49','YYYY-MM-DD HH24:MI:SS')) +; + +-- May 26, 2014 10:31:51 PM ICT +INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,IsAllowCopy,UpdatedBy,AD_Org_ID,CreatedBy,Updated,IsActive,IsDisplayedGrid,XPosition,IsQuickEntry,AD_Client_ID,ColumnSpan,NumLines,IsAdvancedField,IsDefaultFocus,AD_Column_ID,EntityType,Created) VALUES ('N',200142,10,'N','N',20,'Y',203029,'Y','An organization is a unit of your client or legal entity - examples are store, department. You can share data between organizations.','Organizational entity within client','Organization','60f9d173-cefb-417c-8080-8bb16aebff7e','Y','N','Y',100,0,100,TO_TIMESTAMP('2014-05-26 22:31:50','YYYY-MM-DD HH24:MI:SS'),'Y','N',4,'N',0,2,1,'N','N',211244,'D',TO_TIMESTAMP('2014-05-26 22:31:50','YYYY-MM-DD HH24:MI:SS')) +; + +-- May 26, 2014 10:31:51 PM ICT +INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,CreatedBy,Updated,IsActive,IsDisplayedGrid,SeqNoGrid,XPosition,IsQuickEntry,AD_Client_ID,ColumnSpan,NumLines,IsAdvancedField,IsDefaultFocus,AD_Column_ID,EntityType,Created) VALUES ('N',200142,10,'N','N',30,'Y',203030,'Y','The Info window is used to search and select records as well as display information relevant to the selection.','Info and search/select Window','Info Window','ecc17f1a-a61e-4449-a35b-9915088cad60','Y','N',100,0,100,TO_TIMESTAMP('2014-05-26 22:31:51','YYYY-MM-DD HH24:MI:SS'),'Y','Y',60,1,'N',0,2,1,'N','N',211255,'D',TO_TIMESTAMP('2014-05-26 22:31:51','YYYY-MM-DD HH24:MI:SS')) +; + +-- May 26, 2014 10:31:52 PM ICT +INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,CreatedBy,Updated,IsActive,IsDisplayedGrid,SeqNoGrid,XPosition,IsQuickEntry,AD_Client_ID,ColumnSpan,NumLines,IsAdvancedField,IsDefaultFocus,AD_Column_ID,EntityType,Created) VALUES ('N',200142,120,'N','N',40,'Y',203031,'N','URL of image; The image is not stored in the database, but retrieved at runtime. The image can be a gif, jpeg or png.','URL of image','Image URL','8a9c636e-677b-464c-a942-3e0e8f5ad3a4','Y','N',100,0,100,TO_TIMESTAMP('2014-05-26 22:31:51','YYYY-MM-DD HH24:MI:SS'),'Y','Y',30,4,'N',0,2,1,'N','N',211252,'D',TO_TIMESTAMP('2014-05-26 22:31:51','YYYY-MM-DD HH24:MI:SS')) +; + +-- May 26, 2014 10:31:53 PM ICT +INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,CreatedBy,Updated,IsActive,IsDisplayedGrid,SeqNoGrid,XPosition,IsQuickEntry,AD_Client_ID,ColumnSpan,NumLines,IsAdvancedField,IsDefaultFocus,AD_Column_ID,EntityType,Created) VALUES ('N',200142,60,'N','N',50,'Y',203032,'N','The name of an entity (record) is used as an default search option in addition to the search key. The name is up to 60 characters in length.','Alphanumeric identifier of the entity','Name','af4c42ad-5b90-474a-80f4-41341a08d3cf','Y','N',100,0,100,TO_TIMESTAMP('2014-05-26 22:31:52','YYYY-MM-DD HH24:MI:SS'),'Y','Y',10,1,'N',0,5,1,'N','N',211250,'D',TO_TIMESTAMP('2014-05-26 22:31:52','YYYY-MM-DD HH24:MI:SS')) +; + +-- May 26, 2014 10:31:53 PM ICT +INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,CreatedBy,Updated,IsActive,IsDisplayedGrid,SeqNoGrid,XPosition,IsQuickEntry,AD_Client_ID,ColumnSpan,NumLines,IsAdvancedField,IsDefaultFocus,AD_Column_ID,EntityType,Created) VALUES ('N',200142,255,'N','N',60,'Y',203033,'N','A description is limited to 255 characters.','Optional short description of the record','Description','cc49a78e-2927-484e-990e-8c303be44b4c','Y','N',100,0,100,TO_TIMESTAMP('2014-05-26 22:31:53','YYYY-MM-DD HH24:MI:SS'),'Y','Y',20,1,'N',0,5,1,'N','N',211251,'D',TO_TIMESTAMP('2014-05-26 22:31:53','YYYY-MM-DD HH24:MI:SS')) +; + +-- May 26, 2014 10:31:54 PM ICT +INSERT INTO AD_Field (SortNo,IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,CreatedBy,Updated,IsActive,IsDisplayedGrid,SeqNoGrid,XPosition,IsQuickEntry,AD_Client_ID,ColumnSpan,NumLines,IsAdvancedField,IsDefaultFocus,AD_Column_ID,EntityType,Created) VALUES (0,'N',200142,0,'N','N',70,'Y',203034,'N','The Help field contains a hint, comment or help about the use of this item.','Comment or Hint','Comment/Help','4b9118d1-4cc9-47fe-beee-b24e4d1263cb','Y','N',100,0,100,TO_TIMESTAMP('2014-05-26 22:31:53','YYYY-MM-DD HH24:MI:SS'),'Y','Y',80,1,'N',0,5,3,'N','N',211256,'D',TO_TIMESTAMP('2014-05-26 22:31:53','YYYY-MM-DD HH24:MI:SS')) +; + +-- May 26, 2014 10:31:55 PM ICT +INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,CreatedBy,Updated,IsActive,IsDisplayedGrid,SeqNoGrid,XPosition,IsQuickEntry,AD_Client_ID,ColumnSpan,NumLines,IsAdvancedField,IsDefaultFocus,AD_Column_ID,EntityType,Created) VALUES ('N',200142,10,'N','N',80,'Y',203035,'N','The Process field identifies a unique Process or Report in the system.','Process or Report','Process','2f7cb5e4-1af9-4912-b9dd-bbc8ccbae537','Y','N',100,0,100,TO_TIMESTAMP('2014-05-26 22:31:54','YYYY-MM-DD HH24:MI:SS'),'Y','Y',50,1,'N',0,2,1,'N','N',211254,'D',TO_TIMESTAMP('2014-05-26 22:31:54','YYYY-MM-DD HH24:MI:SS')) +; + +-- May 26, 2014 10:31:55 PM ICT +INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,CreatedBy,Updated,IsActive,IsDisplayedGrid,SeqNoGrid,XPosition,IsQuickEntry,AD_Client_ID,ColumnSpan,NumLines,IsAdvancedField,IsDefaultFocus,AD_Column_ID,EntityType,Created) VALUES ('N',200142,10,'N','N',90,'Y',203036,'N','The Sequence indicates the order of records','Method of ordering records; lowest number comes first','Sequence','c5ee4976-735e-40f8-8cd4-4bacc36adcdf','Y','N',100,0,100,TO_TIMESTAMP('2014-05-26 22:31:55','YYYY-MM-DD HH24:MI:SS'),'Y','Y',40,4,'N',0,2,1,'N','N',211253,'D',TO_TIMESTAMP('2014-05-26 22:31:55','YYYY-MM-DD HH24:MI:SS')) +; + +-- May 26, 2014 10:31:56 PM ICT +INSERT INTO AD_Field (SortNo,IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,CreatedBy,Updated,IsActive,IsDisplayedGrid,SeqNoGrid,XPosition,IsQuickEntry,AD_Client_ID,ColumnSpan,NumLines,IsAdvancedField,IsDefaultFocus,AD_Column_ID,EntityType,Created) VALUES (0,'N',200142,0,'N','N',100,'Y',203037,'N','Process info can display as button list, drop down list, dialog button,...','Layout type of info process','LayoutType','106b208d-b39b-4ab0-b839-7d0c95951bea','Y','N',100,0,100,TO_TIMESTAMP('2014-05-26 22:31:55','YYYY-MM-DD HH24:MI:SS'),'Y','Y',90,1,'N',0,2,1,'N','N',211257,'D',TO_TIMESTAMP('2014-05-26 22:31:55','YYYY-MM-DD HH24:MI:SS')) +; + +-- May 26, 2014 10:31:57 PM ICT +INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,CreatedBy,Updated,IsActive,IsDisplayedGrid,SeqNoGrid,XPosition,IsQuickEntry,AD_Client_ID,ColumnSpan,NumLines,IsAdvancedField,IsDefaultFocus,AD_Column_ID,EntityType,Created) VALUES ('N',200142,1,'N','N',110,'Y',203038,'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.','The record is active in the system','Active','e45bfa22-f210-4a87-9b0c-b3ab2da35161','Y','N',100,0,100,TO_TIMESTAMP('2014-05-26 22:31:56','YYYY-MM-DD HH24:MI:SS'),'Y','Y',70,5,'N',0,2,1,'N','N',211245,'D',TO_TIMESTAMP('2014-05-26 22:31:56','YYYY-MM-DD HH24:MI:SS')) +; + +-- migrate for anyone use red1 process in info panel start +INSERT INTO AD_InfoProcess +(ad_infoprocess_id, ad_infowindow_id, ad_client_id, ad_org_id, isactive,createdby, updatedby, seqno, name, ad_process_id, description, help, ad_infoprocess_uu) + +(SELECT + (SELECT max (ad_infoprocess_id) + 1 FROM ad_infoprocess), ad_infowindow_id, iw.ad_client_id, iw.ad_org_id, 'Y', 100, 100, 10, pr.name, iw.ad_process_id, pr.description, pr.help, generate_uuid() +FROM + ad_infowindow iw INNER JOIN ad_process pr ON pr.ad_process_ID = iw.ad_process_ID +WHERE + iw.ad_process_ID IS NOT NULL +); + +UPDATE ad_sequence + SET currentnext = (SELECT max (ad_infoprocess_id) + 1 FROM ad_infoprocess) +WHERE + name = 'AD_InfoProcess' AND EXISTS (SELECT * FROM ad_infoprocess); + +-- May 23, 2014 4:01:30 PM ICT +-- I forgot to set the DICTIONARY_ID_COMMENTS System Configurator +DELETE FROM AD_Field_Trl WHERE AD_Field_ID=202596 +; + +-- May 23, 2014 4:01:30 PM ICT +DELETE FROM AD_Field WHERE AD_Field_ID=202596 +; + +-- May 23, 2014 4:01:51 PM ICT +DELETE FROM AD_Column_Trl WHERE AD_Column_ID=210944 +; + +-- May 23, 2014 4:01:51 PM ICT +DELETE FROM AD_Column WHERE AD_Column_ID=210944 +; + + +ALTER TABLE ad_infowindow DROP COLUMN ad_process_id; + +-- migrate for anyone use red1 process in info panel end + +SELECT register_migration_script('201405261604_IDEMPIERE-1334.sql') FROM dual +; diff --git a/org.adempiere.base/src/org/adempiere/model/MInfoProcess.java b/org.adempiere.base/src/org/adempiere/model/MInfoProcess.java new file mode 100644 index 0000000000..9758877567 --- /dev/null +++ b/org.adempiere.base/src/org/adempiere/model/MInfoProcess.java @@ -0,0 +1,60 @@ +/****************************************************************************** + * Product: iDempiere ERP & CRM Smart Business Solution * + * 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; + +import java.sql.ResultSet; +import java.util.Properties; + +import org.compiere.model.X_AD_InfoProcess; + +/** + * Contain info of process in info window + * include process_id, image name, name + * @author hieplq + * + */ +public class MInfoProcess extends X_AD_InfoProcess { + + /** + * + */ + private static final long serialVersionUID = -819673985356394056L; + + /** + * {@inheritDoc} + * @param ctx + * @param AD_InfoProcess_ID + * @param trxName + */ + public MInfoProcess(Properties ctx, int AD_InfoProcess_ID, String trxName) { + super(ctx, AD_InfoProcess_ID, trxName); + + } + + /** + * {@inheritDoc} + * @param ctx + * @param rs + * @param trxName + */ + public MInfoProcess(Properties ctx, ResultSet rs, String trxName) { + super(ctx, rs, trxName); + + } + + public static final String INFO_PROCESS_LAYOUT_TYPE_menu = "Menu"; + public static final String INFO_PROCESS_LAYOUT_TYPE_bt = "Button"; + public static final String INFO_PROCESS_LAYOUT_TYPE_drop_list = "Drop List"; + +} diff --git a/org.adempiere.base/src/org/compiere/model/I_AD_InfoProcess.java b/org.adempiere.base/src/org/compiere/model/I_AD_InfoProcess.java new file mode 100644 index 0000000000..464078a763 --- /dev/null +++ b/org.adempiere.base/src/org/compiere/model/I_AD_InfoProcess.java @@ -0,0 +1,237 @@ +/****************************************************************************** + * 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_InfoProcess + * @author iDempiere (generated) + * @version Release 2.0 + */ +public interface I_AD_InfoProcess +{ + + /** TableName=AD_InfoProcess */ + public static final String Table_Name = "AD_InfoProcess"; + + /** AD_Table_ID=1000000 */ + public static final int Table_ID = MTable.getTable_ID(Table_Name); + + KeyNamePair Model = new KeyNamePair(Table_ID, Table_Name); + + /** AccessLevel = 4 - System + */ + BigDecimal accessLevel = BigDecimal.valueOf(4); + + /** 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_InfoProcess_ID */ + public static final String COLUMNNAME_AD_InfoProcess_ID = "AD_InfoProcess_ID"; + + /** Set Info Process */ + public void setAD_InfoProcess_ID (int AD_InfoProcess_ID); + + /** Get Info Process */ + public int getAD_InfoProcess_ID(); + + /** Column name AD_InfoProcess_UU */ + public static final String COLUMNNAME_AD_InfoProcess_UU = "AD_InfoProcess_UU"; + + /** Set AD_InfoProcess_UU */ + public void setAD_InfoProcess_UU (String AD_InfoProcess_UU); + + /** Get AD_InfoProcess_UU */ + public String getAD_InfoProcess_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_Process_ID */ + public static final String COLUMNNAME_AD_Process_ID = "AD_Process_ID"; + + /** Set Process. + * Process or Report + */ + public void setAD_Process_ID (int AD_Process_ID); + + /** Get Process. + * Process or Report + */ + public int getAD_Process_ID(); + + public org.compiere.model.I_AD_Process getAD_Process() throws RuntimeException; + + /** Column name 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 Description */ + public static final String COLUMNNAME_Description = "Description"; + + /** Set Description. + * Optional short description of the record + */ + public void setDescription (String Description); + + /** Get Description. + * Optional short description of the record + */ + public String getDescription(); + + /** Column name Help */ + public static final String COLUMNNAME_Help = "Help"; + + /** Set Comment/Help. + * Comment or Hint + */ + public void setHelp (String Help); + + /** Get Comment/Help. + * Comment or Hint + */ + public String getHelp(); + + /** Column name ImageURL */ + public static final String COLUMNNAME_ImageURL = "ImageURL"; + + /** Set Image URL. + * URL of image + */ + public void setImageURL (String ImageURL); + + /** Get Image URL. + * URL of image + */ + public String getImageURL(); + + /** 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 LayoutType */ + public static final String COLUMNNAME_LayoutType = "LayoutType"; + + /** Set Layout Type. + * Layout type of info process + */ + public void setLayoutType (String LayoutType); + + /** Get Layout Type. + * Layout type of info process + */ + public String getLayoutType(); + + /** Column name Name */ + public static final String COLUMNNAME_Name = "Name"; + + /** Set Name. + * Alphanumeric identifier of the entity + */ + public void setName (String Name); + + /** Get Name. + * Alphanumeric identifier of the entity + */ + public String getName(); + + /** Column name SeqNo */ + public static final String COLUMNNAME_SeqNo = "SeqNo"; + + /** Set Sequence. + * Method of ordering records; + lowest number comes first + */ + public void setSeqNo (int SeqNo); + + /** Get Sequence. + * Method of ordering records; + lowest number comes first + */ + public int getSeqNo(); + + /** Column name Updated */ + public static final String COLUMNNAME_Updated = "Updated"; + + /** 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(); +} diff --git a/org.adempiere.base/src/org/compiere/model/I_AD_InfoWindow.java b/org.adempiere.base/src/org/compiere/model/I_AD_InfoWindow.java index 164a063eec..8d7717cdca 100644 --- a/org.adempiere.base/src/org/compiere/model/I_AD_InfoWindow.java +++ b/org.adempiere.base/src/org/compiere/model/I_AD_InfoWindow.java @@ -95,21 +95,6 @@ public interface I_AD_InfoWindow */ public int getAD_Org_ID(); - /** Column name AD_Process_ID */ - public static final String COLUMNNAME_AD_Process_ID = "AD_Process_ID"; - - /** Set Process. - * Process or Report - */ - public void setAD_Process_ID (int AD_Process_ID); - - /** Get Process. - * Process or Report - */ - public int getAD_Process_ID(); - - public org.compiere.model.I_AD_Process getAD_Process() throws RuntimeException; - /** Column name AD_Table_ID */ public static final String COLUMNNAME_AD_Table_ID = "AD_Table_ID"; @@ -273,6 +258,19 @@ public interface I_AD_InfoWindow */ public boolean isValid(); + /** Column name LayoutType */ + public static final String COLUMNNAME_LayoutType = "LayoutType"; + + /** Set Layout Type. + * Layout type of info process + */ + public void setLayoutType (String LayoutType); + + /** Get Layout Type. + * Layout type of info process + */ + public String getLayoutType(); + /** Column name MaxQueryRecords */ public static final String COLUMNNAME_MaxQueryRecords = "MaxQueryRecords"; diff --git a/org.adempiere.base/src/org/compiere/model/MInfoWindow.java b/org.adempiere.base/src/org/compiere/model/MInfoWindow.java index 3acec43ed4..e5ba927b71 100644 --- a/org.adempiere.base/src/org/compiere/model/MInfoWindow.java +++ b/org.adempiere.base/src/org/compiere/model/MInfoWindow.java @@ -19,10 +19,13 @@ package org.compiere.model; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; +import java.util.ArrayList; +import java.util.Iterator; import java.util.List; import java.util.Properties; import java.util.logging.Level; +import org.adempiere.model.MInfoProcess; import org.adempiere.model.MInfoRelated; import org.compiere.model.AccessSqlParser.TableInfo; import org.compiere.util.DB; @@ -110,6 +113,12 @@ public class MInfoWindow extends X_AD_InfoWindow */ private MInfoRelated[] m_infoRelated; + /** + * IDEMPIERE-1334 + * cache list process button info + */ + private MInfoProcess[] m_infoProcess; + public MInfoRelated[] getInfoRelated(boolean requery) { if ((this.m_infoRelated != null) && (!requery)) { set_TrxName(this.m_infoRelated, get_TrxName()); @@ -127,6 +136,49 @@ public class MInfoWindow extends X_AD_InfoWindow return m_infoRelated; } + /** + * IDEMPIERE-1334 + * Get list {@link MInfoProcess} of this infoWindow + * @param requery true get from db, false try get from cache + * @return empty array when not exists Info Process + */ + public MInfoProcess [] getInfoProcess(boolean requery) { + // try from cache + if ((this.m_infoProcess != null) && (!requery)) { + set_TrxName(this.m_infoProcess, get_TrxName()); + return this.m_infoProcess; + } + + // get list info process from db, order by seqNo + List list = new Query(getCtx(), MInfoProcess.Table_Name, "AD_InfoWindow_ID=?", get_TrxName()) + .setParameters(getAD_InfoWindow_ID()) + .setOnlyActiveRecords(true) + .setOrderBy("SeqNo") + .list(); + + checkProcessRight(list); + m_infoProcess = list.toArray(new MInfoProcess[list.size()]); + + return m_infoProcess; + } + + + /** + * if user haven't right to run a process, set infoProcess to null + * @param lsInfoProcess + */ + protected void checkProcessRight (List lsInfoProcess) { + Iterator iterator = lsInfoProcess.iterator(); + while (iterator.hasNext()){ + MInfoProcess testInfoProcess = iterator.next(); + // need more review + if (MRole.getDefault().getProcessAccess(testInfoProcess.getAD_Process_ID()) == null){ + iterator.remove(); + } + } + + } + public MInfoColumn[] getInfoColumns(TableInfo[] tableInfos) { Query query = new Query(getCtx(), MTable.get(getCtx(), I_AD_InfoColumn.Table_ID), I_AD_InfoColumn.COLUMNNAME_AD_InfoWindow_ID+"=?", get_TrxName()); List list = query.setParameters(getAD_InfoWindow_ID()) diff --git a/org.adempiere.base/src/org/compiere/model/MSysConfig.java b/org.adempiere.base/src/org/compiere/model/MSysConfig.java index 0e11db4059..52831db1ed 100644 --- a/org.adempiere.base/src/org/compiere/model/MSysConfig.java +++ b/org.adempiere.base/src/org/compiere/model/MSysConfig.java @@ -130,6 +130,8 @@ public class MSysConfig extends X_AD_SysConfig public static final String BACKGROUND_JOB_MAX_PER_USER = "BACKGROUND_JOB_MAX_PER_USER"; public static final String DPVIEWS_SHOWINFOACCOUNT = "DPViews_ShowInfoAccount"; public static final String DPVIEWS_SHOWINFOSCHEDULE = "DPViews_ShowInfoSchedule"; + // setting key for default value of info process layout + public static final String INFO_PROCESS_LAYOUT_DEFAULT = "PROCESS_BUTTON_LAYOUT"; /** * Standard Constructor diff --git a/org.adempiere.base/src/org/compiere/model/X_AD_InfoProcess.java b/org.adempiere.base/src/org/compiere/model/X_AD_InfoProcess.java new file mode 100644 index 0000000000..8b9a6e0fb6 --- /dev/null +++ b/org.adempiere.base/src/org/compiere/model/X_AD_InfoProcess.java @@ -0,0 +1,278 @@ +/****************************************************************************** + * 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_InfoProcess + * @author iDempiere (generated) + * @version Release 2.0 - $Id$ */ +public class X_AD_InfoProcess extends PO implements I_AD_InfoProcess, I_Persistent +{ + + /** + * + */ + private static final long serialVersionUID = 20140523L; + + /** Standard Constructor */ + public X_AD_InfoProcess (Properties ctx, int AD_InfoProcess_ID, String trxName) + { + super (ctx, AD_InfoProcess_ID, trxName); + /** if (AD_InfoProcess_ID == 0) + { + setAD_InfoProcess_ID (0); + setAD_InfoProcess_UU (null); + setAD_Process_ID (0); + setName (null); + setSeqNo (0); +// @SQL=SELECT NVL(MAX(SeqNo),0)+10 AS DefaultValue FROM AD_InfoProcess WHERE AD_InfoWindow_ID=@AD_InfoWindow_ID@ + } */ + } + + /** Load Constructor */ + public X_AD_InfoProcess (Properties ctx, ResultSet rs, String trxName) + { + super (ctx, rs, trxName); + } + + /** AccessLevel + * @return 4 - System + */ + 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_InfoProcess[") + .append(get_ID()).append("]"); + return sb.toString(); + } + + /** Set Info Process. + @param AD_InfoProcess_ID Info Process */ + public void setAD_InfoProcess_ID (int AD_InfoProcess_ID) + { + if (AD_InfoProcess_ID < 1) + set_ValueNoCheck (COLUMNNAME_AD_InfoProcess_ID, null); + else + set_ValueNoCheck (COLUMNNAME_AD_InfoProcess_ID, Integer.valueOf(AD_InfoProcess_ID)); + } + + /** Get Info Process. + @return Info Process */ + public int getAD_InfoProcess_ID () + { + Integer ii = (Integer)get_Value(COLUMNNAME_AD_InfoProcess_ID); + if (ii == null) + return 0; + return ii.intValue(); + } + + /** Set AD_InfoProcess_UU. + @param AD_InfoProcess_UU AD_InfoProcess_UU */ + public void setAD_InfoProcess_UU (String AD_InfoProcess_UU) + { + set_ValueNoCheck (COLUMNNAME_AD_InfoProcess_UU, AD_InfoProcess_UU); + } + + /** Get AD_InfoProcess_UU. + @return AD_InfoProcess_UU */ + public String getAD_InfoProcess_UU () + { + return (String)get_Value(COLUMNNAME_AD_InfoProcess_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_Process getAD_Process() throws RuntimeException + { + return (org.compiere.model.I_AD_Process)MTable.get(getCtx(), org.compiere.model.I_AD_Process.Table_Name) + .getPO(getAD_Process_ID(), get_TrxName()); } + + /** Set Process. + @param AD_Process_ID + Process or Report + */ + public void setAD_Process_ID (int AD_Process_ID) + { + if (AD_Process_ID < 1) + set_Value (COLUMNNAME_AD_Process_ID, null); + else + set_Value (COLUMNNAME_AD_Process_ID, Integer.valueOf(AD_Process_ID)); + } + + /** Get Process. + @return Process or Report + */ + public int getAD_Process_ID () + { + Integer ii = (Integer)get_Value(COLUMNNAME_AD_Process_ID); + if (ii == null) + return 0; + return ii.intValue(); + } + + /** Set Description. + @param Description + Optional short description of the record + */ + public void setDescription (String Description) + { + set_Value (COLUMNNAME_Description, Description); + } + + /** Get Description. + @return Optional short description of the record + */ + public String getDescription () + { + return (String)get_Value(COLUMNNAME_Description); + } + + /** Set Comment/Help. + @param Help + Comment or Hint + */ + public void setHelp (String Help) + { + set_Value (COLUMNNAME_Help, Help); + } + + /** Get Comment/Help. + @return Comment or Hint + */ + public String getHelp () + { + return (String)get_Value(COLUMNNAME_Help); + } + + /** Set Image URL. + @param ImageURL + URL of image + */ + public void setImageURL (String ImageURL) + { + set_ValueNoCheck (COLUMNNAME_ImageURL, ImageURL); + } + + /** Get Image URL. + @return URL of image + */ + public String getImageURL () + { + return (String)get_Value(COLUMNNAME_ImageURL); + } + + /** button list = bt list */ + public static final String LAYOUTTYPE_ButtonList = "bt list"; + /** drop down list = drop list */ + public static final String LAYOUTTYPE_DropDownList = "drop list"; + /** button dialog = bt dialog */ + public static final String LAYOUTTYPE_ButtonDialog = "bt dialog"; + /** Set Layout Type. + @param LayoutType + Layout type of info process + */ + public void setLayoutType (String LayoutType) + { + + set_Value (COLUMNNAME_LayoutType, LayoutType); + } + + /** Get Layout Type. + @return Layout type of info process + */ + public String getLayoutType () + { + return (String)get_Value(COLUMNNAME_LayoutType); + } + + /** Set Name. + @param Name + Alphanumeric identifier of the entity + */ + public void setName (String Name) + { + set_Value (COLUMNNAME_Name, Name); + } + + /** Get Name. + @return Alphanumeric identifier of the entity + */ + public String getName () + { + return (String)get_Value(COLUMNNAME_Name); + } + + /** Set Sequence. + @param SeqNo + Method of ordering records; lowest number comes first + */ + public void setSeqNo (int SeqNo) + { + set_Value (COLUMNNAME_SeqNo, Integer.valueOf(SeqNo)); + } + + /** Get Sequence. + @return Method of ordering records; lowest number comes first + */ + public int getSeqNo () + { + Integer ii = (Integer)get_Value(COLUMNNAME_SeqNo); + if (ii == null) + return 0; + return ii.intValue(); + } +} \ No newline at end of file diff --git a/org.adempiere.base/src/org/compiere/model/X_AD_InfoWindow.java b/org.adempiere.base/src/org/compiere/model/X_AD_InfoWindow.java index 0a9ec8c814..335c221533 100644 --- a/org.adempiere.base/src/org/compiere/model/X_AD_InfoWindow.java +++ b/org.adempiere.base/src/org/compiere/model/X_AD_InfoWindow.java @@ -30,7 +30,7 @@ public class X_AD_InfoWindow extends PO implements I_AD_InfoWindow, I_Persistent /** * */ - private static final long serialVersionUID = 20140516L; + private static final long serialVersionUID = 20140523L; /** Standard Constructor */ public X_AD_InfoWindow (Properties ctx, int AD_InfoWindow_ID, String trxName) @@ -147,34 +147,6 @@ public class X_AD_InfoWindow extends PO implements I_AD_InfoWindow, I_Persistent return (String)get_Value(COLUMNNAME_AD_InfoWindow_UU); } - public org.compiere.model.I_AD_Process getAD_Process() throws RuntimeException - { - return (org.compiere.model.I_AD_Process)MTable.get(getCtx(), org.compiere.model.I_AD_Process.Table_Name) - .getPO(getAD_Process_ID(), get_TrxName()); } - - /** Set Process. - @param AD_Process_ID - Process or Report - */ - public void setAD_Process_ID (int AD_Process_ID) - { - if (AD_Process_ID < 1) - set_Value (COLUMNNAME_AD_Process_ID, null); - else - set_Value (COLUMNNAME_AD_Process_ID, Integer.valueOf(AD_Process_ID)); - } - - /** Get Process. - @return Process or Report - */ - public int getAD_Process_ID () - { - Integer ii = (Integer)get_Value(COLUMNNAME_AD_Process_ID); - if (ii == null) - return 0; - return ii.intValue(); - } - public org.compiere.model.I_AD_Table getAD_Table() throws RuntimeException { return (org.compiere.model.I_AD_Table)MTable.get(getCtx(), org.compiere.model.I_AD_Table.Table_Name) @@ -387,6 +359,30 @@ public class X_AD_InfoWindow extends PO implements I_AD_InfoWindow, I_Persistent return false; } + /** Button = Button */ + public static final String LAYOUTTYPE_Button = "Button"; + /** Menu = Menu */ + public static final String LAYOUTTYPE_Menu = "Menu"; + /** Drop List = Drop List */ + public static final String LAYOUTTYPE_DropList = "Drop List"; + /** Set Layout Type. + @param LayoutType + Layout type of info process + */ + public void setLayoutType (String LayoutType) + { + + set_Value (COLUMNNAME_LayoutType, LayoutType); + } + + /** Get Layout Type. + @return Layout type of info process + */ + public String getLayoutType () + { + return (String)get_Value(COLUMNNAME_LayoutType); + } + /** Set Max Query Records. @param MaxQueryRecords If defined, you cannot query more records as defined - the query criteria needs to be changed to query less records diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/AbstractProcessDialog.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/AbstractProcessDialog.java index 1553b03b8d..ed4c2d45a5 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/AbstractProcessDialog.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/AbstractProcessDialog.java @@ -42,6 +42,7 @@ import org.adempiere.webui.component.Row; import org.adempiere.webui.component.Rows; import org.adempiere.webui.component.Window; import org.adempiere.webui.editor.WTableDirEditor; +import org.adempiere.webui.event.DialogEvents; import org.adempiere.webui.process.WProcessInfo; import org.adempiere.webui.window.FDialog; import org.adempiere.webui.window.MultiFileDownloadDialog; @@ -341,6 +342,7 @@ public abstract class AbstractProcessDialog extends Window implements IProcessUI public void runProcess() { + Events.sendEvent(DialogEvents.ON_BEFORE_RUN_PROCESS, this, null); future = Adempiere.getThreadPoolExecutor().submit(new DesktopRunnable(new ProcessDialogRunnable(null), getDesktop())); } diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/ProcessModalDialog.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/ProcessModalDialog.java index a8e1fb0d69..83c80d4ae8 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/ProcessModalDialog.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/ProcessModalDialog.java @@ -84,6 +84,7 @@ public class ProcessModalDialog extends AbstractProcessDialog implements EventLi if (listener != null) { addEventListener(ON_WINDOW_CLOSE, listener); + addEventListener(ON_BEFORE_RUN_PROCESS, listener); } log.info("Process=" + pi.getAD_Process_ID()); diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/component/ConfirmPanel.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/component/ConfirmPanel.java index 90f27f1264..0109938bfd 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/component/ConfirmPanel.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/component/ConfirmPanel.java @@ -23,6 +23,7 @@ import java.util.List; import java.util.Map; import org.adempiere.webui.factory.ButtonFactory; +import org.adempiere.webui.theme.ThemeManager; import org.zkoss.zk.ui.event.EventListener; import org.zkoss.zk.ui.event.Events; import org.zkoss.zul.Div; @@ -220,6 +221,8 @@ public final class ConfirmPanel extends Div // private Hlayout pnlBtnRight; private Hlayout pnlBtnLeft; + // IDEMPIERE-1334 center panel, contain all process button + private Hlayout pnlBtnCenter; /** * initialise components @@ -231,13 +234,36 @@ public final class ConfirmPanel extends Div pnlBtnRight = new Hlayout(); pnlBtnRight.setSclass("confirm-panel-right"); + // IDEMPIERE-1334 start + pnlBtnCenter = new Hlayout(); + pnlBtnCenter.setSclass("confirm-panel-center"); + // IDEMPIERE-1334 end + this.appendChild(pnlBtnLeft); + // IDEMPIERE-1334 + this.appendChild(pnlBtnCenter); this.appendChild(pnlBtnRight); this.setSclass("confirm-panel"); this.setVflex("min"); setId("confirmPanel"); } + /** + * IDEMPIERE-1334 + * add a process button into center panel + * @param btName + * @param imgName + * @return + */ + public Button addProcessButton (String btName, String imgName){ + Button btProcess = createButton(btName); + // replace default image with image set at info process + if (m_withImage && imgName != null && imgName.trim().length() > 0) + btProcess.setImage(ThemeManager.getThemeResource("images/" + imgName)); + addComponentsCenter(btProcess); + return btProcess; + } + /** * add button to the left side of the confirm panel * @param button button @@ -260,6 +286,26 @@ public final class ConfirmPanel extends Div pnlBtnRight.appendChild(button); } + /** + * IDEMPIERE-1334 + * add button to the center side of the confirm panel + * @param button button + */ + public void addComponentsCenter(Button button) + { + if (!buttonMap.containsKey(button.getId())) + buttonMap.put(button.getId(), button); + pnlBtnCenter.appendChild(button); + } + + /** + * Add combobox to center panel + * @param cbb + */ + public void addComponentsCenter(Combobox cbb){ + pnlBtnCenter.appendChild(cbb); + } + /** * return button of the specified id * @param id button id @@ -391,8 +437,12 @@ public final class ConfirmPanel extends Div { List list1 = pnlBtnLeft.getChildren(); List list2 = pnlBtnRight.getChildren(); + // IDEMPIERE-1334 + List list3 = pnlBtnCenter.getChildren(); Iterator iter1 = list1.iterator(); Iterator iter2 = list2.iterator(); + // IDEMPIERE-1334 + Iterator iter3 = list3.iterator(); while (iter1.hasNext()) { @@ -404,6 +454,13 @@ public final class ConfirmPanel extends Div Button button = (Button)iter2.next(); button.setEnabled(enabled); } + // IDEMPIERE-1334 start + while (iter3.hasNext()) + { + Button button = (Button)iter3.next(); + button.setEnabled(enabled); + } + // IDEMPIERE-1334 end } /** * add action listener on the existing buttons @@ -414,8 +471,12 @@ public final class ConfirmPanel extends Div { List list1 = pnlBtnLeft.getChildren(); List list2 = pnlBtnRight.getChildren(); + // IDEMPIERE-1334 + List list3 = pnlBtnCenter.getChildren(); Iterator iter1 = list1.iterator(); Iterator iter2 = list2.iterator(); + // IDEMPIERE-1334 + Iterator iter3 = list3.iterator(); while (iter1.hasNext()) { @@ -427,6 +488,13 @@ public final class ConfirmPanel extends Div Button button = (Button)iter2.next(); button.addEventListener(event, listener); } + // IDEMPIERE-1334 start + while (iter3.hasNext()) + { + Button button = (Button)iter3.next(); + button.addEventListener(event, listener); + } + // IDEMPIERE-1334 start } /** diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/component/WListbox.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/component/WListbox.java index 8063b1a82e..d1739bb3f7 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/component/WListbox.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/component/WListbox.java @@ -745,22 +745,30 @@ public class WListbox extends Listbox implements IMiniTable, TableValueChangeLis */ public Integer getSelectedRowKey() { - int row = 0; - final int noSelection = -1; - final int noIndex = -1; - Object data; - if (m_layout == null) { throw new UnsupportedOperationException("Layout not defined"); } - row = getSelectedRow(); + int row = getSelectedRow(); + // make common function + return getRowKeyAt (row); + } // getSelectedRowKey + + /** + * IDEMPIERE-1334 + * get key of record at index + * @param index + * @return + */ + public Integer getRowKeyAt (int index){ // TODO factor out the two parts of this guard statement - if (row != noSelection && m_keyColumnIndex != noIndex) - { - data = getModel().getDataAt(row, m_keyColumnIndex); + if (index < 0 || m_keyColumnIndex < 0) + return null; + + + Object data = getModel().getDataAt(index, m_keyColumnIndex); if (data instanceof IDColumn) { @@ -770,10 +778,33 @@ public class WListbox extends Listbox implements IMiniTable, TableValueChangeLis { return (Integer)data; } + return null; } - return null; - } // getSelectedRowKey + /** + * IDEMPIERE-1334 + * deselect all current select, set all record have key in lsKey is selected + * when non key column just return + * @param lsKey + * @return + */ + public void setSelectedByKeys (List lsKey){ + // no key column because can't set selected, just return + if (m_keyColumnIndex < 0) + return; + ListModelTable model = getModel(); + List lsSelectedItem = new ArrayList (); + for (int index = 0; index < model.getSize(); index++){ + Integer key = getRowKeyAt(index); + if (key == null) + continue; + + if (lsKey.contains(key)){ + lsSelectedItem.add (model.getElementAt(index)); + } + } + model.setSelection(lsSelectedItem); + } public Integer getFirstRowKey() { @@ -787,19 +818,8 @@ public class WListbox extends Listbox implements IMiniTable, TableValueChangeLis return null; } - Object data = getModel().getDataAt(0, m_keyColumnIndex); - - if (data instanceof IDColumn) - { - data = ((IDColumn)data).getRecord_ID(); - } - - if (data instanceof Integer) - { - return (Integer)data; - } - - return null; + // make common function + return getRowKeyAt (0); } /** diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/desktop/DefaultDesktop.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/desktop/DefaultDesktop.java index 554f12935c..4e9d1200de 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/desktop/DefaultDesktop.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/desktop/DefaultDesktop.java @@ -598,6 +598,11 @@ public class DefaultDesktop extends TabbedDesktop implements MenuListener, Seria helpController.renderToolTip(gridField); } + @Override + public void updateHelpTooltip(String hdr, String desc, String help, String otherContent) { + helpController.renderToolTip(hdr, desc, help, otherContent); + } + @Override public void updateHelpQuickInfo(GridTab gridTab) { helpController.renderQuickInfo(gridTab); diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/event/DialogEvents.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/event/DialogEvents.java index 4373526d5b..d6fb0b7bb9 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/event/DialogEvents.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/event/DialogEvents.java @@ -25,4 +25,10 @@ public interface DialogEvents { */ public final static String ON_WINDOW_CLOSE = "onWindowClose"; + /** + * rise event before run process, other code can inject a long process in there + * example: at info window, save info to database before run process + */ + public final static String ON_BEFORE_RUN_PROCESS = "onBeforeRunProcess"; + } diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/info/InfoWindow.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/info/InfoWindow.java index 312ba21fdd..391bea05cd 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/info/InfoWindow.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/info/InfoWindow.java @@ -14,17 +14,20 @@ import java.util.Properties; import java.util.TreeMap; import java.util.logging.Level; +import org.adempiere.model.MInfoProcess; import org.adempiere.model.MInfoRelated; import org.adempiere.webui.AdempiereWebUI; import org.adempiere.webui.component.Borderlayout; import org.adempiere.webui.component.Button; import org.adempiere.webui.component.Column; import org.adempiere.webui.component.Columns; +import org.adempiere.webui.component.Combobox; import org.adempiere.webui.component.ConfirmPanel; import org.adempiere.webui.component.Grid; import org.adempiere.webui.component.GridFactory; import org.adempiere.webui.component.Label; import org.adempiere.webui.component.ListModelTable; +import org.adempiere.webui.component.Menupopup; import org.adempiere.webui.component.Row; import org.adempiere.webui.component.Rows; import org.adempiere.webui.component.Tab; @@ -40,6 +43,7 @@ import org.adempiere.webui.event.ValueChangeEvent; import org.adempiere.webui.event.ValueChangeListener; import org.adempiere.webui.panel.InfoPanel; import org.adempiere.webui.session.SessionManager; +import org.adempiere.webui.theme.ThemeManager; import org.adempiere.webui.window.FDialog; import org.compiere.minigrid.ColumnInfo; import org.compiere.minigrid.EmbedWinInfo; @@ -53,6 +57,7 @@ import org.compiere.model.MInfoWindow; import org.compiere.model.MLookupFactory; import org.compiere.model.MLookupInfo; import org.compiere.model.MRole; +import org.compiere.model.MSysConfig; import org.compiere.model.MTable; import org.compiere.model.X_AD_InfoColumn; import org.compiere.util.DB; @@ -70,7 +75,12 @@ import org.zkoss.zk.ui.event.Events; import org.zkoss.zk.ui.event.SwipeEvent; import org.zkoss.zul.Center; import org.zkoss.zul.Checkbox; +import org.zkoss.zul.Comboitem; +import org.zkoss.zul.ComboitemRenderer; import org.zkoss.zul.Div; +import org.zkoss.zul.ListModel; +import org.zkoss.zul.ListModelList; +import org.zkoss.zul.Menuitem; import org.zkoss.zul.North; import org.zkoss.zul.Separator; import org.zkoss.zul.South; @@ -111,6 +121,7 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener, EventL protected String queryValue; private List gridFields; + private int AD_InfoWindow_ID; private Checkbox checkAND; /** @@ -140,18 +151,6 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener, EventL this.queryValue = queryValue; this.AD_InfoWindow_ID = AD_InfoWindow_ID; - //red1 IDEMPIERE-1711 (Hengsin advised this minimal coding way) - infoWindow = new MInfoWindow(Env.getCtx(), AD_InfoWindow_ID, null); - if (infoWindow.getAD_Process_ID() > 0) - { - p_multipleSelection = true; - hasProcess = true; - Button b = confirmPanel.createButton(ConfirmPanel.A_PROCESS); - confirmPanel.addComponentsLeft(b); - b.addEventListener(Events.ON_CLICK, this); - } - //red1 -- end -- - //Xolali IDEMPIERE-1045 contentPanel.addActionListener(new EventListener() { public void onEvent(Event event) throws Exception { @@ -166,6 +165,10 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener, EventL infoContext = new Properties(Env.getCtx()); p_loadedOK = loadInfoDefinition(); + + // IDEMPIERE-1334 + initInfoProcess(); + loadInfoRelatedTabs(); if (loadedOK()) { if (isLookup()) { @@ -182,6 +185,117 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener, EventL } } + /** + * IDEMPIERE-1334 + * load info process info + * layout each info process as button or dropdown item + */ + protected void initInfoProcess() { + if (infoWindow == null){ + return; + } + + MInfoProcess [] infoProcessList = infoWindow.getInfoProcess(false); + // get default value of infoProcessLayout from sysConfig, when no config, select bt_list + String infoProcessLayoutDefault = MSysConfig.getValue(MSysConfig.INFO_PROCESS_LAYOUT_DEFAULT, MInfoProcess.INFO_PROCESS_LAYOUT_TYPE_bt); + + // when default layout set in infowindow use it + if (infoWindow.getLayoutType() != null){ + infoProcessLayoutDefault = infoWindow.getLayoutType(); + } + + // when infoprocess have non layout type, set layout type default for it + for (MInfoProcess infoProcess : infoProcessList){ + if (infoProcess.getLayoutType() == null){ + infoProcess.setLayoutType(infoProcessLayoutDefault); + } + } + + // ** layout info process flow order (button list, drop down, dialog,...) + // each layout type in a loop to ensure this order + + // make list process button + for (MInfoProcess infoProcess : infoProcessList){ + // just add info process have layout is bt + if (!MInfoProcess.INFO_PROCESS_LAYOUT_TYPE_bt.equals(infoProcess.getLayoutType())){ + continue; + } + Button btProcess = confirmPanel.addProcessButton(infoProcess.getName(), infoProcess.getImageURL()); + // save process_id, handle event will use + btProcess.setAttribute(PROCESS_ID_KEY, new Integer(infoProcess.getAD_Process_ID())); + btProcess.addEventListener(Events.ON_CLICK, this); + // save info process to use in handle event + btProcess.setAttribute(ATT_INFO_PROCESS_KEY, infoProcess); + // update tooltip hepl when focus + btProcess.addEventListener(Events.ON_FOCUS, this); + btProcessList.add(btProcess); + } + + // filte just infoprocess have layout type is drop list for model of combobox + List infoProcessDropList = new ArrayList(); + for (MInfoProcess infoProcess : infoProcessList){ + if (!MInfoProcess.INFO_PROCESS_LAYOUT_TYPE_drop_list.equals(infoProcess.getLayoutType())){ + continue; + } + infoProcessDropList.add(infoProcess); + } + // make combobox contain list info process + if (infoProcessDropList.size() > 0){ + cbbProcess = new Combobox (); + ListModel infoProccessModel = new ListModelList(infoProcessDropList); + // render item, use name to display + cbbProcess.setItemRenderer(new ComboitemRenderer() { + public void render(Comboitem item, MInfoProcess data, int index){ + item.setValue(data); + item.setLabel(data.getName()); + if (data.getImageURL() != null && data.getImageURL().trim().length() > 0){ + item.setImage(ThemeManager.getThemeResource("images/" + data.getImageURL() + ".png")); + } + } + }); + + // update tooltip hepl when select a item + cbbProcess.addEventListener(Events.ON_SELECT, this); + + cbbProcess.setModel(infoProccessModel); + confirmPanel.addComponentsCenter(cbbProcess); + + btCbbProcess = confirmPanel.addProcessButton(Msg.getMsg(Env.getCtx(), ConfirmPanel.A_PROCESS), null); + btCbbProcess.addEventListener(Events.ON_CLICK, this); + } + + // make menu button + Menupopup ipMenu = null; + for (MInfoProcess infoProcess : infoProcessList){ + // just add info process have layout is bt_menu + if (!MInfoProcess.INFO_PROCESS_LAYOUT_TYPE_menu.equals(infoProcess.getLayoutType())){ + continue; + } + + // init popup menu + if (ipMenu == null){ + ipMenu = new Menupopup(); + ipMenu.setId("ipMenu"); + confirmPanel.appendChild(ipMenu); + + // init button to show menu + btMenuProcess = confirmPanel.addProcessButton(Msg.getMsg(Env.getCtx(), ConfirmPanel.A_PROCESS), null); + btMenuProcess.setPopup("ipMenu, before_start"); + } + + // make menu item for each info process + Menuitem ipMenuItem = new Menuitem(); + ipMenuItem.setLabel(infoProcess.getName()); + if (infoProcess.getImageURL() != null && infoProcess.getImageURL().trim().length() > 0){ + ipMenuItem.setImage(ThemeManager.getThemeResource("images/" + infoProcess.getImageURL() + ".png")); + } + ipMenuItem.setAttribute(PROCESS_ID_KEY, infoProcess.getAD_Process_ID()); + ipMenuItem.addEventListener(Events.ON_CLICK, this); + ipMenu.appendChild(ipMenuItem); + } + + } + private void processQueryValue() { for (int i = 0; i < identifiers.size(); i++) { WEditor editor = identifiers.get(i); @@ -667,9 +781,23 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener, EventL confirmPanel.getButton(ConfirmPanel.A_ZOOM).setVisible(hasZoom()); confirmPanel.getButton(ConfirmPanel.A_ZOOM).setDisabled(true); - if (hasProcess) - confirmPanel.getButton(ConfirmPanel.A_PROCESS).setDisabled(true); + // IDEMPIERE-1334 start when init all button process is disable because nothing record is selected + for (Button btProcess : btProcessList){ + btProcess.setDisabled(true); + } + if (btCbbProcess != null){ + btCbbProcess.setDisabled(true); + } + + if (btMenuProcess != null){ + btMenuProcess.setDisabled(true); + } + + if (cbbProcess != null){ + cbbProcess.setDisabled(true); + } + // IDEMPIERE-1334 end } protected void renderFooter(South south) { @@ -1015,11 +1143,6 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener, EventL return !isLookup() && infoWindow != null && !MTable.get(Env.getCtx(), infoWindow.getAD_Table_ID()).isView(); } - @Override - protected boolean hasProcess() { //red1 IDEMPIERE-1711 to retain InfoWindow.process_ID > 0 as true - return hasProcess; - } - @Override public void valueChange(ValueChangeEvent evt) { if (evt != null && evt.getSource() instanceof WEditor) @@ -1064,7 +1187,13 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener, EventL public void onEvent(Event event) { - if (event.getName().equals(Events.ON_FOCUS)) { + if (event.getName().equals(Events.ON_FOCUS) && event.getTarget() != null && + event.getTarget().getAttribute(ATT_INFO_PROCESS_KEY) != null){ + + MInfoProcess ipOfBt = (MInfoProcess)event.getTarget().getAttribute(ATT_INFO_PROCESS_KEY); + SessionManager.getAppDesktop().updateHelpTooltip(ipOfBt.getName(), ipOfBt.getDescription(), ipOfBt.getHelp(), null); + } + else if (event.getName().equals(Events.ON_FOCUS)) { for (WEditor editor : editors) { if (editor.isComponentOfEditor(event.getTarget())) @@ -1073,6 +1202,14 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener, EventL return; } } + }else if (event.getName().equals(Events.ON_SELECT) && event.getTarget().equals(cbbProcess)){ + // update help panel when change select item in combobox process + Comboitem selectedItem = cbbProcess.getSelectedItem(); + if (selectedItem != null && selectedItem.getValue() != null){ + MInfoProcess selectedValue = (MInfoProcess)selectedItem.getValue(); + SessionManager.getAppDesktop().updateHelpTooltip(selectedValue.getName(), selectedValue.getDescription(), selectedValue.getHelp(), null); + } + } else { diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/InfoPanel.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/InfoPanel.java index 7b273e0a23..a1d28fd06b 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/InfoPanel.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/InfoPanel.java @@ -33,16 +33,21 @@ import java.util.Map; import java.util.Vector; import java.util.logging.Level; +import org.adempiere.model.MInfoProcess; import org.adempiere.webui.AdempiereWebUI; import org.adempiere.webui.apps.AEnv; import org.adempiere.webui.apps.BusyDialog; +import org.adempiere.webui.apps.ProcessModalDialog; import org.adempiere.webui.apps.WProcessCtl; +import org.adempiere.webui.component.Button; +import org.adempiere.webui.component.Combobox; import org.adempiere.webui.component.ConfirmPanel; import org.adempiere.webui.component.ListModelTable; import org.adempiere.webui.component.WListItemRenderer; import org.adempiere.webui.component.WListbox; import org.adempiere.webui.component.Window; import org.adempiere.webui.editor.WEditor; +import org.adempiere.webui.event.DialogEvents; import org.adempiere.webui.event.ValueChangeEvent; import org.adempiere.webui.event.ValueChangeListener; import org.adempiere.webui.event.WTableModelEvent; @@ -75,9 +80,11 @@ import org.zkoss.zk.ui.event.EventListener; import org.zkoss.zk.ui.event.Events; import org.zkoss.zk.ui.event.SelectEvent; import org.zkoss.zk.ui.util.Clients; +import org.zkoss.zul.Comboitem; import org.zkoss.zul.Listhead; import org.zkoss.zul.Listheader; import org.zkoss.zul.Listitem; +import org.zkoss.zul.Menuitem; import org.zkoss.zul.Paging; import org.zkoss.zul.event.ZulEvents; import org.zkoss.zul.ext.Sortable; @@ -102,8 +109,12 @@ public abstract class InfoPanel extends Window implements EventListener, private static final long serialVersionUID = 2823393272482373014L; private final static int PAGE_SIZE = 100; - protected boolean hasProcess = false; + protected List