messenger = $messenger; } /** * {@inheritdoc} */ public static function createInstance(ContainerInterface $container, EntityTypeInterface $entity_type) { return new static( $entity_type, $container->get('entity.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->urlInfo('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.')); } }