class EventGroupTypeController in Event 8
Overrides the Group Content page to show that events are always installed. Yes, this code is all so that an Asterisk (*) shows up for event group types.
Hierarchy
- class \Drupal\Core\Controller\ControllerBase implements ContainerInjectionInterface uses LoggerChannelTrait, MessengerTrait, LinkGeneratorTrait, RedirectDestinationTrait, UrlGeneratorTrait, StringTranslationTrait
- class \Drupal\group\Entity\Controller\GroupTypeController
- class \Drupal\event_group\Controller\EventGroupTypeController
- class \Drupal\group\Entity\Controller\GroupTypeController
Expanded class hierarchy of EventGroupTypeController
File
- modules/
event_group/ src/ Controller/ EventGroupTypeController.php, line 13
Namespace
Drupal\event_group\ControllerView source
class EventGroupTypeController extends GroupTypeController {
/**
* Builds an admin interface to manage the group type's group content plugins.
*
* @param \Drupal\group\Entity\GroupTypeInterface $group_type
* The group type to build an interface for.
*
* @return array
* The render array for the page.
*/
public function content(GroupTypeInterface $group_type) {
$page = parent::content($group_type);
$plugin_id = 'event_group';
$installed = $this->pluginManager
->getInstalledIds($group_type);
$plugin = $this->pluginManager
->getDefinition($plugin_id);
// If the plugin is installed on the group type, use that one instead of
// an 'empty' version so that we may use methods on it which expect to
// have a group type configured.
if (in_array($plugin_id, $installed)) {
$plugin = $this->groupType
->getContentPlugin($plugin['id']);
}
$page['content'][$plugin_id] = $this
->buildEventRow($plugin);
return $page;
}
/**
* Builds a row for a content enabler plugin.
*
* @param \Drupal\group\Plugin\GroupContentEnablerInterface $plugin
* The content enabler plugin to build operation links for.
*
* @return array
* A render array to use as a table row.
*/
public function buildEventRow(GroupContentEnablerInterface $plugin) {
// Events plugin is always installed.
$status = $this
->t('Installed*');
$row = [
'info' => [
'#type' => 'inline_template',
'#template' => '<div class="description"><span class="label">{{ label }}</span>{% if description %}<br/>{{ description }}{% endif %}</div>',
'#context' => [
'label' => $plugin
->getLabel(),
],
],
'provider' => [
'#markup' => $this->moduleHandler
->getName($plugin
->getProvider()),
],
'entity_type_id' => [
'#markup' => $this->entityTypeManager
->getDefinition($plugin
->getEntityTypeId())
->getLabel(),
],
'status' => [
'#markup' => $status,
],
'operations' => $this
->buildOperations($plugin),
];
// Show the content enabler description if toggled on.
if (!system_admin_compact_mode()) {
$row['info']['#context']['description'] = $plugin
->getDescription();
}
return $row;
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
ControllerBase:: |
protected | property | The configuration factory. | |
ControllerBase:: |
protected | property | The current user service. | 1 |
ControllerBase:: |
protected | property | The entity form builder. | |
ControllerBase:: |
protected | property | The entity manager. | |
ControllerBase:: |
protected | property | The form builder. | 2 |
ControllerBase:: |
protected | property | The key-value storage. | 1 |
ControllerBase:: |
protected | property | The language manager. | 1 |
ControllerBase:: |
protected | property | The state service. | |
ControllerBase:: |
protected | function | Returns the requested cache bin. | |
ControllerBase:: |
protected | function | Retrieves a configuration object. | |
ControllerBase:: |
private | function | Returns the service container. | |
ControllerBase:: |
protected | function | Returns the current user. | 1 |
ControllerBase:: |
protected | function | Retrieves the entity form builder. | |
ControllerBase:: |
protected | function | Retrieves the entity manager service. | |
ControllerBase:: |
protected | function | Retrieves the entity type manager. | |
ControllerBase:: |
protected | function | Returns the form builder service. | 2 |
ControllerBase:: |
protected | function | Returns a key/value storage collection. | 1 |
ControllerBase:: |
protected | function | Returns the language manager service. | 1 |
ControllerBase:: |
protected | function | Returns the module handler. | 2 |
ControllerBase:: |
protected | function |
Returns a redirect response object for the specified route. Overrides UrlGeneratorTrait:: |
|
ControllerBase:: |
protected | function | Returns the state storage service. | |
EventGroupTypeController:: |
public | function | Builds a row for a content enabler plugin. | |
EventGroupTypeController:: |
public | function |
Builds an admin interface to manage the group type's group content plugins. Overrides GroupTypeController:: |
|
GroupTypeController:: |
protected | property |
The entity type manager. Overrides ControllerBase:: |
|
GroupTypeController:: |
protected | property | The group type to use in this controller. | |
GroupTypeController:: |
protected | property |
The module manager. Overrides ControllerBase:: |
|
GroupTypeController:: |
protected | property | The group content plugin manager. | |
GroupTypeController:: |
public | function | Builds operation links for the group type's content plugins. | |
GroupTypeController:: |
public | function | Builds a row for a content enabler plugin. | |
GroupTypeController:: |
public static | function |
Instantiates a new instance of this class. Overrides ControllerBase:: |
|
GroupTypeController:: |
protected | function | Gets the group type's content plugin's default operation links. | |
GroupTypeController:: |
public | function | Provides an array of information to build a list of operation links. | |
GroupTypeController:: |
public | function | Constructs a new GroupTypeController. | |
LinkGeneratorTrait:: |
protected | property | The link generator. | 1 |
LinkGeneratorTrait:: |
protected | function | Returns the link generator. | |
LinkGeneratorTrait:: |
protected | function | Renders a link to a route given a route name and its parameters. | |
LinkGeneratorTrait:: |
public | function | Sets the link generator service. | |
LoggerChannelTrait:: |
protected | property | The logger channel factory service. | |
LoggerChannelTrait:: |
protected | function | Gets the logger for a specific channel. | |
LoggerChannelTrait:: |
public | function | Injects the logger channel factory. | |
MessengerTrait:: |
protected | property | The messenger. | 29 |
MessengerTrait:: |
public | function | Gets the messenger. | 29 |
MessengerTrait:: |
public | function | Sets the messenger. | |
RedirectDestinationTrait:: |
protected | property | The redirect destination service. | 1 |
RedirectDestinationTrait:: |
protected | function | Prepares a 'destination' URL query parameter for use with \Drupal\Core\Url. | |
RedirectDestinationTrait:: |
protected | function | Returns the redirect destination service. | |
RedirectDestinationTrait:: |
public | function | Sets the redirect destination service. | |
StringTranslationTrait:: |
protected | property | The string translation service. | 1 |
StringTranslationTrait:: |
protected | function | Formats a string containing a count of items. | |
StringTranslationTrait:: |
protected | function | Returns the number of plurals supported by a given language. | |
StringTranslationTrait:: |
protected | function | Gets the string translation service. | |
StringTranslationTrait:: |
public | function | Sets the string translation service to use. | 2 |
StringTranslationTrait:: |
protected | function | Translates a string to the current language or to a given language. | |
UrlGeneratorTrait:: |
protected | property | The url generator. | |
UrlGeneratorTrait:: |
protected | function | Returns the URL generator service. | |
UrlGeneratorTrait:: |
public | function | Sets the URL generator service. | |
UrlGeneratorTrait:: |
protected | function | Generates a URL or path for a specific route based on the given parameters. |