Differential D10172 Diff 24495 src/applications/harbormaster/controller/HarbormasterBuildViewController.php
Changeset View
Changeset View
Standalone View
Standalone View
src/applications/harbormaster/controller/HarbormasterBuildViewController.php
Show All 29 Lines | public function processRequest() { | ||||
$header = id(new PHUIHeaderView()) | $header = id(new PHUIHeaderView()) | ||||
->setHeader($title) | ->setHeader($title) | ||||
->setUser($viewer) | ->setUser($viewer) | ||||
->setPolicyObject($build); | ->setPolicyObject($build); | ||||
if ($build->isRestarting()) { | if ($build->isRestarting()) { | ||||
$header->setStatus('fa-exclamation-triangle', 'red', pht('Restarting')); | $header->setStatus('fa-exclamation-triangle', 'red', pht('Restarting')); | ||||
} else if ($build->isStopping()) { | } else if ($build->isStopping()) { | ||||
$header->setStatus('fa-exclamation-triangle', 'red', pht('Stopping')); | $header->setStatus('fa-exclamation-triangle', 'red', pht('Pausing')); | ||||
} else if ($build->isResuming()) { | } else if ($build->isResuming()) { | ||||
$header->setStatus('fa-exclamation-triangle', 'red', pht('Resuming')); | $header->setStatus('fa-exclamation-triangle', 'red', pht('Resuming')); | ||||
} | } | ||||
$box = id(new PHUIObjectBoxView()) | $box = id(new PHUIObjectBoxView()) | ||||
->setHeader($header); | ->setHeader($header); | ||||
$actions = $this->buildActionList($build); | $actions = $this->buildActionList($build); | ||||
▲ Show 20 Lines • Show All 303 Lines • ▼ Show 20 Lines | private function buildActionList(HarbormasterBuild $build) { | ||||
$can_restart = $build->canRestartBuild(); | $can_restart = $build->canRestartBuild(); | ||||
$can_stop = $build->canStopBuild(); | $can_stop = $build->canStopBuild(); | ||||
$can_resume = $build->canResumeBuild(); | $can_resume = $build->canResumeBuild(); | ||||
$list->addAction( | $list->addAction( | ||||
id(new PhabricatorActionView()) | id(new PhabricatorActionView()) | ||||
->setName(pht('Restart Build')) | ->setName(pht('Restart Build')) | ||||
->setIcon('fa-backward') | ->setIcon('fa-repeat') | ||||
->setHref($this->getApplicationURI('/build/restart/'.$id.'/')) | ->setHref($this->getApplicationURI('/build/restart/'.$id.'/')) | ||||
->setDisabled(!$can_restart) | ->setDisabled(!$can_restart) | ||||
->setWorkflow(true)); | ->setWorkflow(true)); | ||||
$list->addAction( | if ($build->canResumeBuild()) { | ||||
id(new PhabricatorActionView()) | |||||
->setName(pht('Stop Build')) | |||||
->setIcon('fa-stop') | |||||
->setHref($this->getApplicationURI('/build/stop/'.$id.'/')) | |||||
->setDisabled(!$can_stop) | |||||
->setWorkflow(true)); | |||||
$list->addAction( | $list->addAction( | ||||
id(new PhabricatorActionView()) | id(new PhabricatorActionView()) | ||||
->setName(pht('Resume Build')) | ->setName(pht('Resume Build')) | ||||
->setIcon('fa-play') | ->setIcon('fa-play') | ||||
->setHref($this->getApplicationURI('/build/resume/'.$id.'/')) | ->setHref($this->getApplicationURI('/build/resume/'.$id.'/')) | ||||
->setDisabled(!$can_resume) | ->setDisabled(!$can_resume) | ||||
->setWorkflow(true)); | ->setWorkflow(true)); | ||||
} else { | |||||
$list->addAction( | |||||
id(new PhabricatorActionView()) | |||||
->setName(pht('Pause Build')) | |||||
->setIcon('fa-pause') | |||||
->setHref($this->getApplicationURI('/build/stop/'.$id.'/')) | |||||
->setDisabled(!$can_stop) | |||||
->setWorkflow(true)); | |||||
} | |||||
return $list; | return $list; | ||||
} | } | ||||
private function buildPropertyLists( | private function buildPropertyLists( | ||||
PHUIObjectBoxView $box, | PHUIObjectBoxView $box, | ||||
HarbormasterBuild $build, | HarbormasterBuild $build, | ||||
PhabricatorActionListView $actions) { | PhabricatorActionListView $actions) { | ||||
Show All 28 Lines | final class HarbormasterBuildViewController | ||||
} | } | ||||
private function getStatus(HarbormasterBuild $build) { | private function getStatus(HarbormasterBuild $build) { | ||||
$status_view = new PHUIStatusListView(); | $status_view = new PHUIStatusListView(); | ||||
$item = new PHUIStatusItemView(); | $item = new PHUIStatusItemView(); | ||||
if ($build->isStopping()) { | if ($build->isStopping()) { | ||||
$status_name = pht('Stopping'); | $status_name = pht('Pausing'); | ||||
$icon = PHUIStatusItemView::ICON_RIGHT; | $icon = PHUIStatusItemView::ICON_RIGHT; | ||||
$color = 'dark'; | $color = 'dark'; | ||||
} else { | } else { | ||||
$status = $build->getBuildStatus(); | $status = $build->getBuildStatus(); | ||||
$status_name = | $status_name = | ||||
HarbormasterBuild::getBuildStatusName($status); | HarbormasterBuild::getBuildStatusName($status); | ||||
$icon = HarbormasterBuild::getBuildStatusIcon($status); | $icon = HarbormasterBuild::getBuildStatusIcon($status); | ||||
$color = HarbormasterBuild::getBuildStatusColor($status); | $color = HarbormasterBuild::getBuildStatusColor($status); | ||||
▲ Show 20 Lines • Show All 57 Lines • Show Last 20 Lines |