diff --git a/resources/celerity/map.php b/resources/celerity/map.php index 51371f2157..daa8cc4d8a 100644 --- a/resources/celerity/map.php +++ b/resources/celerity/map.php @@ -44,7 +44,7 @@ return array( 'rsrc/css/application/config/config-options.css' => '7fedf08b', 'rsrc/css/application/config/config-template.css' => '25d446d6', 'rsrc/css/application/config/config-welcome.css' => 'b0d16200', - 'rsrc/css/application/config/setup-issue.css' => '69e640e7', + 'rsrc/css/application/config/setup-issue.css' => '8f852bc0', 'rsrc/css/application/conpherence/menu.css' => 'e1e0fdf1', 'rsrc/css/application/conpherence/message-pane.css' => '11a393ca', 'rsrc/css/application/conpherence/notification.css' => '04a6e10a', @@ -811,7 +811,7 @@ return array( 'releeph-preview-branch' => 'b7a6f4a5', 'releeph-request-differential-create-dialog' => '8d8b92cd', 'releeph-request-typeahead-css' => '667a48ae', - 'setup-issue-css' => '69e640e7', + 'setup-issue-css' => '8f852bc0', 'sprite-apps-css' => 'd5baed0f', 'sprite-apps-large-css' => '20ec0cc0', 'sprite-conpherence-css' => '3b4a0487', diff --git a/src/applications/config/check/PhabricatorSetupCheckDaemons.php b/src/applications/config/check/PhabricatorSetupCheckDaemons.php index 9e02ac4ed9..a77f32910f 100644 --- a/src/applications/config/check/PhabricatorSetupCheckDaemons.php +++ b/src/applications/config/check/PhabricatorSetupCheckDaemons.php @@ -23,7 +23,7 @@ final class PhabricatorSetupCheckDaemons extends PhabricatorSetupCheck { 'The Phabricator daemons are not running, so Phabricator will not '. 'be able to perform background processing (including sending email, '. 'rebuilding search indexes, importing commits, cleaning up old data, '. - 'running builds, etc.).'. + 'and running builds).'. "\n\n". 'Use %s to start daemons. See %s for more information.', phutil_tag('tt', array(), 'bin/phd start'), diff --git a/src/applications/config/controller/PhabricatorConfigIgnoreController.php b/src/applications/config/controller/PhabricatorConfigIgnoreController.php index 2a6fe1886c..3261482aa6 100644 --- a/src/applications/config/controller/PhabricatorConfigIgnoreController.php +++ b/src/applications/config/controller/PhabricatorConfigIgnoreController.php @@ -13,7 +13,7 @@ final class PhabricatorConfigIgnoreController public function processRequest() { $request = $this->getRequest(); - $issue_uri = $this->getApplicationURI('issue'); + $issue_uri = $this->getApplicationURI('issue/'.$this->issue.'/'); if ($request->isDialogFormPost()) { $this->manageApplication(); diff --git a/src/applications/config/controller/PhabricatorConfigIssueListController.php b/src/applications/config/controller/PhabricatorConfigIssueListController.php index 4abdfb81ca..99bb4d8ff7 100644 --- a/src/applications/config/controller/PhabricatorConfigIssueListController.php +++ b/src/applications/config/controller/PhabricatorConfigIssueListController.php @@ -55,22 +55,10 @@ final class PhabricatorConfigIssueListController ->addAttribute($issue->getSummary()); if (!$issue->getIsIgnored()) { $item->setBarColor('yellow'); - $item->addAction( - id(new PHUIListItemView()) - ->setIcon('fa-eye-slash') - ->setWorkflow(true) - ->setName(pht('Ignore')) - ->setHref('/config/ignore/'.$issue->getIssueKey().'/')); $list->addItem($item); } else { - $item->addIcon('none', pht('Ignored')); + $item->addIcon('fa-eye-slash', pht('Ignored')); $item->setDisabled(true); - $item->addAction( - id(new PHUIListItemView()) - ->setIcon('fa-eye') - ->setWorkflow(true) - ->setName(pht('Unignore')) - ->setHref('/config/unignore/'.$issue->getIssueKey().'/')); $item->setBarColor('none'); $ignored_items[] = $item; } diff --git a/src/applications/config/view/PhabricatorSetupIssueView.php b/src/applications/config/view/PhabricatorSetupIssueView.php index bdf7562cfd..0fd04fa748 100644 --- a/src/applications/config/view/PhabricatorSetupIssueView.php +++ b/src/applications/config/view/PhabricatorSetupIssueView.php @@ -107,12 +107,66 @@ final class PhabricatorSetupIssueView extends AphrontView { } - $next = phutil_tag( - 'div', - array( - 'class' => 'setup-issue-next', - ), - pht('To continue, resolve this problem and reload the page.')); + $actions = array(); + if (!$issue->getIsFatal()) { + if ($issue->getIsIgnored()) { + $actions[] = javelin_tag( + 'a', + array( + 'href' => '/config/unignore/'.$issue->getIssueKey().'/', + 'sigil' => 'workflow', + 'class' => 'button grey', + ), + pht('Unignore Setup Issue')); + } else { + $actions[] = javelin_tag( + 'a', + array( + 'href' => '/config/ignore/'.$issue->getIssueKey().'/', + 'sigil' => 'workflow', + 'class' => 'button grey', + ), + pht('Ignore Setup Issue')); + } + + $actions[] = javelin_tag( + 'a', + array( + 'href' => '/config/issue/'.$issue->getIssueKey().'/', + 'class' => 'button grey', + 'style' => 'float: right', + ), + pht('Reload Page')); + } + + if ($actions) { + $actions = phutil_tag( + 'div', + array( + 'class' => 'setup-issue-actions', + ), + $actions); + } + + if ($issue->getIsIgnored()) { + $status = phutil_tag( + 'div', + array( + 'class' => 'setup-issue-status', + ), + pht( + 'This issue is currently ignored, and does not show a global '. + 'warning.')); + $next = null; + } else { + $status = null; + $next = phutil_tag( + 'div', + array( + 'class' => 'setup-issue-next', + ), + pht('To continue, resolve this problem and reload the page.')); + } $name = phutil_tag( 'div', @@ -121,15 +175,29 @@ final class PhabricatorSetupIssueView extends AphrontView { ), $issue->getName()); + $head = phutil_tag( + 'div', + array( + 'class' => 'setup-issue-head', + ), + array($name, $status)); + + $tail = phutil_tag( + 'div', + array( + 'class' => 'setup-issue-tail', + ), + array($actions, $next)); + $issue = phutil_tag( 'div', array( 'class' => 'setup-issue', ), array( - $name, + $head, $description, - $next, + $tail, )); $debug_info = phutil_tag( diff --git a/webroot/rsrc/css/application/config/setup-issue.css b/webroot/rsrc/css/application/config/setup-issue.css index af41de4cfb..f237e3c8b9 100644 --- a/webroot/rsrc/css/application/config/setup-issue.css +++ b/webroot/rsrc/css/application/config/setup-issue.css @@ -87,6 +87,25 @@ background-repeat: repeat-x; } +.setup-issue-tail { + margin-top: 12px; +} + +.setup-issue-status { + padding: 12px; + background: #f3f3f3; + color: #666666; + border-bottom: 1px solid #dfdfdf; + font-style: italic; +} + +.setup-issue-actions { + padding: 12px; + background: #f3f3f3; + border-top: 1px solid #dfdfdf; + overflow: hidden; +} + .setup-issue-next { padding: 12px; border-top: 1px solid #BFCFDA; @@ -94,7 +113,6 @@ text-align: center; font-size: 15px; color: #2980b9; - margin-top: 12px; } .setup-issue-config {