From debe1d5ca7955f5586b4b3f22d540f1e59b6b772 Mon Sep 17 00:00:00 2001 From: martinyde Date: Tue, 7 Apr 2026 14:10:52 +0200 Subject: [PATCH 1/3] Add method for getting advisories and update advisory_count template --- src/Entity/Site.php | 16 ++++++++-- .../Fields/advisory_count.html.twig | 29 ++++++++++++++++++- 2 files changed, 41 insertions(+), 4 deletions(-) diff --git a/src/Entity/Site.php b/src/Entity/Site.php index 96b3375..5398198 100644 --- a/src/Entity/Site.php +++ b/src/Entity/Site.php @@ -200,15 +200,25 @@ public function setType(string $type): self return $this; } - public function getAdvisoryCount(): int + /** + * @return Collection + */ + public function getAdvisories(): Collection { $advisories = new ArrayCollection(); foreach ($this->installation->getPackageVersions() as $packageVersion) { foreach ($packageVersion->getAdvisories() as $advisory) { - $advisories->add($advisory); + if (!$advisories->contains($advisory)) { + $advisories->add($advisory); + } } } - return $advisories->count(); + return $advisories; + } + + public function getAdvisoryCount(): int + { + return $this->getAdvisories()->count(); } } diff --git a/templates/EasyAdminBundle/Fields/advisory_count.html.twig b/templates/EasyAdminBundle/Fields/advisory_count.html.twig index 1b34775..cfe1bba 100644 --- a/templates/EasyAdminBundle/Fields/advisory_count.html.twig +++ b/templates/EasyAdminBundle/Fields/advisory_count.html.twig @@ -1,6 +1,33 @@ {# @var ea \EasyCorp\Bundle\EasyAdminBundle\Context\AdminContext #} {# @var field \EasyCorp\Bundle\EasyAdminBundle\Dto\FieldDto #} {# @var entity \EasyCorp\Bundle\EasyAdminBundle\Dto\EntityDto #} -{% if field.formattedValue != 0 %} +{% if ea().crud.currentAction == 'detail' %} + {% set advisories = entity.instance.advisories %} + {% if advisories|length > 0 %} + + + + + + + + + + {% for advisory in advisories %} + {% set url = ea_url() + .unsetAll() + .setController('App\\Controller\\Admin\\AdvisoryCrudController') + .setAction('detail') + .setEntityId(advisory.id) %} + + + + + + {% endfor %} + +
PackageCVETitle
{{ advisory.package }}{{ advisory.cve ?? advisory.advisoryId }}{{ advisory.title }}
+ {% endif %} +{% elseif field.formattedValue != 0 %} {{ field.formattedValue }} {% endif %} From 3b91081c2fbba414e58e109450c1dd2bfd77898e Mon Sep 17 00:00:00 2001 From: martinyde Date: Tue, 7 Apr 2026 14:14:12 +0200 Subject: [PATCH 2/3] Renamed template --- src/Admin/Field/AdvisoryCountField.php | 2 +- .../Fields/{advisory_count.html.twig => advisories.html.twig} | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename templates/EasyAdminBundle/Fields/{advisory_count.html.twig => advisories.html.twig} (100%) diff --git a/src/Admin/Field/AdvisoryCountField.php b/src/Admin/Field/AdvisoryCountField.php index eebc444..6271123 100644 --- a/src/Admin/Field/AdvisoryCountField.php +++ b/src/Admin/Field/AdvisoryCountField.php @@ -19,6 +19,6 @@ public static function new(string $propertyName, TranslatableInterface|string|bo ->setLabel($label) // this template is used in 'index' and 'detail' pages - ->setTemplatePath('EasyAdminBundle/Fields/advisory_count.html.twig'); + ->setTemplatePath('EasyAdminBundle/Fields/advisories.html.twig'); } } diff --git a/templates/EasyAdminBundle/Fields/advisory_count.html.twig b/templates/EasyAdminBundle/Fields/advisories.html.twig similarity index 100% rename from templates/EasyAdminBundle/Fields/advisory_count.html.twig rename to templates/EasyAdminBundle/Fields/advisories.html.twig From adf12ce6fd4a99179abf658b1d7e8c6231291f87 Mon Sep 17 00:00:00 2001 From: martinyde Date: Tue, 7 Apr 2026 14:45:29 +0200 Subject: [PATCH 3/3] Updated changelog --- CHANGELOG.md | 3 +++ src/Entity/Site.php | 4 +--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ddd3cba..3bc70a0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +- [#68](https://github.com/itk-dev/devops_itksites/pull/68) + 6667: Update advisories on Detailed site display + ## [1.9.2] - 2026-04-07 - [#67](https://github.com/itk-dev/devops_itksites/pull/67) diff --git a/src/Entity/Site.php b/src/Entity/Site.php index 5398198..dbfd6c7 100644 --- a/src/Entity/Site.php +++ b/src/Entity/Site.php @@ -208,9 +208,7 @@ public function getAdvisories(): Collection $advisories = new ArrayCollection(); foreach ($this->installation->getPackageVersions() as $packageVersion) { foreach ($packageVersion->getAdvisories() as $advisory) { - if (!$advisories->contains($advisory)) { - $advisories->add($advisory); - } + $advisories->add($advisory); } }