. * * The interactive user interfaces in modified source and object code versions * of this program must display Appropriate Legal Notices, as required under * Section 5 of the GNU Affero General Public License version 3. * * In accordance with Section 7(b) of the GNU Affero General Public License version 3, * these Appropriate Legal Notices must retain the display of the "EspoCRM" word. ************************************************************************/ namespace Espo\Modules\Crm\Entities; use Espo\Core\ORM\Entity; use LogicException; class CampaignTrackingUrl extends Entity { public const ENTITY_TYPE = 'CampaignTrackingUrl'; public const ACTION_SHOW_MESSAGE = 'Show Message'; public function getCampaignId(): ?string { return $this->get('campaignId'); } public function getAction(): ?string { return $this->get('action'); } public function getMessage(): ?string { return $this->get('message'); } public function getUrl(): ?string { return $this->get('url'); } public function getUrlToUse(): string { if (!$this->id) { throw new LogicException(); } return $this->get('urlToUse'); } protected function _getUrlToUse(): string { return '{trackingUrl:' . $this->id . '}'; } protected function _hasUrlToUse(): bool { return !$this->isNew(); } }