Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/phabricator
Path: blob/master/src/applications/config/controller/issue/PhabricatorConfigIssueViewController.php
12261 views
1
<?php
2
3
final class PhabricatorConfigIssueViewController
4
extends PhabricatorConfigController {
5
6
public function handleRequest(AphrontRequest $request) {
7
$viewer = $request->getViewer();
8
$issue_key = $request->getURIData('key');
9
10
$engine = new PhabricatorSetupEngine();
11
$response = $engine->execute();
12
if ($response) {
13
return $response;
14
}
15
$issues = $engine->getIssues();
16
17
if (empty($issues[$issue_key])) {
18
$content = id(new PHUIInfoView())
19
->setSeverity(PHUIInfoView::SEVERITY_NOTICE)
20
->setTitle(pht('Issue Resolved'))
21
->appendChild(pht('This setup issue has been resolved. '))
22
->appendChild(
23
phutil_tag(
24
'a',
25
array(
26
'href' => $this->getApplicationURI('issue/'),
27
),
28
pht('Return to Open Issue List')));
29
$title = pht('Resolved Issue');
30
} else {
31
$issue = $issues[$issue_key];
32
$content = $this->renderIssue($issue);
33
$title = $issue->getShortName();
34
}
35
36
$crumbs = $this
37
->buildApplicationCrumbs()
38
->addTextCrumb(pht('Setup Issues'), $this->getApplicationURI('issue/'))
39
->addTextCrumb($title, $request->getRequestURI())
40
->setBorder(true);
41
42
$launcher_view = id(new PHUILauncherView())
43
->appendChild($content);
44
45
$content = id(new PHUITwoColumnView())
46
->setFooter($launcher_view);
47
48
return $this->newPage()
49
->setTitle($title)
50
->setCrumbs($crumbs)
51
->appendChild($content);
52
}
53
54
private function renderIssue(PhabricatorSetupIssue $issue) {
55
require_celerity_resource('setup-issue-css');
56
57
$view = new PhabricatorSetupIssueView();
58
$view->setIssue($issue);
59
60
$container = phutil_tag(
61
'div',
62
array(
63
'class' => 'setup-issue-background',
64
),
65
$view->render());
66
67
return $container;
68
}
69
70
}
71
72