Skip to content

Commit cb481f3

Browse files
author
epriestley
committedFeb 4, 2020
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
1 parent a72ade9 commit cb481f3

11 files changed

+122
-78
lines changed
 

‎src/__phutil_library_map__.php

+16-14
Original file line numberDiff line numberDiff line change
@@ -2801,22 +2801,22 @@
28012801
'PhabricatorConfigAllController' => 'applications/config/controller/PhabricatorConfigAllController.php',
28022802
'PhabricatorConfigApplication' => 'applications/config/application/PhabricatorConfigApplication.php',
28032803
'PhabricatorConfigApplicationController' => 'applications/config/controller/PhabricatorConfigApplicationController.php',
2804-
'PhabricatorConfigCacheController' => 'applications/config/controller/PhabricatorConfigCacheController.php',
2805-
'PhabricatorConfigClusterDatabasesController' => 'applications/config/controller/PhabricatorConfigClusterDatabasesController.php',
2806-
'PhabricatorConfigClusterNotificationsController' => 'applications/config/controller/PhabricatorConfigClusterNotificationsController.php',
2807-
'PhabricatorConfigClusterRepositoriesController' => 'applications/config/controller/PhabricatorConfigClusterRepositoriesController.php',
2808-
'PhabricatorConfigClusterSearchController' => 'applications/config/controller/PhabricatorConfigClusterSearchController.php',
2804+
'PhabricatorConfigCacheController' => 'applications/config/controller/services/PhabricatorConfigCacheController.php',
2805+
'PhabricatorConfigClusterDatabasesController' => 'applications/config/controller/services/PhabricatorConfigClusterDatabasesController.php',
2806+
'PhabricatorConfigClusterNotificationsController' => 'applications/config/controller/services/PhabricatorConfigClusterNotificationsController.php',
2807+
'PhabricatorConfigClusterRepositoriesController' => 'applications/config/controller/services/PhabricatorConfigClusterRepositoriesController.php',
2808+
'PhabricatorConfigClusterSearchController' => 'applications/config/controller/services/PhabricatorConfigClusterSearchController.php',
28092809
'PhabricatorConfigCollectorsModule' => 'applications/config/module/PhabricatorConfigCollectorsModule.php',
28102810
'PhabricatorConfigColumnSchema' => 'applications/config/schema/PhabricatorConfigColumnSchema.php',
28112811
'PhabricatorConfigConfigPHIDType' => 'applications/config/phid/PhabricatorConfigConfigPHIDType.php',
28122812
'PhabricatorConfigConstants' => 'applications/config/constants/PhabricatorConfigConstants.php',
28132813
'PhabricatorConfigController' => 'applications/config/controller/PhabricatorConfigController.php',
28142814
'PhabricatorConfigCoreSchemaSpec' => 'applications/config/schema/PhabricatorConfigCoreSchemaSpec.php',
2815-
'PhabricatorConfigDatabaseController' => 'applications/config/controller/PhabricatorConfigDatabaseController.php',
2816-
'PhabricatorConfigDatabaseIssueController' => 'applications/config/controller/PhabricatorConfigDatabaseIssueController.php',
2815+
'PhabricatorConfigDatabaseController' => 'applications/config/controller/services/PhabricatorConfigDatabaseController.php',
2816+
'PhabricatorConfigDatabaseIssueController' => 'applications/config/controller/services/PhabricatorConfigDatabaseIssueController.php',
28172817
'PhabricatorConfigDatabaseSchema' => 'applications/config/schema/PhabricatorConfigDatabaseSchema.php',
28182818
'PhabricatorConfigDatabaseSource' => 'infrastructure/env/PhabricatorConfigDatabaseSource.php',
2819-
'PhabricatorConfigDatabaseStatusController' => 'applications/config/controller/PhabricatorConfigDatabaseStatusController.php',
2819+
'PhabricatorConfigDatabaseStatusController' => 'applications/config/controller/services/PhabricatorConfigDatabaseStatusController.php',
28202820
'PhabricatorConfigDefaultSource' => 'infrastructure/env/PhabricatorConfigDefaultSource.php',
28212821
'PhabricatorConfigDictionarySource' => 'infrastructure/env/PhabricatorConfigDictionarySource.php',
28222822
'PhabricatorConfigEdgeModule' => 'applications/config/module/PhabricatorConfigEdgeModule.php',
@@ -2861,6 +2861,7 @@
28612861
'PhabricatorConfigSchemaQuery' => 'applications/config/schema/PhabricatorConfigSchemaQuery.php',
28622862
'PhabricatorConfigSchemaSpec' => 'applications/config/schema/PhabricatorConfigSchemaSpec.php',
28632863
'PhabricatorConfigServerSchema' => 'applications/config/schema/PhabricatorConfigServerSchema.php',
2864+
'PhabricatorConfigServicesController' => 'applications/config/controller/services/PhabricatorConfigServicesController.php',
28642865
'PhabricatorConfigSetupCheckModule' => 'applications/config/module/PhabricatorConfigSetupCheckModule.php',
28652866
'PhabricatorConfigSiteModule' => 'applications/config/module/PhabricatorConfigSiteModule.php',
28662867
'PhabricatorConfigSiteSource' => 'infrastructure/env/PhabricatorConfigSiteSource.php',
@@ -9134,18 +9135,18 @@
91349135
'PhabricatorConfigAllController' => 'PhabricatorConfigController',
91359136
'PhabricatorConfigApplication' => 'PhabricatorApplication',
91369137
'PhabricatorConfigApplicationController' => 'PhabricatorConfigController',
9137-
'PhabricatorConfigCacheController' => 'PhabricatorConfigController',
9138-
'PhabricatorConfigClusterDatabasesController' => 'PhabricatorConfigController',
9139-
'PhabricatorConfigClusterNotificationsController' => 'PhabricatorConfigController',
9140-
'PhabricatorConfigClusterRepositoriesController' => 'PhabricatorConfigController',
9141-
'PhabricatorConfigClusterSearchController' => 'PhabricatorConfigController',
9138+
'PhabricatorConfigCacheController' => 'PhabricatorConfigServicesController',
9139+
'PhabricatorConfigClusterDatabasesController' => 'PhabricatorConfigServicesController',
9140+
'PhabricatorConfigClusterNotificationsController' => 'PhabricatorConfigServicesController',
9141+
'PhabricatorConfigClusterRepositoriesController' => 'PhabricatorConfigServicesController',
9142+
'PhabricatorConfigClusterSearchController' => 'PhabricatorConfigServicesController',
91429143
'PhabricatorConfigCollectorsModule' => 'PhabricatorConfigModule',
91439144
'PhabricatorConfigColumnSchema' => 'PhabricatorConfigStorageSchema',
91449145
'PhabricatorConfigConfigPHIDType' => 'PhabricatorPHIDType',
91459146
'PhabricatorConfigConstants' => 'Phobject',
91469147
'PhabricatorConfigController' => 'PhabricatorController',
91479148
'PhabricatorConfigCoreSchemaSpec' => 'PhabricatorConfigSchemaSpec',
9148-
'PhabricatorConfigDatabaseController' => 'PhabricatorConfigController',
9149+
'PhabricatorConfigDatabaseController' => 'PhabricatorConfigServicesController',
91499150
'PhabricatorConfigDatabaseIssueController' => 'PhabricatorConfigDatabaseController',
91509151
'PhabricatorConfigDatabaseSchema' => 'PhabricatorConfigStorageSchema',
91519152
'PhabricatorConfigDatabaseSource' => 'PhabricatorConfigProxySource',
@@ -9198,6 +9199,7 @@
91989199
'PhabricatorConfigSchemaQuery' => 'Phobject',
91999200
'PhabricatorConfigSchemaSpec' => 'Phobject',
92009201
'PhabricatorConfigServerSchema' => 'PhabricatorConfigStorageSchema',
9202+
'PhabricatorConfigServicesController' => 'PhabricatorConfigController',
92019203
'PhabricatorConfigSetupCheckModule' => 'PhabricatorConfigModule',
92029204
'PhabricatorConfigSiteModule' => 'PhabricatorConfigModule',
92039205
'PhabricatorConfigSiteSource' => 'PhabricatorConfigProxySource',

‎src/applications/config/controller/PhabricatorConfigController.php

-17
Original file line numberDiff line numberDiff line change
@@ -25,23 +25,6 @@ public function buildSideNavView($filter = null, $for_app = false) {
2525
pht('Setup Issues'), null, 'fa-warning');
2626
$nav->addFilter(null,
2727
pht('Installation Guide'), $guide_href, 'fa-book');
28-
$nav->addLabel(pht('Database'));
29-
$nav->addFilter('database/',
30-
pht('Database Status'), null, 'fa-heartbeat');
31-
$nav->addFilter('dbissue/',
32-
pht('Database Issues'), null, 'fa-exclamation-circle');
33-
$nav->addLabel(pht('Cache'));
34-
$nav->addFilter('cache/',
35-
pht('Cache Status'), null, 'fa-home');
36-
$nav->addLabel(pht('Cluster'));
37-
$nav->addFilter('cluster/databases/',
38-
pht('Database Servers'), null, 'fa-database');
39-
$nav->addFilter('cluster/notifications/',
40-
pht('Notification Servers'), null, 'fa-bell-o');
41-
$nav->addFilter('cluster/repositories/',
42-
pht('Repository Servers'), null, 'fa-code');
43-
$nav->addFilter('cluster/search/',
44-
pht('Search Servers'), null, 'fa-search');
4528

4629
return $nav;
4730
}

‎src/applications/config/controller/PhabricatorConfigCacheController.php ‎src/applications/config/controller/services/PhabricatorConfigCacheController.php

+8-7
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,11 @@
11
<?php
22

33
final class PhabricatorConfigCacheController
4-
extends PhabricatorConfigController {
4+
extends PhabricatorConfigServicesController {
55

66
public function handleRequest(AphrontRequest $request) {
77
$viewer = $this->getViewer();
88

9-
$nav = $this->buildSideNavView();
10-
$nav->selectFilter('cache/');
119

1210
$purge_button = id(new PHUIButtonView())
1311
->setText(pht('Purge Caches'))
@@ -27,14 +25,15 @@ public function handleRequest(AphrontRequest $request) {
2725
$data_box,
2826
);
2927

30-
$crumbs = $this->buildApplicationCrumbs()
31-
->addTextCrumb($title)
32-
->setBorder(true);
28+
$crumbs = $this->newCrumbs()
29+
->addTextCrumb($title);
3330

3431
$content = id(new PHUITwoColumnView())
3532
->setHeader($header)
3633
->setFooter($page);
3734

35+
$nav = $this->newNavigation('cache');
36+
3837
return $this->newPage()
3938
->setTitle($title)
4039
->setCrumbs($crumbs)
@@ -92,10 +91,12 @@ private function renderDataBox() {
9291
'n',
9392
'n',
9493
));
94+
95+
$table = $this->buildConfigBoxView(pht('Cache Storage'), $table);
9596
}
9697

9798
$properties = $this->buildConfigBoxView(pht('Data Cache'), $properties);
98-
$table = $this->buildConfigBoxView(pht('Cache Storage'), $table);
99+
99100
return array($properties, $table);
100101
}
101102

‎src/applications/config/controller/PhabricatorConfigClusterDatabasesController.php ‎src/applications/config/controller/services/PhabricatorConfigClusterDatabasesController.php

+5-7
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
11
<?php
22

33
final class PhabricatorConfigClusterDatabasesController
4-
extends PhabricatorConfigController {
4+
extends PhabricatorConfigServicesController {
55

66
public function handleRequest(AphrontRequest $request) {
7-
$nav = $this->buildSideNavView();
8-
$nav->selectFilter('cluster/databases/');
7+
$nav = $this->newNavigation('database-servers');
98

10-
$title = pht('Cluster Database Status');
9+
$title = pht('Database Servers');
1110
$doc_href = PhabricatorEnv::getDoclink('Cluster: Databases');
1211
$button = id(new PHUIButtonView())
1312
->setIcon('fa-book')
@@ -20,9 +19,8 @@ public function handleRequest(AphrontRequest $request) {
2019
$database_status = $this->buildClusterDatabaseStatus();
2120
$status = $this->buildConfigBoxView(pht('Status'), $database_status);
2221

23-
$crumbs = $this->buildApplicationCrumbs()
24-
->addTextCrumb($title)
25-
->setBorder(true);
22+
$crumbs = $this->newCrumbs()
23+
->addTextCrumb($title);
2624

2725
$content = id(new PHUITwoColumnView())
2826
->setHeader($header)

‎src/applications/config/controller/PhabricatorConfigClusterNotificationsController.php ‎src/applications/config/controller/services/PhabricatorConfigClusterNotificationsController.php

+6-8
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,10 @@
11
<?php
22

33
final class PhabricatorConfigClusterNotificationsController
4-
extends PhabricatorConfigController {
4+
extends PhabricatorConfigServicesController {
55

66
public function handleRequest(AphrontRequest $request) {
7-
$nav = $this->buildSideNavView();
8-
$nav->selectFilter('cluster/notifications/');
9-
10-
$title = pht('Cluster Notifications');
7+
$title = pht('Notification Servers');
118
$doc_href = PhabricatorEnv::getDoclink('Cluster: Notifications');
129
$button = id(new PHUIButtonView())
1310
->setIcon('fa-book')
@@ -22,14 +19,15 @@ public function handleRequest(AphrontRequest $request) {
2219
pht('Notifications Status'),
2320
$notification_status);
2421

25-
$crumbs = $this->buildApplicationCrumbs()
26-
->addTextCrumb($title)
27-
->setBorder(true);
22+
$crumbs = $this->newCrumbs()
23+
->addTextCrumb($title);
2824

2925
$content = id(new PHUITwoColumnView())
3026
->setHeader($header)
3127
->setFooter($status);
3228

29+
$nav = $this->newNavigation('notification-servers');
30+
3331
return $this->newPage()
3432
->setTitle($title)
3533
->setCrumbs($crumbs)

‎src/applications/config/controller/PhabricatorConfigClusterRepositoriesController.php ‎src/applications/config/controller/services/PhabricatorConfigClusterRepositoriesController.php

+6-8
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,10 @@
11
<?php
22

33
final class PhabricatorConfigClusterRepositoriesController
4-
extends PhabricatorConfigController {
4+
extends PhabricatorConfigServicesController {
55

66
public function handleRequest(AphrontRequest $request) {
7-
$nav = $this->buildSideNavView();
8-
$nav->selectFilter('cluster/repositories/');
9-
10-
$title = pht('Cluster Repository Status');
7+
$title = pht('Repository Services');
118

129
$doc_href = PhabricatorEnv::getDoclink('Cluster: Repositories');
1310
$button = id(new PHUIButtonView())
@@ -26,9 +23,8 @@ public function handleRequest(AphrontRequest $request) {
2623
$repo_errors = $this->buildConfigBoxView(
2724
pht('Repository Errors'), $repository_errors);
2825

29-
$crumbs = $this->buildApplicationCrumbs()
30-
->addTextCrumb($title)
31-
->setBorder(true);
26+
$crumbs = $this->newCrumbs()
27+
->addTextCrumb($title);
3228

3329
$content = id(new PHUITwoColumnView())
3430
->setHeader($header)
@@ -38,6 +34,8 @@ public function handleRequest(AphrontRequest $request) {
3834
$repo_errors,
3935
));
4036

37+
$nav = $this->newNavigation('repository-servers');
38+
4139
return $this->newPage()
4240
->setTitle($title)
4341
->setCrumbs($crumbs)

‎src/applications/config/controller/PhabricatorConfigClusterSearchController.php ‎src/applications/config/controller/services/PhabricatorConfigClusterSearchController.php

+6-8
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,10 @@
11
<?php
22

33
final class PhabricatorConfigClusterSearchController
4-
extends PhabricatorConfigController {
4+
extends PhabricatorConfigServicesController {
55

66
public function handleRequest(AphrontRequest $request) {
7-
$nav = $this->buildSideNavView();
8-
$nav->selectFilter('cluster/search/');
9-
10-
$title = pht('Cluster Search');
7+
$title = pht('Search Servers');
118
$doc_href = PhabricatorEnv::getDoclink('Cluster: Search');
129

1310
$button = id(new PHUIButtonView())
@@ -20,14 +17,15 @@ public function handleRequest(AphrontRequest $request) {
2017

2118
$search_status = $this->buildClusterSearchStatus();
2219

23-
$crumbs = $this->buildApplicationCrumbs()
24-
->addTextCrumb($title)
25-
->setBorder(true);
20+
$crumbs = $this->newCrumbs()
21+
->addTextCrumb($title);
2622

2723
$content = id(new PHUITwoColumnView())
2824
->setHeader($header)
2925
->setFooter($search_status);
3026

27+
$nav = $this->newNavigation('search-servers');
28+
3129
return $this->newPage()
3230
->setTitle($title)
3331
->setCrumbs($crumbs)

‎src/applications/config/controller/PhabricatorConfigDatabaseController.php ‎src/applications/config/controller/services/PhabricatorConfigDatabaseController.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<?php
22

33
abstract class PhabricatorConfigDatabaseController
4-
extends PhabricatorConfigController {
4+
extends PhabricatorConfigServicesController {
55

66
protected function renderIcon($status) {
77
switch ($status) {

‎src/applications/config/controller/PhabricatorConfigDatabaseIssueController.php ‎src/applications/config/controller/services/PhabricatorConfigDatabaseIssueController.php

+3-4
Original file line numberDiff line numberDiff line change
@@ -153,15 +153,14 @@ public function handleRequest(AphrontRequest $request) {
153153
new PhutilNumber($counts[PhabricatorConfigStorageSchema::STATUS_WARN]));
154154
}
155155

156-
$title = pht('Database Issues');
156+
$title = pht('Schemata Issues');
157157
$header = $this->buildHeaderView($title);
158158

159-
$nav = $this->buildSideNavView();
160-
$nav->selectFilter('dbissue/');
159+
$nav = $this->newNavigation('schemata-issues');
161160

162161
$view = $this->buildConfigBoxView(pht('Issues'), $table);
163162

164-
$crumbs = $this->buildApplicationCrumbs()
163+
$crumbs = $this->newCrumbs()
165164
->addTextCrumb($title)
166165
->setBorder(true);
167166

‎src/applications/config/controller/PhabricatorConfigDatabaseStatusController.php ‎src/applications/config/controller/services/PhabricatorConfigDatabaseStatusController.php

+2-4
Original file line numberDiff line numberDiff line change
@@ -71,8 +71,7 @@ public function handleRequest(AphrontRequest $request) {
7171
}
7272

7373
private function buildResponse($title, $body) {
74-
$nav = $this->buildSideNavView();
75-
$nav->selectFilter('database/');
74+
$nav = $this->newNavigation('schemata');
7675

7776
if (!$title) {
7877
$title = pht('Database Status');
@@ -118,8 +117,7 @@ private function buildResponse($title, $body) {
118117
);
119118
}
120119

121-
$crumbs = $this->buildApplicationCrumbs();
122-
$crumbs->setBorder(true);
120+
$crumbs = $this->newCrumbs();
123121

124122
$last_key = last_key($links);
125123
foreach ($links as $link_key => $link) {
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
<?php
2+
3+
abstract class PhabricatorConfigServicesController
4+
extends PhabricatorConfigController {
5+
6+
public function newNavigation($select_filter) {
7+
$services_uri = $this->getApplicationURI();
8+
9+
$nav = id(new AphrontSideNavFilterView())
10+
->setBaseURI(new PhutilURI($services_uri));
11+
12+
$nav->addLabel(pht('Databases'));
13+
14+
$nav->newLink('database-servers')
15+
->setName(pht('Database Servers'))
16+
->setIcon('fa-database')
17+
->setHref(urisprintf('%s%s/', $services_uri, 'cluster/databases'));
18+
19+
$nav->newLink('schemata')
20+
->setName(pht('Database Schemata'))
21+
->setIcon('fa-table')
22+
->setHref(urisprintf('%s%s/', $services_uri, 'database'));
23+
24+
$nav->newLink('schemata-issues')
25+
->setName(pht('Schemata Issues'))
26+
->setIcon('fa-exclamation-circle')
27+
->setHref(urisprintf('%s%s/', $services_uri, 'dbissue'));
28+
29+
30+
$nav->addLabel(pht('Cache'));
31+
32+
$nav->newLink('cache')
33+
->setName(pht('Cache Status'))
34+
->setIcon('fa-archive')
35+
->setHref(urisprintf('%s%s/', $services_uri, 'cache'));
36+
37+
$nav->addLabel(pht('Other Services'));
38+
39+
$nav->newLink('notification-servers')
40+
->setName(pht('Notification Servers'))
41+
->setIcon('fa-bell-o')
42+
->setHref(urisprintf('%s%s/', $services_uri, 'cluster/notifications'));
43+
44+
$nav->newLink('repository-servers')
45+
->setName(pht('Repository Servers'))
46+
->setIcon('fa-code')
47+
->setHref(urisprintf('%s%s/', $services_uri, 'cluster/repositories'));
48+
49+
$nav->newLink('search-servers')
50+
->setName(pht('Search Servers'))
51+
->setIcon('fa-search')
52+
->setHref(urisprintf('%s%s/', $services_uri, 'cluster/search'));
53+
54+
if ($select_filter) {
55+
$nav->selectFilter($select_filter);
56+
}
57+
58+
return $nav;
59+
}
60+
61+
public function newCrumbs() {
62+
$services_uri = $this->getApplicationURI('cluster/databases/');
63+
64+
return $this->buildApplicationCrumbs()
65+
->addTextCrumb(pht('Services'))
66+
->setBorder(true);
67+
}
68+
69+
}

0 commit comments

Comments
 (0)
Failed to load comments.