Changeset View
Changeset View
Standalone View
Standalone View
src/applications/badges/view/PhabricatorBadgesRecipientsListView.php
- This file was added.
<?php | |||||
final class PhabricatorBadgesRecipientsListView extends AphrontTagView { | |||||
private $badge; | |||||
private $handles; | |||||
public function setBadge(PhabricatorBadgesBadge $badge) { | |||||
$this->badge = $badge; | |||||
return $this; | |||||
} | |||||
public function setHandles(array $handles) { | |||||
$this->handles = $handles; | |||||
return $this; | |||||
} | |||||
protected function getTagContent() { | |||||
$viewer = $this->user; | |||||
$badge = $this->badge; | |||||
$handles = $this->handles; | |||||
$can_edit = PhabricatorPolicyFilter::hasCapability( | |||||
$viewer, | |||||
$badge, | |||||
PhabricatorPolicyCapability::CAN_EDIT); | |||||
$list = id(new PHUIObjectItemListView()) | |||||
->setNoDataString(pht('This badge does not have any recipients.')); | |||||
foreach ($handles as $handle) { | |||||
$remove_uri = '/badges/recipients/'. | |||||
$badge->getID().'/remove/?phid='.$handle->getPHID(); | |||||
$item = id(new PHUIObjectItemView()) | |||||
->setHeader($handle->getFullName()) | |||||
->setHref($handle->getURI()) | |||||
->setImageURI($handle->getImageURI()); | |||||
if ($can_edit) { | |||||
$item->addAction( | |||||
id(new PHUIListItemView()) | |||||
->setIcon('fa-times') | |||||
->setName(pht('Remove')) | |||||
->setHref($remove_uri) | |||||
->setWorkflow(true)); | |||||
} | |||||
$list->addItem($item); | |||||
} | |||||
$box = id(new PHUIObjectBoxView()) | |||||
->setHeaderText(pht('Recipients')) | |||||
->setObjectList($list); | |||||
return $box; | |||||
} | |||||
} |