diff --git a/src/applications/directory/controller/main/PhabricatorDirectoryMainController.php b/src/applications/directory/controller/main/PhabricatorDirectoryMainController.php index 33e86bb19e..34e0f18473 100644 --- a/src/applications/directory/controller/main/PhabricatorDirectoryMainController.php +++ b/src/applications/directory/controller/main/PhabricatorDirectoryMainController.php @@ -142,22 +142,29 @@ final class PhabricatorDirectoryMainController $subnav->addFilter('all', 'All Activity', '/feed/'); $subnav->addFilter('projects', 'My Projects'); + $nav->appendChild($subnav); + $filter = $subnav->selectFilter($this->subfilter, 'all'); switch ($filter) { case 'all': - $phids = array(); + $view = $this->buildFeedView(array()); break; case 'projects': - $phids = mpull($projects, 'getPHID'); + if ($projects) { + $phids = mpull($projects, 'getPHID'); + $view = $this->buildFeedView($phids); + } else { + $view = new AphrontErrorView(); + $view->setSeverity(AphrontErrorView::SEVERITY_NODATA); + $view->setTitle('No Projects'); + $view->appendChild('You have not joined any projects.'); + } break; } - $view = $this->buildFeedView($phids); $subnav->appendChild($view); - $nav->appendChild($subnav); - return $this->buildStandardPageResponse( $nav, array( diff --git a/src/applications/directory/controller/main/__init__.php b/src/applications/directory/controller/main/__init__.php index 010aa5ebe7..246b4cec46 100644 --- a/src/applications/directory/controller/main/__init__.php +++ b/src/applications/directory/controller/main/__init__.php @@ -30,6 +30,7 @@ phutil_require_module('phabricator', 'infrastructure/celerity/api'); phutil_require_module('phabricator', 'infrastructure/env'); phutil_require_module('phabricator', 'infrastructure/javelin/api'); phutil_require_module('phabricator', 'infrastructure/javelin/markup'); +phutil_require_module('phabricator', 'view/form/error'); phutil_require_module('phabricator', 'view/layout/minipanel'); phutil_require_module('phabricator', 'view/layout/panel'); phutil_require_module('phabricator', 'view/layout/sidenavfilter');