Path: blob/master/src/applications/people/controller/PhabricatorPeopleProfileTasksController.php
12256 views
<?php12final class PhabricatorPeopleProfileTasksController3extends PhabricatorPeopleProfileController {45public function handleRequest(AphrontRequest $request) {6$viewer = $this->getViewer();7$id = $request->getURIData('id');89$user = id(new PhabricatorPeopleQuery())10->setViewer($viewer)11->withIDs(array($id))12->needProfile(true)13->needProfileImage(true)14->needAvailability(true)15->executeOne();16if (!$user) {17return new Aphront404Response();18}1920$class = 'PhabricatorManiphestApplication';21if (!PhabricatorApplication::isClassInstalledForViewer($class, $viewer)) {22return new Aphront404Response();23}2425$this->setUser($user);26$title = array(pht('Assigned Tasks'), $user->getUsername());27$header = $this->buildProfileHeader();28$tasks = $this->buildTasksView($user);2930$crumbs = $this->buildApplicationCrumbs();31$crumbs->addTextCrumb(pht('Assigned Tasks'));32$crumbs->setBorder(true);3334$nav = $this->newNavigation(35$user,36PhabricatorPeopleProfileMenuEngine::ITEM_TASKS);3738$view = id(new PHUITwoColumnView())39->setHeader($header)40->addClass('project-view-home')41->addClass('project-view-people-home')42->setFooter(array(43$tasks,44));4546return $this->newPage()47->setTitle($title)48->setCrumbs($crumbs)49->setNavigation($nav)50->appendChild($view);51}5253private function buildTasksView(PhabricatorUser $user) {54$viewer = $this->getViewer();5556$open = ManiphestTaskStatus::getOpenStatusConstants();5758$tasks = id(new ManiphestTaskQuery())59->setViewer($viewer)60->withOwners(array($user->getPHID()))61->withStatuses($open)62->needProjectPHIDs(true)63->setLimit(100)64->setGroupBy(ManiphestTaskQuery::GROUP_PRIORITY)65->execute();6667$handles = ManiphestTaskListView::loadTaskHandles($viewer, $tasks);6869$list = id(new ManiphestTaskListView())70->setUser($viewer)71->setHandles($handles)72->setTasks($tasks)73->setNoDataString(pht('No open, assigned tasks.'));7475$view = id(new PHUIObjectBoxView())76->setHeaderText(pht('Assigned Tasks'))77->setBackground(PHUIObjectBoxView::BLUE_PROPERTY)78->appendChild($list);7980return $view;81}82}838485