. * * 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\Entities; use Espo\Core\Field\LinkMultiple; use Espo\Core\Name\Field; use Espo\Core\ORM\Entity; use Espo\ORM\EntityCollection; class Pipeline extends Entity { public const string ENTITY_TYPE = 'Pipeline'; public const string FIELD_STATUS = 'status'; public const string FIELD_ENTITY_TYPE = 'entityType'; public const string FIELD_FIELD = 'field'; public const string FIELD_COLOR = 'color'; public const string FIELD_IS_AVAILABLE_FOR_ALL = 'isAvailableForAll'; public const string FIELD_ORDER = 'order'; public const string LINK_STAGES = 'stages'; public const string STATUS_ACTIVE = 'Active'; public function getName(): string { return $this->get(Field::NAME); } public function getTargetEntityType(): string { return $this->get(self::FIELD_ENTITY_TYPE); } public function getTargetField(): string { return $this->get(self::FIELD_FIELD); } public function getColor(): ?int { return $this->get(self::FIELD_COLOR); } public function isAvailableForAll(): bool { return $this->get(self::FIELD_IS_AVAILABLE_FOR_ALL); } public function setTeams(LinkMultiple $teams): self { return $this->setValueObject(Field::TEAMS, $teams); } public function getTeams(): LinkMultiple { /** @var LinkMultiple */ return $this->getValueObject(Field::TEAMS); } public function getOrder(): int { return (int) $this->get(self::FIELD_ORDER); } /** * @return EntityCollection */ public function getStages(): EntityCollection { /** @var EntityCollection */ return $this->relations->getMany(self::LINK_STAGES); } }