From aa4384735ffd0ce15489f6c6ff184254c613c47f Mon Sep 17 00:00:00 2001 From: Mikkel Ricky Date: Fri, 10 Apr 2026 16:27:19 +0200 Subject: [PATCH 1/4] 7131: Disabled doctrine filter in data importers --- src/Service/BaseImporter.php | 11 +++++++++++ src/Service/ReportImporter.php | 2 +- src/Service/SystemImporter.php | 2 +- 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/src/Service/BaseImporter.php b/src/Service/BaseImporter.php index 5759b15..a94f581 100644 --- a/src/Service/BaseImporter.php +++ b/src/Service/BaseImporter.php @@ -6,6 +6,7 @@ use App\Repository\ReportRepository; use App\Repository\SystemRepository; use Doctrine\ORM\EntityManagerInterface; +use Symfony\Component\Console\Helper\ProgressBar; use Symfony\Component\DependencyInjection\ParameterBag\ParameterBagInterface; abstract class BaseImporter implements ImportInterface @@ -22,6 +23,16 @@ public function __construct( $this->url = $this->params->get('system_url') ?? ''; } + public function import(string $src, ?ProgressBar $progressBar = null): void + { + // We need to be able to find all entities during import. + $this->entityManager->getFilters()->disable('entity_active'); + + $this->doImport($src, $progressBar); + } + + abstract protected function doImport(string $src, ?ProgressBar $progressBar): void; + protected function sanitizeText(string $str): ?string { $str = strip_tags($str, '



  • '); diff --git a/src/Service/ReportImporter.php b/src/Service/ReportImporter.php index 8ca502d..5796d6c 100644 --- a/src/Service/ReportImporter.php +++ b/src/Service/ReportImporter.php @@ -7,7 +7,7 @@ class ReportImporter extends BaseImporter { - public function import(string $src, ?ProgressBar $progressBar = null): void + public function doImport(string $src, ?ProgressBar $progressBar = null): void { $json = file_get_contents($src); $entries = json_decode($json); diff --git a/src/Service/SystemImporter.php b/src/Service/SystemImporter.php index adb1d0e..2ee68fb 100644 --- a/src/Service/SystemImporter.php +++ b/src/Service/SystemImporter.php @@ -24,7 +24,7 @@ public function __construct( parent::__construct($reportRepository, $systemRepository, $groupRepository, $entityManager, $params); } - public function import(string $src, ?ProgressBar $progressBar = null): void + public function doImport(string $src, ?ProgressBar $progressBar = null): void { $json = file_get_contents($src); $entries = json_decode($json); From f435e92f952a09f6cabe00cf92d6d02b5c3ad34d Mon Sep 17 00:00:00 2001 From: Mikkel Ricky Date: Fri, 10 Apr 2026 16:29:20 +0200 Subject: [PATCH 2/4] 7131: Nullified empty dates --- src/Service/BaseImporter.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Service/BaseImporter.php b/src/Service/BaseImporter.php index a94f581..0331f89 100644 --- a/src/Service/BaseImporter.php +++ b/src/Service/BaseImporter.php @@ -74,9 +74,9 @@ protected function convertLink(?object $obj): ?string /** * @throws \Exception */ - protected function convertDate(string $date): \DateTime + protected function convertDate(string $date): ?\DateTimeInterface { - return new \DateTime($date); + return empty($date) ? null : new \DateTimeImmutable($date); } /** @@ -87,7 +87,7 @@ protected function convertDate(string $date): \DateTime protected function convertSystemOwner(array $systemOwner): string { if (empty($systemOwner)) { - return ''; + return ''; } return $systemOwner[0]->LookupValue ?? ''; From 7280432023a0f6557911ff3847a4d0fd6d8a2a56 Mon Sep 17 00:00:00 2001 From: Mikkel Ricky Date: Fri, 10 Apr 2026 16:29:47 +0200 Subject: [PATCH 3/4] 7131: Cleaned up --- README.md | 8 ++++---- Taskfile.yml | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 5ded34d..1e5ae98 100644 --- a/README.md +++ b/README.md @@ -29,7 +29,7 @@ Make sure you have a set of JSON files for testing import Commands. ### Start Docker containers ```shell -docker compose up -d +docker compose up --detach docker compose exec phpfpm composer install docker compose exec phpfpm bin/console doctrine:migrations:migrate --no-interaction ``` @@ -37,7 +37,7 @@ docker compose exec phpfpm bin/console doctrine:migrations:migrate --no-interact ### Create a super admin user ```sh -docker compose exec phpfpm bin/console SuperUser +docker compose exec phpfpm bin/console app:user:create admin@example.com --password password --role=ROLE_SUPER_ADMIN ``` ### Access the site @@ -88,7 +88,7 @@ flowchart TD Theme[Theme] ThemeCategory[ThemeCategory] User[User] - + fos_user_user_group{{JoinTable: fos_user_user_group }} group_system_themes{{JoinTable: group_system_themes }} group_report_themes{{JoinTable: group_report_themes }} @@ -111,7 +111,7 @@ flowchart TD System --- |ManyToMany| SelServiceAFI Theme --- |ManyToOne| ThemeCategory - + Answers --- |ManyToOne| Question Question -- JoinCollum Answers and Question --o Answers diff --git a/Taskfile.yml b/Taskfile.yml index 73241e7..85ce32a 100644 --- a/Taskfile.yml +++ b/Taskfile.yml @@ -5,7 +5,7 @@ dotenv: ['.env.local', '.env'] vars: # https://taskfile.dev/reference/templating/ - BASE_URL: '{{.TASK_BASE_URL | default .COMPOSE_SERVER_DOMAIN | default .COMPOSE_DOMAIN | default "https://hoeringsportal.local.itkdev.dk"}}' + BASE_URL: '{{.TASK_BASE_URL | default .COMPOSE_SERVER_DOMAIN | default .COMPOSE_DOMAIN | default "https://itstyr.local.itkdev.dk"}}' DOCKER_COMPOSE: '{{.TASK_DOCKER_COMPOSE | default "docker compose"}}' tasks: From 33e94c52e9de4376c96668426aa181ef6ac66570 Mon Sep 17 00:00:00 2001 From: Mikkel Ricky Date: Fri, 10 Apr 2026 16:32:16 +0200 Subject: [PATCH 4/4] 7131: Updated changelog --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index cd58faa..2a52cc1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,8 @@ See [keep a changelog] for information about writing changes to this log. ## [Unreleased] +* [PR-39](https://github.com/itk-dev/sysstatus/pull/39) + Prevented duplicating inactive reports and systems * [PR-38](https://github.com/itk-dev/sysstatus/pull/38) * Update importers * Add example data