mirror of
https://we.phorge.it/source/phorge.git
synced 2024-11-16 03:42:41 +01:00
0a069cb55a
Summary: Unmuck almost all of the we-sort-of-have-viewers-some-of-the-time mess. There are a few notable cases here: - I used Omnipotent users when indexing objects for search. I think this is correct; we do policy filtering when showing results. - I cheated in a bad way in the Remarkup object rule, but fixing this requires fixing all the PhabricatorRemarkupEngine callsites (there are 85). I'll do that in the next diff. - I cheated in a few random places, like when sending mail about package edits. These aren't a big deal. Test Plan: - Grepped for all PhabricatorObjectHandleData references. - Gave them viewers. Reviewers: vrana Reviewed By: vrana CC: aran, edward Maniphest Tasks: T603 Differential Revision: https://secure.phabricator.com/D5151
58 lines
1.4 KiB
PHP
58 lines
1.4 KiB
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 = PhabricatorObjectHandleData::loadOneHandle(
|
|
$phid,
|
|
$this->getUser());
|
|
return "ARCANIST PROJECT\n ".$handle->getName();
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|