Path: blob/master/src/applications/drydock/controller/DrydockAuthorizationAuthorizeController.php
12256 views
<?php12final class DrydockAuthorizationAuthorizeController3extends DrydockController {45public function handleRequest(AphrontRequest $request) {6$viewer = $request->getViewer();7$id = $request->getURIData('id');89$authorization = id(new DrydockAuthorizationQuery())10->setViewer($viewer)11->withIDs(array($id))12->requireCapabilities(13array(14PhabricatorPolicyCapability::CAN_VIEW,15PhabricatorPolicyCapability::CAN_EDIT,16))17->executeOne();18if (!$authorization) {19return new Aphront404Response();20}2122$authorization_uri = $this->getApplicationURI("authorization/{$id}/");23$is_authorize = ($request->getURIData('action') == 'authorize');2425$state_authorized = DrydockAuthorization::BLUEPRINTAUTH_AUTHORIZED;26$state_declined = DrydockAuthorization::BLUEPRINTAUTH_DECLINED;2728$state = $authorization->getBlueprintAuthorizationState();29$can_authorize = ($state != $state_authorized);30$can_decline = ($state != $state_declined);3132if ($is_authorize && !$can_authorize) {33return $this->newDialog()34->setTitle(pht('Already Authorized'))35->appendParagraph(36pht(37'This authorization has already been approved.'))38->addCancelButton($authorization_uri);39}4041if (!$is_authorize && !$can_decline) {42return $this->newDialog()43->setTitle(pht('Already Declined'))44->appendParagraph(45pht('This authorization has already been declined.'))46->addCancelButton($authorization_uri);47}4849if ($request->isFormPost()) {50if ($is_authorize) {51$new_state = $state_authorized;52} else {53$new_state = $state_declined;54}5556$authorization57->setBlueprintAuthorizationState($new_state)58->save();5960return id(new AphrontRedirectResponse())->setURI($authorization_uri);61}6263if ($is_authorize) {64$title = pht('Approve Authorization');65$body = pht(66'Approve this authorization? The object will be able to lease and '.67'allocate resources created by this blueprint.');68$button = pht('Approve Authorization');69} else {70$title = pht('Decline Authorization');71$body = pht(72'Decline this authorization? The object will not be able to lease '.73'or allocate resources created by this blueprint.');74$button = pht('Decline Authorization');75}7677return $this->newDialog()78->setTitle($title)79->appendParagraph($body)80->addSubmitButton($button)81->addCancelButton($authorization_uri);82}8384}858687