Changeset View
Changeset View
Standalone View
Standalone View
src/applications/nuance/controller/NuanceQueueViewController.php
Show All 13 Lines | if (!$queue) { | ||||
return new Aphront404Response(); | return new Aphront404Response(); | ||||
} | } | ||||
$title = $queue->getName(); | $title = $queue->getName(); | ||||
$crumbs = $this->buildApplicationCrumbs(); | $crumbs = $this->buildApplicationCrumbs(); | ||||
$crumbs->addTextCrumb(pht('Queues'), $this->getApplicationURI('queue/')); | $crumbs->addTextCrumb(pht('Queues'), $this->getApplicationURI('queue/')); | ||||
$crumbs->addTextCrumb($queue->getName()); | $crumbs->addTextCrumb($queue->getName()); | ||||
$crumbs->setBorder(true); | |||||
$header = $this->buildHeaderView($queue); | $header = $this->buildHeaderView($queue); | ||||
$actions = $this->buildActionView($queue); | $curtain = $this->buildCurtain($queue); | ||||
$properties = $this->buildPropertyView($queue, $actions); | |||||
$box = id(new PHUIObjectBoxView()) | |||||
->setHeader($header) | |||||
->addPropertyList($properties); | |||||
$timeline = $this->buildTransactionTimeline( | $timeline = $this->buildTransactionTimeline( | ||||
$queue, | $queue, | ||||
new NuanceQueueTransactionQuery()); | new NuanceQueueTransactionQuery()); | ||||
$timeline->setShouldTerminate(true); | $timeline->setShouldTerminate(true); | ||||
return $this->buildApplicationPage( | $view = id(new PHUITwoColumnView()) | ||||
array( | ->setHeader($header) | ||||
$crumbs, | ->setCurtain($curtain) | ||||
$box, | ->setMainColumn($timeline); | ||||
$timeline, | |||||
), | return $this->newPage() | ||||
array( | ->setTitle($title) | ||||
'title' => $title, | ->setCrumbs($crumbs) | ||||
)); | ->appendChild($view); | ||||
} | } | ||||
private function buildHeaderView(NuanceQueue $queue) { | private function buildHeaderView(NuanceQueue $queue) { | ||||
$viewer = $this->getViewer(); | $viewer = $this->getViewer(); | ||||
$header = id(new PHUIHeaderView()) | $header = id(new PHUIHeaderView()) | ||||
->setUser($viewer) | ->setUser($viewer) | ||||
->setHeader($queue->getName()) | ->setHeader($queue->getName()) | ||||
->setPolicyObject($queue); | ->setPolicyObject($queue); | ||||
return $header; | return $header; | ||||
} | } | ||||
private function buildActionView(NuanceQueue $queue) { | private function buildCurtain(NuanceQueue $queue) { | ||||
$viewer = $this->getViewer(); | $viewer = $this->getViewer(); | ||||
$id = $queue->getID(); | $id = $queue->getID(); | ||||
$actions = id(new PhabricatorActionListView()) | |||||
->setUser($viewer); | |||||
$can_edit = PhabricatorPolicyFilter::hasCapability( | $can_edit = PhabricatorPolicyFilter::hasCapability( | ||||
$viewer, | $viewer, | ||||
$queue, | $queue, | ||||
PhabricatorPolicyCapability::CAN_EDIT); | PhabricatorPolicyCapability::CAN_EDIT); | ||||
$actions->addAction( | $curtain = $this->newCurtainView($queue); | ||||
$curtain->addAction( | |||||
id(new PhabricatorActionView()) | id(new PhabricatorActionView()) | ||||
->setName(pht('Edit Queue')) | ->setName(pht('Edit Queue')) | ||||
->setIcon('fa-pencil') | ->setIcon('fa-pencil') | ||||
->setHref($this->getApplicationURI("queue/edit/{$id}/")) | ->setHref($this->getApplicationURI("queue/edit/{$id}/")) | ||||
->setDisabled(!$can_edit) | ->setDisabled(!$can_edit) | ||||
->setWorkflow(!$can_edit)); | ->setWorkflow(!$can_edit)); | ||||
return $actions; | return $curtain; | ||||
} | } | ||||
private function buildPropertyView( | |||||
NuanceQueue $queue, | |||||
PhabricatorActionListView $actions) { | |||||
$viewer = $this->getViewer(); | |||||
$properties = id(new PHUIPropertyListView()) | |||||
->setUser($viewer) | |||||
->setObject($queue) | |||||
->setActionList($actions); | |||||
return $properties; | |||||
} | |||||
} | } |