diff --git a/src/Controller/BulkInfoProviderImportController.php b/src/Controller/BulkInfoProviderImportController.php index 6d9e98fa..6612261f 100644 --- a/src/Controller/BulkInfoProviderImportController.php +++ b/src/Controller/BulkInfoProviderImportController.php @@ -303,9 +303,23 @@ class BulkInfoProviderImportController extends AbstractController } } + // Refetch after cleanup and split into active vs finished + $allJobs = $this->entityManager->getRepository(BulkInfoProviderImportJob::class) + ->findBy([], ['createdAt' => 'DESC']); + + $activeJobs = []; + $finishedJobs = []; + foreach ($allJobs as $job) { + if ($job->isCompleted() || $job->isFailed() || $job->isStopped()) { + $finishedJobs[] = $job; + } else { + $activeJobs[] = $job; + } + } + return $this->render('info_providers/bulk_import/manage.html.twig', [ - 'jobs' => $this->entityManager->getRepository(BulkInfoProviderImportJob::class) - ->findBy([], ['createdAt' => 'DESC']) // Refetch after cleanup + 'active_jobs' => $activeJobs, + 'finished_jobs' => $finishedJobs, ]); } diff --git a/templates/info_providers/bulk_import/manage.html.twig b/templates/info_providers/bulk_import/manage.html.twig index 9bbed906..fc37c562 100644 --- a/templates/info_providers/bulk_import/manage.html.twig +++ b/templates/info_providers/bulk_import/manage.html.twig @@ -22,103 +22,143 @@
- {% if jobs is not empty %} -| {% trans %}info_providers.bulk_import.job_name{% endtrans %} | -{% trans %}info_providers.bulk_import.parts_count{% endtrans %} | -{% trans %}info_providers.bulk_import.results_count{% endtrans %} | -{% trans %}info_providers.bulk_import.progress{% endtrans %} | -{% trans %}info_providers.bulk_import.status{% endtrans %} | -{% trans %}info_providers.bulk_import.created_by{% endtrans %} | -{% trans %}info_providers.bulk_import.created_at{% endtrans %} | -{% trans %}info_providers.bulk_import.completed_at{% endtrans %} | -{% trans %}info_providers.bulk_import.action.label{% endtrans %} | -
|---|---|---|---|---|---|---|---|---|
| - {{ job.displayNameKey|trans(job.displayNameParams) }} - {{ job.formattedTimestamp }} - {% if job.isInProgress %} - Active - {% endif %} - | -{{ job.partCount }} | -{{ job.resultCount }} | -
-
-
-
- {% trans with {'%current%': job.completedPartsCount + job.skippedPartsCount, '%total%': job.partCount} %}info_providers.bulk_import.progress_label{% endtrans %}
-
-
-
-
- {{ job.progressPercentage }}%
- |
- - {% if job.isPending %} - {% trans %}info_providers.bulk_import.status.pending{% endtrans %} - {% elseif job.isInProgress %} - {% trans %}info_providers.bulk_import.status.in_progress{% endtrans %} - {% elseif job.isCompleted %} - {% trans %}info_providers.bulk_import.status.completed{% endtrans %} - {% elseif job.isStopped %} - {% trans %}info_providers.bulk_import.status.stopped{% endtrans %} - {% elseif job.isFailed %} - {% trans %}info_providers.bulk_import.status.failed{% endtrans %} - {% endif %} - | -{{ job.createdBy.fullName(true) }} | -{{ job.createdAt|format_datetime('short') }} | -- {% if job.completedAt %} - {{ job.completedAt|format_datetime('short') }} - {% else %} - - - {% endif %} - | -
-
- {% if job.isInProgress or job.isCompleted or job.isStopped %}
-
- {% trans %}info_providers.bulk_import.view_results{% endtrans %}
-
- {% endif %}
- {% if job.canBeStopped %}
-
- {% endif %}
- {% if job.isCompleted or job.isFailed or job.isStopped %}
-
- {% endif %}
-
- |
-
| {% trans %}info_providers.bulk_import.job_name{% endtrans %} | +{% trans %}info_providers.bulk_import.parts_count{% endtrans %} | +{% trans %}info_providers.bulk_import.results_count{% endtrans %} | +{% trans %}info_providers.bulk_import.progress{% endtrans %} | +{% trans %}info_providers.bulk_import.status{% endtrans %} | +{% trans %}info_providers.bulk_import.created_by{% endtrans %} | +{% trans %}info_providers.bulk_import.created_at{% endtrans %} | +{% trans %}info_providers.bulk_import.action.label{% endtrans %} | +
|---|
| {% trans %}info_providers.bulk_import.job_name{% endtrans %} | +{% trans %}info_providers.bulk_import.parts_count{% endtrans %} | +{% trans %}info_providers.bulk_import.results_count{% endtrans %} | +{% trans %}info_providers.bulk_import.progress{% endtrans %} | +{% trans %}info_providers.bulk_import.status{% endtrans %} | +{% trans %}info_providers.bulk_import.created_by{% endtrans %} | +{% trans %}info_providers.bulk_import.created_at{% endtrans %} | +{% trans %}info_providers.bulk_import.completed_at{% endtrans %} | +{% trans %}info_providers.bulk_import.action.label{% endtrans %} | +
|---|