diff --git a/src/applications/project/controller/PhabricatorProjectBoardViewController.php b/src/applications/project/controller/PhabricatorProjectBoardViewController.php --- a/src/applications/project/controller/PhabricatorProjectBoardViewController.php +++ b/src/applications/project/controller/PhabricatorProjectBoardViewController.php @@ -67,6 +67,9 @@ // TODO: Expand the checks here if we add the ability // to hide the Backlog column if (!$columns) { + if (!$viewer->isLoggedIn()) { + return $this->noAccessDialog($project); + } switch ($request->getStr('initialize-type')) { case 'backlog-only': $unguarded = AphrontWriteGuard::beginScopedUnguardedWrites(); @@ -713,6 +716,20 @@ ->setDialog($dialog); } + private function noAccessDialog(PhabricatorProject $project) { + + $instructions = pht('This workboard has not been setup yet.'); + + $dialog = id(new AphrontDialogView()) + ->setUser($this->getRequest()->getUser()) + ->setTitle(pht('No Workboard')) + ->addCancelButton($this->getApplicationURI('view/'.$project->getID().'/')) + ->appendParagraph($instructions); + + return id(new AphrontDialogResponse()) + ->setDialog($dialog); + } + /** * Add current state parameters (like order and the visibility of hidden