Changeset View
Changeset View
Standalone View
Standalone View
src/applications/nuance/controller/NuanceQueueWorkController.php
Show First 20 Lines • Show All 48 Lines • ▼ Show 20 Lines | if (!$items) { | ||||
pht( | pht( | ||||
'This queue has no open items which you have permission to '. | 'This queue has no open items which you have permission to '. | ||||
'work on.')) | 'work on.')) | ||||
->addCancelButton($queue->getURI()); | ->addCancelButton($queue->getURI()); | ||||
} | } | ||||
$item = head($items); | $item = head($items); | ||||
$curtain = $this->buildCurtain($queue); | $curtain = $this->buildCurtain($queue, $item); | ||||
$timeline = $this->buildTransactionTimeline( | $timeline = $this->buildTransactionTimeline( | ||||
$item, | $item, | ||||
new NuanceItemTransactionQuery()); | new NuanceItemTransactionQuery()); | ||||
$timeline->setShouldTerminate(true); | $timeline->setShouldTerminate(true); | ||||
$impl = $item->getImplementation() | |||||
->setViewer($viewer); | |||||
$work_content = $impl->buildItemWorkView($item); | |||||
$view = id(new PHUITwoColumnView()) | $view = id(new PHUITwoColumnView()) | ||||
->setCurtain($curtain) | ->setCurtain($curtain) | ||||
->setMainColumn($timeline); | ->setMainColumn( | ||||
array( | |||||
$work_content, | |||||
$timeline, | |||||
)); | |||||
return $this->newPage() | return $this->newPage() | ||||
->setTitle($title) | ->setTitle($title) | ||||
->setCrumbs($crumbs) | ->setCrumbs($crumbs) | ||||
->appendChild($view); | ->appendChild($view); | ||||
} | } | ||||
private function buildCurtain(NuanceQueue $queue) { | private function buildCurtain(NuanceQueue $queue, NuanceItem $item) { | ||||
$viewer = $this->getViewer(); | $viewer = $this->getViewer(); | ||||
$id = $queue->getID(); | $id = $queue->getID(); | ||||
$curtain = $this->newCurtainView(); | $curtain = $this->newCurtainView(); | ||||
$impl = $item->getImplementation(); | |||||
$commands = $impl->buildWorkCommands($item); | |||||
foreach ($commands as $command) { | |||||
$command_key = $command->getCommandKey(); | |||||
$item_id = $item->getID(); | |||||
$curtain->addAction( | |||||
id(new PhabricatorActionView()) | |||||
->setName($command->getName()) | |||||
->setIcon($command->getIcon()) | |||||
->setHref("queue/command/{$id}/{$command_key}/{$item_id}/")) | |||||
->setWorkflow(true); | |||||
} | |||||
$curtain->addAction( | $curtain->addAction( | ||||
id(new PhabricatorActionView()) | id(new PhabricatorActionView()) | ||||
->setType(PhabricatorActionView::TYPE_DIVIDER)); | ->setType(PhabricatorActionView::TYPE_DIVIDER)); | ||||
$curtain->addAction( | $curtain->addAction( | ||||
id(new PhabricatorActionView()) | id(new PhabricatorActionView()) | ||||
->setType(PhabricatorActionView::TYPE_LABEL) | ->setType(PhabricatorActionView::TYPE_LABEL) | ||||
->setName(pht('Queue Actions'))); | ->setName(pht('Queue Actions'))); | ||||
Show All 11 Lines |