Path: blob/master/src/applications/differential/xaction/DifferentialRevisionReclaimTransaction.php
12256 views
<?php12final class DifferentialRevisionReclaimTransaction3extends DifferentialRevisionActionTransaction {45const TRANSACTIONTYPE = 'differential.revision.reclaim';6const ACTIONKEY = 'reclaim';78protected function getRevisionActionLabel(9DifferentialRevision $revision,10PhabricatorUser $viewer) {11return pht('Reclaim Revision');12}1314protected function getRevisionActionDescription(15DifferentialRevision $revision,16PhabricatorUser $viewer) {17return pht('This revision will be reclaimed and reopened.');18}1920public function getIcon() {21return 'fa-bullhorn';22}2324public function getColor() {25return 'sky';26}2728protected function getRevisionActionOrder() {29return 600;30}3132public function getActionName() {33return pht('Reclaimed');34}3536public function getCommandKeyword() {37return 'reclaim';38}3940public function getCommandAliases() {41return array();42}4344public function getCommandSummary() {45return pht('Reclaim a revision.');46}4748public function generateOldValue($object) {49return !$object->isAbandoned();50}5152public function applyInternalEffects($object, $value) {53if ($object->getShouldBroadcast()) {54$new_status = DifferentialRevisionStatus::NEEDS_REVIEW;55} else {56$new_status = DifferentialRevisionStatus::DRAFT;57}58$object->setModernRevisionStatus($new_status);59}6061protected function validateAction($object, PhabricatorUser $viewer) {62if (!$object->isAbandoned()) {63throw new Exception(64pht(65'You can not reclaim this revision because it has not been '.66'abandoned. Only abandoned revisions can be reclaimed.'));67}6869if (!$this->isViewerRevisionAuthor($object, $viewer)) {70throw new Exception(71pht(72'You can not reclaim this revision because you are not the '.73'revision author. You can only reclaim revisions you own.'));74}75}7677public function getTitle() {78return pht(79'%s reclaimed this revision.',80$this->renderAuthor());81}8283public function getTitleForFeed() {84return pht(85'%s reclaimed %s.',86$this->renderAuthor(),87$this->renderObject());88}8990public function getTransactionTypeForConduit($xaction) {91return 'reclaim';92}9394public function getFieldValuesForConduit($object, $data) {95return array();96}9798}99100101