From 12ef74ec42b89aa2800a2998bd4fb9f78cecd2fd Mon Sep 17 00:00:00 2001
From: Anne-Catherine <57360138+accognet@users.noreply.github.com>
Date: Mon, 30 Jan 2023 16:06:10 +0100
Subject: [PATCH] =?UTF-8?q?N=C2=B05849=20-=20Fix=20wrong=20encoding=20of?=
=?UTF-8?q?=20external=20keys=20in=20"Header=20with=20statstics"=20dashlet?=
=?UTF-8?q?=20(#384)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
N°5849 - Fix wrong encoding of external keys in "Header with statstics" dashlet #384
---
application/displayblock.class.inc.php | 16 +++++++++++++---
1 file changed, 13 insertions(+), 3 deletions(-)
diff --git a/application/displayblock.class.inc.php b/application/displayblock.class.inc.php
index f76453ae0..dd6c25a01 100644
--- a/application/displayblock.class.inc.php
+++ b/application/displayblock.class.inc.php
@@ -1045,9 +1045,19 @@ JS
$aCount = $aCounts[$sStateValue];
$sHyperlink = $aCount['link'];
$sCountLabel = $aCount['label'];
- $oPill = PillFactory::MakeForState($sClass, $sStateValue)
- ->SetTooltip($sStateLabel)
- ->AddHtml("");
+
+ $oPill = PillFactory::MakeForState($sClass, $sStateValue);
+ // N°5849 - Unencode label for ExternalKey attribute because friendlyname is already html encoded thanks to DBObject::GetName() in AttributeExternalKey::GetAllowedValues(). (A fix in this function may have too much impact).
+ if ($oAttDef instanceof AttributeExternalKey) {
+ $sPillTooltip = utils::HtmlEntityDecode($sStateLabel);
+ $sPillLabel = $sStateLabel;
+ } else {
+ $sPillTooltip = $sStateLabel;
+ $sPillLabel = utils::HtmlEntities($sStateLabel);
+ }
+ $oPill->SetTooltip($sPillTooltip)
+ ->AddHtml("");
+
if ($sHyperlink != '-') {
$oPill->SetUrl($sHyperlink);
}