1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-11-15 19:32:40 +01:00
phorge-phorge/src/applications/differential/herald/DifferentialRevisionRepositoryProjectsHeraldField.php
epriestley 00b98eca54 Modularize all DifferentialRevision fields
Summary: Ref T8726. Make all the DifferentialRevision stuff modular.

Test Plan:
  - Created a rule with all fields.
  - Ran upgrade.
  - Saw all fields preserved with new modular versions.
  - Used test console to run rule with all fields, verified field values as broadly sensible.

Reviewers: btrahan

Reviewed By: btrahan

Subscribers: epriestley

Maniphest Tasks: T8726

Differential Revision: https://secure.phabricator.com/D13598
2015-07-08 12:25:48 -07:00

37 lines
961 B
PHP

<?php
final class DifferentialRevisionRepositoryProjectsHeraldField
extends DifferentialRevisionHeraldField {
const FIELDCONST = 'differential.revision.repository.projects';
public function getHeraldFieldName() {
return pht('Repository projects');
}
public function getHeraldFieldValue($object) {
$repository = $this->getAdapter()->loadRepository();
if (!$repository) {
return array();
}
return PhabricatorEdgeQuery::loadDestinationPHIDs(
$repository->getPHID(),
PhabricatorProjectObjectHasProjectEdgeType::EDGECONST);
}
protected function getHeraldFieldStandardConditions() {
return self::STANDARD_LIST;
}
public function getHeraldFieldValueType($condition) {
switch ($condition) {
case HeraldAdapter::CONDITION_EXISTS:
case HeraldAdapter::CONDITION_NOT_EXISTS:
return HeraldAdapter::VALUE_NONE;
default:
return HeraldAdapter::VALUE_PROJECT;
}
}
}