private function buildCurtain(PhabricatorRepositoryURI $uri)
 {
     $viewer = $this->getViewer();
     $repository = $uri->getRepository();
     $id = $uri->getID();
     $can_edit = PhabricatorPolicyFilter::hasCapability($viewer, $uri, PhabricatorPolicyCapability::CAN_EDIT);
     $curtain = $this->newCurtainView($uri);
     $edit_uri = $uri->getEditURI();
     $curtain->addAction(id(new PhabricatorActionView())->setIcon('fa-pencil')->setName(pht('Edit URI'))->setHref($edit_uri)->setWorkflow(!$can_edit)->setDisabled(!$can_edit));
     $credential_uri = $repository->getPathURI("uri/credential/{$id}/edit/");
     $remove_uri = $repository->getPathURI("uri/credential/{$id}/remove/");
     $has_credential = (bool) $uri->getCredentialPHID();
     if ($uri->isBuiltin()) {
         $can_credential = false;
     } else {
         if (!$uri->newCommandEngine()->isCredentialSupported()) {
             $can_credential = false;
         } else {
             $can_credential = true;
         }
     }
     $can_update = $can_edit && $can_credential;
     $can_remove = $can_edit && $has_credential;
     if ($has_credential) {
         $credential_name = pht('Update Credential');
     } else {
         $credential_name = pht('Set Credential');
     }
     $curtain->addAction(id(new PhabricatorActionView())->setIcon('fa-key')->setName($credential_name)->setHref($credential_uri)->setWorkflow(true)->setDisabled(!$can_edit));
     $curtain->addAction(id(new PhabricatorActionView())->setIcon('fa-times')->setName(pht('Remove Credential'))->setHref($remove_uri)->setWorkflow(true)->setDisabled(!$can_remove));
     if ($uri->getIsDisabled()) {
         $disable_name = pht('Enable URI');
         $disable_icon = 'fa-check';
     } else {
         $disable_name = pht('Disable URI');
         $disable_icon = 'fa-ban';
     }
     $can_disable = $can_edit && !$uri->isBuiltin();
     $disable_uri = $repository->getPathURI("uri/disable/{$id}/");
     $curtain->addAction(id(new PhabricatorActionView())->setIcon($disable_icon)->setName($disable_name)->setHref($disable_uri)->setWorkflow(true)->setDisabled(!$can_disable));
     return $curtain;
 }