Differential D17020 Diff 41129 src/applications/release/changes/actions/ReleaseChangeRequestRejectAction.php
Changeset View
Changeset View
Standalone View
Standalone View
src/applications/release/changes/actions/ReleaseChangeRequestRejectAction.php
- This file was added.
<?php | |||||
final class ReleaseChangeRequestRejectAction | |||||
extends ReleaseChangeRequestAction { | |||||
public function getPrompt(ReleaseChangeRequest $change) { | |||||
return pht('Reject this Change Request?'); | |||||
} | |||||
public function getFormTitle(ReleaseChangeRequest $change) { | |||||
return pht('Reject'); | |||||
} | |||||
public function isEnabledForRequest(ReleaseChangeRequest $change) { | |||||
return $change->getStatus() == ReleaseChangeRequest::STATUS_PENDING; | |||||
} | |||||
public function act(ReleaseChangeRequest $change, AphrontRequest $request) { | |||||
$viewer = $request->getViewer(); | |||||
$xaction_type = ReleaseChangeRequestStateTransaction::TRANSACTIONTYPE; | |||||
$status = ReleaseChangeRequest::STATUS_REJECTED; | |||||
$xaction = id(new ReleaseChangeRequestTransaction()) | |||||
->setTransactionType($xaction_type) | |||||
->setNewValue($status); | |||||
$editor = id(new ReleaseChangeRequestEditor()) | |||||
->setActor($viewer) | |||||
->setContentSourceFromRequest($request) | |||||
->setContinueOnNoEffect(true); | |||||
$editor->applyTransactions($change, array($xaction)); | |||||
return $change->getURI(); | |||||
} | |||||
public function getActionName() { | |||||
return pht('Reject'); | |||||
} | |||||
public function getActionIcon() { | |||||
return 'fa-times'; | |||||
} | |||||
public function getActionKey() { | |||||
return 'reject'; | |||||
} | |||||
} |