Differential D10172 Diff 24495 src/applications/harbormaster/controller/HarbormasterBuildableViewController.php
Changeset View
Changeset View
Standalone View
Standalone View
src/applications/harbormaster/controller/HarbormasterBuildableViewController.php
Show First 20 Lines • Show All 104 Lines • ▼ Show 20 Lines | private function buildActionList(HarbormasterBuildable $buildable) { | ||||
} | } | ||||
$restart_uri = "buildable/{$id}/restart/"; | $restart_uri = "buildable/{$id}/restart/"; | ||||
$stop_uri = "buildable/{$id}/stop/"; | $stop_uri = "buildable/{$id}/stop/"; | ||||
$resume_uri = "buildable/{$id}/resume/"; | $resume_uri = "buildable/{$id}/resume/"; | ||||
$list->addAction( | $list->addAction( | ||||
id(new PhabricatorActionView()) | id(new PhabricatorActionView()) | ||||
->setIcon('fa-backward') | ->setIcon('fa-repeat') | ||||
->setName(pht('Restart All Builds')) | ->setName(pht('Restart All Builds')) | ||||
->setHref($this->getApplicationURI($restart_uri)) | ->setHref($this->getApplicationURI($restart_uri)) | ||||
->setWorkflow(true) | ->setWorkflow(true) | ||||
->setDisabled(!$can_restart || !$can_edit)); | ->setDisabled(!$can_restart || !$can_edit)); | ||||
$list->addAction( | $list->addAction( | ||||
id(new PhabricatorActionView()) | id(new PhabricatorActionView()) | ||||
->setIcon('fa-stop') | ->setIcon('fa-pause') | ||||
->setName(pht('Stop All Builds')) | ->setName(pht('Pause All Builds')) | ||||
->setHref($this->getApplicationURI($stop_uri)) | ->setHref($this->getApplicationURI($stop_uri)) | ||||
->setWorkflow(true) | ->setWorkflow(true) | ||||
->setDisabled(!$can_stop || !$can_edit)); | ->setDisabled(!$can_stop || !$can_edit)); | ||||
$list->addAction( | $list->addAction( | ||||
id(new PhabricatorActionView()) | id(new PhabricatorActionView()) | ||||
->setIcon('fa-play') | ->setIcon('fa-play') | ||||
->setName(pht('Resume All Builds')) | ->setName(pht('Resume All Builds')) | ||||
▲ Show 20 Lines • Show All 48 Lines • ▼ Show 20 Lines | foreach ($buildable->getBuilds() as $build) { | ||||
->setHref($view_uri); | ->setHref($view_uri); | ||||
$status = $build->getBuildStatus(); | $status = $build->getBuildStatus(); | ||||
$item->setBarColor(HarbormasterBuild::getBuildStatusColor($status)); | $item->setBarColor(HarbormasterBuild::getBuildStatusColor($status)); | ||||
$item->addAttribute(HarbormasterBuild::getBuildStatusName($status)); | $item->addAttribute(HarbormasterBuild::getBuildStatusName($status)); | ||||
if ($build->isRestarting()) { | if ($build->isRestarting()) { | ||||
$item->addIcon('fa-backward', pht('Restarting')); | $item->addIcon('fa-repeat', pht('Restarting')); | ||||
} else if ($build->isStopping()) { | } else if ($build->isStopping()) { | ||||
$item->addIcon('fa-stop', pht('Stopping')); | $item->addIcon('fa-pause', pht('Pausing')); | ||||
} else if ($build->isResuming()) { | } else if ($build->isResuming()) { | ||||
$item->addIcon('fa-play', pht('Resuming')); | $item->addIcon('fa-play', pht('Resuming')); | ||||
} | } | ||||
$build_id = $build->getID(); | $build_id = $build->getID(); | ||||
$restart_uri = "build/restart/{$build_id}/buildable/"; | $restart_uri = "build/restart/{$build_id}/buildable/"; | ||||
$resume_uri = "build/resume/{$build_id}/buildable/"; | $resume_uri = "build/resume/{$build_id}/buildable/"; | ||||
$stop_uri = "build/stop/{$build_id}/buildable/"; | $stop_uri = "build/stop/{$build_id}/buildable/"; | ||||
$item->addAction( | $item->addAction( | ||||
id(new PHUIListItemView()) | id(new PHUIListItemView()) | ||||
->setIcon('fa-backward') | ->setIcon('fa-repeat') | ||||
->setName(pht('Restart')) | ->setName(pht('Restart')) | ||||
->setHref($this->getApplicationURI($restart_uri)) | ->setHref($this->getApplicationURI($restart_uri)) | ||||
->setWorkflow(true) | ->setWorkflow(true) | ||||
->setDisabled(!$build->canRestartBuild())); | ->setDisabled(!$build->canRestartBuild())); | ||||
if ($build->canResumeBuild()) { | if ($build->canResumeBuild()) { | ||||
$item->addAction( | $item->addAction( | ||||
id(new PHUIListItemView()) | id(new PHUIListItemView()) | ||||
->setIcon('fa-play') | ->setIcon('fa-play') | ||||
->setName(pht('Resume')) | ->setName(pht('Resume')) | ||||
->setHref($this->getApplicationURI($resume_uri)) | ->setHref($this->getApplicationURI($resume_uri)) | ||||
->setWorkflow(true)); | ->setWorkflow(true)); | ||||
} else { | } else { | ||||
$item->addAction( | $item->addAction( | ||||
id(new PHUIListItemView()) | id(new PHUIListItemView()) | ||||
->setIcon('fa-stop') | ->setIcon('fa-pause') | ||||
->setName(pht('Stop')) | ->setName(pht('Pause')) | ||||
->setHref($this->getApplicationURI($stop_uri)) | ->setHref($this->getApplicationURI($stop_uri)) | ||||
->setWorkflow(true) | ->setWorkflow(true) | ||||
->setDisabled(!$build->canStopBuild())); | ->setDisabled(!$build->canStopBuild())); | ||||
} | } | ||||
$targets = $build->getBuildTargets(); | $targets = $build->getBuildTargets(); | ||||
if ($targets) { | if ($targets) { | ||||
$target_list = id(new PHUIStatusListView()); | $target_list = id(new PHUIStatusListView()); | ||||
foreach ($targets as $target) { | foreach ($targets as $target) { | ||||
switch ($target->getTargetStatus()) { | $status = $target->getTargetStatus(); | ||||
case HarbormasterBuildTarget::STATUS_PENDING: | $icon = HarbormasterBuildTarget::getBuildTargetStatusIcon($status); | ||||
$icon = PHUIStatusItemView::ICON_CLOCK; | $color = HarbormasterBuildTarget::getBuildTargetStatusColor($status); | ||||
$color = 'green'; | $status_name = | ||||
$status_name = pht('Pending'); | HarbormasterBuildTarget::getBuildTargetStatusName($status); | ||||
break; | |||||
case HarbormasterBuildTarget::STATUS_BUILDING: | |||||
$icon = PHUIStatusItemView::ICON_RIGHT; | |||||
$color = 'green'; | |||||
$status_name = pht('Building'); | |||||
break; | |||||
case HarbormasterBuildTarget::STATUS_WAITING: | |||||
$icon = PHUIStatusItemView::ICON_CLOCK; | |||||
$color = 'orange'; | |||||
$status_name = pht('Waiting'); | |||||
break; | |||||
case HarbormasterBuildTarget::STATUS_PASSED: | |||||
$icon = PHUIStatusItemView::ICON_ACCEPT; | |||||
$color = 'green'; | |||||
$status_name = pht('Passed'); | |||||
break; | |||||
case HarbormasterBuildTarget::STATUS_FAILED: | |||||
$icon = PHUIStatusItemView::ICON_REJECT; | |||||
$color = 'red'; | |||||
$status_name = pht('Failed'); | |||||
break; | |||||
default: | |||||
$icon = PHUIStatusItemView::ICON_QUESTION; | |||||
$color = 'bluegrey'; | |||||
$status_name = pht('Unknown'); | |||||
break; | |||||
} | |||||
$name = $target->getName(); | $name = $target->getName(); | ||||
$target_list->addItem( | $target_list->addItem( | ||||
id(new PHUIStatusItemView()) | id(new PHUIStatusItemView()) | ||||
->setIcon($icon, $color, $status_name) | ->setIcon($icon, $color, $status_name) | ||||
->setTarget(pht('Target %d', $target->getID())) | ->setTarget(pht('Target %d', $target->getID())) | ||||
->setNote($name)); | ->setNote($name)); | ||||
Show All 16 Lines |