private function renderAuditStatusView(array $audit_requests)
 {
     assert_instances_of($audit_requests, 'PhabricatorRepositoryAuditRequest');
     $viewer = $this->getViewer();
     $authority_map = array_fill_keys($this->auditAuthorityPHIDs, true);
     $view = new PHUIStatusListView();
     foreach ($audit_requests as $request) {
         $code = $request->getAuditStatus();
         $item = new PHUIStatusItemView();
         $item->setIcon(PhabricatorAuditStatusConstants::getStatusIcon($code), PhabricatorAuditStatusConstants::getStatusColor($code), PhabricatorAuditStatusConstants::getStatusName($code));
         $note = array();
         foreach ($request->getAuditReasons() as $reason) {
             $note[] = phutil_tag('div', array(), $reason);
         }
         $item->setNote($note);
         $auditor_phid = $request->getAuditorPHID();
         $target = $viewer->renderHandle($auditor_phid);
         $item->setTarget($target);
         if (isset($authority_map[$auditor_phid])) {
             $item->setHighlighted(true);
         }
         $view->addItem($item);
     }
     return $view;
 }
 public function buildList()
 {
     $user = $this->getUser();
     if (!$user) {
         throw new Exception(pht('You must %s before %s!', 'setUser()', __FUNCTION__ . '()'));
     }
     $rowc = array();
     $list = new PHUIObjectItemListView();
     foreach ($this->commits as $commit) {
         $commit_phid = $commit->getPHID();
         $commit_handle = $this->getHandle($commit_phid);
         $committed = null;
         $commit_name = $commit_handle->getName();
         $commit_link = $commit_handle->getURI();
         $commit_desc = $this->getCommitDescription($commit_phid);
         $committed = phabricator_datetime($commit->getEpoch(), $user);
         $audits = mpull($commit->getAudits(), null, 'getAuditorPHID');
         $auditors = array();
         $reasons = array();
         foreach ($audits as $audit) {
             $auditor_phid = $audit->getAuditorPHID();
             $auditors[$auditor_phid] = $this->getHandle($auditor_phid)->renderLink();
         }
         $auditors = phutil_implode_html(', ', $auditors);
         $authority_audits = array_select_keys($audits, $this->authorityPHIDs);
         if ($authority_audits) {
             $audit = reset($authority_audits);
         } else {
             $audit = reset($audits);
         }
         if ($audit) {
             $reasons = $audit->getAuditReasons();
             $reasons = phutil_implode_html(', ', $reasons);
             $status_code = $audit->getAuditStatus();
             $status_text = PhabricatorAuditStatusConstants::getStatusName($status_code);
             $status_color = PhabricatorAuditStatusConstants::getStatusColor($status_code);
             $status_icon = PhabricatorAuditStatusConstants::getStatusIcon($status_code);
         } else {
             $reasons = null;
             $status_text = null;
             $status_color = null;
             $status_icon = null;
         }
         $author_phid = $commit->getAuthorPHID();
         if ($author_phid) {
             $author_name = $this->getHandle($author_phid)->renderLink();
         } else {
             $author_name = $commit->getCommitData()->getAuthorName();
         }
         $item = id(new PHUIObjectItemView())->setObjectName($commit_name)->setHeader($commit_desc)->setHref($commit_link)->addAttribute(pht('Author: %s', $author_name))->addAttribute($reasons)->addIcon('none', $committed);
         if (!empty($auditors)) {
             $item->addByLine(pht('Auditors: %s', $auditors));
         }
         if ($status_color) {
             $item->setStatusIcon($status_icon . ' ' . $status_color, $status_text);
         }
         $list->addItem($item);
     }
     if ($this->noDataString) {
         $list->setNoDataString($this->noDataString);
     }
     return $list;
 }