public function processRequest()
 {
     $request = $this->getRequest();
     $user = $request->getUser();
     $nav = $this->buildSideNavView();
     $nav->selectFilter('issue/');
     $issues = PhabricatorSetupCheck::runAllChecks();
     PhabricatorSetupCheck::setOpenSetupIssueKeys(PhabricatorSetupCheck::getUnignoredIssueKeys($issues));
     $important = $this->buildIssueList($issues, PhabricatorSetupCheck::GROUP_IMPORTANT);
     $php = $this->buildIssueList($issues, PhabricatorSetupCheck::GROUP_PHP);
     $mysql = $this->buildIssueList($issues, PhabricatorSetupCheck::GROUP_MYSQL);
     $other = $this->buildIssueList($issues, PhabricatorSetupCheck::GROUP_OTHER);
     $setup_issues = array();
     if ($important) {
         $setup_issues[] = id(new PHUIObjectBoxView())->setHeaderText(pht('Important Setup Issues'))->appendChild($important);
     }
     if ($php) {
         $setup_issues[] = id(new PHUIObjectBoxView())->setHeaderText(pht('PHP Setup Issues'))->appendChild($php);
     }
     if ($mysql) {
         $setup_issues[] = id(new PHUIObjectBoxView())->setHeaderText(pht('MySQL Setup Issues'))->appendChild($mysql);
     }
     if ($other) {
         $setup_issues[] = id(new PHUIObjectBoxView())->setHeaderText(pht('Other Setup Issues'))->appendChild($other);
     }
     if (empty($setup_issues)) {
         $setup_issues[] = id(new PHUIInfoView())->setTitle(pht('No Issues'))->appendChild(pht('Your install has no current setup issues to resolve.'))->setSeverity(PHUIInfoView::SEVERITY_NOTICE);
     }
     $nav->appendChild($setup_issues);
     $title = pht('Setup Issues');
     $crumbs = $this->buildApplicationCrumbs($nav)->addTextCrumb(pht('Setup'), $this->getApplicationURI('issue/'));
     $nav->setCrumbs($crumbs);
     return $this->buildApplicationPage($nav, array('title' => $title));
 }
 public function handleRequest(AphrontRequest $request)
 {
     $viewer = $request->getViewer();
     $nav = $this->buildSideNavView();
     $nav->selectFilter('issue/');
     $issues = PhabricatorSetupCheck::runAllChecks();
     PhabricatorSetupCheck::setOpenSetupIssueKeys(PhabricatorSetupCheck::getUnignoredIssueKeys($issues), $update_database = true);
     $important = $this->buildIssueList($issues, PhabricatorSetupCheck::GROUP_IMPORTANT);
     $php = $this->buildIssueList($issues, PhabricatorSetupCheck::GROUP_PHP);
     $mysql = $this->buildIssueList($issues, PhabricatorSetupCheck::GROUP_MYSQL);
     $other = $this->buildIssueList($issues, PhabricatorSetupCheck::GROUP_OTHER);
     $setup_issues = array();
     if ($important) {
         $setup_issues[] = id(new PHUIObjectBoxView())->setHeaderText(pht('Important Setup Issues'))->setColor(PHUIObjectBoxView::COLOR_RED)->setObjectList($important);
     }
     if ($php) {
         $setup_issues[] = id(new PHUIObjectBoxView())->setHeaderText(pht('PHP Setup Issues'))->setObjectList($php);
     }
     if ($mysql) {
         $setup_issues[] = id(new PHUIObjectBoxView())->setHeaderText(pht('MySQL Setup Issues'))->setObjectList($mysql);
     }
     if ($other) {
         $setup_issues[] = id(new PHUIObjectBoxView())->setHeaderText(pht('Other Setup Issues'))->setObjectList($other);
     }
     if (empty($setup_issues)) {
         $setup_issues[] = id(new PHUIInfoView())->setTitle(pht('No Issues'))->appendChild(pht('Your install has no current setup issues to resolve.'))->setSeverity(PHUIInfoView::SEVERITY_NOTICE);
     }
     $title = pht('Setup Issues');
     $crumbs = $this->buildApplicationCrumbs($nav)->addTextCrumb(pht('Setup'), $this->getApplicationURI('issue/'));
     $view = id(new PHUITwoColumnView())->setNavigation($nav)->setMainColumn(array($setup_issues));
     return $this->newPage()->setTitle($title)->setCrumbs($crumbs)->appendChild($view);
 }
 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()->addTextCrumb(pht('Setup Issues'), $this->getApplicationURI('issue/'))->addTextCrumb($title, $request->getRequestURI());
     return $this->buildApplicationPage(array($crumbs, $content), array('title' => $title));
 }
 public function handleRequest(AphrontRequest $request)
 {
     $viewer = $request->getViewer();
     $issue_key = $request->getURIData('key');
     $issues = PhabricatorSetupCheck::runAllChecks();
     PhabricatorSetupCheck::setOpenSetupIssueKeys(PhabricatorSetupCheck::getUnignoredIssueKeys($issues), $update_database = true);
     if (empty($issues[$issue_key])) {
         $content = id(new PHUIInfoView())->setSeverity(PHUIInfoView::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[$issue_key];
         $content = $this->renderIssue($issue);
         $title = $issue->getShortName();
     }
     $crumbs = $this->buildApplicationCrumbs()->setBorder(true)->addTextCrumb(pht('Setup Issues'), $this->getApplicationURI('issue/'))->addTextCrumb($title, $request->getRequestURI());
     return $this->newPage()->setTitle($title)->setCrumbs($crumbs)->appendChild($content);
 }
 public function processRequest()
 {
     $request = $this->getRequest();
     $user = $request->getUser();
     $nav = $this->buildSideNavView();
     $nav->selectFilter('issue/');
     $issues = PhabricatorSetupCheck::runAllChecks();
     PhabricatorSetupCheck::setOpenSetupIssueCount(PhabricatorSetupCheck::countUnignoredIssues($issues));
     $list = $this->buildIssueList($issues);
     $list->setNoDataString(pht('There are no open setup issues.'));
     $list->setStackable(true);
     $box = id(new PHUIObjectBoxView())->setHeaderText(pht('Open Phabricator Setup Issues'))->appendChild($list);
     $nav->appendChild(array($box));
     $title = pht('Setup Issues');
     $crumbs = $this->buildApplicationCrumbs($nav)->addTextCrumb(pht('Setup'), $this->getApplicationURI('issue/'));
     $nav->setCrumbs($crumbs);
     return $this->buildApplicationPage($nav, array('title' => $title));
 }