1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-11-14 19:02:41 +01:00
phorge-phorge/src/applications/herald/view/HeraldRuleEditHistoryView.php
Chad Little 5ba20b8924 Move PhabricatorObjectItem to PHUIObjectItem, add 'plain' setting for lists.
Summary: Adds plain support for object lists that just look like lists

Test Plan: review UIexamples and a number of other applications

Reviewers: epriestley, btrahan

Reviewed By: epriestley

CC: Korvin, aran

Differential Revision: https://secure.phabricator.com/D6922
2013-09-09 14:14:34 -07:00

64 lines
1.5 KiB
PHP

<?php
final class HeraldRuleEditHistoryView extends AphrontView {
private $edits;
private $handles;
public function setEdits(array $edits) {
$this->edits = $edits;
return $this;
}
public function getEdits() {
return $this->edits;
}
public function setHandles(array $handles) {
assert_instances_of($handles, 'PhabricatorObjectHandle');
$this->handles = $handles;
return $this;
}
public function render() {
$list = new PHUIObjectItemListView();
$list->setFlush(true);
$list->setCards(true);
foreach ($this->edits as $edit) {
$name = nonempty($edit->getRuleName(), 'Unknown Rule');
$rule_name = phutil_tag(
'strong',
array(),
$name);
switch ($edit->getAction()) {
case 'create':
$details = pht("Created rule '%s'.", $rule_name);
break;
case 'delete':
$details = pht("Deleted rule '%s'.", $rule_name);
break;
case 'edit':
default:
$details = pht("Edited rule '%s'.", $rule_name);
break;
}
$editor = $this->handles[$edit->getEditorPHID()]->renderLink();
$date = phabricator_datetime($edit->getDateCreated(), $this->user);
$item = id(new PHUIObjectItemView())
->setObjectName(pht('Rule %d', $edit->getRuleID()))
->setSubHead($details)
->addIcon('none', $date)
->addByLine(pht('Editor: %s', $editor));
$list->addItem($item);
}
$list->setNoDataString(pht('No edits for rule.'));
return $list;
}
}