1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2025-02-19 18:28:39 +01:00

Carve out a separate "Services" section of Config

Summary: Depends on D20930. Ref T13362. Put all the "Services" parts of Config in their own section.

Test Plan: Clicked through each section. This is just an organization / UI change with no significant behavioral impact.

Maniphest Tasks: T13362

Differential Revision: https://secure.phabricator.com/D20931
This commit is contained in:
epriestley 2019-11-26 15:25:58 -08:00
parent a72ade9475
commit cb481f36c5
11 changed files with 122 additions and 78 deletions

View file

@ -2801,22 +2801,22 @@ phutil_register_library_map(array(
'PhabricatorConfigAllController' => 'applications/config/controller/PhabricatorConfigAllController.php', 'PhabricatorConfigAllController' => 'applications/config/controller/PhabricatorConfigAllController.php',
'PhabricatorConfigApplication' => 'applications/config/application/PhabricatorConfigApplication.php', 'PhabricatorConfigApplication' => 'applications/config/application/PhabricatorConfigApplication.php',
'PhabricatorConfigApplicationController' => 'applications/config/controller/PhabricatorConfigApplicationController.php', 'PhabricatorConfigApplicationController' => 'applications/config/controller/PhabricatorConfigApplicationController.php',
'PhabricatorConfigCacheController' => 'applications/config/controller/PhabricatorConfigCacheController.php', 'PhabricatorConfigCacheController' => 'applications/config/controller/services/PhabricatorConfigCacheController.php',
'PhabricatorConfigClusterDatabasesController' => 'applications/config/controller/PhabricatorConfigClusterDatabasesController.php', 'PhabricatorConfigClusterDatabasesController' => 'applications/config/controller/services/PhabricatorConfigClusterDatabasesController.php',
'PhabricatorConfigClusterNotificationsController' => 'applications/config/controller/PhabricatorConfigClusterNotificationsController.php', 'PhabricatorConfigClusterNotificationsController' => 'applications/config/controller/services/PhabricatorConfigClusterNotificationsController.php',
'PhabricatorConfigClusterRepositoriesController' => 'applications/config/controller/PhabricatorConfigClusterRepositoriesController.php', 'PhabricatorConfigClusterRepositoriesController' => 'applications/config/controller/services/PhabricatorConfigClusterRepositoriesController.php',
'PhabricatorConfigClusterSearchController' => 'applications/config/controller/PhabricatorConfigClusterSearchController.php', 'PhabricatorConfigClusterSearchController' => 'applications/config/controller/services/PhabricatorConfigClusterSearchController.php',
'PhabricatorConfigCollectorsModule' => 'applications/config/module/PhabricatorConfigCollectorsModule.php', 'PhabricatorConfigCollectorsModule' => 'applications/config/module/PhabricatorConfigCollectorsModule.php',
'PhabricatorConfigColumnSchema' => 'applications/config/schema/PhabricatorConfigColumnSchema.php', 'PhabricatorConfigColumnSchema' => 'applications/config/schema/PhabricatorConfigColumnSchema.php',
'PhabricatorConfigConfigPHIDType' => 'applications/config/phid/PhabricatorConfigConfigPHIDType.php', 'PhabricatorConfigConfigPHIDType' => 'applications/config/phid/PhabricatorConfigConfigPHIDType.php',
'PhabricatorConfigConstants' => 'applications/config/constants/PhabricatorConfigConstants.php', 'PhabricatorConfigConstants' => 'applications/config/constants/PhabricatorConfigConstants.php',
'PhabricatorConfigController' => 'applications/config/controller/PhabricatorConfigController.php', 'PhabricatorConfigController' => 'applications/config/controller/PhabricatorConfigController.php',
'PhabricatorConfigCoreSchemaSpec' => 'applications/config/schema/PhabricatorConfigCoreSchemaSpec.php', 'PhabricatorConfigCoreSchemaSpec' => 'applications/config/schema/PhabricatorConfigCoreSchemaSpec.php',
'PhabricatorConfigDatabaseController' => 'applications/config/controller/PhabricatorConfigDatabaseController.php', 'PhabricatorConfigDatabaseController' => 'applications/config/controller/services/PhabricatorConfigDatabaseController.php',
'PhabricatorConfigDatabaseIssueController' => 'applications/config/controller/PhabricatorConfigDatabaseIssueController.php', 'PhabricatorConfigDatabaseIssueController' => 'applications/config/controller/services/PhabricatorConfigDatabaseIssueController.php',
'PhabricatorConfigDatabaseSchema' => 'applications/config/schema/PhabricatorConfigDatabaseSchema.php', 'PhabricatorConfigDatabaseSchema' => 'applications/config/schema/PhabricatorConfigDatabaseSchema.php',
'PhabricatorConfigDatabaseSource' => 'infrastructure/env/PhabricatorConfigDatabaseSource.php', 'PhabricatorConfigDatabaseSource' => 'infrastructure/env/PhabricatorConfigDatabaseSource.php',
'PhabricatorConfigDatabaseStatusController' => 'applications/config/controller/PhabricatorConfigDatabaseStatusController.php', 'PhabricatorConfigDatabaseStatusController' => 'applications/config/controller/services/PhabricatorConfigDatabaseStatusController.php',
'PhabricatorConfigDefaultSource' => 'infrastructure/env/PhabricatorConfigDefaultSource.php', 'PhabricatorConfigDefaultSource' => 'infrastructure/env/PhabricatorConfigDefaultSource.php',
'PhabricatorConfigDictionarySource' => 'infrastructure/env/PhabricatorConfigDictionarySource.php', 'PhabricatorConfigDictionarySource' => 'infrastructure/env/PhabricatorConfigDictionarySource.php',
'PhabricatorConfigEdgeModule' => 'applications/config/module/PhabricatorConfigEdgeModule.php', 'PhabricatorConfigEdgeModule' => 'applications/config/module/PhabricatorConfigEdgeModule.php',
@ -2861,6 +2861,7 @@ phutil_register_library_map(array(
'PhabricatorConfigSchemaQuery' => 'applications/config/schema/PhabricatorConfigSchemaQuery.php', 'PhabricatorConfigSchemaQuery' => 'applications/config/schema/PhabricatorConfigSchemaQuery.php',
'PhabricatorConfigSchemaSpec' => 'applications/config/schema/PhabricatorConfigSchemaSpec.php', 'PhabricatorConfigSchemaSpec' => 'applications/config/schema/PhabricatorConfigSchemaSpec.php',
'PhabricatorConfigServerSchema' => 'applications/config/schema/PhabricatorConfigServerSchema.php', 'PhabricatorConfigServerSchema' => 'applications/config/schema/PhabricatorConfigServerSchema.php',
'PhabricatorConfigServicesController' => 'applications/config/controller/services/PhabricatorConfigServicesController.php',
'PhabricatorConfigSetupCheckModule' => 'applications/config/module/PhabricatorConfigSetupCheckModule.php', 'PhabricatorConfigSetupCheckModule' => 'applications/config/module/PhabricatorConfigSetupCheckModule.php',
'PhabricatorConfigSiteModule' => 'applications/config/module/PhabricatorConfigSiteModule.php', 'PhabricatorConfigSiteModule' => 'applications/config/module/PhabricatorConfigSiteModule.php',
'PhabricatorConfigSiteSource' => 'infrastructure/env/PhabricatorConfigSiteSource.php', 'PhabricatorConfigSiteSource' => 'infrastructure/env/PhabricatorConfigSiteSource.php',
@ -9134,18 +9135,18 @@ phutil_register_library_map(array(
'PhabricatorConfigAllController' => 'PhabricatorConfigController', 'PhabricatorConfigAllController' => 'PhabricatorConfigController',
'PhabricatorConfigApplication' => 'PhabricatorApplication', 'PhabricatorConfigApplication' => 'PhabricatorApplication',
'PhabricatorConfigApplicationController' => 'PhabricatorConfigController', 'PhabricatorConfigApplicationController' => 'PhabricatorConfigController',
'PhabricatorConfigCacheController' => 'PhabricatorConfigController', 'PhabricatorConfigCacheController' => 'PhabricatorConfigServicesController',
'PhabricatorConfigClusterDatabasesController' => 'PhabricatorConfigController', 'PhabricatorConfigClusterDatabasesController' => 'PhabricatorConfigServicesController',
'PhabricatorConfigClusterNotificationsController' => 'PhabricatorConfigController', 'PhabricatorConfigClusterNotificationsController' => 'PhabricatorConfigServicesController',
'PhabricatorConfigClusterRepositoriesController' => 'PhabricatorConfigController', 'PhabricatorConfigClusterRepositoriesController' => 'PhabricatorConfigServicesController',
'PhabricatorConfigClusterSearchController' => 'PhabricatorConfigController', 'PhabricatorConfigClusterSearchController' => 'PhabricatorConfigServicesController',
'PhabricatorConfigCollectorsModule' => 'PhabricatorConfigModule', 'PhabricatorConfigCollectorsModule' => 'PhabricatorConfigModule',
'PhabricatorConfigColumnSchema' => 'PhabricatorConfigStorageSchema', 'PhabricatorConfigColumnSchema' => 'PhabricatorConfigStorageSchema',
'PhabricatorConfigConfigPHIDType' => 'PhabricatorPHIDType', 'PhabricatorConfigConfigPHIDType' => 'PhabricatorPHIDType',
'PhabricatorConfigConstants' => 'Phobject', 'PhabricatorConfigConstants' => 'Phobject',
'PhabricatorConfigController' => 'PhabricatorController', 'PhabricatorConfigController' => 'PhabricatorController',
'PhabricatorConfigCoreSchemaSpec' => 'PhabricatorConfigSchemaSpec', 'PhabricatorConfigCoreSchemaSpec' => 'PhabricatorConfigSchemaSpec',
'PhabricatorConfigDatabaseController' => 'PhabricatorConfigController', 'PhabricatorConfigDatabaseController' => 'PhabricatorConfigServicesController',
'PhabricatorConfigDatabaseIssueController' => 'PhabricatorConfigDatabaseController', 'PhabricatorConfigDatabaseIssueController' => 'PhabricatorConfigDatabaseController',
'PhabricatorConfigDatabaseSchema' => 'PhabricatorConfigStorageSchema', 'PhabricatorConfigDatabaseSchema' => 'PhabricatorConfigStorageSchema',
'PhabricatorConfigDatabaseSource' => 'PhabricatorConfigProxySource', 'PhabricatorConfigDatabaseSource' => 'PhabricatorConfigProxySource',
@ -9198,6 +9199,7 @@ phutil_register_library_map(array(
'PhabricatorConfigSchemaQuery' => 'Phobject', 'PhabricatorConfigSchemaQuery' => 'Phobject',
'PhabricatorConfigSchemaSpec' => 'Phobject', 'PhabricatorConfigSchemaSpec' => 'Phobject',
'PhabricatorConfigServerSchema' => 'PhabricatorConfigStorageSchema', 'PhabricatorConfigServerSchema' => 'PhabricatorConfigStorageSchema',
'PhabricatorConfigServicesController' => 'PhabricatorConfigController',
'PhabricatorConfigSetupCheckModule' => 'PhabricatorConfigModule', 'PhabricatorConfigSetupCheckModule' => 'PhabricatorConfigModule',
'PhabricatorConfigSiteModule' => 'PhabricatorConfigModule', 'PhabricatorConfigSiteModule' => 'PhabricatorConfigModule',
'PhabricatorConfigSiteSource' => 'PhabricatorConfigProxySource', 'PhabricatorConfigSiteSource' => 'PhabricatorConfigProxySource',

View file

@ -25,23 +25,6 @@ abstract class PhabricatorConfigController extends PhabricatorController {
pht('Setup Issues'), null, 'fa-warning'); pht('Setup Issues'), null, 'fa-warning');
$nav->addFilter(null, $nav->addFilter(null,
pht('Installation Guide'), $guide_href, 'fa-book'); pht('Installation Guide'), $guide_href, 'fa-book');
$nav->addLabel(pht('Database'));
$nav->addFilter('database/',
pht('Database Status'), null, 'fa-heartbeat');
$nav->addFilter('dbissue/',
pht('Database Issues'), null, 'fa-exclamation-circle');
$nav->addLabel(pht('Cache'));
$nav->addFilter('cache/',
pht('Cache Status'), null, 'fa-home');
$nav->addLabel(pht('Cluster'));
$nav->addFilter('cluster/databases/',
pht('Database Servers'), null, 'fa-database');
$nav->addFilter('cluster/notifications/',
pht('Notification Servers'), null, 'fa-bell-o');
$nav->addFilter('cluster/repositories/',
pht('Repository Servers'), null, 'fa-code');
$nav->addFilter('cluster/search/',
pht('Search Servers'), null, 'fa-search');
return $nav; return $nav;
} }

View file

@ -1,13 +1,11 @@
<?php <?php
final class PhabricatorConfigCacheController final class PhabricatorConfigCacheController
extends PhabricatorConfigController { extends PhabricatorConfigServicesController {
public function handleRequest(AphrontRequest $request) { public function handleRequest(AphrontRequest $request) {
$viewer = $this->getViewer(); $viewer = $this->getViewer();
$nav = $this->buildSideNavView();
$nav->selectFilter('cache/');
$purge_button = id(new PHUIButtonView()) $purge_button = id(new PHUIButtonView())
->setText(pht('Purge Caches')) ->setText(pht('Purge Caches'))
@ -27,14 +25,15 @@ final class PhabricatorConfigCacheController
$data_box, $data_box,
); );
$crumbs = $this->buildApplicationCrumbs() $crumbs = $this->newCrumbs()
->addTextCrumb($title) ->addTextCrumb($title);
->setBorder(true);
$content = id(new PHUITwoColumnView()) $content = id(new PHUITwoColumnView())
->setHeader($header) ->setHeader($header)
->setFooter($page); ->setFooter($page);
$nav = $this->newNavigation('cache');
return $this->newPage() return $this->newPage()
->setTitle($title) ->setTitle($title)
->setCrumbs($crumbs) ->setCrumbs($crumbs)
@ -92,10 +91,12 @@ final class PhabricatorConfigCacheController
'n', 'n',
'n', 'n',
)); ));
$table = $this->buildConfigBoxView(pht('Cache Storage'), $table);
} }
$properties = $this->buildConfigBoxView(pht('Data Cache'), $properties); $properties = $this->buildConfigBoxView(pht('Data Cache'), $properties);
$table = $this->buildConfigBoxView(pht('Cache Storage'), $table);
return array($properties, $table); return array($properties, $table);
} }

View file

@ -1,13 +1,12 @@
<?php <?php
final class PhabricatorConfigClusterDatabasesController final class PhabricatorConfigClusterDatabasesController
extends PhabricatorConfigController { extends PhabricatorConfigServicesController {
public function handleRequest(AphrontRequest $request) { public function handleRequest(AphrontRequest $request) {
$nav = $this->buildSideNavView(); $nav = $this->newNavigation('database-servers');
$nav->selectFilter('cluster/databases/');
$title = pht('Cluster Database Status'); $title = pht('Database Servers');
$doc_href = PhabricatorEnv::getDoclink('Cluster: Databases'); $doc_href = PhabricatorEnv::getDoclink('Cluster: Databases');
$button = id(new PHUIButtonView()) $button = id(new PHUIButtonView())
->setIcon('fa-book') ->setIcon('fa-book')
@ -20,9 +19,8 @@ final class PhabricatorConfigClusterDatabasesController
$database_status = $this->buildClusterDatabaseStatus(); $database_status = $this->buildClusterDatabaseStatus();
$status = $this->buildConfigBoxView(pht('Status'), $database_status); $status = $this->buildConfigBoxView(pht('Status'), $database_status);
$crumbs = $this->buildApplicationCrumbs() $crumbs = $this->newCrumbs()
->addTextCrumb($title) ->addTextCrumb($title);
->setBorder(true);
$content = id(new PHUITwoColumnView()) $content = id(new PHUITwoColumnView())
->setHeader($header) ->setHeader($header)

View file

@ -1,13 +1,10 @@
<?php <?php
final class PhabricatorConfigClusterNotificationsController final class PhabricatorConfigClusterNotificationsController
extends PhabricatorConfigController { extends PhabricatorConfigServicesController {
public function handleRequest(AphrontRequest $request) { public function handleRequest(AphrontRequest $request) {
$nav = $this->buildSideNavView(); $title = pht('Notification Servers');
$nav->selectFilter('cluster/notifications/');
$title = pht('Cluster Notifications');
$doc_href = PhabricatorEnv::getDoclink('Cluster: Notifications'); $doc_href = PhabricatorEnv::getDoclink('Cluster: Notifications');
$button = id(new PHUIButtonView()) $button = id(new PHUIButtonView())
->setIcon('fa-book') ->setIcon('fa-book')
@ -22,14 +19,15 @@ final class PhabricatorConfigClusterNotificationsController
pht('Notifications Status'), pht('Notifications Status'),
$notification_status); $notification_status);
$crumbs = $this->buildApplicationCrumbs() $crumbs = $this->newCrumbs()
->addTextCrumb($title) ->addTextCrumb($title);
->setBorder(true);
$content = id(new PHUITwoColumnView()) $content = id(new PHUITwoColumnView())
->setHeader($header) ->setHeader($header)
->setFooter($status); ->setFooter($status);
$nav = $this->newNavigation('notification-servers');
return $this->newPage() return $this->newPage()
->setTitle($title) ->setTitle($title)
->setCrumbs($crumbs) ->setCrumbs($crumbs)

View file

@ -1,13 +1,10 @@
<?php <?php
final class PhabricatorConfigClusterRepositoriesController final class PhabricatorConfigClusterRepositoriesController
extends PhabricatorConfigController { extends PhabricatorConfigServicesController {
public function handleRequest(AphrontRequest $request) { public function handleRequest(AphrontRequest $request) {
$nav = $this->buildSideNavView(); $title = pht('Repository Services');
$nav->selectFilter('cluster/repositories/');
$title = pht('Cluster Repository Status');
$doc_href = PhabricatorEnv::getDoclink('Cluster: Repositories'); $doc_href = PhabricatorEnv::getDoclink('Cluster: Repositories');
$button = id(new PHUIButtonView()) $button = id(new PHUIButtonView())
@ -26,9 +23,8 @@ final class PhabricatorConfigClusterRepositoriesController
$repo_errors = $this->buildConfigBoxView( $repo_errors = $this->buildConfigBoxView(
pht('Repository Errors'), $repository_errors); pht('Repository Errors'), $repository_errors);
$crumbs = $this->buildApplicationCrumbs() $crumbs = $this->newCrumbs()
->addTextCrumb($title) ->addTextCrumb($title);
->setBorder(true);
$content = id(new PHUITwoColumnView()) $content = id(new PHUITwoColumnView())
->setHeader($header) ->setHeader($header)
@ -38,6 +34,8 @@ final class PhabricatorConfigClusterRepositoriesController
$repo_errors, $repo_errors,
)); ));
$nav = $this->newNavigation('repository-servers');
return $this->newPage() return $this->newPage()
->setTitle($title) ->setTitle($title)
->setCrumbs($crumbs) ->setCrumbs($crumbs)

View file

@ -1,13 +1,10 @@
<?php <?php
final class PhabricatorConfigClusterSearchController final class PhabricatorConfigClusterSearchController
extends PhabricatorConfigController { extends PhabricatorConfigServicesController {
public function handleRequest(AphrontRequest $request) { public function handleRequest(AphrontRequest $request) {
$nav = $this->buildSideNavView(); $title = pht('Search Servers');
$nav->selectFilter('cluster/search/');
$title = pht('Cluster Search');
$doc_href = PhabricatorEnv::getDoclink('Cluster: Search'); $doc_href = PhabricatorEnv::getDoclink('Cluster: Search');
$button = id(new PHUIButtonView()) $button = id(new PHUIButtonView())
@ -20,14 +17,15 @@ final class PhabricatorConfigClusterSearchController
$search_status = $this->buildClusterSearchStatus(); $search_status = $this->buildClusterSearchStatus();
$crumbs = $this->buildApplicationCrumbs() $crumbs = $this->newCrumbs()
->addTextCrumb($title) ->addTextCrumb($title);
->setBorder(true);
$content = id(new PHUITwoColumnView()) $content = id(new PHUITwoColumnView())
->setHeader($header) ->setHeader($header)
->setFooter($search_status); ->setFooter($search_status);
$nav = $this->newNavigation('search-servers');
return $this->newPage() return $this->newPage()
->setTitle($title) ->setTitle($title)
->setCrumbs($crumbs) ->setCrumbs($crumbs)

View file

@ -1,7 +1,7 @@
<?php <?php
abstract class PhabricatorConfigDatabaseController abstract class PhabricatorConfigDatabaseController
extends PhabricatorConfigController { extends PhabricatorConfigServicesController {
protected function renderIcon($status) { protected function renderIcon($status) {
switch ($status) { switch ($status) {

View file

@ -153,15 +153,14 @@ final class PhabricatorConfigDatabaseIssueController
new PhutilNumber($counts[PhabricatorConfigStorageSchema::STATUS_WARN])); new PhutilNumber($counts[PhabricatorConfigStorageSchema::STATUS_WARN]));
} }
$title = pht('Database Issues'); $title = pht('Schemata Issues');
$header = $this->buildHeaderView($title); $header = $this->buildHeaderView($title);
$nav = $this->buildSideNavView(); $nav = $this->newNavigation('schemata-issues');
$nav->selectFilter('dbissue/');
$view = $this->buildConfigBoxView(pht('Issues'), $table); $view = $this->buildConfigBoxView(pht('Issues'), $table);
$crumbs = $this->buildApplicationCrumbs() $crumbs = $this->newCrumbs()
->addTextCrumb($title) ->addTextCrumb($title)
->setBorder(true); ->setBorder(true);

View file

@ -71,8 +71,7 @@ final class PhabricatorConfigDatabaseStatusController
} }
private function buildResponse($title, $body) { private function buildResponse($title, $body) {
$nav = $this->buildSideNavView(); $nav = $this->newNavigation('schemata');
$nav->selectFilter('database/');
if (!$title) { if (!$title) {
$title = pht('Database Status'); $title = pht('Database Status');
@ -118,8 +117,7 @@ final class PhabricatorConfigDatabaseStatusController
); );
} }
$crumbs = $this->buildApplicationCrumbs(); $crumbs = $this->newCrumbs();
$crumbs->setBorder(true);
$last_key = last_key($links); $last_key = last_key($links);
foreach ($links as $link_key => $link) { foreach ($links as $link_key => $link) {

View file

@ -0,0 +1,69 @@
<?php
abstract class PhabricatorConfigServicesController
extends PhabricatorConfigController {
public function newNavigation($select_filter) {
$services_uri = $this->getApplicationURI();
$nav = id(new AphrontSideNavFilterView())
->setBaseURI(new PhutilURI($services_uri));
$nav->addLabel(pht('Databases'));
$nav->newLink('database-servers')
->setName(pht('Database Servers'))
->setIcon('fa-database')
->setHref(urisprintf('%s%s/', $services_uri, 'cluster/databases'));
$nav->newLink('schemata')
->setName(pht('Database Schemata'))
->setIcon('fa-table')
->setHref(urisprintf('%s%s/', $services_uri, 'database'));
$nav->newLink('schemata-issues')
->setName(pht('Schemata Issues'))
->setIcon('fa-exclamation-circle')
->setHref(urisprintf('%s%s/', $services_uri, 'dbissue'));
$nav->addLabel(pht('Cache'));
$nav->newLink('cache')
->setName(pht('Cache Status'))
->setIcon('fa-archive')
->setHref(urisprintf('%s%s/', $services_uri, 'cache'));
$nav->addLabel(pht('Other Services'));
$nav->newLink('notification-servers')
->setName(pht('Notification Servers'))
->setIcon('fa-bell-o')
->setHref(urisprintf('%s%s/', $services_uri, 'cluster/notifications'));
$nav->newLink('repository-servers')
->setName(pht('Repository Servers'))
->setIcon('fa-code')
->setHref(urisprintf('%s%s/', $services_uri, 'cluster/repositories'));
$nav->newLink('search-servers')
->setName(pht('Search Servers'))
->setIcon('fa-search')
->setHref(urisprintf('%s%s/', $services_uri, 'cluster/search'));
if ($select_filter) {
$nav->selectFilter($select_filter);
}
return $nav;
}
public function newCrumbs() {
$services_uri = $this->getApplicationURI('cluster/databases/');
return $this->buildApplicationCrumbs()
->addTextCrumb(pht('Services'))
->setBorder(true);
}
}