private function renderSideNav(PhabricatorRepository $repository, array $panels, $selected) { $base_uri = $repository->getPathURI('manage/'); $base_uri = new PhutilURI($base_uri); $nav = id(new AphrontSideNavFilterView())->setBaseURI($base_uri); foreach ($panels as $panel) { $key = $panel->getManagementPanelKey(); $label = $panel->getManagementPanelLabel(); $icon = $panel->getManagementPanelIcon(); $href = $panel->getPanelNavigationURI(); $item = id(new PHUIListItemView())->setKey($key)->setName($label)->setType(PHUIListItemView::TYPE_LINK)->setHref($href)->setIcon($icon); $nav->addMenuItem($item); } $nav->selectFilter($selected); return $nav; }
private function buildCurtain(PhabricatorRepository $repository) { $viewer = $this->getViewer(); $edit_uri = $repository->getPathURI('manage/'); $curtain = $this->newCurtainView($repository); $curtain->addAction(id(new PhabricatorActionView())->setName(pht('Manage Repository'))->setIcon('fa-cogs')->setHref($edit_uri)); if ($repository->isHosted()) { $push_uri = $this->getApplicationURI('pushlog/?repositories=' . $repository->getMonogram()); $curtain->addAction(id(new PhabricatorActionView())->setName(pht('View Push Logs'))->setIcon('fa-list-alt')->setHref($push_uri)); } return $curtain; }
protected function getRepositoryControllerURI(PhabricatorRepository $repository, $path) { return $repository->getPathURI($path); }
private function buildActionList(PhabricatorRepository $repository) { $viewer = $this->getRequest()->getUser(); $edit_uri = $repository->getPathURI('edit/'); $view = id(new PhabricatorActionListView())->setUser($viewer)->setObject($repository); $can_edit = PhabricatorPolicyFilter::hasCapability($viewer, $repository, PhabricatorPolicyCapability::CAN_EDIT); $view->addAction(id(new PhabricatorActionView())->setName(pht('Edit Repository'))->setIcon('fa-pencil')->setHref($edit_uri)->setWorkflow(!$can_edit)->setDisabled(!$can_edit)); if ($repository->isHosted()) { $push_uri = $this->getApplicationURI('pushlog/?repositories=' . $repository->getMonogram()); $view->addAction(id(new PhabricatorActionView())->setName(pht('View Push Logs'))->setIcon('fa-list-alt')->setHref($push_uri)); } return $view; }
private function renderHeadsupActionList(PhabricatorRepositoryCommit $commit, PhabricatorRepository $repository) { $request = $this->getRequest(); $user = $request->getUser(); $actions = id(new PhabricatorActionListView())->setUser($user)->setObject($commit); $can_edit = PhabricatorPolicyFilter::hasCapability($user, $commit, PhabricatorPolicyCapability::CAN_EDIT); $identifier = $commit->getCommitIdentifier(); $uri = $repository->getPathURI("commit/{$identifier}/edit/"); $action = id(new PhabricatorActionView())->setName(pht('Edit Commit'))->setHref($uri)->setIcon('fa-pencil')->setDisabled(!$can_edit)->setWorkflow(!$can_edit); $actions->addAction($action); require_celerity_resource('phabricator-object-selector-css'); require_celerity_resource('javelin-behavior-phabricator-object-selector'); $maniphest = 'PhabricatorManiphestApplication'; if (PhabricatorApplication::isClassInstalled($maniphest)) { $action = id(new PhabricatorActionView())->setName(pht('Edit Maniphest Tasks'))->setIcon('fa-anchor')->setHref('/search/attach/' . $commit->getPHID() . '/TASK/edge/')->setWorkflow(true)->setDisabled(!$can_edit); $actions->addAction($action); } $action = id(new PhabricatorActionView())->setName(pht('Download Raw Diff'))->setHref($request->getRequestURI()->alter('diff', true))->setIcon('fa-download'); $actions->addAction($action); return $actions; }
private function buildCurtain(PhabricatorRepositoryCommit $commit, PhabricatorRepository $repository) { $request = $this->getRequest(); $viewer = $this->getViewer(); $curtain = $this->newCurtainView($commit); $can_edit = PhabricatorPolicyFilter::hasCapability($viewer, $commit, PhabricatorPolicyCapability::CAN_EDIT); $identifier = $commit->getCommitIdentifier(); $uri = $repository->getPathURI("commit/{$identifier}/edit/"); $action = id(new PhabricatorActionView())->setName(pht('Edit Commit'))->setHref($uri)->setIcon('fa-pencil')->setDisabled(!$can_edit)->setWorkflow(!$can_edit); $curtain->addAction($action); $action = id(new PhabricatorActionView())->setName(pht('Download Raw Diff'))->setHref($request->getRequestURI()->alter('diff', true))->setIcon('fa-download'); $curtain->addAction($action); $relationship_list = PhabricatorObjectRelationshipList::newForObject($viewer, $commit); $relationship_submenu = $relationship_list->newActionMenu(); if ($relationship_submenu) { $curtain->addAction($relationship_submenu); } return $curtain; }