diff --git a/config/install/core.entity_view_display.eventinstance.inline_date.yml b/config/install/core.entity_view_display.eventinstance.inline_date.yml new file mode 100644 index 0000000000000000000000000000000000000000..f367d46854ee188ebe9de29ac91b4aba98f60640 --- /dev/null +++ b/config/install/core.entity_view_display.eventinstance.inline_date.yml @@ -0,0 +1,26 @@ +langcode: en +status: true +dependencies: + enforced: + module: + - recurring_events + config: + - core.entity_view_mode.eventinstance.inline_date + module: + - recurring_events +id: eventinstace.inline_date +targetEntityType: eventinstance +bundle: eventinstance +mode: inline_date +content: + date: + weight: 0 + label: above + settings: + separator: '-' + format_type: medium + timezone_override: '' + third_party_settings: { } + type: daterange_default +hidden: + body: true diff --git a/config/install/core.entity_view_mode.eventinstance.inline_date.yml b/config/install/core.entity_view_mode.eventinstance.inline_date.yml new file mode 100644 index 0000000000000000000000000000000000000000..e56ab6f2176c9c3574ffb58a85a9a4e511e58160 --- /dev/null +++ b/config/install/core.entity_view_mode.eventinstance.inline_date.yml @@ -0,0 +1,12 @@ +langcode: en +status: false +dependencies: + enforced: + module: + - recurring_events + module: + - recurring_events +id: eventinstance.inline_date +label: 'Inline date' +targetEntityType: eventinstance +cache: true diff --git a/recurring_events.routing.yml b/recurring_events.routing.yml index ce559c92f74e2413176858a7dc971625e4c277e7..53501a0f99b928d3c514c393888da4e42d49561e 100644 --- a/recurring_events.routing.yml +++ b/recurring_events.routing.yml @@ -1,3 +1,5 @@ +# Event Series. + # View an EventSeries. entity.eventseries.canonical: path: '/events/series/{eventseries}' @@ -5,6 +7,10 @@ entity.eventseries.canonical: _entity_view: 'eventseries' requirements: _entity_access: 'eventseries.view' + options: + parameters: + eventseries: + type: entity:eventseries # Add an EventSeries. entity.eventseries.add_form: @@ -67,6 +73,21 @@ entity.eventseries.collection: # Checks for permission directly. _permission: 'access eventseries overview' + +# Event Instances. + +# View an EventInstance. +entity.eventinstance.canonical: + path: '/events/{eventinstance}' + defaults: + _entity_view: 'eventinstance' + requirements: + _entity_access: 'eventinstance.view' + options: + parameters: + eventinstance: + type: entity:eventinstance + # Admin Menu Strucutre. events.admin.overview: path: '/admin/structure/events' diff --git a/src/Entity/EventSeries.php b/src/Entity/EventSeries.php index 5b08c1a19e0f5df4286c54d71f4ad7e7e73bafa9..7f781598be8f9c8010c3f0f9a304bc5a0829334c 100644 --- a/src/Entity/EventSeries.php +++ b/src/Entity/EventSeries.php @@ -327,6 +327,10 @@ class EventSeries extends EditorialContentEntityBase implements EventInterface { 'type' => 'string_textfield', 'weight' => -6, ]) + ->setDisplayOptions('view', [ + 'label' => 'above', + 'weight' => 10, + ]) ->setDisplayConfigurable('form', TRUE) ->setDisplayConfigurable('view', TRUE) ->setRevisionable(TRUE) @@ -343,6 +347,10 @@ class EventSeries extends EditorialContentEntityBase implements EventInterface { 'type' => 'text_textarea', 'weight' => -4, ]) + ->setDisplayOptions('view', [ + 'label' => 'above', + 'weight' => 10, + ]) ->setDisplayConfigurable('form', TRUE); $fields['recur_type'] = BaseFieldDefinition::create('list_string') @@ -369,7 +377,11 @@ class EventSeries extends EditorialContentEntityBase implements EventInterface { ], ], 'weight' => 1, - ]); + ]) + ->setDisplayOptions('view', [ + 'label' => 'above', + 'weight' => 10, + ]);; $fields['weekly_recurring_date'] = BaseFieldDefinition::create('weekly_recurring_date') ->setLabel(t('Weekly Recurring Date')) @@ -421,8 +433,12 @@ class EventSeries extends EditorialContentEntityBase implements EventInterface { ->setSetting('target_type', 'eventinstance') ->setTranslatable(FALSE) ->setDisplayOptions('view', [ + 'type' => 'entity_reference_entity_view', 'label' => 'above', 'weight' => 10, + 'settings' => [ + 'view_mode' => 'inline_date', + ], ]) ->setDisplayConfigurable('view', TRUE) ->setDisplayConfigurable('form', FALSE)