Path: blob/master/src/applications/nuance/controller/NuanceQueueViewController.php
12262 views
<?php12final class NuanceQueueViewController3extends NuanceQueueController {45public function handleRequest(AphrontRequest $request) {6$viewer = $this->getViewer();78$queue = id(new NuanceQueueQuery())9->setViewer($viewer)10->withIDs(array($request->getURIData('id')))11->executeOne();12if (!$queue) {13return new Aphront404Response();14}1516$title = $queue->getName();1718$crumbs = $this->buildApplicationCrumbs();19$crumbs->addTextCrumb(pht('Queues'), $this->getApplicationURI('queue/'));20$crumbs->addTextCrumb($queue->getName());21$crumbs->setBorder(true);2223$header = $this->buildHeaderView($queue);24$curtain = $this->buildCurtain($queue);2526$timeline = $this->buildTransactionTimeline(27$queue,28new NuanceQueueTransactionQuery());29$timeline->setShouldTerminate(true);3031$view = id(new PHUITwoColumnView())32->setHeader($header)33->setCurtain($curtain)34->setMainColumn($timeline);3536return $this->newPage()37->setTitle($title)38->setCrumbs($crumbs)39->appendChild($view);40}4142private function buildHeaderView(NuanceQueue $queue) {43$viewer = $this->getViewer();4445$header = id(new PHUIHeaderView())46->setUser($viewer)47->setHeader($queue->getName())48->setPolicyObject($queue);4950return $header;51}5253private function buildCurtain(NuanceQueue $queue) {54$viewer = $this->getViewer();55$id = $queue->getID();5657$can_edit = PhabricatorPolicyFilter::hasCapability(58$viewer,59$queue,60PhabricatorPolicyCapability::CAN_EDIT);6162$curtain = $this->newCurtainView($queue);6364$curtain->addAction(65id(new PhabricatorActionView())66->setName(pht('Edit Queue'))67->setIcon('fa-pencil')68->setHref($this->getApplicationURI("queue/edit/{$id}/"))69->setDisabled(!$can_edit)70->setWorkflow(!$can_edit));7172$curtain->addAction(73id(new PhabricatorActionView())74->setName(pht('Begin Work'))75->setIcon('fa-play-circle-o')76->setHref($this->getApplicationURI("queue/work/{$id}/"))77->setDisabled(!$can_edit)78->setWorkflow(!$can_edit));7980return $curtain;81}8283}848586