permission_group-1.0.x-dev/src/PermissionGroupListBuilder.php
src/PermissionGroupListBuilder.php
<?php
namespace Drupal\permission_group;
use Drupal\Core\Config\Entity\ConfigEntityListBuilder;
use Drupal\Core\Entity\EntityInterface;
/**
* Provides a listing of permission groups.
*/
class PermissionGroupListBuilder extends ConfigEntityListBuilder {
/**
* {@inheritdoc}
*/
public function buildHeader() : array {
$header['label'] = $this->t('Label');
$header['id'] = $this->t('Machine name');
return $header + parent::buildHeader();
}
/**
* {@inheritdoc}
*/
public function buildRow(EntityInterface $entity) : array {
/** @var \Drupal\permission_group\Entity\PermissionGroup $entity */
$row['label'] = $entity->label();
$row['id'] = $entity->id();
return $row + parent::buildRow($entity);
}
/**
* {@inheritdoc}
*/
public function getDefaultOperations(EntityInterface $entity) : array {
$operations = parent::getDefaultOperations($entity);
if ($entity->hasLinkTemplate('edit-permissions-form')) {
$operations['permissions'] = [
'title' => $this->t('Edit permissions'),
'weight' => 20,
'url' => $entity->toUrl('edit-permissions-form'),
];
}
return $operations;
}
}
