Add a "close" action to Drydock resources

Summary: This does nothing fancy, just closes the resource and releases/breaks leases. They'll get cleaned up in some to-be-written GC process.

Test Plan: Closed resources from web UI and CLI.

Reviewers: btrahan

Reviewed By: btrahan

CC: aran

Maniphest Tasks: T2015

Differential Revision: https://secure.phabricator.com/D3998
This commit is contained in:
epriestley
2012-11-27 12:48:03 -08:00
parent 1bbdfa60c7
commit 5cbc31644b
7 changed files with 143 additions and 0 deletions

View File

@@ -63,6 +63,18 @@ final class DrydockResourceViewController extends DrydockController {
->setUser($this->getRequest()->getUser())
->setObject($resource);
$can_close = ($resource->getStatus() == DrydockResourceStatus::STATUS_OPEN);
$uri = '/resource/'.$resource->getID().'/close/';
$uri = $this->getApplicationURI($uri);
$view->addAction(
id(new PhabricatorActionView())
->setHref($uri)
->setName(pht('Close Resource'))
->setIcon('delete')
->setWorkflow(true)
->setDisabled(!$can_close));
return $view;
}