diff --git a/.github/workflows/run-tests.yml b/.github/workflows/run-tests.yml index 4ebb756c..5c2c5569 100644 --- a/.github/workflows/run-tests.yml +++ b/.github/workflows/run-tests.yml @@ -125,7 +125,7 @@ jobs: uses: cafuego/command-output@main with: run: | - docker compose -f tests/docker-compose.yml exec -T drupal drush -y si --existing-config + docker compose -f tests/docker-compose.yml exec -T drupal drush -y si --existing-config --verbose env: fail-fast: true diff --git a/composer.json b/composer.json index f6d04248..5e7ab336 100755 --- a/composer.json +++ b/composer.json @@ -103,7 +103,7 @@ "unocha/ocha_integrations": "^2", "unocha/ocha_monitoring": "^1.0", "unocha/ocha_search": "^1.0", - "unocha/un_date": "^1.0.1", + "unocha/un_date": "^2.0", "vlucas/phpdotenv": "^2.4", "webflo/drupal-finder": "^1.0.0", "webmozart/path-util": "^2.3", diff --git a/composer.lock b/composer.lock index 1b77ccfc..9c9fa761 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "893b3a946c3811aab1d1c6b4d7d5399f", + "content-hash": "017c1fff78b3984b132f8825f4702d81", "packages": [ { "name": "algolia/places", @@ -13058,20 +13058,21 @@ }, { "name": "unocha/un_date", - "version": "1.0.2", + "version": "2.0.12", "source": { "type": "git", "url": "https://github.com/UN-OCHA/un_date.git", - "reference": "315e872794026417fdf2813ef061a75c101f2f5d" + "reference": "668bfec2cf67cde574ee8f767fa11aaa2be8a8a0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/UN-OCHA/un_date/zipball/315e872794026417fdf2813ef061a75c101f2f5d", - "reference": "315e872794026417fdf2813ef061a75c101f2f5d", + "url": "https://api.github.com/repos/UN-OCHA/un_date/zipball/668bfec2cf67cde574ee8f767fa11aaa2be8a8a0", + "reference": "668bfec2cf67cde574ee8f767fa11aaa2be8a8a0", "shasum": "" }, "require": { - "composer/installers": "^1.2" + "composer/installers": "^1.2", + "php": ">=8.0" }, "type": "drupal-module", "notification-url": "https://packagist.org/downloads/", @@ -13081,9 +13082,9 @@ "description": "UN date and time twig filters for Drupal 8", "support": { "issues": "https://github.com/UN-OCHA/un_date/issues", - "source": "https://github.com/UN-OCHA/un_date/tree/1.0.2" + "source": "https://github.com/UN-OCHA/un_date/tree/2.0.12" }, - "time": "2023-08-02T10:45:13+00:00" + "time": "2023-12-21T09:24:11+00:00" }, { "name": "vlucas/phpdotenv", @@ -18640,5 +18641,5 @@ "php": ">=8.0" }, "platform-dev": [], - "plugin-api-version": "2.6.0" + "plugin-api-version": "2.3.0" } diff --git a/config/core.entity_view_display.group.iasc_space.default.yml b/config/core.entity_view_display.group.iasc_space.default.yml index 2474d53f..529d6446 100644 --- a/config/core.entity_view_display.group.iasc_space.default.yml +++ b/config/core.entity_view_display.group.iasc_space.default.yml @@ -22,10 +22,10 @@ dependencies: - field.field.group.iasc_space.field_sidebar - group.type.iasc_space module: - - datetime - entity_reference_revisions - link - text + - un_date id: group.iasc_space.default targetEntityType: group bundle: iasc_space @@ -49,11 +49,12 @@ content: weight: 6 region: content field_date_closed: - type: datetime_default + type: un_date_datetime label: above settings: - timezone_override: '' - format_type: teaser + display_timezone: false + month_format: full + template: default third_party_settings: { } weight: 7 region: content diff --git a/config/core.entity_view_display.media.remote_video.default.yml b/config/core.entity_view_display.media.remote_video.default.yml index 9e0f75e9..5404af25 100644 --- a/config/core.entity_view_display.media.remote_video.default.yml +++ b/config/core.entity_view_display.media.remote_video.default.yml @@ -20,6 +20,8 @@ content: settings: max_width: 0 max_height: 0 + loading: + attribute: eager third_party_settings: { } weight: 0 region: content diff --git a/config/core.entity_view_display.node.action_point.default.yml b/config/core.entity_view_display.node.action_point.default.yml index ed7685f1..86358ba4 100644 --- a/config/core.entity_view_display.node.action_point.default.yml +++ b/config/core.entity_view_display.node.action_point.default.yml @@ -16,9 +16,9 @@ dependencies: - field.field.node.action_point.og_group_ref - node.type.action_point module: - - datetime - options - text + - un_date - user id: node.action_point.default targetEntityType: node @@ -33,11 +33,12 @@ content: weight: 0 region: content field_ap_date: - type: datetime_default + type: un_date_datetime label: above settings: - timezone_override: '' - format_type: medium + display_timezone: true + month_format: numeric + template: default third_party_settings: { } weight: 2 region: content @@ -80,11 +81,12 @@ content: weight: 5 region: content field_date: - type: datetime_default + type: un_date_datetime label: above settings: - timezone_override: '' - format_type: medium + display_timezone: true + month_format: abbreviation + template: default third_party_settings: { } weight: 1 region: content diff --git a/config/core.entity_view_display.node.action_point.full.yml b/config/core.entity_view_display.node.action_point.full.yml index ec02674a..56121074 100644 --- a/config/core.entity_view_display.node.action_point.full.yml +++ b/config/core.entity_view_display.node.action_point.full.yml @@ -17,9 +17,9 @@ dependencies: - field.field.node.action_point.og_group_ref - node.type.action_point module: - - datetime - options - text + - un_date - user id: node.action_point.full targetEntityType: node @@ -34,11 +34,12 @@ content: weight: 0 region: content field_ap_date: - type: datetime_default + type: un_date_datetime label: above settings: - timezone_override: '' - format_type: medium + display_timezone: true + month_format: numeric + template: default third_party_settings: { } weight: 2 region: content @@ -81,11 +82,12 @@ content: weight: 5 region: content field_date: - type: datetime_default + type: un_date_datetime label: above settings: - timezone_override: '' - format_type: medium + display_timezone: true + month_format: numeric + template: default third_party_settings: { } weight: 1 region: content diff --git a/config/core.entity_view_display.node.announcement.default.yml b/config/core.entity_view_display.node.announcement.default.yml index 59ce6924..d98f07ff 100644 --- a/config/core.entity_view_display.node.announcement.default.yml +++ b/config/core.entity_view_display.node.announcement.default.yml @@ -18,9 +18,9 @@ dependencies: - field.field.node.announcement.og_group_ref - node.type.announcement module: - - datetime - link - text + - un_date - user id: node.announcement.default targetEntityType: node @@ -56,11 +56,12 @@ content: weight: 2 region: content field_published_date: - type: datetime_default + type: un_date_datetime label: inline settings: - timezone_override: '' - format_type: published_date + display_timezone: true + month_format: full + template: default third_party_settings: { } weight: 0 region: content diff --git a/config/core.entity_view_display.node.announcement.full.yml b/config/core.entity_view_display.node.announcement.full.yml index c166cb0d..6ca76f7d 100644 --- a/config/core.entity_view_display.node.announcement.full.yml +++ b/config/core.entity_view_display.node.announcement.full.yml @@ -19,9 +19,9 @@ dependencies: - field.field.node.announcement.og_group_ref - node.type.announcement module: - - datetime - link - text + - un_date - user id: node.announcement.full targetEntityType: node @@ -57,11 +57,12 @@ content: weight: 2 region: content field_published_date: - type: datetime_default + type: un_date_datetime label: inline settings: - timezone_override: '' - format_type: published_date + display_timezone: true + month_format: full + template: default third_party_settings: { } weight: 0 region: content diff --git a/config/core.entity_view_display.node.announcement.teaser.yml b/config/core.entity_view_display.node.announcement.teaser.yml index ae82d55b..e6981c9a 100644 --- a/config/core.entity_view_display.node.announcement.teaser.yml +++ b/config/core.entity_view_display.node.announcement.teaser.yml @@ -19,8 +19,8 @@ dependencies: - field.field.node.announcement.og_group_ref - node.type.announcement module: - - datetime - text + - un_date - user id: node.announcement.teaser targetEntityType: node @@ -36,11 +36,12 @@ content: weight: 2 region: content field_published_date: - type: datetime_default + type: un_date_datetime label: inline settings: - timezone_override: '' - format_type: published_date + display_timezone: true + month_format: full + template: default third_party_settings: { } weight: 1 region: content diff --git a/config/core.entity_view_display.node.oa_event.default.yml b/config/core.entity_view_display.node.oa_event.default.yml index 7bf5d369..d2af016e 100644 --- a/config/core.entity_view_display.node.oa_event.default.yml +++ b/config/core.entity_view_display.node.oa_event.default.yml @@ -3,7 +3,6 @@ langcode: en status: true dependencies: config: - - core.date_format.long - field.field.node.oa_event.body - field.field.node.oa_event.field_additional_locations - field.field.node.oa_event.field_agenda_items @@ -27,9 +26,9 @@ dependencies: - field.field.node.oa_event.og_vocabulary - node.type.oa_event module: - - date_recur - entity_reference_revisions - text + - un_date - user id: node.oa_event.default targetEntityType: node @@ -114,16 +113,13 @@ content: weight: 8 region: content field_oa_date: - type: date_recur_basic_formatter + type: un_data_date_recur_basic label: above settings: - timezone_override: '' - format_type: long - separator: '-' - show_next: 5 - count_per_item: true - occurrence_format_type: long - same_end_date_format_type: long + display_timezone: true + month_format: numeric + show_next: '1' + count_per_item: '1' interpreter: '' third_party_settings: { } weight: 11 diff --git a/config/core.entity_view_display.node.oa_event.full.yml b/config/core.entity_view_display.node.oa_event.full.yml index 372a2e9f..dff1bb9b 100644 --- a/config/core.entity_view_display.node.oa_event.full.yml +++ b/config/core.entity_view_display.node.oa_event.full.yml @@ -3,7 +3,6 @@ langcode: en status: true dependencies: config: - - core.date_format.medium - core.entity_view_mode.node.full - field.field.node.oa_event.body - field.field.node.oa_event.field_additional_locations @@ -28,9 +27,9 @@ dependencies: - field.field.node.oa_event.og_vocabulary - node.type.oa_event module: - - date_recur - entity_reference_revisions - text + - un_date - user id: node.oa_event.full targetEntityType: node @@ -116,16 +115,14 @@ content: weight: 9 region: content field_oa_date: - type: date_recur_basic_formatter + type: un_data_date_recur_basic label: hidden settings: - timezone_override: '' - format_type: medium - separator: to - show_next: 100 - count_per_item: true - occurrence_format_type: medium - same_end_date_format_type: medium + display_timezone: true + month_format: abbreviation + template: un_date_date_block + show_next: '3' + count_per_item: '1' interpreter: '' third_party_settings: { } weight: 1 diff --git a/config/core.entity_view_display.node.oa_event.teaser.yml b/config/core.entity_view_display.node.oa_event.teaser.yml index c680a440..8f836612 100644 --- a/config/core.entity_view_display.node.oa_event.teaser.yml +++ b/config/core.entity_view_display.node.oa_event.teaser.yml @@ -3,7 +3,6 @@ langcode: en status: true dependencies: config: - - core.date_format.medium - core.entity_view_mode.node.teaser - field.field.node.oa_event.body - field.field.node.oa_event.field_additional_locations @@ -28,7 +27,7 @@ dependencies: - field.field.node.oa_event.og_vocabulary - node.type.oa_event module: - - date_recur + - un_date - user id: node.oa_event.teaser targetEntityType: node @@ -44,17 +43,15 @@ content: weight: 2 region: content field_oa_date: - type: date_recur_basic_formatter + type: un_data_date_recur_basic label: hidden settings: - timezone_override: '' - format_type: medium - separator: '-' - show_next: 5 - count_per_item: true - occurrence_format_type: medium - same_end_date_format_type: medium + display_timezone: true + month_format: numeric + show_next: '5' + count_per_item: '1' interpreter: '' + template: un_date_date_block third_party_settings: { } weight: 0 region: content diff --git a/config/core.entity_view_display.node.oa_wiki_page.default.yml b/config/core.entity_view_display.node.oa_wiki_page.default.yml index f1fac478..0d39391d 100644 --- a/config/core.entity_view_display.node.oa_wiki_page.default.yml +++ b/config/core.entity_view_display.node.oa_wiki_page.default.yml @@ -24,10 +24,10 @@ dependencies: - field.field.node.oa_wiki_page.og_vocabulary - node.type.oa_wiki_page module: - - datetime - file - image - text + - un_date - user id: node.oa_wiki_page.default targetEntityType: node @@ -112,11 +112,12 @@ content: weight: 1 region: content field_published_date: - type: datetime_default + type: un_date_datetime label: above settings: - timezone_override: '' - format_type: medium + display_timezone: true + month_format: abbreviation + template: default third_party_settings: { } weight: 8 region: content diff --git a/config/core.entity_view_display.node.oa_wiki_page.full.yml b/config/core.entity_view_display.node.oa_wiki_page.full.yml index 174a2172..441f494b 100644 --- a/config/core.entity_view_display.node.oa_wiki_page.full.yml +++ b/config/core.entity_view_display.node.oa_wiki_page.full.yml @@ -25,8 +25,8 @@ dependencies: - field.field.node.oa_wiki_page.og_vocabulary - node.type.oa_wiki_page module: - - datetime - text + - un_date - user id: node.oa_wiki_page.full targetEntityType: node @@ -58,11 +58,12 @@ content: weight: 2 region: content field_published_date: - type: datetime_default + type: un_date_datetime label: inline settings: - timezone_override: '' - format_type: teaser + display_timezone: true + month_format: full + template: default third_party_settings: { } weight: 0 region: content diff --git a/config/core.entity_view_display.node.oa_wiki_page.teaser.yml b/config/core.entity_view_display.node.oa_wiki_page.teaser.yml index 3c6b54ee..5d46a0ed 100644 --- a/config/core.entity_view_display.node.oa_wiki_page.teaser.yml +++ b/config/core.entity_view_display.node.oa_wiki_page.teaser.yml @@ -26,9 +26,9 @@ dependencies: - image.style.thumbnail - node.type.oa_wiki_page module: - - datetime - image - text + - un_date - user id: node.oa_wiki_page.teaser targetEntityType: node @@ -80,11 +80,12 @@ content: weight: 1 region: content field_published_date: - type: datetime_default + type: un_date_datetime label: inline settings: - timezone_override: '' - format_type: published_date + display_timezone: true + month_format: full + template: default third_party_settings: { } weight: 5 region: content diff --git a/config/core.entity_view_display.node.oa_worktracker_task.default.yml b/config/core.entity_view_display.node.oa_worktracker_task.default.yml index ea7b92cc..e2a4e4fa 100644 --- a/config/core.entity_view_display.node.oa_worktracker_task.default.yml +++ b/config/core.entity_view_display.node.oa_worktracker_task.default.yml @@ -26,10 +26,10 @@ dependencies: - field.field.node.oa_worktracker_task.og_vocabulary - node.type.oa_worktracker_task module: - - datetime - file - options - text + - un_date - user id: node.oa_worktracker_task.default targetEntityType: node @@ -51,11 +51,12 @@ content: weight: 11 region: content field_date: - type: datetime_default + type: un_date_datetime label: inline settings: - timezone_override: '' - format_type: medium + display_timezone: true + month_format: abbreviation + template: default third_party_settings: { } weight: 5 region: content diff --git a/config/core.entity_view_display.node.service.default.yml b/config/core.entity_view_display.node.service.default.yml index dd445899..8d8a4336 100644 --- a/config/core.entity_view_display.node.service.default.yml +++ b/config/core.entity_view_display.node.service.default.yml @@ -22,9 +22,9 @@ dependencies: - field.field.node.service.field_updated - node.type.service module: - - datetime - link - text + - un_date - user id: node.service.default targetEntityType: node @@ -161,11 +161,12 @@ content: weight: 103 region: content field_updated: - type: datetime_default + type: un_date_datetime label: above settings: - timezone_override: '' - format_type: published_date + display_timezone: true + month_format: full + template: default third_party_settings: { } weight: 101 region: content diff --git a/config/core.entity_view_display.node.service.full.yml b/config/core.entity_view_display.node.service.full.yml index ea068df3..e1c94376 100644 --- a/config/core.entity_view_display.node.service.full.yml +++ b/config/core.entity_view_display.node.service.full.yml @@ -23,9 +23,9 @@ dependencies: - field.field.node.service.field_updated - node.type.service module: - - datetime - link - text + - un_date - user id: node.service.full targetEntityType: node @@ -162,11 +162,12 @@ content: weight: 103 region: content field_updated: - type: datetime_default + type: un_date_datetime label: above settings: - timezone_override: '' - format_type: published_date + display_timezone: true + month_format: full + template: default third_party_settings: { } weight: 101 region: content diff --git a/html/themes/custom/iasc_common_design/components/iasc-custom/node--event.css b/html/themes/custom/iasc_common_design/components/iasc-custom/node--event.css index 6fd28ea1..6e92fb21 100644 --- a/html/themes/custom/iasc_common_design/components/iasc-custom/node--event.css +++ b/html/themes/custom/iasc_common_design/components/iasc-custom/node--event.css @@ -106,5 +106,6 @@ .cd-teaser__date__time-only { flex: 1 0 25%; padding: 0; + margin-inline-start: 1rem; } } diff --git a/html/themes/custom/iasc_common_design/iasc_common_design.theme b/html/themes/custom/iasc_common_design/iasc_common_design.theme index aab76aa8..52db881d 100644 --- a/html/themes/custom/iasc_common_design/iasc_common_design.theme +++ b/html/themes/custom/iasc_common_design/iasc_common_design.theme @@ -222,7 +222,6 @@ function iasc_common_design_preprocess_node(&$variables) { /** @var \Drupal\date_recur\Plugin\Field\FieldType\DateRecurItem $date_item */ $date_item = $node->field_oa_date->first(); - $timezone = $date_item->timezone; /** @var \Drupal\date_recur\DateRange $daterange */ $daterange = iasc_content_first_upcoming_as_daterange($date_item); @@ -230,31 +229,11 @@ function iasc_common_design_preprocess_node(&$variables) { $start = $daterange->getStart(); $end = $daterange->getEnd(); + // Needed to link from teasere to full. $variables['event_time'] = [ - 'start' => iasc_content_format_time($start, $timezone), - 'end' => iasc_content_format_time($end, $timezone), - 'start_day' => iasc_content_format_date($start, $timezone), - 'end_day' => iasc_content_format_date($end, $timezone), - 'all_day' => FALSE, - 'multiple_days' => iasc_content_is_multiple_days($start, $end, $timezone), - 'timezone' => $timezone, 'timestamp_start' => $start->getTimestamp(), 'timestamp_end' => $end->getTimestamp(), - 'output' => '', ]; - - $variables['event_time']['output'] = ''; - if ($variables['event_time']['start'] == $variables['event_time']['end']) { - $variables['event_time']['all_day'] = TRUE; - $variables['event_time']['output'] .= 'All day'; - } - elseif ($variables['event_time']['start'] == '12 a.m.' && $variables['event_time']['end'] == '11.59 p.m.') { - $variables['event_time']['all_day'] = TRUE; - $variables['event_time']['output'] .= 'All day'; - } - else { - $variables['event_time']['output'] .= $variables['event_time']['start'] . ' — ' . $variables['event_time']['end'] . ' (' . $variables['event_time']['timezone'] . ')'; - } } if ($bundle == 'oa_wiki_page' && ($variables['elements']['#view_mode'] == 'teaser' || $variables['elements']['#view_mode'] == 'title')) { diff --git a/html/themes/custom/iasc_common_design/templates/field/field--field-oa-date.html.twig b/html/themes/custom/iasc_common_design/templates/field/field--field-oa-date.html.twig deleted file mode 100644 index 534e5a3c..00000000 --- a/html/themes/custom/iasc_common_design/templates/field/field--field-oa-date.html.twig +++ /dev/null @@ -1,80 +0,0 @@ -{# -/** - * @file - * Theme override for a field. - * - * To override output, copy the "field.html.twig" from the templates directory - * to your theme's directory and customize it, just like customizing other - * Drupal templates such as page.html.twig or node.html.twig. - * - * Instead of overriding the theming for all fields, you can also just override - * theming for a subset of fields using - * @link themeable Theme hook suggestions. @endlink For example, - * here are some theme hook suggestions that can be used for a field_foo field - * on an article node type: - * - field--node--field-foo--article.html.twig - * - field--node--field-foo.html.twig - * - field--node--article.html.twig - * - field--field-foo.html.twig - * - field--text-with-summary.html.twig - * - field.html.twig - * - * Available variables: - * - attributes: HTML attributes for the containing element. - * - label_hidden: Whether to show the field label or not. - * - title_attributes: HTML attributes for the title. - * - label: The label for the field. - * - multiple: TRUE if a field can contain multiple items. - * - items: List of all the field items. Each item contains: - * - attributes: List of HTML attributes for each item. - * - content: The field item's content. - * - entity_type: The entity type to which the field belongs. - * - field_name: The name of the field. - * - field_type: The type of the field. - * - label_display: The display settings for the label. - * - * - * @see template_preprocess_field() - */ -#} -{{ attach_library('common_design/cd-date') }} -
- {% if label_hidden == false %} -

{{ label }}

- {% endif %} - - {% if items|length > 0 %} -
- - {{ next_date.day }}{% if next_date.day != next_date_end.day %} - {{ next_date_end.day }}{% endif %} - -
-
- - {{ next_date.month }}{% if next_date.month != next_date_end.month %} - {{ next_date_end.month }}{% endif %} - - - {{ next_date.year }}{% if next_date.year != next_date_end.year %} - {{ next_date_end.year }}{% endif %} - -
- {% endif %} -
- -{% if human_readable %} -
- {{ human_readable }} -
-{% endif %} - -{% if next_5|length > 0 %} -
-

Next upcoming dates

- -
-{% endif %} diff --git a/html/themes/custom/iasc_common_design/templates/node/node--oa-event--full.html.twig b/html/themes/custom/iasc_common_design/templates/node/node--oa-event--full.html.twig index 1f66e892..ed7c9129 100644 --- a/html/themes/custom/iasc_common_design/templates/node/node--oa-event--full.html.twig +++ b/html/themes/custom/iasc_common_design/templates/node/node--oa-event--full.html.twig @@ -144,9 +144,9 @@ {{ content.field_oa_date }}
- {{ event_time.output }} - - +
diff --git a/html/themes/custom/iasc_common_design/templates/node/node--oa-event--teaser.html.twig b/html/themes/custom/iasc_common_design/templates/node/node--oa-event--teaser.html.twig index 0c90fc2c..4068cc4b 100644 --- a/html/themes/custom/iasc_common_design/templates/node/node--oa-event--teaser.html.twig +++ b/html/themes/custom/iasc_common_design/templates/node/node--oa-event--teaser.html.twig @@ -115,8 +115,9 @@ {{ contentBody|striptags }}
- {{ event_time.output }} - +