protected function execute(ConduitAPIRequest $conduit_request)
 {
     $revision_phids = $conduit_request->getValue('revisionPHIDs');
     $requested_commit_phids = $conduit_request->getValue('requestedCommitPHIDs');
     $result = array();
     if (!$revision_phids && !$requested_commit_phids) {
         return $result;
     }
     $query = new ReleephRequestQuery();
     $query->setViewer($conduit_request->getUser());
     if ($revision_phids) {
         $query->withRequestedObjectPHIDs($revision_phids);
     } else {
         if ($requested_commit_phids) {
             $query->withRequestedCommitPHIDs($requested_commit_phids);
         }
     }
     $releeph_requests = $query->execute();
     foreach ($releeph_requests as $releeph_request) {
         $branch = $releeph_request->getBranch();
         $request_commit_phid = $releeph_request->getRequestCommitPHID();
         $object = $releeph_request->getRequestedObject();
         if ($object instanceof DifferentialRevision) {
             $object_phid = $object->getPHID();
         } else {
             $object_phid = null;
         }
         $status = $releeph_request->getStatus();
         $status_name = ReleephRequestStatus::getStatusDescriptionFor($status);
         $url = PhabricatorEnv::getProductionURI('/RQ' . $releeph_request->getID());
         $result[] = array('branchBasename' => $branch->getBasename(), 'branchSymbolic' => $branch->getSymbolicName(), 'requestID' => $releeph_request->getID(), 'revisionPHID' => $object_phid, 'status' => $status, 'status_name' => $status_name, 'url' => $url);
     }
     return $result;
 }
 private function buildHeader(ReleephRequest $pull)
 {
     $header_text = $pull->getSummaryForDisplay();
     if ($this->getIsListView()) {
         $header_text = phutil_tag('a', array('href' => '/' . $pull->getMonogram()), $header_text);
     }
     $header = id(new PHUIHeaderView())->setHeader($header_text)->setUser($this->getUser())->setPolicyObject($pull);
     switch ($pull->getStatus()) {
         case ReleephRequestStatus::STATUS_REQUESTED:
             $icon = 'open';
             $color = null;
             break;
         case ReleephRequestStatus::STATUS_REJECTED:
             $icon = 'reject';
             $color = 'red';
             break;
         case ReleephRequestStatus::STATUS_PICKED:
             $icon = 'accept';
             $color = 'green';
             break;
         case ReleephRequestStatus::STATUS_REVERTED:
         case ReleephRequestStatus::STATUS_ABANDONED:
             $icon = 'reject';
             $color = 'dark';
             break;
         case ReleephRequestStatus::STATUS_NEEDS_PICK:
             $icon = 'warning';
             $color = 'green';
             break;
         case ReleephRequestStatus::STATUS_NEEDS_REVERT:
             $icon = 'warning';
             $color = 'red';
             break;
         default:
             $icon = 'question';
             $color = null;
             break;
     }
     $text = ReleephRequestStatus::getStatusDescriptionFor($pull->getStatus());
     $header->setStatus($icon, $color, $text);
     if ($this->getIsListView()) {
         $header->setObjectName($pull->getMonogram());
     }
     return $header;
 }