IDEMPIERE-5152 : Add title on broadcast messages (#1130)

* IDEMPIERE-5152 : Add title on broadcast messages

* Broadcast messages : use all the width of the panel to display the message

* IDEMPIERE-5152 : Add title on broadcast messages

* IDEMPIERE-5152 : Add title on broadcast messages - model class for v9

* IDEMPIERE-5152 : Add title on broadcast messages - improve mobile usage

Co-Authored-By: Carlos Ruiz <carg67@gmail.com>

* Delete pr1130_PR.txt

Co-authored-by: Carlos Ruiz <carg67@gmail.com>
This commit is contained in:
Nicolas Micoud 2022-01-15 16:12:03 +01:00 committed by GitHub
parent d3625f2790
commit a891ca988a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 235 additions and 32 deletions

View File

@ -0,0 +1,90 @@
SET SQLBLANKLINES ON
SET DEFINE OFF
-- IDEMPIERE-5152
-- Jan 12, 2022, 3:59:08 PM CET
INSERT INTO AD_Column (AD_Column_ID,Version,Name,Description,Help,AD_Table_ID,ColumnName,FieldLength,IsKey,IsParent,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsEncrypted,AD_Reference_ID,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,AD_Element_ID,IsUpdateable,IsSelectionColumn,EntityType,IsSyncDatabase,IsAlwaysUpdateable,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsAllowCopy,SeqNoSelection,IsToolbarButton,IsSecure,IsHtml) VALUES (214661,0,'Title','Name this entity is referred to as','The Title indicates the name that an entity is referred to as.',200038,'Title',60,'N','N','N','Y','N',0,'N',10,0,0,'Y',TO_DATE('2022-01-12 15:59:08','YYYY-MM-DD HH24:MI:SS'),0,TO_DATE('2022-01-12 15:59:08','YYYY-MM-DD HH24:MI:SS'),0,982,'Y','N','D','N','N','N','Y','aca757b4-155c-462a-9321-3204ddb596ea','Y',0,'N','N','N')
;
-- Jan 12, 2022, 3:59:10 PM CET
ALTER TABLE AD_BroadcastMessage ADD Title VARCHAR2(60 CHAR) DEFAULT NULL
;
-- Jan 12, 2022, 3:59:33 PM CET
INSERT INTO AD_Column (AD_Column_ID,Version,Name,Description,Help,AD_Table_ID,ColumnName,FieldLength,IsKey,IsParent,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsEncrypted,AD_Reference_ID,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,AD_Element_ID,IsUpdateable,IsSelectionColumn,EntityType,IsSyncDatabase,IsAlwaysUpdateable,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsAllowCopy,SeqNoSelection,IsToolbarButton,IsSecure,IsHtml) VALUES (214662,0,'Title','Name this entity is referred to as','The Title indicates the name that an entity is referred to as.',200123,'Title',60,'N','N','N','N','N',0,'N',10,0,0,'Y',TO_DATE('2022-01-12 15:59:33','YYYY-MM-DD HH24:MI:SS'),0,TO_DATE('2022-01-12 15:59:33','YYYY-MM-DD HH24:MI:SS'),0,982,'N','N','D','N','N','N','Y','a882c8f2-3b33-41d9-83e9-05f0a26a47e2','Y',0,'N','N','N')
;
-- Jan 12, 2022, 3:59:34 PM CET
ALTER TABLE AD_BroadcastMessage_Trl ADD Title VARCHAR2(60 CHAR) DEFAULT NULL
;
-- Jan 12, 2022, 3:59:47 PM CET
INSERT INTO AD_Field (AD_Field_ID,Name,Description,Help,AD_Tab_ID,AD_Column_ID,IsDisplayed,DisplayLength,SeqNo,IsSameLine,IsHeading,IsFieldOnly,IsEncrypted,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,IsReadOnly,IsCentrallyMaintained,EntityType,AD_Field_UU,IsDisplayedGrid,SeqNoGrid,ColumnSpan) VALUES (206833,'Title','Name this entity is referred to as','The Title indicates the name that an entity is referred to as.',200033,214661,'Y',60,180,'N','N','N','N',0,0,'Y',TO_DATE('2022-01-12 15:59:46','YYYY-MM-DD HH24:MI:SS'),0,TO_DATE('2022-01-12 15:59:46','YYYY-MM-DD HH24:MI:SS'),0,'N','Y','D','3b030cbb-f4bb-49cf-8892-f1d7491e3e48','Y',160,5)
;
-- Jan 12, 2022, 4:00:08 PM CET
UPDATE AD_Field SET IsDisplayed='Y', SeqNo=40, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, XPosition=1, ColumnSpan=2, IsToolbarButton=NULL,Updated=TO_DATE('2022-01-12 16:00:08','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=206833
;
-- Jan 12, 2022, 4:00:08 PM CET
UPDATE AD_Field SET SeqNo=50, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2022-01-12 16:00:08','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200876
;
-- Jan 12, 2022, 4:00:08 PM CET
UPDATE AD_Field SET SeqNo=60, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2022-01-12 16:00:08','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200872
;
-- Jan 12, 2022, 4:00:08 PM CET
UPDATE AD_Field SET SeqNo=70, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2022-01-12 16:00:08','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200888
;
-- Jan 12, 2022, 4:00:08 PM CET
UPDATE AD_Field SET SeqNo=120, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2022-01-12 16:00:08','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200889
;
-- Jan 12, 2022, 4:00:08 PM CET
UPDATE AD_Field SET SeqNo=130, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2022-01-12 16:00:08','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200885
;
-- Jan 12, 2022, 4:00:08 PM CET
UPDATE AD_Field SET SeqNo=140, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2022-01-12 16:00:08','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200878
;
-- Jan 12, 2022, 4:00:08 PM CET
UPDATE AD_Field SET SeqNo=150, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2022-01-12 16:00:08','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200880
;
-- Jan 12, 2022, 4:00:08 PM CET
UPDATE AD_Field SET SeqNo=160, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2022-01-12 16:00:08','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200886
;
-- Jan 12, 2022, 4:00:08 PM CET
UPDATE AD_Field SET SeqNo=0, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2022-01-12 16:00:08','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=204472
;
-- Jan 12, 2022, 4:00:08 PM CET
UPDATE AD_Field SET SeqNo=0, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2022-01-12 16:00:08','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200881
;
-- Jan 12, 2022, 4:00:24 PM CET
INSERT INTO AD_Field (AD_Field_ID,Name,Description,Help,AD_Tab_ID,AD_Column_ID,IsDisplayed,DisplayLength,SeqNo,IsSameLine,IsHeading,IsFieldOnly,IsEncrypted,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,IsReadOnly,IsCentrallyMaintained,EntityType,AD_Field_UU,IsDisplayedGrid,SeqNoGrid,ColumnSpan) VALUES (206834,'Title','Name this entity is referred to as','The Title indicates the name that an entity is referred to as.',200133,214662,'Y',60,80,'N','N','N','N',0,0,'Y',TO_DATE('2022-01-12 16:00:23','YYYY-MM-DD HH24:MI:SS'),0,TO_DATE('2022-01-12 16:00:23','YYYY-MM-DD HH24:MI:SS'),0,'N','Y','D','1a7fe587-23de-4b26-9faf-a948262a9228','Y',10,5)
;
-- Jan 12, 2022, 4:00:36 PM CET
UPDATE AD_Field SET IsDisplayed='Y', SeqNo=70, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, XPosition=1, ColumnSpan=2, IsToolbarButton=NULL,Updated=TO_DATE('2022-01-12 16:00:36','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=206834
;
-- Jan 12, 2022, 4:00:36 PM CET
UPDATE AD_Field SET SeqNo=80, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2022-01-12 16:00:36','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=202810
;
-- Jan 12, 2022, 4:20:02 PM CET
UPDATE AD_Column SET IsAlwaysUpdateable='N',Updated=TO_DATE('2022-01-12 16:20:02','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Column_ID=211151
;
-- Jan 12, 2022, 4:23:51 PM CET
UPDATE AD_Column SET IsUpdateable='Y',Updated=TO_DATE('2022-01-12 16:23:51','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Column_ID=214662
;
SELECT register_migration_script('202201121630_IDEMPIERE-5152.sql') FROM dual
;

View File

@ -0,0 +1,87 @@
-- IDEMPIERE-5152
-- Jan 12, 2022, 3:59:08 PM CET
INSERT INTO AD_Column (AD_Column_ID,Version,Name,Description,Help,AD_Table_ID,ColumnName,FieldLength,IsKey,IsParent,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsEncrypted,AD_Reference_ID,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,AD_Element_ID,IsUpdateable,IsSelectionColumn,EntityType,IsSyncDatabase,IsAlwaysUpdateable,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsAllowCopy,SeqNoSelection,IsToolbarButton,IsSecure,IsHtml) VALUES (214661,0,'Title','Name this entity is referred to as','The Title indicates the name that an entity is referred to as.',200038,'Title',60,'N','N','N','Y','N',0,'N',10,0,0,'Y',TO_TIMESTAMP('2022-01-12 15:59:08','YYYY-MM-DD HH24:MI:SS'),0,TO_TIMESTAMP('2022-01-12 15:59:08','YYYY-MM-DD HH24:MI:SS'),0,982,'Y','N','D','N','N','N','Y','aca757b4-155c-462a-9321-3204ddb596ea','Y',0,'N','N','N')
;
-- Jan 12, 2022, 3:59:10 PM CET
ALTER TABLE AD_BroadcastMessage ADD COLUMN Title VARCHAR(60) DEFAULT NULL
;
-- Jan 12, 2022, 3:59:33 PM CET
INSERT INTO AD_Column (AD_Column_ID,Version,Name,Description,Help,AD_Table_ID,ColumnName,FieldLength,IsKey,IsParent,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsEncrypted,AD_Reference_ID,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,AD_Element_ID,IsUpdateable,IsSelectionColumn,EntityType,IsSyncDatabase,IsAlwaysUpdateable,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsAllowCopy,SeqNoSelection,IsToolbarButton,IsSecure,IsHtml) VALUES (214662,0,'Title','Name this entity is referred to as','The Title indicates the name that an entity is referred to as.',200123,'Title',60,'N','N','N','N','N',0,'N',10,0,0,'Y',TO_TIMESTAMP('2022-01-12 15:59:33','YYYY-MM-DD HH24:MI:SS'),0,TO_TIMESTAMP('2022-01-12 15:59:33','YYYY-MM-DD HH24:MI:SS'),0,982,'N','N','D','N','N','N','Y','a882c8f2-3b33-41d9-83e9-05f0a26a47e2','Y',0,'N','N','N')
;
-- Jan 12, 2022, 3:59:34 PM CET
ALTER TABLE AD_BroadcastMessage_Trl ADD COLUMN Title VARCHAR(60) DEFAULT NULL
;
-- Jan 12, 2022, 3:59:47 PM CET
INSERT INTO AD_Field (AD_Field_ID,Name,Description,Help,AD_Tab_ID,AD_Column_ID,IsDisplayed,DisplayLength,SeqNo,IsSameLine,IsHeading,IsFieldOnly,IsEncrypted,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,IsReadOnly,IsCentrallyMaintained,EntityType,AD_Field_UU,IsDisplayedGrid,SeqNoGrid,ColumnSpan) VALUES (206833,'Title','Name this entity is referred to as','The Title indicates the name that an entity is referred to as.',200033,214661,'Y',60,180,'N','N','N','N',0,0,'Y',TO_TIMESTAMP('2022-01-12 15:59:46','YYYY-MM-DD HH24:MI:SS'),0,TO_TIMESTAMP('2022-01-12 15:59:46','YYYY-MM-DD HH24:MI:SS'),0,'N','Y','D','3b030cbb-f4bb-49cf-8892-f1d7491e3e48','Y',160,5)
;
-- Jan 12, 2022, 4:00:08 PM CET
UPDATE AD_Field SET IsDisplayed='Y', SeqNo=40, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, XPosition=1, ColumnSpan=2, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2022-01-12 16:00:08','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=206833
;
-- Jan 12, 2022, 4:00:08 PM CET
UPDATE AD_Field SET SeqNo=50, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2022-01-12 16:00:08','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200876
;
-- Jan 12, 2022, 4:00:08 PM CET
UPDATE AD_Field SET SeqNo=60, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2022-01-12 16:00:08','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200872
;
-- Jan 12, 2022, 4:00:08 PM CET
UPDATE AD_Field SET SeqNo=70, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2022-01-12 16:00:08','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200888
;
-- Jan 12, 2022, 4:00:08 PM CET
UPDATE AD_Field SET SeqNo=120, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2022-01-12 16:00:08','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200889
;
-- Jan 12, 2022, 4:00:08 PM CET
UPDATE AD_Field SET SeqNo=130, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2022-01-12 16:00:08','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200885
;
-- Jan 12, 2022, 4:00:08 PM CET
UPDATE AD_Field SET SeqNo=140, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2022-01-12 16:00:08','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200878
;
-- Jan 12, 2022, 4:00:08 PM CET
UPDATE AD_Field SET SeqNo=150, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2022-01-12 16:00:08','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200880
;
-- Jan 12, 2022, 4:00:08 PM CET
UPDATE AD_Field SET SeqNo=160, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2022-01-12 16:00:08','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200886
;
-- Jan 12, 2022, 4:00:08 PM CET
UPDATE AD_Field SET SeqNo=0, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2022-01-12 16:00:08','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=204472
;
-- Jan 12, 2022, 4:00:08 PM CET
UPDATE AD_Field SET SeqNo=0, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2022-01-12 16:00:08','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200881
;
-- Jan 12, 2022, 4:00:24 PM CET
INSERT INTO AD_Field (AD_Field_ID,Name,Description,Help,AD_Tab_ID,AD_Column_ID,IsDisplayed,DisplayLength,SeqNo,IsSameLine,IsHeading,IsFieldOnly,IsEncrypted,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,IsReadOnly,IsCentrallyMaintained,EntityType,AD_Field_UU,IsDisplayedGrid,SeqNoGrid,ColumnSpan) VALUES (206834,'Title','Name this entity is referred to as','The Title indicates the name that an entity is referred to as.',200133,214662,'Y',60,80,'N','N','N','N',0,0,'Y',TO_TIMESTAMP('2022-01-12 16:00:23','YYYY-MM-DD HH24:MI:SS'),0,TO_TIMESTAMP('2022-01-12 16:00:23','YYYY-MM-DD HH24:MI:SS'),0,'N','Y','D','1a7fe587-23de-4b26-9faf-a948262a9228','Y',10,5)
;
-- Jan 12, 2022, 4:00:36 PM CET
UPDATE AD_Field SET IsDisplayed='Y', SeqNo=70, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, XPosition=1, ColumnSpan=2, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2022-01-12 16:00:36','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=206834
;
-- Jan 12, 2022, 4:00:36 PM CET
UPDATE AD_Field SET SeqNo=80, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2022-01-12 16:00:36','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=202810
;
-- Jan 12, 2022, 4:20:02 PM CET
UPDATE AD_Column SET IsAlwaysUpdateable='N',Updated=TO_TIMESTAMP('2022-01-12 16:20:02','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Column_ID=211151
;
-- Jan 12, 2022, 4:23:51 PM CET
UPDATE AD_Column SET IsUpdateable='Y',Updated=TO_TIMESTAMP('2022-01-12 16:23:51','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Column_ID=214662
;
SELECT register_migration_script('202201121630_IDEMPIERE-5152.sql') FROM dual
;

View File

@ -20,6 +20,7 @@ import org.compiere.model.PO;
import org.compiere.model.X_AD_BroadcastMessage; import org.compiere.model.X_AD_BroadcastMessage;
import org.compiere.util.DB; import org.compiere.util.DB;
import org.compiere.util.Env; import org.compiere.util.Env;
import org.compiere.util.Util;
import org.idempiere.cache.ImmutableIntPOCache; import org.idempiere.cache.ImmutableIntPOCache;
import org.idempiere.cache.ImmutablePOSupport; import org.idempiere.cache.ImmutablePOSupport;
@ -34,7 +35,7 @@ public class MBroadcastMessage extends X_AD_BroadcastMessage implements Immutabl
/** /**
* *
*/ */
private static final long serialVersionUID = 3124401616294213703L; private static final long serialVersionUID = 3733943472482553977L;
public final static String CLIENTINFO_BROADCAST_COMPONENT_ID = "#clientInfo_BroadcastComponentId"; public final static String CLIENTINFO_BROADCAST_COMPONENT_ID = "#clientInfo_BroadcastComponentId";
static private ImmutableIntPOCache<Integer,MBroadcastMessage> s_cache = new ImmutableIntPOCache<Integer,MBroadcastMessage>("AD_BroadcastMessage", 30, 60); static private ImmutableIntPOCache<Integer,MBroadcastMessage> s_cache = new ImmutableIntPOCache<Integer,MBroadcastMessage>("AD_BroadcastMessage", 30, 60);
@ -181,7 +182,7 @@ public class MBroadcastMessage extends X_AD_BroadcastMessage implements Immutabl
@Override @Override
public String get_Translation (String columnName) { public String get_Translation (String columnName) {
String translation = super.get_Translation(columnName); String translation = super.get_Translation(columnName);
if (translation.indexOf('@') > 0) if (!Util.isEmpty(translation) && translation.indexOf('@') > 0)
return Env.parseContext(getCtx(), 0, translation, false, false); return Env.parseContext(getCtx(), 0, translation, false, false);
return translation; return translation;

View File

@ -308,6 +308,19 @@ public interface I_AD_BroadcastMessage
*/ */
public String getTestMessage(); public String getTestMessage();
/** Column name Title */
public static final String COLUMNNAME_Title = "Title";
/** Set Title.
* Name this entity is referred to as
*/
public void setTitle (String Title);
/** Get Title.
* Name this entity is referred to as
*/
public String getTitle();
/** Column name Updated */ /** Column name Updated */
public static final String COLUMNNAME_Updated = "Updated"; public static final String COLUMNNAME_Updated = "Updated";

View File

@ -31,7 +31,7 @@ public class X_AD_BroadcastMessage extends PO implements I_AD_BroadcastMessage,
/** /**
* *
*/ */
private static final long serialVersionUID = 20211224L; private static final long serialVersionUID = 20220114L;
/** Standard Constructor */ /** Standard Constructor */
public X_AD_BroadcastMessage (Properties ctx, int AD_BroadcastMessage_ID, String trxName) public X_AD_BroadcastMessage (Properties ctx, int AD_BroadcastMessage_ID, String trxName)
@ -439,4 +439,20 @@ public class X_AD_BroadcastMessage extends PO implements I_AD_BroadcastMessage,
{ {
return (String)get_Value(COLUMNNAME_TestMessage); return (String)get_Value(COLUMNNAME_TestMessage);
} }
/** Set Title.
@param Title Name this entity is referred to as
*/
public void setTitle (String Title)
{
set_Value (COLUMNNAME_Title, Title);
}
/** Get Title.
@return Name this entity is referred to as
*/
public String getTitle()
{
return (String)get_Value(COLUMNNAME_Title);
}
} }

View File

@ -21,6 +21,7 @@ import java.util.logging.Level;
import org.adempiere.exceptions.DBException; import org.adempiere.exceptions.DBException;
import org.adempiere.model.MBroadcastMessage; import org.adempiere.model.MBroadcastMessage;
import org.adempiere.webui.ClientInfo;
import org.adempiere.webui.apps.AEnv; import org.adempiere.webui.apps.AEnv;
import org.adempiere.webui.component.Button; import org.adempiere.webui.component.Button;
import org.adempiere.webui.component.Checkbox; import org.adempiere.webui.component.Checkbox;
@ -34,6 +35,7 @@ import org.compiere.util.CLogger;
import org.compiere.util.DB; import org.compiere.util.DB;
import org.compiere.util.Env; import org.compiere.util.Env;
import org.compiere.util.Msg; import org.compiere.util.Msg;
import org.compiere.util.Util;
import org.idempiere.broadcast.IBroadcastMsgPopup; import org.idempiere.broadcast.IBroadcastMsgPopup;
import org.zkoss.zk.ui.Component; import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.event.Event; import org.zkoss.zk.ui.event.Event;
@ -72,7 +74,6 @@ public class BroadcastMessageWindow extends Window implements IBroadcastMsgPopup
private Html textMsgContent = null; private Html textMsgContent = null;
private North north =null; private North north =null;
private Div swDiv =null; private Div swDiv =null;
private Div sDiv = null;
private Button btnPrev = null; private Button btnPrev = null;
private Button btnNext = null; private Button btnNext = null;
private Checkbox acknowledged = null; private Checkbox acknowledged = null;
@ -81,9 +82,6 @@ public class BroadcastMessageWindow extends Window implements IBroadcastMsgPopup
private HeaderPanel pnlHead = null; private HeaderPanel pnlHead = null;
private boolean isTest = false; private boolean isTest = false;
private boolean initialised = false; private boolean initialised = false;
/*public BroadcastMessageWindow(){
//init();
}*/
public BroadcastMessageWindow(HeaderPanel pnlHead) { public BroadcastMessageWindow(HeaderPanel pnlHead) {
this.pnlHead = pnlHead; this.pnlHead = pnlHead;
@ -95,19 +93,25 @@ public class BroadcastMessageWindow extends Window implements IBroadcastMsgPopup
} }
private void init() { private void init() {
setTitle(Msg.getMsg(Env.getCtx(),"Message"));
Borderlayout layout = new Borderlayout(); Borderlayout layout = new Borderlayout();
this.appendChild(layout); this.appendChild(layout);
addEventListener("onFocus", this); addEventListener("onFocus", this);
initialised = true; initialised = true;
ZKUpdateUtil.setWidth(this, "30%"); String percent;
ZKUpdateUtil.setHeight(this, "30%"); if (ClientInfo.isMobile())
percent = "50%";
else
percent = "30%";
ZKUpdateUtil.setWidth(this, percent);
ZKUpdateUtil.setHeight(this, percent);
setPosition("right,bottom"); setPosition("right,bottom");
setBorder(true); setBorder(true);
setShadow(false); setShadow(false);
doOverlapped(); doOverlapped();
setClosable(true); setClosable(true);
setSizable(true);
setMaximizable(true);
north = new North(); north = new North();
layout.appendChild(north); layout.appendChild(north);
@ -115,16 +119,16 @@ public class BroadcastMessageWindow extends Window implements IBroadcastMsgPopup
Center center = new Center(); Center center = new Center();
layout.appendChild(center); layout.appendChild(center);
Div htmlDiv = new Div(); Div htmlDiv = new Div();
//textMsgContent = new Label();
htmlDiv.appendChild(textMsgContent); htmlDiv.appendChild(textMsgContent);
center.setAutoscroll(true); center.setAutoscroll(true);
Env.setContext(Env.getCtx(), MBroadcastMessage.CLIENTINFO_BROADCAST_COMPONENT_ID, pnlHead.getUuid()); Env.setContext(Env.getCtx(), MBroadcastMessage.CLIENTINFO_BROADCAST_COMPONENT_ID, pnlHead.getUuid());
setTitle(mbMessages.get(0));
textMsgContent.setContent(mbMessages.get(0).get_Translation(MBroadcastMessage.COLUMNNAME_BroadcastMessage)); textMsgContent.setContent(mbMessages.get(0).get_Translation(MBroadcastMessage.COLUMNNAME_BroadcastMessage));
pnlHead.addEventListener(ZoomEvent.EVENT_NAME, this); pnlHead.addEventListener(ZoomEvent.EVENT_NAME, this);
htmlDiv.setFocus(true); htmlDiv.setFocus(true);
htmlDiv.setStyle("display: table-cell; vertical-align: middle; text-align: center;"); htmlDiv.setStyle("display: table-cell; vertical-align: middle; text-align: center;");
Div divAlign = new Div(); Div divAlign = new Div();
divAlign.setStyle("color:white; position: absolute; width: 370px; height: 120px; display: table;"); divAlign.setStyle("color:white; position: absolute; height: 120px; display: table;");
htmlDiv.setParent(divAlign); htmlDiv.setParent(divAlign);
center.appendChild(divAlign); center.appendChild(divAlign);
@ -136,32 +140,19 @@ public class BroadcastMessageWindow extends Window implements IBroadcastMsgPopup
Hbox southHLayout = new Hbox(); Hbox southHLayout = new Hbox();
south.appendChild(southHLayout); south.appendChild(southHLayout);
southHLayout.setSpacing("30"); southHLayout.setSpacing("30");
ZKUpdateUtil.setWidth(southHLayout, "350px"); ZKUpdateUtil.setHflex(southHLayout, "1");
Cell leftCell = new Cell(); Cell leftCell = new Cell();
southHLayout.appendChild(leftCell); southHLayout.appendChild(leftCell);
ZKUpdateUtil.setHflex(leftCell, "1"); ZKUpdateUtil.setHflex(leftCell, "1");
//leftCell.setWidth("30%"); leftCell.setAlign("center");
leftCell.setAlign("left");
swDiv = new Div(); swDiv = new Div();
swDiv.setParent(leftCell); swDiv.setParent(leftCell);
acknowledged = new Checkbox(); acknowledged = new Checkbox();
Cell rightCell = new Cell();
southHLayout.appendChild(rightCell);
rightCell.setAlign("right");
ZKUpdateUtil.setHflex(rightCell, "true");
sDiv = new Div();
ZKUpdateUtil.setWidth(sDiv, "70px");
rightCell.appendChild(sDiv);
//createHashTable(); //createHashTable();
currMsg = 0; currMsg = 0;
//btnPrev = new Button("<");
btnPrev.addEventListener("onClick", this); btnPrev.addEventListener("onClick", this);
//textMsgNo = new Label();
//textMsgNo.setValue((currMsg+1)+"/"+noOfMsgs);
btnNext = new Button(">"); btnNext = new Button(">");
btnNext.addEventListener("onClick", this); btnNext.addEventListener("onClick", this);
@ -178,9 +169,7 @@ public class BroadcastMessageWindow extends Window implements IBroadcastMsgPopup
swDiv.setVisible(false); swDiv.setVisible(false);
ZKUpdateUtil.setHeight(south, "22%"); ZKUpdateUtil.setHeight(south, "22%");
//south.setWidth("45%"); acknowledged.setParent(leftCell);
acknowledged.setParent(rightCell);
//ZKUpdateUtil.setHflex(acknowledged, "6");
acknowledged.setLabel(Msg.getMsg(Env.getCtx(),"Acknowledge")); acknowledged.setLabel(Msg.getMsg(Env.getCtx(),"Acknowledge"));
acknowledged.addEventListener("onClick", this); acknowledged.addEventListener("onClick", this);
@ -308,6 +297,7 @@ public class BroadcastMessageWindow extends Window implements IBroadcastMsgPopup
} }
textMsgNo.setValue((currMsg+1)+"/"+noOfMsgs); textMsgNo.setValue((currMsg+1)+"/"+noOfMsgs);
setTitle(mbMessage);
textMsgContent.setContent(mbMessage.get_Translation(MBroadcastMessage.COLUMNNAME_BroadcastMessage)); textMsgContent.setContent(mbMessage.get_Translation(MBroadcastMessage.COLUMNNAME_BroadcastMessage));
if (!isTest && mbMessage.isLogAcknowledge()) { if (!isTest && mbMessage.isLogAcknowledge()) {
@ -387,4 +377,10 @@ public class BroadcastMessageWindow extends Window implements IBroadcastMsgPopup
} }
} }
} }
/** Set the title for the panel using what is defined on the message or fallback to "Message" */
void setTitle(MBroadcastMessage bm) {
String title = bm.get_Translation(MBroadcastMessage.COLUMNNAME_Title);
setTitle(Util.isEmpty(title) ? Msg.getMsg(Env.getCtx(), "Message") : title);
}
} }