mirror of
https://we.phorge.it/source/phorge.git
synced 2024-11-27 09:12:41 +01:00
Enrich "gave a token" feed story
Summary: Name the token which was given in the feed story. Test Plan: Gave/rescinded tokens. Looked at a feed story. Reviewers: btrahan Reviewed By: btrahan CC: aran Differential Revision: https://secure.phabricator.com/D7110
This commit is contained in:
parent
d5bda56acd
commit
c373baa766
4 changed files with 60 additions and 3 deletions
|
@ -1698,6 +1698,7 @@ phutil_register_library_map(array(
|
||||||
'PhabricatorTokenGivenFeedStory' => 'applications/tokens/feed/PhabricatorTokenGivenFeedStory.php',
|
'PhabricatorTokenGivenFeedStory' => 'applications/tokens/feed/PhabricatorTokenGivenFeedStory.php',
|
||||||
'PhabricatorTokenGivenQuery' => 'applications/tokens/query/PhabricatorTokenGivenQuery.php',
|
'PhabricatorTokenGivenQuery' => 'applications/tokens/query/PhabricatorTokenGivenQuery.php',
|
||||||
'PhabricatorTokenLeaderController' => 'applications/tokens/controller/PhabricatorTokenLeaderController.php',
|
'PhabricatorTokenLeaderController' => 'applications/tokens/controller/PhabricatorTokenLeaderController.php',
|
||||||
|
'PhabricatorTokenPHIDTypeToken' => 'applications/tokens/phid/PhabricatorTokenPHIDTypeToken.php',
|
||||||
'PhabricatorTokenQuery' => 'applications/tokens/query/PhabricatorTokenQuery.php',
|
'PhabricatorTokenQuery' => 'applications/tokens/query/PhabricatorTokenQuery.php',
|
||||||
'PhabricatorTokenReceiverInterface' => 'applications/tokens/interface/PhabricatorTokenReceiverInterface.php',
|
'PhabricatorTokenReceiverInterface' => 'applications/tokens/interface/PhabricatorTokenReceiverInterface.php',
|
||||||
'PhabricatorTokenReceiverQuery' => 'applications/tokens/query/PhabricatorTokenReceiverQuery.php',
|
'PhabricatorTokenReceiverQuery' => 'applications/tokens/query/PhabricatorTokenReceiverQuery.php',
|
||||||
|
@ -3856,6 +3857,7 @@ phutil_register_library_map(array(
|
||||||
'PhabricatorTokenGivenFeedStory' => 'PhabricatorFeedStory',
|
'PhabricatorTokenGivenFeedStory' => 'PhabricatorFeedStory',
|
||||||
'PhabricatorTokenGivenQuery' => 'PhabricatorCursorPagedPolicyAwareQuery',
|
'PhabricatorTokenGivenQuery' => 'PhabricatorCursorPagedPolicyAwareQuery',
|
||||||
'PhabricatorTokenLeaderController' => 'PhabricatorTokenController',
|
'PhabricatorTokenLeaderController' => 'PhabricatorTokenController',
|
||||||
|
'PhabricatorTokenPHIDTypeToken' => 'PhabricatorPHIDType',
|
||||||
'PhabricatorTokenQuery' => 'PhabricatorCursorPagedPolicyAwareQuery',
|
'PhabricatorTokenQuery' => 'PhabricatorCursorPagedPolicyAwareQuery',
|
||||||
'PhabricatorTokenReceiverQuery' => 'PhabricatorCursorPagedPolicyAwareQuery',
|
'PhabricatorTokenReceiverQuery' => 'PhabricatorCursorPagedPolicyAwareQuery',
|
||||||
'PhabricatorTokenUIEventListener' => 'PhutilEventListener',
|
'PhabricatorTokenUIEventListener' => 'PhutilEventListener',
|
||||||
|
|
|
@ -14,6 +14,12 @@ final class PhabricatorTokenGivenFeedStory
|
||||||
return $phids;
|
return $phids;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getRequiredObjectPHIDs() {
|
||||||
|
$phids = array();
|
||||||
|
$phids[] = $this->getValue('tokenPHID');
|
||||||
|
return $phids;
|
||||||
|
}
|
||||||
|
|
||||||
public function renderView() {
|
public function renderView() {
|
||||||
$view = $this->newStoryView();
|
$view = $this->newStoryView();
|
||||||
$view->setAppIcon('token-dark');
|
$view->setAppIcon('token-dark');
|
||||||
|
@ -22,10 +28,13 @@ final class PhabricatorTokenGivenFeedStory
|
||||||
$href = $this->getHandle($this->getPrimaryObjectPHID())->getURI();
|
$href = $this->getHandle($this->getPrimaryObjectPHID())->getURI();
|
||||||
$view->setHref($href);
|
$view->setHref($href);
|
||||||
|
|
||||||
|
$token = $this->getObject($this->getValue('tokenPHID'));
|
||||||
|
|
||||||
$title = pht(
|
$title = pht(
|
||||||
'%s awarded %s a token.',
|
'%s awarded %s a %s token.',
|
||||||
$this->linkTo($this->getValue('authorPHID')),
|
$this->linkTo($this->getValue('authorPHID')),
|
||||||
$this->linkTo($this->getValue('objectPHID')));
|
$this->linkTo($this->getValue('objectPHID')),
|
||||||
|
$token->getName());
|
||||||
|
|
||||||
$view->setTitle($title);
|
$view->setTitle($title);
|
||||||
$view->setImage($this->getHandle($author_phid)->getImageURI());
|
$view->setImage($this->getHandle($author_phid)->getImageURI());
|
||||||
|
|
|
@ -0,0 +1,44 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
final class PhabricatorTokenPHIDTypeToken extends PhabricatorPHIDType {
|
||||||
|
|
||||||
|
const TYPECONST = 'TOKN';
|
||||||
|
|
||||||
|
public function getTypeConstant() {
|
||||||
|
return self::TYPECONST;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getTypeName() {
|
||||||
|
return pht('Token');
|
||||||
|
}
|
||||||
|
|
||||||
|
public function newObject() {
|
||||||
|
return new PhabricatorToken();
|
||||||
|
}
|
||||||
|
|
||||||
|
public function loadObjects(
|
||||||
|
PhabricatorObjectQuery $query,
|
||||||
|
array $phids) {
|
||||||
|
|
||||||
|
return id(new PhabricatorTokenQuery())
|
||||||
|
->setViewer($query->getViewer())
|
||||||
|
->setParentQuery($query)
|
||||||
|
->withPHIDs($phids)
|
||||||
|
->execute();
|
||||||
|
}
|
||||||
|
|
||||||
|
public function loadHandles(
|
||||||
|
PhabricatorHandleQuery $query,
|
||||||
|
array $handles,
|
||||||
|
array $objects) {
|
||||||
|
|
||||||
|
foreach ($handles as $phid => $handle) {
|
||||||
|
$token = $objects[$phid];
|
||||||
|
|
||||||
|
$name = $token->getName();
|
||||||
|
|
||||||
|
$handle->setName("{$name} Token");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -45,6 +45,8 @@ final class PhabricatorTokenQuery
|
||||||
array('misc-4', pht('The World Burns')),
|
array('misc-4', pht('The World Burns')),
|
||||||
);
|
);
|
||||||
|
|
||||||
|
$type = PhabricatorTokenPHIDTypeToken::TYPECONST;
|
||||||
|
|
||||||
$tokens = array();
|
$tokens = array();
|
||||||
foreach ($specs as $id => $spec) {
|
foreach ($specs as $id => $spec) {
|
||||||
list($image, $name) = $spec;
|
list($image, $name) = $spec;
|
||||||
|
@ -52,7 +54,7 @@ final class PhabricatorTokenQuery
|
||||||
$token = id(new PhabricatorToken())
|
$token = id(new PhabricatorToken())
|
||||||
->setID($id)
|
->setID($id)
|
||||||
->setName($name)
|
->setName($name)
|
||||||
->setPHID('PHID-TOKN-'.$image);
|
->setPHID('PHID-'.$type.'-'.$image);
|
||||||
$tokens[] = $token;
|
$tokens[] = $token;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue