Display list of lint problems in Diffusion

Test Plan:
/diffusion/ARC/lint/master/, saw links.
/diffusion/ARC/lint/master/?lint=SPELL0, saw two links.
/diffusion/ARC/lint/master/src/lint/linter/ArcanistFilenameLinter.php?lint=SPELL0, saw link.
Clicked on everything.

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Maniphest Tasks: T2038

Differential Revision: https://secure.phabricator.com/D3931
This commit is contained in:
vrana
2012-11-08 16:13:21 -08:00
parent 1b70324815
commit 4f65d4f344
5 changed files with 156 additions and 7 deletions

View File

@@ -6,13 +6,25 @@ final class DiffusionLintController extends DiffusionController {
public function processRequest() {
$drequest = $this->getDiffusionRequest();
if ($this->getRequest()->getStr('lint')) {
$controller = new DiffusionLintDetailsController($this->getRequest());
$controller->setDiffusionRequest($drequest);
return $this->delegateToController($controller);
}
$codes = $this->loadLintCodes();
$codes = array_reverse(isort($codes, 'n'));
$rows = array();
foreach ($codes as $code) {
$rows[] = array(
$code['n'],
hsprintf(
'<a href="%s">%s</a>',
$drequest->generateURI(array(
'action' => 'lint',
'lint' => $code['code'],
)),
$code['n']),
hsprintf(
'<a href="%s">%s</a>',
$drequest->generateURI(array(
@@ -56,7 +68,7 @@ final class DiffusionLintController extends DiffusionController {
));
$content[] = id(new AphrontPanelView())
->setHeader(array_sum(ipull($codes, 'n')).' Lint Messages')
->setHeader(pht('%d Lint Message(s)', array_sum(ipull($codes, 'n'))))
->appendChild($table);
$nav = $this->buildSideNav('lint', false);