Page MenuHomePhabricator

D15520.diff
No OneTemporary

D15520.diff

diff --git a/src/__phutil_library_map__.php b/src/__phutil_library_map__.php
--- a/src/__phutil_library_map__.php
+++ b/src/__phutil_library_map__.php
@@ -845,6 +845,7 @@
'DoorkeeperBridgeGitHubIssue' => 'applications/doorkeeper/bridge/DoorkeeperBridgeGitHubIssue.php',
'DoorkeeperBridgeJIRA' => 'applications/doorkeeper/bridge/DoorkeeperBridgeJIRA.php',
'DoorkeeperBridgeJIRATestCase' => 'applications/doorkeeper/bridge/__tests__/DoorkeeperBridgeJIRATestCase.php',
+ 'DoorkeeperBridgedObjectCurtainExtension' => 'applications/doorkeeper/engineextension/DoorkeeperBridgedObjectCurtainExtension.php',
'DoorkeeperBridgedObjectInterface' => 'applications/doorkeeper/bridge/DoorkeeperBridgedObjectInterface.php',
'DoorkeeperDAO' => 'applications/doorkeeper/storage/DoorkeeperDAO.php',
'DoorkeeperExternalObject' => 'applications/doorkeeper/storage/DoorkeeperExternalObject.php',
@@ -5001,6 +5002,7 @@
'DoorkeeperBridgeGitHubIssue' => 'DoorkeeperBridgeGitHub',
'DoorkeeperBridgeJIRA' => 'DoorkeeperBridge',
'DoorkeeperBridgeJIRATestCase' => 'PhabricatorTestCase',
+ 'DoorkeeperBridgedObjectCurtainExtension' => 'PHUICurtainExtension',
'DoorkeeperDAO' => 'PhabricatorLiskDAO',
'DoorkeeperExternalObject' => array(
'DoorkeeperDAO',
diff --git a/src/applications/doorkeeper/engineextension/DoorkeeperBridgedObjectCurtainExtension.php b/src/applications/doorkeeper/engineextension/DoorkeeperBridgedObjectCurtainExtension.php
new file mode 100644
--- /dev/null
+++ b/src/applications/doorkeeper/engineextension/DoorkeeperBridgedObjectCurtainExtension.php
@@ -0,0 +1,31 @@
+<?php
+
+final class DoorkeeperBridgedObjectCurtainExtension
+ extends PHUICurtainExtension {
+
+ const EXTENSIONKEY = 'doorkeeper.bridged-object';
+
+ public function shouldEnableForObject($object) {
+ return ($object instanceof DoorkeeperBridgedObjectInterface);
+ }
+
+ public function getExtensionApplication() {
+ return new PhabricatorDoorkeeperApplication();
+ }
+
+ public function buildCurtainPanel($object) {
+ $xobj = $object->getBridgedObject();
+ if (!$xobj) {
+ return null;
+ }
+
+ $tag = id(new DoorkeeperTagView())
+ ->setExternalObject($xobj);
+
+ return $this->newPanel()
+ ->setHeaderText(pht('Imported From'))
+ ->setOrder(5000)
+ ->appendChild($tag);
+ }
+
+}

File Metadata

Mime Type
text/plain
Expires
Mar 15 2025, 4:27 AM (4 w, 6 d ago)
Storage Engine
blob
Storage Format
Encrypted (AES-256-CBC)
Storage Handle
7393756
Default Alt Text
D15520.diff (2 KB)

Event Timeline