mirror of
https://we.phorge.it/source/phorge.git
synced 2024-12-11 16:16:14 +01:00
48a74de0b6
Summary: Ref T2543. This updates and migrates the status change transactions: - All storage now records the modern modular transaction ("differential.revision.status"), not the obsolete non-modular transaction ("differential:status"). - All storage now records the modern constants ("accepted"), not the obsolete numeric values ("2"). Test Plan: - Selected all the relevant rows before/after migration, data looked sane. - Browsed around, reviewed timelines, no changes after migration. - Changed revision states, saw appropriate new transactions in the database and timeline rendering. - Grepped for `differential:status`. Reviewers: chad Reviewed By: chad Maniphest Tasks: T2543 Differential Revision: https://secure.phabricator.com/D18419
73 lines
1.6 KiB
PHP
73 lines
1.6 KiB
PHP
<?php
|
|
|
|
final class DifferentialRevisionStatusTransaction
|
|
extends DifferentialRevisionTransactionType {
|
|
|
|
const TRANSACTIONTYPE = 'differential.revision.status';
|
|
|
|
public function generateOldValue($object) {
|
|
return $object->getModernRevisionStatus();
|
|
}
|
|
|
|
public function applyInternalEffects($object, $value) {
|
|
$object->setModernRevisionStatus($value);
|
|
}
|
|
|
|
public function getTitle() {
|
|
$status = $this->newStatusObject();
|
|
|
|
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::newForStatus($new);
|
|
}
|
|
|
|
}
|