2011-08-14 21:33:54 +02:00
|
|
|
<?php
|
|
|
|
|
|
|
|
final class DifferentialArcanistProjectFieldSpecification
|
|
|
|
extends DifferentialFieldSpecification {
|
|
|
|
|
|
|
|
public function shouldAppearOnRevisionView() {
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
|
|
|
|
public function getRequiredHandlePHIDs() {
|
|
|
|
$arcanist_phid = $this->getArcanistProjectPHID();
|
|
|
|
if (!$arcanist_phid) {
|
|
|
|
return array();
|
|
|
|
}
|
|
|
|
|
|
|
|
return array($arcanist_phid);
|
|
|
|
}
|
|
|
|
|
|
|
|
public function renderLabelForRevisionView() {
|
|
|
|
return 'Arcanist Project:';
|
|
|
|
}
|
|
|
|
|
|
|
|
public function renderValueForRevisionView() {
|
|
|
|
$arcanist_phid = $this->getArcanistProjectPHID();
|
|
|
|
if (!$arcanist_phid) {
|
|
|
|
return null;
|
|
|
|
}
|
|
|
|
|
|
|
|
$handle = $this->getHandle($arcanist_phid);
|
2013-01-29 20:01:47 +01:00
|
|
|
return $handle->getName();
|
2011-08-14 21:33:54 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
private function getArcanistProjectPHID() {
|
|
|
|
$diff = $this->getDiff();
|
|
|
|
return $diff->getArcanistProjectPHID();
|
|
|
|
}
|
|
|
|
|
2012-06-08 02:46:51 +02:00
|
|
|
public function renderValueForMail($phase) {
|
|
|
|
$status = $this->getRevision()->getStatus();
|
|
|
|
|
|
|
|
if ($status != ArcanistDifferentialRevisionStatus::NEEDS_REVISION &&
|
|
|
|
$status != ArcanistDifferentialRevisionStatus::ACCEPTED) {
|
|
|
|
return null;
|
|
|
|
}
|
|
|
|
|
|
|
|
$diff = $this->getRevision()->loadActiveDiff();
|
|
|
|
if ($diff) {
|
|
|
|
$phid = $diff->getArcanistProjectPHID();
|
|
|
|
if ($phid) {
|
2013-03-01 02:15:09 +01:00
|
|
|
$handle = PhabricatorObjectHandleData::loadOneHandle(
|
|
|
|
$phid,
|
|
|
|
$this->getUser());
|
2012-06-08 02:46:51 +02:00
|
|
|
return "ARCANIST PROJECT\n ".$handle->getName();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2011-08-14 21:33:54 +02:00
|
|
|
}
|