Changeset View
Changeset View
Standalone View
Standalone View
src/applications/diviner/controller/DivinerBookController.php
| <?php | <?php | ||||
| final class DivinerBookController extends DivinerController { | final class DivinerBookController extends DivinerController { | ||||
| public function shouldAllowPublic() { | public function shouldAllowPublic() { | ||||
| return true; | return true; | ||||
| } | } | ||||
| public function handleRequest(AphrontRequest $request) { | public function handleRequest(AphrontRequest $request) { | ||||
| $viewer = $request->getViewer(); | $viewer = $request->getViewer(); | ||||
| $book_name = $request->getURIData('book'); | $book_name = $request->getURIData('book'); | ||||
| $book = id(new DivinerBookQuery()) | $book = id(new DivinerBookQuery()) | ||||
| ->setViewer($viewer) | ->setViewer($viewer) | ||||
| ->withNames(array($book_name)) | ->withNames(array($book_name)) | ||||
| ->needRepositories(true) | |||||
| ->executeOne(); | ->executeOne(); | ||||
| if (!$book) { | if (!$book) { | ||||
| return new Aphront404Response(); | return new Aphront404Response(); | ||||
| } | } | ||||
| $actions = $this->buildActionView($viewer, $book); | $actions = $this->buildActionView($viewer, $book); | ||||
| Show All 13 Lines | public function handleRequest(AphrontRequest $request) { | ||||
| $header = id(new PHUIHeaderView()) | $header = id(new PHUIHeaderView()) | ||||
| ->setHeader($book->getTitle()) | ->setHeader($book->getTitle()) | ||||
| ->setUser($viewer) | ->setUser($viewer) | ||||
| ->setPolicyObject($book) | ->setPolicyObject($book) | ||||
| ->setEpoch($book->getDateModified()) | ->setEpoch($book->getDateModified()) | ||||
| ->addActionLink($action_button); | ->addActionLink($action_button); | ||||
| // TODO: This could probably look better. | |||||
| if ($book->getRepositoryPHID()) { | |||||
| $header->addTag( | |||||
| id(new PHUITagView()) | |||||
| ->setType(PHUITagView::TYPE_STATE) | |||||
| ->setBackgroundColor(PHUITagView::COLOR_BLUE) | |||||
| ->setName($book->getRepository()->getMonogram())); | |||||
joshuaspence: Not sure if this is valuable/necessary... I primarily added it so that I could verify that this… | |||||
| } | |||||
| $document = new PHUIDocumentView(); | $document = new PHUIDocumentView(); | ||||
| $document->setHeader($header); | $document->setHeader($header); | ||||
| $document->addClass('diviner-view'); | $document->addClass('diviner-view'); | ||||
| $document->setFontKit(PHUIDocumentView::FONT_SOURCE_SANS); | $document->setFontKit(PHUIDocumentView::FONT_SOURCE_SANS); | ||||
| $atoms = id(new DivinerAtomQuery()) | $atoms = id(new DivinerAtomQuery()) | ||||
| ->setViewer($viewer) | ->setViewer($viewer) | ||||
| ->withBookPHIDs(array($book->getPHID())) | ->withBookPHIDs(array($book->getPHID())) | ||||
| ▲ Show 20 Lines • Show All 79 Lines • Show Last 20 Lines | |||||
Not sure if this is valuable/necessary... I primarily added it so that I could verify that this was working.