@recaptime-dev's working patches + fork for Phorge, a community fork of Phabricator. (Upstream dev and stable branches are at upstream/main and upstream/stable respectively.) hq.recaptime.dev/wiki/Phorge
phorge phabricator
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Add a "Revision status" field to Herald for Differential revisions

Summary: See PHI280. We have a similar field for tasks already, this is generally a reasonable sort of thing to support, and the addition of "draft" states means there are some pretty reasonable use cases.

Test Plan:
- Wrote a status-based ("status is needs revision") Herald rule.
- Tested it against a "Needs Revision" revision (passed) and a "Changes Planned" revision (failed).

Reviewers: amckinley

Reviewed By: amckinley

Differential Revision: https://secure.phabricator.com/D18938

+31
+2
src/__phutil_library_map__.php
··· 590 590 'DifferentialRevisionStatus' => 'applications/differential/constants/DifferentialRevisionStatus.php', 591 591 'DifferentialRevisionStatusDatasource' => 'applications/differential/typeahead/DifferentialRevisionStatusDatasource.php', 592 592 'DifferentialRevisionStatusFunctionDatasource' => 'applications/differential/typeahead/DifferentialRevisionStatusFunctionDatasource.php', 593 + 'DifferentialRevisionStatusHeraldField' => 'applications/differential/herald/DifferentialRevisionStatusHeraldField.php', 593 594 'DifferentialRevisionStatusTransaction' => 'applications/differential/xaction/DifferentialRevisionStatusTransaction.php', 594 595 'DifferentialRevisionSummaryHeraldField' => 'applications/differential/herald/DifferentialRevisionSummaryHeraldField.php', 595 596 'DifferentialRevisionSummaryTransaction' => 'applications/differential/xaction/DifferentialRevisionSummaryTransaction.php', ··· 5701 5702 'DifferentialRevisionStatus' => 'Phobject', 5702 5703 'DifferentialRevisionStatusDatasource' => 'PhabricatorTypeaheadDatasource', 5703 5704 'DifferentialRevisionStatusFunctionDatasource' => 'PhabricatorTypeaheadCompositeDatasource', 5705 + 'DifferentialRevisionStatusHeraldField' => 'DifferentialRevisionHeraldField', 5704 5706 'DifferentialRevisionStatusTransaction' => 'DifferentialRevisionTransactionType', 5705 5707 'DifferentialRevisionSummaryHeraldField' => 'DifferentialRevisionHeraldField', 5706 5708 'DifferentialRevisionSummaryTransaction' => 'DifferentialRevisionTransactionType',
+29
src/applications/differential/herald/DifferentialRevisionStatusHeraldField.php
··· 1 + <?php 2 + 3 + final class DifferentialRevisionStatusHeraldField 4 + extends DifferentialRevisionHeraldField { 5 + 6 + const FIELDCONST = 'revision.status'; 7 + 8 + public function getHeraldFieldName() { 9 + return pht('Revision status'); 10 + } 11 + 12 + public function getHeraldFieldValue($object) { 13 + return $object->getStatus(); 14 + } 15 + 16 + protected function getHeraldFieldStandardType() { 17 + return self::STANDARD_PHID; 18 + } 19 + 20 + protected function getDatasource() { 21 + return new DifferentialRevisionStatusDatasource(); 22 + } 23 + 24 + protected function getDatasourceValueMap() { 25 + $map = DifferentialRevisionStatus::getAll(); 26 + return mpull($map, 'getDisplayName', 'getKey'); 27 + } 28 + 29 + }