Path: blob/master/src/applications/drydock/constants/DrydockResourceStatus.php
12256 views
<?php12final class DrydockResourceStatus3extends PhabricatorObjectStatus {45const STATUS_PENDING = 'pending';6const STATUS_ACTIVE = 'active';7const STATUS_RELEASED = 'released';8const STATUS_BROKEN = 'broken';9const STATUS_DESTROYED = 'destroyed';1011public static function newStatusObject($key) {12return new self($key, id(new self())->getStatusSpecification($key));13}1415public static function getStatusMap() {16$map = id(new self())->getStatusSpecifications();17return ipull($map, 'name', 'key');18}1920public static function getNameForStatus($status) {21$map = id(new self())->getStatusSpecification($status);22return $map['name'];23}2425public static function getAllStatuses() {26return array_keys(id(new self())->getStatusSpecifications());27}2829public function isActive() {30return ($this->getKey() === self::STATUS_ACTIVE);31}3233public function canRelease() {34return $this->getStatusProperty('isReleasable');35}3637public function canReceiveCommands() {38return $this->getStatusProperty('isCommandable');39}4041protected function newStatusSpecifications() {42return array(43array(44'key' => self::STATUS_PENDING,45'name' => pht('Pending'),46'icon' => 'fa-clock-o',47'color' => 'blue',48'isReleasable' => true,49'isCommandable' => true,50),51array(52'key' => self::STATUS_ACTIVE,53'name' => pht('Active'),54'icon' => 'fa-check',55'color' => 'green',56'isReleasable' => true,57'isCommandable' => true,58),59array(60'key' => self::STATUS_RELEASED,61'name' => pht('Released'),62'icon' => 'fa-circle-o',63'color' => 'blue',64'isReleasable' => false,65'isCommandable' => false,66),67array(68'key' => self::STATUS_BROKEN,69'name' => pht('Broken'),70'icon' => 'fa-times',71'color' => 'indigo',72'isReleasable' => true,73'isCommandable' => false,74),75array(76'key' => self::STATUS_DESTROYED,77'name' => pht('Destroyed'),78'icon' => 'fa-times',79'color' => 'grey',80'isReleasable' => false,81'isCommandable' => false,82),83);84}8586protected function newUnknownStatusSpecification($status) {87return array(88'isReleasable' => false,89'isCommandable' => false,90);91}9293}949596