Mercurial > hg > isophonics-drupal-site
view core/modules/user/src/RoleListBuilder.php @ 19:fa3358dc1485 tip
Add ndrum files
author | Chris Cannam |
---|---|
date | Wed, 28 Aug 2019 13:14:47 +0100 |
parents | af1871eacc83 |
children |
line wrap: on
line source
<?php namespace Drupal\user; use Drupal\Core\Config\Entity\DraggableListBuilder; use Drupal\Core\Entity\EntityInterface; use Drupal\Core\Entity\EntityStorageInterface; use Drupal\Core\Entity\EntityTypeInterface; use Drupal\Core\Form\FormStateInterface; use Drupal\Core\Messenger\MessengerInterface; use Symfony\Component\DependencyInjection\ContainerInterface; /** * Defines a class to build a listing of user role entities. * * @see \Drupal\user\Entity\Role */ class RoleListBuilder extends DraggableListBuilder { /** * The messenger. * * @var \Drupal\Core\Messenger\MessengerInterface */ protected $messenger; /** * RoleListBuilder constructor. * * @param \Drupal\Core\Entity\EntityTypeInterface $entityType * The entity type definition. * @param \Drupal\Core\Entity\EntityStorageInterface $storage * The entity storage class. * @param \Drupal\Core\Messenger\MessengerInterface $messenger * The messenger. */ public function __construct(EntityTypeInterface $entityType, EntityStorageInterface $storage, MessengerInterface $messenger) { parent::__construct($entityType, $storage); $this->messenger = $messenger; } /** * {@inheritdoc} */ public static function createInstance(ContainerInterface $container, EntityTypeInterface $entity_type) { return new static( $entity_type, $container->get('entity_type.manager')->getStorage($entity_type->id()), $container->get('messenger') ); } /** * {@inheritdoc} */ public function getFormId() { return 'user_admin_roles_form'; } /** * {@inheritdoc} */ public function buildHeader() { $header['label'] = t('Name'); return $header + parent::buildHeader(); } /** * {@inheritdoc} */ public function buildRow(EntityInterface $entity) { $row['label'] = $entity->label(); return $row + parent::buildRow($entity); } /** * {@inheritdoc} */ public function getDefaultOperations(EntityInterface $entity) { $operations = parent::getDefaultOperations($entity); if ($entity->hasLinkTemplate('edit-permissions-form')) { $operations['permissions'] = [ 'title' => t('Edit permissions'), 'weight' => 20, 'url' => $entity->toUrl('edit-permissions-form'), ]; } return $operations; } /** * {@inheritdoc} */ public function submitForm(array &$form, FormStateInterface $form_state) { parent::submitForm($form, $form_state); $this->messenger->addStatus($this->t('The role settings have been updated.')); } }