Generate file attachment transactions for explicit Remarkup attachments on common...
[phabricator.git] / src / applications / diffusion / herald / DiffusionPreCommitContentWrongBuildsHeraldField.php
blob99adf1692388738a3fa0582f308502ac73f9cb76
1 <?php
3 final class DiffusionPreCommitContentWrongBuildsHeraldField
4 extends DiffusionPreCommitContentHeraldField {
6 const FIELDCONST = 'diffusion.pre.content.builds.wrong';
8 public function getHeraldFieldName() {
9 return pht('Revision has build warning');
12 public function getFieldGroupKey() {
13 return HeraldRelatedFieldGroup::FIELDGROUPKEY;
16 public function getHeraldFieldValue($object) {
17 $adapter = $this->getAdapter();
18 $viewer = $adapter->getViewer();
20 $revision = $adapter->getRevision();
21 if (!$revision) {
22 return false;
25 if ($revision->isPublished()) {
26 $wrong_builds = DifferentialRevision::PROPERTY_WRONG_BUILDS;
27 return !$revision->getProperty($wrong_builds, false);
30 // Reload the revision to pick up active diffs.
31 $revision = id(new DifferentialRevisionQuery())
32 ->setViewer($viewer)
33 ->withPHIDs(array($revision->getPHID()))
34 ->needActiveDiffs(true)
35 ->executeOne();
37 $concerning = DifferentialDiffExtractionEngine::loadConcerningBuilds(
38 $viewer,
39 $revision,
40 $strict = true);
42 return (bool)$concerning;
45 protected function getHeraldFieldStandardType() {
46 return self::STANDARD_BOOL;