diff --git a/src/Services/InfoProviderSystem/DTOs/BulkSearchResponseDTO.php b/src/Services/InfoProviderSystem/DTOs/BulkSearchResponseDTO.php index dd9ee7ac..2f3f858b 100644 --- a/src/Services/InfoProviderSystem/DTOs/BulkSearchResponseDTO.php +++ b/src/Services/InfoProviderSystem/DTOs/BulkSearchResponseDTO.php @@ -24,12 +24,13 @@ namespace App\Services\InfoProviderSystem\DTOs; use App\Entity\Parts\Part; use Doctrine\ORM\EntityManagerInterface; +use Traversable; /** * Represents the complete response from a bulk info provider search operation. * It contains a list of PartSearchResultDTOs, one for each part searched. */ -readonly class BulkSearchResponseDTO implements \ArrayAccess +readonly class BulkSearchResponseDTO implements \ArrayAccess, \IteratorAggregate { /** * @param BulkSearchPartResultsDTO[] $partResults Array of search results for each part @@ -216,4 +217,9 @@ readonly class BulkSearchResponseDTO implements \ArrayAccess { throw new \LogicException('BulkSearchResponseDTO is immutable.'); } + + public function getIterator(): Traversable + { + return new \ArrayIterator($this->partResults); + } } diff --git a/templates/info_providers/bulk_import/step2.html.twig b/templates/info_providers/bulk_import/step2.html.twig index 3a812abf..559ca20a 100644 --- a/templates/info_providers/bulk_import/step2.html.twig +++ b/templates/info_providers/bulk_import/step2.html.twig @@ -26,8 +26,8 @@
{{ job.displayNameKey|trans(job.displayNameParams) }} - {{ job.formattedTimestamp }}
- {{ job.partCount }} {% trans %}info_providers.bulk_import.parts{% endtrans %} • - {{ job.resultCount }} {% trans %}info_providers.bulk_import.results{% endtrans %} • + {{ job.partCount }} {% trans %}info_providers.bulk_import.parts{% endtrans %} • + {{ job.resultCount }} {% trans %}info_providers.bulk_import.results{% endtrans %} • {% trans %}info_providers.bulk_import.created_at{% endtrans %}: {{ job.createdAt|date('Y-m-d H:i') }}
@@ -52,14 +52,14 @@ {{ job.completedPartsCount }} / {{ job.partCount }} completed
-
- {{ job.completedPartsCount }} {% trans %}info_providers.bulk_import.completed{% endtrans %} • + {{ job.completedPartsCount }} {% trans %}info_providers.bulk_import.completed{% endtrans %} • {{ job.skippedPartsCount }} {% trans %}info_providers.bulk_import.skipped{% endtrans %} {{ job.progressPercentage }}% @@ -89,7 +89,7 @@ {% trans %}info_providers.bulk_import.research.description{% endtrans %}
-
{% for part_result in search_results %} + {# @var part_result \App\Services\InfoProviderSystem\DTOs\BulkSearchPartResultsDTO #} + {% set part = part_result.part %} {% set isCompleted = job.isPartCompleted(part.id) %} {% set isSkipped = job.isPartSkipped(part.id) %} -
@@ -125,12 +127,12 @@ {% if part_result.errors is not empty %} {% trans with {'%count%': part_result.errors|length} %}info_providers.bulk_import.errors{% endtrans %} {% endif %} - {% trans with {'%count%': part_result.search_results|length} %}info_providers.bulk_import.results_found{% endtrans %} + {% trans with {'%count%': part_result.searchResults|length} %}info_providers.bulk_import.results_found{% endtrans %}
-
{% endfor %} {% endif %} - - {% if part_result.search_results|length > 0 %} + + {% if part_result.searchResults|length > 0 %}
@@ -179,13 +181,14 @@ - {% for result in part_result.search_results %} - {% set dto = result.dto %} + {% for result in part_result.searchResults %} + {# @var result \App\Services\InfoProviderSystem\DTOs\BulkSearchPartResultDTO #} + {% set dto = result.searchResult %} {% set localPart = result.localPart %}
+ class="hoverpic" style="max-width: 35px;" {{ stimulus_controller('elements/hoverpic') }}> {% if dto.provider_url is not null %} @@ -204,9 +207,9 @@
{{ dto.provider_id }}
- {{ result.source_field ?? 'unknown' }} - {% if result.source_keyword %} -
{{ result.source_keyword }} + {{ result.sourceField ?? 'unknown' }} + {% if result.sourceKeyword %} +
{{ result.sourceKeyword }} {% endif %}