Skip to content

Commit 1d38c50

Browse files
committed
Fixed step2 template
1 parent 710569d commit 1d38c50

File tree

2 files changed

+29
-20
lines changed

2 files changed

+29
-20
lines changed

src/Services/InfoProviderSystem/DTOs/BulkSearchResponseDTO.php

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,13 @@
2424

2525
use App\Entity\Parts\Part;
2626
use Doctrine\ORM\EntityManagerInterface;
27+
use Traversable;
2728

2829
/**
2930
* Represents the complete response from a bulk info provider search operation.
3031
* It contains a list of PartSearchResultDTOs, one for each part searched.
3132
*/
32-
readonly class BulkSearchResponseDTO implements \ArrayAccess
33+
readonly class BulkSearchResponseDTO implements \ArrayAccess, \IteratorAggregate
3334
{
3435
/**
3536
* @param BulkSearchPartResultsDTO[] $partResults Array of search results for each part
@@ -216,4 +217,9 @@ public function offsetUnset(mixed $offset): void
216217
{
217218
throw new \LogicException('BulkSearchResponseDTO is immutable.');
218219
}
220+
221+
public function getIterator(): Traversable
222+
{
223+
return new \ArrayIterator($this->partResults);
224+
}
219225
}

templates/info_providers/bulk_import/step2.html.twig

Lines changed: 22 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,8 @@
2626
<div>
2727
<h5 class="mb-1">{{ job.displayNameKey|trans(job.displayNameParams) }} - {{ job.formattedTimestamp }}</h5>
2828
<small class="text-muted">
29-
{{ job.partCount }} {% trans %}info_providers.bulk_import.parts{% endtrans %} •
30-
{{ job.resultCount }} {% trans %}info_providers.bulk_import.results{% endtrans %} •
29+
{{ job.partCount }} {% trans %}info_providers.bulk_import.parts{% endtrans %} •
30+
{{ job.resultCount }} {% trans %}info_providers.bulk_import.results{% endtrans %} •
3131
{% trans %}info_providers.bulk_import.created_at{% endtrans %}: {{ job.createdAt|date('Y-m-d H:i') }}
3232
</small>
3333
</div>
@@ -52,14 +52,14 @@
5252
<span data-bulk-import-target="progressText">{{ job.completedPartsCount }} / {{ job.partCount }} completed</span>
5353
</div>
5454
<div class="progress" style="height: 8px;">
55-
<div data-bulk-import-target="progressBar" class="progress-bar" role="progressbar"
56-
style="width: {{ job.progressPercentage }}%"
55+
<div data-bulk-import-target="progressBar" class="progress-bar" role="progressbar"
56+
style="width: {{ job.progressPercentage }}%"
5757
aria-valuenow="{{ job.progressPercentage }}" aria-valuemin="0" aria-valuemax="100">
5858
</div>
5959
</div>
6060
<div class="d-flex justify-content-between mt-2">
6161
<small class="text-muted">
62-
<span id="completed-count">{{ job.completedPartsCount }}</span> {% trans %}info_providers.bulk_import.completed{% endtrans %} •
62+
<span id="completed-count">{{ job.completedPartsCount }}</span> {% trans %}info_providers.bulk_import.completed{% endtrans %} •
6363
<span id="skipped-count">{{ job.skippedPartsCount }}</span> {% trans %}info_providers.bulk_import.skipped{% endtrans %}
6464
</small>
6565
<small class="text-muted"><span id="progress-percentage">{{ job.progressPercentage }}%</span></small>
@@ -89,7 +89,7 @@
8989
<small class="text-muted">{% trans %}info_providers.bulk_import.research.description{% endtrans %}</small>
9090
</div>
9191
<div>
92-
<button type="button" class="btn btn-outline-primary btn-sm me-2"
92+
<button type="button" class="btn btn-outline-primary btn-sm me-2"
9393
data-action="click->bulk-import#researchAllParts"
9494
id="research-all-btn">
9595
<span class="spinner-border spinner-border-sm me-1" style="display: none;" id="research-all-spinner"></span>
@@ -101,11 +101,13 @@
101101
</div>
102102

103103
{% for part_result in search_results %}
104+
{# @var part_result \App\Services\InfoProviderSystem\DTOs\BulkSearchPartResultsDTO #}
105+
104106
{% set part = part_result.part %}
105107
{% set isCompleted = job.isPartCompleted(part.id) %}
106108
{% set isSkipped = job.isPartSkipped(part.id) %}
107-
<div class="card mb-3 {% if isCompleted %}border-success{% elseif isSkipped %}border-warning{% endif %}"
108-
data-part-id="{{ part.id }}"
109+
<div class="card mb-3 {% if isCompleted %}border-success{% elseif isSkipped %}border-warning{% endif %}"
110+
data-part-id="{{ part.id }}"
109111
{% if isCompleted %}style="background-color: rgba(25, 135, 84, 0.1);"{% endif %}>
110112
<div class="card-header d-flex justify-content-between align-items-center">
111113
<div>
@@ -125,12 +127,12 @@
125127
{% if part_result.errors is not empty %}
126128
<span class="badge bg-danger">{% trans with {'%count%': part_result.errors|length} %}info_providers.bulk_import.errors{% endtrans %}</span>
127129
{% endif %}
128-
<span class="badge bg-info">{% trans with {'%count%': part_result.search_results|length} %}info_providers.bulk_import.results_found{% endtrans %}</span>
130+
<span class="badge bg-info">{% trans with {'%count%': part_result.searchResults|length} %}info_providers.bulk_import.results_found{% endtrans %}</span>
129131
</h5>
130132
</div>
131133
<div class="btn-group" role="group">
132-
<button type="button" class="btn btn-outline-info btn-sm"
133-
data-action="click->bulk-import#researchPart"
134+
<button type="button" class="btn btn-outline-info btn-sm"
135+
data-action="click->bulk-import#researchPart"
134136
data-part-id="{{ part.id }}"
135137
title="{% trans %}info_providers.bulk_import.research.part_tooltip{% endtrans %}">
136138
<span class="spinner-border spinner-border-sm me-1" style="display: none;" data-research-spinner="{{ part.id }}"></span>
@@ -163,8 +165,8 @@
163165
</div>
164166
{% endfor %}
165167
{% endif %}
166-
167-
{% if part_result.search_results|length > 0 %}
168+
169+
{% if part_result.searchResults|length > 0 %}
168170
<div class="table-responsive">
169171
<table class="table table-sm">
170172
<thead>
@@ -179,13 +181,14 @@
179181
</tr>
180182
</thead>
181183
<tbody>
182-
{% for result in part_result.search_results %}
183-
{% set dto = result.dto %}
184+
{% for result in part_result.searchResults %}
185+
{# @var result \App\Services\InfoProviderSystem\DTOs\BulkSearchPartResultDTO #}
186+
{% set dto = result.searchResult %}
184187
{% set localPart = result.localPart %}
185188
<tr>
186189
<td>
187190
<img src="{{ dto.preview_image_url }}" data-thumbnail="{{ dto.preview_image_url }}"
188-
class="hoverpic" style="max-width: 30px;" {{ stimulus_controller('elements/hoverpic') }}>
191+
class="hoverpic" style="max-width: 35px;" {{ stimulus_controller('elements/hoverpic') }}>
189192
</td>
190193
<td>
191194
{% if dto.provider_url is not null %}
@@ -204,9 +207,9 @@
204207
<br><small class="text-muted">{{ dto.provider_id }}</small>
205208
</td>
206209
<td>
207-
<span class="badge bg-info">{{ result.source_field ?? 'unknown' }}</span>
208-
{% if result.source_keyword %}
209-
<br><small class="text-muted">{{ result.source_keyword }}</small>
210+
<span class="badge bg-info">{{ result.sourceField ?? 'unknown' }}</span>
211+
{% if result.sourceKeyword %}
212+
<br><small class="text-muted">{{ result.sourceKeyword }}</small>
210213
{% endif %}
211214
</td>
212215
<td>

0 commit comments

Comments
 (0)