Changeset View
Changeset View
Standalone View
Standalone View
src/applications/drydock/controller/DrydockLeaseReleaseController.php
<?php | <?php | ||||
final class DrydockLeaseReleaseController extends DrydockController { | final class DrydockLeaseReleaseController extends DrydockController { | ||||
private $id; | private $id; | ||||
public function willProcessRequest(array $data) { | public function willProcessRequest(array $data) { | ||||
$this->id = $data['id']; | $this->id = $data['id']; | ||||
} | } | ||||
public function processRequest() { | public function processRequest() { | ||||
$request = $this->getRequest(); | $request = $this->getRequest(); | ||||
$user = $request->getUser(); | $user = $request->getUser(); | ||||
$lease = id(new DrydockLease())->load($this->id); | $lease = id(new DrydockLeaseQuery()) | ||||
->setViewer($user) | |||||
->withIDs(array($this->id)) | |||||
->executeOne(); | |||||
if (!$lease) { | if (!$lease) { | ||||
return new Aphront404Response(); | return new Aphront404Response(); | ||||
} | } | ||||
$lease_uri = '/lease/'.$lease->getID().'/'; | $lease_uri = '/lease/'.$lease->getID().'/'; | ||||
$lease_uri = $this->getApplicationURI($lease_uri); | $lease_uri = $this->getApplicationURI($lease_uri); | ||||
if ($lease->getStatus() != DrydockLeaseStatus::STATUS_ACTIVE) { | if ($lease->getStatus() != DrydockLeaseStatus::STATUS_ACTIVE) { | ||||
Show All 16 Lines | if (!$request->isDialogFormPost()) { | ||||
'trigger cleanup of the underlying resource. It can not be '. | 'trigger cleanup of the underlying resource. It can not be '. | ||||
'undone. Continue?'))) | 'undone. Continue?'))) | ||||
->addSubmitButton(pht('Release Lease')) | ->addSubmitButton(pht('Release Lease')) | ||||
->addCancelButton($lease_uri); | ->addCancelButton($lease_uri); | ||||
return id(new AphrontDialogResponse())->setDialog($dialog); | return id(new AphrontDialogResponse())->setDialog($dialog); | ||||
} | } | ||||
$resource = $lease->loadResource(); | $resource = $lease->getResource(); | ||||
$blueprint = $resource->getBlueprint(); | $blueprint = $resource->getBlueprint(); | ||||
$blueprint->releaseLease($resource, $lease); | $blueprint->releaseLease($resource, $lease); | ||||
return id(new AphrontReloadResponse())->setURI($lease_uri); | return id(new AphrontReloadResponse())->setURI($lease_uri); | ||||
} | } | ||||
} | } |