3 final class HarbormasterBuildLogViewController
4 extends HarbormasterController
{
6 public function shouldAllowPublic() {
10 public function handleRequest(AphrontRequest
$request) {
11 $viewer = $this->getViewer();
13 $id = $request->getURIData('id');
15 $log = id(new HarbormasterBuildLogQuery())
20 return new Aphront404Response();
23 $target = $log->getBuildTarget();
24 $build = $target->getBuild();
26 $page_title = pht('Build Log %d', $log->getID());
28 $log_view = id(new HarbormasterBuildLogView())
31 ->setHighlightedLineRange($request->getURIData('lines'))
32 ->setEnableHighlighter(true);
34 $crumbs = $this->buildApplicationCrumbs()
35 ->addTextCrumb(pht('Build Logs'))
37 pht('Build %d', $build->getID()),
39 ->addTextCrumb($page_title)
42 $page_header = id(new PHUIHeaderView())
43 ->setHeader($page_title);
45 $page_view = id(new PHUITwoColumnView())
46 ->setHeader($page_header)
47 ->setFooter($log_view);
49 return $this->newPage()
50 ->setTitle($page_title)
52 ->appendChild($page_view);