Ticket #1001002: Move the Menu to be a Portlet

This commit is contained in:
Elaine Tan 2012-08-03 16:46:55 +08:00
parent 54db8b6742
commit c13dcad28d
38 changed files with 3418 additions and 105 deletions

View File

@ -0,0 +1,359 @@
-- Jul 30, 2012 5:47:12 PM SGT
-- Move the Menu to be a Portlet
INSERT INTO AD_Element (ColumnName,AD_Element_ID,EntityType,Name,Description,PrintName,AD_Element_UU,AD_Client_ID,Created,Updated,AD_Org_ID,CreatedBy,UpdatedBy,IsActive) VALUES ('IsShowInDashboard',1000000,'U','Show in Dashboard','Show the dashlet in the dashboard','Show in Dashboard','7d368f1f-8e8c-41d6-b427-abd9b4853d8f',0,TO_DATE('2012-07-30 17:47:12','YYYY-MM-DD HH24:MI:SS'),TO_DATE('2012-07-30 17:47:12','YYYY-MM-DD HH24:MI:SS'),0,100,100,'Y')
;
-- Jul 30, 2012 5:47:12 PM SGT
-- Move the Menu to be a Portlet
INSERT INTO AD_Element_Trl (AD_Language,AD_Element_ID, Help,PO_Description,PO_Help,Name,Description,PrintName,PO_Name,PO_PrintName, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy ) SELECT l.AD_Language,t.AD_Element_ID, t.Help,t.PO_Description,t.PO_Help,t.Name,t.Description,t.PrintName,t.PO_Name,t.PO_PrintName, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, AD_Element t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Element_ID=1000000 AND NOT EXISTS (SELECT * FROM AD_Element_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Element_ID=t.AD_Element_ID)
;
-- Jul 30, 2012 5:47:33 PM SGT
-- Move the Menu to be a Portlet
INSERT INTO AD_Column (Version,AD_Table_ID,AD_Column_ID,EntityType,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsSyncDatabase,IsKey,AD_Element_ID,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsEncrypted,IsUpdateable,IsAlwaysUpdateable,ColumnName,Description,DefaultValue,Name,IsAllowCopy,CreatedBy,Updated,AD_Org_ID,IsActive,Created,UpdatedBy,AD_Client_ID) VALUES (0,50010,1000000,'U','Y','N','N',0,'N',1,'N',20,'N','N',1000000,'N','Y','d8dc950e-ddf5-4846-9cba-d7924dd08ece','N','Y','N','IsShowInDashboard','Show the dashlet in the dashboard','''Y''','Show in Dashboard','Y',100,TO_DATE('2012-07-30 17:47:33','YYYY-MM-DD HH24:MI:SS'),0,'Y',TO_DATE('2012-07-30 17:47:33','YYYY-MM-DD HH24:MI:SS'),100,0)
;
-- Jul 30, 2012 5:47:33 PM SGT
-- Move the Menu to be a Portlet
INSERT INTO AD_Column_Trl (AD_Language,AD_Column_ID, Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy ) SELECT l.AD_Language,t.AD_Column_ID, t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, AD_Column t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Column_ID=1000000 AND NOT EXISTS (SELECT * FROM AD_Column_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Column_ID=t.AD_Column_ID)
;
-- Jul 30, 2012 5:47:39 PM SGT
-- Move the Menu to be a Portlet
ALTER TABLE PA_DashboardContent ADD IsShowInDashboard CHAR(1) DEFAULT 'Y' CHECK (IsShowInDashboard IN ('Y','N')) NOT NULL
;
-- Jul 30, 2012 5:48:10 PM SGT
-- Move the Menu to be a Portlet
INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,EntityType,Name,IsDisplayed,IsFieldOnly,AD_Field_UU,UpdatedBy,AD_Org_ID,Created,AD_Client_ID,CreatedBy,Updated,IsActive) VALUES ('N',50010,36,'N','N',60964,'Y',1000000,'N','D','PA_DashboardContent_UU','Y','N','fa330423-848e-4f6e-b94b-ca502f03c228',100,0,TO_DATE('2012-07-30 17:48:10','YYYY-MM-DD HH24:MI:SS'),0,100,TO_DATE('2012-07-30 17:48:10','YYYY-MM-DD HH24:MI:SS'),'Y')
;
-- Jul 30, 2012 5:48:10 PM SGT
-- Move the Menu to be a Portlet
INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, AD_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=1000000 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID)
;
-- Jul 30, 2012 5:48:10 PM SGT
-- Move the Menu to be a Portlet
INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,EntityType,Description,Name,IsDisplayed,IsFieldOnly,AD_Field_UU,UpdatedBy,AD_Org_ID,Created,AD_Client_ID,CreatedBy,Updated,IsActive) VALUES ('N',50010,1,'N','N',1000000,'Y',1000001,'N','U','Show the dashlet in the dashboard','Show in Dashboard','Y','N','ced4be5c-cd78-44d4-8f84-561ceec749ce',100,0,TO_DATE('2012-07-30 17:48:10','YYYY-MM-DD HH24:MI:SS'),0,100,TO_DATE('2012-07-30 17:48:10','YYYY-MM-DD HH24:MI:SS'),'Y')
;
-- Jul 30, 2012 5:48:10 PM SGT
-- Move the Menu to be a Portlet
INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, AD_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=1000001 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID)
;
-- Jul 30, 2012 5:48:21 PM SGT
-- Move the Menu to be a Portlet
UPDATE AD_Field SET SeqNo=0,IsDisplayed='N' WHERE AD_Field_ID=1000000
;
-- Jul 30, 2012 5:48:21 PM SGT
-- Move the Menu to be a Portlet
UPDATE AD_Field SET SeqNo=130,IsDisplayed='Y' WHERE AD_Field_ID=56504
;
-- Jul 30, 2012 5:48:21 PM SGT
-- Move the Menu to be a Portlet
UPDATE AD_Field SET SeqNo=140,IsDisplayed='Y' WHERE AD_Field_ID=1000001
;
-- Aug 2, 2012 10:50:25 AM SGT
-- Move the Menu to be a Portlet
INSERT INTO AD_Column (Version,AD_Table_ID,AD_Column_ID,EntityType,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsSyncDatabase,IsKey,AD_Element_ID,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsEncrypted,IsUpdateable,IsAlwaysUpdateable,ColumnName,Description,Help,Name,IsAllowCopy,CreatedBy,Updated,AD_Org_ID,IsActive,Created,UpdatedBy,AD_Client_ID) VALUES (0,50010,1000001,'U','N','N','N',0,'N',10,'N',19,'N','N',117,'N','Y','b65e85c5-494a-450d-a495-d81612e63cd6','N','Y','N','AD_Process_ID','Process or Report','The Process field identifies a unique Process or Report in the system.','Process','Y',100,TO_DATE('2012-08-02 10:50:25','YYYY-MM-DD HH24:MI:SS'),0,'Y',TO_DATE('2012-08-02 10:50:25','YYYY-MM-DD HH24:MI:SS'),100,0)
;
-- Aug 2, 2012 10:50:25 AM SGT
-- Move the Menu to be a Portlet
INSERT INTO AD_Column_Trl (AD_Language,AD_Column_ID, Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy ) SELECT l.AD_Language,t.AD_Column_ID, t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, AD_Column t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Column_ID=1000001 AND NOT EXISTS (SELECT * FROM AD_Column_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Column_ID=t.AD_Column_ID)
;
-- Aug 2, 2012 10:50:42 AM SGT
-- Move the Menu to be a Portlet
ALTER TABLE PA_DashboardContent ADD AD_Process_ID NUMBER(10) DEFAULT NULL
;
-- Aug 2, 2012 10:51:45 AM SGT
-- Move the Menu to be a Portlet
INSERT INTO AD_Element (ColumnName,AD_Element_ID,EntityType,Name,Description,PrintName,AD_Element_UU,AD_Client_ID,Created,Updated,AD_Org_ID,CreatedBy,UpdatedBy,IsActive) VALUES ('IsEmbedReportContent',1000001,'U','Embed Report Content','Embed report content into dashboard','Embed Report Content','9b2c09ce-ffbd-49db-bdcf-922fa14c89d7',0,TO_DATE('2012-08-02 10:51:45','YYYY-MM-DD HH24:MI:SS'),TO_DATE('2012-08-02 10:51:45','YYYY-MM-DD HH24:MI:SS'),0,100,100,'Y')
;
-- Aug 2, 2012 10:51:46 AM SGT
-- Move the Menu to be a Portlet
INSERT INTO AD_Element_Trl (AD_Language,AD_Element_ID, Help,PO_Description,PO_Help,Name,Description,PrintName,PO_Name,PO_PrintName, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy ) SELECT l.AD_Language,t.AD_Element_ID, t.Help,t.PO_Description,t.PO_Help,t.Name,t.Description,t.PrintName,t.PO_Name,t.PO_PrintName, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, AD_Element t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Element_ID=1000001 AND NOT EXISTS (SELECT * FROM AD_Element_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Element_ID=t.AD_Element_ID)
;
-- Aug 2, 2012 10:52:37 AM SGT
-- Move the Menu to be a Portlet
INSERT INTO AD_Column (Version,AD_Table_ID,AD_Column_ID,EntityType,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsSyncDatabase,IsKey,AD_Element_ID,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsEncrypted,IsUpdateable,IsAlwaysUpdateable,ColumnName,Description,DefaultValue,Name,IsAllowCopy,CreatedBy,Updated,AD_Org_ID,IsActive,Created,UpdatedBy,AD_Client_ID) VALUES (0,50010,1000002,'U','Y','N','N',0,'N',1,'N',20,'N','N',1000001,'N','Y','00f77d84-8488-45ae-b2c4-5560df00a01f','N','Y','N','IsEmbedReportContent','Embed report content into dashboard','N','Embed Report Content','Y',100,TO_DATE('2012-08-02 10:52:37','YYYY-MM-DD HH24:MI:SS'),0,'Y',TO_DATE('2012-08-02 10:52:37','YYYY-MM-DD HH24:MI:SS'),100,0)
;
-- Aug 2, 2012 10:52:37 AM SGT
-- Move the Menu to be a Portlet
INSERT INTO AD_Column_Trl (AD_Language,AD_Column_ID, Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy ) SELECT l.AD_Language,t.AD_Column_ID, t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, AD_Column t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Column_ID=1000002 AND NOT EXISTS (SELECT * FROM AD_Column_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Column_ID=t.AD_Column_ID)
;
-- Aug 2, 2012 10:52:41 AM SGT
-- Move the Menu to be a Portlet
ALTER TABLE PA_DashboardContent ADD IsEmbedReportContent CHAR(1) DEFAULT 'N' CHECK (IsEmbedReportContent IN ('Y','N')) NOT NULL
;
-- Aug 2, 2012 10:53:50 AM SGT
-- Move the Menu to be a Portlet
INSERT INTO AD_Element (ColumnName,AD_Element_ID,Help,EntityType,Name,Description,PrintName,AD_Element_UU,AD_Client_ID,Created,Updated,AD_Org_ID,CreatedBy,UpdatedBy,IsActive) VALUES ('ProcessParameters',1000002,'A list of name value pair process parameter separated by comma','U','Process Parameters','Comma separated process parameter list','Process Parameters','ce4fe485-2380-42b6-9e42-62a6ddaadb92',0,TO_DATE('2012-08-02 10:53:50','YYYY-MM-DD HH24:MI:SS'),TO_DATE('2012-08-02 10:53:50','YYYY-MM-DD HH24:MI:SS'),0,100,100,'Y')
;
-- Aug 2, 2012 10:53:50 AM SGT
-- Move the Menu to be a Portlet
INSERT INTO AD_Element_Trl (AD_Language,AD_Element_ID, Help,PO_Description,PO_Help,Name,Description,PrintName,PO_Name,PO_PrintName, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy ) SELECT l.AD_Language,t.AD_Element_ID, t.Help,t.PO_Description,t.PO_Help,t.Name,t.Description,t.PrintName,t.PO_Name,t.PO_PrintName, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, AD_Element t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Element_ID=1000002 AND NOT EXISTS (SELECT * FROM AD_Element_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Element_ID=t.AD_Element_ID)
;
-- Aug 2, 2012 10:54:33 AM SGT
-- Move the Menu to be a Portlet
INSERT INTO AD_Column (Version,AD_Table_ID,AD_Column_ID,EntityType,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsSyncDatabase,IsKey,AD_Element_ID,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsEncrypted,IsUpdateable,IsAlwaysUpdateable,ColumnName,Description,Help,Name,IsAllowCopy,CreatedBy,Updated,AD_Org_ID,IsActive,Created,UpdatedBy,AD_Client_ID) VALUES (0,50010,1000003,'U','N','N','N',0,'N',2000,'N',10,'N','N',1000002,'N','Y','07242c07-416a-4dec-8f0c-dab19d271d6d','N','Y','N','ProcessParameters','Comma separated process parameter list','A list of name value pair process parameter separated by comma','Process Parameters','Y',100,TO_DATE('2012-08-02 10:54:33','YYYY-MM-DD HH24:MI:SS'),0,'Y',TO_DATE('2012-08-02 10:54:33','YYYY-MM-DD HH24:MI:SS'),100,0)
;
-- Aug 2, 2012 10:54:33 AM SGT
-- Move the Menu to be a Portlet
INSERT INTO AD_Column_Trl (AD_Language,AD_Column_ID, Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy ) SELECT l.AD_Language,t.AD_Column_ID, t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, AD_Column t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Column_ID=1000003 AND NOT EXISTS (SELECT * FROM AD_Column_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Column_ID=t.AD_Column_ID)
;
-- Aug 2, 2012 10:54:37 AM SGT
-- Move the Menu to be a Portlet
ALTER TABLE PA_DashboardContent ADD ProcessParameters NVARCHAR2(2000) DEFAULT NULL
;
-- Aug 2, 2012 10:55:12 AM SGT
-- Move the Menu to be a Portlet
INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,EntityType,Description,Name,IsDisplayed,IsFieldOnly,AD_Field_UU,UpdatedBy,AD_Org_ID,Created,AD_Client_ID,CreatedBy,Updated,IsActive) VALUES ('N',50010,1,'N','N',1000002,'Y',1000002,'N','U','Embed report content into dashboard','Embed Report Content','Y','N','c89622f5-06a4-4b36-8f4c-81b8f0487b21',100,0,TO_DATE('2012-08-02 10:55:12','YYYY-MM-DD HH24:MI:SS'),0,100,TO_DATE('2012-08-02 10:55:12','YYYY-MM-DD HH24:MI:SS'),'Y')
;
-- Aug 2, 2012 10:55:12 AM SGT
-- Move the Menu to be a Portlet
INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, AD_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=1000002 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID)
;
-- Aug 2, 2012 10:55:12 AM SGT
-- Move the Menu to be a Portlet
INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,EntityType,Description,Name,IsDisplayed,IsFieldOnly,AD_Field_UU,UpdatedBy,AD_Org_ID,Created,AD_Client_ID,CreatedBy,Updated,IsActive) VALUES ('N',50010,10,'N','N',1000001,'Y',1000003,'N','The Process field identifies a unique Process or Report in the system.','U','Process or Report','Process','Y','N','58a3f72c-fff4-4209-8625-9b63d3e5f9be',100,0,TO_DATE('2012-08-02 10:55:12','YYYY-MM-DD HH24:MI:SS'),0,100,TO_DATE('2012-08-02 10:55:12','YYYY-MM-DD HH24:MI:SS'),'Y')
;
-- Aug 2, 2012 10:55:12 AM SGT
-- Move the Menu to be a Portlet
INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, AD_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=1000003 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID)
;
-- Aug 2, 2012 10:55:12 AM SGT
-- Move the Menu to be a Portlet
INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,EntityType,Description,Name,IsDisplayed,IsFieldOnly,AD_Field_UU,UpdatedBy,AD_Org_ID,Created,AD_Client_ID,CreatedBy,Updated,IsActive) VALUES ('N',50010,2000,'N','N',1000003,'Y',1000004,'N','A list of name value pair process parameter separated by comma','U','Comma separated process parameter list','Process Parameters','Y','N','7baae861-ad87-44ec-b2d0-5c0c7e9b0f87',100,0,TO_DATE('2012-08-02 10:55:12','YYYY-MM-DD HH24:MI:SS'),0,100,TO_DATE('2012-08-02 10:55:12','YYYY-MM-DD HH24:MI:SS'),'Y')
;
-- Aug 2, 2012 10:55:12 AM SGT
-- Move the Menu to be a Portlet
INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, AD_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=1000004 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID)
;
-- Aug 2, 2012 10:55:35 AM SGT
-- Move the Menu to be a Portlet
UPDATE AD_Field SET SeqNo=150,IsDisplayed='Y' WHERE AD_Field_ID=1000003
;
-- Aug 2, 2012 10:55:35 AM SGT
-- Move the Menu to be a Portlet
UPDATE AD_Field SET SeqNo=160,IsDisplayed='Y' WHERE AD_Field_ID=1000002
;
-- Aug 2, 2012 10:55:35 AM SGT
-- Move the Menu to be a Portlet
UPDATE AD_Field SET SeqNo=170,IsDisplayed='Y' WHERE AD_Field_ID=1000004
;
-- Aug 2, 2012 10:56:20 AM SGT
-- Move the Menu to be a Portlet
UPDATE AD_Field SET IsSameLine='Y', DefaultValue='@AD_Process_ID@!0',Updated=TO_DATE('2012-08-02 10:56:20','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=1000002
;
-- Aug 2, 2012 10:56:57 AM SGT
-- Move the Menu to be a Portlet
UPDATE AD_Field SET DefaultValue='@AD_Process_ID@!0&@IsEmbedReportContent@=''Y''',Updated=TO_DATE('2012-08-02 10:56:57','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=1000004
;
-- Aug 2, 2012 4:58:46 PM SGT
-- Move the Menu to be a Portlet
INSERT INTO AD_Element (ColumnName,AD_Element_ID,EntityType,Name,Description,PrintName,AD_Element_UU,AD_Client_ID,Created,Updated,AD_Org_ID,CreatedBy,UpdatedBy,IsActive) VALUES ('HeaderColor',1000003,'U','Header Color','Header color of calendar dashlet','Header Color','5eb8a795-bb75-4ab6-8e60-4b780e80b7bd',0,TO_DATE('2012-08-02 16:58:45','YYYY-MM-DD HH24:MI:SS'),TO_DATE('2012-08-02 16:58:45','YYYY-MM-DD HH24:MI:SS'),0,100,100,'Y')
;
-- Aug 2, 2012 4:58:46 PM SGT
-- Move the Menu to be a Portlet
INSERT INTO AD_Element_Trl (AD_Language,AD_Element_ID, Help,PO_Description,PO_Help,Name,Description,PrintName,PO_Name,PO_PrintName, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy ) SELECT l.AD_Language,t.AD_Element_ID, t.Help,t.PO_Description,t.PO_Help,t.Name,t.Description,t.PrintName,t.PO_Name,t.PO_PrintName, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, AD_Element t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Element_ID=1000003 AND NOT EXISTS (SELECT * FROM AD_Element_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Element_ID=t.AD_Element_ID)
;
-- Aug 2, 2012 4:59:03 PM SGT
-- Move the Menu to be a Portlet
INSERT INTO AD_Column (Version,AD_Table_ID,AD_Column_ID,EntityType,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsSyncDatabase,IsKey,AD_Element_ID,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsEncrypted,IsUpdateable,IsAlwaysUpdateable,ColumnName,Description,Name,IsAllowCopy,CreatedBy,Updated,AD_Org_ID,IsActive,Created,UpdatedBy,AD_Client_ID) VALUES (0,529,1000004,'U','N','N','N',0,'N',7,'N',10,'N','N',1000003,'N','Y','2da3cc0f-9db0-404f-ad1a-c306d6f65a9c','N','Y','N','HeaderColor','Header color of calendar dashlet','Header Color','Y',100,TO_DATE('2012-08-02 16:59:03','YYYY-MM-DD HH24:MI:SS'),0,'Y',TO_DATE('2012-08-02 16:59:03','YYYY-MM-DD HH24:MI:SS'),100,0)
;
-- Aug 2, 2012 4:59:03 PM SGT
-- Move the Menu to be a Portlet
INSERT INTO AD_Column_Trl (AD_Language,AD_Column_ID, Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy ) SELECT l.AD_Language,t.AD_Column_ID, t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, AD_Column t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Column_ID=1000004 AND NOT EXISTS (SELECT * FROM AD_Column_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Column_ID=t.AD_Column_ID)
;
-- Aug 2, 2012 4:59:14 PM SGT
-- Move the Menu to be a Portlet
ALTER TABLE R_RequestType ADD HeaderColor NVARCHAR2(7) DEFAULT NULL
;
-- Aug 2, 2012 4:59:45 PM SGT
-- Move the Menu to be a Portlet
INSERT INTO AD_Element (ColumnName,AD_Element_ID,EntityType,Name,Description,PrintName,AD_Element_UU,AD_Client_ID,Created,Updated,AD_Org_ID,CreatedBy,UpdatedBy,IsActive) VALUES ('ContentColor',1000004,'U','Content Color','Content color of calendar dashlet','Content Color','b94231dd-8bda-46e3-8e5d-2b6753150549',0,TO_DATE('2012-08-02 16:59:45','YYYY-MM-DD HH24:MI:SS'),TO_DATE('2012-08-02 16:59:45','YYYY-MM-DD HH24:MI:SS'),0,100,100,'Y')
;
-- Aug 2, 2012 4:59:45 PM SGT
-- Move the Menu to be a Portlet
INSERT INTO AD_Element_Trl (AD_Language,AD_Element_ID, Help,PO_Description,PO_Help,Name,Description,PrintName,PO_Name,PO_PrintName, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy ) SELECT l.AD_Language,t.AD_Element_ID, t.Help,t.PO_Description,t.PO_Help,t.Name,t.Description,t.PrintName,t.PO_Name,t.PO_PrintName, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, AD_Element t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Element_ID=1000004 AND NOT EXISTS (SELECT * FROM AD_Element_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Element_ID=t.AD_Element_ID)
;
-- Aug 2, 2012 5:00:05 PM SGT
-- Move the Menu to be a Portlet
INSERT INTO AD_Column (Version,AD_Table_ID,AD_Column_ID,EntityType,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsSyncDatabase,IsKey,AD_Element_ID,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsEncrypted,IsUpdateable,IsAlwaysUpdateable,ColumnName,Description,Name,IsAllowCopy,CreatedBy,Updated,AD_Org_ID,IsActive,Created,UpdatedBy,AD_Client_ID) VALUES (0,529,1000005,'U','N','N','N',0,'N',7,'N',10,'N','N',1000004,'N','Y','63b8d845-33b8-4632-bbd8-b6caeee09c66','N','Y','N','ContentColor','Content color of calendar dashlet','Content Color','Y',100,TO_DATE('2012-08-02 17:00:05','YYYY-MM-DD HH24:MI:SS'),0,'Y',TO_DATE('2012-08-02 17:00:05','YYYY-MM-DD HH24:MI:SS'),100,0)
;
-- Aug 2, 2012 5:00:05 PM SGT
-- Move the Menu to be a Portlet
INSERT INTO AD_Column_Trl (AD_Language,AD_Column_ID, Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy ) SELECT l.AD_Language,t.AD_Column_ID, t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, AD_Column t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Column_ID=1000005 AND NOT EXISTS (SELECT * FROM AD_Column_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Column_ID=t.AD_Column_ID)
;
-- Aug 2, 2012 5:00:09 PM SGT
-- Move the Menu to be a Portlet
ALTER TABLE R_RequestType ADD ContentColor NVARCHAR2(7) DEFAULT NULL
;
-- Aug 2, 2012 5:00:26 PM SGT
-- Move the Menu to be a Portlet
INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,EntityType,Description,Name,IsDisplayed,IsFieldOnly,AD_Field_UU,UpdatedBy,AD_Org_ID,Created,AD_Client_ID,CreatedBy,Updated,IsActive) VALUES ('N',437,7,'N','N',1000005,'Y',1000005,'N','U','Content color of calendar dashlet','Content Color','Y','N','fcf10a9f-a004-43d4-84a3-13c93590918e',100,0,TO_DATE('2012-08-02 17:00:26','YYYY-MM-DD HH24:MI:SS'),0,100,TO_DATE('2012-08-02 17:00:26','YYYY-MM-DD HH24:MI:SS'),'Y')
;
-- Aug 2, 2012 5:00:26 PM SGT
-- Move the Menu to be a Portlet
INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, AD_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=1000005 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID)
;
-- Aug 2, 2012 5:00:26 PM SGT
-- Move the Menu to be a Portlet
INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,EntityType,Description,Name,IsDisplayed,IsFieldOnly,AD_Field_UU,UpdatedBy,AD_Org_ID,Created,AD_Client_ID,CreatedBy,Updated,IsActive) VALUES ('N',437,7,'N','N',1000004,'Y',1000006,'N','U','Header color of calendar dashlet','Header Color','Y','N','fd8cca24-1b80-4cfe-84fa-7826757b60f4',100,0,TO_DATE('2012-08-02 17:00:26','YYYY-MM-DD HH24:MI:SS'),0,100,TO_DATE('2012-08-02 17:00:26','YYYY-MM-DD HH24:MI:SS'),'Y')
;
-- Aug 2, 2012 5:00:26 PM SGT
-- Move the Menu to be a Portlet
INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, AD_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=1000006 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID)
;
-- Aug 2, 2012 5:00:26 PM SGT
-- Move the Menu to be a Portlet
INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,EntityType,Description,Name,IsDisplayed,IsFieldOnly,AD_Field_UU,UpdatedBy,AD_Org_ID,Created,AD_Client_ID,CreatedBy,Updated,IsActive) VALUES ('N',437,1,'N','N',15805,'Y',1000007,'N','For cross document search, the document can be indexed for faster search (Container, Document Type, Request Type)','D','Index the document for the internal search engine','Indexed','Y','N','6b54a3cb-2e86-407c-88d4-3f64ceea240b',100,0,TO_DATE('2012-08-02 17:00:26','YYYY-MM-DD HH24:MI:SS'),0,100,TO_DATE('2012-08-02 17:00:26','YYYY-MM-DD HH24:MI:SS'),'Y')
;
-- Aug 2, 2012 5:00:26 PM SGT
-- Move the Menu to be a Portlet
INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, AD_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=1000007 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID)
;
-- Aug 2, 2012 5:00:26 PM SGT
-- Move the Menu to be a Portlet
INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,EntityType,Name,IsDisplayed,IsFieldOnly,AD_Field_UU,UpdatedBy,AD_Org_ID,Created,AD_Client_ID,CreatedBy,Updated,IsActive) VALUES ('N',437,36,'N','N',61027,'Y',1000008,'N','D','R_RequestType_UU','Y','N','f75af72f-116c-4780-b38b-323cf5dd9428',100,0,TO_DATE('2012-08-02 17:00:26','YYYY-MM-DD HH24:MI:SS'),0,100,TO_DATE('2012-08-02 17:00:26','YYYY-MM-DD HH24:MI:SS'),'Y')
;
-- Aug 2, 2012 5:00:26 PM SGT
-- Move the Menu to be a Portlet
INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, AD_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=1000008 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID)
;
-- Aug 2, 2012 5:00:38 PM SGT
-- Move the Menu to be a Portlet
UPDATE AD_Field SET SeqNo=0,IsDisplayed='N' WHERE AD_Field_ID=1000007
;
-- Aug 2, 2012 5:00:38 PM SGT
-- Move the Menu to be a Portlet
UPDATE AD_Field SET SeqNo=0,IsDisplayed='N' WHERE AD_Field_ID=1000008
;
-- Aug 2, 2012 5:00:38 PM SGT
-- Move the Menu to be a Portlet
UPDATE AD_Field SET SeqNo=170,IsDisplayed='Y' WHERE AD_Field_ID=1000006
;
-- Aug 2, 2012 5:00:38 PM SGT
-- Move the Menu to be a Portlet
UPDATE AD_Field SET SeqNo=180,IsDisplayed='Y' WHERE AD_Field_ID=1000005
;
-- Aug 2, 2012 5:00:49 PM SGT
-- Move the Menu to be a Portlet
UPDATE AD_Field SET IsSameLine='Y',Updated=TO_DATE('2012-08-02 17:00:49','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=1000005
;
-- Aug 3, 2012 10:41:17 AM SGT
-- Move the Menu to be a Portlet
INSERT INTO AD_Column (Version,AD_Table_ID,AD_Column_ID,EntityType,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsSyncDatabase,IsKey,AD_Element_ID,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsEncrypted,IsUpdateable,IsAlwaysUpdateable,ColumnName,Description,DefaultValue,Name,IsAllowCopy,CreatedBy,Updated,AD_Org_ID,IsActive,Created,UpdatedBy,AD_Client_ID) VALUES (0,50010,1000006,'U','Y','N','N',0,'N',1,'N',20,'N','N',53336,'N','Y','944e6718-0fe6-4d11-a874-d84987523f63','N','Y','N','IsCollapsedByDefault','Flag to set the initial state of collapsible field group.','N','Collapsed By Default','Y',100,TO_DATE('2012-08-03 10:41:17','YYYY-MM-DD HH24:MI:SS'),0,'Y',TO_DATE('2012-08-03 10:41:17','YYYY-MM-DD HH24:MI:SS'),100,0)
;
-- Aug 3, 2012 10:41:17 AM SGT
-- Move the Menu to be a Portlet
INSERT INTO AD_Column_Trl (AD_Language,AD_Column_ID, Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy ) SELECT l.AD_Language,t.AD_Column_ID, t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, AD_Column t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Column_ID=1000006 AND NOT EXISTS (SELECT * FROM AD_Column_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Column_ID=t.AD_Column_ID)
;
-- Aug 3, 2012 10:41:25 AM SGT
-- Move the Menu to be a Portlet
ALTER TABLE PA_DashboardContent ADD IsCollapsedByDefault CHAR(1) DEFAULT 'N' CHECK (IsCollapsedByDefault IN ('Y','N')) NOT NULL
;
-- Aug 3, 2012 10:42:03 AM SGT
-- Move the Menu to be a Portlet
INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,EntityType,Description,Name,IsDisplayed,IsFieldOnly,AD_Field_UU,UpdatedBy,AD_Org_ID,Created,AD_Client_ID,CreatedBy,Updated,IsActive) VALUES ('N',50010,1,'N','N',1000006,'Y',1000009,'N','U','Flag to set the initial state of collapsible field group.','Collapsed By Default','Y','N','1953b83a-94b5-4fd7-98b8-d8b4d7b9e718',100,0,TO_DATE('2012-08-03 10:42:02','YYYY-MM-DD HH24:MI:SS'),0,100,TO_DATE('2012-08-03 10:42:02','YYYY-MM-DD HH24:MI:SS'),'Y')
;
-- Aug 3, 2012 10:42:03 AM SGT
-- Move the Menu to be a Portlet
INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, AD_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=1000009 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID)
;
-- Aug 3, 2012 10:42:17 AM SGT
-- Move the Menu to be a Portlet
UPDATE AD_Field SET SeqNo=140,IsDisplayed='Y' WHERE AD_Field_ID=1000009
;
-- Aug 3, 2012 10:42:17 AM SGT
-- Move the Menu to be a Portlet
UPDATE AD_Field SET SeqNo=150,IsDisplayed='Y' WHERE AD_Field_ID=1000001
;
-- Aug 3, 2012 10:42:17 AM SGT
-- Move the Menu to be a Portlet
UPDATE AD_Field SET SeqNo=160,IsDisplayed='Y' WHERE AD_Field_ID=1000003
;
-- Aug 3, 2012 10:42:17 AM SGT
-- Move the Menu to be a Portlet
UPDATE AD_Field SET SeqNo=170,IsDisplayed='Y' WHERE AD_Field_ID=1000002
;
-- Aug 3, 2012 10:42:17 AM SGT
-- Move the Menu to be a Portlet
UPDATE AD_Field SET SeqNo=180,IsDisplayed='Y' WHERE AD_Field_ID=1000004
;
-- Aug 3, 2012 10:42:41 AM SGT
-- Move the Menu to be a Portlet
UPDATE AD_Field SET IsSameLine='Y',Updated=TO_DATE('2012-08-03 10:42:41','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=1000009
;
-- Aug 3, 2012 2:49:53 PM SGT
-- Move the Menu to be a Portlet
INSERT INTO PA_DashboardContent (Line,PA_DashboardContent_ID,ZulFilePath,ColumnNo,IsCollapsible,GoalDisplay,Description,Name,AD_Org_ID,Created,CreatedBy,Updated,AD_Client_ID,UpdatedBy,IsActive,PA_DashboardContent_UU,IsShowInDashboard,IsEmbedReportContent,IsCollapsedByDefault) VALUES (0,1000006,'/zul/menuTree.zul',0,'Y','T','Menu','Menu',0,TO_DATE('2012-08-03 14:49:53','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2012-08-03 14:49:53','YYYY-MM-DD HH24:MI:SS'),0,100,'Y','a0c98b7a-56d5-44d5-850b-d969a5abb65f','N','N','N')
;
-- Aug 3, 2012 2:49:53 PM SGT
-- Move the Menu to be a Portlet
INSERT INTO PA_DashboardContent_Trl (AD_Language,PA_DashboardContent_ID, Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy ) SELECT l.AD_Language,t.PA_DashboardContent_ID, t.Description,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, PA_DashboardContent t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.PA_DashboardContent_ID=1000006 AND NOT EXISTS (SELECT * FROM PA_DashboardContent_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.PA_DashboardContent_ID=t.PA_DashboardContent_ID)
;

View File

@ -0,0 +1,359 @@
-- Jul 30, 2012 5:47:12 PM SGT
-- Move the Menu to be a Portlet
INSERT INTO AD_Element (ColumnName,AD_Element_ID,EntityType,Name,Description,PrintName,AD_Element_UU,AD_Client_ID,Created,Updated,AD_Org_ID,CreatedBy,UpdatedBy,IsActive) VALUES ('IsShowInDashboard',1000000,'U','Show in Dashboard','Show the dashlet in the dashboard','Show in Dashboard','7d368f1f-8e8c-41d6-b427-abd9b4853d8f',0,TO_TIMESTAMP('2012-07-30 17:47:12','YYYY-MM-DD HH24:MI:SS'),TO_TIMESTAMP('2012-07-30 17:47:12','YYYY-MM-DD HH24:MI:SS'),0,100,100,'Y')
;
-- Jul 30, 2012 5:47:12 PM SGT
-- Move the Menu to be a Portlet
INSERT INTO AD_Element_Trl (AD_Language,AD_Element_ID, Help,PO_Description,PO_Help,Name,Description,PrintName,PO_Name,PO_PrintName, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy ) SELECT l.AD_Language,t.AD_Element_ID, t.Help,t.PO_Description,t.PO_Help,t.Name,t.Description,t.PrintName,t.PO_Name,t.PO_PrintName, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, AD_Element t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Element_ID=1000000 AND NOT EXISTS (SELECT * FROM AD_Element_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Element_ID=t.AD_Element_ID)
;
-- Jul 30, 2012 5:47:33 PM SGT
-- Move the Menu to be a Portlet
INSERT INTO AD_Column (Version,AD_Table_ID,AD_Column_ID,EntityType,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsSyncDatabase,IsKey,AD_Element_ID,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsEncrypted,IsUpdateable,IsAlwaysUpdateable,ColumnName,Description,DefaultValue,Name,IsAllowCopy,CreatedBy,Updated,AD_Org_ID,IsActive,Created,UpdatedBy,AD_Client_ID) VALUES (0,50010,1000000,'U','Y','N','N',0,'N',1,'N',20,'N','N',1000000,'N','Y','d8dc950e-ddf5-4846-9cba-d7924dd08ece','N','Y','N','IsShowInDashboard','Show the dashlet in the dashboard','''Y''','Show in Dashboard','Y',100,TO_TIMESTAMP('2012-07-30 17:47:33','YYYY-MM-DD HH24:MI:SS'),0,'Y',TO_TIMESTAMP('2012-07-30 17:47:33','YYYY-MM-DD HH24:MI:SS'),100,0)
;
-- Jul 30, 2012 5:47:33 PM SGT
-- Move the Menu to be a Portlet
INSERT INTO AD_Column_Trl (AD_Language,AD_Column_ID, Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy ) SELECT l.AD_Language,t.AD_Column_ID, t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, AD_Column t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Column_ID=1000000 AND NOT EXISTS (SELECT * FROM AD_Column_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Column_ID=t.AD_Column_ID)
;
-- Jul 30, 2012 5:47:39 PM SGT
-- Move the Menu to be a Portlet
ALTER TABLE PA_DashboardContent ADD COLUMN IsShowInDashboard CHAR(1) DEFAULT 'Y' CHECK (IsShowInDashboard IN ('Y','N')) NOT NULL
;
-- Jul 30, 2012 5:48:10 PM SGT
-- Move the Menu to be a Portlet
INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,EntityType,Name,IsDisplayed,IsFieldOnly,AD_Field_UU,UpdatedBy,AD_Org_ID,Created,AD_Client_ID,CreatedBy,Updated,IsActive) VALUES ('N',50010,36,'N','N',60964,'Y',1000000,'N','D','PA_DashboardContent_UU','Y','N','fa330423-848e-4f6e-b94b-ca502f03c228',100,0,TO_TIMESTAMP('2012-07-30 17:48:10','YYYY-MM-DD HH24:MI:SS'),0,100,TO_TIMESTAMP('2012-07-30 17:48:10','YYYY-MM-DD HH24:MI:SS'),'Y')
;
-- Jul 30, 2012 5:48:10 PM SGT
-- Move the Menu to be a Portlet
INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, AD_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=1000000 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID)
;
-- Jul 30, 2012 5:48:10 PM SGT
-- Move the Menu to be a Portlet
INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,EntityType,Description,Name,IsDisplayed,IsFieldOnly,AD_Field_UU,UpdatedBy,AD_Org_ID,Created,AD_Client_ID,CreatedBy,Updated,IsActive) VALUES ('N',50010,1,'N','N',1000000,'Y',1000001,'N','U','Show the dashlet in the dashboard','Show in Dashboard','Y','N','ced4be5c-cd78-44d4-8f84-561ceec749ce',100,0,TO_TIMESTAMP('2012-07-30 17:48:10','YYYY-MM-DD HH24:MI:SS'),0,100,TO_TIMESTAMP('2012-07-30 17:48:10','YYYY-MM-DD HH24:MI:SS'),'Y')
;
-- Jul 30, 2012 5:48:10 PM SGT
-- Move the Menu to be a Portlet
INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, AD_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=1000001 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID)
;
-- Jul 30, 2012 5:48:21 PM SGT
-- Move the Menu to be a Portlet
UPDATE AD_Field SET SeqNo=0,IsDisplayed='N' WHERE AD_Field_ID=1000000
;
-- Jul 30, 2012 5:48:21 PM SGT
-- Move the Menu to be a Portlet
UPDATE AD_Field SET SeqNo=130,IsDisplayed='Y' WHERE AD_Field_ID=56504
;
-- Jul 30, 2012 5:48:21 PM SGT
-- Move the Menu to be a Portlet
UPDATE AD_Field SET SeqNo=140,IsDisplayed='Y' WHERE AD_Field_ID=1000001
;
-- Aug 2, 2012 10:50:25 AM SGT
-- Move the Menu to be a Portlet
INSERT INTO AD_Column (Version,AD_Table_ID,AD_Column_ID,EntityType,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsSyncDatabase,IsKey,AD_Element_ID,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsEncrypted,IsUpdateable,IsAlwaysUpdateable,ColumnName,Description,Help,Name,IsAllowCopy,CreatedBy,Updated,AD_Org_ID,IsActive,Created,UpdatedBy,AD_Client_ID) VALUES (0,50010,1000001,'U','N','N','N',0,'N',10,'N',19,'N','N',117,'N','Y','b65e85c5-494a-450d-a495-d81612e63cd6','N','Y','N','AD_Process_ID','Process or Report','The Process field identifies a unique Process or Report in the system.','Process','Y',100,TO_TIMESTAMP('2012-08-02 10:50:25','YYYY-MM-DD HH24:MI:SS'),0,'Y',TO_TIMESTAMP('2012-08-02 10:50:25','YYYY-MM-DD HH24:MI:SS'),100,0)
;
-- Aug 2, 2012 10:50:25 AM SGT
-- Move the Menu to be a Portlet
INSERT INTO AD_Column_Trl (AD_Language,AD_Column_ID, Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy ) SELECT l.AD_Language,t.AD_Column_ID, t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, AD_Column t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Column_ID=1000001 AND NOT EXISTS (SELECT * FROM AD_Column_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Column_ID=t.AD_Column_ID)
;
-- Aug 2, 2012 10:50:42 AM SGT
-- Move the Menu to be a Portlet
ALTER TABLE PA_DashboardContent ADD COLUMN AD_Process_ID NUMERIC(10) DEFAULT NULL
;
-- Aug 2, 2012 10:51:45 AM SGT
-- Move the Menu to be a Portlet
INSERT INTO AD_Element (ColumnName,AD_Element_ID,EntityType,Name,Description,PrintName,AD_Element_UU,AD_Client_ID,Created,Updated,AD_Org_ID,CreatedBy,UpdatedBy,IsActive) VALUES ('IsEmbedReportContent',1000001,'U','Embed Report Content','Embed report content into dashboard','Embed Report Content','9b2c09ce-ffbd-49db-bdcf-922fa14c89d7',0,TO_TIMESTAMP('2012-08-02 10:51:45','YYYY-MM-DD HH24:MI:SS'),TO_TIMESTAMP('2012-08-02 10:51:45','YYYY-MM-DD HH24:MI:SS'),0,100,100,'Y')
;
-- Aug 2, 2012 10:51:46 AM SGT
-- Move the Menu to be a Portlet
INSERT INTO AD_Element_Trl (AD_Language,AD_Element_ID, Help,PO_Description,PO_Help,Name,Description,PrintName,PO_Name,PO_PrintName, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy ) SELECT l.AD_Language,t.AD_Element_ID, t.Help,t.PO_Description,t.PO_Help,t.Name,t.Description,t.PrintName,t.PO_Name,t.PO_PrintName, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, AD_Element t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Element_ID=1000001 AND NOT EXISTS (SELECT * FROM AD_Element_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Element_ID=t.AD_Element_ID)
;
-- Aug 2, 2012 10:52:37 AM SGT
-- Move the Menu to be a Portlet
INSERT INTO AD_Column (Version,AD_Table_ID,AD_Column_ID,EntityType,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsSyncDatabase,IsKey,AD_Element_ID,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsEncrypted,IsUpdateable,IsAlwaysUpdateable,ColumnName,Description,DefaultValue,Name,IsAllowCopy,CreatedBy,Updated,AD_Org_ID,IsActive,Created,UpdatedBy,AD_Client_ID) VALUES (0,50010,1000002,'U','Y','N','N',0,'N',1,'N',20,'N','N',1000001,'N','Y','00f77d84-8488-45ae-b2c4-5560df00a01f','N','Y','N','IsEmbedReportContent','Embed report content into dashboard','N','Embed Report Content','Y',100,TO_TIMESTAMP('2012-08-02 10:52:37','YYYY-MM-DD HH24:MI:SS'),0,'Y',TO_TIMESTAMP('2012-08-02 10:52:37','YYYY-MM-DD HH24:MI:SS'),100,0)
;
-- Aug 2, 2012 10:52:37 AM SGT
-- Move the Menu to be a Portlet
INSERT INTO AD_Column_Trl (AD_Language,AD_Column_ID, Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy ) SELECT l.AD_Language,t.AD_Column_ID, t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, AD_Column t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Column_ID=1000002 AND NOT EXISTS (SELECT * FROM AD_Column_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Column_ID=t.AD_Column_ID)
;
-- Aug 2, 2012 10:52:41 AM SGT
-- Move the Menu to be a Portlet
ALTER TABLE PA_DashboardContent ADD COLUMN IsEmbedReportContent CHAR(1) DEFAULT 'N' CHECK (IsEmbedReportContent IN ('Y','N')) NOT NULL
;
-- Aug 2, 2012 10:53:50 AM SGT
-- Move the Menu to be a Portlet
INSERT INTO AD_Element (ColumnName,AD_Element_ID,Help,EntityType,Name,Description,PrintName,AD_Element_UU,AD_Client_ID,Created,Updated,AD_Org_ID,CreatedBy,UpdatedBy,IsActive) VALUES ('ProcessParameters',1000002,'A list of name value pair process parameter separated by comma','U','Process Parameters','Comma separated process parameter list','Process Parameters','ce4fe485-2380-42b6-9e42-62a6ddaadb92',0,TO_TIMESTAMP('2012-08-02 10:53:50','YYYY-MM-DD HH24:MI:SS'),TO_TIMESTAMP('2012-08-02 10:53:50','YYYY-MM-DD HH24:MI:SS'),0,100,100,'Y')
;
-- Aug 2, 2012 10:53:50 AM SGT
-- Move the Menu to be a Portlet
INSERT INTO AD_Element_Trl (AD_Language,AD_Element_ID, Help,PO_Description,PO_Help,Name,Description,PrintName,PO_Name,PO_PrintName, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy ) SELECT l.AD_Language,t.AD_Element_ID, t.Help,t.PO_Description,t.PO_Help,t.Name,t.Description,t.PrintName,t.PO_Name,t.PO_PrintName, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, AD_Element t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Element_ID=1000002 AND NOT EXISTS (SELECT * FROM AD_Element_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Element_ID=t.AD_Element_ID)
;
-- Aug 2, 2012 10:54:33 AM SGT
-- Move the Menu to be a Portlet
INSERT INTO AD_Column (Version,AD_Table_ID,AD_Column_ID,EntityType,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsSyncDatabase,IsKey,AD_Element_ID,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsEncrypted,IsUpdateable,IsAlwaysUpdateable,ColumnName,Description,Help,Name,IsAllowCopy,CreatedBy,Updated,AD_Org_ID,IsActive,Created,UpdatedBy,AD_Client_ID) VALUES (0,50010,1000003,'U','N','N','N',0,'N',2000,'N',10,'N','N',1000002,'N','Y','07242c07-416a-4dec-8f0c-dab19d271d6d','N','Y','N','ProcessParameters','Comma separated process parameter list','A list of name value pair process parameter separated by comma','Process Parameters','Y',100,TO_TIMESTAMP('2012-08-02 10:54:33','YYYY-MM-DD HH24:MI:SS'),0,'Y',TO_TIMESTAMP('2012-08-02 10:54:33','YYYY-MM-DD HH24:MI:SS'),100,0)
;
-- Aug 2, 2012 10:54:33 AM SGT
-- Move the Menu to be a Portlet
INSERT INTO AD_Column_Trl (AD_Language,AD_Column_ID, Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy ) SELECT l.AD_Language,t.AD_Column_ID, t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, AD_Column t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Column_ID=1000003 AND NOT EXISTS (SELECT * FROM AD_Column_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Column_ID=t.AD_Column_ID)
;
-- Aug 2, 2012 10:54:37 AM SGT
-- Move the Menu to be a Portlet
ALTER TABLE PA_DashboardContent ADD COLUMN ProcessParameters VARCHAR(2000) DEFAULT NULL
;
-- Aug 2, 2012 10:55:12 AM SGT
-- Move the Menu to be a Portlet
INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,EntityType,Description,Name,IsDisplayed,IsFieldOnly,AD_Field_UU,UpdatedBy,AD_Org_ID,Created,AD_Client_ID,CreatedBy,Updated,IsActive) VALUES ('N',50010,1,'N','N',1000002,'Y',1000002,'N','U','Embed report content into dashboard','Embed Report Content','Y','N','c89622f5-06a4-4b36-8f4c-81b8f0487b21',100,0,TO_TIMESTAMP('2012-08-02 10:55:12','YYYY-MM-DD HH24:MI:SS'),0,100,TO_TIMESTAMP('2012-08-02 10:55:12','YYYY-MM-DD HH24:MI:SS'),'Y')
;
-- Aug 2, 2012 10:55:12 AM SGT
-- Move the Menu to be a Portlet
INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, AD_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=1000002 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID)
;
-- Aug 2, 2012 10:55:12 AM SGT
-- Move the Menu to be a Portlet
INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,EntityType,Description,Name,IsDisplayed,IsFieldOnly,AD_Field_UU,UpdatedBy,AD_Org_ID,Created,AD_Client_ID,CreatedBy,Updated,IsActive) VALUES ('N',50010,10,'N','N',1000001,'Y',1000003,'N','The Process field identifies a unique Process or Report in the system.','U','Process or Report','Process','Y','N','58a3f72c-fff4-4209-8625-9b63d3e5f9be',100,0,TO_TIMESTAMP('2012-08-02 10:55:12','YYYY-MM-DD HH24:MI:SS'),0,100,TO_TIMESTAMP('2012-08-02 10:55:12','YYYY-MM-DD HH24:MI:SS'),'Y')
;
-- Aug 2, 2012 10:55:12 AM SGT
-- Move the Menu to be a Portlet
INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, AD_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=1000003 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID)
;
-- Aug 2, 2012 10:55:12 AM SGT
-- Move the Menu to be a Portlet
INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,EntityType,Description,Name,IsDisplayed,IsFieldOnly,AD_Field_UU,UpdatedBy,AD_Org_ID,Created,AD_Client_ID,CreatedBy,Updated,IsActive) VALUES ('N',50010,2000,'N','N',1000003,'Y',1000004,'N','A list of name value pair process parameter separated by comma','U','Comma separated process parameter list','Process Parameters','Y','N','7baae861-ad87-44ec-b2d0-5c0c7e9b0f87',100,0,TO_TIMESTAMP('2012-08-02 10:55:12','YYYY-MM-DD HH24:MI:SS'),0,100,TO_TIMESTAMP('2012-08-02 10:55:12','YYYY-MM-DD HH24:MI:SS'),'Y')
;
-- Aug 2, 2012 10:55:12 AM SGT
-- Move the Menu to be a Portlet
INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, AD_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=1000004 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID)
;
-- Aug 2, 2012 10:55:35 AM SGT
-- Move the Menu to be a Portlet
UPDATE AD_Field SET SeqNo=150,IsDisplayed='Y' WHERE AD_Field_ID=1000003
;
-- Aug 2, 2012 10:55:35 AM SGT
-- Move the Menu to be a Portlet
UPDATE AD_Field SET SeqNo=160,IsDisplayed='Y' WHERE AD_Field_ID=1000002
;
-- Aug 2, 2012 10:55:35 AM SGT
-- Move the Menu to be a Portlet
UPDATE AD_Field SET SeqNo=170,IsDisplayed='Y' WHERE AD_Field_ID=1000004
;
-- Aug 2, 2012 10:56:20 AM SGT
-- Move the Menu to be a Portlet
UPDATE AD_Field SET IsSameLine='Y', DefaultValue='@AD_Process_ID@!0',Updated=TO_TIMESTAMP('2012-08-02 10:56:20','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=1000002
;
-- Aug 2, 2012 10:56:57 AM SGT
-- Move the Menu to be a Portlet
UPDATE AD_Field SET DefaultValue='@AD_Process_ID@!0&@IsEmbedReportContent@=''Y''',Updated=TO_TIMESTAMP('2012-08-02 10:56:57','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=1000004
;
-- Aug 2, 2012 4:58:46 PM SGT
-- Move the Menu to be a Portlet
INSERT INTO AD_Element (ColumnName,AD_Element_ID,EntityType,Name,Description,PrintName,AD_Element_UU,AD_Client_ID,Created,Updated,AD_Org_ID,CreatedBy,UpdatedBy,IsActive) VALUES ('HeaderColor',1000003,'U','Header Color','Header color of calendar dashlet','Header Color','5eb8a795-bb75-4ab6-8e60-4b780e80b7bd',0,TO_TIMESTAMP('2012-08-02 16:58:45','YYYY-MM-DD HH24:MI:SS'),TO_TIMESTAMP('2012-08-02 16:58:45','YYYY-MM-DD HH24:MI:SS'),0,100,100,'Y')
;
-- Aug 2, 2012 4:58:46 PM SGT
-- Move the Menu to be a Portlet
INSERT INTO AD_Element_Trl (AD_Language,AD_Element_ID, Help,PO_Description,PO_Help,Name,Description,PrintName,PO_Name,PO_PrintName, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy ) SELECT l.AD_Language,t.AD_Element_ID, t.Help,t.PO_Description,t.PO_Help,t.Name,t.Description,t.PrintName,t.PO_Name,t.PO_PrintName, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, AD_Element t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Element_ID=1000003 AND NOT EXISTS (SELECT * FROM AD_Element_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Element_ID=t.AD_Element_ID)
;
-- Aug 2, 2012 4:59:03 PM SGT
-- Move the Menu to be a Portlet
INSERT INTO AD_Column (Version,AD_Table_ID,AD_Column_ID,EntityType,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsSyncDatabase,IsKey,AD_Element_ID,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsEncrypted,IsUpdateable,IsAlwaysUpdateable,ColumnName,Description,Name,IsAllowCopy,CreatedBy,Updated,AD_Org_ID,IsActive,Created,UpdatedBy,AD_Client_ID) VALUES (0,529,1000004,'U','N','N','N',0,'N',7,'N',10,'N','N',1000003,'N','Y','2da3cc0f-9db0-404f-ad1a-c306d6f65a9c','N','Y','N','HeaderColor','Header color of calendar dashlet','Header Color','Y',100,TO_TIMESTAMP('2012-08-02 16:59:03','YYYY-MM-DD HH24:MI:SS'),0,'Y',TO_TIMESTAMP('2012-08-02 16:59:03','YYYY-MM-DD HH24:MI:SS'),100,0)
;
-- Aug 2, 2012 4:59:03 PM SGT
-- Move the Menu to be a Portlet
INSERT INTO AD_Column_Trl (AD_Language,AD_Column_ID, Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy ) SELECT l.AD_Language,t.AD_Column_ID, t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, AD_Column t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Column_ID=1000004 AND NOT EXISTS (SELECT * FROM AD_Column_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Column_ID=t.AD_Column_ID)
;
-- Aug 2, 2012 4:59:14 PM SGT
-- Move the Menu to be a Portlet
ALTER TABLE R_RequestType ADD COLUMN HeaderColor VARCHAR(7) DEFAULT NULL
;
-- Aug 2, 2012 4:59:45 PM SGT
-- Move the Menu to be a Portlet
INSERT INTO AD_Element (ColumnName,AD_Element_ID,EntityType,Name,Description,PrintName,AD_Element_UU,AD_Client_ID,Created,Updated,AD_Org_ID,CreatedBy,UpdatedBy,IsActive) VALUES ('ContentColor',1000004,'U','Content Color','Content color of calendar dashlet','Content Color','b94231dd-8bda-46e3-8e5d-2b6753150549',0,TO_TIMESTAMP('2012-08-02 16:59:45','YYYY-MM-DD HH24:MI:SS'),TO_TIMESTAMP('2012-08-02 16:59:45','YYYY-MM-DD HH24:MI:SS'),0,100,100,'Y')
;
-- Aug 2, 2012 4:59:45 PM SGT
-- Move the Menu to be a Portlet
INSERT INTO AD_Element_Trl (AD_Language,AD_Element_ID, Help,PO_Description,PO_Help,Name,Description,PrintName,PO_Name,PO_PrintName, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy ) SELECT l.AD_Language,t.AD_Element_ID, t.Help,t.PO_Description,t.PO_Help,t.Name,t.Description,t.PrintName,t.PO_Name,t.PO_PrintName, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, AD_Element t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Element_ID=1000004 AND NOT EXISTS (SELECT * FROM AD_Element_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Element_ID=t.AD_Element_ID)
;
-- Aug 2, 2012 5:00:05 PM SGT
-- Move the Menu to be a Portlet
INSERT INTO AD_Column (Version,AD_Table_ID,AD_Column_ID,EntityType,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsSyncDatabase,IsKey,AD_Element_ID,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsEncrypted,IsUpdateable,IsAlwaysUpdateable,ColumnName,Description,Name,IsAllowCopy,CreatedBy,Updated,AD_Org_ID,IsActive,Created,UpdatedBy,AD_Client_ID) VALUES (0,529,1000005,'U','N','N','N',0,'N',7,'N',10,'N','N',1000004,'N','Y','63b8d845-33b8-4632-bbd8-b6caeee09c66','N','Y','N','ContentColor','Content color of calendar dashlet','Content Color','Y',100,TO_TIMESTAMP('2012-08-02 17:00:05','YYYY-MM-DD HH24:MI:SS'),0,'Y',TO_TIMESTAMP('2012-08-02 17:00:05','YYYY-MM-DD HH24:MI:SS'),100,0)
;
-- Aug 2, 2012 5:00:05 PM SGT
-- Move the Menu to be a Portlet
INSERT INTO AD_Column_Trl (AD_Language,AD_Column_ID, Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy ) SELECT l.AD_Language,t.AD_Column_ID, t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, AD_Column t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Column_ID=1000005 AND NOT EXISTS (SELECT * FROM AD_Column_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Column_ID=t.AD_Column_ID)
;
-- Aug 2, 2012 5:00:09 PM SGT
-- Move the Menu to be a Portlet
ALTER TABLE R_RequestType ADD COLUMN ContentColor VARCHAR(7) DEFAULT NULL
;
-- Aug 2, 2012 5:00:26 PM SGT
-- Move the Menu to be a Portlet
INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,EntityType,Description,Name,IsDisplayed,IsFieldOnly,AD_Field_UU,UpdatedBy,AD_Org_ID,Created,AD_Client_ID,CreatedBy,Updated,IsActive) VALUES ('N',437,7,'N','N',1000005,'Y',1000005,'N','U','Content color of calendar dashlet','Content Color','Y','N','fcf10a9f-a004-43d4-84a3-13c93590918e',100,0,TO_TIMESTAMP('2012-08-02 17:00:26','YYYY-MM-DD HH24:MI:SS'),0,100,TO_TIMESTAMP('2012-08-02 17:00:26','YYYY-MM-DD HH24:MI:SS'),'Y')
;
-- Aug 2, 2012 5:00:26 PM SGT
-- Move the Menu to be a Portlet
INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, AD_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=1000005 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID)
;
-- Aug 2, 2012 5:00:26 PM SGT
-- Move the Menu to be a Portlet
INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,EntityType,Description,Name,IsDisplayed,IsFieldOnly,AD_Field_UU,UpdatedBy,AD_Org_ID,Created,AD_Client_ID,CreatedBy,Updated,IsActive) VALUES ('N',437,7,'N','N',1000004,'Y',1000006,'N','U','Header color of calendar dashlet','Header Color','Y','N','fd8cca24-1b80-4cfe-84fa-7826757b60f4',100,0,TO_TIMESTAMP('2012-08-02 17:00:26','YYYY-MM-DD HH24:MI:SS'),0,100,TO_TIMESTAMP('2012-08-02 17:00:26','YYYY-MM-DD HH24:MI:SS'),'Y')
;
-- Aug 2, 2012 5:00:26 PM SGT
-- Move the Menu to be a Portlet
INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, AD_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=1000006 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID)
;
-- Aug 2, 2012 5:00:26 PM SGT
-- Move the Menu to be a Portlet
INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,EntityType,Description,Name,IsDisplayed,IsFieldOnly,AD_Field_UU,UpdatedBy,AD_Org_ID,Created,AD_Client_ID,CreatedBy,Updated,IsActive) VALUES ('N',437,1,'N','N',15805,'Y',1000007,'N','For cross document search, the document can be indexed for faster search (Container, Document Type, Request Type)','D','Index the document for the internal search engine','Indexed','Y','N','6b54a3cb-2e86-407c-88d4-3f64ceea240b',100,0,TO_TIMESTAMP('2012-08-02 17:00:26','YYYY-MM-DD HH24:MI:SS'),0,100,TO_TIMESTAMP('2012-08-02 17:00:26','YYYY-MM-DD HH24:MI:SS'),'Y')
;
-- Aug 2, 2012 5:00:26 PM SGT
-- Move the Menu to be a Portlet
INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, AD_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=1000007 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID)
;
-- Aug 2, 2012 5:00:26 PM SGT
-- Move the Menu to be a Portlet
INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,EntityType,Name,IsDisplayed,IsFieldOnly,AD_Field_UU,UpdatedBy,AD_Org_ID,Created,AD_Client_ID,CreatedBy,Updated,IsActive) VALUES ('N',437,36,'N','N',61027,'Y',1000008,'N','D','R_RequestType_UU','Y','N','f75af72f-116c-4780-b38b-323cf5dd9428',100,0,TO_TIMESTAMP('2012-08-02 17:00:26','YYYY-MM-DD HH24:MI:SS'),0,100,TO_TIMESTAMP('2012-08-02 17:00:26','YYYY-MM-DD HH24:MI:SS'),'Y')
;
-- Aug 2, 2012 5:00:26 PM SGT
-- Move the Menu to be a Portlet
INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, AD_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=1000008 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID)
;
-- Aug 2, 2012 5:00:38 PM SGT
-- Move the Menu to be a Portlet
UPDATE AD_Field SET SeqNo=0,IsDisplayed='N' WHERE AD_Field_ID=1000007
;
-- Aug 2, 2012 5:00:38 PM SGT
-- Move the Menu to be a Portlet
UPDATE AD_Field SET SeqNo=0,IsDisplayed='N' WHERE AD_Field_ID=1000008
;
-- Aug 2, 2012 5:00:38 PM SGT
-- Move the Menu to be a Portlet
UPDATE AD_Field SET SeqNo=170,IsDisplayed='Y' WHERE AD_Field_ID=1000006
;
-- Aug 2, 2012 5:00:38 PM SGT
-- Move the Menu to be a Portlet
UPDATE AD_Field SET SeqNo=180,IsDisplayed='Y' WHERE AD_Field_ID=1000005
;
-- Aug 2, 2012 5:00:49 PM SGT
-- Move the Menu to be a Portlet
UPDATE AD_Field SET IsSameLine='Y',Updated=TO_TIMESTAMP('2012-08-02 17:00:49','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=1000005
;
-- Aug 3, 2012 10:41:17 AM SGT
-- Move the Menu to be a Portlet
INSERT INTO AD_Column (Version,AD_Table_ID,AD_Column_ID,EntityType,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsSyncDatabase,IsKey,AD_Element_ID,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsEncrypted,IsUpdateable,IsAlwaysUpdateable,ColumnName,Description,DefaultValue,Name,IsAllowCopy,CreatedBy,Updated,AD_Org_ID,IsActive,Created,UpdatedBy,AD_Client_ID) VALUES (0,50010,1000006,'U','Y','N','N',0,'N',1,'N',20,'N','N',53336,'N','Y','944e6718-0fe6-4d11-a874-d84987523f63','N','Y','N','IsCollapsedByDefault','Flag to set the initial state of collapsible field group.','N','Collapsed By Default','Y',100,TO_TIMESTAMP('2012-08-03 10:41:17','YYYY-MM-DD HH24:MI:SS'),0,'Y',TO_TIMESTAMP('2012-08-03 10:41:17','YYYY-MM-DD HH24:MI:SS'),100,0)
;
-- Aug 3, 2012 10:41:17 AM SGT
-- Move the Menu to be a Portlet
INSERT INTO AD_Column_Trl (AD_Language,AD_Column_ID, Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy ) SELECT l.AD_Language,t.AD_Column_ID, t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, AD_Column t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Column_ID=1000006 AND NOT EXISTS (SELECT * FROM AD_Column_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Column_ID=t.AD_Column_ID)
;
-- Aug 3, 2012 10:41:25 AM SGT
-- Move the Menu to be a Portlet
ALTER TABLE PA_DashboardContent ADD COLUMN IsCollapsedByDefault CHAR(1) DEFAULT 'N' CHECK (IsCollapsedByDefault IN ('Y','N')) NOT NULL
;
-- Aug 3, 2012 10:42:03 AM SGT
-- Move the Menu to be a Portlet
INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,EntityType,Description,Name,IsDisplayed,IsFieldOnly,AD_Field_UU,UpdatedBy,AD_Org_ID,Created,AD_Client_ID,CreatedBy,Updated,IsActive) VALUES ('N',50010,1,'N','N',1000006,'Y',1000009,'N','U','Flag to set the initial state of collapsible field group.','Collapsed By Default','Y','N','1953b83a-94b5-4fd7-98b8-d8b4d7b9e718',100,0,TO_TIMESTAMP('2012-08-03 10:42:02','YYYY-MM-DD HH24:MI:SS'),0,100,TO_TIMESTAMP('2012-08-03 10:42:02','YYYY-MM-DD HH24:MI:SS'),'Y')
;
-- Aug 3, 2012 10:42:03 AM SGT
-- Move the Menu to be a Portlet
INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, AD_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=1000009 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID)
;
-- Aug 3, 2012 10:42:17 AM SGT
-- Move the Menu to be a Portlet
UPDATE AD_Field SET SeqNo=140,IsDisplayed='Y' WHERE AD_Field_ID=1000009
;
-- Aug 3, 2012 10:42:17 AM SGT
-- Move the Menu to be a Portlet
UPDATE AD_Field SET SeqNo=150,IsDisplayed='Y' WHERE AD_Field_ID=1000001
;
-- Aug 3, 2012 10:42:17 AM SGT
-- Move the Menu to be a Portlet
UPDATE AD_Field SET SeqNo=160,IsDisplayed='Y' WHERE AD_Field_ID=1000003
;
-- Aug 3, 2012 10:42:17 AM SGT
-- Move the Menu to be a Portlet
UPDATE AD_Field SET SeqNo=170,IsDisplayed='Y' WHERE AD_Field_ID=1000002
;
-- Aug 3, 2012 10:42:17 AM SGT
-- Move the Menu to be a Portlet
UPDATE AD_Field SET SeqNo=180,IsDisplayed='Y' WHERE AD_Field_ID=1000004
;
-- Aug 3, 2012 10:42:41 AM SGT
-- Move the Menu to be a Portlet
UPDATE AD_Field SET IsSameLine='Y',Updated=TO_TIMESTAMP('2012-08-03 10:42:41','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=1000009
;
-- Aug 3, 2012 2:49:53 PM SGT
-- Move the Menu to be a Portlet
INSERT INTO PA_DashboardContent (Line,PA_DashboardContent_ID,ZulFilePath,ColumnNo,IsCollapsible,GoalDisplay,Description,Name,AD_Org_ID,Created,CreatedBy,Updated,AD_Client_ID,UpdatedBy,IsActive,PA_DashboardContent_UU,IsShowInDashboard,IsEmbedReportContent,IsCollapsedByDefault) VALUES (0,1000006,'/zul/menuTree.zul',0,'Y','T','Menu','Menu',0,TO_TIMESTAMP('2012-08-03 14:49:53','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2012-08-03 14:49:53','YYYY-MM-DD HH24:MI:SS'),0,100,'Y','a0c98b7a-56d5-44d5-850b-d969a5abb65f','N','N','N')
;
-- Aug 3, 2012 2:49:53 PM SGT
-- Move the Menu to be a Portlet
INSERT INTO PA_DashboardContent_Trl (AD_Language,PA_DashboardContent_ID, Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy ) SELECT l.AD_Language,t.PA_DashboardContent_ID, t.Description,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, PA_DashboardContent t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.PA_DashboardContent_ID=1000006 AND NOT EXISTS (SELECT * FROM PA_DashboardContent_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.PA_DashboardContent_ID=t.PA_DashboardContent_ID)
;

View File

@ -62,6 +62,21 @@ public interface I_PA_DashboardContent
*/
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_Window_ID */
public static final String COLUMNNAME_AD_Window_ID = "AD_Window_ID";
@ -75,7 +90,7 @@ public interface I_PA_DashboardContent
*/
public int getAD_Window_ID();
public I_AD_Window getAD_Window() throws RuntimeException;
public org.compiere.model.I_AD_Window getAD_Window() throws RuntimeException;
/** Column name ColumnNo */
public static final String COLUMNNAME_ColumnNo = "ColumnNo";
@ -154,6 +169,19 @@ public interface I_PA_DashboardContent
*/
public boolean isActive();
/** Column name IsCollapsedByDefault */
public static final String COLUMNNAME_IsCollapsedByDefault = "IsCollapsedByDefault";
/** Set Collapsed By Default.
* Flag to set the initial state of collapsible field group.
*/
public void setIsCollapsedByDefault (boolean IsCollapsedByDefault);
/** Get Collapsed By Default.
* Flag to set the initial state of collapsible field group.
*/
public boolean isCollapsedByDefault();
/** Column name IsCollapsible */
public static final String COLUMNNAME_IsCollapsible = "IsCollapsible";
@ -167,6 +195,32 @@ public interface I_PA_DashboardContent
*/
public boolean isCollapsible();
/** Column name IsEmbedReportContent */
public static final String COLUMNNAME_IsEmbedReportContent = "IsEmbedReportContent";
/** Set Embed Report Content.
* Embed report content into dashboard
*/
public void setIsEmbedReportContent (boolean IsEmbedReportContent);
/** Get Embed Report Content.
* Embed report content into dashboard
*/
public boolean isEmbedReportContent();
/** Column name IsShowInDashboard */
public static final String COLUMNNAME_IsShowInDashboard = "IsShowInDashboard";
/** Set Show in Dashboard.
* Show the dashlet in the dashboard
*/
public void setIsShowInDashboard (boolean IsShowInDashboard);
/** Get Show in Dashboard.
* Show the dashlet in the dashboard
*/
public boolean isShowInDashboard();
/** Column name Line */
public static final String COLUMNNAME_Line = "Line";
@ -196,12 +250,21 @@ public interface I_PA_DashboardContent
/** Column name PA_DashboardContent_ID */
public static final String COLUMNNAME_PA_DashboardContent_ID = "PA_DashboardContent_ID";
/** Set PA_DashboardContent_ID */
/** Set Dashboard Content */
public void setPA_DashboardContent_ID (int PA_DashboardContent_ID);
/** Get PA_DashboardContent_ID */
/** Get Dashboard Content */
public int getPA_DashboardContent_ID();
/** Column name PA_DashboardContent_UU */
public static final String COLUMNNAME_PA_DashboardContent_UU = "PA_DashboardContent_UU";
/** Set PA_DashboardContent_UU */
public void setPA_DashboardContent_UU (String PA_DashboardContent_UU);
/** Get PA_DashboardContent_UU */
public String getPA_DashboardContent_UU();
/** Column name PA_Goal_ID */
public static final String COLUMNNAME_PA_Goal_ID = "PA_Goal_ID";
@ -215,7 +278,20 @@ public interface I_PA_DashboardContent
*/
public int getPA_Goal_ID();
public I_PA_Goal getPA_Goal() throws RuntimeException;
public org.compiere.model.I_PA_Goal getPA_Goal() throws RuntimeException;
/** Column name ProcessParameters */
public static final String COLUMNNAME_ProcessParameters = "ProcessParameters";
/** Set Process Parameters.
* Comma separated process parameter list
*/
public void setProcessParameters (String ProcessParameters);
/** Get Process Parameters.
* Comma separated process parameter list
*/
public String getProcessParameters();
/** Column name Updated */
public static final String COLUMNNAME_Updated = "Updated";

View File

@ -88,6 +88,19 @@ public interface I_R_RequestType
*/
public String getConfidentialType();
/** Column name ContentColor */
public static final String COLUMNNAME_ContentColor = "ContentColor";
/** Set Content Color.
* Content color of calendar dashlet
*/
public void setContentColor (String ContentColor);
/** Get Content Color.
* Content color of calendar dashlet
*/
public String getContentColor();
/** Column name Created */
public static final String COLUMNNAME_Created = "Created";
@ -130,6 +143,19 @@ public interface I_R_RequestType
*/
public int getDueDateTolerance();
/** Column name HeaderColor */
public static final String COLUMNNAME_HeaderColor = "HeaderColor";
/** Set Header Color.
* Header color of calendar dashlet
*/
public void setHeaderColor (String HeaderColor);
/** Get Header Color.
* Header color of calendar dashlet
*/
public String getHeaderColor();
/** Column name IsActive */
public static final String COLUMNNAME_IsActive = "IsActive";
@ -273,6 +299,15 @@ public interface I_R_RequestType
*/
public int getR_RequestType_ID();
/** Column name R_RequestType_UU */
public static final String COLUMNNAME_R_RequestType_UU = "R_RequestType_UU";
/** Set R_RequestType_UU */
public void setR_RequestType_UU (String R_RequestType_UU);
/** Get R_RequestType_UU */
public String getR_RequestType_UU();
/** Column name R_StatusCategory_ID */
public static final String COLUMNNAME_R_StatusCategory_ID = "R_StatusCategory_ID";
@ -286,7 +321,7 @@ public interface I_R_RequestType
*/
public int getR_StatusCategory_ID();
public I_R_StatusCategory getR_StatusCategory() throws RuntimeException;
public org.compiere.model.I_R_StatusCategory getR_StatusCategory() throws RuntimeException;
/** Column name Updated */
public static final String COLUMNNAME_Updated = "Updated";

View File

@ -20,22 +20,23 @@ public class MDashboardContent extends X_PA_DashboardContent
*/
private static final long serialVersionUID = 5425307033413466516L;
public static int getForSessionColumnCount()
public static int getForSessionColumnCount(boolean isShowInDashboard)
{
int noOfCols = getForSessionQuery().aggregate("DISTINCT "+COLUMNNAME_ColumnNo, Query.AGGREGATE_COUNT, Integer.class);
int noOfCols = getForSessionQuery(isShowInDashboard).aggregate("DISTINCT "+COLUMNNAME_ColumnNo, Query.AGGREGATE_COUNT, Integer.class);
return noOfCols;
}
public static MDashboardContent[] getForSession()
public static MDashboardContent[] getForSession(boolean isShowInDashboard)
{
List<MDashboardContent> list = getForSessionQuery().list();
List<MDashboardContent> list = getForSessionQuery(isShowInDashboard).list();
return list.toArray(new MDashboardContent[list.size()]);
}
public static Query getForSessionQuery()
public static Query getForSessionQuery(boolean isShowInDashboard)
{
Properties ctx = Env.getCtx();
return new Query(ctx, Table_Name, null, null)
return new Query(ctx, Table_Name, COLUMNNAME_IsShowInDashboard+"=?", null)
.setParameters(isShowInDashboard)
.setOnlyActiveRecords(true)
.setApplyAccessFilter(true, false)
.setOrderBy(COLUMNNAME_ColumnNo+","+COLUMNNAME_AD_Client_ID+","+COLUMNNAME_Line);

View File

@ -32,7 +32,7 @@ public class X_PA_DashboardContent extends PO implements I_PA_DashboardContent,
/**
*
*/
private static final long serialVersionUID = 20100614L;
private static final long serialVersionUID = 20120803L;
/** Standard Constructor */
public X_PA_DashboardContent (Properties ctx, int PA_DashboardContent_ID, String trxName)
@ -40,8 +40,14 @@ public class X_PA_DashboardContent extends PO implements I_PA_DashboardContent,
super (ctx, PA_DashboardContent_ID, trxName);
/** if (PA_DashboardContent_ID == 0)
{
setIsCollapsedByDefault (false);
// N
setIsCollapsible (true);
// Y
setIsEmbedReportContent (false);
// N
setIsShowInDashboard (true);
// 'Y'
setName (null);
setPA_DashboardContent_ID (0);
} */
@ -75,9 +81,37 @@ public class X_PA_DashboardContent extends PO implements I_PA_DashboardContent,
return sb.toString();
}
public I_AD_Window getAD_Window() throws RuntimeException
public org.compiere.model.I_AD_Process getAD_Process() throws RuntimeException
{
return (I_AD_Window)MTable.get(getCtx(), I_AD_Window.Table_Name)
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_Window getAD_Window() throws RuntimeException
{
return (org.compiere.model.I_AD_Window)MTable.get(getCtx(), org.compiere.model.I_AD_Window.Table_Name)
.getPO(getAD_Window_ID(), get_TrxName()); }
/** Set Window.
@ -178,6 +212,30 @@ public class X_PA_DashboardContent extends PO implements I_PA_DashboardContent,
return (String)get_Value(COLUMNNAME_HTML);
}
/** Set Collapsed By Default.
@param IsCollapsedByDefault
Flag to set the initial state of collapsible field group.
*/
public void setIsCollapsedByDefault (boolean IsCollapsedByDefault)
{
set_Value (COLUMNNAME_IsCollapsedByDefault, Boolean.valueOf(IsCollapsedByDefault));
}
/** Get Collapsed By Default.
@return Flag to set the initial state of collapsible field group.
*/
public boolean isCollapsedByDefault ()
{
Object oo = get_Value(COLUMNNAME_IsCollapsedByDefault);
if (oo != null)
{
if (oo instanceof Boolean)
return ((Boolean)oo).booleanValue();
return "Y".equals(oo);
}
return false;
}
/** Set Collapsible.
@param IsCollapsible
Flag to indicate the state of the dashboard panel
@ -202,6 +260,54 @@ public class X_PA_DashboardContent extends PO implements I_PA_DashboardContent,
return false;
}
/** Set Embed Report Content.
@param IsEmbedReportContent
Embed report content into dashboard
*/
public void setIsEmbedReportContent (boolean IsEmbedReportContent)
{
set_Value (COLUMNNAME_IsEmbedReportContent, Boolean.valueOf(IsEmbedReportContent));
}
/** Get Embed Report Content.
@return Embed report content into dashboard
*/
public boolean isEmbedReportContent ()
{
Object oo = get_Value(COLUMNNAME_IsEmbedReportContent);
if (oo != null)
{
if (oo instanceof Boolean)
return ((Boolean)oo).booleanValue();
return "Y".equals(oo);
}
return false;
}
/** Set Show in Dashboard.
@param IsShowInDashboard
Show the dashlet in the dashboard
*/
public void setIsShowInDashboard (boolean IsShowInDashboard)
{
set_Value (COLUMNNAME_IsShowInDashboard, Boolean.valueOf(IsShowInDashboard));
}
/** Get Show in Dashboard.
@return Show the dashlet in the dashboard
*/
public boolean isShowInDashboard ()
{
Object oo = get_Value(COLUMNNAME_IsShowInDashboard);
if (oo != null)
{
if (oo instanceof Boolean)
return ((Boolean)oo).booleanValue();
return "Y".equals(oo);
}
return false;
}
/** Set Line No.
@param Line
Unique line for this document
@ -247,8 +353,8 @@ public class X_PA_DashboardContent extends PO implements I_PA_DashboardContent,
return new KeyNamePair(get_ID(), getName());
}
/** Set PA_DashboardContent_ID.
@param PA_DashboardContent_ID PA_DashboardContent_ID */
/** Set Dashboard Content.
@param PA_DashboardContent_ID Dashboard Content */
public void setPA_DashboardContent_ID (int PA_DashboardContent_ID)
{
if (PA_DashboardContent_ID < 1)
@ -257,8 +363,8 @@ public class X_PA_DashboardContent extends PO implements I_PA_DashboardContent,
set_ValueNoCheck (COLUMNNAME_PA_DashboardContent_ID, Integer.valueOf(PA_DashboardContent_ID));
}
/** Get PA_DashboardContent_ID.
@return PA_DashboardContent_ID */
/** Get Dashboard Content.
@return Dashboard Content */
public int getPA_DashboardContent_ID ()
{
Integer ii = (Integer)get_Value(COLUMNNAME_PA_DashboardContent_ID);
@ -267,9 +373,23 @@ public class X_PA_DashboardContent extends PO implements I_PA_DashboardContent,
return ii.intValue();
}
public I_PA_Goal getPA_Goal() throws RuntimeException
/** Set PA_DashboardContent_UU.
@param PA_DashboardContent_UU PA_DashboardContent_UU */
public void setPA_DashboardContent_UU (String PA_DashboardContent_UU)
{
set_Value (COLUMNNAME_PA_DashboardContent_UU, PA_DashboardContent_UU);
}
/** Get PA_DashboardContent_UU.
@return PA_DashboardContent_UU */
public String getPA_DashboardContent_UU ()
{
return (String)get_Value(COLUMNNAME_PA_DashboardContent_UU);
}
public org.compiere.model.I_PA_Goal getPA_Goal() throws RuntimeException
{
return (I_PA_Goal)MTable.get(getCtx(), I_PA_Goal.Table_Name)
return (org.compiere.model.I_PA_Goal)MTable.get(getCtx(), org.compiere.model.I_PA_Goal.Table_Name)
.getPO(getPA_Goal_ID(), get_TrxName()); }
/** Set Goal.
@ -295,6 +415,23 @@ public class X_PA_DashboardContent extends PO implements I_PA_DashboardContent,
return ii.intValue();
}
/** Set Process Parameters.
@param ProcessParameters
Comma separated process parameter list
*/
public void setProcessParameters (String ProcessParameters)
{
set_Value (COLUMNNAME_ProcessParameters, ProcessParameters);
}
/** Get Process Parameters.
@return Comma separated process parameter list
*/
public String getProcessParameters ()
{
return (String)get_Value(COLUMNNAME_ProcessParameters);
}
/** Set ZUL File Path.
@param ZulFilePath
Absolute path to zul file

View File

@ -30,7 +30,7 @@ public class X_R_RequestType extends PO implements I_R_RequestType, I_Persistent
/**
*
*/
private static final long serialVersionUID = 20100614L;
private static final long serialVersionUID = 20120802L;
/** Standard Constructor */
public X_R_RequestType (Properties ctx, int R_RequestType_ID, String trxName)
@ -134,6 +134,23 @@ public class X_R_RequestType extends PO implements I_R_RequestType, I_Persistent
return (String)get_Value(COLUMNNAME_ConfidentialType);
}
/** Set Content Color.
@param ContentColor
Content color of calendar dashlet
*/
public void setContentColor (String ContentColor)
{
set_Value (COLUMNNAME_ContentColor, ContentColor);
}
/** Get Content Color.
@return Content color of calendar dashlet
*/
public String getContentColor ()
{
return (String)get_Value(COLUMNNAME_ContentColor);
}
/** Set Description.
@param Description
Optional short description of the record
@ -171,6 +188,23 @@ public class X_R_RequestType extends PO implements I_R_RequestType, I_Persistent
return ii.intValue();
}
/** Set Header Color.
@param HeaderColor
Header color of calendar dashlet
*/
public void setHeaderColor (String HeaderColor)
{
set_Value (COLUMNNAME_HeaderColor, HeaderColor);
}
/** Get Header Color.
@return Header color of calendar dashlet
*/
public String getHeaderColor ()
{
return (String)get_Value(COLUMNNAME_HeaderColor);
}
/** Set Create Change Request.
@param IsAutoChangeRequest
Automatically create BOM (Engineering) Change Request
@ -411,9 +445,23 @@ public class X_R_RequestType extends PO implements I_R_RequestType, I_Persistent
return ii.intValue();
}
public I_R_StatusCategory getR_StatusCategory() throws RuntimeException
/** Set R_RequestType_UU.
@param R_RequestType_UU R_RequestType_UU */
public void setR_RequestType_UU (String R_RequestType_UU)
{
set_Value (COLUMNNAME_R_RequestType_UU, R_RequestType_UU);
}
/** Get R_RequestType_UU.
@return R_RequestType_UU */
public String getR_RequestType_UU ()
{
return (String)get_Value(COLUMNNAME_R_RequestType_UU);
}
public org.compiere.model.I_R_StatusCategory getR_StatusCategory() throws RuntimeException
{
return (I_R_StatusCategory)MTable.get(getCtx(), I_R_StatusCategory.Table_Name)
return (org.compiere.model.I_R_StatusCategory)MTable.get(getCtx(), org.compiere.model.I_R_StatusCategory.Table_Name)
.getPO(getR_StatusCategory_ID(), get_TrxName()); }
/** Set Status Category.

View File

@ -143,7 +143,7 @@ public class HtmlDashboard extends JPanel implements MouseListener,
String appendToHome = null;
try
{
for (final MDashboardContent dp : MDashboardContent.getForSession())
for (final MDashboardContent dp : MDashboardContent.getForSession(true))
{
if (!Util.isEmpty(dp.getZulFilePath(), true))
continue;

View File

@ -1,11 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="src" path="WEB-INF/src"/>
<classpathentry kind="lib" path="WEB-INF/lib/atmosphere-compat-jbossweb-0.9.jar"/>
<classpathentry kind="lib" path="WEB-INF/lib/atmosphere-compat-tomcat-0.9.jar"/>
<classpathentry kind="lib" path="WEB-INF/lib/atmosphere-compat-tomcat7-0.9.jar" sourcepath="WEB-INF/lib/src/atmosphere-compat-tomcat7-0.9-sources.jar"/>
<classpathentry kind="lib" path="WEB-INF/lib/atmosphere-runtime-0.9.jar" sourcepath="WEB-INF/lib/src/atmosphere-runtime-0.9-sources.jar"/>
<classpathentry kind="output" path="WEB-INF/classes"/>
</classpath>
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="src" path="WEB-INF/src"/>
<classpathentry kind="lib" path="WEB-INF/lib/atmosphere-compat-jbossweb-0.9.jar"/>
<classpathentry kind="lib" path="WEB-INF/lib/atmosphere-compat-tomcat-0.9.jar"/>
<classpathentry kind="lib" path="WEB-INF/lib/atmosphere-compat-tomcat7-0.9.jar" sourcepath="WEB-INF/lib/src/atmosphere-compat-tomcat7-0.9-sources.jar"/>
<classpathentry kind="lib" path="WEB-INF/lib/atmosphere-runtime-0.9.jar" sourcepath="WEB-INF/lib/src/atmosphere-runtime-0.9-sources.jar"/>
<classpathentry kind="lib" path="WEB-INF/lib/calendar.jar"/>
<classpathentry kind="output" path="WEB-INF/classes"/>
</classpath>

View File

@ -18,7 +18,8 @@ Bundle-ClassPath: WEB-INF/classes/,
WEB-INF/lib/atmosphere-runtime-0.9.jar,
WEB-INF/lib/atmosphere-compat-jbossweb-0.9.jar,
WEB-INF/lib/atmosphere-compat-tomcat-0.9.jar,
WEB-INF/lib/atmosphere-compat-tomcat7-0.9.jar
WEB-INF/lib/atmosphere-compat-tomcat7-0.9.jar,
WEB-INF/lib/calendar.jar
Export-Package: metainfo.zk,
org.adempiere.webui,
org.adempiere.webui.acct,

View File

@ -0,0 +1,47 @@
/******************************************************************************
* Copyright (C) 2008 Elaine Tan *
* Copyright (C) 2008 Idalica Corporation *
* This program is free software; you can redistribute it and/or modify it *
* under the terms version 2 of the GNU General Public License as published *
* by the Free Software Foundation. This program is distributed in the hope *
* that it will be useful, but WITHOUT ANY WARRANTY; without even the implied *
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. *
* See the GNU General Public License for more details. *
* You should have received a copy of the GNU General Public License along *
* with this program; if not, write to the Free Software Foundation, Inc., *
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. *
*****************************************************************************/
package org.adempiere.webui.dashboard;
import org.zkoss.calendar.impl.SimpleCalendarEvent;
/**
*
* @author Elaine
*
*/
public class ADCalendarEvent extends SimpleCalendarEvent {
/**
*
*/
private static final long serialVersionUID = 2289841014956779967L;
private int R_Request_ID;
private int R_RequestType_ID;
public int getR_Request_ID() {
return R_Request_ID;
}
public void setR_Request_ID(int request_ID) {
R_Request_ID = request_ID;
}
public int getR_RequestType_ID() {
return R_RequestType_ID;
}
public void setR_RequestType_ID(int requestType_ID) {
R_RequestType_ID = requestType_ID;
}
}

View File

@ -0,0 +1,409 @@
/******************************************************************************
* Copyright (C) 2008 Elaine Tan *
* Copyright (C) 2008 Idalica Corporation *
* This program is free software; you can redistribute it and/or modify it *
* under the terms version 2 of the GNU General Public License as published *
* by the Free Software Foundation. This program is distributed in the hope *
* that it will be useful, but WITHOUT ANY WARRANTY; without even the implied *
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. *
* See the GNU General Public License for more details. *
* You should have received a copy of the GNU General Public License along *
* with this program; if not, write to the Free Software Foundation, Inc., *
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. *
*****************************************************************************/
package org.adempiere.webui.dashboard;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.Enumeration;
import java.util.Hashtable;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.TimeZone;
import org.adempiere.webui.component.Window;
import org.adempiere.webui.session.SessionManager;
import org.compiere.model.X_R_RequestType;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.encoders.EncoderUtil;
import org.jfree.chart.encoders.ImageFormat;
import org.jfree.chart.plot.PiePlot3D;
import org.jfree.data.general.DefaultPieDataset;
import org.zkoss.calendar.Calendars;
import org.zkoss.calendar.api.CalendarEvent;
import org.zkoss.calendar.event.CalendarsEvent;
import org.zkoss.calendar.impl.SimpleCalendarEvent;
import org.zkoss.calendar.impl.SimpleCalendarModel;
import org.zkoss.image.AImage;
import org.zkoss.util.Locales;
import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.Executions;
import org.zkoss.zk.ui.event.Event;
import org.zkoss.zk.ui.event.EventListener;
import org.zkoss.zk.ui.event.Events;
import org.zkoss.zul.Borderlayout;
import org.zkoss.zul.Button;
import org.zkoss.zul.Image;
import org.zkoss.zul.Label;
import org.zkoss.zul.Listbox;
import org.zkoss.zul.Listitem;
import org.zkoss.zul.Popup;
import org.zkoss.zul.Span;
import org.zkoss.zul.Timer;
import org.zkoss.zul.Toolbarbutton;
/**
*
* @author Elaine
*
*/
public class CalendarWindow extends Window implements EventListener<Event> {
private static final long serialVersionUID = 1L;
private Calendars calendars;
private SimpleCalendarModel scm;
private Toolbarbutton btnRefresh;
private Listbox lbxRequestTypes;
private Image myChart;
private Button btnCurrentDate, btnSwitchTimeZone;
private Label lblDate;
private Component divArrowLeft, divArrowRight;
private Span FDOW;
private Listbox lbxFDOW;
private Component divTabDay, divTabWeek, divTabWeekdays, divTabMonth;
private Popup updateMsg;
private Label popupLabel;
private Timer timer;
private EventWindow eventWin;
public CalendarWindow(SimpleCalendarModel scm) {
super();
this.scm = scm;
setTitle("Calendar");
setAttribute(Window.MODE_KEY, Window.MODE_EMBEDDED);
Component component = Executions.createComponents("calendar.zul", this, null);
Borderlayout borderlayout = (Borderlayout) component.getFellow("main");
borderlayout.setStyle("position: absolute");
borderlayout.setWidth("100%");
borderlayout.setHeight("100%");
calendars = (Calendars) component.getFellow("cal");
calendars.setModel(scm);
if (calendars.getCurrentDate() != null)
calendars.setCurrentDate(calendars.getCurrentDate());
calendars.setTimeZone(getTimeZone());
btnRefresh = (Toolbarbutton) component.getFellow("btnRefresh");
btnRefresh.addEventListener(Events.ON_CLICK, this);
lbxRequestTypes = (Listbox) component.getFellow("lbxRequestTypes");
lbxRequestTypes.addEventListener(Events.ON_SELECT, this);
lbxRequestTypes.appendItem("(Show All)", "0");
ArrayList<X_R_RequestType> types = DPCalendar.getRequestTypes();
for(X_R_RequestType type : types)
lbxRequestTypes.appendItem(type.getName(), type.getR_RequestType_ID() + "");
lbxRequestTypes.setSelectedIndex(0);
myChart = (Image) component.getFellow("mychart");
myChart.addEventListener(Events.ON_CREATE, this);
btnCurrentDate = (Button) component.getFellow("btnCurrentDate");
btnCurrentDate.addEventListener(Events.ON_CLICK, this);
btnSwitchTimeZone = (Button) component.getFellow("btnSwitchTimeZone");
btnSwitchTimeZone.addEventListener(Events.ON_CLICK, this);
lblDate = (Label) component.getFellow("lblDate");
lblDate.addEventListener(Events.ON_CREATE, this);
divArrowLeft = component.getFellow("divArrowLeft");
divArrowLeft.addEventListener("onMoveDate", this);
divArrowRight = component.getFellow("divArrowRight");
divArrowRight.addEventListener("onMoveDate", this);
FDOW = (Span) component.getFellow("FDOW");
FDOW.addEventListener(Events.ON_CREATE, this);
lbxFDOW = (Listbox) component.getFellow("lbxFDOW");
lbxFDOW.addEventListener(Events.ON_SELECT, this);
lbxFDOW.addEventListener(Events.ON_CREATE, this);
divTabDay = component.getFellow("divTabDay");
divTabDay.addEventListener("onUpdateView", this);
divTabWeek = component.getFellow("divTabWeek");
divTabWeek.addEventListener("onUpdateView", this);
divTabWeekdays = component.getFellow("divTabWeekdays");
divTabWeekdays.addEventListener("onUpdateView", this);
divTabMonth = component.getFellow("divTabMonth");
divTabMonth.addEventListener("onUpdateView", this);
updateMsg = (Popup) component.getFellow("updateMsg");
popupLabel = (Label) component.getFellow("popupLabel");
timer = (Timer) component.getFellow("timer");
this.appendChild(component);
calendars.addEventListener("onEventCreate", this);
calendars.addEventListener("onEventEdit", this);
calendars.addEventListener("onEventUpdate", this);
calendars.addEventListener("onMouseOver", this);
SessionManager.getAppDesktop().showWindow(this);
}
public void onEvent(Event e) throws Exception {
String type = e.getName();
if (type.equals(Events.ON_CLICK)) {
if (e.getTarget() == btnRefresh)
btnRefreshClicked();
else if (e.getTarget() == btnCurrentDate)
btnCurrentDateClicked();
else if (e.getTarget() == btnSwitchTimeZone)
btnSwitchTimeZoneClicked();
}
else if (type.equals(Events.ON_CREATE)) {
if (e.getTarget() == lblDate)
updateDateLabel();
else if (e.getTarget() == FDOW)
FDOW.setVisible("month".equals(calendars.getMold()) || calendars.getDays() == 7);
else if (e.getTarget() == myChart)
syncModel();
else if (e.getTarget() == lbxFDOW)
lbxFDOW.setSelectedIndex(0);
}
else if (type.equals("onMoveDate")) {
if (e.getTarget() == divArrowLeft)
divArrowClicked(false);
else if (e.getTarget() == divArrowRight)
divArrowClicked(true);
}
else if (type.equals("onUpdateView")) {
String text = String.valueOf(e.getData());
int days = "Day".equals(text) ? 1: "5 Days".equals(text) ? 5: "Week".equals(text) ? 7: 0;
divTabClicked(days);
}
else if (type.equals(Events.ON_SELECT)) {
if (e.getTarget() == lbxRequestTypes) {
Listitem li = lbxRequestTypes.getSelectedItem();
if(li == null) return;
if(li.getValue() == null) return;
int R_RequestType_ID = Integer.parseInt(li.getValue().toString());
scm.clear();
ArrayList<ADCalendarEvent> events = DPCalendar.getEvents(R_RequestType_ID);
for (ADCalendarEvent event : events)
scm.add(event);
calendars.setModel(scm);
calendars.invalidate();
syncModel();
}
else if (e.getTarget() == lbxFDOW) {
calendars.setFirstDayOfWeek(lbxFDOW.getSelectedItem().getLabel());
syncModel();
}
}
else if (type.equals("onEventCreate")) {
if (e instanceof CalendarsEvent) {
CalendarsEvent calendarsEvent = (CalendarsEvent) e;
RequestWindow requestWin = new RequestWindow(calendarsEvent, this);
SessionManager.getAppDesktop().showWindow(requestWin);
}
}
else if (type.equals("onEventEdit")) {
if (e instanceof CalendarsEvent) {
CalendarsEvent calendarsEvent = (CalendarsEvent) e;
CalendarEvent calendarEvent = calendarsEvent.getCalendarEvent();
if (calendarEvent instanceof ADCalendarEvent) {
ADCalendarEvent ce = (ADCalendarEvent) calendarEvent;
if(eventWin == null)
eventWin = new EventWindow();
eventWin.setData(ce);
SessionManager.getAppDesktop().showWindow(eventWin);
}
}
}
else if (type.equals("onEventUpdate")) {
if (e instanceof CalendarsEvent)
{
CalendarsEvent evt = (CalendarsEvent) e;
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy/MM/d");
sdf1.setTimeZone(calendars.getDefaultTimeZone());
StringBuffer sb = new StringBuffer("Update... from ");
sb.append(sdf1.format(evt.getCalendarEvent().getBeginDate()));
sb.append(" to ");
sb.append(sdf1.format(evt.getBeginDate()));
popupLabel.setValue(sb.toString());
int left = evt.getX();
int top = evt.getY();
if (top + 100 > evt.getDesktopHeight())
top = evt.getDesktopHeight() - 100;
if (left + 330 > evt.getDesktopWidth())
left = evt.getDesktopWidth() - 330;
updateMsg.open(left, top);
timer.start();
org.zkoss.calendar.Calendars cal = (org.zkoss.calendar.Calendars) evt.getTarget();
SimpleCalendarModel m = (SimpleCalendarModel) cal.getModel();
SimpleCalendarEvent sce = (SimpleCalendarEvent) evt.getCalendarEvent();
sce.setBeginDate(evt.getBeginDate());
sce.setEndDate(evt.getEndDate());
m.update(sce);
}
}
}
private void syncModel() {
Hashtable ht = new Hashtable();
List list = calendars.getModel().get(calendars.getBeginDate(), calendars.getEndDate(), null);
int size = list.size();
for (Iterator it = list.iterator(); it.hasNext();) {
String key = ((ADCalendarEvent)it.next()).getR_RequestType_ID() + "";
if (!ht.containsKey(key))
ht.put(key, BigDecimal.ONE);
else {
BigDecimal value = (BigDecimal) ht.get(key);
ht.put(key, value.add(BigDecimal.ONE));
}
}
Hashtable htTypes = new Hashtable();
for(int i = 0; i < lbxRequestTypes.getItemCount(); i++)
{
Listitem li = lbxRequestTypes.getItemAtIndex(i);
if(li != null && li.getValue() != null)
htTypes.put(li.getValue(), li.getLabel());
}
DefaultPieDataset pieDataset = new DefaultPieDataset();
Enumeration keys = ht.keys();
while(keys.hasMoreElements()) {
String key = (String) keys.nextElement();
BigDecimal value = (BigDecimal) ht.get(key);
String name = (String) htTypes.get(key);
pieDataset.setValue(name == null ? "" : name, new Double(size > 0 ? value.doubleValue()/size*100 : 0));
}
JFreeChart chart = ChartFactory.createPieChart3D("Events Analysis", pieDataset, true, true, true);
PiePlot3D plot = (PiePlot3D) chart.getPlot();
plot.setForegroundAlpha(0.5f);
BufferedImage bi = chart.createBufferedImage(600, 250);
try {
byte[] bytes = EncoderUtil.encode(bi, ImageFormat.PNG, true);
AImage image = new AImage("Pie Chart", bytes);
myChart.setContent(image);
} catch (IOException e) {
e.printStackTrace();
}
htTypes = null;
ht = null;
}
public void onRefresh() {
btnRefreshClicked();
}
private void btnRefreshClicked() {
int R_RequestType_ID = 0;
Listitem li = lbxRequestTypes.getSelectedItem();
if(li != null && li.getValue() != null)
R_RequestType_ID = Integer.parseInt(li.getValue().toString());
int cnt = lbxRequestTypes.getItemCount();
for (int i = cnt - 1; i >=0; i--)
lbxRequestTypes.removeItemAt(i);
lbxRequestTypes.appendItem("(Show All)", "0");
ArrayList<X_R_RequestType> types = DPCalendar.getRequestTypes();
for(X_R_RequestType requestType : types)
{
Listitem item = lbxRequestTypes.appendItem(requestType.getName(), requestType.getR_RequestType_ID() + "");
if(R_RequestType_ID == requestType.getR_RequestType_ID())
lbxRequestTypes.setSelectedItem(item);
}
if(lbxRequestTypes.getSelectedIndex() < 0)
lbxRequestTypes.setSelectedIndex(0);
scm.clear();
ArrayList<ADCalendarEvent> events = DPCalendar.getEvents(R_RequestType_ID);
for (ADCalendarEvent event : events)
scm.add(event);
calendars.setModel(scm);
calendars.invalidate();
syncModel();
}
private String getTimeZone()
{
TimeZone defaultTimeZone = TimeZone.getDefault();
String defaultTimeZoneName = defaultTimeZone.getDisplayName();
int defaultTimeZoneOffset = defaultTimeZone.getOffset(0) / 3375000;
return defaultTimeZoneName + "=GMT" + (defaultTimeZoneOffset > 0 ? "+" : "-") + defaultTimeZoneOffset + ",Pacific Time=GMT-8";
}
private void updateDateLabel() {
Date b = calendars.getBeginDate();
Date e = calendars.getEndDate();
SimpleDateFormat sdfV = new SimpleDateFormat("yyyy/MMM/dd", Locales.getCurrent());
sdfV.setTimeZone(calendars.getDefaultTimeZone());
lblDate.setValue(sdfV.format(b) + " - " + sdfV.format(e));
}
private void btnCurrentDateClicked() {
calendars.setCurrentDate(Calendar.getInstance(calendars.getDefaultTimeZone()).getTime());
updateDateLabel();
syncModel();
}
private void btnSwitchTimeZoneClicked() {
Map zone = calendars.getTimeZones();
if (!zone.isEmpty()) {
Map.Entry me = (Map.Entry) zone.entrySet().iterator().next();
calendars.removeTimeZone((TimeZone) me.getKey());
calendars.addTimeZone((String) me.getValue(), (TimeZone) me.getKey());
}
syncModel();
}
private void divArrowClicked(boolean isNext) {
if (isNext)
calendars.nextPage();
else
calendars.previousPage();
updateDateLabel();
syncModel();
}
private void divTabClicked(int days) {
if (days > 0) {
calendars.setMold("default");
calendars.setDays(days);
} else calendars.setMold("month");
updateDateLabel();
FDOW.setVisible("month".equals(calendars.getMold()) || calendars.getDays() == 7);
}
}

View File

@ -20,14 +20,14 @@ import org.zkoss.zul.Iframe;
* @author Elaine
* @date November 20, 2008
*/
public class DPCalendar extends DashboardPanel {
public class DPGoogleCalendar extends DashboardPanel {
/**
*
*/
private static final long serialVersionUID = -6420016898259232438L;
public DPCalendar()
public DPGoogleCalendar()
{
super();

View File

@ -0,0 +1,46 @@
/******************************************************************************
* Copyright (C) 2012 Elaine Tan *
* Copyright (C) 2012 Trek Global
* This program is free software; you can redistribute it and/or modify it *
* under the terms version 2 of the GNU General Public License as published *
* by the Free Software Foundation. This program is distributed in the hope *
* that it will be useful, but WITHOUT ANY WARRANTY; without even the implied *
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. *
* See the GNU General Public License for more details. *
* You should have received a copy of the GNU General Public License along *
* with this program; if not, write to the Free Software Foundation, Inc., *
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. *
*****************************************************************************/
package org.adempiere.webui.dashboard;
import org.adempiere.webui.panel.MenuTreePanel;
/**
* Dashboard item: Menu Tree
* @author Elaine
* @date July 31, 2012
*/
public class DPMenuTree extends DashboardPanel {
/**
*
*/
private static final long serialVersionUID = -3095921038206382907L;
private MenuTreePanel menuTreePanel;
public DPMenuTree()
{
super();
menuTreePanel = new MenuTreePanel(this);
this.appendChild(menuTreePanel);
}
public MenuTreePanel getMenuTreePanel()
{
return menuTreePanel;
}
}

View File

@ -0,0 +1,161 @@
/******************************************************************************
* Copyright (C) 2008 Elaine Tan *
* Copyright (C) 2008 Idalica Corporation *
* This program is free software; you can redistribute it and/or modify it *
* under the terms version 2 of the GNU General Public License as published *
* by the Free Software Foundation. This program is distributed in the hope *
* that it will be useful, but WITHOUT ANY WARRANTY; without even the implied *
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. *
* See the GNU General Public License for more details. *
* You should have received a copy of the GNU General Public License along *
* with this program; if not, write to the Free Software Foundation, Inc., *
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. *
*****************************************************************************/
package org.adempiere.webui.dashboard;
import org.adempiere.webui.apps.AEnv;
import org.adempiere.webui.component.Borderlayout;
import org.adempiere.webui.component.Column;
import org.adempiere.webui.component.Columns;
import org.adempiere.webui.component.ConfirmPanel;
import org.adempiere.webui.component.DatetimeBox;
import org.adempiere.webui.component.Grid;
import org.adempiere.webui.component.GridFactory;
import org.adempiere.webui.component.Label;
import org.adempiere.webui.component.Row;
import org.adempiere.webui.component.Rows;
import org.adempiere.webui.component.Textbox;
import org.adempiere.webui.component.Window;
import org.zkoss.zk.ui.event.Event;
import org.zkoss.zk.ui.event.EventListener;
import org.zkoss.zul.Center;
import org.zkoss.zul.South;
/**
*
* @author Elaine
*
*/
public class EventWindow extends Window implements EventListener<Event> {
private static final long serialVersionUID = 1L;
private DatetimeBox dtBeginDate, dtEndDate;
private Textbox txtContent, txtHeaderColor, txtContentColor;
private ConfirmPanel confirmPanel;
private int R_Request_ID = 0;
public EventWindow() {
super();
setTitle("Event");
setAttribute(Window.MODE_KEY, Window.MODE_POPUP);
setWidth("400px");
setHeight("310px");
this.setBorder("normal");
this.setClosable(true);
Label lblHeaderColor = new Label("Header Color");
Label lblContentColor = new Label("Content Color");
Label lblBeginDate = new Label("Begin Date");
Label lblEndDate = new Label("End Date");
Label lblContent = new Label("Content");
dtBeginDate = new DatetimeBox();
dtBeginDate.setEnabled(false);
dtEndDate = new DatetimeBox();
dtEndDate.setEnabled(false);
txtContent = new Textbox();
txtContent.setRows(5);
txtContent.setWidth("95%");
txtContent.setReadonly(true);
txtHeaderColor = new Textbox();
txtHeaderColor.setWidth("50px");
txtHeaderColor.setReadonly(true);
txtContentColor = new Textbox();
txtContentColor.setWidth("50px");
txtContentColor.setReadonly(true);
confirmPanel = new ConfirmPanel(false, false, false, false, false, true);
confirmPanel.addActionListener(this);
Grid grid = GridFactory.newGridLayout();
Columns columns = new Columns();
grid.appendChild(columns);
Column column = new Column();
columns.appendChild(column);
column = new Column();
columns.appendChild(column);
column.setWidth("250px");
Rows rows = new Rows();
grid.appendChild(rows);
Row row = new Row();
rows.appendChild(row);
row.appendChild(lblBeginDate.rightAlign());
row.appendChild(dtBeginDate);
row = new Row();
rows.appendChild(row);
row.appendChild(lblEndDate.rightAlign());
row.appendChild(dtEndDate);
row = new Row();
rows.appendChild(row);
row.appendChild(lblContent.rightAlign());
row.appendChild(txtContent);
row = new Row();
rows.appendChild(row);
row.appendChild(lblHeaderColor.rightAlign());
row.appendChild(txtHeaderColor);
row = new Row();
rows.appendChild(row);
row.appendChild(lblContentColor.rightAlign());
row.appendChild(txtContentColor);
Borderlayout borderlayout = new Borderlayout();
appendChild(borderlayout);
Center center = new Center();
borderlayout.appendChild(center);
center.appendChild(grid);
center.setFlex(true);
South south = new South();
borderlayout.appendChild(south);
south.appendChild(confirmPanel);
}
public void setData(ADCalendarEvent event) {
txtHeaderColor.setStyle("background-color: " + event.getHeaderColor());
txtContentColor.setStyle("background-color: " + event.getContentColor());
dtBeginDate.setValue(event.getBeginDate());
dtEndDate.setValue(event.getEndDate());
txtContent.setText(event.getContent());
R_Request_ID = event.getR_Request_ID();
confirmPanel.getButton(ConfirmPanel.A_ZOOM).setEnabled(R_Request_ID > 0);
}
public void onEvent(Event e) throws Exception {
if (e.getTarget() == confirmPanel.getButton(ConfirmPanel.A_OK))
setVisible(false);
else if (e.getTarget() == confirmPanel.getButton(ConfirmPanel.A_ZOOM)) {
if (R_Request_ID > 0)
AEnv.zoom(417, R_Request_ID);
}
}
}

View File

@ -0,0 +1,303 @@
/******************************************************************************
* Copyright (C) 2008 Elaine Tan *
* Copyright (C) 2008 Idalica Corporation *
* This program is free software; you can redistribute it and/or modify it *
* under the terms version 2 of the GNU General Public License as published *
* by the Free Software Foundation. This program is distributed in the hope *
* that it will be useful, but WITHOUT ANY WARRANTY; without even the implied *
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. *
* See the GNU General Public License for more details. *
* You should have received a copy of the GNU General Public License along *
* with this program; if not, write to the Free Software Foundation, Inc., *
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. *
*****************************************************************************/
package org.adempiere.webui.dashboard;
import java.sql.Timestamp;
import org.adempiere.webui.component.Borderlayout;
import org.adempiere.webui.component.Column;
import org.adempiere.webui.component.Columns;
import org.adempiere.webui.component.ConfirmPanel;
import org.adempiere.webui.component.Datebox;
import org.adempiere.webui.component.Grid;
import org.adempiere.webui.component.GridFactory;
import org.adempiere.webui.component.Label;
import org.adempiere.webui.component.Row;
import org.adempiere.webui.component.Rows;
import org.adempiere.webui.component.Textbox;
import org.adempiere.webui.component.Window;
import org.adempiere.webui.editor.WTableDirEditor;
import org.adempiere.webui.window.FDialog;
import org.compiere.model.MColumn;
import org.compiere.model.MLookup;
import org.compiere.model.MLookupFactory;
import org.compiere.model.MRequest;
import org.compiere.model.MRole;
import org.compiere.util.CLogger;
import org.compiere.util.DisplayType;
import org.compiere.util.Env;
import org.compiere.util.Msg;
import org.zkoss.calendar.event.CalendarsEvent;
import org.zkoss.zk.ui.WrongValueException;
import org.zkoss.zk.ui.event.Event;
import org.zkoss.zk.ui.event.EventListener;
import org.zkoss.zk.ui.event.Events;
import org.zkoss.zul.Center;
import org.zkoss.zul.South;
import org.zkoss.zul.Timebox;
/**
*
* @author Elaine
*
*/
public class RequestWindow extends Window implements EventListener<Event> {
private static final long serialVersionUID = 1L;
private static CLogger log = CLogger.getCLogger(RequestWindow.class);
/** Read Only */
private boolean m_readOnly = false;
private WTableDirEditor requestTypeField, dueTypeField, priorityField,
confidentialField, salesRepField, entryConfidentialField;
private Textbox txtSummary;
private Datebox dbxStartPlan, dbxCompletePlan;
private Timebox tbxStartTime, tbxEndTime;
private ConfirmPanel confirmPanel;
private Window parent;
public RequestWindow(CalendarsEvent ce, Window parent) {
super();
this.parent = parent;
setTitle("Event");
setAttribute(Window.MODE_KEY, Window.MODE_MODAL);
setWidth("400px");
setHeight("500px");
this.setBorder("normal");
this.setClosable(true);
m_readOnly = !MRole.getDefault().canUpdate(
Env.getAD_Client_ID(Env.getCtx()), Env.getAD_Org_ID(Env.getCtx()),
MRequest.Table_ID, 0, false);
Label lblDueType = new Label("Due Type");
Label lblRequestType = new Label("Request Type");
Label lblPriority = new Label("Priority");
Label lblSummary = new Label("Summary");
Label lblConfidential = new Label("Confidentiality");
Label lblSalesRep = new Label("Sales Representative");
Label lblEntryConfidential = new Label("Entry Confidentiality");
Label lblStartPlan = new Label("Start Plan");
Label lblCompletePlan = new Label("Complete Plan");
Label lblStartTime = new Label("Start Time");
Label lblEndTime = new Label("End Time");
int columnID = MColumn.getColumn_ID(MRequest.Table_Name, MRequest.COLUMNNAME_DueType);
MLookup lookup = MLookupFactory.get(Env.getCtx(), 0, 0, columnID, DisplayType.List);
dueTypeField = new WTableDirEditor("DueType", true, false, true, lookup);
dueTypeField.setValue(Env.getContext(Env.getCtx(), "P232|DueType"));
if(dueTypeField.getValue() == null || dueTypeField.getValue().equals(""))
if(dueTypeField.getComponent().getItemCount() > 1)
dueTypeField.setValue(dueTypeField.getComponent().getItemAtIndex(1).getValue());
columnID = MColumn.getColumn_ID(MRequest.Table_Name, MRequest.COLUMNNAME_R_RequestType_ID);
lookup = MLookupFactory.get(Env.getCtx(), 0, 0, columnID, DisplayType.TableDir);
requestTypeField = new WTableDirEditor("R_RequestType_ID", true, false, true, lookup);
requestTypeField.setValue(Env.getContext(Env.getCtx(), "P232|R_RequestType_ID"));
if(requestTypeField.getValue() == null || requestTypeField.getValue().equals(""))
if(requestTypeField.getComponent().getItemCount() > 1)
requestTypeField.setValue(requestTypeField.getComponent().getItemAtIndex(1).getValue());
columnID = MColumn.getColumn_ID(MRequest.Table_Name, MRequest.COLUMNNAME_Priority);
lookup = MLookupFactory.get(Env.getCtx(), 0, 0, columnID, DisplayType.List);
priorityField = new WTableDirEditor("Priority", true, false, true, lookup);
priorityField.setValue(Env.getContext(Env.getCtx(), "P232|Priority"));
if(priorityField.getValue() == null || priorityField.getValue().equals(""))
if(priorityField.getComponent().getItemCount() > 1)
priorityField.setValue(priorityField.getComponent().getItemAtIndex(1).getValue());
columnID = MColumn.getColumn_ID(MRequest.Table_Name, MRequest.COLUMNNAME_ConfidentialType);
lookup = MLookupFactory.get(Env.getCtx(), 0, 0, columnID, DisplayType.List);
confidentialField = new WTableDirEditor("ConfidentialType", true, false, true, lookup);
confidentialField.setValue(Env.getContext(Env.getCtx(), "P232|ConfidentialType"));
if(confidentialField.getValue() == null || confidentialField.getValue().equals(""))
if(confidentialField.getComponent().getItemCount() > 1)
confidentialField.setValue(confidentialField.getComponent().getItemAtIndex(1).getValue());
columnID = MColumn.getColumn_ID(MRequest.Table_Name, MRequest.COLUMNNAME_SalesRep_ID);
lookup = MLookupFactory.get(Env.getCtx(), 0, 0, columnID, DisplayType.TableDir);
salesRepField = new WTableDirEditor("SalesRep_ID", true, false, true, lookup);
salesRepField.setValue(Env.getContextAsInt(Env.getCtx(), "SalesRep_ID"));
if(salesRepField.getValue() == null || salesRepField.getValue().equals("0"))
if(salesRepField.getComponent().getItemCount() > 1)
salesRepField.setValue(salesRepField.getComponent().getItemAtIndex(1).getValue());
columnID = MColumn.getColumn_ID(MRequest.Table_Name, MRequest.COLUMNNAME_ConfidentialTypeEntry);
lookup = MLookupFactory.get(Env.getCtx(), 0, 0, columnID, DisplayType.List);
entryConfidentialField = new WTableDirEditor("ConfidentialTypeEntry", true, false, true, lookup);
entryConfidentialField.setValue(Env.getContext(Env.getCtx(), "P232|ConfidentialTypeEntry"));
if(entryConfidentialField.getValue() == null || entryConfidentialField.getValue().equals(""))
if(entryConfidentialField.getComponent().getItemCount() > 1)
entryConfidentialField.setValue(entryConfidentialField.getComponent().getItemAtIndex(1).getValue());
txtSummary = new Textbox();
txtSummary.setRows(3);
txtSummary.setWidth("95%");
dbxStartPlan = new Datebox();
dbxCompletePlan = new Datebox();
tbxStartTime = new Timebox();
tbxEndTime = new Timebox();
confirmPanel = new ConfirmPanel(true);
confirmPanel.addActionListener(this);
Grid grid = GridFactory.newGridLayout();
Columns columns = new Columns();
grid.appendChild(columns);
Column column = new Column();
columns.appendChild(column);
column = new Column();
columns.appendChild(column);
column.setWidth("250px");
Rows rows = new Rows();
grid.appendChild(rows);
Row row = new Row();
rows.appendChild(row);
row.appendChild(lblDueType.rightAlign());
row.appendChild(dueTypeField.getComponent());
row = new Row();
rows.appendChild(row);
row.appendChild(lblRequestType.rightAlign());
row.appendChild(requestTypeField.getComponent());
row = new Row();
rows.appendChild(row);
row.appendChild(lblPriority.rightAlign());
row.appendChild(priorityField.getComponent());
row = new Row();
rows.appendChild(row);
row.appendChild(lblSummary.rightAlign());
row.appendChild(txtSummary);
row = new Row();
rows.appendChild(row);
row.appendChild(lblConfidential.rightAlign());
row.appendChild(confidentialField.getComponent());
row = new Row();
rows.appendChild(row);
row.appendChild(lblSalesRep.rightAlign());
row.appendChild(salesRepField.getComponent());
row = new Row();
rows.appendChild(row);
row.appendChild(lblEntryConfidential.rightAlign());
row.appendChild(entryConfidentialField.getComponent());
row = new Row();
rows.appendChild(row);
row.appendChild(lblStartPlan.rightAlign());
row.appendChild(dbxStartPlan);
row = new Row();
rows.appendChild(row);
row.appendChild(lblCompletePlan.rightAlign());
row.appendChild(dbxCompletePlan);
row = new Row();
rows.appendChild(row);
row.appendChild(lblStartTime.rightAlign());
row.appendChild(tbxStartTime);
row = new Row();
rows.appendChild(row);
row.appendChild(lblEndTime.rightAlign());
row.appendChild(tbxEndTime);
Borderlayout borderlayout = new Borderlayout();
appendChild(borderlayout);
Center center = new Center();
borderlayout.appendChild(center);
center.appendChild(grid);
center.setFlex(true);
South south = new South();
borderlayout.appendChild(south);
south.appendChild(confirmPanel);
dbxStartPlan.setValue(ce.getBeginDate());
dbxCompletePlan.setValue(ce.getEndDate());
tbxStartTime.setValue(ce.getBeginDate());
tbxEndTime.setValue(ce.getEndDate());
}
public void onEvent(Event e) throws Exception {
if (m_readOnly)
this.detach();
else if (e.getTarget() == confirmPanel.getButton(ConfirmPanel.A_OK)) {
// Check Mandatory fields
if (dueTypeField.getValue() == null || dueTypeField.getValue().equals(""))
throw new WrongValueException(dueTypeField.getComponent(), Msg.translate(Env.getCtx(), "FillMandatory"));
if (requestTypeField.getValue() == null || requestTypeField.getValue().equals("0"))
throw new WrongValueException(requestTypeField.getComponent(), Msg.translate(Env.getCtx(), "FillMandatory"));
if (priorityField.getValue() == null || priorityField.getValue().equals(""))
throw new WrongValueException(priorityField.getComponent(), Msg.translate(Env.getCtx(), "FillMandatory"));
if (txtSummary.getText() == null || txtSummary.getText().equals(""))
throw new WrongValueException(txtSummary, Msg.translate(Env.getCtx(), "FillMandatory"));
if (confidentialField.getValue() == null || confidentialField.getValue().equals(""))
throw new WrongValueException(confidentialField.getComponent(), Msg.translate(Env.getCtx(), "FillMandatory"));
if (salesRepField.getValue() == null || salesRepField.getValue().equals("0"))
throw new WrongValueException(salesRepField.getComponent(), Msg.translate(Env.getCtx(), "FillMandatory"));
if (entryConfidentialField.getValue() == null || entryConfidentialField.getValue().equals(""))
throw new WrongValueException(entryConfidentialField.getComponent(), Msg.translate(Env.getCtx(), "FillMandatory"));
MRequest request = new MRequest(Env.getCtx(), 0, null);
request.setAD_Org_ID(Env.getAD_Org_ID(Env.getCtx()));
request.setDueType((String) dueTypeField.getValue());
request.setR_RequestType_ID((Integer) requestTypeField.getValue());
request.setPriority((String) priorityField.getValue());
request.setSummary(txtSummary.getText());
request.setConfidentialType((String) confidentialField.getValue());
request.setSalesRep_ID((Integer) salesRepField.getValue());
request.setConfidentialTypeEntry((String) entryConfidentialField.getValue());
request.setDateStartPlan(new Timestamp(dbxStartPlan.getValue().getTime()));
request.setDateCompletePlan(new Timestamp(dbxCompletePlan.getValue().getTime()));
request.setStartTime(new Timestamp(tbxStartTime.getValue().getTime()));
request.setEndTime(new Timestamp(tbxEndTime.getValue().getTime()));
if (request.save())
{
log.fine("R_Request_ID=" + request.getR_Request_ID());
Events.postEvent("onRefresh", parent, null);
// Events.echoEvent("onRefresh", parent, null);
}
else
{
FDialog.error(0, this, "Request record not saved");
return;
}
this.detach();
}
else if (e.getTarget() == confirmPanel.getButton(ConfirmPanel.A_CANCEL))
this.detach();
}
}

View File

@ -14,24 +14,49 @@
package org.adempiere.webui.desktop;
import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
import java.io.InputStreamReader;
import java.math.BigDecimal;
import java.net.URL;
import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.logging.Level;
import org.adempiere.webui.apps.AEnv;
import org.adempiere.webui.apps.WReport;
import org.adempiere.webui.apps.graph.WGraph;
import org.adempiere.webui.apps.graph.WPerformanceDetail;
import org.adempiere.webui.component.ToolBarButton;
import org.adempiere.webui.dashboard.DashboardPanel;
import org.adempiere.webui.dashboard.DashboardRunnable;
import org.adempiere.webui.event.DrillEvent;
import org.adempiere.webui.event.ZoomEvent;
import org.adempiere.webui.report.HTMLExtension;
import org.adempiere.webui.session.SessionManager;
import org.adempiere.webui.window.FDialog;
import org.adempiere.webui.window.ZkReportViewerProvider;
import org.compiere.model.I_AD_Menu;
import org.compiere.model.MDashboardContent;
import org.compiere.model.MGoal;
import org.compiere.model.MMenu;
import org.compiere.model.MPInstance;
import org.compiere.model.MPInstancePara;
import org.compiere.model.MProcess;
import org.compiere.model.MQuery;
import org.compiere.model.MRole;
import org.compiere.model.MTable;
import org.compiere.model.X_PA_DashboardContent;
import org.compiere.print.ReportEngine;
import org.compiere.process.ProcessInfo;
import org.compiere.util.CLogger;
import org.compiere.util.DB;
import org.compiere.util.DisplayType;
import org.compiere.util.Env;
import org.zkoss.util.media.AMedia;
import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.Desktop;
import org.zkoss.zk.ui.Executions;
@ -43,9 +68,12 @@ import org.zkoss.zk.ui.event.MaximizeEvent;
import org.zkoss.zul.Anchorchildren;
import org.zkoss.zul.Anchorlayout;
import org.zkoss.zul.Html;
import org.zkoss.zul.Iframe;
import org.zkoss.zul.Panel;
import org.zkoss.zul.Panelchildren;
import org.zkoss.zul.Separator;
import org.zkoss.zul.Style;
import org.zkoss.zul.Toolbar;
import org.zkoss.zul.Toolbarbutton;
import org.zkoss.zul.Vlayout;
@ -53,7 +81,7 @@ import org.zkoss.zul.Vlayout;
* @author hengsin
*
*/
public class DashboardController implements EventListener<MaximizeEvent> {
public class DashboardController implements EventListener<Event> {
private final static CLogger logger = CLogger.getCLogger(DashboardController.class);
private Component prevParent;
@ -77,7 +105,7 @@ public class DashboardController implements EventListener<MaximizeEvent> {
maximizedHolder.setAnchor("99% 99%");
}
public void render(Component parent, IDesktop desktopImpl) {
public void render(Component parent, IDesktop desktopImpl, boolean isShowInDashboard) {
Style style = new Style();
//, .z-anchorchildren
style.setContent(".z-anchorlayout-body { overflow:auto } .z-anchorchildren { overflow:visible } ");
@ -99,9 +127,9 @@ public class DashboardController implements EventListener<MaximizeEvent> {
try
{
noOfCols = MDashboardContent.getForSessionColumnCount();
noOfCols = MDashboardContent.getForSessionColumnCount(isShowInDashboard);
width = noOfCols <= 0 ? 100 : 100 / noOfCols;
for (final MDashboardContent dp : MDashboardContent.getForSession())
for (final MDashboardContent dp : MDashboardContent.getForSession(isShowInDashboard))
{
int columnNo = dp.getColumnNo();
if(dashboardColumnLayout == null || currentColumnNo != columnNo)
@ -129,6 +157,7 @@ public class DashboardController implements EventListener<MaximizeEvent> {
panel.setTooltiptext(description);
panel.setCollapsible(dp.isCollapsible());
panel.setOpen(!dp.isCollapsedByDefault());
panel.setBorder("normal");
dashboardColumnLayout.appendChild(panel);
@ -181,6 +210,67 @@ public class DashboardController implements EventListener<MaximizeEvent> {
content.appendChild(btn);
panelEmpty = false;
}
//Report & Process
int AD_Process_ID = dp.getAD_Process_ID();
if(AD_Process_ID > 0)
{
String sql = "SELECT AD_MENU_ID FROM AD_MENU WHERE AD_Process_ID=?";
int AD_Menu_ID = DB.getSQLValue(null, sql, AD_Process_ID);
ToolBarButton btn = new ToolBarButton();
MMenu menu = new MMenu(Env.getCtx(), AD_Menu_ID, null);
btn.setAttribute("AD_Menu_ID", AD_Menu_ID);
btn.addEventListener(Events.ON_CLICK, this);
panelEmpty = false;
if (dp.isEmbedReportContent())
{
String processParameters = dp.getProcessParameters();
embedReport(content, AD_Process_ID, processParameters);
content.addEventListener("onZoom", new EventListener<Event>() {
public void onEvent(Event event) throws Exception {
if (event instanceof ZoomEvent)
{
ZoomEvent ze = (ZoomEvent) event;
if (ze.getData() != null && ze.getData() instanceof MQuery) {
AEnv.zoom((MQuery) ze.getData());
}
}
}
});
content.addEventListener(DrillEvent.ON_DRILL_DOWN, new EventListener<Event>() {
public void onEvent(Event event) throws Exception {
if (event instanceof DrillEvent)
{
DrillEvent de = (DrillEvent) event;
if (de.getData() != null && de.getData() instanceof MQuery) {
MQuery query = (MQuery) de.getData();
executeDrill(query);
}
}
}
});
Toolbar toolbar = new Toolbar();
content.appendChild(toolbar);
btn.setLabel("Open run dialog");
toolbar.appendChild(btn);
btn = new ToolBarButton();
btn.setAttribute("AD_Process_ID", AD_Process_ID);
btn.setAttribute("ProcessParameters", processParameters);
btn.addEventListener(Events.ON_CLICK, this);
btn.setLabel("View report in new tab");
toolbar.appendChild(new Separator("vertical"));
toolbar.appendChild(btn);
}
else
{
btn.setLabel(menu.getName());
content.appendChild(btn);
}
}
// Goal
int PA_Goal_ID = dp.getPA_Goal_ID();
@ -256,29 +346,55 @@ public class DashboardController implements EventListener<MaximizeEvent> {
}
}
@Override
public void onEvent(MaximizeEvent event) throws Exception {
Panel panel = (Panel) event.getTarget();
if (event.isMaximized()) {
prevParent = panel.getParent();
prevNext = panel.getNextSibling();
panel.detach();
for (Anchorchildren anchorChildren : columnList) {
anchorChildren.detach();
}
dashboardLayout.appendChild(maximizedHolder);
maximizedHolder.appendChild(panel);
} else {
maximizedHolder.detach();
panel.detach();
prevParent.insertBefore(panel, prevNext);
for (Anchorchildren anchorChildren : columnList) {
dashboardLayout.appendChild(anchorChildren);
}
//following 2 line needed for restore to size the panel correctly
panel.setWidth(null);
panel.setHeight(null);
}
public void onEvent(Event event) throws Exception {
Component comp = event.getTarget();
String eventName = event.getName();
if (event instanceof MaximizeEvent)
{
MaximizeEvent me = (MaximizeEvent) event;
Panel panel = (Panel) event.getTarget();
if (me.isMaximized()) {
prevParent = panel.getParent();
prevNext = panel.getNextSibling();
panel.detach();
for (Anchorchildren anchorChildren : columnList) {
anchorChildren.detach();
}
dashboardLayout.appendChild(maximizedHolder);
maximizedHolder.appendChild(panel);
} else {
maximizedHolder.detach();
panel.detach();
prevParent.insertBefore(panel, prevNext);
for (Anchorchildren anchorChildren : columnList) {
dashboardLayout.appendChild(anchorChildren);
}
//following 2 line needed for restore to size the panel correctly
panel.setWidth(null);
panel.setHeight(null);
}
}
else if(eventName.equals(Events.ON_CLICK))
{
if(comp instanceof ToolBarButton)
{
ToolBarButton btn = (ToolBarButton) comp;
if (btn.getAttribute("AD_Menu_ID") != null)
{
int menuId = (Integer)btn.getAttribute("AD_Menu_ID");
if(menuId > 0) SessionManager.getAppDesktop().onMenuSelected(menuId);
}
else if (btn.getAttribute("AD_Process_ID") != null)
{
int processId = (Integer)btn.getAttribute("AD_Process_ID");
String parameters = (String)btn.getAttribute("ProcessParameters");
if (processId > 0)
openReportInViewer(processId, parameters);
}
}
}
}
/**
@ -331,4 +447,131 @@ public class DashboardController implements EventListener<MaximizeEvent> {
.replace("<", "&lt;");
return htmlString;
}
private ReportEngine runReport(int AD_Process_ID, String parameters) {
MProcess process = MProcess.get(Env.getCtx(), AD_Process_ID);
if (!process.isReport() || process.getAD_ReportView_ID() == 0)
new IllegalArgumentException("Not a Report AD_Process_ID=" + process.getAD_Process_ID()
+ " - " + process.getName());
// Process
int AD_Table_ID = 0;
int Record_ID = 0;
//
MPInstance pInstance = new MPInstance(process, Record_ID);
fillParameter(pInstance, parameters);
//
ProcessInfo pi = new ProcessInfo (process.getName(), process.getAD_Process_ID(),
AD_Table_ID, Record_ID);
pi.setAD_User_ID(Env.getAD_User_ID(Env.getCtx()));
pi.setAD_Client_ID(Env.getAD_Client_ID(Env.getCtx()));
pi.setAD_PInstance_ID(pInstance.getAD_PInstance_ID());
if (!process.processIt(pi, null) && pi.getClassName() != null)
new IllegalStateException("Process failed: (" + pi.getClassName() + ") " + pi.getSummary());
// Report
ReportEngine re = ReportEngine.get(Env.getCtx(), pi);
if (re == null)
new IllegalStateException("Cannot create Report AD_Process_ID=" + process.getAD_Process_ID()
+ " - " + process.getName());
return re;
}
public void embedReport(Component parent, int AD_Process_ID, String parameters) throws Exception {
ReportEngine re = runReport(AD_Process_ID, parameters);
Iframe iframe = new Iframe();
iframe.setWidth("99%");
iframe.setHeight("90%");
iframe.setStyle("min-height:300px; border: 1px solid lightgray; margin:auto");
File file = File.createTempFile(re.getName(), ".html");
re.createHTML(file, false, AEnv.getLanguage(Env.getCtx()), new HTMLExtension(Executions.getCurrent().getContextPath(), "rp", parent.getUuid()));
AMedia media = new AMedia(re.getName(), "html", "text/html", file, false);
iframe.setContent(media);
parent.appendChild(iframe);
}
protected void openReportInViewer(int AD_Process_ID, String parameters) {
ReportEngine re = runReport(AD_Process_ID, parameters);
new ZkReportViewerProvider().openViewer(re);
}
/**
* Execute Drill to Query
* @param query query
*/
public void executeDrill (MQuery query)
{
int AD_Table_ID = MTable.getTable_ID(query.getTableName());
if (!MRole.getDefault().isCanReport(AD_Table_ID))
{
FDialog.error(0, dashboardLayout.getParent(), "AccessCannotReport", query.getTableName());
return;
}
if (AD_Table_ID != 0)
new WReport(AD_Table_ID, query);
} // executeDrill
private void fillParameter(MPInstance pInstance, String parameters) {
if (parameters != null && parameters.trim().length() > 0) {
Map<String, String> paramMap = new HashMap<String, String>();
String[] params = parameters.split("[,]");
for (String s : params)
{
String[] elements = s.split("[=]");
String key = elements[0];
String value = elements[1];
paramMap.put(key, value);
}
MPInstancePara[] iParams = pInstance.getParameters();
for (MPInstancePara iPara : iParams)
{
String variable = paramMap.get(iPara.getParameterName());
// Value - Constant/Variable
Object value = variable;
if (variable == null
|| (variable != null && variable.length() == 0))
value = null;
else if (variable.indexOf('@') != -1) // we have a variable
{
value = Env.parseContext(Env.getCtx(), 0, variable, false, false);
} // @variable@
// No Value
if (value == null)
{
continue;
}
// Convert to Type
if (DisplayType.isNumeric(iPara.getDisplayType())
|| DisplayType.isID(iPara.getDisplayType()))
{
BigDecimal bd = null;
if (value instanceof BigDecimal)
bd = (BigDecimal)value;
else if (value instanceof Integer)
bd = new BigDecimal (((Integer)value).intValue());
else
bd = new BigDecimal (value.toString());
iPara.setP_Number(bd);
}
else if (DisplayType.isDate(iPara.getDisplayType()))
{
Timestamp ts = null;
if (value instanceof Timestamp)
ts = (Timestamp)value;
else
ts = Timestamp.valueOf(value.toString());
iPara.setP_Date(ts);
}
else
{
iPara.setP_String(value.toString());
}
iPara.saveEx();
}
}
}
}

View File

@ -29,7 +29,6 @@ import org.adempiere.webui.component.ToolBarButton;
import org.adempiere.webui.dashboard.DPActivities;
import org.adempiere.webui.event.MenuListener;
import org.adempiere.webui.panel.HeaderPanel;
import org.adempiere.webui.panel.SidePanel;
import org.adempiere.webui.session.SessionContextListener;
import org.adempiere.webui.session.SessionManager;
import org.adempiere.webui.util.IServerPushCallback;
@ -82,17 +81,17 @@ public class DefaultDesktop extends TabbedDesktop implements MenuListener, Seria
private Tabpanel homeTab;
private DashboardController dashboardController;
private DashboardController dashboardController, sideController;
public DefaultDesktop()
{
super();
dashboardController = new DashboardController();
sideController = new DashboardController();
}
protected Component doCreatePart(Component parent)
{
HeaderPanel pnlHead = new HeaderPanel();
layout = new Borderlayout();
@ -116,7 +115,6 @@ public class DefaultDesktop extends TabbedDesktop implements MenuListener, Seria
w.setSclass("desktop-left-column");
w.setCollapsible(true);
w.setSplittable(true);
w.setTitle(Util.cleanAmp(Msg.getMsg(Env.getCtx(), "Menu")));
w.setFlex(false);
w.addEventListener(Events.ON_OPEN, new EventListener<Event>() {
@Override
@ -131,8 +129,7 @@ public class DefaultDesktop extends TabbedDesktop implements MenuListener, Seria
boolean menuCollapsed= pref.isPropertyBool(UserPreference.P_MENU_COLLAPSED);
w.setOpen(!menuCollapsed);
SidePanel pnlSide = new SidePanel(w);
pnlSide.getMenuPanel().addMenuListener(this);
sideController.render(w, this, false);
windowArea = new Center();
windowArea.setParent(layout);
@ -187,7 +184,7 @@ public class DefaultDesktop extends TabbedDesktop implements MenuListener, Seria
//register as 0
registerWindow(homeTab);
dashboardController.render(homeTab, this);
dashboardController.render(homeTab, this, true);
if (AEnv.isTablet())
{
@ -240,7 +237,11 @@ public class DefaultDesktop extends TabbedDesktop implements MenuListener, Seria
if (dashboardController != null) {
dashboardController.onSetPage(page, layout.getDesktop(), this);
}
}
if (sideController != null) {
sideController.onSetPage(page, layout.getDesktop(), this);
}
}
}
@ -256,6 +257,10 @@ public class DefaultDesktop extends TabbedDesktop implements MenuListener, Seria
if (dashboardController != null) {
dashboardController.onLogOut();
}
if (sideController != null) {
sideController.onLogOut();
}
}
public void updateUI() {

View File

@ -27,7 +27,6 @@ import org.adempiere.webui.dashboard.DashboardPanel;
import org.adempiere.webui.event.MenuListener;
import org.adempiere.webui.panel.ADForm;
import org.adempiere.webui.panel.HeaderPanel;
import org.adempiere.webui.panel.SidePanel;
import org.adempiere.webui.session.SessionContextListener;
import org.adempiere.webui.session.SessionManager;
import org.adempiere.webui.util.IServerPushCallback;
@ -49,9 +48,9 @@ import org.zkoss.zk.ui.event.OpenEvent;
import org.zkoss.zk.ui.util.Clients;
import org.zkoss.zul.Borderlayout;
import org.zkoss.zul.Center;
import org.zkoss.zul.Div;
import org.zkoss.zul.North;
import org.zkoss.zul.West;
import org.zkoss.zul.Div;
/**
* @author hengsin
@ -82,12 +81,13 @@ public class NavBar2Desktop extends TabbedDesktop implements MenuListener, Seria
private Tabpanel homeTab;
private DashboardController dashboardController;
private DashboardController dashboardController, sideController;
public NavBar2Desktop()
{
super();
dashboardController = new DashboardController();
sideController = new DashboardController();
}
protected Component doCreatePart(Component parent)
@ -115,7 +115,6 @@ public class NavBar2Desktop extends TabbedDesktop implements MenuListener, Seria
w.setWidth("300px");
w.setCollapsible(true);
w.setSplittable(true);
w.setTitle(Util.cleanAmp(Msg.getMsg(Env.getCtx(), "Menu")));
w.setFlex(true);
w.addEventListener(Events.ON_OPEN, new EventListener<Event>() {
@Override
@ -130,8 +129,7 @@ public class NavBar2Desktop extends TabbedDesktop implements MenuListener, Seria
boolean menuCollapsed= pref.isPropertyBool(UserPreference.P_MENU_COLLAPSED);
w.setOpen(!menuCollapsed);
SidePanel pnlSide = new SidePanel(w);
pnlSide.getMenuPanel().addMenuListener(this);
sideController.render(w, this, false);
Center center = new Center();
center.setParent(layout);
@ -222,7 +220,7 @@ public class NavBar2Desktop extends TabbedDesktop implements MenuListener, Seria
//register as 0
registerWindow(homeTab);
dashboardController.render(homeTab, this);
dashboardController.render(homeTab, this, true);
}
public void onEvent(Event event)
@ -271,6 +269,9 @@ public class NavBar2Desktop extends TabbedDesktop implements MenuListener, Seria
if (dashboardController != null) {
dashboardController.onSetPage(page, layout.getDesktop(), this);
}
if (sideController != null) {
sideController.onSetPage(page, layout.getDesktop(), this);
}
}
/**
@ -285,6 +286,9 @@ public class NavBar2Desktop extends TabbedDesktop implements MenuListener, Seria
if (dashboardController != null) {
dashboardController.onLogOut();
}
if (sideController != null) {
sideController.onLogOut();
}
}
public void updateUI() {

View File

@ -28,7 +28,7 @@ import org.adempiere.webui.dashboard.DashboardPanel;
import org.adempiere.webui.event.MenuListener;
import org.adempiere.webui.panel.ADForm;
import org.adempiere.webui.panel.HeaderPanel;
import org.adempiere.webui.panel.SidePanel;
import org.adempiere.webui.panel.MenuTreePanel;
import org.adempiere.webui.session.SessionContextListener;
import org.adempiere.webui.session.SessionManager;
import org.adempiere.webui.util.IServerPushCallback;
@ -50,11 +50,11 @@ import org.zkoss.zk.ui.event.OpenEvent;
import org.zkoss.zk.ui.util.Clients;
import org.zkoss.zul.Borderlayout;
import org.zkoss.zul.Center;
import org.zkoss.zul.North;
import org.zkoss.zul.West;
import org.zkoss.zul.Div;
import org.zkoss.zul.North;
import org.zkoss.zul.Treeitem;
import org.zkoss.zul.Treerow;
import org.zkoss.zul.West;
/**
* @author hengsin
@ -144,9 +144,7 @@ public class NavBarDesktop extends TabbedDesktop implements MenuListener, Serial
navigationPanel.setWidth("100%");
navigationPanel.setHeight("100%");
SidePanel pnlSide = new SidePanel(null);
pnlSide.getMenuPanel().addMenuListener(this);
navigationPanel.add(pnlSide, "Application Menu");
navigationPanel.add(new MenuTreePanel(null), "Application Menu");
Div div = new Div();
favPanel = (DPFavourites) Executions.createComponents(FAVOURITES_PATH, div, null);
@ -224,7 +222,7 @@ public class NavBarDesktop extends TabbedDesktop implements MenuListener, Serial
//register as 0
registerWindow(homeTab);
dashboardController.render(homeTab, this);
dashboardController.render(homeTab, this, true);
}
public void onEvent(Event event)
@ -300,7 +298,7 @@ public class NavBarDesktop extends TabbedDesktop implements MenuListener, Serial
public void logout() {
if (dashboardController != null) {
dashboardController.onLogOut();
}
}
}
public void updateUI() {

View File

@ -0,0 +1,333 @@
/******************************************************************************
* Copyright (C) 2012 Elaine Tan *
* Copyright (C) 2012 Trek Global
* This program is free software; you can redistribute it and/or modify it *
* under the terms version 2 of the GNU General Public License as published *
* by the Free Software Foundation. This program is distributed in the hope *
* that it will be useful, but WITHOUT ANY WARRANTY; without even the implied *
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. *
* See the GNU General Public License for more details. *
* You should have received a copy of the GNU General Public License along *
* with this program; if not, write to the Free Software Foundation, Inc., *
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. *
*****************************************************************************/
package org.adempiere.webui.panel;
import java.util.Collection;
import java.util.Enumeration;
import java.util.Properties;
import org.adempiere.webui.apps.AEnv;
import org.adempiere.webui.event.TouchEventHelper;
import org.adempiere.webui.event.TouchEvents;
import org.adempiere.webui.exception.ApplicationException;
import org.adempiere.webui.session.SessionManager;
import org.adempiere.webui.window.ADWindow;
import org.compiere.model.GridTab;
import org.compiere.model.MMenu;
import org.compiere.model.MQuery;
import org.compiere.model.MTree;
import org.compiere.model.MTreeNode;
import org.compiere.model.SystemIDs;
import org.compiere.util.DB;
import org.compiere.util.Env;
import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.event.Event;
import org.zkoss.zk.ui.event.EventListener;
import org.zkoss.zk.ui.event.EventQueues;
import org.zkoss.zk.ui.event.Events;
import org.zkoss.zul.A;
import org.zkoss.zul.Panel;
import org.zkoss.zul.Toolbarbutton;
import org.zkoss.zul.Tree;
import org.zkoss.zul.Treecell;
import org.zkoss.zul.Treechildren;
import org.zkoss.zul.Treecol;
import org.zkoss.zul.Treecols;
import org.zkoss.zul.Treeitem;
import org.zkoss.zul.Treerow;
/**
* Menu Panel Base
* @author Elaine
* @date July 31, 2012
*/
public abstract class AbstractMenuPanel extends Panel implements EventListener<Event>, SystemIDs {
/**
*
*/
private static final long serialVersionUID = -6160708371157917922L;
public static final String MENU_ITEM_SELECTED_QUEUE = "MENU_ITEM_SELECTED_QUEUE";
private Properties ctx;
private Tree menuTree;
public AbstractMenuPanel(Component parent)
{
if (parent != null)
this.setParent(parent);
init();
EventQueues.lookup(MENU_ITEM_SELECTED_QUEUE, EventQueues.APPLICATION, true).subscribe(new EventListener<Event>() {
public void onEvent(Event event) throws Exception {
if (event.getName() == Events.ON_SELECT)
{
Treeitem selectedItem = (Treeitem) event.getData();
if (selectedItem != null)
{
Object value = selectedItem.getValue();
if (value != null)
{
if (menuTree.getSelectedItem() != null && menuTree.getSelectedItem().getValue() != null && menuTree.getSelectedItem().getValue().equals(value))
return;
Collection<Treeitem> items = menuTree.getItems();
for (Treeitem item : items)
{
if (item != null && item.getValue() != null && item.getValue().equals(value))
{
TreeSearchPanel.select(item);
return;
}
}
}
else
{
String label = selectedItem.getLabel();
if (menuTree.getSelectedItem() != null && menuTree.getSelectedItem().getLabel() != null && menuTree.getSelectedItem().getLabel().equals(label))
return;
Collection<Treeitem> items = menuTree.getItems();
for (Treeitem item : items)
{
if (item != null && item.getLabel() != null && item.getLabel().equals(label))
{
TreeSearchPanel.select(item);
return;
}
}
}
}
}
}
});
}
protected void init() {
ctx = Env.getCtx();
int adRoleId = Env.getAD_Role_ID(ctx);
int adTreeId = getTreeId(ctx, adRoleId);
MTree mTree = new MTree(ctx, adTreeId, false, true, null);
MTreeNode rootNode = mTree.getRoot();
initComponents();
initMenu(rootNode);
}
protected void initComponents()
{
this.setWidth("100%");
this.setHeight("100%");
this.setStyle("position: relative");
menuTree = new Tree();
menuTree.setMultiple(false);
menuTree.setId("mnuMain");
menuTree.setWidth("100%");
menuTree.setVflex(true);
menuTree.setSizedByContent(false);
menuTree.setPageSize(-1); // Due to bug in the new paging functionality
menuTree.setStyle("border: none");
}
private void initMenu(MTreeNode rootNode)
{
Treecols treeCols = new Treecols();
Treecol treeCol = new Treecol();
Treechildren rootTreeChildren = new Treechildren();
treeCols.appendChild(treeCol);
menuTree.appendChild(treeCols);
menuTree.appendChild(rootTreeChildren);
generateMenu(rootTreeChildren, rootNode);
}
private int getTreeId(Properties ctx, int adRoleId)
{
int AD_Tree_ID = DB.getSQLValue(null,
"SELECT COALESCE(r.AD_Tree_Menu_ID, ci.AD_Tree_Menu_ID)"
+ "FROM AD_ClientInfo ci"
+ " INNER JOIN AD_Role r ON (ci.AD_Client_ID=r.AD_Client_ID) "
+ "WHERE AD_Role_ID=?", adRoleId);
if (AD_Tree_ID <= 0)
AD_Tree_ID = TREE_MENUPRIMARY; // Menu
return AD_Tree_ID;
}
private void generateMenu(Treechildren treeChildren, MTreeNode mNode)
{
Enumeration<?> nodeEnum = mNode.children();
while(nodeEnum.hasMoreElements())
{
MTreeNode mChildNode = (MTreeNode)nodeEnum.nextElement();
Treeitem treeitem = new Treeitem();
treeChildren.appendChild(treeitem);
treeitem.setTooltiptext(mChildNode.getDescription());
if(mChildNode.getChildCount() != 0)
{
treeitem.setOpen(false);
treeitem.setLabel(mChildNode.getName());
Treecell cell = (Treecell)treeitem.getTreerow().getFirstChild();
cell.setSclass("menu-treecell-cnt");
Treechildren treeItemChildren = new Treechildren();
treeitem.appendChild(treeItemChildren);
generateMenu(treeItemChildren, mChildNode);
if (treeItemChildren.getChildren().size() == 0)
{
treeItemChildren.detach();
}
treeitem.getTreerow().addEventListener(Events.ON_CLICK, this);
}
else
{
treeitem.setValue(String.valueOf(mChildNode.getNode_ID()));
Treerow treeRow = new Treerow();
treeitem.appendChild(treeRow);
Treecell treeCell = new Treecell();
treeRow.appendChild(treeCell);
A link = new A();
treeCell.appendChild(link);
if (mChildNode.isReport())
{
link.setImage("/images/mReport.png");
treeitem.setAttribute("menu.type", "report");
}
else if (mChildNode.isProcess() || mChildNode.isTask())
{
link.setImage("/images/mProcess.png");
treeitem.setAttribute("menu.type", "process");
}
else if (mChildNode.isWorkFlow())
{
link.setImage("/images/mWorkFlow.png");
treeitem.setAttribute("menu.type", "workflow");
}
else
{
link.setImage("/images/mWindow.png");
treeitem.setAttribute("menu.type", "window");
Toolbarbutton newBtn = new Toolbarbutton(null, "/images/New10.png");
newBtn.setStyle("margin-bottom:5px");
treeCell.appendChild(newBtn);
newBtn.addEventListener(Events.ON_CLICK, this);
}
link.setLabel(mChildNode.getName());
link.addEventListener(Events.ON_CLICK, this);
link.setSclass("menu-href");
if (AEnv.isTablet()) {
TouchEventHelper.addOnTapEventListener(link, this);
}
treeitem.getTreerow().setDraggable("favourite"); // Elaine 2008/07/24
}
}
}
public void onEvent(Event event)
{
Component comp = event.getTarget();
String eventName = event.getName();
if (eventName.equals(TouchEvents.ON_TAP))
{
doOnClick(comp);
}
else if (eventName.equals(Events.ON_CLICK) && !TouchEventHelper.isIgnoreClick(comp))
{
doOnClick(comp);
}
}
private void doOnClick(Component comp) {
boolean newRecord = false;
if (comp instanceof A) {
comp = comp.getParent().getParent();
}
if (comp instanceof Toolbarbutton) {
comp = comp.getParent().getParent();
newRecord = true;
}
if (comp instanceof Treerow)
{
Treeitem selectedItem = (Treeitem) comp.getParent();
if(selectedItem.getValue() != null)
{
if (newRecord)
{
try
{
int menuId = Integer.parseInt((String)selectedItem.getValue());
MMenu menu = new MMenu(Env.getCtx(), menuId, null);
MQuery query = new MQuery("");
query.addRestriction("1=2");
query.setRecordCount(0);
ADWindow frame = SessionManager.getAppDesktop().openWindow(menu.getAD_Window_ID(), query);
if(frame == null)
return;
GridTab tab = frame.getADWindowPanel().getActiveGridTab();
tab.dataNew(false);
}
catch (Exception e)
{
throw new ApplicationException(e.getMessage(), e);
}
}
else
{
fireMenuSelectedEvent(selectedItem);
}
}
else
selectedItem.setOpen(!selectedItem.isOpen());
selectedItem.setSelected(true);
EventQueues.lookup(MENU_ITEM_SELECTED_QUEUE, EventQueues.APPLICATION, true).publish(new Event(Events.ON_SELECT, null, selectedItem));
}
}
protected void fireMenuSelectedEvent(Treeitem selectedItem) {
int nodeId = Integer.parseInt((String)selectedItem.getValue());
try
{
SessionManager.getAppDesktop().onMenuSelected(nodeId);
}
catch (Exception e)
{
throw new ApplicationException(e.getMessage(), e);
}
}
public Tree getMenuTree()
{
return menuTree;
}
public Properties getCtx()
{
return ctx;
}
}

View File

@ -0,0 +1,85 @@
/******************************************************************************
* Copyright (C) 2012 Elaine Tan *
* Copyright (C) 2012 Trek Global
* This program is free software; you can redistribute it and/or modify it *
* under the terms version 2 of the GNU General Public License as published *
* by the Free Software Foundation. This program is distributed in the hope *
* that it will be useful, but WITHOUT ANY WARRANTY; without even the implied *
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. *
* See the GNU General Public License for more details. *
* You should have received a copy of the GNU General Public License along *
* with this program; if not, write to the Free Software Foundation, Inc., *
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. *
*****************************************************************************/
package org.adempiere.webui.panel;
import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.event.Event;
import org.zkoss.zk.ui.event.Events;
import org.zkoss.zul.Panelchildren;
import org.zkoss.zul.Style;
import org.zkoss.zul.Toolbar;
import org.zkoss.zul.Toolbarbutton;
/**
* Menu Search Panel
* @author Elaine
* @date July 31, 2012
*/
public class MenuSearchPanel extends AbstractMenuPanel
{
/**
*
*/
private static final long serialVersionUID = 5308522340852904168L;
private TreeSearchPanel pnlSearch;
private MenuTreeFilterPanel filterPanel;
private Toolbarbutton filterBtn;
public MenuSearchPanel(Component parent)
{
super(parent);
}
protected void init()
{
super.init();
pnlSearch.initialise();
}
protected void initComponents()
{
super.initComponents();
Toolbar toolbar = new Toolbar();
toolbar.setMold("panel");
this.appendChild(toolbar);
pnlSearch = new TreeSearchPanel(getMenuTree());
Style style = new Style();
style.setContent(".z-comboitem-img{ vertical-align:top; padding-right:2px; padding-bottom:4px; }");
pnlSearch.insertBefore(style, pnlSearch.getFirstChild());
toolbar.appendChild(pnlSearch);
filterBtn = new Toolbarbutton();
filterBtn.setImage("/images/Preference16.png");
filterBtn.addEventListener(Events.ON_CLICK, this);
toolbar.appendChild(filterBtn);
Panelchildren pc = new Panelchildren();
this.appendChild(pc);
filterPanel = new MenuTreeFilterPanel(getMenuTree(), pnlSearch);
pc.appendChild(filterPanel);
}
public void onEvent(Event event)
{
super.onEvent(event);
if (event.getName().equals(Events.ON_CLICK) && event.getTarget() == filterBtn)
filterPanel.open(filterBtn);
}
}

View File

@ -0,0 +1,185 @@
package org.adempiere.webui.panel;
import org.adempiere.webui.util.TreeItemAction;
import org.adempiere.webui.util.TreeUtils;
import org.zkoss.zk.ui.IdSpace;
import org.zkoss.zk.ui.event.Event;
import org.zkoss.zk.ui.event.EventListener;
import org.zkoss.zk.ui.event.EventQueues;
import org.zkoss.zk.ui.event.Events;
import org.zkoss.zul.Checkbox;
import org.zkoss.zul.Popup;
import org.zkoss.zul.Tree;
import org.zkoss.zul.Treeitem;
import org.zkoss.zul.Vbox;
public class MenuTreeFilterPanel extends Popup implements EventListener<Event>, IdSpace {
private static final long serialVersionUID = 5884898489357885711L;
public static final String MENU_TREE_FILTER_CHECKED_QUEUE = "MENU_TREE_FILTER_CHECKED_QUEUE";
private Tree tree;
private TreeSearchPanel searchPanel;
public MenuTreeFilterPanel(Tree tree, TreeSearchPanel panel) {
super();
this.tree = tree;
this.searchPanel = panel;
Vbox box = new Vbox();
Checkbox report = new Checkbox();
report.setImage("/images/mReport.png");
report.setChecked(true);
report.setId("report");
report.addEventListener(Events.ON_CHECK, this);
box.appendChild(report);
Checkbox process = new Checkbox();
process.setImage("/images/mProcess.png");
process.setChecked(true);
process.setId("process");
process.addEventListener(Events.ON_CHECK, this);
box.appendChild(process);
Checkbox workflow = new Checkbox();
workflow.setImage("/images/mWorkFlow.png");
workflow.setChecked(true);
workflow.setId("workflow");
workflow.addEventListener(Events.ON_CHECK, this);
box.appendChild(workflow);
Checkbox window = new Checkbox();
window.setImage("/images/mWindow.png");
window.setChecked(true);
window.setId("window");
window.addEventListener(Events.ON_CHECK, this);
box.appendChild(window);
Checkbox single = new Checkbox();
single.setLabel("Flat View");
single.setId("flatView");
single.setChecked(false);
single.addEventListener(Events.ON_CHECK, this);
box.appendChild(single);
appendChild(box);
}
public void onEvent(Event event) throws Exception {
final Checkbox chk = (Checkbox) event.getTarget();
if ("flatView".equals(chk.getId()))
toggleFlatView(tree, chk);
else
toggle(tree, chk);
if (searchPanel != null)
searchPanel.refreshSearchList();
tree.invalidate();
EventQueues.lookup(MENU_TREE_FILTER_CHECKED_QUEUE, EventQueues.APPLICATION, true).publish(new Event(Events.ON_CHECK, null, chk));
}
public static void toggleFlatView(Tree tree, final Checkbox chk) {
TreeUtils.traverse(tree, new TreeItemAction() {
public void run(Treeitem treeItem) {
if (treeItem.getAttribute("menu.type") == null)
{
if (chk.isChecked())
{
if (treeItem.getLevel() > 0)
{
treeItem.setVisible(false);
}
}
else
{
treeItem.setVisible(true);
}
}
else
{
if (chk.isChecked())
{
if (treeItem.getParentItem() != null && !treeItem.getParentItem().isVisible())
{
StringBuffer label = new StringBuffer(treeItem.getLabel());
treeItem.setAttribute("flatView.label", treeItem.getLabel());
Treeitem parent = treeItem.getParentItem();
treeItem.setAttribute("flatView.parent", parent);
while(parent != null)
{
if (parent.isVisible())
{
treeItem.detach();
parent.getTreechildren().appendChild(treeItem);
break;
}
String t = parent.getLabel();
label.insert(0, " > ");
label.insert(0, t);
parent = parent.getParentItem();
}
treeItem.setLabel(label.toString());
}
else
{
Treeitem parent = treeItem.getParentItem();
if (parent != null)
parent.getTreechildren().appendChild(treeItem);
}
}
else
{
if (treeItem.getAttribute("flatView.parent") != null)
{
Treeitem parent = (Treeitem) treeItem.getAttribute("flatView.parent");
String label = (String) treeItem.getAttribute("flatView.label");
treeItem.setLabel(label);
treeItem.detach();
parent.getTreechildren().appendChild(treeItem);
treeItem.removeAttribute("flatView.parent");
treeItem.removeAttribute("flatView.label");
}
}
}
}
});
}
public static void toggle(Tree tree, final Checkbox chk) {
TreeUtils.traverse(tree, new TreeItemAction() {
public void run(Treeitem treeItem) {
if (treeItem.getAttribute("menu.type") != null)
{
if (chk.isChecked())
{
if (chk.getId().equals(treeItem.getAttribute("menu.type")))
{
boolean open = false;
Treeitem parent = treeItem.getParentItem();
if (parent != null)
open = parent.isOpen();
treeItem.setVisible(true);
if (parent != null)
parent.setOpen(open);
}
}
else
{
if (chk.getId().equals(treeItem.getAttribute("menu.type")))
{
boolean open = false;
Treeitem parent = treeItem.getParentItem();
if (parent != null)
open = parent.isOpen();
treeItem.setVisible(false);
if (parent != null)
parent.setOpen(open);
}
}
}
}
});
}
}

View File

@ -0,0 +1,153 @@
/******************************************************************************
* Copyright (C) 2012 Elaine Tan *
* Copyright (C) 2012 Trek Global
* This program is free software; you can redistribute it and/or modify it *
* under the terms version 2 of the GNU General Public License as published *
* by the Free Software Foundation. This program is distributed in the hope *
* that it will be useful, but WITHOUT ANY WARRANTY; without even the implied *
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. *
* See the GNU General Public License for more details. *
* You should have received a copy of the GNU General Public License along *
* with this program; if not, write to the Free Software Foundation, Inc., *
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. *
*****************************************************************************/
package org.adempiere.webui.panel;
import org.adempiere.webui.component.ToolBarButton;
import org.adempiere.webui.util.TreeUtils;
import org.compiere.model.MUser;
import org.compiere.util.Env;
import org.compiere.util.Msg;
import org.compiere.util.Util;
import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.event.Event;
import org.zkoss.zk.ui.event.EventListener;
import org.zkoss.zk.ui.event.EventQueues;
import org.zkoss.zk.ui.event.Events;
import org.zkoss.zk.ui.util.Clients;
import org.zkoss.zul.Checkbox;
import org.zkoss.zul.Panelchildren;
import org.zkoss.zul.Toolbar;
/**
* Menu Tree Panel
* @author Elaine
* @date July 31, 2012
*/
public class MenuTreePanel extends AbstractMenuPanel
{
/**
*
*/
private static final long serialVersionUID = -911113870835089567L;
private static final String ON_EXPAND_MENU_EVENT = "onExpandMenu";
private ToolBarButton expandToggle;
public MenuTreePanel(Component parent)
{
super(parent);
}
protected void init()
{
super.init();
// Auto Expand Tree - nmicoud IDEMPIERE 195
if (MUser.get(getCtx()).isMenuAutoExpand())
expandAll();
// Auto Expand Tree - nmicoud IDEMPIERE 195
EventQueues.lookup(MenuTreeFilterPanel.MENU_TREE_FILTER_CHECKED_QUEUE, EventQueues.APPLICATION, true).subscribe(new EventListener<Event>() {
public void onEvent(Event event) throws Exception {
if (event.getName() == Events.ON_CHECK)
{
Checkbox chk = (Checkbox) event.getData();
if (chk != null)
{
if ("flatView".equals(chk.getId()))
MenuTreeFilterPanel.toggleFlatView(getMenuTree(), chk);
else
MenuTreeFilterPanel.toggle(getMenuTree(), chk);
getMenuTree().invalidate();
}
}
}
});
}
protected void initComponents()
{
super.initComponents();
Panelchildren pc = new Panelchildren();
this.appendChild(pc);
pc.appendChild(getMenuTree());
// Elaine 2009/02/27 - expand tree
Toolbar toolbar = new Toolbar();
toolbar.setStyle("verticle-align: middle; padding: 2px");
expandToggle = new ToolBarButton();
expandToggle.setLabel(Util.cleanAmp(Msg.getMsg(Env.getCtx(), "ExpandTree")));
expandToggle.setMode("toggle");
expandToggle.addEventListener(Events.ON_CHECK, this);
toolbar.appendChild(expandToggle);
toolbar.setMold("panel");
this.appendChild(toolbar);
this.addEventListener(ON_EXPAND_MENU_EVENT, this);
}
public void onEvent(Event event)
{
super.onEvent(event);
String eventName = event.getName();
// Elaine 2009/02/27 - expand tree
if (eventName.equals(Events.ON_CHECK) && event.getTarget() == expandToggle)
{
Clients.showBusy(null);
Events.echoEvent(ON_EXPAND_MENU_EVENT, this, null);
}
else if (eventName.equals(ON_EXPAND_MENU_EVENT))
{
expandOnCheck();
Clients.clearBusy();
}
//
}
/**
* expand all node
*/
public void expandAll()
{
if (!expandToggle.isChecked())
expandToggle.setChecked(true);
TreeUtils.expandAll(getMenuTree());
}
/**
* collapse all node
*/
public void collapseAll()
{
if (expandToggle.isChecked())
expandToggle.setChecked(false);
TreeUtils.collapseAll(getMenuTree());
}
/**
* On check event for the expand checkbox
*/
private void expandOnCheck()
{
if (expandToggle.isChecked())
expandAll();
else
collapseAll();
}
//
}

View File

@ -313,7 +313,7 @@ public class TreeSearchPanel extends Panel implements EventListener<Event>, Tree
Events.postEvent(event);
}
private void select(Treeitem selectedItem) {
public static void select(Treeitem selectedItem) {
Treeitem parent = selectedItem.getParentItem();
while (parent != null) {
if (!parent.isOpen())

View File

@ -44,7 +44,7 @@ import org.zkoss.zul.Vbox;
* @date Feb 25, 2007
* @version $Revision: 0.10 $
*/
public class UserPanel extends Vbox implements EventListener
public class UserPanel extends Vbox implements EventListener<Event>
{
private static final long serialVersionUID = -45350536628290540L;
@ -72,13 +72,22 @@ public class UserPanel extends Vbox implements EventListener
this.setWidth("100%");
this.setAlign("right");
//
Hbox hbox = new Hbox();
this.appendChild(hbox);
hbox.appendChild(new MenuSearchPanel(this));
Vbox vbox = new Vbox();
hbox.appendChild(vbox);
lblUserNameValue.setValue(getUserName() + "@" + getClientName() + "." + getOrgName());
lblUserNameValue.setStyle("text-align:right");
LayoutUtils.addSclass("desktop-header-font", lblUserNameValue);
this.appendChild(lblUserNameValue);
vbox.appendChild(lblUserNameValue);
Hbox hbox = new Hbox();
hbox = new Hbox();
vbox.appendChild(hbox);
preference.setLabel(Msg.getMsg(Env.getCtx(), "Preference"));
preference.addEventListener(Events.ON_CLICK, this);
@ -105,8 +114,6 @@ public class UserPanel extends Vbox implements EventListener
logout.setStyle("text-align:right");
LayoutUtils.addSclass("desktop-header-font", logout);
logout.setParent(hbox);
this.appendChild(hbox);
}
private String getUserName()

View File

@ -13,8 +13,6 @@
*****************************************************************************/
package org.adempiere.webui.util;
import java.util.List;
import org.zkoss.zul.DefaultTreeNode;
import org.zkoss.zul.Tree;
import org.zkoss.zul.TreeModel;
@ -77,10 +75,10 @@ public class TreeUtils {
*/
public static void traverse(Treechildren treechildren, TreeItemAction action)
{
List<?> list = treechildren.getChildren();
for(int index = 0; index < list.size(); index++)
Object[] list = treechildren.getChildren().toArray();
for(int index = 0; index < list.length; index++)
{
Object o = list.get(index);
Object o = list[index];
if(o instanceof Treechildren)
{
Treechildren treechild = (Treechildren) o;
@ -91,10 +89,10 @@ public class TreeUtils {
Treeitem treeitem = (Treeitem) o;
action.run(treeitem);
List<?> treeitemChildren = treeitem.getChildren();
for(int childIndex = 0; childIndex < treeitemChildren.size(); childIndex++)
Object[] treeitemChildren = treeitem.getChildren().toArray();
for(int childIndex = 0; childIndex < treeitemChildren.length; childIndex++)
{
Object child = treeitemChildren.get(childIndex);
Object child = treeitemChildren[childIndex];
if(child instanceof Treechildren)
{
Treechildren treechild = (Treechildren) child;

View File

@ -16,7 +16,8 @@ bin.includes = META-INF/,\
WEB-INF/lib/atmosphere-compat-jbossweb-0.9.jar,\
WEB-INF/lib/atmosphere-compat-tomcat-0.9.jar,\
WEB-INF/lib/atmosphere-compat-tomcat7-0.9.jar,\
metainfo/
metainfo/,\
WEB-INF/lib/calendar.jar
src.includes = WEB-INF/classes/,\
WEB-INF/tld/,\
WEB-INF/web.xml,\

View File

@ -0,0 +1,157 @@
.float-left {
float: left;
}
.float-right {
float: right;
margin-top: 5px;
padding-right: 10px;
}
.refresh {
background: none !important;
text-decoration: underline !important;
border: 0 !important;
color: blue !important;
}
.tabs * {
background: #7EAAC6;
cursor: pointer;
}
.tabs .bd {
background: #7EAAC6;
zoom: 1;
}
.tabs .t1, .tabs .t2, .tabs .t3 {
background: #7EAAC6;
font-size: 0;
line-height: 0;
margin: 0 2px;
height: 1px;
padding: 0;
overflow: hidden;
}
.tabs .t2 {
margin: 0 1px;
}
.tabs .t3 {
background: white;
height: 1px;
margin: 0 1px;
}
.tabs .b1, .tabs .b2, .tabs .b3 {
background: #7EAAC6;
font-size: 0;
line-height: 0;
margin: 0 2px;
height: 1px;
padding: 0;
overflow: hidden;
}
.tabs .b2 {
margin: 0 1px;
}
.tabs .b3 {
background: white;
height: 1px;
margin: 0 1px;
}
.tabs .cm {
background: #C3E0F2;
margin: 0 1px;
border-left: 1px solid white;
border-right: 1px solid white;
}
.tabs .text {
line-height: 1.2em;
position: relative;
vertical-align: middle;
text-align: center;
white-space: nowrap;
color: #0F3B82;
padding: 2px 5px;
}
.tabs .text, .tabs .text * {
background: none;
}
.cnt {
position: relative;
}
.top {
background: #f1fcff;
border-bottom: 0.2em solid #B5D5E9;
overflow: hidden;
height: 0.7em;
position: absolute;
right: 0px;
left: 0px;
top: 0px;
}
.ie6 .top {
width: 100%;
}
.calendar-toolbar .z-toolbar-body {
width: 100%;
padding-left: 2px;
}
.calendar-toolbar {
margin: -3px;
padding-top: 5px;
}
.gecko2 .calendar-toolbar {
margin: -3px;
}
.arrows .cnt {
background: #CCE5F4;
zoom: 1;
}
.arrow-left {
border-color: #CCE5F4 #7EAAC6 #CCE5F4 #CCE5F4;
border-style: solid;
border-width: 5px;
height: 0;
width: 0;
top: 4px;
left: 5px;
position: absolute;
font-size: 0;
line-height: 0;
}
.arrow-right {
border-color: #CCE5F4 #CCE5F4 #CCE5F4 #7EAAC6;
border-style: solid;
border-width: 5px;
height: 0;
width: 0;
top: 4px;
left: 11px;
position: absolute;
font-size: 0;
line-height: 0;
}
.arrow-over .cnt {
background-color: #B9D0DE;
}
.arrow-over .arrow-left {
border-color: #B9D0DE white #B9D0DE #B9D0DE;
}
.arrow-over .arrow-right {
border-color: #B9D0DE #B9D0DE #B9D0DE white;
}
.blue *, .red *, .green *, .purple *, .khaki * {
color: white;
text-align: center;
}
.red {
background: #D96666!important;
}
.blue {
background: #668CD9!important;
}
.green {
background: #4CB052!important;
}
.khaki {
background: #BFBF4D!important;
}
.purple {
background: #B373B3!important;
}

View File

@ -0,0 +1,58 @@
<?xml version="1.0" encoding="UTF-8"?>
<?component name="divtab" macro-uri="divtab.zul"?>
<?component name="divarrow" macro-uri="divarrow.zul"?>
<zk>
<style src="calendar.css"/>
<borderlayout id="main">
<center border="none">
<calendars firstDayOfWeek="Monday" model="${cm}" mold="month" id="cal">
<toolbar sclass="calendar-toolbar">
<div class="float-left">
<hbox>
<divarrow id="divArrowLeft" type="arrow-left"/>
<divarrow id="divArrowRight" type="arrow-right"/>
<div>
<button id="btnCurrentDate" mold="os" label="today"/>
<button id="btnSwitchTimeZone" mold="os" label="Switch TimeZone"/>
<span id="FDOW">
First Day of Week:
<listbox id="lbxFDOW" mold="select">
<listitem forEach="Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday" label="${each}" />
</listbox>
</span>
<span>
Request Type:
<listbox id="lbxRequestTypes" mold="select"/>
</span>
<separator orient="vertical"/>
<label id="lblDate"/>
<toolbarbutton id="btnRefresh" label="Refresh" class="refresh"/>
</div>
</hbox>
</div>
<div class="float-right">
<hbox>
<divtab id="divTabDay" text="Day"/>
<divtab id="divTabWeek" text="Week"/>
<divtab id="divTabWeekdays" text="5 Days"/>
<divtab id="divTabMonth" text="Month"/>
</hbox>
</div>
</toolbar>
</calendars>
</center>
<south open="false" size="300px" flex="true" title="Events Analysis" collapsible="true">
<image id="mychart" width="600" height="250"/>
</south>
</borderlayout>
<popup id="updateMsg" width="320px">
<image src="~./zk/img/progress2.gif"/>
<label id="popupLabel"/>
<timer id="timer" delay="1000" running="false">
<attribute name="onTimer">
updateMsg.close();
</attribute>
</timer>
</popup>
</zk>

View File

@ -0,0 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?>
<?component name="divarrow" macro-uri="divarrow.zul"?>
<zk>
<style src="calendar.css"/>
<calendars firstDayOfWeek="Monday" model="${cm}" mold="month" id="cal">
<toolbar sclass="calendar-toolbar">
<div class="float-left">
<hbox>
<divarrow id="divArrowLeft" type="arrow-left"/>
<divarrow id="divArrowRight" type="arrow-right"/>
<div>
<button id="btnCurrentDate" mold="os" label="today"/>
<separator orient="vertical" spacing="2px"/>
<label id="lblDate"/>
<toolbarbutton id="btnRefresh" label="Refresh" class="refresh"/>
<toolbarbutton id="btnCal" image="/images/Calendar16.png"/>
</div>
</hbox>
</div>
</toolbar>
</calendars>
</zk>

View File

@ -0,0 +1,26 @@
<div class="tabs arrows" xmlns:w="client" forward="onMoveDate(${arg.type})"
w:unbind_="function(){this.$unbind_();jq(this).unbind('mouseover').unbind('mouseout');}">
<attribute w:name="bind_"><![CDATA[
function () {
this.$bind_();
jq(this).bind('mouseover',function(evt){jq(evt.currentTarget).addClass('arrow-over');})
.bind('mouseout',function(evt){jq(evt.currentTarget).removeClass('arrow-over');});
}
]]></attribute>
<div class="t1"/>
<div class="t2">
<div class="t3" />
</div>
<div class="bd">
<div class="cm cnt">
<div class="text"
style="position:relative; width:15px; height:15px;">
<div sclass="${arg.type}" />
</div>
</div>
</div>
<div class="b2">
<div class="b3" />
</div>
<div class="b1" />
</div>

View File

@ -0,0 +1,12 @@
<div class="tabs" forward="onUpdateView(${arg.text})">
<div class="t1" />
<div class="t2">
<div class="t3" />
</div>
<div class="bd">
<div class="cm cnt">
<div class="top" />
<div class="text">${arg.text}</div>
</div>
</div>
</div>

Binary file not shown.

After

Width:  |  Height:  |  Size: 377 B

View File

@ -551,3 +551,44 @@ img.z-group-img-close {
.z-textbox-readonly, .z-intbox-readonly, .z-longbox-readonly, .z-doublebox-readonly, .z-decimalbox-readonly {
background-color: #F0F0F0;
}
<%-- menu tree cell --%>
div.z-tree-body td.menu-tree-cell {
cursor: pointer;
padding: 0 2px;
font-size: ${fontSizeM};
font-weight: normal;
overflow: visible;
}
div.menu-tree-cell-cnt {
border: 0; margin: 0; padding: 0;
font-family: ${fontFamilyC};
font-size: ${fontSizeM}; font-weight: normal;
white-space:nowrap
}
td.menu-tree-cell-disd * {
color: #C5CACB !important; cursor: default!important;
}
td.menu-tree-cell-disd a:visited, td.menu-tree-cell-disd a:hover {
text-decoration: none !important;
cursor: default !important;;
border-color: #D0DEF0 !important;
}
div.z-dottree-body td.menu-tree-cell {
cursor: pointer; padding: 0 2px;
font-size: ${fontSizeM}; font-weight: normal; overflow: visible;
}
div.z-filetree-body td.menu-tree-cell {
cursor: pointer; padding: 0 2px;
font-size: ${fontSizeM}; font-weight: normal; overflow: visible;
}
div.z-vfiletree-body td.menu-tree-cell {
cursor: pointer; padding: 0 2px;
font-size: ${fontSizeM}; font-weight: normal; overflow: visible;
}

View File

@ -1,2 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<window use="org.adempiere.webui.dashboard.DPCalendar"/>

View File

@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8"?>
<window use="org.adempiere.webui.dashboard.DPGoogleCalendar"/>

View File

@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8"?>
<window use="org.adempiere.webui.dashboard.DPMenuTree"/>