paid_ads-8.x-1.x-dev/src/Entity/PaidPaymentListBuilder.php

src/Entity/PaidPaymentListBuilder.php
<?php

namespace Drupal\paid_ads\Entity;

use Drupal\Core\Entity\EntityInterface;
use Drupal\Core\Entity\EntityListBuilder;

/**
 * List builder for paid payments.
 */
class PaidPaymentListBuilder extends EntityListBuilder {

  /**
   * {@inheritdoc}
   */
  public function buildHeader() {
    $header['id'] = [
      'data' => $this->t('ID'),
    ];

    $header['amount'] = [
      'data' => $this->t('Amount'),
    ];

    $header['method'] = [
      'data' => $this->t('Method'),
    ];

    $header['owner'] = [
      'data' => $this->t('Owner'),
    ];

    $header['status'] = [
      'data' => $this->t('Status'),
    ];

    return $header;
  }

  /**
   * {@inheritdoc}
   */
  public function buildRow(EntityInterface $payment) {
    /** @var \Drupal\paid_ads\Entity\PaidPaymentInterface $payment */
    $row['data']['id'] = $payment->get('id')->value;
    $row['data']['amount'] = $payment->get('amount')->value ?? 'UNKNOWN';
    $row['data']['method'] = $payment->getPaymentMethod();
    $row['data']['owner']['data'] = [
      '#theme' => 'username',
      '#account' => $payment->getOwner(),
    ];
    $row['data']['status'] = $payment->getPaymentStatus();
    return $row;
  }

  /**
   * {@inheritdoc}
   */
  public function getEntityIds() {
    $query = $this->getStorage()->getQuery()
      ->sort($this->entityType->getKey('id'), 'DESC');

    // Only add the pager if a limit is specified.
    if ($this->limit) {
      $query->pager($this->limit);
    }
    return $query->execute();
  }

}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc