* @package Combodo\iTop\Application\UI\Layout\ActivityPanel\ActivityEntry * @internal * @since 3.0.0 */ class CaseLogEntry extends ActivityEntry { // Overloaded constants public const BLOCK_CODE = 'ibo-caselog-entry'; public const HTML_TEMPLATE_REL_PATH = 'layouts/activity-panel/activity-entry/caselog-entry'; public const DEFAULT_TYPE = 'caselog'; public const DEFAULT_DECORATION_CLASSES = 'fas fa-fw fa-quote-left'; // Specific constants public const DEFAULT_CASELOG_RANK = 0; /** @var string $sAttCode Code of the corresponding case log attribute */ protected $sAttCode; /** @var int $iCaseLogRank Rank of its case log in the host panel, can be used for highlight purposes for example */ protected $iCaseLogRank; /** * CaseLogEntry constructor. * * @param \DateTime $oDateTime * @param \User $sAuthorLogin * @param string $sAttCode * @param string $sContent * @param string|null $sId * * @throws \OQLException */ public function __construct(DateTime $oDateTime, string $sAuthorLogin, string $sAttCode, string $sContent, ?string $sId = null) { parent::__construct($oDateTime, $sAuthorLogin, $sContent, $sId); $this->sAttCode = $sAttCode; $this->SetCaseLogRank(static::DEFAULT_CASELOG_RANK); $this->SetOrigin('caselog:'.$this->sAttCode); } /** * Return the code of the corresponding case log attribute * * @return string */ public function GetAttCode() { return $this->sAttCode; } /** * Set the rank of the case log in the host panel * * @param int $iCaseLogRank * * @return $this */ public function SetCaseLogRank(int $iCaseLogRank) { $this->iCaseLogRank = $iCaseLogRank; return $this; } /** * Return the rank of the case log in the host panel * * @return int */ public function GetCaseLogRank() { return $this->iCaseLogRank; } }