protected function willFilterPage(array $requests)
 {
     // Load requested objects: you must be able to see an object to see
     // requests for it.
     $object_phids = mpull($requests, 'getRequestedObjectPHID');
     $objects = id(new PhabricatorObjectQuery())->setViewer($this->getViewer())->setParentQuery($this)->withPHIDs($object_phids)->execute();
     foreach ($requests as $key => $request) {
         $object_phid = $request->getRequestedObjectPHID();
         $object = idx($objects, $object_phid);
         if (!$object) {
             unset($requests[$key]);
             continue;
         }
         $request->attachRequestedObject($object);
     }
     if ($this->severities) {
         $severities = array_fuse($this->severities);
         foreach ($requests as $key => $request) {
             // NOTE: Facebook uses a custom field here.
             if (ReleephDefaultFieldSelector::isFacebook()) {
                 $severity = $request->getDetail('severity');
             } else {
                 $severity = $request->getDetail('releeph:severity');
             }
             if (empty($severities[$severity])) {
                 unset($requests[$key]);
             }
         }
     }
     $branch_ids = array_unique(mpull($requests, 'getBranchID'));
     $branches = id(new ReleephBranchQuery())->withIDs($branch_ids)->setViewer($this->getViewer())->execute();
     $branches = mpull($branches, null, 'getID');
     foreach ($requests as $key => $request) {
         $branch = idx($branches, $request->getBranchID());
         if (!$branch) {
             unset($requests[$key]);
             continue;
         }
         $request->attachBranch($branch);
     }
     // TODO: These should be serviced by the query, but are not currently
     // denormalized anywhere. For now, filter them here instead. Note that
     // we must perform this filtering *after* querying and attaching branches,
     // because request status depends on the product.
     $keep_status = array_fuse($this->getKeepStatusConstants());
     if ($keep_status) {
         foreach ($requests as $key => $request) {
             if (empty($keep_status[$request->getStatus()])) {
                 unset($requests[$key]);
             }
         }
     }
     return $requests;
 }
 private function getSeverityOptions()
 {
     if (ReleephDefaultFieldSelector::isFacebook()) {
         return array('' => pht('(All Severities)'), 11 => 'HOTFIX', 12 => 'PIGGYBACK', 13 => 'RELEASE', 14 => 'DAILY', 15 => 'PARKING');
     } else {
         return array('' => pht('(All Severities)'), ReleephSeverityFieldSpecification::HOTFIX => pht('Hotfix'), ReleephSeverityFieldSpecification::RELEASE => pht('Release'));
     }
 }