2015-07-07 20:53:17 +02:00
|
|
|
<?php
|
|
|
|
|
|
|
|
final class DiffusionCommitPackageOwnerHeraldField
|
|
|
|
extends DiffusionCommitHeraldField {
|
|
|
|
|
|
|
|
const FIELDCONST = 'diffusion.commit.package.owners';
|
|
|
|
|
|
|
|
public function getHeraldFieldName() {
|
|
|
|
return pht('Affected package owners');
|
|
|
|
}
|
|
|
|
|
|
|
|
public function getHeraldFieldValue($object) {
|
|
|
|
$packages = $this->getAdapter()->loadAffectedPackages();
|
|
|
|
if (!$packages) {
|
|
|
|
return array();
|
|
|
|
}
|
|
|
|
|
|
|
|
$owners = PhabricatorOwnersOwner::loadAllForPackages($packages);
|
|
|
|
|
|
|
|
return mpull($owners, 'getUserPHID');
|
|
|
|
}
|
|
|
|
|
|
|
|
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:
|
2015-07-08 21:25:48 +02:00
|
|
|
return HeraldAdapter::VALUE_USER_OR_PROJECT;
|
2015-07-07 20:53:17 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|