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

Port local storage path to new repository Manage UI

Summary: Ref T10748. This merges "Storage" and "Cluster" into a single UI which combines the information of both.

Test Plan: {F1246882}

Reviewers: chad

Reviewed By: chad

Subscribers: hach-que

Maniphest Tasks: T10748

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

+44 -17
+2 -2
src/__phutil_library_map__.php
··· 747 747 'DiffusionRepositoryByIDRemarkupRule' => 'applications/diffusion/remarkup/DiffusionRepositoryByIDRemarkupRule.php', 748 748 'DiffusionRepositoryClusterEngine' => 'applications/diffusion/protocol/DiffusionRepositoryClusterEngine.php', 749 749 'DiffusionRepositoryClusterEngineLogInterface' => 'applications/diffusion/protocol/DiffusionRepositoryClusterEngineLogInterface.php', 750 - 'DiffusionRepositoryClusterManagementPanel' => 'applications/diffusion/management/DiffusionRepositoryClusterManagementPanel.php', 751 750 'DiffusionRepositoryController' => 'applications/diffusion/controller/DiffusionRepositoryController.php', 752 751 'DiffusionRepositoryCreateController' => 'applications/diffusion/controller/DiffusionRepositoryCreateController.php', 753 752 'DiffusionRepositoryDatasource' => 'applications/diffusion/typeahead/DiffusionRepositoryDatasource.php', ··· 781 780 'DiffusionRepositoryRemarkupRule' => 'applications/diffusion/remarkup/DiffusionRepositoryRemarkupRule.php', 782 781 'DiffusionRepositorySearchConduitAPIMethod' => 'applications/diffusion/conduit/DiffusionRepositorySearchConduitAPIMethod.php', 783 782 'DiffusionRepositoryStatusManagementPanel' => 'applications/diffusion/management/DiffusionRepositoryStatusManagementPanel.php', 783 + 'DiffusionRepositoryStorageManagementPanel' => 'applications/diffusion/management/DiffusionRepositoryStorageManagementPanel.php', 784 784 'DiffusionRepositorySymbolsController' => 'applications/diffusion/controller/DiffusionRepositorySymbolsController.php', 785 785 'DiffusionRepositoryTag' => 'applications/diffusion/data/DiffusionRepositoryTag.php', 786 786 'DiffusionRepositoryTestAutomationController' => 'applications/diffusion/controller/DiffusionRepositoryTestAutomationController.php', ··· 4959 4959 'DiffusionRepositoryBasicsManagementPanel' => 'DiffusionRepositoryManagementPanel', 4960 4960 'DiffusionRepositoryByIDRemarkupRule' => 'PhabricatorObjectRemarkupRule', 4961 4961 'DiffusionRepositoryClusterEngine' => 'Phobject', 4962 - 'DiffusionRepositoryClusterManagementPanel' => 'DiffusionRepositoryManagementPanel', 4963 4962 'DiffusionRepositoryController' => 'DiffusionController', 4964 4963 'DiffusionRepositoryCreateController' => 'DiffusionRepositoryEditController', 4965 4964 'DiffusionRepositoryDatasource' => 'PhabricatorTypeaheadDatasource', ··· 4993 4992 'DiffusionRepositoryRemarkupRule' => 'PhabricatorObjectRemarkupRule', 4994 4993 'DiffusionRepositorySearchConduitAPIMethod' => 'PhabricatorSearchEngineAPIMethod', 4995 4994 'DiffusionRepositoryStatusManagementPanel' => 'DiffusionRepositoryManagementPanel', 4995 + 'DiffusionRepositoryStorageManagementPanel' => 'DiffusionRepositoryManagementPanel', 4996 4996 'DiffusionRepositorySymbolsController' => 'DiffusionRepositoryEditController', 4997 4997 'DiffusionRepositoryTag' => 'Phobject', 4998 4998 'DiffusionRepositoryTestAutomationController' => 'DiffusionRepositoryEditController',
+42 -15
src/applications/diffusion/management/DiffusionRepositoryClusterManagementPanel.php src/applications/diffusion/management/DiffusionRepositoryStorageManagementPanel.php
··· 1 1 <?php 2 2 3 - final class DiffusionRepositoryClusterManagementPanel 3 + final class DiffusionRepositoryStorageManagementPanel 4 4 extends DiffusionRepositoryManagementPanel { 5 5 6 - const PANELKEY = 'cluster'; 6 + const PANELKEY = 'storage'; 7 7 8 8 public function getManagementPanelLabel() { 9 - return pht('Cluster Configuration'); 9 + return pht('Storage'); 10 10 } 11 11 12 12 public function getManagementPanelOrder() { ··· 14 14 } 15 15 16 16 public function buildManagementPanelContent() { 17 + return array( 18 + $this->buildStorageStatusPanel(), 19 + $this->buildClusterStatusPanel(), 20 + ); 21 + } 22 + 23 + private function buildStorageStatusPanel() { 24 + $repository = $this->getRepository(); 25 + $viewer = $this->getViewer(); 26 + 27 + $view = id(new PHUIPropertyListView()) 28 + ->setViewer($viewer); 29 + 30 + if ($repository->usesLocalWorkingCopy()) { 31 + $storage_path = $repository->getHumanReadableDetail('local-path'); 32 + } else { 33 + $storage_path = phutil_tag('em', array(), pht('No Local Working Copy')); 34 + } 35 + 36 + $service_phid = $repository->getAlmanacServicePHID(); 37 + if ($service_phid) { 38 + $storage_service = $viewer->renderHandle($service_phid); 39 + } else { 40 + $storage_service = phutil_tag('em', array(), pht('Local')); 41 + } 42 + 43 + $view->addProperty(pht('Storage Path'), $storage_path); 44 + $view->addProperty(pht('Storage Cluster'), $storage_service); 45 + 46 + $header = id(new PHUIHeaderView()) 47 + ->setHeader(pht('Storage')); 48 + 49 + return id(new PHUIObjectBoxView()) 50 + ->setHeader($header) 51 + ->setBackground(PHUIObjectBoxView::BLUE_PROPERTY) 52 + ->addPropertyList($view); 53 + } 54 + 55 + private function buildClusterStatusPanel() { 17 56 $repository = $this->getRepository(); 18 57 $viewer = $this->getViewer(); 19 58 ··· 174 213 ->setHref($doc_href) 175 214 ->setTag('a') 176 215 ->setText(pht('Documentation'))); 177 - 178 - if ($service) { 179 - $header->setSubheader( 180 - pht( 181 - 'This repository is hosted on %s.', 182 - phutil_tag( 183 - 'a', 184 - array( 185 - 'href' => $service->getURI(), 186 - ), 187 - $service->getName()))); 188 - } 189 216 190 217 return id(new PHUIObjectBoxView()) 191 218 ->setHeader($header)