[ Index ] |
PHP Cross Reference of Phabricator |
[Summary view] [Print] [Text view]
1 <?php 2 3 final class LegalpadDocumentSignatureListController extends LegalpadController { 4 5 private $documentID; 6 private $queryKey; 7 private $document; 8 9 public function willProcessRequest(array $data) { 10 $this->documentID = idx($data, 'id'); 11 $this->queryKey = idx($data, 'queryKey'); 12 } 13 14 public function processRequest() { 15 $request = $this->getRequest(); 16 $user = $request->getUser(); 17 18 if ($this->documentID) { 19 $document = id(new LegalpadDocumentQuery()) 20 ->setViewer($user) 21 ->withIDs(array($this->documentID)) 22 ->requireCapabilities( 23 array( 24 PhabricatorPolicyCapability::CAN_VIEW, 25 PhabricatorPolicyCapability::CAN_EDIT, 26 )) 27 ->executeOne(); 28 if (!$document) { 29 return new Aphront404Response(); 30 } 31 32 $this->document = $document; 33 } 34 35 $engine = id(new LegalpadDocumentSignatureSearchEngine()); 36 37 if ($this->document) { 38 $engine->setDocument($this->document); 39 } 40 41 $controller = id(new PhabricatorApplicationSearchController()) 42 ->setQueryKey($this->queryKey) 43 ->setSearchEngine($engine) 44 ->setNavigation($this->buildSideNav()); 45 46 return $this->delegateToController($controller); 47 } 48 49 public function buildSideNav($for_app = false) { 50 $user = $this->getRequest()->getUser(); 51 52 $nav = new AphrontSideNavFilterView(); 53 $nav->setBaseURI(new PhutilURI($this->getApplicationURI())); 54 55 $engine = id(new LegalpadDocumentSignatureSearchEngine()) 56 ->setViewer($user); 57 58 if ($this->document) { 59 $engine->setDocument($this->document); 60 } 61 62 $engine->addNavigationItems($nav->getMenu()); 63 64 return $nav; 65 } 66 67 public function buildApplicationCrumbs() { 68 $crumbs = parent::buildApplicationCrumbs(); 69 70 if ($this->document) { 71 $crumbs->addTextCrumb( 72 $this->document->getMonogram(), 73 '/'.$this->document->getMonogram()); 74 $crumbs->addTextCrumb( 75 pht('Manage'), 76 $this->getApplicationURI('view/'.$this->document->getID().'/')); 77 } else { 78 $crumbs->addTextCrumb( 79 pht('Signatures'), 80 '/legalpad/signatures/'); 81 } 82 83 return $crumbs; 84 } 85 86 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Sun Nov 30 09:20:46 2014 | Cross-referenced by PHPXref 0.7.1 |