@recaptime-dev's working patches + fork for Phorge, a community fork of Phabricator. (Upstream dev and stable branches are at upstream/main and upstream/stable respectively.) hq.recaptime.dev/wiki/Phorge
phorge phabricator
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

at recaptime-dev/main 83 lines 2.3 kB view raw
1<?php 2 3final class PhabricatorPeopleProfileTasksAssignedController 4 extends PhabricatorPeopleProfileController { 5 6 public function handleRequest(AphrontRequest $request) { 7 $viewer = $this->getViewer(); 8 $id = $request->getURIData('id'); 9 10 $user = id(new PhabricatorPeopleQuery()) 11 ->setViewer($viewer) 12 ->withIDs(array($id)) 13 ->needProfile(true) 14 ->needProfileImage(true) 15 ->needAvailability(true) 16 ->executeOne(); 17 if (!$user) { 18 return new Aphront404Response(); 19 } 20 21 $class = PhabricatorManiphestApplication::class; 22 if (!PhabricatorApplication::isClassInstalledForViewer($class, $viewer)) { 23 return new Aphront404Response(); 24 } 25 26 $this->setUser($user); 27 $title = array(pht('Assigned Tasks'), $user->getUsername()); 28 $header = $this->buildProfileHeader(); 29 $tasks = $this->buildTasksView($user); 30 31 $crumbs = $this->buildApplicationCrumbs(); 32 $crumbs->addTextCrumb(pht('Assigned Tasks')); 33 $crumbs->setBorder(true); 34 35 $nav = $this->newNavigation( 36 $user, 37 PhabricatorPeopleProfileMenuEngine::ITEM_TASKS_ASSIGNED); 38 39 $view = id(new PHUITwoColumnView()) 40 ->setHeader($header) 41 ->addClass('project-view-home') 42 ->addClass('project-view-people-home') 43 ->setFooter(array( 44 $tasks, 45 )); 46 47 return $this->newPage() 48 ->setTitle($title) 49 ->setCrumbs($crumbs) 50 ->setNavigation($nav) 51 ->appendChild($view); 52 } 53 54 private function buildTasksView(PhabricatorUser $user) { 55 $viewer = $this->getViewer(); 56 57 $open = ManiphestTaskStatus::getOpenStatusConstants(); 58 59 $tasks = id(new ManiphestTaskQuery()) 60 ->setViewer($viewer) 61 ->withOwners(array($user->getPHID())) 62 ->withStatuses($open) 63 ->needProjectPHIDs(true) 64 ->setLimit(100) 65 ->setGroupBy(ManiphestTaskQuery::GROUP_PRIORITY) 66 ->execute(); 67 68 $handles = ManiphestTaskListView::loadTaskHandles($viewer, $tasks); 69 70 $list = id(new ManiphestTaskListView()) 71 ->setUser($viewer) 72 ->setHandles($handles) 73 ->setTasks($tasks) 74 ->setNoDataString(pht('No open, assigned tasks.')); 75 76 $view = id(new PHUIObjectBoxView()) 77 ->setHeaderText(pht('Assigned Tasks')) 78 ->setBackground(PHUIObjectBoxView::BLUE_PROPERTY) 79 ->appendChild($list); 80 81 return $view; 82 } 83}