Differential D11870 Diff 32666 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 79 Lines • ▼ Show 20 Lines | private function buildActionList(HarbormasterBuildable $buildable) { | ||||
$can_edit = PhabricatorPolicyFilter::hasCapability( | $can_edit = PhabricatorPolicyFilter::hasCapability( | ||||
$viewer, | $viewer, | ||||
$buildable, | $buildable, | ||||
PhabricatorPolicyCapability::CAN_EDIT); | PhabricatorPolicyCapability::CAN_EDIT); | ||||
$can_restart = false; | $can_restart = false; | ||||
$can_resume = false; | $can_resume = false; | ||||
$can_stop = false; | $can_stop = false; | ||||
$can_abort = false; | |||||
foreach ($buildable->getBuilds() as $build) { | foreach ($buildable->getBuilds() as $build) { | ||||
if ($build->canRestartBuild()) { | if ($build->canRestartBuild()) { | ||||
$can_restart = true; | $can_restart = true; | ||||
} | } | ||||
if ($build->canResumeBuild()) { | if ($build->canResumeBuild()) { | ||||
$can_resume = true; | $can_resume = true; | ||||
} | } | ||||
if ($build->canStopBuild()) { | if ($build->canStopBuild()) { | ||||
$can_stop = true; | $can_stop = true; | ||||
} | } | ||||
if ($build->canAbortBuild()) { | |||||
$can_abort = true; | |||||
} | |||||
} | } | ||||
$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/"; | ||||
$abort_uri = "buildable/{$id}/abort/"; | |||||
$list->addAction( | $list->addAction( | ||||
id(new PhabricatorActionView()) | id(new PhabricatorActionView()) | ||||
->setIcon('fa-repeat') | ->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)); | ||||
Show All 9 Lines | private function buildActionList(HarbormasterBuildable $buildable) { | ||||
$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')) | ||||
->setHref($this->getApplicationURI($resume_uri)) | ->setHref($this->getApplicationURI($resume_uri)) | ||||
->setWorkflow(true) | ->setWorkflow(true) | ||||
->setDisabled(!$can_resume || !$can_edit)); | ->setDisabled(!$can_resume || !$can_edit)); | ||||
$list->addAction( | |||||
id(new PhabricatorActionView()) | |||||
->setIcon('fa-exclamation-triangle') | |||||
->setName(pht('Abort All Builds')) | |||||
->setHref($this->getApplicationURI($abort_uri)) | |||||
->setWorkflow(true) | |||||
->setDisabled(!$can_abort || !$can_edit)); | |||||
return $list; | return $list; | ||||
} | } | ||||
private function buildPropertyLists( | private function buildPropertyLists( | ||||
PHUIObjectBoxView $box, | PHUIObjectBoxView $box, | ||||
HarbormasterBuildable $buildable, | HarbormasterBuildable $buildable, | ||||
PhabricatorActionListView $actions) { | PhabricatorActionListView $actions) { | ||||
$request = $this->getRequest(); | $request = $this->getRequest(); | ||||
▲ Show 20 Lines • Show All 48 Lines • ▼ Show 20 Lines | foreach ($buildable->getBuilds() as $build) { | ||||
$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/"; | ||||
$abort_uri = "build/abort/{$build_id}/buildable/"; | |||||
$item->addAction( | $item->addAction( | ||||
id(new PHUIListItemView()) | id(new PHUIListItemView()) | ||||
->setIcon('fa-repeat') | ->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())); | ||||
▲ Show 20 Lines • Show All 138 Lines • Show Last 20 Lines |