Path: blob/master/src/applications/dashboard/menuitem/PhabricatorDashboardPortalMenuItem.php
13473 views
<?php12final class PhabricatorDashboardPortalMenuItem3extends PhabricatorProfileMenuItem {45const MENUITEMKEY = 'portal';67public function getMenuItemTypeIcon() {8return 'fa-pencil';9}1011public function getDefaultName() {12return pht('Manage Portal');13}1415public function getMenuItemTypeName() {16return pht('Manage Portal');17}1819public function canHideMenuItem(20PhabricatorProfileMenuItemConfiguration $config) {21return false;22}2324public function canMakeDefault(25PhabricatorProfileMenuItemConfiguration $config) {26return false;27}2829public function getDisplayName(30PhabricatorProfileMenuItemConfiguration $config) {31$name = $config->getMenuItemProperty('name');3233if (strlen($name)) {34return $name;35}3637return $this->getDefaultName();38}3940public function buildEditEngineFields(41PhabricatorProfileMenuItemConfiguration $config) {42return array(43id(new PhabricatorTextEditField())44->setKey('name')45->setLabel(pht('Name'))46->setPlaceholder($this->getDefaultName())47->setValue($config->getMenuItemProperty('name')),48);49}5051protected function newMenuItemViewList(52PhabricatorProfileMenuItemConfiguration $config) {53$viewer = $this->getViewer();5455if (!$viewer->isLoggedIn()) {56return array();57}5859$uri = $this->getItemViewURI($config);60$name = $this->getDisplayName($config);61$icon = 'fa-pencil';6263$item = $this->newItemView()64->setURI($uri)65->setName($name)66->setIcon($icon);6768return array(69$item,70);71}7273public function newPageContent(74PhabricatorProfileMenuItemConfiguration $config) {75$viewer = $this->getViewer();76$engine = $this->getEngine();77$portal = $engine->getProfileObject();78$controller = $engine->getController();7980$header = id(new PHUIHeaderView())81->setHeader(pht('Manage Portal'));8283$edit_uri = urisprintf(84'/portal/edit/%d/',85$portal->getID());8687$can_edit = PhabricatorPolicyFilter::hasCapability(88$viewer,89$portal,90PhabricatorPolicyCapability::CAN_EDIT);9192$curtain = $controller->newCurtainView($portal)93->addAction(94id(new PhabricatorActionView())95->setName(pht('Edit Portal'))96->setIcon('fa-pencil')97->setDisabled(!$can_edit)98->setWorkflow(!$can_edit)99->setHref($edit_uri));100101$timeline = $controller->newTimelineView()102->setShouldTerminate(true);103104$view = id(new PHUITwoColumnView())105->setHeader($header)106->setCurtain($curtain)107->setMainColumn(108array(109$timeline,110));111112return $view;113}114115116}117118119