Something went wrong. Try again.
@recaptime-dev's working patches + fork for Phorge, a community fork of Phabricator. (Upstream dev and stable branches are at upstream/main and upstream/stable respectively.) hq.recaptime.dev/wiki/Phorge
phorge phabricator
Something went wrong. Try again.
2.0 kB · 80 lines
PHP
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081<?php
final class LegalpadDocumentSignatureListController extends LegalpadController {
private $document;
public function handleRequest(AphrontRequest $request) { $viewer = $request->getViewer(); $id = $request->getURIData('id'); $querykey = $request->getURIData('queryKey');
if ($id) { $document = id(new LegalpadDocumentQuery()) ->setViewer($viewer) ->withIDs(array($id)) ->requireCapabilities( array( PhabricatorPolicyCapability::CAN_VIEW, PhabricatorPolicyCapability::CAN_EDIT, )) ->executeOne(); if (!$document) { return new Aphront404Response(); }
$this->document = $document; }
$engine = new LegalpadDocumentSignatureSearchEngine();
if ($this->document) { $engine->setDocument($this->document); }
$controller = id(new PhabricatorApplicationSearchController()) ->setQueryKey($querykey) ->setSearchEngine($engine) ->setNavigation($this->buildSideNav());
return $this->delegateToController($controller); }
public function buildSideNav($for_app = false) { $viewer = $this->getViewer();
$nav = new AphrontSideNavFilterView(); $nav->setBaseURI(new PhutilURI($this->getApplicationURI()));
$engine = id(new LegalpadDocumentSignatureSearchEngine()) ->setViewer($viewer);
if ($this->document) { $engine->setDocument($this->document); }
$engine->addNavigationItems($nav->getMenu());
return $nav; }
protected function buildApplicationCrumbs() { $crumbs = parent::buildApplicationCrumbs();
if ($this->document) { $crumbs->addTextCrumb( $this->document->getMonogram(), '/'.$this->document->getMonogram()); $crumbs->addTextCrumb( pht('Manage'), $this->getApplicationURI('view/'.$this->document->getID().'/')); } else { $crumbs->addTextCrumb( pht('Signatures'), '/legalpad/signatures/'); }
return $crumbs; }
}