Path: blob/master/src/applications/nuance/storage/NuanceItemCommand.php
12256 views
<?php12final class NuanceItemCommand3extends NuanceDAO4implements PhabricatorPolicyInterface {56const STATUS_ISSUED = 'issued';7const STATUS_EXECUTING = 'executing';8const STATUS_DONE = 'done';9const STATUS_FAILED = 'failed';1011protected $itemPHID;12protected $authorPHID;13protected $queuePHID;14protected $command;15protected $status;16protected $parameters = array();1718public static function initializeNewCommand() {19return id(new self())20->setStatus(self::STATUS_ISSUED);21}2223protected function getConfiguration() {24return array(25self::CONFIG_SERIALIZATION => array(26'parameters' => self::SERIALIZATION_JSON,27),28self::CONFIG_COLUMN_SCHEMA => array(29'command' => 'text64',30'status' => 'text64',31'queuePHID' => 'phid?',32),33self::CONFIG_KEY_SCHEMA => array(34'key_pending' => array(35'columns' => array('itemPHID', 'status'),36),37),38) + parent::getConfiguration();39}4041public static function getStatusMap() {42return array(43self::STATUS_ISSUED => array(44'name' => pht('Issued'),45'icon' => 'fa-clock-o',46'color' => 'bluegrey',47),48self::STATUS_EXECUTING => array(49'name' => pht('Executing'),50'icon' => 'fa-play',51'color' => 'green',52),53self::STATUS_DONE => array(54'name' => pht('Done'),55'icon' => 'fa-check',56'color' => 'blue',57),58self::STATUS_FAILED => array(59'name' => pht('Failed'),60'icon' => 'fa-times',61'color' => 'red',62),63);64}6566private function getStatusSpec() {67$map = self::getStatusMap();68return idx($map, $this->getStatus(), array());69}7071public function getStatusIcon() {72$spec = $this->getStatusSpec();73return idx($spec, 'icon', 'fa-question');74}7576public function getStatusColor() {77$spec = $this->getStatusSpec();78return idx($spec, 'color', 'indigo');79}8081public function getStatusName() {82$spec = $this->getStatusSpec();83return idx($spec, 'name', $this->getStatus());84}858687/* -( PhabricatorPolicyInterface )----------------------------------------- */888990public function getCapabilities() {91return array(92PhabricatorPolicyCapability::CAN_VIEW,93);94}9596public function getPolicy($capability) {97return PhabricatorPolicies::getMostOpenPolicy();98}99100public function hasAutomaticCapability($capability, PhabricatorUser $viewer) {101return false;102}103104}105106107