mirror of
https://we.phorge.it/source/phorge.git
synced 2024-11-29 02:02:41 +01:00
be7677f211
Summary: T2381 Test Plan: Include existing setup issues in the ignore config option, reduces the number of setup issues in the status bar, moves ignored issues to the bottom of the list, and marks them as ignored. Also include a string corresponding to no setup issue, and verify that application does not break. Reviewers: epriestley Reviewed By: epriestley CC: aran, Korvin Differential Revision: https://secure.phabricator.com/D5072
77 lines
2 KiB
PHP
77 lines
2 KiB
PHP
<?php
|
|
|
|
final class PhabricatorConfigIssueViewController
|
|
extends PhabricatorConfigController {
|
|
|
|
private $issueKey;
|
|
|
|
public function willProcessRequest(array $data) {
|
|
$this->issueKey = $data['key'];
|
|
}
|
|
|
|
public function processRequest() {
|
|
$request = $this->getRequest();
|
|
$user = $request->getUser();
|
|
|
|
$issues = PhabricatorSetupCheck::runAllChecks();
|
|
PhabricatorSetupCheck::setOpenSetupIssueCount(
|
|
PhabricatorSetupCheck::countUnignoredIssues($issues));
|
|
|
|
if (empty($issues[$this->issueKey])) {
|
|
$content = id(new AphrontErrorView())
|
|
->setSeverity(AphrontErrorView::SEVERITY_NOTICE)
|
|
->setTitle(pht('Issue Resolved'))
|
|
->appendChild(pht('This setup issue has been resolved. '))
|
|
->appendChild(
|
|
phutil_tag(
|
|
'a',
|
|
array(
|
|
'href' => $this->getApplicationURI('issue/'),
|
|
),
|
|
pht('Return to Open Issue List')));
|
|
$title = pht('Resolved Issue');
|
|
} else {
|
|
$issue = $issues[$this->issueKey];
|
|
$content = $this->renderIssue($issue);
|
|
$title = $issue->getShortName();
|
|
}
|
|
|
|
$crumbs = $this
|
|
->buildApplicationCrumbs()
|
|
->addCrumb(
|
|
id(new PhabricatorCrumbView())
|
|
->setName(pht('Setup Issues'))
|
|
->setHref($this->getApplicationURI('issue/')))
|
|
->addCrumb(
|
|
id(new PhabricatorCrumbView())
|
|
->setName($title)
|
|
->setHref($request->getRequestURI()));
|
|
|
|
return $this->buildApplicationPage(
|
|
array(
|
|
$crumbs,
|
|
$content,
|
|
),
|
|
array(
|
|
'title' => $title,
|
|
'device' => true,
|
|
));
|
|
}
|
|
|
|
private function renderIssue(PhabricatorSetupIssue $issue) {
|
|
require_celerity_resource('setup-issue-css');
|
|
|
|
$view = new PhabricatorSetupIssueView();
|
|
$view->setIssue($issue);
|
|
|
|
$container = phutil_tag(
|
|
'div',
|
|
array(
|
|
'class' => 'setup-issue-background',
|
|
),
|
|
$view->render());
|
|
|
|
return $container;
|
|
}
|
|
|
|
}
|