Page MenuHomec4science

DifferentialArcanistProjectFieldSpecification.php
No OneTemporary

File Metadata

Created
Sun, Dec 22, 23:55

DifferentialArcanistProjectFieldSpecification.php

<?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);
return $handle->getName();
}
private function getArcanistProjectPHID() {
$diff = $this->getDiff();
return $diff->getArcanistProjectPHID();
}
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) {
$handle = id(new PhabricatorHandleQuery())
->setViewer($this->getUser())
->withPHIDs(array($phid))
->executeOne();
return "ARCANIST PROJECT\n ".$handle->getName();
}
}
}
}

Event Timeline