IDEMPIERE-1362 Implement support to register/unregister available dashboard content
This commit is contained in:
parent
08ac7c1660
commit
e1fb3ee434
|
@ -0,0 +1,81 @@
|
||||||
|
SET SQLBLANKLINES ON
|
||||||
|
SET DEFINE OFF
|
||||||
|
|
||||||
|
-- Jul 11, 2013 1:51:57 PM COT
|
||||||
|
-- Ticket #1002633: Feature Request: Implement button to register/unregister available dashboard content
|
||||||
|
INSERT INTO AD_Element (ColumnName,AD_Element_ID,Name,PrintName,AD_Element_UU,Created,Updated,AD_Org_ID,CreatedBy,UpdatedBy,IsActive,AD_Client_ID,EntityType) VALUES ('IsShowinLogin',202569,'IsShowinLogin','Show Login','2ab0a775-6946-4c57-9d54-cdf2a570521a',TO_DATE('2013-07-11 13:51:56','YYYY-MM-DD HH24:MI:SS'),TO_DATE('2013-07-11 13:51:56','YYYY-MM-DD HH24:MI:SS'),0,100,100,'Y',0,'D')
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jul 11, 2013 1:51:58 PM COT
|
||||||
|
-- Ticket #1002633: Feature Request: Implement button to register/unregister available dashboard content
|
||||||
|
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,AD_Element_Trl_UU ) 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,Generate_UUID() FROM AD_Language l, AD_Element t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Element_ID=202569 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 11, 2013 1:53:24 PM COT
|
||||||
|
-- Ticket #1002633: Feature Request: Implement button to register/unregister available dashboard content
|
||||||
|
INSERT INTO AD_Column (SeqNoSelection,IsSyncDatabase,Version,AD_Table_ID,AD_Column_ID,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsKey,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,DefaultValue,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,IsToolbarButton,IsAlwaysUpdateable,AD_Client_ID,EntityType,IsEncrypted,AD_Element_ID) VALUES (0,'N',0,50010,210650,'N','N','N',0,'N',1,'N',20,'N','N','Y','070bb901-b89f-4336-bcb7-e824928d4af7','Y','IsShowinLogin','Y','IsShowinLogin','Y',TO_DATE('2013-07-11 13:53:23','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_DATE('2013-07-11 13:53:23','YYYY-MM-DD HH24:MI:SS'),100,'N','N',0,'D','N',202569)
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jul 11, 2013 1:53:24 PM COT
|
||||||
|
-- Ticket #1002633: Feature Request: Implement button to register/unregister available dashboard content
|
||||||
|
INSERT INTO AD_Column_Trl (AD_Language,AD_Column_ID, Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Column_Trl_UU ) SELECT l.AD_Language,t.AD_Column_ID, t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Column t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Column_ID=210650 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 11, 2013 1:53:38 PM COT
|
||||||
|
-- Ticket #1002633: Feature Request: Implement button to register/unregister available dashboard content
|
||||||
|
ALTER TABLE PA_DashboardContent ADD IsShowinLogin CHAR(1) DEFAULT 'Y' CHECK (IsShowinLogin IN ('Y','N'))
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jul 11, 2013 1:55:06 PM COT
|
||||||
|
-- Ticket #1002633: Feature Request: Implement button to register/unregister available dashboard content
|
||||||
|
INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,EntityType,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,XPosition,AD_Client_ID,ColumnSpan) VALUES ('N',50010,1,'N','N',210650,210,'Y',202286,'N','D','IsShowinLogin','627c465f-3add-4a1e-afb4-781306a787c6','Y','N',100,0,TO_DATE('2013-07-11 13:55:05','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2013-07-11 13:55:05','YYYY-MM-DD HH24:MI:SS'),'Y',2,0,2)
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jul 11, 2013 1:55:06 PM COT
|
||||||
|
-- Ticket #1002633: Feature Request: Implement button to register/unregister available dashboard content
|
||||||
|
INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Field_Trl_UU ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=202286 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 19, 2013 12:50:35 PM COT
|
||||||
|
-- Ticket #1002633: Feature Request: Implement button to register/unregister available dashboard content
|
||||||
|
INSERT INTO AD_Message (MsgType,MsgText,AD_Message_ID,EntityType,AD_Message_UU,Value,IsActive,Updated,CreatedBy,UpdatedBy,AD_Org_ID,Created,AD_Client_ID) VALUES ('I','Manage Gadgets',200211,'D','662b6b4e-185e-473d-a965-25d189d273df','ManageGadgets','Y',TO_DATE('2013-07-19 12:50:33','YYYY-MM-DD HH24:MI:SS'),100,100,0,TO_DATE('2013-07-19 12:50:33','YYYY-MM-DD HH24:MI:SS'),0)
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jul 19, 2013 12:50:35 PM COT
|
||||||
|
-- Ticket #1002633: Feature Request: Implement button to register/unregister available dashboard content
|
||||||
|
INSERT INTO AD_Message_Trl (AD_Language,AD_Message_ID, MsgText,MsgTip, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Message_Trl_UU ) SELECT l.AD_Language,t.AD_Message_ID, t.MsgText,t.MsgTip, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Message t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Message_ID=200211 AND NOT EXISTS (SELECT * FROM AD_Message_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Message_ID=t.AD_Message_ID)
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jul 19, 2013 12:51:03 PM COT
|
||||||
|
-- Ticket #1002633: Feature Request: Implement button to register/unregister available dashboard content
|
||||||
|
INSERT INTO AD_Message (MsgType,MsgText,AD_Message_ID,EntityType,AD_Message_UU,Value,IsActive,Updated,CreatedBy,UpdatedBy,AD_Org_ID,Created,AD_Client_ID) VALUES ('I','Dashboard Gadgets',200212,'D','9f80d414-3ab4-4227-90cc-bc2662c59907','DashboardGadgets','Y',TO_DATE('2013-07-19 12:51:03','YYYY-MM-DD HH24:MI:SS'),100,100,0,TO_DATE('2013-07-19 12:51:03','YYYY-MM-DD HH24:MI:SS'),0)
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jul 19, 2013 12:51:03 PM COT
|
||||||
|
-- Ticket #1002633: Feature Request: Implement button to register/unregister available dashboard content
|
||||||
|
INSERT INTO AD_Message_Trl (AD_Language,AD_Message_ID, MsgText,MsgTip, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Message_Trl_UU ) SELECT l.AD_Language,t.AD_Message_ID, t.MsgText,t.MsgTip, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Message t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Message_ID=200212 AND NOT EXISTS (SELECT * FROM AD_Message_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Message_ID=t.AD_Message_ID)
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jul 19, 2013 12:52:03 PM COT
|
||||||
|
-- Ticket #1002633: Feature Request: Implement button to register/unregister available dashboard content
|
||||||
|
INSERT INTO AD_Message (MsgType,MsgText,AD_Message_ID,EntityType,AD_Message_UU,Value,IsActive,Updated,CreatedBy,UpdatedBy,AD_Org_ID,Created,AD_Client_ID) VALUES ('I','Available',200213,'D','9716bbe6-4a78-48b9-bde4-099a32f6ebff','Available','Y',TO_DATE('2013-07-19 12:52:02','YYYY-MM-DD HH24:MI:SS'),100,100,0,TO_DATE('2013-07-19 12:52:02','YYYY-MM-DD HH24:MI:SS'),0)
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jul 19, 2013 12:52:07 PM COT
|
||||||
|
-- Ticket #1002633: Feature Request: Implement button to register/unregister available dashboard content
|
||||||
|
INSERT INTO AD_Message (MsgType,MsgText,AD_Message_ID,EntityType,AD_Message_UU,Value,IsActive,Updated,CreatedBy,UpdatedBy,AD_Org_ID,Created,AD_Client_ID) VALUES ('I','Available',200214,'D','60510910-6569-4817-b0e4-abe0647fa87f','Available','Y',TO_DATE('2013-07-19 12:52:07','YYYY-MM-DD HH24:MI:SS'),100,100,0,TO_DATE('2013-07-19 12:52:07','YYYY-MM-DD HH24:MI:SS'),0)
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jul 19, 2013 12:52:45 PM COT
|
||||||
|
-- Ticket #1002633: Feature Request: Implement button to register/unregister available dashboard content
|
||||||
|
INSERT INTO AD_Message (MsgType,MsgText,AD_Message_ID,EntityType,AD_Message_UU,Value,IsActive,Updated,CreatedBy,UpdatedBy,AD_Org_ID,Created,AD_Client_ID) VALUES ('I','Show',200215,'D','869943ba-5623-4fc6-b43b-dfa73435aa9c','Show','Y',TO_DATE('2013-07-19 12:52:44','YYYY-MM-DD HH24:MI:SS'),100,100,0,TO_DATE('2013-07-19 12:52:44','YYYY-MM-DD HH24:MI:SS'),0)
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jul 19, 2013 12:52:45 PM COT
|
||||||
|
-- Ticket #1002633: Feature Request: Implement button to register/unregister available dashboard content
|
||||||
|
INSERT INTO AD_Message_Trl (AD_Language,AD_Message_ID, MsgText,MsgTip, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Message_Trl_UU ) SELECT l.AD_Language,t.AD_Message_ID, t.MsgText,t.MsgTip, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Message t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Message_ID=200215 AND NOT EXISTS (SELECT * FROM AD_Message_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Message_ID=t.AD_Message_ID)
|
||||||
|
;
|
||||||
|
|
||||||
|
SELECT register_migration_script('201309121045_IDEMPIERE-1362.sql') FROM dual
|
||||||
|
;
|
||||||
|
|
|
@ -0,0 +1,79 @@
|
||||||
|
-- Jul 11, 2013 1:51:57 PM COT
|
||||||
|
-- Ticket #1002633: Feature Request: Implement button to register/unregister available dashboard content
|
||||||
|
INSERT INTO AD_Element (ColumnName,AD_Element_ID,Name,PrintName,AD_Element_UU,Created,Updated,AD_Org_ID,CreatedBy,UpdatedBy,IsActive,AD_Client_ID,EntityType) VALUES ('IsShowinLogin',202569,'IsShowinLogin','Show Login','2ab0a775-6946-4c57-9d54-cdf2a570521a',TO_TIMESTAMP('2013-07-11 13:51:56','YYYY-MM-DD HH24:MI:SS'),TO_TIMESTAMP('2013-07-11 13:51:56','YYYY-MM-DD HH24:MI:SS'),0,100,100,'Y',0,'D')
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jul 11, 2013 1:51:58 PM COT
|
||||||
|
-- Ticket #1002633: Feature Request: Implement button to register/unregister available dashboard content
|
||||||
|
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,AD_Element_Trl_UU ) 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,Generate_UUID() FROM AD_Language l, AD_Element t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Element_ID=202569 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 11, 2013 1:53:24 PM COT
|
||||||
|
-- Ticket #1002633: Feature Request: Implement button to register/unregister available dashboard content
|
||||||
|
INSERT INTO AD_Column (SeqNoSelection,IsSyncDatabase,Version,AD_Table_ID,AD_Column_ID,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsKey,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,DefaultValue,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,IsToolbarButton,IsAlwaysUpdateable,AD_Client_ID,EntityType,IsEncrypted,AD_Element_ID) VALUES (0,'N',0,50010,210650,'N','N','N',0,'N',1,'N',20,'N','N','Y','070bb901-b89f-4336-bcb7-e824928d4af7','Y','IsShowinLogin','Y','IsShowinLogin','Y',TO_TIMESTAMP('2013-07-11 13:53:23','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_TIMESTAMP('2013-07-11 13:53:23','YYYY-MM-DD HH24:MI:SS'),100,'N','N',0,'D','N',202569)
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jul 11, 2013 1:53:24 PM COT
|
||||||
|
-- Ticket #1002633: Feature Request: Implement button to register/unregister available dashboard content
|
||||||
|
INSERT INTO AD_Column_Trl (AD_Language,AD_Column_ID, Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Column_Trl_UU ) SELECT l.AD_Language,t.AD_Column_ID, t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Column t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Column_ID=210650 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 11, 2013 1:53:38 PM COT
|
||||||
|
-- Ticket #1002633: Feature Request: Implement button to register/unregister available dashboard content
|
||||||
|
ALTER TABLE PA_DashboardContent ADD COLUMN IsShowinLogin CHAR(1) DEFAULT 'Y' CHECK (IsShowinLogin IN ('Y','N'))
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jul 11, 2013 1:55:06 PM COT
|
||||||
|
-- Ticket #1002633: Feature Request: Implement button to register/unregister available dashboard content
|
||||||
|
INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,EntityType,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,XPosition,AD_Client_ID,ColumnSpan) VALUES ('N',50010,1,'N','N',210650,210,'Y',202286,'N','D','IsShowinLogin','627c465f-3add-4a1e-afb4-781306a787c6','Y','N',100,0,TO_TIMESTAMP('2013-07-11 13:55:05','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2013-07-11 13:55:05','YYYY-MM-DD HH24:MI:SS'),'Y',2,0,2)
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jul 11, 2013 1:55:06 PM COT
|
||||||
|
-- Ticket #1002633: Feature Request: Implement button to register/unregister available dashboard content
|
||||||
|
INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Field_Trl_UU ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=202286 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 19, 2013 12:50:35 PM COT
|
||||||
|
-- Ticket #1002633: Feature Request: Implement button to register/unregister available dashboard content
|
||||||
|
INSERT INTO AD_Message (MsgType,MsgText,AD_Message_ID,EntityType,AD_Message_UU,Value,IsActive,Updated,CreatedBy,UpdatedBy,AD_Org_ID,Created,AD_Client_ID) VALUES ('I','Manage Gadgets',200211,'D','662b6b4e-185e-473d-a965-25d189d273df','Manage Gadgets','Y',TO_TIMESTAMP('2013-07-19 12:50:33','YYYY-MM-DD HH24:MI:SS'),100,100,0,TO_TIMESTAMP('2013-07-19 12:50:33','YYYY-MM-DD HH24:MI:SS'),0)
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jul 19, 2013 12:50:35 PM COT
|
||||||
|
-- Ticket #1002633: Feature Request: Implement button to register/unregister available dashboard content
|
||||||
|
INSERT INTO AD_Message_Trl (AD_Language,AD_Message_ID, MsgText,MsgTip, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Message_Trl_UU ) SELECT l.AD_Language,t.AD_Message_ID, t.MsgText,t.MsgTip, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Message t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Message_ID=200211 AND NOT EXISTS (SELECT * FROM AD_Message_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Message_ID=t.AD_Message_ID)
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jul 19, 2013 12:51:03 PM COT
|
||||||
|
-- Ticket #1002633: Feature Request: Implement button to register/unregister available dashboard content
|
||||||
|
INSERT INTO AD_Message (MsgType,MsgText,AD_Message_ID,EntityType,AD_Message_UU,Value,IsActive,Updated,CreatedBy,UpdatedBy,AD_Org_ID,Created,AD_Client_ID) VALUES ('I','Dashboard Gadgets',200212,'D','9f80d414-3ab4-4227-90cc-bc2662c59907','Dashboard Gadgets','Y',TO_TIMESTAMP('2013-07-19 12:51:03','YYYY-MM-DD HH24:MI:SS'),100,100,0,TO_TIMESTAMP('2013-07-19 12:51:03','YYYY-MM-DD HH24:MI:SS'),0)
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jul 19, 2013 12:51:03 PM COT
|
||||||
|
-- Ticket #1002633: Feature Request: Implement button to register/unregister available dashboard content
|
||||||
|
INSERT INTO AD_Message_Trl (AD_Language,AD_Message_ID, MsgText,MsgTip, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Message_Trl_UU ) SELECT l.AD_Language,t.AD_Message_ID, t.MsgText,t.MsgTip, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Message t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Message_ID=200212 AND NOT EXISTS (SELECT * FROM AD_Message_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Message_ID=t.AD_Message_ID)
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jul 19, 2013 12:52:03 PM COT
|
||||||
|
-- Ticket #1002633: Feature Request: Implement button to register/unregister available dashboard content
|
||||||
|
INSERT INTO AD_Message (MsgType,MsgText,AD_Message_ID,EntityType,AD_Message_UU,Value,IsActive,Updated,CreatedBy,UpdatedBy,AD_Org_ID,Created,AD_Client_ID) VALUES ('I','Available',200213,'D','9716bbe6-4a78-48b9-bde4-099a32f6ebff','Available','Y',TO_TIMESTAMP('2013-07-19 12:52:02','YYYY-MM-DD HH24:MI:SS'),100,100,0,TO_TIMESTAMP('2013-07-19 12:52:02','YYYY-MM-DD HH24:MI:SS'),0)
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jul 19, 2013 12:52:07 PM COT
|
||||||
|
-- Ticket #1002633: Feature Request: Implement button to register/unregister available dashboard content
|
||||||
|
INSERT INTO AD_Message (MsgType,MsgText,AD_Message_ID,EntityType,AD_Message_UU,Value,IsActive,Updated,CreatedBy,UpdatedBy,AD_Org_ID,Created,AD_Client_ID) VALUES ('I','Available',200214,'D','60510910-6569-4817-b0e4-abe0647fa87f','Available','Y',TO_TIMESTAMP('2013-07-19 12:52:07','YYYY-MM-DD HH24:MI:SS'),100,100,0,TO_TIMESTAMP('2013-07-19 12:52:07','YYYY-MM-DD HH24:MI:SS'),0)
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jul 19, 2013 12:52:45 PM COT
|
||||||
|
-- Ticket #1002633: Feature Request: Implement button to register/unregister available dashboard content
|
||||||
|
INSERT INTO AD_Message (MsgType,MsgText,AD_Message_ID,EntityType,AD_Message_UU,Value,IsActive,Updated,CreatedBy,UpdatedBy,AD_Org_ID,Created,AD_Client_ID) VALUES ('I','Show',200215,'D','869943ba-5623-4fc6-b43b-dfa73435aa9c','Show','Y',TO_TIMESTAMP('2013-07-19 12:52:44','YYYY-MM-DD HH24:MI:SS'),100,100,0,TO_TIMESTAMP('2013-07-19 12:52:44','YYYY-MM-DD HH24:MI:SS'),0)
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jul 19, 2013 12:52:45 PM COT
|
||||||
|
-- Ticket #1002633: Feature Request: Implement button to register/unregister available dashboard content
|
||||||
|
INSERT INTO AD_Message_Trl (AD_Language,AD_Message_ID, MsgText,MsgTip, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Message_Trl_UU ) SELECT l.AD_Language,t.AD_Message_ID, t.MsgText,t.MsgTip, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Message t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Message_ID=200215 AND NOT EXISTS (SELECT * FROM AD_Message_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Message_ID=t.AD_Message_ID)
|
||||||
|
;
|
||||||
|
|
||||||
|
|
||||||
|
SELECT register_migration_script('201309121045_IDEMPIERE-1362.sql') FROM dual
|
||||||
|
;
|
||||||
|
|
|
@ -85,7 +85,7 @@ public class MDashboardPreference extends X_PA_DashboardPreference
|
||||||
|
|
||||||
return new Query(ctx, Table_Name, whereClause.toString(), null)
|
return new Query(ctx, Table_Name, whereClause.toString(), null)
|
||||||
.setParameters(parameters)
|
.setParameters(parameters)
|
||||||
.setOnlyActiveRecords(true)
|
.setOnlyActiveRecords(false)
|
||||||
.setApplyAccessFilter(true, false)
|
.setApplyAccessFilter(true, false)
|
||||||
.setOrderBy(COLUMNNAME_ColumnNo+","+COLUMNNAME_AD_Client_ID+","+COLUMNNAME_Line);
|
.setOrderBy(COLUMNNAME_ColumnNo+","+COLUMNNAME_AD_Client_ID+","+COLUMNNAME_Line);
|
||||||
}
|
}
|
||||||
|
|
|
@ -23,8 +23,10 @@ import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.Properties;
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
|
|
||||||
|
import org.adempiere.exceptions.AdempiereException;
|
||||||
import org.adempiere.webui.apps.AEnv;
|
import org.adempiere.webui.apps.AEnv;
|
||||||
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;
|
||||||
|
@ -37,6 +39,7 @@ import org.adempiere.webui.theme.ThemeManager;
|
||||||
import org.adempiere.webui.window.ZkReportViewerProvider;
|
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.MDashboardContentAccess;
|
||||||
import org.compiere.model.MDashboardPreference;
|
import org.compiere.model.MDashboardPreference;
|
||||||
import org.compiere.model.MGoal;
|
import org.compiere.model.MGoal;
|
||||||
import org.compiere.model.MMenu;
|
import org.compiere.model.MMenu;
|
||||||
|
@ -104,7 +107,8 @@ public class DashboardController implements EventListener<Event> {
|
||||||
}
|
}
|
||||||
|
|
||||||
public void render(Component parent, IDesktop desktopImpl, boolean isShowInDashboard) {
|
public void render(Component parent, IDesktop desktopImpl, boolean isShowInDashboard) {
|
||||||
parent.appendChild(dashboardLayout);
|
dashboardLayout = new Anchorlayout();
|
||||||
|
parent.appendChild(dashboardLayout);
|
||||||
dashboardLayout.setSclass("slimScroll");
|
dashboardLayout.setSclass("slimScroll");
|
||||||
|
|
||||||
|
|
||||||
|
@ -125,11 +129,19 @@ public class DashboardController implements EventListener<Event> {
|
||||||
int AD_User_ID = Env.getAD_User_ID(Env.getCtx());
|
int AD_User_ID = Env.getAD_User_ID(Env.getCtx());
|
||||||
int AD_Role_ID = Env.getAD_Role_ID(Env.getCtx());
|
int AD_Role_ID = Env.getAD_Role_ID(Env.getCtx());
|
||||||
|
|
||||||
MDashboardPreference[] dps = MDashboardPreference.getForSession(AD_User_ID, AD_Role_ID);
|
MDashboardPreference[] dps = MDashboardPreference.getForSession(isShowInDashboard,AD_User_ID, AD_Role_ID);
|
||||||
if (dps.length == 0)
|
MDashboardContent [] dcs = MDashboardContentAccess.get(Env.getCtx(), AD_Role_ID, AD_User_ID, null,isShowInDashboard);
|
||||||
createDashboardPreference();
|
|
||||||
|
if(dps.length == 0){
|
||||||
|
createDashboardPreference(AD_User_ID, AD_Role_ID,isShowInDashboard);
|
||||||
|
dps = MDashboardPreference.getForSession(isShowInDashboard,AD_User_ID, AD_Role_ID);
|
||||||
|
}else{
|
||||||
|
if(dps.length < dcs.length){
|
||||||
|
updatePreferences(dps, dcs,Env.getCtx());
|
||||||
|
dps = MDashboardPreference.getForSession(isShowInDashboard,AD_User_ID, AD_Role_ID);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
dps = MDashboardPreference.getForSession(isShowInDashboard, AD_User_ID, AD_Role_ID); // based on user and role
|
|
||||||
noOfCols = MDashboardPreference.getForSessionColumnCount(isShowInDashboard, AD_User_ID, AD_Role_ID);
|
noOfCols = MDashboardPreference.getForSessionColumnCount(isShowInDashboard, AD_User_ID, AD_Role_ID);
|
||||||
|
|
||||||
int dashboardWidth = isShowInDashboard ? DEFAULT_DASHBOARD_WIDTH : 100;
|
int dashboardWidth = isShowInDashboard ? DEFAULT_DASHBOARD_WIDTH : 100;
|
||||||
|
@ -137,6 +149,10 @@ public class DashboardController implements EventListener<Event> {
|
||||||
int extraWidth = 100 - (noOfCols <= 0 ? dashboardWidth : width * noOfCols) - (100 - dashboardWidth - 1);
|
int extraWidth = 100 - (noOfCols <= 0 ? dashboardWidth : width * noOfCols) - (100 - dashboardWidth - 1);
|
||||||
for (final MDashboardPreference dp : dps)
|
for (final MDashboardPreference dp : dps)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
if(!dp.isActive())
|
||||||
|
continue;
|
||||||
|
|
||||||
MDashboardContent dc = new MDashboardContent(dp.getCtx(), dp.getPA_DashboardContent_ID(), dp.get_TrxName());
|
MDashboardContent dc = new MDashboardContent(dp.getCtx(), dp.getPA_DashboardContent_ID(), dp.get_TrxName());
|
||||||
|
|
||||||
int columnNo = dp.getColumnNo();
|
int columnNo = dp.getColumnNo();
|
||||||
|
@ -332,6 +348,7 @@ public class DashboardController implements EventListener<Event> {
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
logger.log(Level.WARNING, "Failed to create components. zul="+url, e);
|
logger.log(Level.WARNING, "Failed to create components. zul="+url, e);
|
||||||
|
throw new AdempiereException(e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -501,15 +518,15 @@ public class DashboardController implements EventListener<Event> {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void createDashboardPreference()
|
private void createDashboardPreference(int AD_User_ID, int AD_Role_ID,boolean isshow)
|
||||||
{
|
{
|
||||||
MDashboardContent[] dcs = MDashboardContent.getForSession(0, 0);
|
MDashboardContent[] dcs = MDashboardContentAccess.get(Env.getCtx(),AD_Role_ID, AD_User_ID, null,isshow);
|
||||||
for (MDashboardContent dc : dcs)
|
for (MDashboardContent dc : dcs)
|
||||||
{
|
{
|
||||||
MDashboardPreference preference = new MDashboardPreference(Env.getCtx(), 0, null);
|
MDashboardPreference preference = new MDashboardPreference(Env.getCtx(), 0, null);
|
||||||
preference.setAD_Org_ID(Env.getAD_Org_ID(Env.getCtx()));
|
preference.setAD_Org_ID(Env.getAD_Org_ID(Env.getCtx()));
|
||||||
preference.setAD_Role_ID(Env.getAD_Role_ID(Env.getCtx()));
|
preference.setAD_Role_ID(AD_Role_ID);
|
||||||
preference.set_ValueNoCheck("AD_User_ID", Env.getAD_User_ID(Env.getCtx()));
|
preference.set_ValueNoCheck("AD_User_ID", AD_User_ID);
|
||||||
preference.setColumnNo(dc.getColumnNo());
|
preference.setColumnNo(dc.getColumnNo());
|
||||||
preference.setIsCollapsedByDefault(dc.isCollapsedByDefault());
|
preference.setIsCollapsedByDefault(dc.isCollapsedByDefault());
|
||||||
preference.setIsShowInDashboard(dc.isShowInDashboard());
|
preference.setIsShowInDashboard(dc.isShowInDashboard());
|
||||||
|
@ -521,6 +538,32 @@ public class DashboardController implements EventListener<Event> {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public void updatePreferences(MDashboardPreference[] dps,MDashboardContent[] dcs, Properties ctx) {
|
||||||
|
for (int i = 0; i < dcs.length; i++) {
|
||||||
|
boolean isNew = true;
|
||||||
|
for (int j = 0; j < dps.length; j++) {
|
||||||
|
if (dps[j].getPA_DashboardContent_ID() == dcs[i].getPA_DashboardContent_ID()) {
|
||||||
|
isNew = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (isNew) {
|
||||||
|
MDashboardPreference preference = new MDashboardPreference(ctx,0, null);
|
||||||
|
preference.setAD_Org_ID(Env.getAD_Org_ID(Env.getCtx()));
|
||||||
|
preference.setAD_Role_ID(Env.getAD_Role_ID(ctx));
|
||||||
|
preference.set_ValueNoCheck("AD_User_ID",Env.getAD_User_ID(ctx));
|
||||||
|
preference.setColumnNo(dcs[i].getColumnNo());
|
||||||
|
preference.setIsCollapsedByDefault(dcs[i].isCollapsedByDefault());
|
||||||
|
preference.setIsShowInDashboard(dcs[i].isShowInDashboard());
|
||||||
|
preference.setLine(dcs[i].getLine());
|
||||||
|
preference.setPA_DashboardContent_ID(dcs[i].getPA_DashboardContent_ID());
|
||||||
|
|
||||||
|
preference.saveEx();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private void saveDashboardPreference(Vlayout layout)
|
private void saveDashboardPreference(Vlayout layout)
|
||||||
{
|
{
|
||||||
Object value = layout.getAttribute("ColumnNo");
|
Object value = layout.getAttribute("ColumnNo");
|
||||||
|
|
|
@ -189,8 +189,6 @@ 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);
|
||||||
|
|
||||||
sideController.render(w, this, false);
|
|
||||||
|
|
||||||
East e = layout.getEast();
|
East e = layout.getEast();
|
||||||
e.addEventListener(Events.ON_OPEN, new EventListener<Event>() {
|
e.addEventListener(Events.ON_OPEN, new EventListener<Event>() {
|
||||||
@Override
|
@Override
|
||||||
|
@ -302,7 +300,7 @@ public class DefaultDesktop extends TabbedDesktop implements MenuListener, Seria
|
||||||
pref.savePreference();
|
pref.savePreference();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void renderHomeTab()
|
public void renderHomeTab()
|
||||||
{
|
{
|
||||||
homeTab.getChildren().clear();
|
homeTab.getChildren().clear();
|
||||||
|
|
||||||
|
@ -311,6 +309,10 @@ public class DefaultDesktop extends TabbedDesktop implements MenuListener, Seria
|
||||||
|
|
||||||
dashboardController.render(homeTab, this, true);
|
dashboardController.render(homeTab, this, true);
|
||||||
|
|
||||||
|
West w = layout.getWest();
|
||||||
|
w.getChildren().clear();
|
||||||
|
sideController.render(w, this, false);
|
||||||
|
|
||||||
Clients.response(new AuScript("$('.slimScroll .z-anchorlayout-body').slimScroll({height: '100%',railVisible: true, alwaysVisible: false});"));
|
Clients.response(new AuScript("$('.slimScroll .z-anchorlayout-body').slimScroll({height: '100%',railVisible: true, alwaysVisible: false});"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -206,4 +206,6 @@ public interface IDesktop extends UIPart {
|
||||||
public void updateHelpTooltip(GridField gridField);
|
public void updateHelpTooltip(GridField gridField);
|
||||||
|
|
||||||
public boolean isPendingWindow();
|
public boolean isPendingWindow();
|
||||||
|
|
||||||
|
public void renderHomeTab();
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,539 @@
|
||||||
|
/******************************************************************************
|
||||||
|
* Copyright (C) 2013 Juliana *
|
||||||
|
* Copyright (C) 2013 hengsin *
|
||||||
|
* Copyright (C) 2013 Trek Global *
|
||||||
|
* This program is free software; you can redistribute it and/or modify it *
|
||||||
|
* under the terms version 2 of the GNU General Public License as published *
|
||||||
|
* by the Free Software Foundation. This program is distributed in the hope *
|
||||||
|
* that it will be useful, but WITHOUT ANY WARRANTY; without even the implied *
|
||||||
|
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. *
|
||||||
|
* See the GNU General Public License for more details. *
|
||||||
|
* You should have received a copy of the GNU General Public License along *
|
||||||
|
* with this program; if not, write to the Free Software Foundation, Inc., *
|
||||||
|
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. *
|
||||||
|
*****************************************************************************/
|
||||||
|
package org.adempiere.webui.window;
|
||||||
|
|
||||||
|
import java.sql.PreparedStatement;
|
||||||
|
import java.sql.ResultSet;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.LinkedHashMap;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.Properties;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
|
import org.adempiere.exceptions.AdempiereException;
|
||||||
|
import org.adempiere.webui.component.Button;
|
||||||
|
import org.adempiere.webui.component.ConfirmPanel;
|
||||||
|
import org.adempiere.webui.component.Label;
|
||||||
|
import org.adempiere.webui.component.ListHead;
|
||||||
|
import org.adempiere.webui.component.ListHeader;
|
||||||
|
import org.adempiere.webui.component.ListItem;
|
||||||
|
import org.adempiere.webui.component.Listbox;
|
||||||
|
import org.adempiere.webui.component.SimpleListModel;
|
||||||
|
import org.adempiere.webui.component.Window;
|
||||||
|
import org.adempiere.webui.session.SessionManager;
|
||||||
|
import org.adempiere.webui.theme.ThemeManager;
|
||||||
|
import org.compiere.model.MDashboardContent;
|
||||||
|
import org.compiere.model.MDashboardPreference;
|
||||||
|
import org.compiere.model.Query;
|
||||||
|
import org.compiere.util.DB;
|
||||||
|
import org.compiere.util.Env;
|
||||||
|
import org.compiere.util.KeyNamePair;
|
||||||
|
import org.compiere.util.Msg;
|
||||||
|
import org.compiere.util.NamePair;
|
||||||
|
import org.compiere.util.Trx;
|
||||||
|
import org.zkoss.zk.au.out.AuFocus;
|
||||||
|
import org.zkoss.zk.ui.event.DropEvent;
|
||||||
|
import org.zkoss.zk.ui.event.Event;
|
||||||
|
import org.zkoss.zk.ui.event.EventListener;
|
||||||
|
import org.zkoss.zk.ui.event.Events;
|
||||||
|
import org.zkoss.zk.ui.util.Clients;
|
||||||
|
import org.zkoss.zul.Hlayout;
|
||||||
|
import org.zkoss.zul.Vbox;
|
||||||
|
import org.zkoss.zul.Vlayout;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author juliana
|
||||||
|
* @author hengsin
|
||||||
|
*/
|
||||||
|
public class WGadgets extends Window implements EventListener<Event>{
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
private static final long serialVersionUID = 3652943562286386813L;
|
||||||
|
|
||||||
|
|
||||||
|
// UI variables
|
||||||
|
protected Label noLabel = new Label();
|
||||||
|
protected Label yesLabel = new Label();
|
||||||
|
protected Button bAdd = new Button();
|
||||||
|
protected Button bRemove = new Button();
|
||||||
|
protected ConfirmPanel panel;
|
||||||
|
//
|
||||||
|
protected SimpleListModel noModel = new SimpleListModel();
|
||||||
|
protected SimpleListModel yesModel = new SimpleListModel();
|
||||||
|
protected Listbox noList = new Listbox();
|
||||||
|
protected Listbox yesList = new Listbox();
|
||||||
|
protected ArrayList<MDashboardContent> yesItems =new ArrayList<MDashboardContent>();
|
||||||
|
protected ArrayList<MDashboardContent> noItems =new ArrayList<MDashboardContent>();
|
||||||
|
|
||||||
|
protected Map<Integer, MDashboardPreference> dirtyList = new LinkedHashMap<Integer, MDashboardPreference>();
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public WGadgets() {
|
||||||
|
init();
|
||||||
|
refresh();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onEvent(Event event) throws Exception
|
||||||
|
{
|
||||||
|
if (Events.ON_CLICK.equals(event.getName()))
|
||||||
|
{
|
||||||
|
if (panel.getButton("Ok").equals(event.getTarget()))
|
||||||
|
{
|
||||||
|
Trx trx = Trx.get(Trx.createTrxName("ManagedGadgets"), true);
|
||||||
|
try {
|
||||||
|
trx.start();
|
||||||
|
for(MDashboardPreference pre : dirtyList.values()) {
|
||||||
|
pre.saveEx(trx.getTrxName());
|
||||||
|
}
|
||||||
|
trx.commit(true);
|
||||||
|
} catch (RuntimeException e) {
|
||||||
|
trx.rollback();
|
||||||
|
throw e;
|
||||||
|
} finally {
|
||||||
|
trx.close();
|
||||||
|
}
|
||||||
|
SessionManager.getAppDesktop().renderHomeTab();
|
||||||
|
this.detach();
|
||||||
|
}
|
||||||
|
else if (panel.getButton("Cancel").equals(event.getTarget()))
|
||||||
|
{
|
||||||
|
this.detach();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public void init()
|
||||||
|
{
|
||||||
|
setSclass("popup-dialog");
|
||||||
|
//
|
||||||
|
noLabel.setValue( Msg.translate(Env.getCtx(), "Available"));
|
||||||
|
yesLabel.setValue( Msg.translate(Env.getCtx(), "Show"));
|
||||||
|
|
||||||
|
EventListener<Event> mouseListener = new EventListener<Event>()
|
||||||
|
{
|
||||||
|
|
||||||
|
public void onEvent(Event event) throws Exception
|
||||||
|
{
|
||||||
|
if (Events.ON_CLICK.equals(event.getName()))
|
||||||
|
{
|
||||||
|
migrateValueAcrossLists(event);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
yesList.addDoubleClickListener(mouseListener);
|
||||||
|
noList.addDoubleClickListener(mouseListener);
|
||||||
|
//
|
||||||
|
EventListener<Event> actionListener = new EventListener<Event>()
|
||||||
|
{
|
||||||
|
public void onEvent(Event event) throws Exception {
|
||||||
|
migrateValueAcrossLists(event);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
yesList.setSeltype("multiple");
|
||||||
|
noList.setSeltype("multiple");
|
||||||
|
|
||||||
|
bAdd.setImage(ThemeManager.getThemeResource("images/Next24.png"));
|
||||||
|
bAdd.addEventListener(Events.ON_CLICK, actionListener);
|
||||||
|
|
||||||
|
bRemove.setImage(ThemeManager.getThemeResource("images/Previous24.png"));
|
||||||
|
bRemove.addEventListener(Events.ON_CLICK, actionListener);
|
||||||
|
|
||||||
|
final EventListener<Event> crossListMouseListener = new DragListener();
|
||||||
|
yesList.addOnDropListener(crossListMouseListener);
|
||||||
|
noList.addOnDropListener(crossListMouseListener);
|
||||||
|
yesList.setItemDraggable(true);
|
||||||
|
yesList.setDroppable("true");
|
||||||
|
yesList.addEventListener(Events.ON_DROP, new EventListener<Event>() {
|
||||||
|
@Override
|
||||||
|
public void onEvent(Event event) throws Exception {
|
||||||
|
crossListMouseListener.onEvent(event);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
noList.setItemDraggable(true);
|
||||||
|
noList.setDroppable("true");
|
||||||
|
noList.addEventListener(Events.ON_DROP, new EventListener<Event>() {
|
||||||
|
@Override
|
||||||
|
public void onEvent(Event event) throws Exception {
|
||||||
|
crossListMouseListener.onEvent(event);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
ListHead listHead = new ListHead();
|
||||||
|
listHead.setParent(yesList);
|
||||||
|
ListHeader listHeader = new ListHeader();
|
||||||
|
listHeader.appendChild(yesLabel);
|
||||||
|
listHeader.setParent(listHead);
|
||||||
|
|
||||||
|
listHead = new ListHead();
|
||||||
|
listHead.setParent(noList);
|
||||||
|
listHeader = new ListHeader();
|
||||||
|
listHeader.appendChild(noLabel);
|
||||||
|
listHeader.setParent(listHead);
|
||||||
|
|
||||||
|
Hlayout hlayout = new Hlayout();
|
||||||
|
hlayout.setVflex("true");
|
||||||
|
hlayout.setHflex("true");
|
||||||
|
hlayout.setStyle("padding: 2px 3px;");
|
||||||
|
noList.setHflex("1");
|
||||||
|
noList.setVflex(true);
|
||||||
|
hlayout.appendChild(noList);
|
||||||
|
Vbox vbox = new Vbox();
|
||||||
|
vbox.appendChild(bAdd);
|
||||||
|
vbox.appendChild(bRemove);
|
||||||
|
vbox.setWidth("50px");
|
||||||
|
hlayout.appendChild(vbox);
|
||||||
|
|
||||||
|
yesList.setVflex(true);
|
||||||
|
yesList.setHflex("1");
|
||||||
|
hlayout.appendChild(yesList);
|
||||||
|
|
||||||
|
panel = new ConfirmPanel(true);
|
||||||
|
panel.setSclass("dialog-footer");
|
||||||
|
panel.addActionListener(Events.ON_CLICK, this);
|
||||||
|
panel.setVflex("min");
|
||||||
|
|
||||||
|
Vlayout vlayout = new Vlayout();
|
||||||
|
vlayout.setHeight("100%");
|
||||||
|
vlayout.setWidth("100%");
|
||||||
|
vlayout.setStyle("margin: 0px; border: none; padding: 0px");
|
||||||
|
vlayout.appendChild(hlayout);
|
||||||
|
vlayout.appendChild(panel);
|
||||||
|
this.appendChild(vlayout);
|
||||||
|
this.setBorder("normal");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public void loadItems()
|
||||||
|
{
|
||||||
|
Properties ctx = Env.getCtx();
|
||||||
|
|
||||||
|
int AD_CLient_ID =Env.getAD_Client_ID(ctx);
|
||||||
|
int AD_Role_ID = Env.getAD_Role_ID(ctx);
|
||||||
|
int AD_User_ID = Env.getAD_User_ID(ctx);
|
||||||
|
|
||||||
|
noItems.removeAll(noItems);
|
||||||
|
yesItems.removeAll(yesItems);
|
||||||
|
String query = " SELECT ct.PA_DashboardContent_ID, ct.Name "
|
||||||
|
+" FROM PA_DashboardContent ct"
|
||||||
|
+" WHERE ct.AD_Client_ID IN (0,?)"
|
||||||
|
+" AND ct.PA_DashboardContent_ID NOT IN ("
|
||||||
|
+" SELECT pre.PA_DashboardContent_ID"
|
||||||
|
+" FROM PA_DashboardPreference pre"
|
||||||
|
+" WHERE pre.AD_Client_ID IN (0,?)"
|
||||||
|
+" AND pre.AD_Role_ID = ?"
|
||||||
|
+" AND pre.AD_User_ID = ?"
|
||||||
|
+" AND pre.IsActive='Y') ";
|
||||||
|
|
||||||
|
ResultSet rs = null;
|
||||||
|
PreparedStatement pstmt = null;
|
||||||
|
|
||||||
|
try {
|
||||||
|
pstmt = DB.prepareStatement(query, null);
|
||||||
|
pstmt.setInt(1, AD_CLient_ID);
|
||||||
|
pstmt.setInt(2, AD_CLient_ID);
|
||||||
|
pstmt.setInt(3, AD_Role_ID);
|
||||||
|
pstmt.setInt(4, AD_User_ID);
|
||||||
|
rs = pstmt.executeQuery();
|
||||||
|
|
||||||
|
while (rs.next()) {
|
||||||
|
|
||||||
|
MDashboardContent content= new MDashboardContent(ctx, rs.getInt(1),null);
|
||||||
|
if (!dirtyList.containsKey(content.getPA_DashboardContent_ID())) {
|
||||||
|
noItems.add(content);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
throw new AdempiereException( "Error while loading dashboard contents"+e.getMessage());
|
||||||
|
|
||||||
|
} finally {
|
||||||
|
DB.close(rs, pstmt);
|
||||||
|
}
|
||||||
|
|
||||||
|
String where=" AD_User_ID=?"
|
||||||
|
+" AND AD_Role_ID=?"
|
||||||
|
+" AND AD_Client_ID=?"
|
||||||
|
+" AND IsActive='Y'";
|
||||||
|
|
||||||
|
Query query1 =new Query(ctx,MDashboardPreference.Table_Name, where, null);
|
||||||
|
query1.setParameters(new Object[]{AD_User_ID,AD_Role_ID ,AD_CLient_ID});
|
||||||
|
List<MDashboardPreference> preference=query1.list();
|
||||||
|
|
||||||
|
if(preference.size() > 0){
|
||||||
|
for(int i = 0; i < preference.size() ; i++){
|
||||||
|
int ID = preference.get(i).getPA_DashboardContent_ID();
|
||||||
|
MDashboardContent content = new MDashboardContent(ctx, ID, null);
|
||||||
|
if (!dirtyList.containsKey(content.getPA_DashboardContent_ID())) {
|
||||||
|
yesItems.add(content);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for(MDashboardPreference pre : dirtyList.values()) {
|
||||||
|
MDashboardContent content = (MDashboardContent) pre.getPA_DashboardContent();
|
||||||
|
if (pre.isActive())
|
||||||
|
yesItems.add(content);
|
||||||
|
else
|
||||||
|
noItems.add(content);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param event
|
||||||
|
*/
|
||||||
|
protected void migrateValueAcrossLists (Event event)
|
||||||
|
{
|
||||||
|
Object source = event.getTarget();
|
||||||
|
if (source instanceof ListItem) {
|
||||||
|
source = ((ListItem)source).getListbox();
|
||||||
|
}
|
||||||
|
Listbox listFrom = (source == bAdd || source == noList) ? noList : yesList;
|
||||||
|
Listbox listTo = (source == bAdd || source == noList) ? yesList : noList;
|
||||||
|
|
||||||
|
migrateLists (listFrom,listTo); //,endIndex);
|
||||||
|
} // migrateValueAcrossLists
|
||||||
|
|
||||||
|
protected void migrateLists (Listbox listFrom , Listbox listTo) // , int endIndex)
|
||||||
|
{
|
||||||
|
int index = 0;
|
||||||
|
SimpleListModel lmFrom = (listFrom == yesList) ? yesModel:noModel;
|
||||||
|
Set<?> selectedItems = listFrom.getSelectedItems();
|
||||||
|
List<ListElement> selObjects = new ArrayList<ListElement>();
|
||||||
|
for (Object obj : selectedItems) {
|
||||||
|
ListItem listItem = (ListItem) obj;
|
||||||
|
index = listFrom.getIndexOfItem(listItem);
|
||||||
|
ListElement selObject = (ListElement)lmFrom.getElementAt(index);
|
||||||
|
selObjects.add(selObject);
|
||||||
|
}
|
||||||
|
index = 0;
|
||||||
|
Arrays.sort(selObjects.toArray());
|
||||||
|
for (ListElement selObject : selObjects)
|
||||||
|
{
|
||||||
|
if (selObject == null)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
Properties ctx =Env.getCtx();
|
||||||
|
int AD_User_ID= Env.getAD_User_ID(ctx);
|
||||||
|
int AD_Role_ID=Env.getAD_Role_ID(ctx);
|
||||||
|
int AD_Client_ID= Env.getAD_Client_ID(ctx);
|
||||||
|
|
||||||
|
MDashboardContent content = new MDashboardContent(Env.getCtx(),selObject.m_key, null);
|
||||||
|
String where=" AD_Client_ID=?"
|
||||||
|
+" AND PA_DashboardContent_ID=?";
|
||||||
|
Query query = new Query(ctx, MDashboardPreference.Table_Name, where, null);
|
||||||
|
query.setParameters(new Object[]{AD_Client_ID, content.getPA_DashboardContent_ID()});
|
||||||
|
|
||||||
|
MDashboardPreference pre = query.setOnlyActiveRecords(false).first();
|
||||||
|
|
||||||
|
if(listFrom.equals(noList)) {
|
||||||
|
if (pre != null){
|
||||||
|
pre.setIsActive(true);
|
||||||
|
pre.setIsShowInDashboard(content.isShowInDashboard());
|
||||||
|
}else{
|
||||||
|
pre = new MDashboardPreference(Env.getCtx(), 0, null);
|
||||||
|
pre.setAD_Org_ID(Env.getAD_Org_ID(Env.getCtx()));
|
||||||
|
pre.setAD_Role_ID(AD_Role_ID);
|
||||||
|
pre.set_ValueNoCheck("AD_User_ID",AD_User_ID);
|
||||||
|
pre.setColumnNo(content.getColumnNo());
|
||||||
|
pre.setIsCollapsedByDefault(content.isCollapsedByDefault());
|
||||||
|
pre.setIsShowInDashboard(content.isShowInDashboard());
|
||||||
|
pre.setLine(content.getLine());
|
||||||
|
pre.setPA_DashboardContent_ID(content.getPA_DashboardContent_ID());
|
||||||
|
}
|
||||||
|
dirtyList.put(pre.getPA_DashboardContent_ID(), pre);
|
||||||
|
}else{
|
||||||
|
if(pre != null){
|
||||||
|
pre.setIsActive(false);
|
||||||
|
dirtyList.put(pre.getPA_DashboardContent_ID(), pre);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
refresh();
|
||||||
|
if ( listTo.getSelectedItem() != null)
|
||||||
|
{
|
||||||
|
AuFocus focus = new AuFocus(listTo.getSelectedItem());
|
||||||
|
Clients.response(focus);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void refresh() {
|
||||||
|
|
||||||
|
this.loadItems();
|
||||||
|
yesList.removeAllItems();
|
||||||
|
noList.removeAllItems();
|
||||||
|
|
||||||
|
if (yesItems.size() > 0 && yesItems != null) {
|
||||||
|
yesModel.removeAllElements();
|
||||||
|
for (int i=0 ; i < yesItems.size() ; i++) {
|
||||||
|
int ID= yesItems.get(i).get_ID();
|
||||||
|
String name = yesItems.get(i).getName();
|
||||||
|
yesList.addItem(new KeyNamePair(ID, name));
|
||||||
|
yesModel.addElement(new ListElement(ID, name, yesItems.get(i).getName(), true, yesItems.get(i).getAD_Client_ID(), yesItems.get(i).getAD_Org_ID()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (noItems.size() > 0 && noItems != null) {
|
||||||
|
noModel.removeAllElements();
|
||||||
|
for (int i=0 ; i < noItems.size() ; i++) {
|
||||||
|
int ID= noItems.get(i).get_ID();
|
||||||
|
String name = noItems.get(i).getName();
|
||||||
|
noList.addItem(new KeyNamePair(ID, name));
|
||||||
|
noModel.add(i,new ListElement(ID, name, noItems.get(i).getName(), false, noItems.get(i).getAD_Client_ID(), noItems.get(i).getAD_Org_ID()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* List Item
|
||||||
|
*/
|
||||||
|
public static class ListElement extends NamePair {
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
private static final long serialVersionUID = -5645910649588308798L;
|
||||||
|
private int m_key;
|
||||||
|
private int m_AD_Client_ID;
|
||||||
|
private int m_AD_Org_ID;
|
||||||
|
/** Initial seq number */
|
||||||
|
private String m_namecontent;
|
||||||
|
/** Initial selection flag */
|
||||||
|
private boolean m_isYes;
|
||||||
|
|
||||||
|
|
||||||
|
public ListElement(int key, String name, String namecontent, boolean isYes, int AD_Client_ID, int AD_Org_ID) {
|
||||||
|
super(name);
|
||||||
|
this.m_key = key;
|
||||||
|
this.m_AD_Client_ID = AD_Client_ID;
|
||||||
|
this.m_AD_Org_ID = AD_Org_ID;
|
||||||
|
this.m_namecontent = namecontent;
|
||||||
|
this.m_isYes = isYes;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getKey() {
|
||||||
|
return m_key;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getM_namecontent() {
|
||||||
|
return m_namecontent;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setM_namecontent(String m_namecontent) {
|
||||||
|
this.m_namecontent = m_namecontent;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setIsYes(boolean value) {
|
||||||
|
m_isYes = value;
|
||||||
|
}
|
||||||
|
public boolean isYes() {
|
||||||
|
return m_isYes;
|
||||||
|
}
|
||||||
|
public int getAD_Client_ID() {
|
||||||
|
return m_AD_Client_ID;
|
||||||
|
}
|
||||||
|
public int getAD_Org_ID() {
|
||||||
|
return m_AD_Org_ID;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getID() {
|
||||||
|
return m_key != -1 ? String.valueOf(m_key) : null;
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public int hashCode() {
|
||||||
|
return m_key;
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public boolean equals(Object obj)
|
||||||
|
{
|
||||||
|
if (obj instanceof ListElement)
|
||||||
|
{
|
||||||
|
ListElement li = (ListElement)obj;
|
||||||
|
return
|
||||||
|
li.getKey() == m_key
|
||||||
|
&& li.getName() != null
|
||||||
|
&& li.getName().equals(getName())
|
||||||
|
&& li.getAD_Client_ID() == m_AD_Client_ID
|
||||||
|
&& li.getAD_Org_ID() == m_AD_Org_ID;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
} // equals
|
||||||
|
|
||||||
|
public String toString() {
|
||||||
|
String s = super.toString();
|
||||||
|
if (s == null || s.trim().length() == 0)
|
||||||
|
s = "<" + getKey() + ">";
|
||||||
|
return s;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author eslatis
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
private class DragListener implements EventListener<Event>
|
||||||
|
{
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates a ADSortTab.DragListener.
|
||||||
|
*/
|
||||||
|
public DragListener()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public void onEvent(Event event) throws Exception {
|
||||||
|
if (event instanceof DropEvent)
|
||||||
|
{
|
||||||
|
Listbox listFrom = null;
|
||||||
|
Listbox listTo = null;
|
||||||
|
|
||||||
|
ListItem fromItem = null;
|
||||||
|
ListItem toItem = null;
|
||||||
|
|
||||||
|
DropEvent me = (DropEvent) event;
|
||||||
|
Object target = me.getTarget();
|
||||||
|
if (target instanceof ListItem) {
|
||||||
|
toItem = (ListItem) target;
|
||||||
|
listTo = (Listbox) toItem.getListbox();
|
||||||
|
} else {
|
||||||
|
listTo = (Listbox) target;
|
||||||
|
}
|
||||||
|
fromItem = (ListItem) me.getDragged();
|
||||||
|
listFrom = (Listbox) fromItem.getListbox();
|
||||||
|
|
||||||
|
if (!fromItem.isSelected())
|
||||||
|
fromItem.setSelected(true);
|
||||||
|
|
||||||
|
if (listFrom != listTo)
|
||||||
|
{
|
||||||
|
migrateLists (listFrom,listTo); //,endIndex);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
//reordering not implemented
|
||||||
|
;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -13,21 +13,25 @@
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
package org.adempiere.webui.window;
|
package org.adempiere.webui.window;
|
||||||
|
|
||||||
|
import org.adempiere.webui.apps.AEnv;
|
||||||
import org.adempiere.webui.component.ToolBar;
|
import org.adempiere.webui.component.ToolBar;
|
||||||
import org.adempiere.webui.component.ToolBarButton;
|
import org.adempiere.webui.component.ToolBarButton;
|
||||||
|
import org.adempiere.webui.component.Window;
|
||||||
import org.adempiere.webui.editor.WYesNoEditor;
|
import org.adempiere.webui.editor.WYesNoEditor;
|
||||||
import org.adempiere.webui.session.SessionManager;
|
import org.adempiere.webui.session.SessionManager;
|
||||||
import org.adempiere.webui.theme.ThemeManager;
|
import org.adempiere.webui.theme.ThemeManager;
|
||||||
import org.adempiere.webui.util.UserPreference;
|
import org.adempiere.webui.util.UserPreference;
|
||||||
import org.compiere.util.Env;
|
import org.compiere.util.Env;
|
||||||
import org.compiere.util.Msg;
|
import org.compiere.util.Msg;
|
||||||
|
import org.zkoss.zk.ui.Component;
|
||||||
import org.zkoss.zk.ui.event.Event;
|
import org.zkoss.zk.ui.event.Event;
|
||||||
import org.zkoss.zk.ui.event.EventListener;
|
import org.zkoss.zk.ui.event.EventListener;
|
||||||
import org.zkoss.zk.ui.event.Events;
|
import org.zkoss.zk.ui.event.Events;
|
||||||
|
import org.zkoss.zul.A;
|
||||||
import org.zkoss.zul.Div;
|
import org.zkoss.zul.Div;
|
||||||
import org.zkoss.zul.Popup;
|
import org.zkoss.zul.Popup;
|
||||||
import org.zkoss.zul.Separator;
|
import org.zkoss.zul.Separator;
|
||||||
|
import org.zkoss.zul.Window.Mode;
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @author hengsin
|
* @author hengsin
|
||||||
|
@ -43,6 +47,9 @@ public class WPreference extends Popup implements EventListener<Event> {
|
||||||
private WYesNoEditor autoNew;
|
private WYesNoEditor autoNew;
|
||||||
private WYesNoEditor adempiereSys;
|
private WYesNoEditor adempiereSys;
|
||||||
private WYesNoEditor logMigrationScript;
|
private WYesNoEditor logMigrationScript;
|
||||||
|
private WGadgets gadgets;
|
||||||
|
private A addgadgets;
|
||||||
|
|
||||||
|
|
||||||
public WPreference() {
|
public WPreference() {
|
||||||
super();
|
super();
|
||||||
|
@ -87,6 +94,13 @@ public class WPreference extends Popup implements EventListener<Event> {
|
||||||
logMigrationScript.setValue(Env.getCtx().getProperty("LogMigrationScript"));
|
logMigrationScript.setValue(Env.getCtx().getProperty("LogMigrationScript"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
div = new Div();
|
||||||
|
div.setStyle("background-color: transparent !important; border: none; margin: 5px;");
|
||||||
|
addgadgets= new A();
|
||||||
|
addgadgets.setLabel( Msg.translate(Env.getCtx(), "ManageGadgets"));
|
||||||
|
addgadgets.addEventListener(Events.ON_CLICK, this);
|
||||||
|
div.appendChild(addgadgets);
|
||||||
|
this.appendChild(div);
|
||||||
Separator separator = new Separator();
|
Separator separator = new Separator();
|
||||||
separator.setSpacing("20px");
|
separator.setSpacing("20px");
|
||||||
div = new Div();
|
div = new Div();
|
||||||
|
@ -111,8 +125,25 @@ public class WPreference extends Popup implements EventListener<Event> {
|
||||||
}
|
}
|
||||||
|
|
||||||
public void onEvent(Event event) throws Exception {
|
public void onEvent(Event event) throws Exception {
|
||||||
if (Events.ON_CLICK.equals(event.getName())) {
|
String nameEvent=event.getName();
|
||||||
onSave();
|
Component com =event.getTarget();
|
||||||
|
|
||||||
|
if (Events.ON_CLICK.equals(nameEvent)) {
|
||||||
|
if (com instanceof ToolBarButton) {
|
||||||
|
onSave();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (com == addgadgets) {
|
||||||
|
gadgets = new WGadgets();
|
||||||
|
gadgets.setClosable(true);
|
||||||
|
gadgets.setSizable(true);
|
||||||
|
gadgets.setWidth("40%");
|
||||||
|
gadgets.setHeight("60%");
|
||||||
|
gadgets.setTitle( Msg.translate(Env.getCtx(), "DashboardGadgets"));
|
||||||
|
gadgets.setAttribute(Window.MODE_KEY, Mode.HIGHLIGHTED);
|
||||||
|
AEnv.showWindow(gadgets);
|
||||||
|
gadgets.focus();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue