private function buildActionView(PhabricatorPhurlURL $url)
 {
     $viewer = $this->getViewer();
     $id = $url->getID();
     $actions = id(new PhabricatorActionListView())->setObjectURI($url->getURI())->setUser($viewer)->setObject($url);
     $can_edit = PhabricatorPolicyFilter::hasCapability($viewer, $url, PhabricatorPolicyCapability::CAN_EDIT);
     $actions->addAction(id(new PhabricatorActionView())->setName(pht('Edit'))->setIcon('fa-pencil')->setHref($this->getApplicationURI("url/edit/{$id}/"))->setDisabled(!$can_edit)->setWorkflow(!$can_edit))->addAction(id(new PhabricatorActionView())->setName(pht('Visit URL'))->setIcon('fa-external-link')->setHref("u/{$id}")->setDisabled(!$url->isValid()));
     return $actions;
 }
 private function buildCurtain(PhabricatorPhurlURL $url)
 {
     $viewer = $this->getViewer();
     $id = $url->getID();
     $curtain = $this->newCurtainView($url);
     $can_edit = PhabricatorPolicyFilter::hasCapability($viewer, $url, PhabricatorPolicyCapability::CAN_EDIT);
     $curtain->addAction(id(new PhabricatorActionView())->setName(pht('Edit Phurl'))->setIcon('fa-pencil')->setHref($this->getApplicationURI("url/edit/{$id}/"))->setDisabled(!$can_edit)->setWorkflow(!$can_edit));
     return $curtain;
 }