diff --git a/application/cmdbabstract.class.inc.php b/application/cmdbabstract.class.inc.php index 31cfe1fe4..0fc81015f 100644 --- a/application/cmdbabstract.class.inc.php +++ b/application/cmdbabstract.class.inc.php @@ -17,8 +17,10 @@ * You should have received a copy of the GNU Affero General Public License */ +use Combodo\iTop\Application\UI\Component\Alert\AlertFactory; use Combodo\iTop\Application\UI\Component\Field\Field; use Combodo\iTop\Application\UI\Component\FieldSet\FieldSet; +use Combodo\iTop\Application\UI\Component\Title\TitleFactory; use Combodo\iTop\Application\UI\Layout\Column\Column; use Combodo\iTop\Application\UI\Layout\MultiColumn\MultiColumn; @@ -215,46 +217,51 @@ EOF // Standard Header with name, actions menu and history block // - if (!$oPage->IsPrintableVersion()) - { + if (!$oPage->IsPrintableVersion()) { // Is there a message for this object ?? - $aMessages = array(); - $aRanks = array(); - if (MetaModel::GetConfig()->Get('concurrent_lock_enabled')) - { + $aMessages = []; + $aRanks = []; + if (MetaModel::GetConfig()->Get('concurrent_lock_enabled')) { $aLockInfo = iTopOwnershipLock::IsLocked(get_class($this), $this->GetKey()); - if ($aLockInfo['locked']) - { + if ($aLockInfo['locked']) { $aRanks[] = 0; $sName = $aLockInfo['owner']->GetName(); - if ($aLockInfo['owner']->Get('contactid') != 0) - { + if ($aLockInfo['owner']->Get('contactid') != 0) { $sName .= ' ('.$aLockInfo['owner']->Get('contactid_friendlyname').')'; } $aResult['message'] = Dict::Format('UI:CurrentObjectIsLockedBy_User', $sName); - $aMessages[] = "
"; + $aMessages[] = AlertFactory::MakeForDanger('', Dict::Format('UI:CurrentObjectIsLockedBy_User', $sName)); } } $sMessageKey = get_class($this).'::'.$this->GetKey(); if (array_key_exists('obj_messages', $_SESSION) && array_key_exists($sMessageKey, - $_SESSION['obj_messages'])) - { - foreach($_SESSION['obj_messages'][$sMessageKey] as $sMessageId => $aMessageData) - { - $sMsgClass = 'message_'.$aMessageData['severity']; - if(!in_array("",$aMessages)) - { - $aMessages[] = ""; + $_SESSION['obj_messages'])) { + $aReadMessages = []; + foreach ($_SESSION['obj_messages'][$sMessageKey] as $sMessageId => $aMessageData) { + if (!in_array($aMessageData['message'], $aReadMessages)) { + $aReadMessages[] = $aMessageData['message']; $aRanks[] = $aMessageData['rank']; + switch ($aMessageData['severity']) { + case 'info': + $aMessages[] = AlertFactory::MakeForInformation('', $aMessageData['message']); + break; + case 'ok': + $aMessages[] = AlertFactory::MakeForSuccess('', $aMessageData['message']); + break; + case 'warning': + $aMessages[] = AlertFactory::MakeForWarning('', $aMessageData['message']); + break; + case 'error': + $aMessages[] = AlertFactory::MakeForDanger('', $aMessageData['message']); + break; + } } } unset($_SESSION['obj_messages'][$sMessageKey]); } array_multisort($aRanks, $aMessages); - foreach($aMessages as $sMessage) - { - $oPage->add($sMessage); + foreach ($aMessages as $oMessage) { + $oPage->AddUiBlock($oMessage); } } @@ -364,14 +371,11 @@ EOF } } - if ($this->IsArchived()) - { + if ($this->IsArchived()) { $sLabel = htmlentities(Dict::S('Tag:Archived'), ENT_QUOTES, 'UTF-8'); $sTitle = htmlentities(Dict::S('Tag:Archived+'), ENT_QUOTES, 'UTF-8'); $aIcons[] = "