Path: blob/master/src/applications/badges/controller/PhabricatorBadgesProfileController.php
12262 views
<?php12abstract class PhabricatorBadgesProfileController3extends PhabricatorController {45private $badge;67public function setBadge(PhabricatorBadgesBadge $badge) {8$this->badge = $badge;9return $this;10}1112public function getBadge() {13return $this->badge;14}1516public function buildApplicationMenu() {17return $this->buildSideNavView()->getMenu();18}1920protected function buildHeaderView() {21$viewer = $this->getViewer();22$badge = $this->getBadge();23$id = $badge->getID();2425if ($badge->isArchived()) {26$status_icon = 'fa-ban';27$status_color = 'dark';28} else {29$status_icon = 'fa-check';30$status_color = 'bluegrey';31}32$status_name = idx(33PhabricatorBadgesBadge::getStatusNameMap(),34$badge->getStatus());3536return id(new PHUIHeaderView())37->setHeader($badge->getName())38->setUser($viewer)39->setPolicyObject($badge)40->setStatus($status_icon, $status_color, $status_name)41->setHeaderIcon('fa-trophy');42}4344protected function buildApplicationCrumbs() {45$badge = $this->getBadge();46$id = $badge->getID();47$badge_uri = $this->getApplicationURI("/view/{$id}/");4849$crumbs = parent::buildApplicationCrumbs();50$crumbs->addTextCrumb($badge->getName(), $badge_uri);51$crumbs->setBorder(true);52return $crumbs;53}5455protected function buildSideNavView($filter = null) {56$viewer = $this->getViewer();57$badge = $this->getBadge();58$id = $badge->getID();5960$can_edit = PhabricatorPolicyFilter::hasCapability(61$viewer,62$badge,63PhabricatorPolicyCapability::CAN_EDIT);6465$nav = id(new AphrontSideNavFilterView())66->setBaseURI(new PhutilURI($this->getApplicationURI()));6768$nav->addLabel(pht('Badge'));6970$nav->addFilter(71'view',72pht('View Badge'),73$this->getApplicationURI("/view/{$id}/"),74'fa-trophy');7576$nav->addFilter(77'recipients',78pht('View Recipients'),79$this->getApplicationURI("/recipients/{$id}/"),80'fa-group');8182$nav->selectFilter($filter);8384return $nav;85}8687}888990