diff --git a/config/install/core.entity_view_display.eventinstance.default.list.yml b/config/install/core.entity_view_display.eventinstance.default.list.yml new file mode 100644 index 0000000000000000000000000000000000000000..12fb9f8fed12d19299454b87aa5aaf5e0c9be720 --- /dev/null +++ b/config/install/core.entity_view_display.eventinstance.default.list.yml @@ -0,0 +1,42 @@ +langcode: en +status: true +dependencies: + config: + - core.entity_view_mode.eventinstance.list + - recurring_events.eventinstance_type.default + module: + - datetime_range + - text +id: eventinstance.default.list +targetEntityType: eventinstance +bundle: default +mode: list +content: + date: + label: hidden + type: daterange_default + weight: 1 + settings: + timezone_override: '' + format_type: short + separator: '-' + region: content + third_party_settings: { } + description: + type: text_trimmed + weight: 2 + region: content + label: visually_hidden + settings: + trim_length: 200 + third_party_settings: { } + title: + type: string + weight: 0 + region: content + label: hidden + settings: + link_to_entity: true + third_party_settings: { } +hidden: + body: true diff --git a/config/install/core.entity_view_display.eventseries.default.list.yml b/config/install/core.entity_view_display.eventseries.default.list.yml new file mode 100644 index 0000000000000000000000000000000000000000..b3f4281ce716f0dec71e8552fb05458707951fac --- /dev/null +++ b/config/install/core.entity_view_display.eventseries.default.list.yml @@ -0,0 +1,38 @@ +langcode: en +status: true +dependencies: + config: + - core.entity_view_mode.eventseries.list + - recurring_events.eventseries_type.default + module: + - text +id: eventseries.default.list +targetEntityType: eventseries +bundle: default +mode: list +content: + body: + label: hidden + weight: 1 + region: content + settings: + trim_length: 200 + third_party_settings: { } + type: text_trimmed + title: + label: hidden + weight: 0 + region: content + settings: + link_to_entity: true + third_party_settings: { } + type: string +hidden: + consecutive_recurring_date: true + custom_date: true + daily_recurring_date: true + event_instances: true + event_registration: true + monthly_recurring_date: true + recur_type: true + weekly_recurring_date: true diff --git a/config/install/core.entity_view_mode.eventinstance.list.yml b/config/install/core.entity_view_mode.eventinstance.list.yml new file mode 100644 index 0000000000000000000000000000000000000000..4e18aa05bea63b3293396b03c7d2a6d33db3b65b --- /dev/null +++ b/config/install/core.entity_view_mode.eventinstance.list.yml @@ -0,0 +1,9 @@ +langcode: en +status: true +dependencies: + module: + - recurring_events +id: eventinstance.list +label: List +targetEntityType: eventinstance +cache: true diff --git a/config/install/core.entity_view_mode.eventseries.list.yml b/config/install/core.entity_view_mode.eventseries.list.yml new file mode 100644 index 0000000000000000000000000000000000000000..62bae030254fe0ce498a6f2e294b315297deeaf7 --- /dev/null +++ b/config/install/core.entity_view_mode.eventseries.list.yml @@ -0,0 +1,9 @@ +langcode: en +status: true +dependencies: + module: + - recurring_events +id: eventseries.list +label: List +targetEntityType: eventseries +cache: true diff --git a/modules/recurring_events_registration/config/install/core.entity_view_mode.registrant.list.yml b/modules/recurring_events_registration/config/install/core.entity_view_mode.registrant.list.yml new file mode 100644 index 0000000000000000000000000000000000000000..375bf0a84d6210b5caddc71d3b568645cfe78cba --- /dev/null +++ b/modules/recurring_events_registration/config/install/core.entity_view_mode.registrant.list.yml @@ -0,0 +1,9 @@ +langcode: en +status: true +dependencies: + module: + - recurring_events_registration +id: registrant.list +label: List +targetEntityType: registrant +cache: true diff --git a/modules/recurring_events_registration/recurring_events_registration.links.action.yml b/modules/recurring_events_registration/recurring_events_registration.links.action.yml index ca2e9c9451f4077768ca78776ed34fc0c0120e9d..8e0ab878ec4ba7b77b872cd50e3cc3b2a9b32925 100644 --- a/modules/recurring_events_registration/recurring_events_registration.links.action.yml +++ b/modules/recurring_events_registration/recurring_events_registration.links.action.yml @@ -3,4 +3,5 @@ entity.registrant.instance_contact: route_name: entity.registrant.instance_contact title: 'Contact Registrants' appears_on: - - entity.registrant.instance_listing \ No newline at end of file + - entity.registrant.instance_listing + - view.registrations.event_registrant_list \ No newline at end of file diff --git a/modules/recurring_events_registration/recurring_events_registration.links.menu.yml b/modules/recurring_events_registration/recurring_events_registration.links.menu.yml index 99be424d79f21a8b3d87fcb19319f4216915fc51..7881024c5b7a99e2f11b4a1578a23dcb6f728d76 100644 --- a/modules/recurring_events_registration/recurring_events_registration.links.menu.yml +++ b/modules/recurring_events_registration/recurring_events_registration.links.menu.yml @@ -2,7 +2,7 @@ # Registrant menu items definition entity.registrant.collection: title: 'Registrants' - route_name: entity.registrant.collection + route_name: entity.registrant.admin_collection description: 'List Registrant entities' parent: events.admin.content weight: 100 diff --git a/modules/recurring_events_registration/recurring_events_registration.module b/modules/recurring_events_registration/recurring_events_registration.module index 6ab19f070ce4edb64d2c0bc924912666005949d1..aa58b9f2c7094068faa84b01406742eb2d034adb 100644 --- a/modules/recurring_events_registration/recurring_events_registration.module +++ b/modules/recurring_events_registration/recurring_events_registration.module @@ -418,7 +418,7 @@ function recurring_events_registration_registrant_insert(EntityInterface $entity $referenced_entity = $entity->getEventSeries(); break; - case 'eventseries': + case 'eventinstance': $referenced_entity = $entity->getEventInstance(); break; diff --git a/modules/recurring_events_registration/recurring_events_registration.routing.yml b/modules/recurring_events_registration/recurring_events_registration.routing.yml index 6b310fc18ded43bdd606a165547bf4c0c1904010..f9dcb0a421219151370fc865a5064988c7c60680 100644 --- a/modules/recurring_events_registration/recurring_events_registration.routing.yml +++ b/modules/recurring_events_registration/recurring_events_registration.routing.yml @@ -15,6 +15,8 @@ entity.registrant.admin_collection: _title: 'Registrations' requirements: _permission: 'access registrant overview' + options: + _admin_route: TRUE # Registrant settings admin page. registrant.settings: @@ -27,7 +29,7 @@ registrant.settings: # Registrant view route. entity.registrant.canonical: - path: '/events/{eventinstance}/registration/{registrant}' + path: '/events/{eventinstance}/registrations/{registrant}' defaults: _entity_view: 'registrant' _title_callback: '\Drupal\recurring_events_registration\Controller\RegistrantController::getTitle' @@ -42,7 +44,7 @@ entity.registrant.canonical: # Registrant add route. entity.registrant.add_form: - path: '/events/{eventinstance}/registration/add' + path: '/events/{eventinstance}/registrations/add' defaults: # Calls the form.add controller, defined in the Registrant entity. _entity_form: registrant.add @@ -56,7 +58,7 @@ entity.registrant.add_form: # Registrant edit route. entity.registrant.edit_form: - path: '/events/{eventinstance}/registration/{registrant}/edit' + path: '/events/{eventinstance}/registrations/{registrant}/edit' defaults: # Calls the form.edit controller, defined in the Registrant entity. _entity_form: registrant.edit @@ -72,7 +74,7 @@ entity.registrant.edit_form: # Registrant delete route. entity.registrant.delete_form: - path: '/events/{eventinstance}/registration/{registrant}/delete' + path: '/events/{eventinstance}/registrations/{registrant}/delete' defaults: # Calls the form.delete controller, defined in the Registrant entity. _entity_form: registrant.delete @@ -88,7 +90,7 @@ entity.registrant.delete_form: # Resend Registrant email. entity.registrant.resend_form: - path: '/events/{eventinstance}/registration/{registrant}/resend' + path: '/events/{eventinstance}/registrations/{registrant}/resend' defaults: _form: \Drupal\recurring_events_registration\Form\RegistrantResendForm _title: 'Resend Registration Email' @@ -103,7 +105,7 @@ entity.registrant.resend_form: # Registrant anonymous edit route. entity.registrant.anon_edit_form: - path: '/events/{eventinstance}/registration/{registrant}/{uuid}/edit' + path: '/events/{eventinstance}/registrations/{registrant}/{uuid}/edit' defaults: # Calls the form.edit controller, defined in the Registrant entity. _entity_form: registrant.edit @@ -121,7 +123,7 @@ entity.registrant.anon_edit_form: # Registrant anonymous delete route. entity.registrant.anon_delete_form: - path: '/events/{eventinstance}/registration/{registrant}/{uuid}/delete' + path: '/events/{eventinstance}/registrations/{registrant}/{uuid}/delete' defaults: # Calls the form.delete controller, defined in the Registrant entity. _entity_form: registrant.delete diff --git a/modules/recurring_events_registration/recurring_events_registration.services.yml b/modules/recurring_events_registration/recurring_events_registration.services.yml index 121738644419547c2e40dc94976ca1655d0190b3..73b971368a16b260f47874feff6eb9494ef54a61 100644 --- a/modules/recurring_events_registration/recurring_events_registration.services.yml +++ b/modules/recurring_events_registration/recurring_events_registration.services.yml @@ -5,4 +5,6 @@ services: recurring_events_registration.notification_service: class: Drupal\recurring_events_registration\NotificationService arguments: ['@string_translation', '@config.factory', '@logger.factory', '@messenger', '@token', '@module_handler', '@recurring_events_registration.creation_service'] - \ No newline at end of file + recurring_events_registration.access_handler: + class: Drupal\recurring_events_registration\AccessHandler + arguments: ['@string_translation', '@recurring_events_registration.creation_service', '@current_route_match'] \ No newline at end of file diff --git a/modules/recurring_events_registration/src/AccessHandler.php b/modules/recurring_events_registration/src/AccessHandler.php new file mode 100644 index 0000000000000000000000000000000000000000..247706b16ac8277ce1ba718144cb75f9c797e87a --- /dev/null +++ b/modules/recurring_events_registration/src/AccessHandler.php @@ -0,0 +1,115 @@ +<?php + +namespace Drupal\recurring_events_registration; + +use Drupal\Core\StringTranslation\TranslationInterface; +use Drupal\Core\Session\AccountInterface; +use Symfony\Component\Routing\Route; +use Drupal\Core\Access\AccessResult; +use Drupal\Core\Routing\CurrentRouteMatch; +use Drupal\recurring_events\EventInterface; +use Symfony\Component\DependencyInjection\ContainerInterface; + +/** + * AccessHandler class definition. + */ +class AccessHandler { + /** + * The translation interface. + * + * @var \Drupal\Core\StringTranslation\TranslationInterface + */ + private $translation; + + /** + * The registration creation service. + * + * @var \Drupal\recurring_events_registration\RegistrationCreationService + */ + protected $creationService; + + /** + * The current route match. + * + * @var \Drupal\Core\Routing\CurrentRouteMatch + */ + protected $routeMatch; + + /** + * Class constructor. + * + * @param \Drupal\Core\StringTranslation\TranslationInterface $translation + * The translation interface. + * @param \Drupal\recurring_events_registration\RegistrationCreationService $creation_service + * The registration creation service. + * @param Drupal\Core\Routing\CurrentRouteMatch $route_match + * The current route match. + */ + public function __construct(TranslationInterface $translation, RegistrationCreationService $creation_service, CurrentRouteMatch $route_match) { + $this->translation = $translation; + $this->creationService = $creation_service; + $this->routeMatch = $route_match; + } + + /** + * {@inheritdoc} + */ + public static function create(ContainerInterface $container) { + return new static( + $container->get('string_translation'), + $container->get('recurring_events_registration.creation_service'), + $container->get('current_route_match') + ); + } + + /** + * Access control based on whether event has registration. + * + * @return bool + * TRUE if event has registration, FALSE otherwise. + */ + public function eventHasRegistration() { + $has_registration = FALSE; + $event_instance = $this->routeMatch->getParameter('eventinstance'); + if (!empty($event_instance)) { + + if (!$event_instance instanceof EventInterface && is_numeric($event_instance)) { + $event_instance = \Drupal::entityTypeManager()->getStorage('eventinstance')->load($event_instance); + } + + if ($event_instance instanceof EventInterface) { + $this->creationService->setEventInstance($event_instance); + $has_registration = $this->creationService->hasRegistration(); + } + } + return $has_registration; + } + + /** + * Access control based on whether the account has the right permission. + * + * @param Drupal\Core\Session\AccountInterface $account + * The current route. + * + * @return bool + * TRUE if user has access, FALSE otherwise. + */ + public function userHasPermission(AccountInterface $account) { + return $account->hasPermission('access registrant overview'); + } + + /** + * Access control for the Event Registration List view. + */ + public function eventRegistrationListAccess(AccountInterface $account, Route $route) { + if (!$this->eventHasRegistration()) { + return AccessResult::forbidden(); + } + + if (!$this->userHasPermission($account)) { + return AccessResult::forbidden(); + } + return AccessResult::allowed(); + } + +} diff --git a/modules/recurring_events_registration/src/Entity/Registrant.php b/modules/recurring_events_registration/src/Entity/Registrant.php index 292209974be794205f4d6f3b66a353b16ba20f07..7839445ab9344c64c3cf4a522bf8198e83b4eb1b 100644 --- a/modules/recurring_events_registration/src/Entity/Registrant.php +++ b/modules/recurring_events_registration/src/Entity/Registrant.php @@ -48,11 +48,11 @@ use Drupal\recurring_events_registration\Plugin\Field\ComputedRegistrantTitleFie * "bundle" = "bundle", * }, * links = { - * "canonical" = "/events/{eventinstance}/registrant/{registrant}", - * "edit-form" = "/events/{eventinstance}/registrant/{registrant}/edit", - * "delete-form" = "/events/{eventinstance}/registrant/{registrant}/delete", - * "anon-edit-form" = "/events/{eventinstance}/registrant/{registrant}/{uuid}/edit", - * "anon-delete-form" = "/events/{eventinstance}/registrant/{registrant}/{uuid}/delete" + * "canonical" = "/events/{eventinstance}/registrations//{registrant}", + * "edit-form" = "/events/{eventinstance}/registrations//{registrant}/edit", + * "delete-form" = "/events/{eventinstance}/registrations/{registrant}/delete", + * "anon-edit-form" = "/events/{eventinstance}/registrations/{registrant}/{uuid}/edit", + * "anon-delete-form" = "/events/{eventinstance}/registrations/{registrant}/{uuid}/delete" * }, * bundle_entity_type = "registrant_type", * field_ui_base_route = "entity.registrant_type.edit_form" diff --git a/modules/recurring_events_registration/src/Plugin/views/access/EventRegistrationListAccess.php b/modules/recurring_events_registration/src/Plugin/views/access/EventRegistrationListAccess.php new file mode 100644 index 0000000000000000000000000000000000000000..2bfc1d48a0db1f8a0a766498a30bd745717c4ca7 --- /dev/null +++ b/modules/recurring_events_registration/src/Plugin/views/access/EventRegistrationListAccess.php @@ -0,0 +1,81 @@ +<?php + +namespace Drupal\recurring_events_registration\Plugin\views\access; + +use Drupal\views\Plugin\views\access\AccessPluginBase; +use Drupal\Core\Session\AccountInterface; +use Symfony\Component\Routing\Route; +use Drupal\recurring_events_registration\AccessHandler; +use Symfony\Component\DependencyInjection\ContainerInterface; + +/** + * Custom access plugin for Event Registration views. + * + * @ingroup views_access_plugins + * + * @ViewsAccess( + * id = "event_registration_list_access", + * title = @Translation("View Event Registration List"), + * help = @Translation("Access will be granted depending on the registration configuration of an event.") + * ) + */ +class EventRegistrationListAccess extends AccessPluginBase { + + /** + * The access handler. + * + * @var \Drupal\recurring_events_registration\AccessHandler + */ + protected $accessHandler; + + /** + * Constructs an EventRegistrationListAccess object. + * + * @param array $configuration + * A configuration array containing information about the plugin instance. + * @param string $plugin_id + * The plugin_id for the plugin instance. + * @param mixed $plugin_definition + * The plugin implementation definition. + * @param Drupal\recurring_events_registration\AccessHandler $access_handler + * The access handler. + */ + public function __construct(array $configuration, $plugin_id, $plugin_definition, AccessHandler $access_handler) { + parent::__construct($configuration, $plugin_id, $plugin_definition); + $this->accessHandler = $access_handler; + } + + /** + * {@inheritdoc} + */ + public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition) { + return new static( + $configuration, + $plugin_id, + $plugin_definition, + $container->get('recurring_events_registration.access_handler') + ); + } + + /** + * {@inheritdoc} + */ + public function summaryTitle() { + return $this->t('Event Registration Access'); + } + + /** + * {@inheritdoc} + */ + public function access(AccountInterface $account) { + return $this->accessHandler->eventHasRegistration() && $this->accessHandler->userHasPermission($account); + } + + /** + * {@inheritdoc} + */ + public function alterRouteDefinition(Route $route) { + $route->setRequirement('_custom_access', 'recurring_events_registration.access_handler::eventRegistrationListAccess'); + } + +} diff --git a/modules/recurring_events_registration/src/RegistrantAccessControlHandler.php b/modules/recurring_events_registration/src/RegistrantAccessControlHandler.php index f1d814a684a193e2f10624fef4616cc2fb08d50b..3d58f29c721f7c5bcc8d06ad4253c2f3601bef8f 100644 --- a/modules/recurring_events_registration/src/RegistrantAccessControlHandler.php +++ b/modules/recurring_events_registration/src/RegistrantAccessControlHandler.php @@ -10,6 +10,7 @@ use Drupal\Component\Uuid\Uuid; use Symfony\Component\DependencyInjection\ContainerInterface; use Drupal\Core\Entity\EntityTypeInterface; use Drupal\Core\Entity\EntityHandlerInterface; +use Drupal\Core\Entity\EntityTypeManagerInterface; /** * Access controller for the Registrant entity. @@ -25,6 +26,13 @@ class RegistrantAccessControlHandler extends EntityAccessControlHandler implemen */ protected $creationService; + /** + * The entity type manager service. + * + * @var \Drupal\Core\Entity\EntityTypeManagerInterface + */ + protected $entityTypeManager; + /** * RegistrantAccessControlHandler constructor. * @@ -32,10 +40,13 @@ class RegistrantAccessControlHandler extends EntityAccessControlHandler implemen * The entity type. * @param \Drupal\recurring_events_registration\RegistrationCreationService $creation_service * The creation service. + * @param \Drupal\Core\Entity\EntityTypeManagerInterface $entity_type_manager + * The entity type manager service. */ - public function __construct(EntityTypeInterface $entity_type, RegistrationCreationService $creation_service) { + public function __construct(EntityTypeInterface $entity_type, RegistrationCreationService $creation_service, EntityTypeManagerInterface $entity_type_manager) { parent::__construct($entity_type); $this->creationService = $creation_service; + $this->entityTypeManager = $entity_type_manager; } /** @@ -44,7 +55,8 @@ class RegistrantAccessControlHandler extends EntityAccessControlHandler implemen public static function createInstance(ContainerInterface $container, EntityTypeInterface $entity_type) { return new static( $entity_type, - $container->get('recurring_events_registration.creation_service') + $container->get('recurring_events_registration.creation_service'), + $container->get('entity_type.manager') ); } @@ -87,6 +99,9 @@ class RegistrantAccessControlHandler extends EntityAccessControlHandler implemen protected function checkCreateAccess(AccountInterface $account, array $context, $entity_bundle = NULL) { $params = \Drupal::request()->attributes->all(); if (!empty($params['eventinstance'])) { + if (is_string($params['eventinstance']) || is_numeric($params['eventinstance'])) { + $params['eventinstance'] = $this->entityTypeManager->getStorage('eventinstance')->load($params['eventinstance']); + } $this->creationService->setEventInstance($params['eventinstance']); if ($this->creationService->hasRegistration()) { return AccessResult::allowedIfHasPermission($account, 'add registrant entities'); diff --git a/modules/recurring_events_views/README.md b/modules/recurring_events_views/README.md new file mode 100644 index 0000000000000000000000000000000000000000..2ca610fe668412af25fee88d3f0d32fcc3abf13c --- /dev/null +++ b/modules/recurring_events_views/README.md @@ -0,0 +1,22 @@ +# Recurring Events Views (recurring_events_views) +--- + +## Introduction +Recurring Events provides listings for event series, event instances and registrations. For many installations this will provide a satisfactory way of managing events without the need to install extra modules. + +For those cases which call for something more flexible, views integration is provided by an optional sub-module called Recurring Events Views (recurring_events_views). + +After enabling this submodule, all listings are replaced by views and no further configuration is necessary. + +### Views are provided for; + +- Event Series +- Event Instances +- Registrations + +Admin views are available to user roles with suitable permissions. There are also views for anonymous and authenticated users, for the front end. + +- Admin views are provided with sensible default settings and some useful exposed filters. +- The front end event series listings, display only events taking place in the present or future. + +The default views can be further customized as needed. diff --git a/modules/recurring_events_views/config/install/views.view.event_series.yml b/modules/recurring_events_views/config/install/views.view.event_series.yml new file mode 100644 index 0000000000000000000000000000000000000000..13c81fdac0e9038e66afc34058891ab31bbc8824 --- /dev/null +++ b/modules/recurring_events_views/config/install/views.view.event_series.yml @@ -0,0 +1,1426 @@ +langcode: en +status: true +dependencies: + config: + - core.entity_view_mode.eventseries.list + - system.menu.main + module: + - options + - recurring_events + - user +id: event_series +label: 'Event Series' +module: views +description: 'A view showing all the event series on the site.' +tag: '' +base_table: eventseries_field_data +base_field: id +display: + default: + display_plugin: default + id: default + display_title: Master + position: 0 + display_options: + access: + type: perm + options: + perm: 'view eventseries entity' + cache: + type: tag + options: { } + query: + type: views_query + options: + disable_sql_rewrite: false + distinct: false + replica: false + query_comment: '' + query_tags: { } + exposed_form: + type: basic + options: + submit_button: Apply + reset_button: false + reset_button_label: Reset + exposed_sorts_label: 'Sort by' + expose_sort_order: true + sort_asc_label: Asc + sort_desc_label: Desc + pager: + type: full + options: + items_per_page: 10 + offset: 0 + id: 0 + total_pages: null + tags: + previous: ‹‹ + next: ›› + first: '« First' + last: 'Last »' + expose: + items_per_page: false + items_per_page_label: 'Items per page' + items_per_page_options: '5, 10, 25, 50' + items_per_page_options_all: false + items_per_page_options_all_label: '- All -' + offset: false + offset_label: Offset + quantity: 9 + style: + type: table + row: + type: fields + fields: + title: + id: title + table: eventseries_field_data + field: title + relationship: none + group_type: group + admin_label: '' + label: Title + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: string + settings: + link_to_entity: true + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + entity_type: null + entity_field: title + plugin_id: field + type: + id: type + table: eventseries_field_data + field: type + relationship: none + group_type: group + admin_label: '' + label: Type + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: target_id + type: entity_reference_label + settings: + link: false + group_column: target_id + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + entity_type: eventseries + entity_field: type + plugin_id: field + recur_type: + id: recur_type + table: eventseries_field_data + field: recur_type + relationship: none + group_type: group + admin_label: '' + label: 'Recur Type' + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: list_default + settings: { } + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + entity_type: eventseries + entity_field: recur_type + plugin_id: field + eventseries_instance_count: + id: eventseries_instance_count + table: eventseries_field_data + field: eventseries_instance_count + relationship: none + group_type: group + admin_label: '' + label: Instances + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + entity_type: eventseries + plugin_id: eventseries_instance_count + eventseries_start_date: + id: eventseries_start_date + table: eventseries_field_data + field: eventseries_start_date + relationship: none + group_type: group + admin_label: '' + label: 'Series Starts' + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + entity_type: eventseries + plugin_id: eventseries_start_date + uid: + id: uid + table: eventseries_field_data + field: uid + relationship: none + group_type: group + admin_label: '' + label: Author + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: target_id + type: entity_reference_label + settings: + link: true + group_column: target_id + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + entity_type: eventseries + entity_field: uid + plugin_id: field + status: + id: status + table: eventseries_field_data + field: status + relationship: none + group_type: group + admin_label: '' + label: Published + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: boolean + settings: + format: yes-no + format_custom_true: '' + format_custom_false: '' + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + entity_type: eventseries + entity_field: status + plugin_id: field + created: + id: created + table: eventseries_field_data + field: created + relationship: none + group_type: group + admin_label: '' + label: Created + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: timestamp + settings: + date_format: medium + custom_date_format: '' + timezone: '' + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + entity_type: eventseries + entity_field: created + plugin_id: field + changed: + id: changed + table: eventseries_field_data + field: changed + relationship: none + group_type: group + admin_label: '' + label: Changed + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: timestamp + settings: + date_format: medium + custom_date_format: '' + timezone: '' + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + entity_type: eventseries + entity_field: changed + plugin_id: field + operations: + id: operations + table: eventseries + field: operations + relationship: none + group_type: group + admin_label: '' + label: Operations + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + destination: false + entity_type: eventseries + plugin_id: entity_operations + filters: + title: + id: title + table: eventseries_field_data + field: title + relationship: none + group_type: group + admin_label: '' + operator: contains + value: '' + group: 1 + exposed: true + expose: + operator_id: title_op + label: Title + description: '' + use_operator: false + operator: title_op + identifier: title + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + administrator: '0' + placeholder: '' + operator_limit_selection: false + operator_list: { } + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + entity_type: eventseries + entity_field: title + plugin_id: string + type: + id: type + table: eventseries_field_data + field: type + relationship: none + group_type: group + admin_label: '' + operator: in + value: { } + group: 1 + exposed: true + expose: + operator_id: type_op + label: Type + description: '' + use_operator: false + operator: type_op + identifier: type + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + administrator: '0' + reduce: false + operator_limit_selection: false + operator_list: { } + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + entity_type: eventseries + entity_field: type + plugin_id: bundle + recur_type: + id: recur_type + table: eventseries_field_data + field: recur_type + relationship: none + group_type: group + admin_label: '' + operator: contains + value: '' + group: 1 + exposed: true + expose: + operator_id: recur_type_op + label: 'Recur Type' + description: '' + use_operator: false + operator: recur_type_op + identifier: recur_type + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + administrator: '0' + placeholder: '' + operator_limit_selection: false + operator_list: { } + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + entity_type: eventseries + entity_field: recur_type + plugin_id: string + uid: + id: uid + table: users_field_data + field: uid + relationship: uid + group_type: group + admin_label: '' + operator: in + value: { } + group: 1 + exposed: true + expose: + operator_id: uid_op + label: Author + description: '' + use_operator: false + operator: uid_op + identifier: uid + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + administrator: '0' + reduce: false + operator_limit_selection: false + operator_list: { } + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + entity_type: user + entity_field: uid + plugin_id: user_name + created: + id: created + table: eventseries_field_data + field: created + relationship: none + group_type: group + admin_label: '' + operator: '>=' + value: + min: '' + max: '' + value: '' + type: date + group: 1 + exposed: true + expose: + operator_id: created_op + label: 'Created After' + description: '' + use_operator: false + operator: created_op + identifier: created + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + administrator: '0' + placeholder: '' + min_placeholder: '' + max_placeholder: '' + operator_limit_selection: false + operator_list: { } + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + entity_type: eventseries + entity_field: created + plugin_id: date + created_1: + id: created_1 + table: eventseries_field_data + field: created + relationship: none + group_type: group + admin_label: '' + operator: '<=' + value: + min: '' + max: '' + value: '' + type: date + group: 1 + exposed: true + expose: + operator_id: created_1_op + label: 'Created Before' + description: '' + use_operator: false + operator: created_1_op + identifier: created_1 + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + administrator: '0' + placeholder: '' + min_placeholder: '' + max_placeholder: '' + operator_limit_selection: false + operator_list: { } + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + entity_type: eventseries + entity_field: created + plugin_id: date + status: + id: status + table: eventseries_field_data + field: status + relationship: none + group_type: group + admin_label: '' + operator: '=' + value: All + group: 1 + exposed: true + expose: + operator_id: '' + label: Published + description: '' + use_operator: false + operator: status_op + identifier: status + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + administrator: '0' + operator_limit_selection: false + operator_list: { } + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + entity_type: eventseries + entity_field: status + plugin_id: boolean + sorts: + title: + id: title + table: eventseries_field_data + field: title + relationship: none + group_type: group + admin_label: '' + order: ASC + exposed: false + expose: + label: '' + entity_type: eventseries + entity_field: title + plugin_id: standard + title: 'Event Series' + header: { } + footer: { } + empty: { } + relationships: + uid: + id: uid + table: eventseries_field_data + field: uid + relationship: none + group_type: group + admin_label: User + required: false + entity_type: eventseries + entity_field: uid + plugin_id: standard + arguments: { } + display_extenders: { } + filter_groups: + operator: AND + groups: + 1: AND + cache_metadata: + max-age: -1 + contexts: + - 'languages:language_content' + - 'languages:language_interface' + - url + - url.query_args + - user.permissions + tags: { } + admin_page: + display_plugin: page + id: admin_page + display_title: Page + position: 1 + display_options: + display_extenders: { } + path: admin/content/events/series + access: + type: perm + options: + perm: 'access eventseries overview' + defaults: + access: false + pager: false + filters: false + filter_groups: false + pager: + type: full + options: + items_per_page: 25 + offset: 0 + id: 0 + total_pages: null + tags: + previous: ‹‹ + next: ›› + first: '« First' + last: 'Last »' + expose: + items_per_page: false + items_per_page_label: 'Items per page' + items_per_page_options: '5, 10, 25, 50' + items_per_page_options_all: false + items_per_page_options_all_label: '- All -' + offset: false + offset_label: Offset + quantity: 9 + filters: + title: + id: title + table: eventseries_field_data + field: title + relationship: none + group_type: group + admin_label: '' + operator: contains + value: '' + group: 1 + exposed: true + expose: + operator_id: title_op + label: Title + description: '' + use_operator: false + operator: title_op + identifier: title + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + administrator: '0' + placeholder: '' + operator_limit_selection: false + operator_list: { } + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + entity_type: eventseries + entity_field: title + plugin_id: string + type: + id: type + table: eventseries_field_data + field: type + relationship: none + group_type: group + admin_label: '' + operator: in + value: { } + group: 1 + exposed: true + expose: + operator_id: type_op + label: Type + description: '' + use_operator: false + operator: type_op + identifier: type + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + administrator: '0' + reduce: false + operator_limit_selection: false + operator_list: { } + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + entity_type: eventseries + entity_field: type + plugin_id: bundle + recur_type: + id: recur_type + table: eventseries_field_data + field: recur_type + relationship: none + group_type: group + admin_label: '' + operator: contains + value: '' + group: 1 + exposed: true + expose: + operator_id: recur_type_op + label: 'Recur Type' + description: '' + use_operator: false + operator: recur_type_op + operator_limit_selection: false + operator_list: { } + identifier: recur_type + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + administrator: '0' + placeholder: '' + is_grouped: true + group_info: + label: 'Recur Type' + description: '' + identifier: recur_type + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: + 1: + title: Consecutive + operator: contains + value: consecutive_recurring_date + 2: + title: Daily + operator: contains + value: daily_recurring_date + 3: + title: Weekly + operator: contains + value: weekly_recurring_date + 4: + title: Monthly + operator: contains + value: monthly_recurring_date + 5: + title: Custom + operator: contains + value: custom + entity_type: eventseries + entity_field: recur_type + plugin_id: string + status: + id: status + table: eventseries_field_data + field: status + relationship: none + group_type: group + admin_label: '' + operator: '=' + value: All + group: 1 + exposed: true + expose: + operator_id: '' + label: Published + description: '' + use_operator: false + operator: status_op + operator_limit_selection: false + operator_list: { } + identifier: status + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + administrator: '0' + is_grouped: true + group_info: + label: Published + description: '' + identifier: status + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: + 1: + title: Published + operator: '=' + value: '1' + 2: + title: Unpublished + operator: '=' + value: '0' + entity_type: eventseries + entity_field: status + plugin_id: boolean + filter_groups: + operator: AND + groups: + 1: AND + cache_metadata: + max-age: -1 + contexts: + - 'languages:language_content' + - 'languages:language_interface' + - url + - url.query_args + - user.permissions + tags: { } + eventseries_listing: + display_plugin: page + id: eventseries_listing + display_title: Page + position: 1 + display_options: + display_extenders: { } + path: events/series + menu: + type: normal + title: 'Event Series' + description: 'Event series listing' + expanded: false + parent: '' + weight: 0 + context: '0' + menu_name: main + style: + type: default + options: + grouping: { } + row_class: '' + default_row_class: true + defaults: + style: false + row: false + filters: false + filter_groups: false + row: + type: 'entity:eventseries' + options: + relationship: none + view_mode: list + filters: + title: + id: title + table: eventseries_field_data + field: title + relationship: none + group_type: group + admin_label: '' + operator: contains + value: '' + group: 1 + exposed: true + expose: + operator_id: title_op + label: Title + description: '' + use_operator: false + operator: title_op + identifier: title + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + administrator: '0' + placeholder: '' + operator_limit_selection: false + operator_list: { } + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + entity_type: eventseries + entity_field: title + plugin_id: string + status: + id: status + table: eventseries_field_data + field: status + relationship: none + group_type: group + admin_label: '' + operator: '=' + value: '1' + group: 1 + exposed: false + expose: + operator_id: '' + label: '' + description: '' + use_operator: false + operator: '' + operator_limit_selection: false + operator_list: { } + identifier: '' + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + entity_type: eventseries + entity_field: status + plugin_id: boolean + filter_groups: + operator: AND + groups: + 1: AND + cache_metadata: + max-age: -1 + contexts: + - 'languages:language_content' + - 'languages:language_interface' + - url + - url.query_args + - user.permissions + tags: { } diff --git a/modules/recurring_events_views/config/install/views.view.events.yml b/modules/recurring_events_views/config/install/views.view.events.yml new file mode 100644 index 0000000000000000000000000000000000000000..f9d6805cdb4eae2a31d4b3a3d2e6765f03d33ed2 --- /dev/null +++ b/modules/recurring_events_views/config/install/views.view.events.yml @@ -0,0 +1,2127 @@ +langcode: en +status: true +dependencies: + config: + - core.entity_view_mode.eventinstance.list + - system.menu.main + module: + - datetime + - datetime_range + - recurring_events + - user +id: events +label: Events +module: views +description: 'A view showing all the event instances on the site' +tag: '' +base_table: eventinstance_field_data +base_field: id +display: + default: + display_plugin: default + id: default + display_title: Master + position: 0 + display_options: + access: + type: perm + options: + perm: 'view eventinstance entity' + cache: + type: tag + options: { } + query: + type: views_query + options: + disable_sql_rewrite: false + distinct: false + replica: false + query_comment: '' + query_tags: { } + exposed_form: + type: basic + options: + submit_button: Apply + reset_button: false + reset_button_label: Reset + exposed_sorts_label: 'Sort by' + expose_sort_order: true + sort_asc_label: Asc + sort_desc_label: Desc + pager: + type: full + options: + items_per_page: 10 + offset: 0 + id: 0 + total_pages: null + tags: + previous: ‹‹ + next: ›› + first: '« First' + last: 'Last »' + expose: + items_per_page: false + items_per_page_label: 'Items per page' + items_per_page_options: '5, 10, 25, 50' + items_per_page_options_all: false + items_per_page_options_all_label: '- All -' + offset: false + offset_label: Offset + quantity: 9 + style: + type: table + options: + grouping: { } + row_class: '' + default_row_class: true + override: true + sticky: false + caption: '' + summary: '' + description: '' + columns: + title: title + view_eventseries: view_eventseries + view_eventinstance: view_eventinstance + title_2: title_2 + title_1: title_1 + date__value: date__value + info: + title: + sortable: false + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + view_eventseries: + sortable: false + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + view_eventinstance: + sortable: false + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + title_2: + sortable: false + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + title_1: + sortable: false + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + date__value: + sortable: false + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + default: '-1' + empty_table: false + row: + type: 'entity:eventinstance' + fields: + title: + id: title + table: eventseries_field_data + field: title + relationship: eventseries_id + group_type: group + admin_label: '' + label: '' + exclude: true + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: false + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: string + settings: + link_to_entity: false + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + entity_type: eventseries + entity_field: title + plugin_id: field + view_eventseries: + id: view_eventseries + table: eventseries + field: view_eventseries + relationship: eventseries_id + group_type: group + admin_label: '' + label: '' + exclude: true + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: false + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + text: view + output_url_as_text: true + absolute: false + entity_type: eventseries + plugin_id: entity_link + view_eventinstance: + id: view_eventinstance + table: eventinstance + field: view_eventinstance + relationship: none + group_type: group + admin_label: '' + label: '' + exclude: true + alter: + alter_text: false + text: '{{ title }}' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: false + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + text: '' + output_url_as_text: true + absolute: false + entity_type: eventinstance + plugin_id: entity_link + title_2: + id: title_2 + table: eventseries_field_data + field: title + relationship: eventseries_id + group_type: group + admin_label: '' + label: 'Event Name' + exclude: false + alter: + alter_text: true + text: '{{ title }}' + make_link: true + path: '{{ view_eventinstance }}' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: string + settings: + link_to_entity: false + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + entity_type: eventseries + entity_field: title + plugin_id: field + title_1: + id: title_1 + table: eventseries_field_data + field: title + relationship: eventseries_id + group_type: group + admin_label: '' + label: Series + exclude: false + alter: + alter_text: true + text: '{{ "View Series"|t }}' + make_link: true + path: '{{ view_eventseries }}' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: string + settings: + link_to_entity: true + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + entity_type: eventseries + entity_field: title + plugin_id: field + type: + id: type + table: eventinstance_field_data + field: type + relationship: none + group_type: group + admin_label: '' + label: Type + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: target_id + type: entity_reference_label + settings: + link: false + group_column: target_id + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + entity_type: eventinstance + entity_field: type + plugin_id: field + date__value: + id: date__value + table: eventinstance_field_data + field: date__value + relationship: none + group_type: group + admin_label: '' + label: 'Event Date' + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: daterange_default + settings: + timezone_override: '' + format_type: medium + fromto: start_date + separator: '-' + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + entity_type: eventinstance + entity_field: date + plugin_id: field + uid: + id: uid + table: eventinstance_field_data + field: uid + relationship: none + group_type: group + admin_label: '' + label: Author + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: target_id + type: entity_reference_label + settings: + link: true + group_column: target_id + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + entity_type: eventinstance + entity_field: uid + plugin_id: field + status: + id: status + table: eventinstance_field_data + field: status + relationship: none + group_type: group + admin_label: '' + label: Published + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: boolean + settings: + format: yes-no + format_custom_true: '' + format_custom_false: '' + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + entity_type: eventinstance + entity_field: status + plugin_id: field + created: + id: created + table: eventinstance_field_data + field: created + relationship: none + group_type: group + admin_label: '' + label: Created + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: timestamp + settings: + date_format: medium + custom_date_format: '' + timezone: '' + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + entity_type: eventinstance + entity_field: created + plugin_id: field + changed: + id: changed + table: eventinstance_field_data + field: changed + relationship: none + group_type: group + admin_label: '' + label: Changed + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: timestamp + settings: + date_format: medium + custom_date_format: '' + timezone: '' + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + entity_type: eventinstance + entity_field: changed + plugin_id: field + operations: + id: operations + table: eventinstance + field: operations + relationship: none + group_type: group + admin_label: '' + label: Operations + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + destination: false + entity_type: eventinstance + plugin_id: entity_operations + filters: + title: + id: title + table: eventseries_field_data + field: title + relationship: eventseries_id + group_type: group + admin_label: '' + operator: contains + value: '' + group: 1 + exposed: true + expose: + operator_id: title_op + label: 'Event Name' + description: '' + use_operator: false + operator: title_op + identifier: title + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + administrator: '0' + placeholder: '' + operator_limit_selection: false + operator_list: { } + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + entity_type: eventseries + entity_field: title + plugin_id: string + type: + id: type + table: eventinstance_field_data + field: type + relationship: none + group_type: group + admin_label: '' + operator: in + value: { } + group: 1 + exposed: true + expose: + operator_id: type_op + label: Type + description: '' + use_operator: false + operator: type_op + identifier: type + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + administrator: '0' + reduce: false + operator_limit_selection: false + operator_list: { } + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + entity_type: eventinstance + entity_field: type + plugin_id: bundle + uid: + id: uid + table: users_field_data + field: uid + relationship: uid + group_type: group + admin_label: '' + operator: in + value: { } + group: 1 + exposed: true + expose: + operator_id: uid_op + label: Author + description: '' + use_operator: false + operator: uid_op + identifier: uid + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + administrator: '0' + reduce: false + operator_limit_selection: false + operator_list: { } + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + entity_type: user + entity_field: uid + plugin_id: user_name + created: + id: created + table: eventinstance_field_data + field: created + relationship: none + group_type: group + admin_label: '' + operator: '>=' + value: + min: '' + max: '' + value: '' + type: date + group: 1 + exposed: true + expose: + operator_id: created_op + label: 'Created After' + description: '' + use_operator: false + operator: created_op + identifier: created + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + administrator: '0' + placeholder: '' + min_placeholder: '' + max_placeholder: '' + operator_limit_selection: false + operator_list: { } + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + entity_type: eventinstance + entity_field: created + plugin_id: date + created_1: + id: created_1 + table: eventinstance_field_data + field: created + relationship: none + group_type: group + admin_label: '' + operator: '<=' + value: + min: '' + max: '' + value: '' + type: date + group: 1 + exposed: true + expose: + operator_id: created_1_op + label: 'Created Before' + description: '' + use_operator: false + operator: created_1_op + identifier: created_1 + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + administrator: '0' + placeholder: '' + min_placeholder: '' + max_placeholder: '' + operator_limit_selection: false + operator_list: { } + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + entity_type: eventinstance + entity_field: created + plugin_id: date + status: + id: status + table: eventinstance_field_data + field: status + relationship: none + group_type: group + admin_label: '' + operator: '=' + value: All + group: 1 + exposed: true + expose: + operator_id: '' + label: Published + description: '' + use_operator: false + operator: status_op + identifier: status + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + administrator: '0' + operator_limit_selection: false + operator_list: { } + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + entity_type: eventinstance + entity_field: status + plugin_id: boolean + sorts: + date__value: + id: date__value + table: eventinstance_field_data + field: date__value + relationship: none + group_type: group + admin_label: '' + order: ASC + exposed: false + expose: + label: '' + entity_type: eventinstance + entity_field: date + plugin_id: standard + title: + id: title + table: eventseries_field_data + field: title + relationship: eventseries_id + group_type: group + admin_label: '' + order: ASC + exposed: false + expose: + label: '' + entity_type: eventseries + entity_field: title + plugin_id: standard + title: Events + header: { } + footer: { } + empty: { } + relationships: + eventseries_id: + id: eventseries_id + table: eventinstance_field_data + field: eventseries_id + relationship: none + group_type: group + admin_label: 'Event series entity' + required: true + entity_type: eventinstance + entity_field: eventseries_id + plugin_id: standard + uid: + id: uid + table: eventinstance_field_data + field: uid + relationship: none + group_type: group + admin_label: User + required: false + entity_type: eventinstance + entity_field: uid + plugin_id: standard + arguments: { } + display_extenders: { } + filter_groups: + operator: AND + groups: + 1: AND + cache_metadata: + max-age: -1 + contexts: + - 'languages:language_content' + - 'languages:language_interface' + - url + - url.query_args + - user.permissions + tags: { } + admin_page: + display_plugin: page + id: admin_page + display_title: Page + position: 1 + display_options: + display_extenders: { } + path: admin/content/events/instances + access: + type: perm + options: + perm: 'access eventinstance overview' + defaults: + access: false + pager: false + filters: false + filter_groups: false + pager: + type: full + options: + items_per_page: 25 + offset: 0 + id: 0 + total_pages: null + tags: + previous: ‹‹ + next: ›› + first: '« First' + last: 'Last »' + expose: + items_per_page: false + items_per_page_label: 'Items per page' + items_per_page_options: '5, 10, 25, 50' + items_per_page_options_all: false + items_per_page_options_all_label: '- All -' + offset: false + offset_label: Offset + quantity: 9 + exposed_block: false + filters: + title: + id: title + table: eventseries_field_data + field: title + relationship: eventseries_id + group_type: group + admin_label: '' + operator: contains + value: '' + group: 1 + exposed: true + expose: + operator_id: title_op + label: 'Event Name' + description: '' + use_operator: false + operator: title_op + identifier: title + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + administrator: '0' + placeholder: '' + operator_limit_selection: false + operator_list: { } + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + entity_type: eventseries + entity_field: title + plugin_id: string + type: + id: type + table: eventinstance_field_data + field: type + relationship: none + group_type: group + admin_label: '' + operator: in + value: { } + group: 1 + exposed: true + expose: + operator_id: type_op + label: Type + description: '' + use_operator: false + operator: type_op + identifier: type + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + administrator: '0' + reduce: false + operator_limit_selection: false + operator_list: { } + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + entity_type: eventinstance + entity_field: type + plugin_id: bundle + date__value_2: + id: date__value_2 + table: eventinstance_field_data + field: date__value + relationship: none + group_type: group + admin_label: '' + operator: '=' + value: + min: '' + max: '' + value: '' + type: date + group: 1 + exposed: true + expose: + operator_id: date__value_2_op + label: 'Event Date' + description: null + use_operator: false + operator: date__value_2_op + operator_limit_selection: false + operator_list: { } + identifier: date__value_2 + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + placeholder: null + min_placeholder: null + max_placeholder: null + is_grouped: true + group_info: + label: 'Event Date' + description: '' + identifier: date__value_2 + optional: true + widget: select + multiple: false + remember: false + default_group: '1' + default_group_multiple: { } + group_items: + 1: + title: Future + operator: '>=' + value: + type: offset + value: today + min: '' + max: '' + 2: + title: Past + operator: '<=' + value: + type: offset + value: today + min: '' + max: '' + entity_type: eventinstance + entity_field: date + plugin_id: datetime + status: + id: status + table: eventinstance_field_data + field: status + relationship: none + group_type: group + admin_label: '' + operator: '=' + value: All + group: 1 + exposed: true + expose: + operator_id: '' + label: Published + description: '' + use_operator: false + operator: status_op + operator_limit_selection: false + operator_list: { } + identifier: status + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + administrator: '0' + is_grouped: true + group_info: + label: Published + description: '' + identifier: status + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: + 1: + title: Published + operator: '=' + value: '1' + 2: + title: Unpublished + operator: '=' + value: '0' + entity_type: eventinstance + entity_field: status + plugin_id: boolean + filter_groups: + operator: AND + groups: + 1: AND + cache_metadata: + max-age: -1 + contexts: + - 'languages:language_content' + - 'languages:language_interface' + - url + - url.query_args + - user.permissions + tags: { } + events_listing: + display_plugin: page + id: events_listing + display_title: Page + position: 1 + display_options: + display_extenders: { } + path: events + menu: + type: normal + title: Events + description: 'Events listing page' + expanded: false + parent: '' + weight: 0 + context: '0' + menu_name: main + fields: + title: + id: title + table: eventseries_field_data + field: title + relationship: eventseries_id + group_type: group + admin_label: '' + label: '' + exclude: true + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: false + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: string + settings: + link_to_entity: false + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + entity_type: eventseries + entity_field: title + plugin_id: field + view_eventseries: + id: view_eventseries + table: eventseries + field: view_eventseries + relationship: eventseries_id + group_type: group + admin_label: '' + label: '' + exclude: true + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: false + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + text: view + output_url_as_text: true + absolute: false + entity_type: eventseries + plugin_id: entity_link + view_eventinstance: + id: view_eventinstance + table: eventinstance + field: view_eventinstance + relationship: none + group_type: group + admin_label: '' + label: '' + exclude: true + alter: + alter_text: false + text: '{{ title }}' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: false + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + text: '' + output_url_as_text: true + absolute: false + entity_type: eventinstance + plugin_id: entity_link + title_2: + id: title_2 + table: eventseries_field_data + field: title + relationship: eventseries_id + group_type: group + admin_label: '' + label: 'Event Name' + exclude: false + alter: + alter_text: true + text: '{{ title }}' + make_link: true + path: '{{ view_eventinstance }}' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: string + settings: + link_to_entity: false + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + entity_type: eventseries + entity_field: title + plugin_id: field + title_1: + id: title_1 + table: eventseries_field_data + field: title + relationship: eventseries_id + group_type: group + admin_label: '' + label: Series + exclude: false + alter: + alter_text: true + text: '{{ "View Series"|t }}' + make_link: true + path: '{{ view_eventseries }}' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: string + settings: + link_to_entity: true + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + entity_type: eventseries + entity_field: title + plugin_id: field + date__value: + id: date__value + table: eventinstance_field_data + field: date__value + relationship: none + group_type: group + admin_label: '' + label: 'Event Date' + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: daterange_default + settings: + timezone_override: '' + format_type: medium + fromto: start_date + separator: '-' + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + entity_type: eventinstance + entity_field: date + plugin_id: field + defaults: + fields: false + filters: false + filter_groups: false + style: false + row: false + filters: + title: + id: title + table: eventseries_field_data + field: title + relationship: eventseries_id + group_type: group + admin_label: '' + operator: contains + value: '' + group: 1 + exposed: true + expose: + operator_id: title_op + label: 'Event Name' + description: '' + use_operator: false + operator: title_op + identifier: title + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + administrator: '0' + placeholder: '' + operator_limit_selection: false + operator_list: { } + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + entity_type: eventseries + entity_field: title + plugin_id: string + date__value: + id: date__value + table: eventinstance_field_data + field: date__value + relationship: none + group_type: group + admin_label: '' + operator: '>=' + value: + min: '' + max: '' + value: '' + type: date + group: 1 + exposed: true + expose: + operator_id: date__value_op + label: 'Date After' + description: '' + use_operator: false + operator: date__value_op + operator_limit_selection: false + operator_list: { } + identifier: date__value + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + administrator: '0' + placeholder: '' + min_placeholder: '' + max_placeholder: '' + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + entity_type: eventinstance + entity_field: date + plugin_id: datetime + date__value_1: + id: date__value_1 + table: eventinstance_field_data + field: date__value + relationship: none + group_type: group + admin_label: '' + operator: '<=' + value: + min: '' + max: '' + value: '' + type: date + group: 1 + exposed: true + expose: + operator_id: date__value_1_op + label: 'Date Before' + description: '' + use_operator: false + operator: date__value_1_op + operator_limit_selection: false + operator_list: { } + identifier: date__value_1 + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + administrator: '0' + placeholder: '' + min_placeholder: '' + max_placeholder: '' + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + entity_type: eventinstance + entity_field: date + plugin_id: datetime + status: + id: status + table: eventinstance_field_data + field: status + relationship: none + group_type: group + admin_label: '' + operator: '=' + value: '1' + group: 1 + exposed: false + expose: + operator_id: '' + label: '' + description: '' + use_operator: false + operator: '' + operator_limit_selection: false + operator_list: { } + identifier: '' + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + entity_type: eventinstance + entity_field: status + plugin_id: boolean + date__value_2: + id: date__value_2 + table: eventinstance_field_data + field: date__value + relationship: none + group_type: group + admin_label: '' + operator: '>=' + value: + min: '' + max: '' + value: today + type: offset + group: 1 + exposed: false + expose: + operator_id: '' + label: '' + description: '' + use_operator: false + operator: '' + operator_limit_selection: false + operator_list: { } + identifier: '' + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + placeholder: '' + min_placeholder: '' + max_placeholder: '' + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + entity_type: eventinstance + entity_field: date + plugin_id: datetime + filter_groups: + operator: AND + groups: + 1: AND + style: + type: default + options: + row_class: '' + default_row_class: true + uses_fields: false + row: + type: 'entity:eventinstance' + options: + relationship: none + view_mode: list + cache_metadata: + max-age: -1 + contexts: + - 'languages:language_content' + - 'languages:language_interface' + - url + - url.query_args + - user.permissions + tags: { } diff --git a/modules/recurring_events_views/config/optional/views.view.registrations.yml b/modules/recurring_events_views/config/optional/views.view.registrations.yml new file mode 100644 index 0000000000000000000000000000000000000000..726a277ba72506f3d05cadfab60fcca929302eac --- /dev/null +++ b/modules/recurring_events_views/config/optional/views.view.registrations.yml @@ -0,0 +1,2506 @@ +langcode: en +status: true +dependencies: + module: + - datetime + - datetime_range + - recurring_events + - recurring_events_registration + - user +id: registrations +label: Registrations +module: views +description: 'A view showing all the registrants on the site' +tag: '' +base_table: registrant +base_field: id +display: + default: + display_plugin: default + id: default + display_title: Master + position: 0 + display_options: + access: + type: perm + options: + perm: 'access registrant overview' + cache: + type: tag + options: { } + query: + type: views_query + options: + disable_sql_rewrite: false + distinct: false + replica: false + query_comment: '' + query_tags: { } + exposed_form: + type: basic + options: + submit_button: Apply + reset_button: false + reset_button_label: Reset + exposed_sorts_label: 'Sort by' + expose_sort_order: true + sort_asc_label: Asc + sort_desc_label: Desc + pager: + type: full + options: + items_per_page: 25 + offset: 0 + id: 0 + total_pages: null + tags: + previous: ‹‹ + next: ›› + first: '« First' + last: 'Last »' + expose: + items_per_page: false + items_per_page_label: 'Items per page' + items_per_page_options: '5, 10, 25, 50' + items_per_page_options_all: false + items_per_page_options_all_label: '- All -' + offset: false + offset_label: Offset + quantity: 9 + style: + type: table + row: + type: fields + fields: + title: + id: title + table: eventseries_field_data + field: title + relationship: eventseries_id + group_type: group + admin_label: '' + label: '' + exclude: true + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: false + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: string + settings: + link_to_entity: false + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + entity_type: eventseries + entity_field: title + plugin_id: field + view_eventinstance: + id: view_eventinstance + table: eventinstance + field: view_eventinstance + relationship: eventinstance_id + group_type: group + admin_label: '' + label: '' + exclude: true + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: false + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + text: view + output_url_as_text: true + absolute: false + entity_type: eventinstance + plugin_id: entity_link + view_eventseries: + id: view_eventseries + table: eventseries + field: view_eventseries + relationship: eventseries_id + group_type: group + admin_label: '' + label: '' + exclude: true + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: false + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + text: view + output_url_as_text: true + absolute: false + entity_type: eventseries + plugin_id: entity_link + id: + id: id + table: registrant + field: id + relationship: none + group_type: group + admin_label: '' + label: ID + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: number_integer + settings: + thousand_separator: '' + prefix_suffix: true + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + entity_type: registrant + entity_field: id + plugin_id: field + title_1: + id: title_1 + table: eventseries_field_data + field: title + relationship: eventseries_id + group_type: group + admin_label: '' + label: 'Event Series' + exclude: false + alter: + alter_text: true + text: '{{ title }}' + make_link: true + path: '{{ view_eventseries }}' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: string + settings: + link_to_entity: false + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + entity_type: eventseries + entity_field: title + plugin_id: field + date__value: + id: date__value + table: eventinstance_field_data + field: date__value + relationship: eventinstance_id + group_type: group + admin_label: '' + label: 'Event Date' + exclude: false + alter: + alter_text: true + text: '{{ date__value }}' + make_link: true + path: '{{ view_eventinstance }}' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: daterange_default + settings: + timezone_override: '' + format_type: medium + fromto: start_date + separator: '-' + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + entity_type: eventinstance + entity_field: date + plugin_id: field + waitlist: + id: waitlist + table: registrant + field: waitlist + relationship: none + group_type: group + admin_label: '' + label: Waitlist + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: boolean + settings: + format: yes-no + format_custom_true: '' + format_custom_false: '' + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + entity_type: registrant + entity_field: waitlist + plugin_id: field + type: + id: type + table: registrant + field: type + relationship: none + group_type: group + admin_label: '' + label: Type + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: string + settings: + link_to_entity: false + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + entity_type: registrant + entity_field: type + plugin_id: field + bundle: + id: bundle + table: registrant + field: bundle + relationship: none + group_type: group + admin_label: '' + label: Bundle + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: target_id + type: entity_reference_label + settings: + link: false + group_column: target_id + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + entity_type: registrant + entity_field: bundle + plugin_id: field + user_id: + id: user_id + table: registrant + field: user_id + relationship: none + group_type: group + admin_label: '' + label: Author + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: target_id + type: entity_reference_label + settings: + link: true + group_column: target_id + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + entity_type: registrant + entity_field: user_id + plugin_id: field + operations: + id: operations + table: registrant + field: operations + relationship: none + group_type: group + admin_label: '' + label: Operations + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + destination: false + entity_type: registrant + plugin_id: entity_operations + filters: + title: + id: title + table: eventseries_field_data + field: title + relationship: eventseries_id + group_type: group + admin_label: '' + operator: contains + value: '' + group: 1 + exposed: true + expose: + operator_id: title_op + label: 'Event Name' + description: '' + use_operator: false + operator: title_op + identifier: title + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + administrator: '0' + placeholder: '' + operator_limit_selection: false + operator_list: { } + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + entity_type: eventseries + entity_field: title + plugin_id: string + waitlist: + id: waitlist + table: registrant + field: waitlist + relationship: none + group_type: group + admin_label: '' + operator: '=' + value: All + group: 1 + exposed: true + expose: + operator_id: '' + label: Waitlist + description: '' + use_operator: false + operator: waitlist_op + identifier: waitlist + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + administrator: '0' + operator_limit_selection: false + operator_list: { } + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + entity_type: registrant + entity_field: waitlist + plugin_id: boolean + type: + id: type + table: registrant + field: type + relationship: none + group_type: group + admin_label: '' + operator: contains + value: '' + group: 1 + exposed: true + expose: + operator_id: type_op + label: Type + description: '' + use_operator: false + operator: type_op + identifier: type + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + administrator: '0' + placeholder: '' + operator_limit_selection: false + operator_list: { } + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + entity_type: registrant + entity_field: type + plugin_id: string + bundle: + id: bundle + table: registrant + field: bundle + relationship: none + group_type: group + admin_label: '' + operator: in + value: { } + group: 1 + exposed: true + expose: + operator_id: bundle_op + label: Bundle + description: '' + use_operator: false + operator: bundle_op + identifier: bundle + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + administrator: '0' + reduce: false + operator_limit_selection: false + operator_list: { } + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + entity_type: registrant + entity_field: bundle + plugin_id: bundle + created_1: + id: created_1 + table: registrant + field: created + relationship: none + group_type: group + admin_label: '' + operator: '<=' + value: + min: '' + max: '' + value: '' + type: date + group: 1 + exposed: true + expose: + operator_id: created_1_op + label: 'Created Before' + description: '' + use_operator: false + operator: created_1_op + identifier: created_1 + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + administrator: '0' + placeholder: '' + min_placeholder: '' + max_placeholder: '' + operator_limit_selection: false + operator_list: { } + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + entity_type: registrant + entity_field: created + plugin_id: date + created_2: + id: created_2 + table: registrant + field: created + relationship: none + group_type: group + admin_label: '' + operator: '>=' + value: + min: '' + max: '' + value: '' + type: date + group: 1 + exposed: true + expose: + operator_id: created_2_op + label: 'Created After' + description: '' + use_operator: false + operator: created_2_op + identifier: created_2 + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + administrator: '0' + placeholder: '' + min_placeholder: '' + max_placeholder: '' + operator_limit_selection: false + operator_list: { } + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + entity_type: registrant + entity_field: created + plugin_id: date + uid: + id: uid + table: users_field_data + field: uid + relationship: user_id + group_type: group + admin_label: '' + operator: in + value: { } + group: 1 + exposed: true + expose: + operator_id: uid_op + label: Author + description: '' + use_operator: false + operator: uid_op + identifier: uid + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + administrator: '0' + reduce: false + operator_limit_selection: false + operator_list: { } + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + entity_type: user + entity_field: uid + plugin_id: user_name + sorts: { } + title: Registrations + header: { } + footer: { } + empty: + area: + id: area + table: views + field: area + relationship: none + group_type: group + admin_label: '' + empty: true + tokenize: false + content: + value: '<h2>No registrations found</h2>' + format: basic_html + plugin_id: text + relationships: + eventinstance_id: + id: eventinstance_id + table: registrant + field: eventinstance_id + relationship: none + group_type: group + admin_label: 'Event Instance entity' + required: false + entity_type: registrant + entity_field: eventinstance_id + plugin_id: standard + eventseries_id: + id: eventseries_id + table: registrant + field: eventseries_id + relationship: none + group_type: group + admin_label: 'Event series entity' + required: false + entity_type: registrant + entity_field: eventseries_id + plugin_id: standard + user_id: + id: user_id + table: registrant + field: user_id + relationship: none + group_type: group + admin_label: User + required: false + entity_type: registrant + entity_field: user_id + plugin_id: standard + arguments: { } + display_extenders: { } + filter_groups: + operator: AND + groups: + 1: AND + cache_metadata: + max-age: -1 + contexts: + - 'languages:language_content' + - 'languages:language_interface' + - url + - url.query_args + - user.permissions + tags: { } + admin_page: + display_plugin: page + id: admin_page + display_title: Page + position: 1 + display_options: + display_extenders: { } + path: admin/content/events/registrations + cache_metadata: + max-age: -1 + contexts: + - 'languages:language_content' + - 'languages:language_interface' + - url + - url.query_args + - user.permissions + tags: { } + event_registrant_list: + display_plugin: page + id: event_registrant_list + display_title: Page + position: 1 + display_options: + display_extenders: { } + path: events/%eventinstance/registrations + defaults: + access: false + arguments: false + filters: false + filter_groups: false + fields: false + sorts: false + arguments: { } + filters: + waitlist: + id: waitlist + table: registrant + field: waitlist + relationship: none + group_type: group + admin_label: '' + operator: '=' + value: All + group: 1 + exposed: true + expose: + operator_id: '' + label: Waitlist + description: '' + use_operator: false + operator: waitlist_op + identifier: waitlist + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + administrator: '0' + operator_limit_selection: false + operator_list: { } + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + entity_type: registrant + entity_field: waitlist + plugin_id: boolean + created_1: + id: created_1 + table: registrant + field: created + relationship: none + group_type: group + admin_label: '' + operator: '<=' + value: + min: '' + max: '' + value: '' + type: date + group: 1 + exposed: true + expose: + operator_id: created_1_op + label: 'Created Before' + description: '' + use_operator: false + operator: created_1_op + identifier: created_1 + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + administrator: '0' + placeholder: '' + min_placeholder: '' + max_placeholder: '' + operator_limit_selection: false + operator_list: { } + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + entity_type: registrant + entity_field: created + plugin_id: date + created_2: + id: created_2 + table: registrant + field: created + relationship: none + group_type: group + admin_label: '' + operator: '>=' + value: + min: '' + max: '' + value: '' + type: date + group: 1 + exposed: true + expose: + operator_id: created_2_op + label: 'Created After' + description: '' + use_operator: false + operator: created_2_op + identifier: created_2 + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + administrator: '0' + placeholder: '' + min_placeholder: '' + max_placeholder: '' + operator_limit_selection: false + operator_list: { } + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + entity_type: registrant + entity_field: created + plugin_id: date + uid: + id: uid + table: users_field_data + field: uid + relationship: user_id + group_type: group + admin_label: '' + operator: in + value: { } + group: 1 + exposed: true + expose: + operator_id: uid_op + label: Author + description: '' + use_operator: false + operator: uid_op + identifier: uid + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + administrator: '0' + reduce: false + operator_limit_selection: false + operator_list: { } + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + entity_type: user + entity_field: uid + plugin_id: user_name + filter_groups: + operator: AND + groups: + 1: AND + fields: + id: + id: id + table: registrant + field: id + relationship: none + group_type: group + admin_label: '' + label: ID + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: number_integer + settings: + thousand_separator: '' + prefix_suffix: true + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + entity_type: registrant + entity_field: id + plugin_id: field + waitlist: + id: waitlist + table: registrant + field: waitlist + relationship: none + group_type: group + admin_label: '' + label: Waitlist + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: boolean + settings: + format: yes-no + format_custom_true: '' + format_custom_false: '' + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + entity_type: registrant + entity_field: waitlist + plugin_id: field + user_id: + id: user_id + table: registrant + field: user_id + relationship: none + group_type: group + admin_label: '' + label: Author + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: target_id + type: entity_reference_label + settings: + link: true + group_column: target_id + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + entity_type: registrant + entity_field: user_id + plugin_id: field + operations: + id: operations + table: registrant + field: operations + relationship: none + group_type: group + admin_label: '' + label: Operations + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + destination: false + entity_type: registrant + plugin_id: entity_operations + menu: + type: none + title: '' + description: '' + expanded: false + parent: '' + weight: 0 + context: '0' + menu_name: main + sorts: + created: + id: created + table: registrant + field: created + relationship: none + group_type: group + admin_label: '' + order: ASC + exposed: false + expose: + label: '' + granularity: second + entity_type: registrant + entity_field: created + plugin_id: date + access: + type: event_registration_list_access + options: { } + cache_metadata: + max-age: -1 + contexts: + - 'languages:language_content' + - 'languages:language_interface' + - url + - url.query_args + tags: { } + user_event_registrations: + display_plugin: page + id: user_event_registrations + display_title: Page + position: 3 + display_options: + display_extenders: { } + path: user/%user/registrations + arguments: + user_id: + id: user_id + table: registrant + field: user_id + relationship: none + group_type: group + admin_label: '' + default_action: default + exception: + value: all + title_enable: false + title: All + title_enable: false + title: '' + default_argument_type: user + default_argument_options: + user: false + default_argument_skip_url: false + summary_options: + base_path: '' + count: true + items_per_page: 25 + override: false + summary: + sort_order: asc + number_of_records: 0 + format: default_summary + specify_validation: false + validate: + type: none + fail: 'not found' + validate_options: { } + break_phrase: false + not: false + entity_type: registrant + entity_field: user_id + plugin_id: numeric + defaults: + arguments: false + filters: false + filter_groups: false + fields: false + sorts: false + filters: + title: + id: title + table: eventseries_field_data + field: title + relationship: eventseries_id + group_type: group + admin_label: '' + operator: contains + value: '' + group: 1 + exposed: true + expose: + operator_id: title_op + label: 'Event Name' + description: '' + use_operator: false + operator: title_op + identifier: title + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + administrator: '0' + placeholder: '' + operator_limit_selection: false + operator_list: { } + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + entity_type: eventseries + entity_field: title + plugin_id: string + waitlist: + id: waitlist + table: registrant + field: waitlist + relationship: none + group_type: group + admin_label: '' + operator: '=' + value: All + group: 1 + exposed: true + expose: + operator_id: '' + label: Waitlist + description: '' + use_operator: false + operator: waitlist_op + identifier: waitlist + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + administrator: '0' + operator_limit_selection: false + operator_list: { } + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + entity_type: registrant + entity_field: waitlist + plugin_id: boolean + type: + id: type + table: registrant + field: type + relationship: none + group_type: group + admin_label: '' + operator: contains + value: '' + group: 1 + exposed: true + expose: + operator_id: type_op + label: Type + description: '' + use_operator: false + operator: type_op + identifier: type + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + administrator: '0' + placeholder: '' + operator_limit_selection: false + operator_list: { } + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + entity_type: registrant + entity_field: type + plugin_id: string + created_1: + id: created_1 + table: registrant + field: created + relationship: none + group_type: group + admin_label: '' + operator: '<=' + value: + min: '' + max: '' + value: '' + type: date + group: 1 + exposed: true + expose: + operator_id: created_1_op + label: 'Created Before' + description: '' + use_operator: false + operator: created_1_op + identifier: created_1 + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + administrator: '0' + placeholder: '' + min_placeholder: '' + max_placeholder: '' + operator_limit_selection: false + operator_list: { } + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + entity_type: registrant + entity_field: created + plugin_id: date + created_2: + id: created_2 + table: registrant + field: created + relationship: none + group_type: group + admin_label: '' + operator: '>=' + value: + min: '' + max: '' + value: '' + type: date + group: 1 + exposed: true + expose: + operator_id: created_2_op + label: 'Created After' + description: '' + use_operator: false + operator: created_2_op + identifier: created_2 + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + administrator: '0' + placeholder: '' + min_placeholder: '' + max_placeholder: '' + operator_limit_selection: false + operator_list: { } + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + entity_type: registrant + entity_field: created + plugin_id: date + filter_groups: + operator: AND + groups: + 1: AND + fields: + title: + id: title + table: eventseries_field_data + field: title + relationship: eventseries_id + group_type: group + admin_label: '' + label: '' + exclude: true + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: false + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: string + settings: + link_to_entity: false + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + entity_type: eventseries + entity_field: title + plugin_id: field + view_eventinstance: + id: view_eventinstance + table: eventinstance + field: view_eventinstance + relationship: eventinstance_id + group_type: group + admin_label: '' + label: '' + exclude: true + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: false + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + text: view + output_url_as_text: true + absolute: false + entity_type: eventinstance + plugin_id: entity_link + view_eventseries: + id: view_eventseries + table: eventseries + field: view_eventseries + relationship: eventseries_id + group_type: group + admin_label: '' + label: '' + exclude: true + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: false + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + text: view + output_url_as_text: true + absolute: false + entity_type: eventseries + plugin_id: entity_link + id: + id: id + table: registrant + field: id + relationship: none + group_type: group + admin_label: '' + label: ID + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: number_integer + settings: + thousand_separator: '' + prefix_suffix: true + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + entity_type: registrant + entity_field: id + plugin_id: field + title_1: + id: title_1 + table: eventseries_field_data + field: title + relationship: eventseries_id + group_type: group + admin_label: '' + label: 'Event Series' + exclude: false + alter: + alter_text: true + text: '{{ title }}' + make_link: true + path: '{{ view_eventseries }}' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: string + settings: + link_to_entity: false + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + entity_type: eventseries + entity_field: title + plugin_id: field + date__value: + id: date__value + table: eventinstance_field_data + field: date__value + relationship: eventinstance_id + group_type: group + admin_label: '' + label: 'Event Date' + exclude: false + alter: + alter_text: true + text: '{{ date__value }}' + make_link: true + path: '{{ view_eventinstance }}' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: daterange_default + settings: + timezone_override: '' + format_type: medium + fromto: start_date + separator: '-' + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + entity_type: eventinstance + entity_field: date + plugin_id: field + waitlist: + id: waitlist + table: registrant + field: waitlist + relationship: none + group_type: group + admin_label: '' + label: Waitlist + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: boolean + settings: + format: yes-no + format_custom_true: '' + format_custom_false: '' + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + entity_type: registrant + entity_field: waitlist + plugin_id: field + type: + id: type + table: registrant + field: type + relationship: none + group_type: group + admin_label: '' + label: Type + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: string + settings: + link_to_entity: false + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + entity_type: registrant + entity_field: type + plugin_id: field + operations: + id: operations + table: registrant + field: operations + relationship: none + group_type: group + admin_label: '' + label: Operations + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + destination: false + entity_type: registrant + plugin_id: entity_operations + sorts: + date__value: + id: date__value + table: eventinstance_field_data + field: date__value + relationship: eventinstance_id + group_type: group + admin_label: '' + order: ASC + exposed: false + expose: + label: '' + granularity: second + entity_type: eventinstance + entity_field: date + plugin_id: datetime + cache_metadata: + max-age: -1 + contexts: + - 'languages:language_content' + - 'languages:language_interface' + - url + - url.query_args + - user.permissions + tags: { } diff --git a/modules/recurring_events_views/recurring_events_views.info.yml b/modules/recurring_events_views/recurring_events_views.info.yml new file mode 100644 index 0000000000000000000000000000000000000000..d6f47f8eb2576485817f5a014a6826abec0ab5af --- /dev/null +++ b/modules/recurring_events_views/recurring_events_views.info.yml @@ -0,0 +1,8 @@ +name: 'Recurring Events Views' +type: module +description: 'Swaps all recurring events list builders for views' +core: 8.x +package: 'Recurring Events' +dependencies: + - drupal:views + - recurring_events:recurring_events diff --git a/modules/recurring_events_views/recurring_events_views.module b/modules/recurring_events_views/recurring_events_views.module new file mode 100644 index 0000000000000000000000000000000000000000..670314435e5d4c7b88fdffffcccc0a0253e30556 --- /dev/null +++ b/modules/recurring_events_views/recurring_events_views.module @@ -0,0 +1,135 @@ +<?php + +/** + * @file + * Contains recurring_events_views.module. + */ + +use Drupal\Core\Routing\RouteMatchInterface; +use Drupal\views\ViewExecutable; +use Drupal\views\Plugin\views\query\QueryPluginBase; +use Drupal\Component\Utility\Html; + +/** + * Implements hook_help(). + */ +function recurring_events_views_help($route_name, RouteMatchInterface $route_match) { + switch ($route_name) { + // Main module help for the recurring_events_views module. + case 'help.page.recurring_events_views': + $text = file_get_contents(__DIR__ . '/README.md'); + if (!\Drupal::moduleHandler()->moduleExists('markdown')) { + return '<pre>' . Html::escape($text) . '</pre>'; + } + else { + // Use the Markdown filter to render the README. + $filter_manager = \Drupal::service('plugin.manager.filter'); + $settings = \Drupal::configFactory()->get('markdown.settings')->getRawData(); + $config = ['settings' => $settings]; + $filter = $filter_manager->createInstance('markdown', $config); + return $filter->process($text, 'en'); + } + break; + } +} + +/** + * Implements hook_local_tasks_alter(). + */ +function recurring_events_views_local_tasks_alter(&$local_tasks) { + if (\Drupal::moduleHandler()->moduleExists('recurring_events_registration')) { + if (!empty($local_tasks['entity.registrant.instance_listing'])) { + $local_tasks['entity.registrant.instance_listing']['route_name'] = 'view.registrations.event_registrant_list'; + $local_tasks['entity.registrant.instance_listing']['id'] = 'view.registrations.event_registrant_list'; + } + } +} + +/** + * Implements hook_views_query_alter(). + */ +function recurring_events_views_views_query_alter(ViewExecutable $view, QueryPluginBase $query) { + // Because registration is complicated by series vs instance registration we + // need to modify the view to accomodate that. If an event has series + // registration then viewing the registration list on any of the instances + // should display all registrations for that event. However, if the event has + // instance registration, then we should only see registrations for the + // particular instance being viewed. + if ($view->id() === 'registrations' && $view->current_display === 'event_registrant_list') { + if (\Drupal::moduleHandler()->moduleExists('recurring_events_registration')) { + $eventinstance_id = \Drupal::routeMatch()->getParameters()->get('eventinstance'); + + if (!empty($eventinstance_id)) { + $eventinstance = \Drupal::entityTypeManager()->getStorage('eventinstance')->load($eventinstance_id); + $service = \Drupal::service('recurring_events_registration.creation_service'); + $service->setEventInstance($eventinstance); + switch ($service->getRegistrationType()) { + case 'instance': + $field = 'registrant.eventinstance_id'; + $value = [ + $eventinstance->id(), + ]; + break; + + case 'series': + default: + $field = 'registrant.eventseries_id'; + $value = [ + $eventinstance->getEventSeries()->id(), + ]; + break; + } + + if (!empty($field) && !empty($value)) { + $query->where[1]['conditions'][] = [ + 'field' => $field, + 'value' => $value, + 'operator' => '=', + ]; + } + } + } + } +} + +/** + * Implements hook_views_pre_render(). + */ +function recurring_events_views_views_pre_render(ViewExecutable $view) { + // Because registration is complicated by series vs instance registration we + // need to modify the view title to accomodate that. + if ($view->id() === 'registrations' && $view->current_display === 'event_registrant_list') { + if (\Drupal::moduleHandler()->moduleExists('recurring_events_registration')) { + $eventinstance_id = \Drupal::routeMatch()->getParameters()->get('eventinstance'); + + if (!empty($eventinstance_id)) { + $eventinstance = \Drupal::entityTypeManager()->getStorage('eventinstance')->load($eventinstance_id); + $service = \Drupal::service('recurring_events_registration.creation_service'); + $service->setEventInstance($eventinstance); + $config = \Drupal::config('recurring_events.eventinstance.config'); + $format = $config->get('date_format'); + $name = $eventinstance->title->value; + switch ($service->getRegistrationType()) { + case 'instance': + $title = t('Registrations for %name on %date', [ + '%name' => $name, + '%date' => $eventinstance->date->start_date->format($format), + ]); + break; + + case 'series': + default: + $title = t('Registrations for series: %name', [ + '%name' => $name, + ]); + break; + } + + if (!empty($title)) { + $view->setTitle($title); + } + } + } + + } +} diff --git a/recurring_events.install b/recurring_events.install index ac854e1f42d1474e98e54d45c053e2a03974d796..1f4c1a06ea338a2387de713edeb8e1ffc5c6bbb1 100644 --- a/recurring_events.install +++ b/recurring_events.install @@ -8,6 +8,7 @@ use Drupal\Core\Config\Entity\ConfigEntityType; use Drupal\Core\StringTranslation\TranslatableMarkup; use Drupal\Core\Field\BaseFieldDefinition; +use Drupal\Core\Config\FileStorage; /** * Install the excluded and included date fields. @@ -408,3 +409,23 @@ function recurring_events_update_8009(&$sandbox) { drupal_flush_all_caches(); } } + +/** + * Import new default config added for views submodule support. + */ +function recurring_events_update_8010() { + $configs = [ + 'core.entity_view_display.eventinstance.default.list', + 'core.entity_view_mode.eventinstance.list', + 'core.entity_view_display.eventseries.default.list', + 'core.entity_view_mode.eventseries.list', + ]; + + foreach ($configs as $config) { + $path = drupal_get_path('module', 'recurring_events') . '/config/install'; + $source = new FileStorage($path); + /** @var \Drupal\Core\Config\StorageInterface $active_storage */ + $active_storage = \Drupal::service('config.storage'); + $active_storage->write($config, $source->read($config)); + } +} diff --git a/recurring_events.links.menu.yml b/recurring_events.links.menu.yml index 90219266fe7f8b9928c189abee10156f44c0b0f8..235f7216aaeffb8c8b7450c03f8913fba4270b3b 100644 --- a/recurring_events.links.menu.yml +++ b/recurring_events.links.menu.yml @@ -24,7 +24,7 @@ entity.eventseries.add_page: eventseries.listing: title: 'Event Series' description: 'Event series listing.' - route_name: entity.eventseries.collection + route_name: entity.eventseries.admin_collection parent: events.admin.content weight: 2 @@ -32,7 +32,7 @@ eventseries.listing: eventinstance.listing: title: 'Event Instances' description: 'Event instance listing.' - route_name: entity.eventinstance.collection + route_name: entity.eventinstance.admin_collection parent: events.admin.content weight: 3 diff --git a/recurring_events.routing.yml b/recurring_events.routing.yml index c1a460330e9f19883c3b5b450ac52b0c4fc0384a..b603337a2b489e9b4e563b588b6676a40dc1f533 100644 --- a/recurring_events.routing.yml +++ b/recurring_events.routing.yml @@ -200,6 +200,8 @@ entity.eventseries.admin_collection: requirements: # Checks for permission directly. _permission: 'access eventseries overview' + options: + _admin_route: TRUE # Event Series admin table list route. entity.eventinstance.admin_collection: @@ -210,6 +212,8 @@ entity.eventinstance.admin_collection: requirements: # Checks for permission directly. _permission: 'access eventinstance overview' + options: + _admin_route: TRUE # Event Series types route. entity.eventseries_type.collection: