@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.

When an object has been imported from an external source, show a curtain panel

Summary: Ref T10537. Show when an object is bridged to something external.

Test Plan: {F1190099}

Reviewers: chad

Reviewed By: chad

Maniphest Tasks: T10537

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

+33
+2
src/__phutil_library_map__.php
··· 845 845 'DoorkeeperBridgeGitHubIssue' => 'applications/doorkeeper/bridge/DoorkeeperBridgeGitHubIssue.php', 846 846 'DoorkeeperBridgeJIRA' => 'applications/doorkeeper/bridge/DoorkeeperBridgeJIRA.php', 847 847 'DoorkeeperBridgeJIRATestCase' => 'applications/doorkeeper/bridge/__tests__/DoorkeeperBridgeJIRATestCase.php', 848 + 'DoorkeeperBridgedObjectCurtainExtension' => 'applications/doorkeeper/engineextension/DoorkeeperBridgedObjectCurtainExtension.php', 848 849 'DoorkeeperBridgedObjectInterface' => 'applications/doorkeeper/bridge/DoorkeeperBridgedObjectInterface.php', 849 850 'DoorkeeperDAO' => 'applications/doorkeeper/storage/DoorkeeperDAO.php', 850 851 'DoorkeeperExternalObject' => 'applications/doorkeeper/storage/DoorkeeperExternalObject.php', ··· 5001 5002 'DoorkeeperBridgeGitHubIssue' => 'DoorkeeperBridgeGitHub', 5002 5003 'DoorkeeperBridgeJIRA' => 'DoorkeeperBridge', 5003 5004 'DoorkeeperBridgeJIRATestCase' => 'PhabricatorTestCase', 5005 + 'DoorkeeperBridgedObjectCurtainExtension' => 'PHUICurtainExtension', 5004 5006 'DoorkeeperDAO' => 'PhabricatorLiskDAO', 5005 5007 'DoorkeeperExternalObject' => array( 5006 5008 'DoorkeeperDAO',
+31
src/applications/doorkeeper/engineextension/DoorkeeperBridgedObjectCurtainExtension.php
··· 1 + <?php 2 + 3 + final class DoorkeeperBridgedObjectCurtainExtension 4 + extends PHUICurtainExtension { 5 + 6 + const EXTENSIONKEY = 'doorkeeper.bridged-object'; 7 + 8 + public function shouldEnableForObject($object) { 9 + return ($object instanceof DoorkeeperBridgedObjectInterface); 10 + } 11 + 12 + public function getExtensionApplication() { 13 + return new PhabricatorDoorkeeperApplication(); 14 + } 15 + 16 + public function buildCurtainPanel($object) { 17 + $xobj = $object->getBridgedObject(); 18 + if (!$xobj) { 19 + return null; 20 + } 21 + 22 + $tag = id(new DoorkeeperTagView()) 23 + ->setExternalObject($xobj); 24 + 25 + return $this->newPanel() 26 + ->setHeaderText(pht('Imported From')) 27 + ->setOrder(5000) 28 + ->appendChild($tag); 29 + } 30 + 31 + }