expense_tracker-1.2.1/src/EtTransactionListBuilder.php
src/EtTransactionListBuilder.php
<?php
/**
* Contains \Drupal\expense_tracker\EtTransactionListBuilder.
*/
namespace Drupal\expense_tracker;
use Drupal;
use Drupal\Core\Entity\EntityInterface;
use Drupal\Core\Config\Entity\DraggableListBuilder;
/**
* Defines a class to build a listing of user role entities.
*
* @see \Drupal\user\Entity\Role
*/
class EtTransactionListBuilder extends DraggableListBuilder {
/**
* {@inheritdoc}
*/
public function load() {
$entities = $this->storage->loadMultiple();
// Sort the entities using the entity class's sort() method.
// See \Drupal\Core\Config\Entity\ConfigEntityBase::sort().
uasort($entities, array($this->entityType->getClass(), 'sort'));
return $entities;
}
/**
* {@inheritdoc}
*/
public function getFormId() {
return 'et_transaction_list_form';
}
/**
* Overrides Drupal\Core\Entity\EntityListController::buildHeader().
*/
public function buildHeader() {
$header['title'] = t('Title');
$header['author'] = t('Author');
$header['created'] = t('Created');
$header['operations'] = t('Operations');
return $header + parent::buildHeader();
}
/**
* Overrides Drupal\Core\Entity\EntityListController::buildRow().
*/
public function buildRow(EntityInterface $entity) {
/** @var \Drupal\et_transaction\EtTransactionVoteStorage $transaction_storage */
$transaction_storage = \Drupal::service('expense_tracker.storage');
$row['title'] = $entity->toLink()->toString();
$row['author']['data'] = array(
'#theme' => 'username',
'#account' => $entity->getOwner(),
);
$row['created'] = ($entity->getCreated()) ? Drupal::service('date.formatter')
->format($entity->getCreated(), 'long') : t('n/a');
return $row + parent::buildRow($entity);
}
/**
* {@inheritdoc}
*/
public function getOperations(EntityInterface $entity) {
$operations = parent::getOperations($entity);
return $operations;
}
}
