Page MenuHomePhorge

No OneTemporary

diff --git a/src/applications/audit/view/PhabricatorAuditListView.php b/src/applications/audit/view/PhabricatorAuditListView.php
index 8d4aef61f2..4afb069778 100644
--- a/src/applications/audit/view/PhabricatorAuditListView.php
+++ b/src/applications/audit/view/PhabricatorAuditListView.php
@@ -1,170 +1,183 @@
<?php
final class PhabricatorAuditListView extends AphrontView {
private $commits;
private $header;
private $showDrafts;
private $noDataString;
private $highlightedAudits;
public function setNoDataString($no_data_string) {
$this->noDataString = $no_data_string;
return $this;
}
public function getNoDataString() {
return $this->noDataString;
}
public function setHeader($header) {
$this->header = $header;
return $this;
}
public function getHeader() {
return $this->header;
}
public function setShowDrafts($show_drafts) {
$this->showDrafts = $show_drafts;
return $this;
}
public function getShowDrafts() {
return $this->showDrafts;
}
/**
* These commits should have both commit data and audit requests attached.
*/
public function setCommits(array $commits) {
assert_instances_of($commits, 'PhabricatorRepositoryCommit');
$this->commits = mpull($commits, null, 'getPHID');
return $this;
}
public function getCommits() {
return $this->commits;
}
private function getCommitDescription($phid) {
if ($this->commits === null) {
return pht('(Unknown Commit)');
}
$commit = idx($this->commits, $phid);
if (!$commit) {
return pht('(Unknown Commit)');
}
$summary = $commit->getCommitData()->getSummary();
if (strlen($summary)) {
return $summary;
}
// No summary, so either this is still impoting or just has an empty
// commit message.
if (!$commit->isImported()) {
return pht('(Importing Commit...)');
} else {
return pht('(Untitled Commit)');
}
}
public function render() {
$list = $this->buildList();
$list->setFlush(true);
return $list->render();
}
public function buildList() {
$viewer = $this->getViewer();
$rowc = array();
- $handles = $viewer->loadHandles(mpull($this->commits, 'getPHID'));
+ $phids = array();
+ foreach ($this->getCommits() as $commit) {
+ $phids[] = $commit->getPHID();
+
+ foreach ($commit->getAudits() as $audit) {
+ $phids[] = $audit->getAuditorPHID();
+ }
+
+ $author_phid = $commit->getAuthorPHID();
+ if ($author_phid) {
+ $phids[] = $author_phid;
+ }
+ }
+
+ $handles = $viewer->loadHandles($phids);
$show_drafts = $this->getShowDrafts();
$draft_icon = id(new PHUIIconView())
->setIcon('fa-comment yellow')
->addSigil('has-tooltip')
->setMetadata(
array(
'tip' => pht('Unsubmitted Comments'),
));
$list = new PHUIObjectItemListView();
foreach ($this->commits as $commit) {
$commit_phid = $commit->getPHID();
$commit_handle = $handles[$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(), $viewer);
- $audits = mpull($commit->getAudits(), null, 'getAuditorPHID');
- $auditors = array();
- foreach ($audits as $audit) {
- $auditor_phid = $audit->getAuditorPHID();
- $auditors[$auditor_phid] = $viewer->renderHandle($auditor_phid);
- }
- $auditors = phutil_implode_html(', ', $auditors);
-
$status = $commit->getAuditStatus();
$status_text =
PhabricatorAuditCommitStatusConstants::getStatusName($status);
$status_color =
PhabricatorAuditCommitStatusConstants::getStatusColor($status);
$status_icon =
PhabricatorAuditCommitStatusConstants::getStatusIcon($status);
$author_phid = $commit->getAuthorPHID();
if ($author_phid) {
- $author_name = $viewer->renderHandle($author_phid);
+ $author_name = $handles[$author_phid]->renderLink();
} else {
$author_name = $commit->getCommitData()->getAuthorName();
}
$item = id(new PHUIObjectItemView())
->setObjectName($commit_name)
->setHeader($commit_desc)
->setHref($commit_link);
if ($show_drafts) {
if ($commit->getHasDraft($viewer)) {
$item->addAttribute($draft_icon);
}
}
$item
->addAttribute(pht('Author: %s', $author_name))
->addIcon('none', $committed);
- if (!empty($auditors)) {
- $item->addByLine(pht('Auditors: %s', $auditors));
+ $audits = $commit->getAudits();
+ $auditor_phids = mpull($audits, 'getAuditorPHID');
+ if ($auditor_phids) {
+ $item->addByLine(
+ array(
+ pht('Auditors:'),
+ ' ',
+ $handles->newSublist($auditor_phids)->renderList(),
+ ));
}
if ($status_color) {
$item->setStatusIcon($status_icon.' '.$status_color, $status_text);
}
$list->addItem($item);
}
if ($this->noDataString) {
$list->setNoDataString($this->noDataString);
}
if ($this->header) {
$list->setHeader($this->header);
}
return $list;
}
}

File Metadata

Mime Type
text/x-diff
Expires
Sun, Jan 19, 13:22 (3 w, 3 d ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
1125020
Default Alt Text
(5 KB)

Event Timeline