Changeset View
Changeset View
Standalone View
Standalone View
src/applications/badges/view/PhabricatorBadgesRecipientsListView.php
Show All 14 Lines | public function setHandles(array $handles) { | ||||
return $this; | return $this; | ||||
} | } | ||||
public function render() { | public function render() { | ||||
$viewer = $this->getViewer(); | $viewer = $this->getViewer(); | ||||
$badge = $this->badge; | $badge = $this->badge; | ||||
$handles = $this->handles; | $handles = $this->handles; | ||||
$awards = mpull($badge->getAwards(), null, 'getRecipientPHID'); | |||||
$can_edit = PhabricatorPolicyFilter::hasCapability( | $can_edit = PhabricatorPolicyFilter::hasCapability( | ||||
$viewer, | $viewer, | ||||
$badge, | $badge, | ||||
PhabricatorPolicyCapability::CAN_EDIT); | PhabricatorPolicyCapability::CAN_EDIT); | ||||
$list = id(new PHUIObjectItemListView()) | $list = id(new PHUIObjectItemListView()) | ||||
->setNoDataString(pht('This badge does not have any recipients.')) | ->setNoDataString(pht('This badge does not have any recipients.')) | ||||
->setFlush(true); | ->setFlush(true); | ||||
foreach ($handles as $handle) { | foreach ($handles as $handle) { | ||||
$remove_uri = '/badges/recipients/'. | $remove_uri = '/badges/recipients/'. | ||||
$badge->getID().'/remove/?phid='.$handle->getPHID(); | $badge->getID().'/remove/?phid='.$handle->getPHID(); | ||||
$award = $awards[$handle->getPHID()]; | |||||
$awarder_handle = $viewer->renderHandle($award->getAwarderPHID()); | |||||
$award_date = phabricator_date($award->getDateCreated(), $viewer); | |||||
$awarder_info = pht( | |||||
'Awarded by %s on %s', | |||||
$awarder_handle->render(), | |||||
$award_date); | |||||
$item = id(new PHUIObjectItemView()) | $item = id(new PHUIObjectItemView()) | ||||
->setHeader($handle->getFullName()) | ->setHeader($handle->getFullName()) | ||||
->setSubhead($awarder_info) | |||||
->setHref($handle->getURI()) | ->setHref($handle->getURI()) | ||||
->setImageURI($handle->getImageURI()); | ->setImageURI($handle->getImageURI()); | ||||
if ($can_edit) { | if ($can_edit) { | ||||
$item->addAction( | $item->addAction( | ||||
id(new PHUIListItemView()) | id(new PHUIListItemView()) | ||||
->setIcon('fa-times') | ->setIcon('fa-times') | ||||
->setName(pht('Remove')) | ->setName(pht('Remove')) | ||||
Show All 16 Lines |