Path: blob/master/src/applications/badges/controller/PhabricatorBadgesRecipientsController.php
12262 views
<?php12final class PhabricatorBadgesRecipientsController3extends PhabricatorBadgesProfileController {45public function shouldAllowPublic() {6return true;7}89public function handleRequest(AphrontRequest $request) {10$viewer = $request->getViewer();11$id = $request->getURIData('id');1213$badge = id(new PhabricatorBadgesQuery())14->setViewer($viewer)15->withIDs(array($id))16->executeOne();17if (!$badge) {18return new Aphront404Response();19}20$this->setBadge($badge);2122$awards = id(new PhabricatorBadgesAwardQuery())23->setViewer($viewer)24->withBadgePHIDs(array($badge->getPHID()))25->execute();2627$recipient_phids = mpull($awards, 'getRecipientPHID');28$recipient_phids = array_reverse($recipient_phids);29$handles = $this->loadViewerHandles($recipient_phids);3031$crumbs = $this->buildApplicationCrumbs();32$crumbs->addTextCrumb(pht('Recipients'));33$crumbs->setBorder(true);34$title = $badge->getName();3536$header = $this->buildHeaderView();3738$recipient_list = id(new PhabricatorBadgesRecipientsListView())39->setBadge($badge)40->setAwards($awards)41->setHandles($handles)42->setUser($viewer);4344$view = id(new PHUITwoColumnView())45->setHeader($header)46->setFooter(array(47$recipient_list,48));4950$navigation = $this->buildSideNavView('recipients');5152return $this->newPage()53->setTitle($title)54->setCrumbs($crumbs)55->setPageObjectPHIDs(array($badge->getPHID()))56->setNavigation($navigation)57->appendChild($view);58}5960}616263