2013-02-15 07:47:14 -08:00
|
|
|
<?php
|
|
|
|
|
|
|
|
|
|
final class PhabricatorTokenGivenController extends PhabricatorTokenController {
|
|
|
|
|
|
|
|
|
|
public function processRequest() {
|
|
|
|
|
$request = $this->getRequest();
|
|
|
|
|
$user = $request->getUser();
|
|
|
|
|
|
|
|
|
|
$pager = id(new AphrontCursorPagerView())
|
2013-03-31 12:30:06 -07:00
|
|
|
->readFromRequest($request);
|
2013-02-15 07:47:14 -08:00
|
|
|
|
|
|
|
|
$tokens_given = id(new PhabricatorTokenGivenQuery())
|
|
|
|
|
->setViewer($user)
|
|
|
|
|
->executeWithCursorPager($pager);
|
|
|
|
|
|
|
|
|
|
$handles = array();
|
|
|
|
|
if ($tokens_given) {
|
|
|
|
|
$object_phids = mpull($tokens_given, 'getObjectPHID');
|
|
|
|
|
$user_phids = mpull($tokens_given, 'getAuthorPHID');
|
|
|
|
|
$handle_phids = array_merge($object_phids, $user_phids);
|
2013-09-11 12:27:28 -07:00
|
|
|
$handles = id(new PhabricatorHandleQuery())
|
2013-02-15 07:47:14 -08:00
|
|
|
->setViewer($user)
|
2013-09-11 12:27:28 -07:00
|
|
|
->withPHIDs($handle_phids)
|
|
|
|
|
->execute();
|
2013-02-15 07:47:14 -08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$tokens = array();
|
|
|
|
|
if ($tokens_given) {
|
|
|
|
|
$token_phids = mpull($tokens_given, 'getTokenPHID');
|
|
|
|
|
$tokens = id(new PhabricatorTokenQuery())
|
|
|
|
|
->setViewer($user)
|
|
|
|
|
->withPHIDs($token_phids)
|
|
|
|
|
->execute();
|
|
|
|
|
$tokens = mpull($tokens, null, 'getPHID');
|
|
|
|
|
}
|
|
|
|
|
|
2013-09-09 14:14:34 -07:00
|
|
|
$list = new PHUIObjectItemListView();
|
2013-02-15 07:47:14 -08:00
|
|
|
foreach ($tokens_given as $token_given) {
|
|
|
|
|
$handle = $handles[$token_given->getObjectPHID()];
|
|
|
|
|
$token = idx($tokens, $token_given->getTokenPHID());
|
|
|
|
|
|
2013-09-09 14:14:34 -07:00
|
|
|
$item = id(new PHUIObjectItemView());
|
2013-02-15 07:47:14 -08:00
|
|
|
$item->setHeader($handle->getFullName());
|
|
|
|
|
$item->setHref($handle->getURI());
|
|
|
|
|
|
|
|
|
|
$item->addAttribute($token->renderIcon());
|
|
|
|
|
|
|
|
|
|
$item->addAttribute(
|
|
|
|
|
pht(
|
|
|
|
|
'Given by %s on %s',
|
|
|
|
|
$handles[$token_given->getAuthorPHID()]->renderLink(),
|
|
|
|
|
phabricator_date($token_given->getDateCreated(), $user)));
|
|
|
|
|
|
|
|
|
|
$list->addItem($item);
|
|
|
|
|
}
|
2013-03-31 12:30:06 -07:00
|
|
|
$list->setPager($pager);
|
2013-02-15 07:47:14 -08:00
|
|
|
|
|
|
|
|
$title = pht('Tokens Given');
|
|
|
|
|
|
|
|
|
|
$nav = $this->buildSideNav();
|
|
|
|
|
$nav->setCrumbs(
|
|
|
|
|
$this->buildApplicationCrumbs()
|
2013-12-18 17:47:34 -08:00
|
|
|
->addTextCrumb($title));
|
2013-02-15 07:47:14 -08:00
|
|
|
$nav->selectFilter('given/');
|
|
|
|
|
|
|
|
|
|
$nav->appendChild($list);
|
|
|
|
|
|
|
|
|
|
return $this->buildApplicationPage(
|
|
|
|
|
$nav,
|
|
|
|
|
array(
|
|
|
|
|
'title' => $title,
|
|
|
|
|
'device' => true,
|
|
|
|
|
));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|