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 @@ -2801,22 +2801,22 @@ 'PhabricatorConfigAllController' => 'applications/config/controller/PhabricatorConfigAllController.php', 'PhabricatorConfigApplication' => 'applications/config/application/PhabricatorConfigApplication.php', 'PhabricatorConfigApplicationController' => 'applications/config/controller/PhabricatorConfigApplicationController.php', - 'PhabricatorConfigCacheController' => 'applications/config/controller/PhabricatorConfigCacheController.php', - 'PhabricatorConfigClusterDatabasesController' => 'applications/config/controller/PhabricatorConfigClusterDatabasesController.php', - 'PhabricatorConfigClusterNotificationsController' => 'applications/config/controller/PhabricatorConfigClusterNotificationsController.php', - 'PhabricatorConfigClusterRepositoriesController' => 'applications/config/controller/PhabricatorConfigClusterRepositoriesController.php', - 'PhabricatorConfigClusterSearchController' => 'applications/config/controller/PhabricatorConfigClusterSearchController.php', + 'PhabricatorConfigCacheController' => 'applications/config/controller/services/PhabricatorConfigCacheController.php', + 'PhabricatorConfigClusterDatabasesController' => 'applications/config/controller/services/PhabricatorConfigClusterDatabasesController.php', + 'PhabricatorConfigClusterNotificationsController' => 'applications/config/controller/services/PhabricatorConfigClusterNotificationsController.php', + 'PhabricatorConfigClusterRepositoriesController' => 'applications/config/controller/services/PhabricatorConfigClusterRepositoriesController.php', + 'PhabricatorConfigClusterSearchController' => 'applications/config/controller/services/PhabricatorConfigClusterSearchController.php', 'PhabricatorConfigCollectorsModule' => 'applications/config/module/PhabricatorConfigCollectorsModule.php', 'PhabricatorConfigColumnSchema' => 'applications/config/schema/PhabricatorConfigColumnSchema.php', 'PhabricatorConfigConfigPHIDType' => 'applications/config/phid/PhabricatorConfigConfigPHIDType.php', 'PhabricatorConfigConstants' => 'applications/config/constants/PhabricatorConfigConstants.php', 'PhabricatorConfigController' => 'applications/config/controller/PhabricatorConfigController.php', 'PhabricatorConfigCoreSchemaSpec' => 'applications/config/schema/PhabricatorConfigCoreSchemaSpec.php', - 'PhabricatorConfigDatabaseController' => 'applications/config/controller/PhabricatorConfigDatabaseController.php', - 'PhabricatorConfigDatabaseIssueController' => 'applications/config/controller/PhabricatorConfigDatabaseIssueController.php', + 'PhabricatorConfigDatabaseController' => 'applications/config/controller/services/PhabricatorConfigDatabaseController.php', + 'PhabricatorConfigDatabaseIssueController' => 'applications/config/controller/services/PhabricatorConfigDatabaseIssueController.php', 'PhabricatorConfigDatabaseSchema' => 'applications/config/schema/PhabricatorConfigDatabaseSchema.php', 'PhabricatorConfigDatabaseSource' => 'infrastructure/env/PhabricatorConfigDatabaseSource.php', - 'PhabricatorConfigDatabaseStatusController' => 'applications/config/controller/PhabricatorConfigDatabaseStatusController.php', + 'PhabricatorConfigDatabaseStatusController' => 'applications/config/controller/services/PhabricatorConfigDatabaseStatusController.php', 'PhabricatorConfigDefaultSource' => 'infrastructure/env/PhabricatorConfigDefaultSource.php', 'PhabricatorConfigDictionarySource' => 'infrastructure/env/PhabricatorConfigDictionarySource.php', 'PhabricatorConfigEdgeModule' => 'applications/config/module/PhabricatorConfigEdgeModule.php', @@ -2861,6 +2861,7 @@ 'PhabricatorConfigSchemaQuery' => 'applications/config/schema/PhabricatorConfigSchemaQuery.php', 'PhabricatorConfigSchemaSpec' => 'applications/config/schema/PhabricatorConfigSchemaSpec.php', 'PhabricatorConfigServerSchema' => 'applications/config/schema/PhabricatorConfigServerSchema.php', + 'PhabricatorConfigServicesController' => 'applications/config/controller/services/PhabricatorConfigServicesController.php', 'PhabricatorConfigSetupCheckModule' => 'applications/config/module/PhabricatorConfigSetupCheckModule.php', 'PhabricatorConfigSiteModule' => 'applications/config/module/PhabricatorConfigSiteModule.php', 'PhabricatorConfigSiteSource' => 'infrastructure/env/PhabricatorConfigSiteSource.php', @@ -9134,18 +9135,18 @@ 'PhabricatorConfigAllController' => 'PhabricatorConfigController', 'PhabricatorConfigApplication' => 'PhabricatorApplication', 'PhabricatorConfigApplicationController' => 'PhabricatorConfigController', - 'PhabricatorConfigCacheController' => 'PhabricatorConfigController', - 'PhabricatorConfigClusterDatabasesController' => 'PhabricatorConfigController', - 'PhabricatorConfigClusterNotificationsController' => 'PhabricatorConfigController', - 'PhabricatorConfigClusterRepositoriesController' => 'PhabricatorConfigController', - 'PhabricatorConfigClusterSearchController' => 'PhabricatorConfigController', + 'PhabricatorConfigCacheController' => 'PhabricatorConfigServicesController', + 'PhabricatorConfigClusterDatabasesController' => 'PhabricatorConfigServicesController', + 'PhabricatorConfigClusterNotificationsController' => 'PhabricatorConfigServicesController', + 'PhabricatorConfigClusterRepositoriesController' => 'PhabricatorConfigServicesController', + 'PhabricatorConfigClusterSearchController' => 'PhabricatorConfigServicesController', 'PhabricatorConfigCollectorsModule' => 'PhabricatorConfigModule', 'PhabricatorConfigColumnSchema' => 'PhabricatorConfigStorageSchema', 'PhabricatorConfigConfigPHIDType' => 'PhabricatorPHIDType', 'PhabricatorConfigConstants' => 'Phobject', 'PhabricatorConfigController' => 'PhabricatorController', 'PhabricatorConfigCoreSchemaSpec' => 'PhabricatorConfigSchemaSpec', - 'PhabricatorConfigDatabaseController' => 'PhabricatorConfigController', + 'PhabricatorConfigDatabaseController' => 'PhabricatorConfigServicesController', 'PhabricatorConfigDatabaseIssueController' => 'PhabricatorConfigDatabaseController', 'PhabricatorConfigDatabaseSchema' => 'PhabricatorConfigStorageSchema', 'PhabricatorConfigDatabaseSource' => 'PhabricatorConfigProxySource', @@ -9198,6 +9199,7 @@ 'PhabricatorConfigSchemaQuery' => 'Phobject', 'PhabricatorConfigSchemaSpec' => 'Phobject', 'PhabricatorConfigServerSchema' => 'PhabricatorConfigStorageSchema', + 'PhabricatorConfigServicesController' => 'PhabricatorConfigController', 'PhabricatorConfigSetupCheckModule' => 'PhabricatorConfigModule', 'PhabricatorConfigSiteModule' => 'PhabricatorConfigModule', 'PhabricatorConfigSiteSource' => 'PhabricatorConfigProxySource', diff --git a/src/applications/config/controller/PhabricatorConfigController.php b/src/applications/config/controller/PhabricatorConfigController.php --- a/src/applications/config/controller/PhabricatorConfigController.php +++ b/src/applications/config/controller/PhabricatorConfigController.php @@ -25,23 +25,6 @@ pht('Setup Issues'), null, 'fa-warning'); $nav->addFilter(null, 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; } diff --git a/src/applications/config/controller/PhabricatorConfigCacheController.php b/src/applications/config/controller/services/PhabricatorConfigCacheController.php rename from src/applications/config/controller/PhabricatorConfigCacheController.php rename to src/applications/config/controller/services/PhabricatorConfigCacheController.php --- a/src/applications/config/controller/PhabricatorConfigCacheController.php +++ b/src/applications/config/controller/services/PhabricatorConfigCacheController.php @@ -1,13 +1,11 @@ getViewer(); - $nav = $this->buildSideNavView(); - $nav->selectFilter('cache/'); $purge_button = id(new PHUIButtonView()) ->setText(pht('Purge Caches')) @@ -27,14 +25,15 @@ $data_box, ); - $crumbs = $this->buildApplicationCrumbs() - ->addTextCrumb($title) - ->setBorder(true); + $crumbs = $this->newCrumbs() + ->addTextCrumb($title); $content = id(new PHUITwoColumnView()) ->setHeader($header) ->setFooter($page); + $nav = $this->newNavigation('cache'); + return $this->newPage() ->setTitle($title) ->setCrumbs($crumbs) @@ -92,10 +91,12 @@ 'n', 'n', )); + + $table = $this->buildConfigBoxView(pht('Cache Storage'), $table); } $properties = $this->buildConfigBoxView(pht('Data Cache'), $properties); - $table = $this->buildConfigBoxView(pht('Cache Storage'), $table); + return array($properties, $table); } diff --git a/src/applications/config/controller/PhabricatorConfigClusterDatabasesController.php b/src/applications/config/controller/services/PhabricatorConfigClusterDatabasesController.php rename from src/applications/config/controller/PhabricatorConfigClusterDatabasesController.php rename to src/applications/config/controller/services/PhabricatorConfigClusterDatabasesController.php --- a/src/applications/config/controller/PhabricatorConfigClusterDatabasesController.php +++ b/src/applications/config/controller/services/PhabricatorConfigClusterDatabasesController.php @@ -1,13 +1,12 @@ buildSideNavView(); - $nav->selectFilter('cluster/databases/'); + $nav = $this->newNavigation('database-servers'); - $title = pht('Cluster Database Status'); + $title = pht('Database Servers'); $doc_href = PhabricatorEnv::getDoclink('Cluster: Databases'); $button = id(new PHUIButtonView()) ->setIcon('fa-book') @@ -20,9 +19,8 @@ $database_status = $this->buildClusterDatabaseStatus(); $status = $this->buildConfigBoxView(pht('Status'), $database_status); - $crumbs = $this->buildApplicationCrumbs() - ->addTextCrumb($title) - ->setBorder(true); + $crumbs = $this->newCrumbs() + ->addTextCrumb($title); $content = id(new PHUITwoColumnView()) ->setHeader($header) diff --git a/src/applications/config/controller/PhabricatorConfigClusterNotificationsController.php b/src/applications/config/controller/services/PhabricatorConfigClusterNotificationsController.php rename from src/applications/config/controller/PhabricatorConfigClusterNotificationsController.php rename to src/applications/config/controller/services/PhabricatorConfigClusterNotificationsController.php --- a/src/applications/config/controller/PhabricatorConfigClusterNotificationsController.php +++ b/src/applications/config/controller/services/PhabricatorConfigClusterNotificationsController.php @@ -1,13 +1,10 @@ buildSideNavView(); - $nav->selectFilter('cluster/notifications/'); - - $title = pht('Cluster Notifications'); + $title = pht('Notification Servers'); $doc_href = PhabricatorEnv::getDoclink('Cluster: Notifications'); $button = id(new PHUIButtonView()) ->setIcon('fa-book') @@ -22,14 +19,15 @@ pht('Notifications Status'), $notification_status); - $crumbs = $this->buildApplicationCrumbs() - ->addTextCrumb($title) - ->setBorder(true); + $crumbs = $this->newCrumbs() + ->addTextCrumb($title); $content = id(new PHUITwoColumnView()) ->setHeader($header) ->setFooter($status); + $nav = $this->newNavigation('notification-servers'); + return $this->newPage() ->setTitle($title) ->setCrumbs($crumbs) diff --git a/src/applications/config/controller/PhabricatorConfigClusterRepositoriesController.php b/src/applications/config/controller/services/PhabricatorConfigClusterRepositoriesController.php rename from src/applications/config/controller/PhabricatorConfigClusterRepositoriesController.php rename to src/applications/config/controller/services/PhabricatorConfigClusterRepositoriesController.php --- a/src/applications/config/controller/PhabricatorConfigClusterRepositoriesController.php +++ b/src/applications/config/controller/services/PhabricatorConfigClusterRepositoriesController.php @@ -1,13 +1,10 @@ buildSideNavView(); - $nav->selectFilter('cluster/repositories/'); - - $title = pht('Cluster Repository Status'); + $title = pht('Repository Services'); $doc_href = PhabricatorEnv::getDoclink('Cluster: Repositories'); $button = id(new PHUIButtonView()) @@ -26,9 +23,8 @@ $repo_errors = $this->buildConfigBoxView( pht('Repository Errors'), $repository_errors); - $crumbs = $this->buildApplicationCrumbs() - ->addTextCrumb($title) - ->setBorder(true); + $crumbs = $this->newCrumbs() + ->addTextCrumb($title); $content = id(new PHUITwoColumnView()) ->setHeader($header) @@ -38,6 +34,8 @@ $repo_errors, )); + $nav = $this->newNavigation('repository-servers'); + return $this->newPage() ->setTitle($title) ->setCrumbs($crumbs) diff --git a/src/applications/config/controller/PhabricatorConfigClusterSearchController.php b/src/applications/config/controller/services/PhabricatorConfigClusterSearchController.php rename from src/applications/config/controller/PhabricatorConfigClusterSearchController.php rename to src/applications/config/controller/services/PhabricatorConfigClusterSearchController.php --- a/src/applications/config/controller/PhabricatorConfigClusterSearchController.php +++ b/src/applications/config/controller/services/PhabricatorConfigClusterSearchController.php @@ -1,13 +1,10 @@ buildSideNavView(); - $nav->selectFilter('cluster/search/'); - - $title = pht('Cluster Search'); + $title = pht('Search Servers'); $doc_href = PhabricatorEnv::getDoclink('Cluster: Search'); $button = id(new PHUIButtonView()) @@ -20,14 +17,15 @@ $search_status = $this->buildClusterSearchStatus(); - $crumbs = $this->buildApplicationCrumbs() - ->addTextCrumb($title) - ->setBorder(true); + $crumbs = $this->newCrumbs() + ->addTextCrumb($title); $content = id(new PHUITwoColumnView()) ->setHeader($header) ->setFooter($search_status); + $nav = $this->newNavigation('search-servers'); + return $this->newPage() ->setTitle($title) ->setCrumbs($crumbs) diff --git a/src/applications/config/controller/PhabricatorConfigDatabaseController.php b/src/applications/config/controller/services/PhabricatorConfigDatabaseController.php rename from src/applications/config/controller/PhabricatorConfigDatabaseController.php rename to src/applications/config/controller/services/PhabricatorConfigDatabaseController.php --- a/src/applications/config/controller/PhabricatorConfigDatabaseController.php +++ b/src/applications/config/controller/services/PhabricatorConfigDatabaseController.php @@ -1,7 +1,7 @@ buildHeaderView($title); - $nav = $this->buildSideNavView(); - $nav->selectFilter('dbissue/'); + $nav = $this->newNavigation('schemata-issues'); $view = $this->buildConfigBoxView(pht('Issues'), $table); - $crumbs = $this->buildApplicationCrumbs() + $crumbs = $this->newCrumbs() ->addTextCrumb($title) ->setBorder(true); diff --git a/src/applications/config/controller/PhabricatorConfigDatabaseStatusController.php b/src/applications/config/controller/services/PhabricatorConfigDatabaseStatusController.php rename from src/applications/config/controller/PhabricatorConfigDatabaseStatusController.php rename to src/applications/config/controller/services/PhabricatorConfigDatabaseStatusController.php --- a/src/applications/config/controller/PhabricatorConfigDatabaseStatusController.php +++ b/src/applications/config/controller/services/PhabricatorConfigDatabaseStatusController.php @@ -71,8 +71,7 @@ } private function buildResponse($title, $body) { - $nav = $this->buildSideNavView(); - $nav->selectFilter('database/'); + $nav = $this->newNavigation('schemata'); if (!$title) { $title = pht('Database Status'); @@ -118,8 +117,7 @@ ); } - $crumbs = $this->buildApplicationCrumbs(); - $crumbs->setBorder(true); + $crumbs = $this->newCrumbs(); $last_key = last_key($links); foreach ($links as $link_key => $link) { diff --git a/src/applications/config/controller/services/PhabricatorConfigServicesController.php b/src/applications/config/controller/services/PhabricatorConfigServicesController.php new file mode 100644 --- /dev/null +++ b/src/applications/config/controller/services/PhabricatorConfigServicesController.php @@ -0,0 +1,69 @@ +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); + } + +}