mirror of
https://we.phorge.it/source/phorge.git
synced 2024-11-10 00:42:41 +01:00
Remove "PhabricatorAuditListView"
Summary: Ref T13552. Remove yet another way to render a list of commits, and unify it with "CommitGraphView". Test Plan: - Viewed commit search results. - Viewed owners package detail page. Maniphest Tasks: T13552 Differential Revision: https://secure.phabricator.com/D21415
This commit is contained in:
parent
2b0632b442
commit
57ee6649aa
4 changed files with 28 additions and 202 deletions
|
@ -2274,7 +2274,6 @@ phutil_register_library_map(array(
|
|||
'PhabricatorAuditController' => 'applications/audit/controller/PhabricatorAuditController.php',
|
||||
'PhabricatorAuditEditor' => 'applications/audit/editor/PhabricatorAuditEditor.php',
|
||||
'PhabricatorAuditInlineComment' => 'applications/audit/storage/PhabricatorAuditInlineComment.php',
|
||||
'PhabricatorAuditListView' => 'applications/audit/view/PhabricatorAuditListView.php',
|
||||
'PhabricatorAuditMailReceiver' => 'applications/audit/mail/PhabricatorAuditMailReceiver.php',
|
||||
'PhabricatorAuditManagementDeleteWorkflow' => 'applications/audit/management/PhabricatorAuditManagementDeleteWorkflow.php',
|
||||
'PhabricatorAuditManagementWorkflow' => 'applications/audit/management/PhabricatorAuditManagementWorkflow.php',
|
||||
|
@ -8586,7 +8585,6 @@ phutil_register_library_map(array(
|
|||
'PhabricatorAuditController' => 'PhabricatorController',
|
||||
'PhabricatorAuditEditor' => 'PhabricatorApplicationTransactionEditor',
|
||||
'PhabricatorAuditInlineComment' => 'PhabricatorInlineComment',
|
||||
'PhabricatorAuditListView' => 'AphrontView',
|
||||
'PhabricatorAuditMailReceiver' => 'PhabricatorObjectMailReceiver',
|
||||
'PhabricatorAuditManagementDeleteWorkflow' => 'PhabricatorAuditManagementWorkflow',
|
||||
'PhabricatorAuditManagementWorkflow' => 'PhabricatorManagementWorkflow',
|
||||
|
|
|
@ -221,9 +221,8 @@ final class PhabricatorCommitSearchEngine
|
|||
|
||||
$bucket = $this->getResultBucket($query);
|
||||
|
||||
$template = id(new PhabricatorAuditListView())
|
||||
->setViewer($viewer)
|
||||
->setShowDrafts(true);
|
||||
$template = id(new DiffusionCommitGraphView())
|
||||
->setViewer($viewer);
|
||||
|
||||
$views = array();
|
||||
if ($bucket) {
|
||||
|
@ -235,37 +234,31 @@ final class PhabricatorCommitSearchEngine
|
|||
foreach ($groups as $group) {
|
||||
// Don't show groups in Dashboard Panels
|
||||
if ($group->getObjects() || !$this->isPanelContext()) {
|
||||
$views[] = id(clone $template)
|
||||
$item_list = id(clone $template)
|
||||
->setCommits($group->getObjects())
|
||||
->newObjectItemListView();
|
||||
|
||||
$views[] = $item_list
|
||||
->setHeader($group->getName())
|
||||
->setNoDataString($group->getNoDataString())
|
||||
->setCommits($group->getObjects());
|
||||
->setNoDataString($group->getNoDataString());
|
||||
}
|
||||
}
|
||||
} catch (Exception $ex) {
|
||||
$this->addError($ex->getMessage());
|
||||
}
|
||||
} else {
|
||||
$views[] = id(clone $template)
|
||||
->setCommits($commits)
|
||||
->setNoDataString(pht('No commits found.'));
|
||||
}
|
||||
|
||||
if (!$views) {
|
||||
$views[] = id(new PhabricatorAuditListView())
|
||||
->setViewer($viewer)
|
||||
$item_list = id(clone $template)
|
||||
->setCommits($commits)
|
||||
->newObjectItemListView();
|
||||
|
||||
$views[] = $item_list
|
||||
->setNoDataString(pht('No commits found.'));
|
||||
}
|
||||
|
||||
if (count($views) == 1) {
|
||||
$list = head($views)->buildList();
|
||||
} else {
|
||||
$list = $views;
|
||||
}
|
||||
|
||||
$result = new PhabricatorApplicationSearchResultView();
|
||||
$result->setContent($list);
|
||||
|
||||
return $result;
|
||||
return id(new PhabricatorApplicationSearchResultView())
|
||||
->setContent($views);
|
||||
}
|
||||
|
||||
protected function getNewUserBody() {
|
||||
|
|
|
@ -1,171 +0,0 @@
|
|||
<?php
|
||||
|
||||
final class PhabricatorAuditListView extends AphrontView {
|
||||
|
||||
private $commits = array();
|
||||
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 importing 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();
|
||||
|
||||
$phids = array();
|
||||
foreach ($this->getCommits() as $commit) {
|
||||
$phids[] = $commit->getPHID();
|
||||
|
||||
foreach ($commit->getAudits() as $audit) {
|
||||
$phids[] = $audit->getAuditorPHID();
|
||||
}
|
||||
}
|
||||
|
||||
$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);
|
||||
|
||||
$status = $commit->getAuditStatusObject();
|
||||
|
||||
$status_text = $status->getName();
|
||||
$status_color = $status->getColor();
|
||||
$status_icon = $status->getIcon();
|
||||
|
||||
$item = id(new PHUIObjectItemView())
|
||||
->setObjectName($commit_name)
|
||||
->setHeader($commit_desc)
|
||||
->setHref($commit_link)
|
||||
->setDisabled($commit->isUnreachable())
|
||||
->addIcon('none', $committed);
|
||||
|
||||
$author_name = $commit->newCommitAuthorView($viewer);
|
||||
if ($author_name) {
|
||||
$item->addByline(pht('Author: %s', $author_name));
|
||||
}
|
||||
|
||||
if ($show_drafts) {
|
||||
if ($commit->getHasDraft($viewer)) {
|
||||
$item->addAttribute($draft_icon);
|
||||
}
|
||||
}
|
||||
|
||||
$audits = $commit->getAudits();
|
||||
$auditor_phids = mpull($audits, 'getAuditorPHID');
|
||||
if ($auditor_phids) {
|
||||
$auditor_list = $handles->newSublist($auditor_phids)
|
||||
->renderList()
|
||||
->setAsInline(true);
|
||||
} else {
|
||||
$auditor_list = phutil_tag('em', array(), pht('None'));
|
||||
}
|
||||
$item->addAttribute(pht('Auditors: %s', $auditor_list));
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
}
|
|
@ -82,12 +82,15 @@ final class PhabricatorOwnersDetailController
|
|||
))
|
||||
->needCommitData(true)
|
||||
->needAuditRequests(true)
|
||||
->needIdentities(true)
|
||||
->setLimit(10)
|
||||
->execute();
|
||||
$view = id(new PhabricatorAuditListView())
|
||||
->setUser($viewer)
|
||||
->setNoDataString(pht('This package has no open problem commits.'))
|
||||
->setCommits($attention_commits);
|
||||
$view = id(new DiffusionCommitGraphView())
|
||||
->setViewer($viewer)
|
||||
->setCommits($attention_commits)
|
||||
->newObjectItemListView();
|
||||
|
||||
$view->setNoDataString(pht('This package has no open problem commits.'));
|
||||
|
||||
$commit_views[] = array(
|
||||
'view' => $view,
|
||||
|
@ -105,13 +108,16 @@ final class PhabricatorOwnersDetailController
|
|||
->withPackagePHIDs(array($package->getPHID()))
|
||||
->needCommitData(true)
|
||||
->needAuditRequests(true)
|
||||
->needIdentities(true)
|
||||
->setLimit(25)
|
||||
->execute();
|
||||
|
||||
$view = id(new PhabricatorAuditListView())
|
||||
->setUser($viewer)
|
||||
$view = id(new DiffusionCommitGraphView())
|
||||
->setViewer($viewer)
|
||||
->setCommits($all_commits)
|
||||
->setNoDataString(pht('No commits in this package.'));
|
||||
->newObjectItemListView();
|
||||
|
||||
$view->setNoDataString(pht('No commits in this package.'));
|
||||
|
||||
$commit_views[] = array(
|
||||
'view' => $view,
|
||||
|
|
Loading…
Reference in a new issue