Differential D18410 Diff 44255 src/applications/differential/xaction/DifferentialRevisionStatusTransaction.php
Changeset View
Changeset View
Standalone View
Standalone View
src/applications/differential/xaction/DifferentialRevisionStatusTransaction.php
- This file was added.
<?php | |||||
final class DifferentialRevisionStatusTransaction | |||||
extends DifferentialRevisionTransactionType { | |||||
const TRANSACTIONTYPE = 'differential.revision.status'; | |||||
public function generateOldValue($object) { | |||||
return $object->getStatus(); | |||||
} | |||||
public function applyInternalEffects($object, $value) { | |||||
$object->setStatus($value); | |||||
} | |||||
public function getTitle() { | |||||
$new = $this->getNewValue(); | |||||
$status = DifferentialRevisionStatus::newForLegacyStatus($new); | |||||
if ($status->isAccepted()) { | |||||
return pht('This revision is now accepted and ready to land.'); | |||||
} | |||||
if ($status->isNeedsRevision()) { | |||||
return pht('This revision now requires changes to proceed.'); | |||||
} | |||||
if ($status->isNeedsReview()) { | |||||
return pht('This revision now requires review to proceed.'); | |||||
} | |||||
return null; | |||||
} | |||||
public function getTitleForFeed() { | |||||
$status = $this->newStatusObject(); | |||||
if ($status->isAccepted()) { | |||||
return pht( | |||||
'%s is now accepted and ready to land.', | |||||
$this->renderObject()); | |||||
} | |||||
if ($status->isNeedsRevision()) { | |||||
return pht( | |||||
'%s now requires changes to proceed.', | |||||
$this->renderObject()); | |||||
} | |||||
if ($status->isNeedsReview()) { | |||||
return pht( | |||||
'%s now requires review to proceed.', | |||||
$this->renderObject()); | |||||
} | |||||
return null; | |||||
} | |||||
public function getIcon() { | |||||
$status = $this->newStatusObject(); | |||||
return $status->getTimelineIcon(); | |||||
} | |||||
public function getColor() { | |||||
$status = $this->newStatusObject(); | |||||
return $status->getTimelineColor(); | |||||
} | |||||
private function newStatusObject() { | |||||
$new = $this->getNewValue(); | |||||
return DifferentialRevisionStatus::newForLegacyStatus($new); | |||||
} | |||||
} |