Ticket #1001002: Move the Menu to be a Portlet
This commit is contained in:
parent
54db8b6742
commit
c13dcad28d
|
@ -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)
|
||||||
|
;
|
|
@ -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)
|
||||||
|
;
|
|
@ -62,6 +62,21 @@ public interface I_PA_DashboardContent
|
||||||
*/
|
*/
|
||||||
public int getAD_Org_ID();
|
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 */
|
/** Column name AD_Window_ID */
|
||||||
public static final String COLUMNNAME_AD_Window_ID = "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 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 */
|
/** Column name ColumnNo */
|
||||||
public static final String COLUMNNAME_ColumnNo = "ColumnNo";
|
public static final String COLUMNNAME_ColumnNo = "ColumnNo";
|
||||||
|
@ -154,6 +169,19 @@ public interface I_PA_DashboardContent
|
||||||
*/
|
*/
|
||||||
public boolean isActive();
|
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 */
|
/** Column name IsCollapsible */
|
||||||
public static final String COLUMNNAME_IsCollapsible = "IsCollapsible";
|
public static final String COLUMNNAME_IsCollapsible = "IsCollapsible";
|
||||||
|
|
||||||
|
@ -167,6 +195,32 @@ public interface I_PA_DashboardContent
|
||||||
*/
|
*/
|
||||||
public boolean isCollapsible();
|
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 */
|
/** Column name Line */
|
||||||
public static final String COLUMNNAME_Line = "Line";
|
public static final String COLUMNNAME_Line = "Line";
|
||||||
|
|
||||||
|
@ -196,12 +250,21 @@ public interface I_PA_DashboardContent
|
||||||
/** Column name PA_DashboardContent_ID */
|
/** Column name PA_DashboardContent_ID */
|
||||||
public static final String COLUMNNAME_PA_DashboardContent_ID = "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);
|
public void setPA_DashboardContent_ID (int PA_DashboardContent_ID);
|
||||||
|
|
||||||
/** Get PA_DashboardContent_ID */
|
/** Get Dashboard Content */
|
||||||
public int getPA_DashboardContent_ID();
|
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 */
|
/** Column name PA_Goal_ID */
|
||||||
public static final String COLUMNNAME_PA_Goal_ID = "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 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 */
|
/** Column name Updated */
|
||||||
public static final String COLUMNNAME_Updated = "Updated";
|
public static final String COLUMNNAME_Updated = "Updated";
|
||||||
|
|
|
@ -88,6 +88,19 @@ public interface I_R_RequestType
|
||||||
*/
|
*/
|
||||||
public String getConfidentialType();
|
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 */
|
/** Column name Created */
|
||||||
public static final String COLUMNNAME_Created = "Created";
|
public static final String COLUMNNAME_Created = "Created";
|
||||||
|
|
||||||
|
@ -130,6 +143,19 @@ public interface I_R_RequestType
|
||||||
*/
|
*/
|
||||||
public int getDueDateTolerance();
|
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 */
|
/** Column name IsActive */
|
||||||
public static final String COLUMNNAME_IsActive = "IsActive";
|
public static final String COLUMNNAME_IsActive = "IsActive";
|
||||||
|
|
||||||
|
@ -273,6 +299,15 @@ public interface I_R_RequestType
|
||||||
*/
|
*/
|
||||||
public int getR_RequestType_ID();
|
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 */
|
/** Column name R_StatusCategory_ID */
|
||||||
public static final String COLUMNNAME_R_StatusCategory_ID = "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 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 */
|
/** Column name Updated */
|
||||||
public static final String COLUMNNAME_Updated = "Updated";
|
public static final String COLUMNNAME_Updated = "Updated";
|
||||||
|
|
|
@ -20,22 +20,23 @@ public class MDashboardContent extends X_PA_DashboardContent
|
||||||
*/
|
*/
|
||||||
private static final long serialVersionUID = 5425307033413466516L;
|
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;
|
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()]);
|
return list.toArray(new MDashboardContent[list.size()]);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Query getForSessionQuery()
|
public static Query getForSessionQuery(boolean isShowInDashboard)
|
||||||
{
|
{
|
||||||
Properties ctx = Env.getCtx();
|
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)
|
.setOnlyActiveRecords(true)
|
||||||
.setApplyAccessFilter(true, false)
|
.setApplyAccessFilter(true, false)
|
||||||
.setOrderBy(COLUMNNAME_ColumnNo+","+COLUMNNAME_AD_Client_ID+","+COLUMNNAME_Line);
|
.setOrderBy(COLUMNNAME_ColumnNo+","+COLUMNNAME_AD_Client_ID+","+COLUMNNAME_Line);
|
||||||
|
|
|
@ -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 */
|
/** Standard Constructor */
|
||||||
public X_PA_DashboardContent (Properties ctx, int PA_DashboardContent_ID, String trxName)
|
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);
|
super (ctx, PA_DashboardContent_ID, trxName);
|
||||||
/** if (PA_DashboardContent_ID == 0)
|
/** if (PA_DashboardContent_ID == 0)
|
||||||
{
|
{
|
||||||
|
setIsCollapsedByDefault (false);
|
||||||
|
// N
|
||||||
setIsCollapsible (true);
|
setIsCollapsible (true);
|
||||||
// Y
|
// Y
|
||||||
|
setIsEmbedReportContent (false);
|
||||||
|
// N
|
||||||
|
setIsShowInDashboard (true);
|
||||||
|
// 'Y'
|
||||||
setName (null);
|
setName (null);
|
||||||
setPA_DashboardContent_ID (0);
|
setPA_DashboardContent_ID (0);
|
||||||
} */
|
} */
|
||||||
|
@ -75,9 +81,37 @@ public class X_PA_DashboardContent extends PO implements I_PA_DashboardContent,
|
||||||
return sb.toString();
|
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()); }
|
.getPO(getAD_Window_ID(), get_TrxName()); }
|
||||||
|
|
||||||
/** Set Window.
|
/** Set Window.
|
||||||
|
@ -178,6 +212,30 @@ public class X_PA_DashboardContent extends PO implements I_PA_DashboardContent,
|
||||||
return (String)get_Value(COLUMNNAME_HTML);
|
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.
|
/** Set Collapsible.
|
||||||
@param IsCollapsible
|
@param IsCollapsible
|
||||||
Flag to indicate the state of the dashboard panel
|
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;
|
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.
|
/** Set Line No.
|
||||||
@param Line
|
@param Line
|
||||||
Unique line for this document
|
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());
|
return new KeyNamePair(get_ID(), getName());
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Set PA_DashboardContent_ID.
|
/** Set Dashboard Content.
|
||||||
@param PA_DashboardContent_ID PA_DashboardContent_ID */
|
@param PA_DashboardContent_ID Dashboard Content */
|
||||||
public void setPA_DashboardContent_ID (int PA_DashboardContent_ID)
|
public void setPA_DashboardContent_ID (int PA_DashboardContent_ID)
|
||||||
{
|
{
|
||||||
if (PA_DashboardContent_ID < 1)
|
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));
|
set_ValueNoCheck (COLUMNNAME_PA_DashboardContent_ID, Integer.valueOf(PA_DashboardContent_ID));
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Get PA_DashboardContent_ID.
|
/** Get Dashboard Content.
|
||||||
@return PA_DashboardContent_ID */
|
@return Dashboard Content */
|
||||||
public int getPA_DashboardContent_ID ()
|
public int getPA_DashboardContent_ID ()
|
||||||
{
|
{
|
||||||
Integer ii = (Integer)get_Value(COLUMNNAME_PA_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();
|
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()); }
|
.getPO(getPA_Goal_ID(), get_TrxName()); }
|
||||||
|
|
||||||
/** Set Goal.
|
/** Set Goal.
|
||||||
|
@ -295,6 +415,23 @@ public class X_PA_DashboardContent extends PO implements I_PA_DashboardContent,
|
||||||
return ii.intValue();
|
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.
|
/** Set ZUL File Path.
|
||||||
@param ZulFilePath
|
@param ZulFilePath
|
||||||
Absolute path to zul file
|
Absolute path to zul 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 */
|
/** Standard Constructor */
|
||||||
public X_R_RequestType (Properties ctx, int R_RequestType_ID, String trxName)
|
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);
|
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.
|
/** Set Description.
|
||||||
@param Description
|
@param Description
|
||||||
Optional short description of the record
|
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();
|
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.
|
/** Set Create Change Request.
|
||||||
@param IsAutoChangeRequest
|
@param IsAutoChangeRequest
|
||||||
Automatically create BOM (Engineering) Change Request
|
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();
|
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()); }
|
.getPO(getR_StatusCategory_ID(), get_TrxName()); }
|
||||||
|
|
||||||
/** Set Status Category.
|
/** Set Status Category.
|
||||||
|
|
|
@ -143,7 +143,7 @@ public class HtmlDashboard extends JPanel implements MouseListener,
|
||||||
String appendToHome = null;
|
String appendToHome = null;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
for (final MDashboardContent dp : MDashboardContent.getForSession())
|
for (final MDashboardContent dp : MDashboardContent.getForSession(true))
|
||||||
{
|
{
|
||||||
if (!Util.isEmpty(dp.getZulFilePath(), true))
|
if (!Util.isEmpty(dp.getZulFilePath(), true))
|
||||||
continue;
|
continue;
|
||||||
|
|
|
@ -1,11 +1,12 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<classpath>
|
<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.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="con" path="org.eclipse.pde.core.requiredPlugins"/>
|
||||||
<classpathentry kind="src" path="WEB-INF/src"/>
|
<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-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-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-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/atmosphere-runtime-0.9.jar" sourcepath="WEB-INF/lib/src/atmosphere-runtime-0.9-sources.jar"/>
|
||||||
<classpathentry kind="output" path="WEB-INF/classes"/>
|
<classpathentry kind="lib" path="WEB-INF/lib/calendar.jar"/>
|
||||||
</classpath>
|
<classpathentry kind="output" path="WEB-INF/classes"/>
|
||||||
|
</classpath>
|
||||||
|
|
|
@ -18,7 +18,8 @@ Bundle-ClassPath: WEB-INF/classes/,
|
||||||
WEB-INF/lib/atmosphere-runtime-0.9.jar,
|
WEB-INF/lib/atmosphere-runtime-0.9.jar,
|
||||||
WEB-INF/lib/atmosphere-compat-jbossweb-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-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,
|
Export-Package: metainfo.zk,
|
||||||
org.adempiere.webui,
|
org.adempiere.webui,
|
||||||
org.adempiere.webui.acct,
|
org.adempiere.webui.acct,
|
||||||
|
|
|
@ -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;
|
||||||
|
}
|
||||||
|
}
|
|
@ -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);
|
||||||
|
}
|
||||||
|
}
|
|
@ -20,14 +20,14 @@ import org.zkoss.zul.Iframe;
|
||||||
* @author Elaine
|
* @author Elaine
|
||||||
* @date November 20, 2008
|
* @date November 20, 2008
|
||||||
*/
|
*/
|
||||||
public class DPCalendar extends DashboardPanel {
|
public class DPGoogleCalendar extends DashboardPanel {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
private static final long serialVersionUID = -6420016898259232438L;
|
private static final long serialVersionUID = -6420016898259232438L;
|
||||||
|
|
||||||
public DPCalendar()
|
public DPGoogleCalendar()
|
||||||
{
|
{
|
||||||
super();
|
super();
|
||||||
|
|
|
@ -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;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -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();
|
||||||
|
}
|
||||||
|
}
|
|
@ -14,24 +14,49 @@
|
||||||
package org.adempiere.webui.desktop;
|
package org.adempiere.webui.desktop;
|
||||||
|
|
||||||
import java.io.BufferedReader;
|
import java.io.BufferedReader;
|
||||||
|
import java.io.File;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.InputStreamReader;
|
import java.io.InputStreamReader;
|
||||||
|
import java.math.BigDecimal;
|
||||||
import java.net.URL;
|
import java.net.URL;
|
||||||
|
import java.sql.Timestamp;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
import java.util.logging.Level;
|
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.WGraph;
|
||||||
import org.adempiere.webui.apps.graph.WPerformanceDetail;
|
import org.adempiere.webui.apps.graph.WPerformanceDetail;
|
||||||
import org.adempiere.webui.component.ToolBarButton;
|
import org.adempiere.webui.component.ToolBarButton;
|
||||||
import org.adempiere.webui.dashboard.DashboardPanel;
|
import org.adempiere.webui.dashboard.DashboardPanel;
|
||||||
import org.adempiere.webui.dashboard.DashboardRunnable;
|
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.I_AD_Menu;
|
||||||
import org.compiere.model.MDashboardContent;
|
import org.compiere.model.MDashboardContent;
|
||||||
import org.compiere.model.MGoal;
|
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.model.X_PA_DashboardContent;
|
||||||
|
import org.compiere.print.ReportEngine;
|
||||||
|
import org.compiere.process.ProcessInfo;
|
||||||
import org.compiere.util.CLogger;
|
import org.compiere.util.CLogger;
|
||||||
|
import org.compiere.util.DB;
|
||||||
|
import org.compiere.util.DisplayType;
|
||||||
import org.compiere.util.Env;
|
import org.compiere.util.Env;
|
||||||
|
import org.zkoss.util.media.AMedia;
|
||||||
import org.zkoss.zk.ui.Component;
|
import org.zkoss.zk.ui.Component;
|
||||||
import org.zkoss.zk.ui.Desktop;
|
import org.zkoss.zk.ui.Desktop;
|
||||||
import org.zkoss.zk.ui.Executions;
|
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.Anchorchildren;
|
||||||
import org.zkoss.zul.Anchorlayout;
|
import org.zkoss.zul.Anchorlayout;
|
||||||
import org.zkoss.zul.Html;
|
import org.zkoss.zul.Html;
|
||||||
|
import org.zkoss.zul.Iframe;
|
||||||
import org.zkoss.zul.Panel;
|
import org.zkoss.zul.Panel;
|
||||||
import org.zkoss.zul.Panelchildren;
|
import org.zkoss.zul.Panelchildren;
|
||||||
|
import org.zkoss.zul.Separator;
|
||||||
import org.zkoss.zul.Style;
|
import org.zkoss.zul.Style;
|
||||||
|
import org.zkoss.zul.Toolbar;
|
||||||
import org.zkoss.zul.Toolbarbutton;
|
import org.zkoss.zul.Toolbarbutton;
|
||||||
import org.zkoss.zul.Vlayout;
|
import org.zkoss.zul.Vlayout;
|
||||||
|
|
||||||
|
@ -53,7 +81,7 @@ import org.zkoss.zul.Vlayout;
|
||||||
* @author hengsin
|
* @author hengsin
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public class DashboardController implements EventListener<MaximizeEvent> {
|
public class DashboardController implements EventListener<Event> {
|
||||||
|
|
||||||
private final static CLogger logger = CLogger.getCLogger(DashboardController.class);
|
private final static CLogger logger = CLogger.getCLogger(DashboardController.class);
|
||||||
private Component prevParent;
|
private Component prevParent;
|
||||||
|
@ -77,7 +105,7 @@ public class DashboardController implements EventListener<MaximizeEvent> {
|
||||||
maximizedHolder.setAnchor("99% 99%");
|
maximizedHolder.setAnchor("99% 99%");
|
||||||
}
|
}
|
||||||
|
|
||||||
public void render(Component parent, IDesktop desktopImpl) {
|
public void render(Component parent, IDesktop desktopImpl, boolean isShowInDashboard) {
|
||||||
Style style = new Style();
|
Style style = new Style();
|
||||||
//, .z-anchorchildren
|
//, .z-anchorchildren
|
||||||
style.setContent(".z-anchorlayout-body { overflow:auto } .z-anchorchildren { overflow:visible } ");
|
style.setContent(".z-anchorlayout-body { overflow:auto } .z-anchorchildren { overflow:visible } ");
|
||||||
|
@ -99,9 +127,9 @@ public class DashboardController implements EventListener<MaximizeEvent> {
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
noOfCols = MDashboardContent.getForSessionColumnCount();
|
noOfCols = MDashboardContent.getForSessionColumnCount(isShowInDashboard);
|
||||||
width = noOfCols <= 0 ? 100 : 100 / noOfCols;
|
width = noOfCols <= 0 ? 100 : 100 / noOfCols;
|
||||||
for (final MDashboardContent dp : MDashboardContent.getForSession())
|
for (final MDashboardContent dp : MDashboardContent.getForSession(isShowInDashboard))
|
||||||
{
|
{
|
||||||
int columnNo = dp.getColumnNo();
|
int columnNo = dp.getColumnNo();
|
||||||
if(dashboardColumnLayout == null || currentColumnNo != columnNo)
|
if(dashboardColumnLayout == null || currentColumnNo != columnNo)
|
||||||
|
@ -129,6 +157,7 @@ public class DashboardController implements EventListener<MaximizeEvent> {
|
||||||
panel.setTooltiptext(description);
|
panel.setTooltiptext(description);
|
||||||
|
|
||||||
panel.setCollapsible(dp.isCollapsible());
|
panel.setCollapsible(dp.isCollapsible());
|
||||||
|
panel.setOpen(!dp.isCollapsedByDefault());
|
||||||
|
|
||||||
panel.setBorder("normal");
|
panel.setBorder("normal");
|
||||||
dashboardColumnLayout.appendChild(panel);
|
dashboardColumnLayout.appendChild(panel);
|
||||||
|
@ -181,6 +210,67 @@ public class DashboardController implements EventListener<MaximizeEvent> {
|
||||||
content.appendChild(btn);
|
content.appendChild(btn);
|
||||||
panelEmpty = false;
|
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
|
// Goal
|
||||||
int PA_Goal_ID = dp.getPA_Goal_ID();
|
int PA_Goal_ID = dp.getPA_Goal_ID();
|
||||||
|
@ -256,29 +346,55 @@ public class DashboardController implements EventListener<MaximizeEvent> {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
public void onEvent(Event event) throws Exception {
|
||||||
public void onEvent(MaximizeEvent event) throws Exception {
|
Component comp = event.getTarget();
|
||||||
Panel panel = (Panel) event.getTarget();
|
String eventName = event.getName();
|
||||||
if (event.isMaximized()) {
|
|
||||||
prevParent = panel.getParent();
|
if (event instanceof MaximizeEvent)
|
||||||
prevNext = panel.getNextSibling();
|
{
|
||||||
panel.detach();
|
MaximizeEvent me = (MaximizeEvent) event;
|
||||||
for (Anchorchildren anchorChildren : columnList) {
|
Panel panel = (Panel) event.getTarget();
|
||||||
anchorChildren.detach();
|
if (me.isMaximized()) {
|
||||||
}
|
prevParent = panel.getParent();
|
||||||
dashboardLayout.appendChild(maximizedHolder);
|
prevNext = panel.getNextSibling();
|
||||||
maximizedHolder.appendChild(panel);
|
panel.detach();
|
||||||
} else {
|
for (Anchorchildren anchorChildren : columnList) {
|
||||||
maximizedHolder.detach();
|
anchorChildren.detach();
|
||||||
panel.detach();
|
}
|
||||||
prevParent.insertBefore(panel, prevNext);
|
dashboardLayout.appendChild(maximizedHolder);
|
||||||
for (Anchorchildren anchorChildren : columnList) {
|
maximizedHolder.appendChild(panel);
|
||||||
dashboardLayout.appendChild(anchorChildren);
|
} else {
|
||||||
}
|
maximizedHolder.detach();
|
||||||
//following 2 line needed for restore to size the panel correctly
|
panel.detach();
|
||||||
panel.setWidth(null);
|
prevParent.insertBefore(panel, prevNext);
|
||||||
panel.setHeight(null);
|
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("<", "<");
|
.replace("<", "<");
|
||||||
return htmlString;
|
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();
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -29,7 +29,6 @@ import org.adempiere.webui.component.ToolBarButton;
|
||||||
import org.adempiere.webui.dashboard.DPActivities;
|
import org.adempiere.webui.dashboard.DPActivities;
|
||||||
import org.adempiere.webui.event.MenuListener;
|
import org.adempiere.webui.event.MenuListener;
|
||||||
import org.adempiere.webui.panel.HeaderPanel;
|
import org.adempiere.webui.panel.HeaderPanel;
|
||||||
import org.adempiere.webui.panel.SidePanel;
|
|
||||||
import org.adempiere.webui.session.SessionContextListener;
|
import org.adempiere.webui.session.SessionContextListener;
|
||||||
import org.adempiere.webui.session.SessionManager;
|
import org.adempiere.webui.session.SessionManager;
|
||||||
import org.adempiere.webui.util.IServerPushCallback;
|
import org.adempiere.webui.util.IServerPushCallback;
|
||||||
|
@ -82,17 +81,17 @@ public class DefaultDesktop extends TabbedDesktop implements MenuListener, Seria
|
||||||
|
|
||||||
private Tabpanel homeTab;
|
private Tabpanel homeTab;
|
||||||
|
|
||||||
private DashboardController dashboardController;
|
private DashboardController dashboardController, sideController;
|
||||||
|
|
||||||
public DefaultDesktop()
|
public DefaultDesktop()
|
||||||
{
|
{
|
||||||
super();
|
super();
|
||||||
dashboardController = new DashboardController();
|
dashboardController = new DashboardController();
|
||||||
|
sideController = new DashboardController();
|
||||||
}
|
}
|
||||||
|
|
||||||
protected Component doCreatePart(Component parent)
|
protected Component doCreatePart(Component parent)
|
||||||
{
|
{
|
||||||
|
|
||||||
HeaderPanel pnlHead = new HeaderPanel();
|
HeaderPanel pnlHead = new HeaderPanel();
|
||||||
|
|
||||||
layout = new Borderlayout();
|
layout = new Borderlayout();
|
||||||
|
@ -116,7 +115,6 @@ public class DefaultDesktop extends TabbedDesktop implements MenuListener, Seria
|
||||||
w.setSclass("desktop-left-column");
|
w.setSclass("desktop-left-column");
|
||||||
w.setCollapsible(true);
|
w.setCollapsible(true);
|
||||||
w.setSplittable(true);
|
w.setSplittable(true);
|
||||||
w.setTitle(Util.cleanAmp(Msg.getMsg(Env.getCtx(), "Menu")));
|
|
||||||
w.setFlex(false);
|
w.setFlex(false);
|
||||||
w.addEventListener(Events.ON_OPEN, new EventListener<Event>() {
|
w.addEventListener(Events.ON_OPEN, new EventListener<Event>() {
|
||||||
@Override
|
@Override
|
||||||
|
@ -131,8 +129,7 @@ public class DefaultDesktop extends TabbedDesktop implements MenuListener, Seria
|
||||||
boolean menuCollapsed= pref.isPropertyBool(UserPreference.P_MENU_COLLAPSED);
|
boolean menuCollapsed= pref.isPropertyBool(UserPreference.P_MENU_COLLAPSED);
|
||||||
w.setOpen(!menuCollapsed);
|
w.setOpen(!menuCollapsed);
|
||||||
|
|
||||||
SidePanel pnlSide = new SidePanel(w);
|
sideController.render(w, this, false);
|
||||||
pnlSide.getMenuPanel().addMenuListener(this);
|
|
||||||
|
|
||||||
windowArea = new Center();
|
windowArea = new Center();
|
||||||
windowArea.setParent(layout);
|
windowArea.setParent(layout);
|
||||||
|
@ -187,7 +184,7 @@ public class DefaultDesktop extends TabbedDesktop implements MenuListener, Seria
|
||||||
//register as 0
|
//register as 0
|
||||||
registerWindow(homeTab);
|
registerWindow(homeTab);
|
||||||
|
|
||||||
dashboardController.render(homeTab, this);
|
dashboardController.render(homeTab, this, true);
|
||||||
|
|
||||||
if (AEnv.isTablet())
|
if (AEnv.isTablet())
|
||||||
{
|
{
|
||||||
|
@ -240,7 +237,11 @@ public class DefaultDesktop extends TabbedDesktop implements MenuListener, Seria
|
||||||
|
|
||||||
if (dashboardController != null) {
|
if (dashboardController != null) {
|
||||||
dashboardController.onSetPage(page, layout.getDesktop(), this);
|
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) {
|
if (dashboardController != null) {
|
||||||
dashboardController.onLogOut();
|
dashboardController.onLogOut();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (sideController != null) {
|
||||||
|
sideController.onLogOut();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void updateUI() {
|
public void updateUI() {
|
||||||
|
|
|
@ -27,7 +27,6 @@ import org.adempiere.webui.dashboard.DashboardPanel;
|
||||||
import org.adempiere.webui.event.MenuListener;
|
import org.adempiere.webui.event.MenuListener;
|
||||||
import org.adempiere.webui.panel.ADForm;
|
import org.adempiere.webui.panel.ADForm;
|
||||||
import org.adempiere.webui.panel.HeaderPanel;
|
import org.adempiere.webui.panel.HeaderPanel;
|
||||||
import org.adempiere.webui.panel.SidePanel;
|
|
||||||
import org.adempiere.webui.session.SessionContextListener;
|
import org.adempiere.webui.session.SessionContextListener;
|
||||||
import org.adempiere.webui.session.SessionManager;
|
import org.adempiere.webui.session.SessionManager;
|
||||||
import org.adempiere.webui.util.IServerPushCallback;
|
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.zk.ui.util.Clients;
|
||||||
import org.zkoss.zul.Borderlayout;
|
import org.zkoss.zul.Borderlayout;
|
||||||
import org.zkoss.zul.Center;
|
import org.zkoss.zul.Center;
|
||||||
|
import org.zkoss.zul.Div;
|
||||||
import org.zkoss.zul.North;
|
import org.zkoss.zul.North;
|
||||||
import org.zkoss.zul.West;
|
import org.zkoss.zul.West;
|
||||||
import org.zkoss.zul.Div;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author hengsin
|
* @author hengsin
|
||||||
|
@ -82,12 +81,13 @@ public class NavBar2Desktop extends TabbedDesktop implements MenuListener, Seria
|
||||||
|
|
||||||
private Tabpanel homeTab;
|
private Tabpanel homeTab;
|
||||||
|
|
||||||
private DashboardController dashboardController;
|
private DashboardController dashboardController, sideController;
|
||||||
|
|
||||||
public NavBar2Desktop()
|
public NavBar2Desktop()
|
||||||
{
|
{
|
||||||
super();
|
super();
|
||||||
dashboardController = new DashboardController();
|
dashboardController = new DashboardController();
|
||||||
|
sideController = new DashboardController();
|
||||||
}
|
}
|
||||||
|
|
||||||
protected Component doCreatePart(Component parent)
|
protected Component doCreatePart(Component parent)
|
||||||
|
@ -115,7 +115,6 @@ public class NavBar2Desktop extends TabbedDesktop implements MenuListener, Seria
|
||||||
w.setWidth("300px");
|
w.setWidth("300px");
|
||||||
w.setCollapsible(true);
|
w.setCollapsible(true);
|
||||||
w.setSplittable(true);
|
w.setSplittable(true);
|
||||||
w.setTitle(Util.cleanAmp(Msg.getMsg(Env.getCtx(), "Menu")));
|
|
||||||
w.setFlex(true);
|
w.setFlex(true);
|
||||||
w.addEventListener(Events.ON_OPEN, new EventListener<Event>() {
|
w.addEventListener(Events.ON_OPEN, new EventListener<Event>() {
|
||||||
@Override
|
@Override
|
||||||
|
@ -130,8 +129,7 @@ public class NavBar2Desktop extends TabbedDesktop implements MenuListener, Seria
|
||||||
boolean menuCollapsed= pref.isPropertyBool(UserPreference.P_MENU_COLLAPSED);
|
boolean menuCollapsed= pref.isPropertyBool(UserPreference.P_MENU_COLLAPSED);
|
||||||
w.setOpen(!menuCollapsed);
|
w.setOpen(!menuCollapsed);
|
||||||
|
|
||||||
SidePanel pnlSide = new SidePanel(w);
|
sideController.render(w, this, false);
|
||||||
pnlSide.getMenuPanel().addMenuListener(this);
|
|
||||||
|
|
||||||
Center center = new Center();
|
Center center = new Center();
|
||||||
center.setParent(layout);
|
center.setParent(layout);
|
||||||
|
@ -222,7 +220,7 @@ public class NavBar2Desktop extends TabbedDesktop implements MenuListener, Seria
|
||||||
//register as 0
|
//register as 0
|
||||||
registerWindow(homeTab);
|
registerWindow(homeTab);
|
||||||
|
|
||||||
dashboardController.render(homeTab, this);
|
dashboardController.render(homeTab, this, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void onEvent(Event event)
|
public void onEvent(Event event)
|
||||||
|
@ -271,6 +269,9 @@ public class NavBar2Desktop extends TabbedDesktop implements MenuListener, Seria
|
||||||
if (dashboardController != null) {
|
if (dashboardController != null) {
|
||||||
dashboardController.onSetPage(page, layout.getDesktop(), this);
|
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) {
|
if (dashboardController != null) {
|
||||||
dashboardController.onLogOut();
|
dashboardController.onLogOut();
|
||||||
}
|
}
|
||||||
|
if (sideController != null) {
|
||||||
|
sideController.onLogOut();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void updateUI() {
|
public void updateUI() {
|
||||||
|
|
|
@ -28,7 +28,7 @@ import org.adempiere.webui.dashboard.DashboardPanel;
|
||||||
import org.adempiere.webui.event.MenuListener;
|
import org.adempiere.webui.event.MenuListener;
|
||||||
import org.adempiere.webui.panel.ADForm;
|
import org.adempiere.webui.panel.ADForm;
|
||||||
import org.adempiere.webui.panel.HeaderPanel;
|
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.SessionContextListener;
|
||||||
import org.adempiere.webui.session.SessionManager;
|
import org.adempiere.webui.session.SessionManager;
|
||||||
import org.adempiere.webui.util.IServerPushCallback;
|
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.zk.ui.util.Clients;
|
||||||
import org.zkoss.zul.Borderlayout;
|
import org.zkoss.zul.Borderlayout;
|
||||||
import org.zkoss.zul.Center;
|
import org.zkoss.zul.Center;
|
||||||
import org.zkoss.zul.North;
|
|
||||||
import org.zkoss.zul.West;
|
|
||||||
import org.zkoss.zul.Div;
|
import org.zkoss.zul.Div;
|
||||||
|
import org.zkoss.zul.North;
|
||||||
import org.zkoss.zul.Treeitem;
|
import org.zkoss.zul.Treeitem;
|
||||||
import org.zkoss.zul.Treerow;
|
import org.zkoss.zul.Treerow;
|
||||||
|
import org.zkoss.zul.West;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author hengsin
|
* @author hengsin
|
||||||
|
@ -144,9 +144,7 @@ public class NavBarDesktop extends TabbedDesktop implements MenuListener, Serial
|
||||||
navigationPanel.setWidth("100%");
|
navigationPanel.setWidth("100%");
|
||||||
navigationPanel.setHeight("100%");
|
navigationPanel.setHeight("100%");
|
||||||
|
|
||||||
SidePanel pnlSide = new SidePanel(null);
|
navigationPanel.add(new MenuTreePanel(null), "Application Menu");
|
||||||
pnlSide.getMenuPanel().addMenuListener(this);
|
|
||||||
navigationPanel.add(pnlSide, "Application Menu");
|
|
||||||
|
|
||||||
Div div = new Div();
|
Div div = new Div();
|
||||||
favPanel = (DPFavourites) Executions.createComponents(FAVOURITES_PATH, div, null);
|
favPanel = (DPFavourites) Executions.createComponents(FAVOURITES_PATH, div, null);
|
||||||
|
@ -224,7 +222,7 @@ public class NavBarDesktop extends TabbedDesktop implements MenuListener, Serial
|
||||||
//register as 0
|
//register as 0
|
||||||
registerWindow(homeTab);
|
registerWindow(homeTab);
|
||||||
|
|
||||||
dashboardController.render(homeTab, this);
|
dashboardController.render(homeTab, this, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void onEvent(Event event)
|
public void onEvent(Event event)
|
||||||
|
@ -300,7 +298,7 @@ public class NavBarDesktop extends TabbedDesktop implements MenuListener, Serial
|
||||||
public void logout() {
|
public void logout() {
|
||||||
if (dashboardController != null) {
|
if (dashboardController != null) {
|
||||||
dashboardController.onLogOut();
|
dashboardController.onLogOut();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void updateUI() {
|
public void updateUI() {
|
||||||
|
|
|
@ -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;
|
||||||
|
}
|
||||||
|
}
|
|
@ -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);
|
||||||
|
}
|
||||||
|
}
|
|
@ -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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
|
@ -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();
|
||||||
|
}
|
||||||
|
//
|
||||||
|
}
|
|
@ -313,7 +313,7 @@ public class TreeSearchPanel extends Panel implements EventListener<Event>, Tree
|
||||||
Events.postEvent(event);
|
Events.postEvent(event);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void select(Treeitem selectedItem) {
|
public static void select(Treeitem selectedItem) {
|
||||||
Treeitem parent = selectedItem.getParentItem();
|
Treeitem parent = selectedItem.getParentItem();
|
||||||
while (parent != null) {
|
while (parent != null) {
|
||||||
if (!parent.isOpen())
|
if (!parent.isOpen())
|
||||||
|
|
|
@ -44,7 +44,7 @@ import org.zkoss.zul.Vbox;
|
||||||
* @date Feb 25, 2007
|
* @date Feb 25, 2007
|
||||||
* @version $Revision: 0.10 $
|
* @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;
|
private static final long serialVersionUID = -45350536628290540L;
|
||||||
|
@ -72,13 +72,22 @@ public class UserPanel extends Vbox implements EventListener
|
||||||
this.setWidth("100%");
|
this.setWidth("100%");
|
||||||
this.setAlign("right");
|
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.setValue(getUserName() + "@" + getClientName() + "." + getOrgName());
|
||||||
lblUserNameValue.setStyle("text-align:right");
|
lblUserNameValue.setStyle("text-align:right");
|
||||||
LayoutUtils.addSclass("desktop-header-font", lblUserNameValue);
|
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.setLabel(Msg.getMsg(Env.getCtx(), "Preference"));
|
||||||
preference.addEventListener(Events.ON_CLICK, this);
|
preference.addEventListener(Events.ON_CLICK, this);
|
||||||
|
@ -105,8 +114,6 @@ public class UserPanel extends Vbox implements EventListener
|
||||||
logout.setStyle("text-align:right");
|
logout.setStyle("text-align:right");
|
||||||
LayoutUtils.addSclass("desktop-header-font", logout);
|
LayoutUtils.addSclass("desktop-header-font", logout);
|
||||||
logout.setParent(hbox);
|
logout.setParent(hbox);
|
||||||
|
|
||||||
this.appendChild(hbox);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private String getUserName()
|
private String getUserName()
|
||||||
|
|
|
@ -13,8 +13,6 @@
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
package org.adempiere.webui.util;
|
package org.adempiere.webui.util;
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import org.zkoss.zul.DefaultTreeNode;
|
import org.zkoss.zul.DefaultTreeNode;
|
||||||
import org.zkoss.zul.Tree;
|
import org.zkoss.zul.Tree;
|
||||||
import org.zkoss.zul.TreeModel;
|
import org.zkoss.zul.TreeModel;
|
||||||
|
@ -77,10 +75,10 @@ public class TreeUtils {
|
||||||
*/
|
*/
|
||||||
public static void traverse(Treechildren treechildren, TreeItemAction action)
|
public static void traverse(Treechildren treechildren, TreeItemAction action)
|
||||||
{
|
{
|
||||||
List<?> list = treechildren.getChildren();
|
Object[] list = treechildren.getChildren().toArray();
|
||||||
for(int index = 0; index < list.size(); index++)
|
for(int index = 0; index < list.length; index++)
|
||||||
{
|
{
|
||||||
Object o = list.get(index);
|
Object o = list[index];
|
||||||
if(o instanceof Treechildren)
|
if(o instanceof Treechildren)
|
||||||
{
|
{
|
||||||
Treechildren treechild = (Treechildren) o;
|
Treechildren treechild = (Treechildren) o;
|
||||||
|
@ -91,10 +89,10 @@ public class TreeUtils {
|
||||||
Treeitem treeitem = (Treeitem) o;
|
Treeitem treeitem = (Treeitem) o;
|
||||||
action.run(treeitem);
|
action.run(treeitem);
|
||||||
|
|
||||||
List<?> treeitemChildren = treeitem.getChildren();
|
Object[] treeitemChildren = treeitem.getChildren().toArray();
|
||||||
for(int childIndex = 0; childIndex < treeitemChildren.size(); childIndex++)
|
for(int childIndex = 0; childIndex < treeitemChildren.length; childIndex++)
|
||||||
{
|
{
|
||||||
Object child = treeitemChildren.get(childIndex);
|
Object child = treeitemChildren[childIndex];
|
||||||
if(child instanceof Treechildren)
|
if(child instanceof Treechildren)
|
||||||
{
|
{
|
||||||
Treechildren treechild = (Treechildren) child;
|
Treechildren treechild = (Treechildren) child;
|
||||||
|
|
|
@ -16,7 +16,8 @@ bin.includes = META-INF/,\
|
||||||
WEB-INF/lib/atmosphere-compat-jbossweb-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-tomcat-0.9.jar,\
|
||||||
WEB-INF/lib/atmosphere-compat-tomcat7-0.9.jar,\
|
WEB-INF/lib/atmosphere-compat-tomcat7-0.9.jar,\
|
||||||
metainfo/
|
metainfo/,\
|
||||||
|
WEB-INF/lib/calendar.jar
|
||||||
src.includes = WEB-INF/classes/,\
|
src.includes = WEB-INF/classes/,\
|
||||||
WEB-INF/tld/,\
|
WEB-INF/tld/,\
|
||||||
WEB-INF/web.xml,\
|
WEB-INF/web.xml,\
|
||||||
|
|
|
@ -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;
|
||||||
|
}
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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 |
|
@ -551,3 +551,44 @@ img.z-group-img-close {
|
||||||
.z-textbox-readonly, .z-intbox-readonly, .z-longbox-readonly, .z-doublebox-readonly, .z-decimalbox-readonly {
|
.z-textbox-readonly, .z-intbox-readonly, .z-longbox-readonly, .z-doublebox-readonly, .z-decimalbox-readonly {
|
||||||
background-color: #F0F0F0;
|
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;
|
||||||
|
}
|
|
@ -1,2 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<window use="org.adempiere.webui.dashboard.DPCalendar"/>
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<window use="org.adempiere.webui.dashboard.DPGoogleCalendar"/>
|
|
@ -0,0 +1,2 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<window use="org.adempiere.webui.dashboard.DPMenuTree"/>
|
Loading…
Reference in New Issue