Path: blob/master/src/applications/legalpad/controller/LegalpadDocumentSignatureListController.php
13452 views
<?php12final class LegalpadDocumentSignatureListController extends LegalpadController {34private $document;56public function handleRequest(AphrontRequest $request) {7$viewer = $request->getViewer();8$id = $request->getURIData('id');9$querykey = $request->getURIData('queryKey');1011if ($id) {12$document = id(new LegalpadDocumentQuery())13->setViewer($viewer)14->withIDs(array($id))15->requireCapabilities(16array(17PhabricatorPolicyCapability::CAN_VIEW,18PhabricatorPolicyCapability::CAN_EDIT,19))20->executeOne();21if (!$document) {22return new Aphront404Response();23}2425$this->document = $document;26}2728$engine = id(new LegalpadDocumentSignatureSearchEngine());2930if ($this->document) {31$engine->setDocument($this->document);32}3334$controller = id(new PhabricatorApplicationSearchController())35->setQueryKey($querykey)36->setSearchEngine($engine)37->setNavigation($this->buildSideNav());3839return $this->delegateToController($controller);40}4142public function buildSideNav($for_app = false) {43$viewer = $this->getViewer();4445$nav = new AphrontSideNavFilterView();46$nav->setBaseURI(new PhutilURI($this->getApplicationURI()));4748$engine = id(new LegalpadDocumentSignatureSearchEngine())49->setViewer($viewer);5051if ($this->document) {52$engine->setDocument($this->document);53}5455$engine->addNavigationItems($nav->getMenu());5657return $nav;58}5960protected function buildApplicationCrumbs() {61$crumbs = parent::buildApplicationCrumbs();6263if ($this->document) {64$crumbs->addTextCrumb(65$this->document->getMonogram(),66'/'.$this->document->getMonogram());67$crumbs->addTextCrumb(68pht('Manage'),69$this->getApplicationURI('view/'.$this->document->getID().'/'));70} else {71$crumbs->addTextCrumb(72pht('Signatures'),73'/legalpad/signatures/');74}7576return $crumbs;77}7879}808182