From f630e01bf3427cbf362b10b0029322545e2ae7cf Mon Sep 17 00:00:00 2001
From: escuriola <escuriola@gmail.com>
Date: Thu, 7 Apr 2022 16:36:23 +0200
Subject: [PATCH 01/35] OEL-1425: Use imageValueObject on oe_whitelabel.

---
 .../oe_whitelabel_paragraphs.module                   | 11 ++---------
 .../templates/node--oe-sc-event--teaser.html.twig     |  5 +----
 .../templates/node--oe-sc-news--teaser.html.twig      |  5 +----
 3 files changed, 4 insertions(+), 17 deletions(-)

diff --git a/modules/oe_whitelabel_paragraphs/oe_whitelabel_paragraphs.module b/modules/oe_whitelabel_paragraphs/oe_whitelabel_paragraphs.module
index e8a17b93..822085a3 100644
--- a/modules/oe_whitelabel_paragraphs/oe_whitelabel_paragraphs.module
+++ b/modules/oe_whitelabel_paragraphs/oe_whitelabel_paragraphs.module
@@ -217,15 +217,8 @@ function oe_whitelabel_preprocess_paragraph__oe_list_item_block(array &$variable
   foreach ($variables['paragraph']->get('field_oe_paragraphs') as $card_paragraph_item) {
     /** @var \Drupal\paragraphs\ParagraphInterface $card_paragraph */
     $card_paragraph = $card_paragraph_item->entity;
-
-    /** @var \Drupal\file\Plugin\Field\FieldType\FileFieldItemList $card_image_items */
-    $card_image_items = $card_paragraph->get('field_oe_image');
-    /** @var \Drupal\file\FileInterface|null $card_image_file */
-    $card_image_file = $card_image_items->entity;
-    $card_image = $card_image_file ? [
-      'path' => file_url_transform_relative(file_create_url($card_image_file->getFileUri())),
-      'alt' => $card_image_items->alt,
-    ] : [];
+    $card_image_item = $card_paragraph->get('field_oe_image')->first();
+    $card_image = $card_image_item ? ImageValueObject::fromImageItem($card_image_item) : NULL;
 
     // Prepare the metas if available.
     $card_badges = [];
diff --git a/modules/oe_whitelabel_starter_event/templates/node--oe-sc-event--teaser.html.twig b/modules/oe_whitelabel_starter_event/templates/node--oe-sc-event--teaser.html.twig
index 8f5f2799..debd2d3e 100755
--- a/modules/oe_whitelabel_starter_event/templates/node--oe-sc-event--teaser.html.twig
+++ b/modules/oe_whitelabel_starter_event/templates/node--oe-sc-event--teaser.html.twig
@@ -13,10 +13,7 @@
     variant: 'search',
     title: _title,
     text: content.oe_summary,
-    image: image ? {
-      path: image.src,
-      alt: image.alt,
-    },
+    image: image,
     meta: [
       content.oe_sc_event_dates|field_value,
     ],
diff --git a/modules/oe_whitelabel_starter_news/templates/node--oe-sc-news--teaser.html.twig b/modules/oe_whitelabel_starter_news/templates/node--oe-sc-news--teaser.html.twig
index 4d547492..3556131a 100644
--- a/modules/oe_whitelabel_starter_news/templates/node--oe-sc-news--teaser.html.twig
+++ b/modules/oe_whitelabel_starter_news/templates/node--oe-sc-news--teaser.html.twig
@@ -13,10 +13,7 @@
     variant: 'search',
     title: _title,
     text: content.oe_summary,
-    image: image ? {
-      path: image.src,
-      alt: image.alt,
-    },
+    image: image,
     meta: [
       content.oe_publication_date|field_value
     ],
-- 
GitLab


From a6c5ca6aa6a6abc9a242ae77bd82631b48780fd8 Mon Sep 17 00:00:00 2001
From: escuriola <escuriola@gmail.com>
Date: Thu, 7 Apr 2022 17:37:54 +0200
Subject: [PATCH 02/35] OEL-1425: Use the last oe_bootstrap_theme release.

---
 composer.json | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/composer.json b/composer.json
index d18da6d1..c7d747b6 100644
--- a/composer.json
+++ b/composer.json
@@ -81,6 +81,11 @@
                 }
             }
         },
+        "patches": {
+            "openeuropa/oe_bootstrap_theme": {
+                "latest": "https://github.com/openeuropa/oe_bootstrap_theme/compare/1.0.0-alpha8..OEL-1425.diff"
+            }
+        },
         "drupal-scaffold": {
             "locations": {
                 "web-root": "./build"
-- 
GitLab


From 2169d77291bb9e5e5061be147f9c7c71ee418a1e Mon Sep 17 00:00:00 2001
From: escuriola <escuriola@gmail.com>
Date: Mon, 11 Apr 2022 17:12:05 +0200
Subject: [PATCH 03/35] OEL-1425: Update diff patch with the latest oe_bt 1.x.

---
 composer.json | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/composer.json b/composer.json
index c7d747b6..a14382ea 100644
--- a/composer.json
+++ b/composer.json
@@ -83,7 +83,7 @@
         },
         "patches": {
             "openeuropa/oe_bootstrap_theme": {
-                "latest": "https://github.com/openeuropa/oe_bootstrap_theme/compare/1.0.0-alpha8..OEL-1425.diff"
+                "latest": "https://github.com/openeuropa/oe_bootstrap_theme/compare/1.0.0-alpha8..1.x.diff"
             }
         },
         "drupal-scaffold": {
-- 
GitLab


From 284a05d42a12a59021772d72d771f77b078a0b9e Mon Sep 17 00:00:00 2001
From: Andreas Hennings <andreas@dqxtech.net>
Date: Tue, 29 Mar 2022 00:28:37 +0200
Subject: [PATCH 04/35] OEL-1227: Code style, comments and minor refactor in
 tests.

Changes:
- Reorder imports.
- Change line breaks and blank lines.
- Change doc comments on test methods.
- Change inline comments.
- Change order of assertions a little.

Rationale for inline comments and line breaks:
- When rendering the full page, inline comments are somewhat helpful, but not too many.
- Blank lines are nice for structuring content.
- The teaser view mode is simple enough that we don't need inline comments.
- The existing comments in teaser view mode were wrong anyway, because they mentioned "content banner".
---
 .../src/Functional/ContentEventRenderTest.php | 28 +++++++++-------
 .../src/Functional/ContentNewsRenderTest.php  | 32 +++++++++----------
 2 files changed, 31 insertions(+), 29 deletions(-)

diff --git a/tests/src/Functional/ContentEventRenderTest.php b/tests/src/Functional/ContentEventRenderTest.php
index d07596e6..06976ab0 100644
--- a/tests/src/Functional/ContentEventRenderTest.php
+++ b/tests/src/Functional/ContentEventRenderTest.php
@@ -4,11 +4,11 @@ declare(strict_types = 1);
 
 namespace Drupal\Tests\oe_whitelabel\Functional;
 
-use Symfony\Component\DomCrawler\Crawler;
-use Drupal\Tests\media\Traits\MediaTypeCreationTrait;
-use Drupal\media\Entity\Media;
 use Drupal\file\Entity\File;
+use Drupal\media\Entity\Media;
+use Drupal\Tests\media\Traits\MediaTypeCreationTrait;
 use Drupal\Tests\TestFileCreationTrait;
+use Symfony\Component\DomCrawler\Crawler;
 
 /**
  * Tests that the Event content type renders correctly.
@@ -95,7 +95,7 @@ class ContentEventRenderTest extends WhitelabelBrowserTestBase {
   }
 
   /**
-   * Tests that the Event page renders correctly in full display.
+   * Tests the event rendered in 'Full content' view mode.
    */
   public function testEventRenderingFull(): void {
     // Build node full view.
@@ -104,12 +104,15 @@ class ContentEventRenderTest extends WhitelabelBrowserTestBase {
     $render = $this->container->get('renderer')->renderRoot($build);
     $crawler = new Crawler((string) $render);
 
-    // Assert content banner title.
+    // Select the content banner element.
     $content_banner = $crawler->filter('.bcl-content-banner');
+
+    // Assert content banner title.
     $this->assertEquals(
       'Test event node',
       trim($content_banner->filter('.card-title')->text())
     );
+
     // Assert content banner image.
     $image = $content_banner->filter('img');
     $this->assertCount(1, $image);
@@ -118,20 +121,24 @@ class ContentEventRenderTest extends WhitelabelBrowserTestBase {
       'image-test.png',
       trim($image->attr('src'))
     );
-    $this->assertEquals('Starter Image test alt',
+    $this->assertEquals(
+      'Starter Image test alt',
       $image->attr('alt')
     );
+
     // Assert content banner summary.
     $this->assertEquals(
       'http://www.example.org is a web page',
       trim($content_banner->filter('.oe-sc-event__oe-summary')->text())
     );
-    // Assert inpage-navigation.
+
+    // Assert in-page navigation title.
     $this->assertEquals(
       'Page content',
       trim($crawler->filter('nav.bcl-inpage-navigation > h5')->text())
     );
-    // Assert inpage-navigation.
+
+    // Assert in-page navigation links.
     $inpage_links = $crawler->filter('nav.bcl-inpage-navigation > ul');
     $this->assertCount(2, $inpage_links->filter('li'));
     $this->assertEquals(
@@ -142,11 +149,10 @@ class ContentEventRenderTest extends WhitelabelBrowserTestBase {
       'Documents',
       trim($inpage_links->filter('li:nth-of-type(2)')->text())
     );
-
   }
 
   /**
-   * Tests that the Event page renders correctly in teaser display.
+   * Tests the event rendered in 'Teaser' view mode.
    */
   public function testEventRenderingTeaser(): void {
     // Build node teaser view.
@@ -155,12 +161,10 @@ class ContentEventRenderTest extends WhitelabelBrowserTestBase {
     $render = $this->container->get('renderer')->renderRoot($build);
     $crawler = new Crawler((string) $render);
 
-    // Assert content banner title.
     $this->assertEquals(
       'Test event node',
       trim($crawler->filter('h5.card-title')->text())
     );
-    // Assert content banner image.
     $image = $crawler->filter('img');
     $this->assertCount(1, $image);
     $this->assertCount(1, $image->filter('.card-img-top'));
diff --git a/tests/src/Functional/ContentNewsRenderTest.php b/tests/src/Functional/ContentNewsRenderTest.php
index 34497412..35af75c5 100644
--- a/tests/src/Functional/ContentNewsRenderTest.php
+++ b/tests/src/Functional/ContentNewsRenderTest.php
@@ -4,11 +4,11 @@ declare(strict_types = 1);
 
 namespace Drupal\Tests\oe_whitelabel\Functional;
 
-use Symfony\Component\DomCrawler\Crawler;
-use Drupal\Tests\media\Traits\MediaTypeCreationTrait;
-use Drupal\media\Entity\Media;
 use Drupal\file\Entity\File;
+use Drupal\media\Entity\Media;
+use Drupal\Tests\media\Traits\MediaTypeCreationTrait;
 use Drupal\Tests\TestFileCreationTrait;
+use Symfony\Component\DomCrawler\Crawler;
 
 /**
  * Tests that the News content type renders correctly.
@@ -76,7 +76,7 @@ class ContentNewsRenderTest extends WhitelabelBrowserTestBase {
   }
 
   /**
-   * Tests that the News page renders correctly in full display.
+   * Tests the news rendered in 'Full content' view mode.
    */
   public function testNewsRenderingFull(): void {
     // Build node full view.
@@ -85,12 +85,9 @@ class ContentNewsRenderTest extends WhitelabelBrowserTestBase {
     $render = $this->container->get('renderer')->renderRoot($build);
     $crawler = new Crawler((string) $render);
 
-    // Assert content banner title.
+    // Select the content banner element.
     $content_banner = $crawler->filter('.bcl-content-banner');
-    $this->assertEquals(
-      'Test news node',
-      trim($content_banner->filter('.card-title')->text())
-    );
+
     // Assert content banner image.
     $image = $content_banner->filter('img');
     $this->assertCount(1, $image);
@@ -102,17 +99,22 @@ class ContentNewsRenderTest extends WhitelabelBrowserTestBase {
     $this->assertEquals('Starter Image test alt',
       $image->attr('alt')
     );
-    // Assert content banner publication date.
+
+    // Assert content banner content elements.
+    $this->assertEquals(
+      'Test news node',
+      trim($content_banner->filter('.card-title')->text())
+    );
     $this->assertEquals(
       '09 February 2022',
       trim($content_banner->filter('.card-body > div.my-4')->text())
     );
-    // Assert content banner summary.
     $this->assertEquals(
       'http://www.example.org is a web page',
       trim($content_banner->filter('.oe-sc-news__oe-summary')->text())
     );
-    // Assert the news content.
+
+    // Assert the news body text.
     $this->assertEquals(
       'News body',
       trim($crawler->filter('.oe-sc-news__body')->text())
@@ -120,7 +122,7 @@ class ContentNewsRenderTest extends WhitelabelBrowserTestBase {
   }
 
   /**
-   * Tests that the News page renders correctly in teaser display.
+   * Tests the news rendered in 'Teaser' view mode.
    */
   public function testNewsRenderingTeaser(): void {
     // Build node teaser view.
@@ -129,12 +131,10 @@ class ContentNewsRenderTest extends WhitelabelBrowserTestBase {
     $render = $this->container->get('renderer')->renderRoot($build);
     $crawler = new Crawler((string) $render);
 
-    // Assert content banner title.
     $this->assertEquals(
       'Test news node',
       trim($crawler->filter('h5.card-title')->text())
     );
-    // Assert content banner image.
     $image = $crawler->filter('img');
     $this->assertCount(1, $image);
     $this->assertCount(1, $image->filter('.card-img-top'));
@@ -142,12 +142,10 @@ class ContentNewsRenderTest extends WhitelabelBrowserTestBase {
       'image-test.png',
       trim($image->attr('src'))
     );
-    // Assert content banner content.
     $this->assertEquals(
       'http://www.example.org is a web page',
       trim($crawler->filter('div.card-text')->text())
     );
-    // Assert content banner publication date.
     $this->assertEquals(
       '09 February 2022',
       trim($crawler->filter('div.card-body > div > span.text-muted')->text())
-- 
GitLab


From ffc1a2bd2da9ee5833267de49d65eeaf56b635a2 Mon Sep 17 00:00:00 2001
From: Andreas Hennings <andreas@dqxtech.net>
Date: Tue, 29 Mar 2022 00:25:02 +0200
Subject: [PATCH 05/35] OEL-1227: Use https links in test, to pacify inspection
 tools.

---
 tests/src/Functional/ContentEventRenderTest.php | 4 ++--
 tests/src/Functional/ContentNewsRenderTest.php  | 6 +++---
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/tests/src/Functional/ContentEventRenderTest.php b/tests/src/Functional/ContentEventRenderTest.php
index 06976ab0..c641692c 100644
--- a/tests/src/Functional/ContentEventRenderTest.php
+++ b/tests/src/Functional/ContentEventRenderTest.php
@@ -79,7 +79,7 @@ class ContentEventRenderTest extends WhitelabelBrowserTestBase {
       ->create([
         'type' => 'oe_sc_event',
         'title' => 'Test event node',
-        'oe_summary' => 'http://www.example.org is a web page',
+        'oe_summary' => 'https://www.example.org is a web page',
         'body' => 'Event body',
         'oe_sc_event_dates' => [
           'value' => '2022-02-09T20:00:00',
@@ -128,7 +128,7 @@ class ContentEventRenderTest extends WhitelabelBrowserTestBase {
 
     // Assert content banner summary.
     $this->assertEquals(
-      'http://www.example.org is a web page',
+      'https://www.example.org is a web page',
       trim($content_banner->filter('.oe-sc-event__oe-summary')->text())
     );
 
diff --git a/tests/src/Functional/ContentNewsRenderTest.php b/tests/src/Functional/ContentNewsRenderTest.php
index 35af75c5..9d4fb93c 100644
--- a/tests/src/Functional/ContentNewsRenderTest.php
+++ b/tests/src/Functional/ContentNewsRenderTest.php
@@ -62,7 +62,7 @@ class ContentNewsRenderTest extends WhitelabelBrowserTestBase {
       ->create([
         'type' => 'oe_sc_news',
         'title' => 'Test news node',
-        'oe_summary' => 'http://www.example.org is a web page',
+        'oe_summary' => 'https://www.example.org is a web page',
         'body' => 'News body',
         'oe_publication_date' => [
           'value' => '2022-02-09',
@@ -110,7 +110,7 @@ class ContentNewsRenderTest extends WhitelabelBrowserTestBase {
       trim($content_banner->filter('.card-body > div.my-4')->text())
     );
     $this->assertEquals(
-      'http://www.example.org is a web page',
+      'https://www.example.org is a web page',
       trim($content_banner->filter('.oe-sc-news__oe-summary')->text())
     );
 
@@ -143,7 +143,7 @@ class ContentNewsRenderTest extends WhitelabelBrowserTestBase {
       trim($image->attr('src'))
     );
     $this->assertEquals(
-      'http://www.example.org is a web page',
+      'https://www.example.org is a web page',
       trim($crawler->filter('div.card-text')->text())
     );
     $this->assertEquals(
-- 
GitLab


From 67147155868e1c1a00eeb9d6c3b009e36233da7b Mon Sep 17 00:00:00 2001
From: Andreas Hennings <andreas@dqxtech.net>
Date: Tue, 29 Mar 2022 00:19:29 +0200
Subject: [PATCH 06/35] OEL-1227: Also assert event body text.

---
 tests/src/Functional/ContentEventRenderTest.php | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/tests/src/Functional/ContentEventRenderTest.php b/tests/src/Functional/ContentEventRenderTest.php
index c641692c..8b874c7f 100644
--- a/tests/src/Functional/ContentEventRenderTest.php
+++ b/tests/src/Functional/ContentEventRenderTest.php
@@ -149,6 +149,12 @@ class ContentEventRenderTest extends WhitelabelBrowserTestBase {
       'Documents',
       trim($inpage_links->filter('li:nth-of-type(2)')->text())
     );
+
+    // Assert body text.
+    $this->assertSame(
+      'Event body',
+      $crawler->filter('#oe-content-body p')->text()
+    );
   }
 
   /**
-- 
GitLab


From b0786ce29e2eb0d156dd4a5ae7c33d9e56647ffe Mon Sep 17 00:00:00 2001
From: Andreas Hennings <andreas@dqxtech.net>
Date: Mon, 28 Mar 2022 16:02:03 +0200
Subject: [PATCH 07/35] OEL-1227: Make 'oe_whitelabel' the default theme in
 test.

---
 .../Functional/WhitelabelBrowserTestBase.php  | 20 +------------------
 1 file changed, 1 insertion(+), 19 deletions(-)

diff --git a/tests/src/Functional/WhitelabelBrowserTestBase.php b/tests/src/Functional/WhitelabelBrowserTestBase.php
index 7aae37c3..6a554862 100644
--- a/tests/src/Functional/WhitelabelBrowserTestBase.php
+++ b/tests/src/Functional/WhitelabelBrowserTestBase.php
@@ -14,24 +14,6 @@ abstract class WhitelabelBrowserTestBase extends BrowserTestBase {
   /**
    * {@inheritdoc}
    */
-  protected $defaultTheme = 'stark';
-
-  /**
-   * {@inheritdoc}
-   */
-  protected function setUp(): void {
-    parent::setUp();
-
-    // Enable and set OpenEuropa Theme as default.
-    \Drupal::service('theme_installer')->install(['oe_whitelabel']);
-    \Drupal::configFactory()
-      ->getEditable('system.theme')
-      ->set('default', 'oe_whitelabel')
-      ->save();
-
-    // Rebuild the ui_pattern definitions to collect the ones provided by
-    // oe_whitelabel itself.
-    \Drupal::service('plugin.manager.ui_patterns')->clearCachedDefinitions();
-  }
+  protected $defaultTheme = 'oe_whitelabel';
 
 }
-- 
GitLab


From b97b1784a4853768b21eeb792b19b4e8918df1fd Mon Sep 17 00:00:00 2001
From: Andreas Hennings <andreas@dqxtech.net>
Date: Mon, 28 Mar 2022 23:23:51 +0200
Subject: [PATCH 08/35] OEL-1227: Set up sparql in functional tests, to prevent
 trouble with blocks.

Why?
We are going to enable 'block' module as a dependency of oe_whitelabel_helper.
As a consequence, all block placements from config/optional will be installed in the test.
At least one of them requires sparql.

Changes:
- Set up sparql in base test class.
- Let CorporateHeaderLogosTest also inherit from the base class.
---
 tests/src/Functional/CorporateHeaderLogosTest.php  |  8 +-------
 tests/src/Functional/WhitelabelBrowserTestBase.php | 13 +++++++++++++
 2 files changed, 14 insertions(+), 7 deletions(-)

diff --git a/tests/src/Functional/CorporateHeaderLogosTest.php b/tests/src/Functional/CorporateHeaderLogosTest.php
index 593aabc6..5a024044 100644
--- a/tests/src/Functional/CorporateHeaderLogosTest.php
+++ b/tests/src/Functional/CorporateHeaderLogosTest.php
@@ -5,17 +5,11 @@ declare(strict_types = 1);
 namespace Drupal\Tests\oe_whitelabel\Functional;
 
 use Drupal\language\Entity\ConfigurableLanguage;
-use Drupal\Tests\BrowserTestBase;
 
 /**
  * Tests that corporate logos are displayed correctly.
  */
-class CorporateHeaderLogosTest extends BrowserTestBase {
-
-  /**
-   * {@inheritdoc}
-   */
-  protected $defaultTheme = 'oe_whitelabel';
+class CorporateHeaderLogosTest extends WhitelabelBrowserTestBase {
 
   /**
    * {@inheritdoc}
diff --git a/tests/src/Functional/WhitelabelBrowserTestBase.php b/tests/src/Functional/WhitelabelBrowserTestBase.php
index 6a554862..fad016c4 100644
--- a/tests/src/Functional/WhitelabelBrowserTestBase.php
+++ b/tests/src/Functional/WhitelabelBrowserTestBase.php
@@ -5,15 +5,28 @@ declare(strict_types = 1);
 namespace Drupal\Tests\oe_whitelabel\Functional;
 
 use Drupal\Tests\BrowserTestBase;
+use Drupal\Tests\sparql_entity_storage\Traits\SparqlConnectionTrait;
 
 /**
  * Base class for testing content types.
  */
 abstract class WhitelabelBrowserTestBase extends BrowserTestBase {
 
+  use SparqlConnectionTrait;
+
   /**
    * {@inheritdoc}
    */
   protected $defaultTheme = 'oe_whitelabel';
 
+  /**
+   * {@inheritdoc}
+   */
+  protected function setUp() {
+    parent::setUp();
+
+    // Without sparql, some blocks will cause problems.
+    $this->setUpSparql();
+  }
+
 }
-- 
GitLab


From fd0a395f0271a4368a8fd0e594ba1f24457d7416 Mon Sep 17 00:00:00 2001
From: Andreas Hennings <andreas@dqxtech.net>
Date: Fri, 25 Mar 2022 21:57:11 +0100
Subject: [PATCH 09/35] OEL-1227: Test full pages.

---
 tests/src/Functional/ContentEventRenderTest.php | 14 +++++++-------
 tests/src/Functional/ContentNewsRenderTest.php  | 13 ++++++-------
 2 files changed, 13 insertions(+), 14 deletions(-)

diff --git a/tests/src/Functional/ContentEventRenderTest.php b/tests/src/Functional/ContentEventRenderTest.php
index 8b874c7f..d5d9d906 100644
--- a/tests/src/Functional/ContentEventRenderTest.php
+++ b/tests/src/Functional/ContentEventRenderTest.php
@@ -95,14 +95,14 @@ class ContentEventRenderTest extends WhitelabelBrowserTestBase {
   }
 
   /**
-   * Tests the event rendered in 'Full content' view mode.
+   * Tests the event page.
    */
-  public function testEventRenderingFull(): void {
-    // Build node full view.
-    $builder = \Drupal::entityTypeManager()->getViewBuilder('node');
-    $build = $builder->view($this->node, 'full');
-    $render = $this->container->get('renderer')->renderRoot($build);
-    $crawler = new Crawler((string) $render);
+  public function testEventPage(): void {
+    $this->drupalGet('node/' . $this->node->id());
+
+    /** @var \Symfony\Component\BrowserKit\AbstractBrowser $client */
+    $client = $this->getSession()->getDriver()->getClient();
+    $crawler = $client->getCrawler();
 
     // Select the content banner element.
     $content_banner = $crawler->filter('.bcl-content-banner');
diff --git a/tests/src/Functional/ContentNewsRenderTest.php b/tests/src/Functional/ContentNewsRenderTest.php
index 9d4fb93c..7f057d60 100644
--- a/tests/src/Functional/ContentNewsRenderTest.php
+++ b/tests/src/Functional/ContentNewsRenderTest.php
@@ -76,14 +76,13 @@ class ContentNewsRenderTest extends WhitelabelBrowserTestBase {
   }
 
   /**
-   * Tests the news rendered in 'Full content' view mode.
+   * Tests the news page.
    */
-  public function testNewsRenderingFull(): void {
-    // Build node full view.
-    $builder = \Drupal::entityTypeManager()->getViewBuilder('node');
-    $build = $builder->view($this->node, 'full');
-    $render = $this->container->get('renderer')->renderRoot($build);
-    $crawler = new Crawler((string) $render);
+  public function testNewsPage(): void {
+    $this->drupalGet('node/' . $this->node->id());
+    /** @var \Symfony\Component\BrowserKit\AbstractBrowser $client */
+    $client = $this->getSession()->getDriver()->getClient();
+    $crawler = $client->getCrawler();
 
     // Select the content banner element.
     $content_banner = $crawler->filter('.bcl-content-banner');
-- 
GitLab


From d6ed36cb2a7b7fc0bb9f112e2c29eaa2febf42b6 Mon Sep 17 00:00:00 2001
From: Andreas Hennings <andreas@dqxtech.net>
Date: Fri, 25 Mar 2022 18:02:47 +0100
Subject: [PATCH 10/35] OEL-1227: Create 'oe_w_content_banner' view mode.

---
 .../core.entity_view_mode.node.oe_w_content_banner.yml   | 9 +++++++++
 .../oe_whitelabel_helper/oe_whitelabel_helper.info.yml   | 5 +++++
 2 files changed, 14 insertions(+)
 create mode 100644 modules/oe_whitelabel_helper/config/optional/core.entity_view_mode.node.oe_w_content_banner.yml

diff --git a/modules/oe_whitelabel_helper/config/optional/core.entity_view_mode.node.oe_w_content_banner.yml b/modules/oe_whitelabel_helper/config/optional/core.entity_view_mode.node.oe_w_content_banner.yml
new file mode 100644
index 00000000..f9fd090f
--- /dev/null
+++ b/modules/oe_whitelabel_helper/config/optional/core.entity_view_mode.node.oe_w_content_banner.yml
@@ -0,0 +1,9 @@
+langcode: en
+status: true
+dependencies:
+  module:
+    - node
+id: node.oe_w_content_banner
+label: 'Content banner'
+targetEntityType: node
+cache: true
diff --git a/modules/oe_whitelabel_helper/oe_whitelabel_helper.info.yml b/modules/oe_whitelabel_helper/oe_whitelabel_helper.info.yml
index 91e08098..cf14230e 100644
--- a/modules/oe_whitelabel_helper/oe_whitelabel_helper.info.yml
+++ b/modules/oe_whitelabel_helper/oe_whitelabel_helper.info.yml
@@ -9,3 +9,8 @@ dependencies:
   - openeuropa:oe_corporate_blocks
 
 'interface translation project': oe_whitelabel_helper
+
+config_devel:
+  optional:
+    # A view mode should not depend on a theme, so it is exported in a module.
+    - core.entity_view_mode.node.oe_w_content_banner
-- 
GitLab


From 5e3fefba7d869d22112ce986c3314e62b719e344 Mon Sep 17 00:00:00 2001
From: Andreas Hennings <andreas@dqxtech.net>
Date: Fri, 25 Mar 2022 18:07:59 +0100
Subject: [PATCH 11/35] OEL-1227: Add the 'banner' region.

---
 oe_whitelabel.info.yml                  | 1 +
 templates/overrides/page/page.html.twig | 1 +
 2 files changed, 2 insertions(+)

diff --git a/oe_whitelabel.info.yml b/oe_whitelabel.info.yml
index c3e080e8..be757cfe 100644
--- a/oe_whitelabel.info.yml
+++ b/oe_whitelabel.info.yml
@@ -23,6 +23,7 @@ regions:
   header_top: Header top
   header_left: Header left
   header_right: Header right
+  banner: Banner
   header: Header
   breadcrumbs: Breadcrumbs
   sidebar_left:  Sidebar
diff --git a/templates/overrides/page/page.html.twig b/templates/overrides/page/page.html.twig
index 3c2d749f..deddc36e 100644
--- a/templates/overrides/page/page.html.twig
+++ b/templates/overrides/page/page.html.twig
@@ -104,6 +104,7 @@
     </header>
   {% endblock %}
   <main>
+    {{ page.banner }}
     <div class="container {{ page.header ? 'mt-2': 'mt-5' }}">
       <div class="row">
         {% if page.header %}
-- 
GitLab


From 6479f0f6c2aac6d07d33700430d36f2618b30e73 Mon Sep 17 00:00:00 2001
From: Andreas Hennings <andreas@dqxtech.net>
Date: Fri, 25 Mar 2022 17:57:43 +0100
Subject: [PATCH 12/35] OEL-1227: Create and place the ContentBannerBlock.

---
 ...ock.block.oe_whitelabel_content_banner.yml | 21 ++++++++
 .../oe_whitelabel_helper.info.yml             |  1 +
 .../src/Plugin/Block/ContentBannerBlock.php   | 49 +++++++++++++++++++
 oe_whitelabel.info.yml                        |  1 +
 4 files changed, 72 insertions(+)
 create mode 100644 config/optional/block.block.oe_whitelabel_content_banner.yml
 create mode 100644 modules/oe_whitelabel_helper/src/Plugin/Block/ContentBannerBlock.php

diff --git a/config/optional/block.block.oe_whitelabel_content_banner.yml b/config/optional/block.block.oe_whitelabel_content_banner.yml
new file mode 100644
index 00000000..f5af5337
--- /dev/null
+++ b/config/optional/block.block.oe_whitelabel_content_banner.yml
@@ -0,0 +1,21 @@
+langcode: en
+status: true
+dependencies:
+  module:
+    - oe_whitelabel_helper
+  theme:
+    - oe_whitelabel
+id: oe_whitelabel_content_banner
+theme: oe_whitelabel
+region: banner
+weight: -6
+provider: null
+plugin: oe_w_content_banner
+settings:
+  id: oe_w_content_banner
+  label: 'Content banner'
+  label_display: '0'
+  provider: oe_whitelabel_helper
+  context_mapping:
+    node: '@node.node_route_context:node'
+visibility: {  }
diff --git a/modules/oe_whitelabel_helper/oe_whitelabel_helper.info.yml b/modules/oe_whitelabel_helper/oe_whitelabel_helper.info.yml
index cf14230e..448ee59c 100644
--- a/modules/oe_whitelabel_helper/oe_whitelabel_helper.info.yml
+++ b/modules/oe_whitelabel_helper/oe_whitelabel_helper.info.yml
@@ -5,6 +5,7 @@ package: OpenEuropa Whitelabel Theme
 core_version_requirement: ^9.2
 
 dependencies:
+  - drupal:node
   - oe_bootstrap_theme:oe_bootstrap_theme_helper
   - openeuropa:oe_corporate_blocks
 
diff --git a/modules/oe_whitelabel_helper/src/Plugin/Block/ContentBannerBlock.php b/modules/oe_whitelabel_helper/src/Plugin/Block/ContentBannerBlock.php
new file mode 100644
index 00000000..ec255b23
--- /dev/null
+++ b/modules/oe_whitelabel_helper/src/Plugin/Block/ContentBannerBlock.php
@@ -0,0 +1,49 @@
+<?php
+
+declare(strict_types = 1);
+
+namespace Drupal\oe_whitelabel_helper\Plugin\Block;
+
+use Drupal\Core\Access\AccessResult;
+use Drupal\Core\Block\BlockBase;
+use Drupal\Core\Session\AccountInterface;
+
+/**
+ * Provides a view mode block.
+ *
+ * @Block(
+ *   id = "oe_w_content_banner",
+ *   admin_label = @Translation("Content banner"),
+ *   context_definitions = {
+ *     "node" = @ContextDefinition("entity:node", label = @Translation("Node"))
+ *   },
+ * )
+ */
+class ContentBannerBlock extends BlockBase {
+
+  /**
+   * {@inheritdoc}
+   */
+  public function blockAccess(AccountInterface $account): AccessResult {
+    /** @var \Drupal\node\NodeInterface $node */
+    $node = $this->getContextValue('node');
+
+    /** @var \Drupal\Core\Entity\EntityViewModeInterface|null $view_mode_object */
+    $view_mode_object = \Drupal::entityTypeManager()
+      ->getStorage('entity_view_display')
+      ->load('node.' . $node->bundle() . '.oe_w_content_banner');
+
+    return AccessResult::allowedIf($view_mode_object !== NULL);
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function build(): array {
+    /** @var \Drupal\Core\Entity\EntityInterface $entity */
+    $entity = $this->getContextValue('node');
+    $view_builder = \Drupal::entityTypeManager()->getViewBuilder($entity->getEntityTypeId());
+    return $view_builder->view($entity, 'oe_w_content_banner');
+  }
+
+}
diff --git a/oe_whitelabel.info.yml b/oe_whitelabel.info.yml
index be757cfe..d704bb53 100644
--- a/oe_whitelabel.info.yml
+++ b/oe_whitelabel.info.yml
@@ -38,6 +38,7 @@ config_devel:
   optional:
     - block.block.oe_whitelabel_branding
     - block.block.oe_whitelabel_breadcrumbs
+    - block.block.oe_whitelabel_content_banner
     - block.block.oe_whitelabel_ec_corporate_footer
     - block.block.oe_whitelabel_eu_corporate_footer
     - block.block.oe_whitelabel_eulogin
-- 
GitLab


From 1497e28a982e2018d37696c4485dcbbf822d26e0 Mon Sep 17 00:00:00 2001
From: Andreas Hennings <andreas@dqxtech.net>
Date: Fri, 25 Mar 2022 18:05:15 +0100
Subject: [PATCH 13/35] OEL-1227: Noise in teaser view mode for 'oe_sc_event'.

---
 .../core.entity_view_display.node.oe_sc_event.teaser.yml   | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/modules/oe_whitelabel_starter_event/config/install/core.entity_view_display.node.oe_sc_event.teaser.yml b/modules/oe_whitelabel_starter_event/config/install/core.entity_view_display.node.oe_sc_event.teaser.yml
index 009b8c67..62339844 100755
--- a/modules/oe_whitelabel_starter_event/config/install/core.entity_view_display.node.oe_sc_event.teaser.yml
+++ b/modules/oe_whitelabel_starter_event/config/install/core.entity_view_display.node.oe_sc_event.teaser.yml
@@ -5,8 +5,8 @@ dependencies:
     - core.entity_view_mode.node.teaser
     - field.field.node.oe_sc_event.body
     - field.field.node.oe_sc_event.oe_documents
-    - field.field.node.oe_sc_event.oe_sc_event_dates
     - field.field.node.oe_sc_event.oe_featured_media
+    - field.field.node.oe_sc_event.oe_sc_event_dates
     - field.field.node.oe_sc_event.oe_sc_event_location
     - field.field.node.oe_sc_event.oe_summary
     - node.type.oe_sc_event
@@ -46,6 +46,11 @@ content:
     region: content
 hidden:
   body: true
+  langcode: true
   links: true
+  oe_content_content_owner: true
+  oe_content_legacy_link: true
+  oe_content_navigation_title: true
+  oe_content_short_title: true
   oe_documents: true
   oe_featured_media: true
-- 
GitLab


From f09f21af4c028f318dd15fd4447f925447e4fe7e Mon Sep 17 00:00:00 2001
From: Andreas Hennings <andreas@dqxtech.net>
Date: Tue, 29 Mar 2022 21:53:38 +0200
Subject: [PATCH 14/35] OEL-1227: Example node as return value instead of
 object property.

---
 .../src/Functional/ContentEventRenderTest.php | 23 ++++++++-----------
 .../src/Functional/ContentNewsRenderTest.php  | 23 ++++++++-----------
 2 files changed, 20 insertions(+), 26 deletions(-)

diff --git a/tests/src/Functional/ContentEventRenderTest.php b/tests/src/Functional/ContentEventRenderTest.php
index d5d9d906..a0a98b1d 100644
--- a/tests/src/Functional/ContentEventRenderTest.php
+++ b/tests/src/Functional/ContentEventRenderTest.php
@@ -6,6 +6,7 @@ namespace Drupal\Tests\oe_whitelabel\Functional;
 
 use Drupal\file\Entity\File;
 use Drupal\media\Entity\Media;
+use Drupal\node\NodeInterface;
 use Drupal\Tests\media\Traits\MediaTypeCreationTrait;
 use Drupal\Tests\TestFileCreationTrait;
 use Symfony\Component\DomCrawler\Crawler;
@@ -26,18 +27,12 @@ class ContentEventRenderTest extends WhitelabelBrowserTestBase {
   ];
 
   /**
-   * A node to be rendered in diferent display views.
+   * Creates an example event node.
    *
-   * @var \Drupal\node\NodeInterface
+   * @return \Drupal\node\NodeInterface
+   *   Event node.
    */
-  protected $node;
-
-  /**
-   * {@inheritdoc}
-   */
-  protected function setUp(): void {
-    parent::setUp();
-
+  protected function createExampleEvent(): NodeInterface {
     // Create a sample media entity to be embedded.
     File::create([
       'uri' => $this->getTestFiles('image')[0]->uri,
@@ -91,14 +86,15 @@ class ContentEventRenderTest extends WhitelabelBrowserTestBase {
     $node->set('oe_documents', [$media_document]);
     $node->set('oe_featured_media', [$media_image]);
     $node->save();
-    $this->node = $node;
+    return $node;
   }
 
   /**
    * Tests the event page.
    */
   public function testEventPage(): void {
-    $this->drupalGet('node/' . $this->node->id());
+    $node = $this->createExampleEvent();
+    $this->drupalGet('node/' . $node->id());
 
     /** @var \Symfony\Component\BrowserKit\AbstractBrowser $client */
     $client = $this->getSession()->getDriver()->getClient();
@@ -161,9 +157,10 @@ class ContentEventRenderTest extends WhitelabelBrowserTestBase {
    * Tests the event rendered in 'Teaser' view mode.
    */
   public function testEventRenderingTeaser(): void {
+    $node = $this->createExampleEvent();
     // Build node teaser view.
     $builder = \Drupal::entityTypeManager()->getViewBuilder('node');
-    $build = $builder->view($this->node, 'teaser');
+    $build = $builder->view($node, 'teaser');
     $render = $this->container->get('renderer')->renderRoot($build);
     $crawler = new Crawler((string) $render);
 
diff --git a/tests/src/Functional/ContentNewsRenderTest.php b/tests/src/Functional/ContentNewsRenderTest.php
index 7f057d60..66db8ca3 100644
--- a/tests/src/Functional/ContentNewsRenderTest.php
+++ b/tests/src/Functional/ContentNewsRenderTest.php
@@ -6,6 +6,7 @@ namespace Drupal\Tests\oe_whitelabel\Functional;
 
 use Drupal\file\Entity\File;
 use Drupal\media\Entity\Media;
+use Drupal\node\NodeInterface;
 use Drupal\Tests\media\Traits\MediaTypeCreationTrait;
 use Drupal\Tests\TestFileCreationTrait;
 use Symfony\Component\DomCrawler\Crawler;
@@ -26,18 +27,12 @@ class ContentNewsRenderTest extends WhitelabelBrowserTestBase {
   ];
 
   /**
-   * A node to be rendered in different display views.
+   * Creates an example news node.
    *
-   * @var \Drupal\node\NodeInterface
+   * @return \Drupal\node\NodeInterface
+   *   News node.
    */
-  protected $node;
-
-  /**
-   * {@inheritdoc}
-   */
-  protected function setUp(): void {
-    parent::setUp();
-
+  protected function createExampleNews(): NodeInterface {
     // Create a sample image media entity to be embedded.
     File::create([
       'uri' => $this->getTestFiles('image')[0]->uri,
@@ -72,14 +67,15 @@ class ContentNewsRenderTest extends WhitelabelBrowserTestBase {
       ]);
     $node->set('oe_featured_media', [$media_image]);
     $node->save();
-    $this->node = $node;
+    return $node;
   }
 
   /**
    * Tests the news page.
    */
   public function testNewsPage(): void {
-    $this->drupalGet('node/' . $this->node->id());
+    $node = $this->createExampleNews();
+    $this->drupalGet('node/' . $node->id());
     /** @var \Symfony\Component\BrowserKit\AbstractBrowser $client */
     $client = $this->getSession()->getDriver()->getClient();
     $crawler = $client->getCrawler();
@@ -124,9 +120,10 @@ class ContentNewsRenderTest extends WhitelabelBrowserTestBase {
    * Tests the news rendered in 'Teaser' view mode.
    */
   public function testNewsRenderingTeaser(): void {
+    $node = $this->createExampleNews();
     // Build node teaser view.
     $builder = \Drupal::entityTypeManager()->getViewBuilder('node');
-    $build = $builder->view($this->node, 'teaser');
+    $build = $builder->view($node, 'teaser');
     $render = $this->container->get('renderer')->renderRoot($build);
     $crawler = new Crawler((string) $render);
 
-- 
GitLab


From e2ead1ea94a4d2a294e7fd97a4e5d6d507155075 Mon Sep 17 00:00:00 2001
From: Andreas Hennings <andreas@dqxtech.net>
Date: Tue, 29 Mar 2022 21:55:46 +0200
Subject: [PATCH 15/35] OEL-1227: Enable block module in tests.

---
 tests/src/Functional/ContentEventRenderTest.php | 1 +
 tests/src/Functional/ContentNewsRenderTest.php  | 1 +
 2 files changed, 2 insertions(+)

diff --git a/tests/src/Functional/ContentEventRenderTest.php b/tests/src/Functional/ContentEventRenderTest.php
index a0a98b1d..6469afe1 100644
--- a/tests/src/Functional/ContentEventRenderTest.php
+++ b/tests/src/Functional/ContentEventRenderTest.php
@@ -23,6 +23,7 @@ class ContentEventRenderTest extends WhitelabelBrowserTestBase {
    * {@inheritdoc}
    */
   public static $modules = [
+    'block',
     'oe_whitelabel_starter_event',
   ];
 
diff --git a/tests/src/Functional/ContentNewsRenderTest.php b/tests/src/Functional/ContentNewsRenderTest.php
index 66db8ca3..377dd46a 100644
--- a/tests/src/Functional/ContentNewsRenderTest.php
+++ b/tests/src/Functional/ContentNewsRenderTest.php
@@ -23,6 +23,7 @@ class ContentNewsRenderTest extends WhitelabelBrowserTestBase {
    * {@inheritdoc}
    */
   protected static $modules = [
+    'block',
     'oe_whitelabel_starter_news',
   ];
 
-- 
GitLab


From e85d9c06eef02328b85f6455c5d4058d06c437d1 Mon Sep 17 00:00:00 2001
From: Andreas Hennings <andreas@dqxtech.net>
Date: Tue, 29 Mar 2022 21:56:18 +0200
Subject: [PATCH 16/35] OEL-1227: Assert that content banner is found in page,
 for better reporting on failure.

---
 tests/src/Functional/ContentEventRenderTest.php | 1 +
 tests/src/Functional/ContentNewsRenderTest.php  | 1 +
 2 files changed, 2 insertions(+)

diff --git a/tests/src/Functional/ContentEventRenderTest.php b/tests/src/Functional/ContentEventRenderTest.php
index 6469afe1..0bd7bfbc 100644
--- a/tests/src/Functional/ContentEventRenderTest.php
+++ b/tests/src/Functional/ContentEventRenderTest.php
@@ -103,6 +103,7 @@ class ContentEventRenderTest extends WhitelabelBrowserTestBase {
 
     // Select the content banner element.
     $content_banner = $crawler->filter('.bcl-content-banner');
+    $this->assertSame(1, $content_banner->count(), 'Content banner found.');
 
     // Assert content banner title.
     $this->assertEquals(
diff --git a/tests/src/Functional/ContentNewsRenderTest.php b/tests/src/Functional/ContentNewsRenderTest.php
index 377dd46a..96ae0923 100644
--- a/tests/src/Functional/ContentNewsRenderTest.php
+++ b/tests/src/Functional/ContentNewsRenderTest.php
@@ -83,6 +83,7 @@ class ContentNewsRenderTest extends WhitelabelBrowserTestBase {
 
     // Select the content banner element.
     $content_banner = $crawler->filter('.bcl-content-banner');
+    $this->assertSame(1, $content_banner->count(), 'Content banner found.');
 
     // Assert content banner image.
     $image = $content_banner->filter('img');
-- 
GitLab


From 4d10e9d8f53742b76b74cede508be11ebad68247 Mon Sep 17 00:00:00 2001
From: Andreas Hennings <andreas@dqxtech.net>
Date: Fri, 25 Mar 2022 18:04:53 +0100
Subject: [PATCH 17/35] OEL-1227: Configure and theme view modes for
 'oe_sc_event', moving fields into content banner.

---
 ...ity_view_display.node.oe_sc_event.full.yml | 26 +++-------
 ...y.node.oe_sc_event.oe_w_content_banner.yml | 47 +++++++++++++++++++
 .../oe_whitelabel_starter_event.info.yml      |  1 +
 .../oe_whitelabel_starter_event.module        | 20 ++++++--
 .../node--oe-sc-event--full.html.twig         | 19 ++------
 ...oe-sc-event--oe-w-content-banner.html.twig | 14 ++++++
 6 files changed, 88 insertions(+), 39 deletions(-)
 create mode 100644 modules/oe_whitelabel_starter_event/config/install/core.entity_view_display.node.oe_sc_event.oe_w_content_banner.yml
 create mode 100755 modules/oe_whitelabel_starter_event/templates/node--oe-sc-event--oe-w-content-banner.html.twig

diff --git a/modules/oe_whitelabel_starter_event/config/install/core.entity_view_display.node.oe_sc_event.full.yml b/modules/oe_whitelabel_starter_event/config/install/core.entity_view_display.node.oe_sc_event.full.yml
index a8b91042..6ad2e19b 100755
--- a/modules/oe_whitelabel_starter_event/config/install/core.entity_view_display.node.oe_sc_event.full.yml
+++ b/modules/oe_whitelabel_starter_event/config/install/core.entity_view_display.node.oe_sc_event.full.yml
@@ -12,7 +12,6 @@ dependencies:
     - node.type.oe_sc_event
   module:
     - datetime_range
-    - oe_content_featured_media_field
     - oe_whitelabel_helper
     - text
     - user
@@ -26,12 +25,12 @@ content:
     label: above
     settings: {  }
     third_party_settings: {  }
-    weight: 1
+    weight: 0
     region: content
   links:
     settings: {  }
     third_party_settings: {  }
-    weight: 7
+    weight: 4
     region: content
   oe_documents:
     type: entity_reference_entity_view
@@ -40,15 +39,7 @@ content:
       view_mode: default
       link: true
     third_party_settings: {  }
-    weight: 6
-    region: content
-  oe_featured_media:
-    type: oe_featured_media_label
-    label: above
-    settings:
-      link: true
-    third_party_settings: {  }
-    weight: 8
+    weight: 3
     region: content
   oe_sc_event_dates:
     type: daterange_default
@@ -58,7 +49,7 @@ content:
       format_type: oe_whitelabel_starter_event_date
       separator: to
     third_party_settings: {  }
-    weight: 4
+    weight: 1
     region: content
   oe_sc_event_location:
     type: oe_whitelabel_helper_address_inline
@@ -66,13 +57,6 @@ content:
     settings:
       delimiter: ', '
     third_party_settings: {  }
-    weight: 5
-    region: content
-  oe_summary:
-    type: text_default
-    label: hidden
-    settings: {  }
-    third_party_settings: {  }
     weight: 2
     region: content
 hidden:
@@ -81,3 +65,5 @@ hidden:
   oe_content_legacy_link: true
   oe_content_navigation_title: true
   oe_content_short_title: true
+  oe_featured_media: true
+  oe_summary: true
diff --git a/modules/oe_whitelabel_starter_event/config/install/core.entity_view_display.node.oe_sc_event.oe_w_content_banner.yml b/modules/oe_whitelabel_starter_event/config/install/core.entity_view_display.node.oe_sc_event.oe_w_content_banner.yml
new file mode 100644
index 00000000..f6d0cd2a
--- /dev/null
+++ b/modules/oe_whitelabel_starter_event/config/install/core.entity_view_display.node.oe_sc_event.oe_w_content_banner.yml
@@ -0,0 +1,47 @@
+langcode: en
+status: true
+dependencies:
+  config:
+    - core.entity_view_mode.node.oe_w_content_banner
+    - field.field.node.oe_sc_event.body
+    - field.field.node.oe_sc_event.oe_documents
+    - field.field.node.oe_sc_event.oe_featured_media
+    - field.field.node.oe_sc_event.oe_sc_event_dates
+    - field.field.node.oe_sc_event.oe_sc_event_location
+    - field.field.node.oe_sc_event.oe_summary
+    - node.type.oe_sc_event
+  module:
+    - oe_content_featured_media_field
+    - text
+    - user
+id: node.oe_sc_event.oe_w_content_banner
+targetEntityType: node
+bundle: oe_sc_event
+mode: oe_w_content_banner
+content:
+  oe_featured_media:
+    type: oe_featured_media_label
+    label: hidden
+    settings:
+      link: true
+    third_party_settings: {  }
+    weight: 1
+    region: content
+  oe_summary:
+    type: text_default
+    label: hidden
+    settings: {  }
+    third_party_settings: {  }
+    weight: 0
+    region: content
+hidden:
+  body: true
+  langcode: true
+  links: true
+  oe_content_content_owner: true
+  oe_content_legacy_link: true
+  oe_content_navigation_title: true
+  oe_content_short_title: true
+  oe_documents: true
+  oe_sc_event_dates: true
+  oe_sc_event_location: true
diff --git a/modules/oe_whitelabel_starter_event/oe_whitelabel_starter_event.info.yml b/modules/oe_whitelabel_starter_event/oe_whitelabel_starter_event.info.yml
index ce2617f0..2b18cf02 100755
--- a/modules/oe_whitelabel_starter_event/oe_whitelabel_starter_event.info.yml
+++ b/modules/oe_whitelabel_starter_event/oe_whitelabel_starter_event.info.yml
@@ -12,4 +12,5 @@ config_devel:
   install:
     - core.date_format.oe_whitelabel_starter_event_date
     - core.entity_view_display.node.oe_sc_event.full
+    - core.entity_view_display.node.oe_sc_event.oe_w_content_banner
     - core.entity_view_display.node.oe_sc_event.teaser
diff --git a/modules/oe_whitelabel_starter_event/oe_whitelabel_starter_event.module b/modules/oe_whitelabel_starter_event/oe_whitelabel_starter_event.module
index 7e9200f5..b1143375 100755
--- a/modules/oe_whitelabel_starter_event/oe_whitelabel_starter_event.module
+++ b/modules/oe_whitelabel_starter_event/oe_whitelabel_starter_event.module
@@ -17,14 +17,24 @@ use Drupal\Component\Utility\Html;
 /**
  * Implements template_preprocess_node() for the Event node type.
  */
-function oe_whitelabel_starter_event_preprocess_node__oe_sc_event(&$variables) {
-  if ($variables['view_mode'] !== 'full' && $variables['view_mode'] !== 'teaser') {
-    return;
-  }
-  _oe_whitelabel_starter_event_preprocess_featured_media($variables);
+function oe_whitelabel_starter_event_preprocess_node__oe_sc_event__full(&$variables) {
   _oe_whitelabel_starter_event_preprocess_inpage_nav($variables);
 }
 
+/**
+ * Implements template_preprocess_node() for the Event node type.
+ */
+function oe_whitelabel_starter_event_preprocess_node__oe_sc_event__oe_w_content_banner(&$variables) {
+  _oe_whitelabel_starter_event_preprocess_featured_media($variables);
+}
+
+/**
+ * Implements template_preprocess_node() for the Event node type.
+ */
+function oe_whitelabel_starter_event_preprocess_node__oe_sc_event__teaser(&$variables) {
+  _oe_whitelabel_starter_event_preprocess_featured_media($variables);
+}
+
 /**
  * Helper function to preprocess the Featured media field.
  *
diff --git a/modules/oe_whitelabel_starter_event/templates/node--oe-sc-event--full.html.twig b/modules/oe_whitelabel_starter_event/templates/node--oe-sc-event--full.html.twig
index faecb1a7..f7766176 100755
--- a/modules/oe_whitelabel_starter_event/templates/node--oe-sc-event--full.html.twig
+++ b/modules/oe_whitelabel_starter_event/templates/node--oe-sc-event--full.html.twig
@@ -45,19 +45,10 @@
 {% endset %}
 
 <article{{attributes}}>
-  {{ pattern('content_banner', {
-    background: 'gray',
-    title: label,
-    content: content.oe_summary,
-    image: image,
-    attributes: create_attribute().addClass(['ps-0']),
+  {{ pattern('inpage_navigation', {
+    title: 'Page content',
+    links: inpage_navigation_links,
+    content: inpage_navigation_fields,
+    full_layout: true,
   }) }}
-  <div class="mt-md-4-75 mt-4">
-    {{ pattern('inpage_navigation', {
-      title: 'Page content',
-      links: inpage_navigation_links,
-      content: inpage_navigation_fields,
-      full_layout: true,
-    }) }}
-  </div>
 </article>
diff --git a/modules/oe_whitelabel_starter_event/templates/node--oe-sc-event--oe-w-content-banner.html.twig b/modules/oe_whitelabel_starter_event/templates/node--oe-sc-event--oe-w-content-banner.html.twig
new file mode 100755
index 00000000..40436ebb
--- /dev/null
+++ b/modules/oe_whitelabel_starter_event/templates/node--oe-sc-event--oe-w-content-banner.html.twig
@@ -0,0 +1,14 @@
+{#
+/**
+ * @file
+ * Event content banner display.
+ */
+#}
+<div{{attributes}}>
+  {{ pattern('content_banner', {
+    background: 'gray',
+    title: label,
+    content: content.oe_summary,
+    image: image,
+  }) }}
+</div>
-- 
GitLab


From 31bd19071af1d39320fa114f571cab43dae70c73 Mon Sep 17 00:00:00 2001
From: Andreas Hennings <andreas@dqxtech.net>
Date: Fri, 25 Mar 2022 18:30:20 +0100
Subject: [PATCH 18/35] OEL-1227: Configure and theme view modes for
 'oe_sc_news', moving fields into content banner.

---
 ...tity_view_display.node.oe_sc_news.full.yml | 33 +++-----------
 ...ay.node.oe_sc_news.oe_w_content_banner.yml | 44 +++++++++++++++++++
 .../oe_whitelabel_starter_news.info.yml       |  1 +
 .../oe_whitelabel_starter_news.module         |  2 +-
 .../node--oe-sc-news--full.html.twig          | 25 ++---------
 ...-oe-sc-news--oe-w-content-banner.html.twig | 24 ++++++++++
 6 files changed, 78 insertions(+), 51 deletions(-)
 create mode 100644 modules/oe_whitelabel_starter_news/config/install/core.entity_view_display.node.oe_sc_news.oe_w_content_banner.yml
 create mode 100644 modules/oe_whitelabel_starter_news/templates/node--oe-sc-news--oe-w-content-banner.html.twig

diff --git a/modules/oe_whitelabel_starter_news/config/install/core.entity_view_display.node.oe_sc_news.full.yml b/modules/oe_whitelabel_starter_news/config/install/core.entity_view_display.node.oe_sc_news.full.yml
index df0a5c9d..c79b5a1c 100644
--- a/modules/oe_whitelabel_starter_news/config/install/core.entity_view_display.node.oe_sc_news.full.yml
+++ b/modules/oe_whitelabel_starter_news/config/install/core.entity_view_display.node.oe_sc_news.full.yml
@@ -9,8 +9,6 @@ dependencies:
     - field.field.node.oe_sc_news.oe_summary
     - node.type.oe_sc_news
   module:
-    - datetime
-    - oe_content_featured_media_field
     - text
     - user
 id: node.oe_sc_news.full
@@ -23,36 +21,12 @@ content:
     label: hidden
     settings: {  }
     third_party_settings: {  }
-    weight: 12
+    weight: 0
     region: content
   links:
     settings: {  }
     third_party_settings: {  }
-    weight: 14
-    region: content
-  oe_featured_media:
-    type: oe_featured_media_label
-    label: above
-    settings:
-      link: true
-    third_party_settings: {  }
-    weight: 15
-    region: content
-  oe_publication_date:
-    type: datetime_default
-    label: hidden
-    settings:
-      timezone_override: ''
-      format_type: oe_whitelabel_starter_news_date
-    third_party_settings: {  }
-    weight: 13
-    region: content
-  oe_summary:
-    type: text_default
-    label: hidden
-    settings: {  }
-    third_party_settings: {  }
-    weight: 11
+    weight: 1
     region: content
 hidden:
   langcode: true
@@ -60,4 +34,7 @@ hidden:
   oe_content_legacy_link: true
   oe_content_navigation_title: true
   oe_content_short_title: true
+  oe_featured_media: true
+  oe_publication_date: true
+  oe_summary: true
   search_api_excerpt: true
diff --git a/modules/oe_whitelabel_starter_news/config/install/core.entity_view_display.node.oe_sc_news.oe_w_content_banner.yml b/modules/oe_whitelabel_starter_news/config/install/core.entity_view_display.node.oe_sc_news.oe_w_content_banner.yml
new file mode 100644
index 00000000..2eb3b134
--- /dev/null
+++ b/modules/oe_whitelabel_starter_news/config/install/core.entity_view_display.node.oe_sc_news.oe_w_content_banner.yml
@@ -0,0 +1,44 @@
+langcode: en
+status: true
+dependencies:
+  config:
+    - core.entity_view_mode.node.oe_w_content_banner
+    - field.field.node.oe_sc_news.body
+    - field.field.node.oe_sc_news.oe_featured_media
+    - field.field.node.oe_sc_news.oe_publication_date
+    - field.field.node.oe_sc_news.oe_summary
+    - node.type.oe_sc_news
+  module:
+    - datetime
+    - text
+    - user
+id: node.oe_sc_news.oe_w_content_banner
+targetEntityType: node
+bundle: oe_sc_news
+mode: oe_w_content_banner
+content:
+  oe_publication_date:
+    type: datetime_default
+    label: hidden
+    settings:
+      timezone_override: ''
+      format_type: oe_whitelabel_starter_news_date
+    third_party_settings: {  }
+    weight: 1
+    region: content
+  oe_summary:
+    type: text_default
+    label: hidden
+    settings: {  }
+    third_party_settings: {  }
+    weight: 0
+    region: content
+hidden:
+  body: true
+  langcode: true
+  links: true
+  oe_content_content_owner: true
+  oe_content_legacy_link: true
+  oe_content_navigation_title: true
+  oe_content_short_title: true
+  oe_featured_media: true
diff --git a/modules/oe_whitelabel_starter_news/oe_whitelabel_starter_news.info.yml b/modules/oe_whitelabel_starter_news/oe_whitelabel_starter_news.info.yml
index dc47e64b..2a50f9cf 100644
--- a/modules/oe_whitelabel_starter_news/oe_whitelabel_starter_news.info.yml
+++ b/modules/oe_whitelabel_starter_news/oe_whitelabel_starter_news.info.yml
@@ -12,4 +12,5 @@ config_devel:
   install:
     - core.date_format.oe_whitelabel_starter_news_date
     - core.entity_view_display.node.oe_sc_news.full
+    - core.entity_view_display.node.oe_sc_news.oe_w_content_banner
     - core.entity_view_display.node.oe_sc_news.teaser
diff --git a/modules/oe_whitelabel_starter_news/oe_whitelabel_starter_news.module b/modules/oe_whitelabel_starter_news/oe_whitelabel_starter_news.module
index 4af48a40..bd95418a 100644
--- a/modules/oe_whitelabel_starter_news/oe_whitelabel_starter_news.module
+++ b/modules/oe_whitelabel_starter_news/oe_whitelabel_starter_news.module
@@ -17,7 +17,7 @@ use Drupal\oe_bootstrap_theme\ValueObject\ImageValueObject;
  * Implements template_preprocess_node() for the News node type.
  */
 function oe_whitelabel_starter_news_preprocess_node__oe_sc_news(&$variables) {
-  if ($variables['view_mode'] !== 'full' && $variables['view_mode'] !== 'teaser') {
+  if ($variables['view_mode'] !== 'oe_w_content_banner' && $variables['view_mode'] !== 'teaser') {
     return;
   }
 
diff --git a/modules/oe_whitelabel_starter_news/templates/node--oe-sc-news--full.html.twig b/modules/oe_whitelabel_starter_news/templates/node--oe-sc-news--full.html.twig
index 9b72f8e2..45d7d8e0 100644
--- a/modules/oe_whitelabel_starter_news/templates/node--oe-sc-news--full.html.twig
+++ b/modules/oe_whitelabel_starter_news/templates/node--oe-sc-news--full.html.twig
@@ -5,29 +5,10 @@
  */
 #}
 
-{% if not node.oe_publication_date.isEmpty() %}
-  {% set _meta = [] %}
-  {% set _news_publication_date %}
-    {{ content.oe_publication_date|field_value }}
-  {% endset %}
-  {% set _meta = _meta|merge([content.oe_publication_date]) %}
-{% endif %}
-
 <article{{attributes}}>
-  {{ pattern('content_banner', {
-    background: 'gray',
-    title: label,
-    content: content.oe_summary,
-    image: image,
-    meta: _meta,
-    attributes: create_attribute().addClass(['ps-0']),
-  }) }}
-
-  <div class="mt-md-4-75 mt-4">
-    <div class="row">
-      <div class="col-12 col-lg-10 col-xl-9 col-xxl-8 mb-4">
-        {{ content.body }}
-      </div>
+  <div class="row">
+    <div class="col-12 col-lg-10 col-xl-9 col-xxl-8 mb-4">
+      {{ content.body }}
     </div>
   </div>
 </article>
diff --git a/modules/oe_whitelabel_starter_news/templates/node--oe-sc-news--oe-w-content-banner.html.twig b/modules/oe_whitelabel_starter_news/templates/node--oe-sc-news--oe-w-content-banner.html.twig
new file mode 100644
index 00000000..894f6606
--- /dev/null
+++ b/modules/oe_whitelabel_starter_news/templates/node--oe-sc-news--oe-w-content-banner.html.twig
@@ -0,0 +1,24 @@
+{#
+/**
+ * @file
+ * News content banner display.
+ */
+#}
+
+{% if not node.oe_publication_date.isEmpty() %}
+  {% set _meta = [] %}
+  {% set _news_publication_date %}
+    {{ content.oe_publication_date|field_value }}
+  {% endset %}
+  {% set _meta = _meta|merge([content.oe_publication_date]) %}
+{% endif %}
+
+<div{{attributes}}>
+  {{ pattern('content_banner', {
+    background: 'gray',
+    title: label,
+    content: content.oe_summary,
+    image: image,
+    meta: _meta,
+  }) }}
+</div>
-- 
GitLab


From fba92453c88fde899a3e071112eff9915c471ad4 Mon Sep 17 00:00:00 2001
From: Andreas Hennings <andreas@dqxtech.net>
Date: Tue, 29 Mar 2022 22:34:14 +0200
Subject: [PATCH 19/35] OEL-1227: Set provider = 'node' in block definition, to
 force dependency.

---
 config/optional/block.block.oe_whitelabel_content_banner.yml  | 4 ++--
 .../src/Plugin/Block/ContentBannerBlock.php                   | 1 +
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/config/optional/block.block.oe_whitelabel_content_banner.yml b/config/optional/block.block.oe_whitelabel_content_banner.yml
index f5af5337..e5e61005 100644
--- a/config/optional/block.block.oe_whitelabel_content_banner.yml
+++ b/config/optional/block.block.oe_whitelabel_content_banner.yml
@@ -2,7 +2,7 @@ langcode: en
 status: true
 dependencies:
   module:
-    - oe_whitelabel_helper
+    - node
   theme:
     - oe_whitelabel
 id: oe_whitelabel_content_banner
@@ -15,7 +15,7 @@ settings:
   id: oe_w_content_banner
   label: 'Content banner'
   label_display: '0'
-  provider: oe_whitelabel_helper
+  provider: node
   context_mapping:
     node: '@node.node_route_context:node'
 visibility: {  }
diff --git a/modules/oe_whitelabel_helper/src/Plugin/Block/ContentBannerBlock.php b/modules/oe_whitelabel_helper/src/Plugin/Block/ContentBannerBlock.php
index ec255b23..03104656 100644
--- a/modules/oe_whitelabel_helper/src/Plugin/Block/ContentBannerBlock.php
+++ b/modules/oe_whitelabel_helper/src/Plugin/Block/ContentBannerBlock.php
@@ -17,6 +17,7 @@ use Drupal\Core\Session\AccountInterface;
  *   context_definitions = {
  *     "node" = @ContextDefinition("entity:node", label = @Translation("Node"))
  *   },
+ *   provider = "node",
  * )
  */
 class ContentBannerBlock extends BlockBase {
-- 
GitLab


From de56962cb95ed769e0cfac320401d8e45887b604 Mon Sep 17 00:00:00 2001
From: Andreas Hennings <andreas@dqxtech.net>
Date: Sun, 10 Apr 2022 23:10:55 +0200
Subject: [PATCH 20/35] OEL-1227: Hard-code entity type = 'node' in content
 banner block.

---
 .../src/Plugin/Block/ContentBannerBlock.php               | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/modules/oe_whitelabel_helper/src/Plugin/Block/ContentBannerBlock.php b/modules/oe_whitelabel_helper/src/Plugin/Block/ContentBannerBlock.php
index 03104656..de6b8876 100644
--- a/modules/oe_whitelabel_helper/src/Plugin/Block/ContentBannerBlock.php
+++ b/modules/oe_whitelabel_helper/src/Plugin/Block/ContentBannerBlock.php
@@ -41,10 +41,10 @@ class ContentBannerBlock extends BlockBase {
    * {@inheritdoc}
    */
   public function build(): array {
-    /** @var \Drupal\Core\Entity\EntityInterface $entity */
-    $entity = $this->getContextValue('node');
-    $view_builder = \Drupal::entityTypeManager()->getViewBuilder($entity->getEntityTypeId());
-    return $view_builder->view($entity, 'oe_w_content_banner');
+    /** @var \Drupal\node\NodeInterface $node */
+    $node = $this->getContextValue('node');
+    $view_builder = \Drupal::entityTypeManager()->getViewBuilder('node');
+    return $view_builder->view($node, 'oe_w_content_banner');
   }
 
 }
-- 
GitLab


From a71013fb1d424db62bddd47653ee47d76ccdbe9b Mon Sep 17 00:00:00 2001
From: Andreas Hennings <andreas@dqxtech.net>
Date: Sun, 10 Apr 2022 23:11:26 +0200
Subject: [PATCH 21/35] OEL-1227: Drop local variable, add line break.

---
 .../src/Plugin/Block/ContentBannerBlock.php                  | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/modules/oe_whitelabel_helper/src/Plugin/Block/ContentBannerBlock.php b/modules/oe_whitelabel_helper/src/Plugin/Block/ContentBannerBlock.php
index de6b8876..c793f776 100644
--- a/modules/oe_whitelabel_helper/src/Plugin/Block/ContentBannerBlock.php
+++ b/modules/oe_whitelabel_helper/src/Plugin/Block/ContentBannerBlock.php
@@ -43,8 +43,9 @@ class ContentBannerBlock extends BlockBase {
   public function build(): array {
     /** @var \Drupal\node\NodeInterface $node */
     $node = $this->getContextValue('node');
-    $view_builder = \Drupal::entityTypeManager()->getViewBuilder('node');
-    return $view_builder->view($node, 'oe_w_content_banner');
+    return \Drupal::entityTypeManager()
+      ->getViewBuilder('node')
+      ->view($node, 'oe_w_content_banner');
   }
 
 }
-- 
GitLab


From d459b76f22cdebc58aff3f999c51223cae692d47 Mon Sep 17 00:00:00 2001
From: Andreas Hennings <andreas@dqxtech.net>
Date: Sun, 10 Apr 2022 23:08:50 +0200
Subject: [PATCH 22/35] OEL-1227: Use dependency injection in
 ContentBannerBlock.

---
 .../src/Plugin/Block/ContentBannerBlock.php   | 50 +++++++++++++++++--
 1 file changed, 47 insertions(+), 3 deletions(-)

diff --git a/modules/oe_whitelabel_helper/src/Plugin/Block/ContentBannerBlock.php b/modules/oe_whitelabel_helper/src/Plugin/Block/ContentBannerBlock.php
index c793f776..cb790b63 100644
--- a/modules/oe_whitelabel_helper/src/Plugin/Block/ContentBannerBlock.php
+++ b/modules/oe_whitelabel_helper/src/Plugin/Block/ContentBannerBlock.php
@@ -6,7 +6,10 @@ namespace Drupal\oe_whitelabel_helper\Plugin\Block;
 
 use Drupal\Core\Access\AccessResult;
 use Drupal\Core\Block\BlockBase;
+use Drupal\Core\Entity\EntityTypeManagerInterface;
+use Drupal\Core\Plugin\ContainerFactoryPluginInterface;
 use Drupal\Core\Session\AccountInterface;
+use Symfony\Component\DependencyInjection\ContainerInterface;
 
 /**
  * Provides a view mode block.
@@ -20,7 +23,48 @@ use Drupal\Core\Session\AccountInterface;
  *   provider = "node",
  * )
  */
-class ContentBannerBlock extends BlockBase {
+class ContentBannerBlock extends BlockBase implements ContainerFactoryPluginInterface {
+
+  /**
+   * Entity type manager.
+   *
+   * @var \Drupal\Core\Entity\EntityTypeManagerInterface
+   */
+  private EntityTypeManagerInterface $entityTypeManager;
+
+  /**
+   * Constructor.
+   *
+   * @param array $configuration
+   *   Plugin configuration.
+   * @param string $plugin_id
+   *   Plugin id.
+   * @param array $plugin_definition
+   *   Plugin definition.
+   * @param \Drupal\Core\Entity\EntityTypeManagerInterface $entity_type_manager
+   *   Entity type manager.
+   */
+  public function __construct(
+    array $configuration,
+    string $plugin_id,
+    array $plugin_definition,
+    EntityTypeManagerInterface $entity_type_manager
+  ) {
+    parent::__construct($configuration, $plugin_id, $plugin_definition);
+    $this->entityTypeManager = $entity_type_manager;
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition): self {
+    return new self(
+      $configuration,
+      $plugin_id,
+      $plugin_definition,
+      $container->get('entity_type.manager'),
+    );
+  }
 
   /**
    * {@inheritdoc}
@@ -30,7 +74,7 @@ class ContentBannerBlock extends BlockBase {
     $node = $this->getContextValue('node');
 
     /** @var \Drupal\Core\Entity\EntityViewModeInterface|null $view_mode_object */
-    $view_mode_object = \Drupal::entityTypeManager()
+    $view_mode_object = $this->entityTypeManager
       ->getStorage('entity_view_display')
       ->load('node.' . $node->bundle() . '.oe_w_content_banner');
 
@@ -43,7 +87,7 @@ class ContentBannerBlock extends BlockBase {
   public function build(): array {
     /** @var \Drupal\node\NodeInterface $node */
     $node = $this->getContextValue('node');
-    return \Drupal::entityTypeManager()
+    return $this->entityTypeManager
       ->getViewBuilder('node')
       ->view($node, 'oe_w_content_banner');
   }
-- 
GitLab


From aa14f11b3ce004a3c3c990f55d9b6b7ae2bc2158 Mon Sep 17 00:00:00 2001
From: Andreas Hennings <andreas@dqxtech.net>
Date: Sun, 10 Apr 2022 23:09:17 +0200
Subject: [PATCH 23/35] OEL-1227: Check node view access in content banner
 block.

---
 .../src/Plugin/Block/ContentBannerBlock.php                    | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/modules/oe_whitelabel_helper/src/Plugin/Block/ContentBannerBlock.php b/modules/oe_whitelabel_helper/src/Plugin/Block/ContentBannerBlock.php
index cb790b63..8a728416 100644
--- a/modules/oe_whitelabel_helper/src/Plugin/Block/ContentBannerBlock.php
+++ b/modules/oe_whitelabel_helper/src/Plugin/Block/ContentBannerBlock.php
@@ -78,7 +78,8 @@ class ContentBannerBlock extends BlockBase implements ContainerFactoryPluginInte
       ->getStorage('entity_view_display')
       ->load('node.' . $node->bundle() . '.oe_w_content_banner');
 
-    return AccessResult::allowedIf($view_mode_object !== NULL);
+    return AccessResult::allowedIf($view_mode_object !== NULL)
+      ->andIf($node->access('view', $account, TRUE));
   }
 
   /**
-- 
GitLab


From dce44418f668bff78e6eb9efc13723d210bad6fc Mon Sep 17 00:00:00 2001
From: Andreas Hennings <andreas@dqxtech.net>
Date: Tue, 12 Apr 2022 19:37:51 +0200
Subject: [PATCH 24/35] OEL-1227: Rename theme region 'banner' -> 'hero'.

---
 config/optional/block.block.oe_whitelabel_content_banner.yml | 2 +-
 oe_whitelabel.info.yml                                       | 2 +-
 templates/overrides/page/page.html.twig                      | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/config/optional/block.block.oe_whitelabel_content_banner.yml b/config/optional/block.block.oe_whitelabel_content_banner.yml
index e5e61005..a7739a82 100644
--- a/config/optional/block.block.oe_whitelabel_content_banner.yml
+++ b/config/optional/block.block.oe_whitelabel_content_banner.yml
@@ -7,7 +7,7 @@ dependencies:
     - oe_whitelabel
 id: oe_whitelabel_content_banner
 theme: oe_whitelabel
-region: banner
+region: hero
 weight: -6
 provider: null
 plugin: oe_w_content_banner
diff --git a/oe_whitelabel.info.yml b/oe_whitelabel.info.yml
index d704bb53..9ef9fd56 100644
--- a/oe_whitelabel.info.yml
+++ b/oe_whitelabel.info.yml
@@ -23,7 +23,7 @@ regions:
   header_top: Header top
   header_left: Header left
   header_right: Header right
-  banner: Banner
+  hero: 'Hero (full width)'
   header: Header
   breadcrumbs: Breadcrumbs
   sidebar_left:  Sidebar
diff --git a/templates/overrides/page/page.html.twig b/templates/overrides/page/page.html.twig
index deddc36e..15f4f253 100644
--- a/templates/overrides/page/page.html.twig
+++ b/templates/overrides/page/page.html.twig
@@ -104,7 +104,7 @@
     </header>
   {% endblock %}
   <main>
-    {{ page.banner }}
+    {{ page.hero }}
     <div class="container {{ page.header ? 'mt-2': 'mt-5' }}">
       <div class="row">
         {% if page.header %}
-- 
GitLab


From 4a5fbc0f850e0c70528e10ad1c12afc03d6aa567 Mon Sep 17 00:00:00 2001
From: Andreas Hennings <andreas@dqxtech.net>
Date: Thu, 14 Apr 2022 13:21:03 +0200
Subject: [PATCH 25/35] OEL-1227: Drop assertion message, and use
 assertCount().

Firstly, the assertion message should have been inverted:
See https://www.drupal.org/project/coding_standards/issues/2057905#comment-9470963

Secondly, we avoid assertion messages when possible. People can look up the line number on fail.
---
 tests/src/Functional/ContentEventRenderTest.php | 2 +-
 tests/src/Functional/ContentNewsRenderTest.php  | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/tests/src/Functional/ContentEventRenderTest.php b/tests/src/Functional/ContentEventRenderTest.php
index 0bd7bfbc..9163263d 100644
--- a/tests/src/Functional/ContentEventRenderTest.php
+++ b/tests/src/Functional/ContentEventRenderTest.php
@@ -103,7 +103,7 @@ class ContentEventRenderTest extends WhitelabelBrowserTestBase {
 
     // Select the content banner element.
     $content_banner = $crawler->filter('.bcl-content-banner');
-    $this->assertSame(1, $content_banner->count(), 'Content banner found.');
+    $this->assertCount(1, $content_banner);
 
     // Assert content banner title.
     $this->assertEquals(
diff --git a/tests/src/Functional/ContentNewsRenderTest.php b/tests/src/Functional/ContentNewsRenderTest.php
index 96ae0923..ae0eef5d 100644
--- a/tests/src/Functional/ContentNewsRenderTest.php
+++ b/tests/src/Functional/ContentNewsRenderTest.php
@@ -83,7 +83,7 @@ class ContentNewsRenderTest extends WhitelabelBrowserTestBase {
 
     // Select the content banner element.
     $content_banner = $crawler->filter('.bcl-content-banner');
-    $this->assertSame(1, $content_banner->count(), 'Content banner found.');
+    $this->assertCount(1, $content_banner);
 
     // Assert content banner image.
     $image = $content_banner->filter('img');
-- 
GitLab


From 7e542dd18791581f99eb3d2b7489ad2d2aa4aa58 Mon Sep 17 00:00:00 2001
From: Andreas Hennings <andreas@dqxtech.net>
Date: Thu, 14 Apr 2022 13:29:56 +0200
Subject: [PATCH 26/35] OEL-1227: Drop comment in info file.

---
 modules/oe_whitelabel_helper/oe_whitelabel_helper.info.yml | 1 -
 1 file changed, 1 deletion(-)

diff --git a/modules/oe_whitelabel_helper/oe_whitelabel_helper.info.yml b/modules/oe_whitelabel_helper/oe_whitelabel_helper.info.yml
index 448ee59c..6fed7556 100644
--- a/modules/oe_whitelabel_helper/oe_whitelabel_helper.info.yml
+++ b/modules/oe_whitelabel_helper/oe_whitelabel_helper.info.yml
@@ -13,5 +13,4 @@ dependencies:
 
 config_devel:
   optional:
-    # A view mode should not depend on a theme, so it is exported in a module.
     - core.entity_view_mode.node.oe_w_content_banner
-- 
GitLab


From 24abe538b810868cd6e56662ac6c9f8ec285aef0 Mon Sep 17 00:00:00 2001
From: Andreas Hennings <andreas@dqxtech.net>
Date: Thu, 14 Apr 2022 13:56:13 +0200
Subject: [PATCH 27/35] OEL-1227: Move view mode config from config/optional to
 config/install, because other configs depend on it.

---
 .../core.entity_view_mode.node.oe_w_content_banner.yml          | 0
 modules/oe_whitelabel_helper/oe_whitelabel_helper.info.yml      | 2 +-
 2 files changed, 1 insertion(+), 1 deletion(-)
 rename modules/oe_whitelabel_helper/config/{optional => install}/core.entity_view_mode.node.oe_w_content_banner.yml (100%)

diff --git a/modules/oe_whitelabel_helper/config/optional/core.entity_view_mode.node.oe_w_content_banner.yml b/modules/oe_whitelabel_helper/config/install/core.entity_view_mode.node.oe_w_content_banner.yml
similarity index 100%
rename from modules/oe_whitelabel_helper/config/optional/core.entity_view_mode.node.oe_w_content_banner.yml
rename to modules/oe_whitelabel_helper/config/install/core.entity_view_mode.node.oe_w_content_banner.yml
diff --git a/modules/oe_whitelabel_helper/oe_whitelabel_helper.info.yml b/modules/oe_whitelabel_helper/oe_whitelabel_helper.info.yml
index 6fed7556..3eb3f1ff 100644
--- a/modules/oe_whitelabel_helper/oe_whitelabel_helper.info.yml
+++ b/modules/oe_whitelabel_helper/oe_whitelabel_helper.info.yml
@@ -12,5 +12,5 @@ dependencies:
 'interface translation project': oe_whitelabel_helper
 
 config_devel:
-  optional:
+  install:
     - core.entity_view_mode.node.oe_w_content_banner
-- 
GitLab


From 7d9c3fbe4a80d9f906eaa83cc3fdd4371baaeb8e Mon Sep 17 00:00:00 2001
From: escuriola <escuriola@gmail.com>
Date: Tue, 19 Apr 2022 17:24:07 +0200
Subject: [PATCH 28/35] OEL-1453: Place blocks in the right regions on config.

---
 config/optional/block.block.oe_whitelabel_eulogin.yml           | 2 +-
 config/optional/block.block.oe_whitelabel_language_switcher.yml | 2 +-
 config/optional/block.block.oe_whitelabel_local_actions.yml     | 2 +-
 config/optional/block.block.oe_whitelabel_local_tasks.yml       | 2 +-
 config/optional/block.block.oe_whitelabel_main_navigation.yml   | 2 +-
 config/optional/block.block.oe_whitelabel_messages.yml          | 2 +-
 config/optional/block.block.oe_whitelabel_search_form.yml       | 2 +-
 7 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/config/optional/block.block.oe_whitelabel_eulogin.yml b/config/optional/block.block.oe_whitelabel_eulogin.yml
index 80d9e261..339e2699 100644
--- a/config/optional/block.block.oe_whitelabel_eulogin.yml
+++ b/config/optional/block.block.oe_whitelabel_eulogin.yml
@@ -7,7 +7,7 @@ dependencies:
     - oe_whitelabel
 id: oe_whitelabel_eulogin
 theme: oe_whitelabel
-region: navbar_right
+region: header_top
 weight: -4
 provider: null
 plugin: oe_authentication_login_block
diff --git a/config/optional/block.block.oe_whitelabel_language_switcher.yml b/config/optional/block.block.oe_whitelabel_language_switcher.yml
index b8b46125..e118db63 100644
--- a/config/optional/block.block.oe_whitelabel_language_switcher.yml
+++ b/config/optional/block.block.oe_whitelabel_language_switcher.yml
@@ -7,7 +7,7 @@ dependencies:
     - oe_whitelabel
 id: oe_whitelabel_language_switcher
 theme: oe_whitelabel
-region: navbar_right
+region: header_top
 weight: -5
 provider: null
 plugin: 'language_block:language_interface'
diff --git a/config/optional/block.block.oe_whitelabel_local_actions.yml b/config/optional/block.block.oe_whitelabel_local_actions.yml
index 094fbea4..0fff8fbf 100644
--- a/config/optional/block.block.oe_whitelabel_local_actions.yml
+++ b/config/optional/block.block.oe_whitelabel_local_actions.yml
@@ -5,7 +5,7 @@ dependencies:
     - oe_whitelabel
 id: oe_whitelabel_local_actions
 theme: oe_whitelabel
-region: content
+region: highlighted
 weight: -4
 provider: null
 plugin: local_actions_block
diff --git a/config/optional/block.block.oe_whitelabel_local_tasks.yml b/config/optional/block.block.oe_whitelabel_local_tasks.yml
index 7d547811..ecee83ba 100644
--- a/config/optional/block.block.oe_whitelabel_local_tasks.yml
+++ b/config/optional/block.block.oe_whitelabel_local_tasks.yml
@@ -5,7 +5,7 @@ dependencies:
     - oe_whitelabel
 id: oe_whitelabel_local_tasks
 theme: oe_whitelabel
-region: content
+region: highlighted
 weight: -5
 provider: null
 plugin: local_tasks_block
diff --git a/config/optional/block.block.oe_whitelabel_main_navigation.yml b/config/optional/block.block.oe_whitelabel_main_navigation.yml
index 9494eb72..ed39f8ba 100755
--- a/config/optional/block.block.oe_whitelabel_main_navigation.yml
+++ b/config/optional/block.block.oe_whitelabel_main_navigation.yml
@@ -9,7 +9,7 @@ dependencies:
     - oe_whitelabel
 id: oe_whitelabel_main_navigation
 theme: oe_whitelabel
-region: header_left
+region: navigation_left
 weight: 0
 provider: null
 plugin: 'system_menu_block:main'
diff --git a/config/optional/block.block.oe_whitelabel_messages.yml b/config/optional/block.block.oe_whitelabel_messages.yml
index cf87516d..f21a18c2 100644
--- a/config/optional/block.block.oe_whitelabel_messages.yml
+++ b/config/optional/block.block.oe_whitelabel_messages.yml
@@ -7,7 +7,7 @@ dependencies:
     - oe_whitelabel
 id: oe_whitelabel_messages
 theme: oe_whitelabel
-region: content
+region: highlighted
 weight: -6
 provider: null
 plugin: system_messages_block
diff --git a/config/optional/block.block.oe_whitelabel_search_form.yml b/config/optional/block.block.oe_whitelabel_search_form.yml
index 22437b3a..aad75c89 100644
--- a/config/optional/block.block.oe_whitelabel_search_form.yml
+++ b/config/optional/block.block.oe_whitelabel_search_form.yml
@@ -7,7 +7,7 @@ dependencies:
     - oe_whitelabel
 id: oe_whitelabel_search_form
 theme: oe_whitelabel
-region: header_right
+region: navigation_right
 weight: 0
 provider: null
 plugin: whitelabel_search_block
-- 
GitLab


From 7d98b9f328557338ab3e1178df552ee55e8a341f Mon Sep 17 00:00:00 2001
From: escuriola <escuriola@gmail.com>
Date: Tue, 19 Apr 2022 17:24:45 +0200
Subject: [PATCH 29/35] OEL-1453: Blocks refactor.

---
 oe_whitelabel.info.yml                  | 24 ++++++++++++------------
 templates/overrides/page/page.html.twig | 20 +++++++++++---------
 2 files changed, 23 insertions(+), 21 deletions(-)

diff --git a/oe_whitelabel.info.yml b/oe_whitelabel.info.yml
index 9ef9fd56..f5f4d6e8 100644
--- a/oe_whitelabel.info.yml
+++ b/oe_whitelabel.info.yml
@@ -18,19 +18,19 @@ ckeditor_stylesheets:
   - assets/css/oe-bcl-default.min.css
 
 regions:
-  navbar_branding: Navbar branding
-  navbar_right: Navbar right
-  header_top: Header top
-  header_left: Header left
-  header_right: Header right
+  navbar_branding: 'Navbar branding'
+  header_top: 'Header top'
+  navigation_left: 'Navigation left'
+  navigation_right: 'Navigation right'
   hero: 'Hero (full width)'
-  header: Header
-  breadcrumbs: Breadcrumbs
-  sidebar_left:  Sidebar
-  content_top: Content top
-  content: Content
-  page_bottom: Page bottom
-  footer: Footer
+  header: 'Header'
+  breadcrumbs: 'Breadcrumbs'
+  highlighted: 'Highlighted'
+  sidebar_left:  'Sidebar'
+  content_top: 'Content top'
+  content: 'Content'
+  page_bottom: 'Page bottom'
+  footer: 'Footer'
 
 config_devel:
   install:
diff --git a/templates/overrides/page/page.html.twig b/templates/overrides/page/page.html.twig
index 15f4f253..95a53596 100644
--- a/templates/overrides/page/page.html.twig
+++ b/templates/overrides/page/page.html.twig
@@ -30,10 +30,9 @@
  * Regions:
  * - page.navbar_branding: Items for the navbar brand region (logo).
  * - page.navbar_left: Items for the navbar left region (primary menu).
- * - page.navbar_right: Items for the navbar right region.
- * - page.header_top: Items for the navbar right region.
- * - page.header_left: Items for the navbar right region.
- * - page.header_right: Items for the navbar right region.
+ * - page.header_top: Items for the header top region.
+ * - page.navigation_left: Items for the navbar right region.
+ * - page.navigation_right: Items for the navbar right region.
  * - page.header: Items for the header region.
  * - page.sidebar_left: Items for the sidebar left region.
  * - page.sidebar_right: Items for the sidebar right region.
@@ -75,7 +74,7 @@
       {% block head %}
         {{ pattern('navbar', {
           navigation: corporate_logos,
-          right: page.navbar_right,
+          right: page.header_top,
           color_scheme: 'light',
           background: false,
           attributes: create_attribute().addClass(['w-100', 'shadow-sm']),
@@ -87,8 +86,8 @@
       {# Navbar. #}
       {% block navbar %}
         {{ pattern('navbar', {
-          navigation: page.header_left,
-          right: page.header_right,
+          navigation: page.navigation_left,
+          right: page.navigation_right,
           color_scheme: 'dark',
           background: false,
           expanded_breakpoint: 'lg',
@@ -101,14 +100,17 @@
           {{ page.breadcrumbs }}
         {% endblock %}
       </div>
+      {% if page.header %}
+        {{ page.header }}
+      {% endif %}
     </header>
   {% endblock %}
   <main>
     {{ page.hero }}
     <div class="container {{ page.header ? 'mt-2': 'mt-5' }}">
       <div class="row">
-        {% if page.header %}
-          {{ page.header }}
+        {% if page.highlighted %}
+          {{ page.highlighted }}
         {% endif %}
 
         {% if page.sidebar_left %}
-- 
GitLab


From 51c39071975a6a429b7822a0d737ed95b28d2d10 Mon Sep 17 00:00:00 2001
From: escuriola <escuriola@gmail.com>
Date: Tue, 19 Apr 2022 19:04:40 +0200
Subject: [PATCH 30/35] OEL-1453: Remove page_bottom region.

---
 oe_whitelabel.info.yml                  | 1 -
 templates/overrides/page/page.html.twig | 1 -
 2 files changed, 2 deletions(-)

diff --git a/oe_whitelabel.info.yml b/oe_whitelabel.info.yml
index f5f4d6e8..c45b3fc7 100644
--- a/oe_whitelabel.info.yml
+++ b/oe_whitelabel.info.yml
@@ -29,7 +29,6 @@ regions:
   sidebar_left:  'Sidebar'
   content_top: 'Content top'
   content: 'Content'
-  page_bottom: 'Page bottom'
   footer: 'Footer'
 
 config_devel:
diff --git a/templates/overrides/page/page.html.twig b/templates/overrides/page/page.html.twig
index 95a53596..0594631a 100644
--- a/templates/overrides/page/page.html.twig
+++ b/templates/overrides/page/page.html.twig
@@ -37,7 +37,6 @@
  * - page.sidebar_left: Items for the sidebar left region.
  * - page.sidebar_right: Items for the sidebar right region.
  * - page.content: The main content of the current page.
- * - page.page_bottom: The content of the current page.
  * - page.footer: Items for the footer region.
  *
  * @see template_preprocess_page()
-- 
GitLab


From cd88ba801730823b8cf2ab74473851a9c7afcd4c Mon Sep 17 00:00:00 2001
From: escuriola <escuriola@gmail.com>
Date: Thu, 21 Apr 2022 12:56:52 +0200
Subject: [PATCH 31/35] OEL-1453: Rename navbar branding to header branding.

---
 config/optional/block.block.oe_whitelabel_branding.yml | 2 +-
 oe_whitelabel.info.yml                                 | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/config/optional/block.block.oe_whitelabel_branding.yml b/config/optional/block.block.oe_whitelabel_branding.yml
index e860d619..6b8c0884 100644
--- a/config/optional/block.block.oe_whitelabel_branding.yml
+++ b/config/optional/block.block.oe_whitelabel_branding.yml
@@ -7,7 +7,7 @@ dependencies:
     - oe_whitelabel
 id: oe_whitelabel_branding
 theme: oe_whitelabel
-region: navbar_branding
+region: header_branding
 weight: -2
 provider: null
 plugin: system_branding_block
diff --git a/oe_whitelabel.info.yml b/oe_whitelabel.info.yml
index c45b3fc7..1e46bc1a 100644
--- a/oe_whitelabel.info.yml
+++ b/oe_whitelabel.info.yml
@@ -18,7 +18,7 @@ ckeditor_stylesheets:
   - assets/css/oe-bcl-default.min.css
 
 regions:
-  navbar_branding: 'Navbar branding'
+  header_branding: 'Header branding'
   header_top: 'Header top'
   navigation_left: 'Navigation left'
   navigation_right: 'Navigation right'
-- 
GitLab


From 5f2fda31c2bd53a9b38d366943d82463574c71e7 Mon Sep 17 00:00:00 2001
From: escuriola <escuriola@gmail.com>
Date: Thu, 21 Apr 2022 12:57:17 +0200
Subject: [PATCH 32/35] OEL-1453: Update page docblock with the current blocks.

---
 templates/overrides/page/page.html.twig | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/templates/overrides/page/page.html.twig b/templates/overrides/page/page.html.twig
index 0594631a..cd47a91a 100644
--- a/templates/overrides/page/page.html.twig
+++ b/templates/overrides/page/page.html.twig
@@ -28,14 +28,16 @@
  *   comment/reply/12345).
  *
  * Regions:
- * - page.navbar_branding: Items for the navbar brand region (logo).
- * - page.navbar_left: Items for the navbar left region (primary menu).
+ * - page.header_branding: Items for the header branding region (logo).
  * - page.header_top: Items for the header top region.
- * - page.navigation_left: Items for the navbar right region.
- * - page.navigation_right: Items for the navbar right region.
+ * - page.navigation_left: Items for the navigation right region.
+ * - page.navigation_right: Items for the navigation right region.
+ * - page.hero: Items for the hero region.
  * - page.header: Items for the header region.
+ * - page.breadcrumbs: Items for the breadcrumbs region.
+ * - page.highlighted: Items for the highlighted region.
  * - page.sidebar_left: Items for the sidebar left region.
- * - page.sidebar_right: Items for the sidebar right region.
+ * - page.content_top: Items for the top content.
  * - page.content: The main content of the current page.
  * - page.footer: Items for the footer region.
  *
@@ -80,7 +82,7 @@
         }) }}
       {% endblock %}
 
-      {{ page.navbar_branding }}
+      {{ page.header_branding }}
 
       {# Navbar. #}
       {% block navbar %}
-- 
GitLab


From 7a4a92a7f3a82dabf45de970d6c144d3b73ba0fb Mon Sep 17 00:00:00 2001
From: Andreas Hennings <andreas@dqxtech.net>
Date: Thu, 14 Apr 2022 22:50:32 +0200
Subject: [PATCH 33/35] OEL-1416: Use latest pre-release for oe_bootstrap_theme
 1.x.

---
 composer.json | 7 +------
 1 file changed, 1 insertion(+), 6 deletions(-)

diff --git a/composer.json b/composer.json
index a14382ea..7a9c0425 100644
--- a/composer.json
+++ b/composer.json
@@ -10,7 +10,7 @@
         "cweagans/composer-patches": "^1.7",
         "drupal/core": "^9.2",
         "drupal/twig_field_value": "^2.0",
-        "openeuropa/oe_bootstrap_theme": "1.0.0-alpha8"
+        "openeuropa/oe_bootstrap_theme": "0.1.202204221756"
     },
     "require-dev": {
         "composer/installers": "^1.11",
@@ -81,11 +81,6 @@
                 }
             }
         },
-        "patches": {
-            "openeuropa/oe_bootstrap_theme": {
-                "latest": "https://github.com/openeuropa/oe_bootstrap_theme/compare/1.0.0-alpha8..1.x.diff"
-            }
-        },
         "drupal-scaffold": {
             "locations": {
                 "web-root": "./build"
-- 
GitLab


From 352cb9286fbae36cfff0c5398e8e8b7144ec1749 Mon Sep 17 00:00:00 2001
From: Andreas Hennings <andreas@dqxtech.net>
Date: Fri, 15 Apr 2022 16:15:56 +0200
Subject: [PATCH 34/35] OEL-1416: Fix footer block tests for new version of
 BCL.

---
 tests/src/Kernel/FooterBlockTest.php | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/tests/src/Kernel/FooterBlockTest.php b/tests/src/Kernel/FooterBlockTest.php
index 1374dbe2..b7b122b0 100644
--- a/tests/src/Kernel/FooterBlockTest.php
+++ b/tests/src/Kernel/FooterBlockTest.php
@@ -66,7 +66,7 @@ class FooterBlockTest extends SparqlKernelTestBase {
     $this->assertCount(1, $borderedSections);
     $sectionTitles = $crawler->filter('p.fw-bold.mb-2');
     $this->assertCount(2, $sectionTitles);
-    $sectionLinks = $crawler->filter('div.col-12.col-lg-4:nth-child(2) a.standalone.d-block.mb-1');
+    $sectionLinks = $crawler->filter('div.col-12.col-lg-4:nth-child(2) .mb-1 a.standalone');
     $this->assertCount(3, $sectionLinks);
   }
 
@@ -102,7 +102,7 @@ class FooterBlockTest extends SparqlKernelTestBase {
     $this->assertCount(1, $borderedSections);
     $sectionTitles = $crawler->filter('p.fw-bold.mb-2');
     $this->assertCount(5, $sectionTitles);
-    $sectionLinks = $crawler->filter('div.col-12.col-lg-4:nth-child(2) a.standalone.d-block.mb-1');
+    $sectionLinks = $crawler->filter('div.col-12.col-lg-4:nth-child(2) .mb-1 a.standalone');
     $this->assertCount(10, $sectionLinks);
   }
 
-- 
GitLab


From d032759c4952db1988d2473a8c8dfe9b292b4c5d Mon Sep 17 00:00:00 2001
From: Andreas Hennings <andreas@dqxtech.net>
Date: Fri, 22 Apr 2022 17:58:44 +0200
Subject: [PATCH 35/35] OEL-1416: Fix 'unsafe repository' message in drone.

---
 .drone.yml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/.drone.yml b/.drone.yml
index 3d2855f4..105c3b95 100644
--- a/.drone.yml
+++ b/.drone.yml
@@ -94,6 +94,7 @@ pipeline:
   before-release:
     image: registry.fpfis.eu/fpfis/httpd-php:${PHP_VERSION}-ci
     commands:
+      - git config --global --add safe.directory /test/oe_whitelabel
       - apt-get update
       - apt-get install zip
       - ./vendor/bin/run release:create-archive --tag=${DRONE_TAG}
-- 
GitLab