private function buildActionView(NuanceSource $source)
 {
     $viewer = $this->getRequest()->getUser();
     $id = $source->getID();
     $actions = id(new PhabricatorActionListView())->setObjectURI($source->getURI())->setUser($viewer);
     $can_edit = PhabricatorPolicyFilter::hasCapability($viewer, $source, PhabricatorPolicyCapability::CAN_EDIT);
     $actions->addAction(id(new PhabricatorActionView())->setName(pht('Edit Source'))->setIcon('fa-pencil')->setHref($this->getApplicationURI("source/edit/{$id}/"))->setDisabled(!$can_edit)->setWorkflow(!$can_edit));
     return $actions;
 }
 private function buildActionView(NuanceSource $source)
 {
     $viewer = $this->getViewer();
     $id = $source->getID();
     $actions = id(new PhabricatorActionListView())->setUser($viewer);
     $can_edit = PhabricatorPolicyFilter::hasCapability($viewer, $source, PhabricatorPolicyCapability::CAN_EDIT);
     $actions->addAction(id(new PhabricatorActionView())->setName(pht('Edit Source'))->setIcon('fa-pencil')->setHref($this->getApplicationURI("source/edit/{$id}/"))->setDisabled(!$can_edit)->setWorkflow(!$can_edit));
     $request = $this->getRequest();
     $definition = $source->requireDefinition();
     $source_actions = $definition->getSourceViewActions($request);
     foreach ($source_actions as $source_action) {
         $actions->addAction($source_action);
     }
     return $actions;
 }