diff --git a/src/Controller/PartController.php b/src/Controller/PartController.php
index 414f9ce5..051053e5 100644
--- a/src/Controller/PartController.php
+++ b/src/Controller/PartController.php
@@ -255,16 +255,20 @@ class PartController extends AbstractController
PartInfoRetriever $infoRetriever, PartMerger $partMerger): Response
{
$this->denyAccessUnlessGranted('edit', $part);
-
$this->denyAccessUnlessGranted('@info_providers.create_parts');
+ //Save the old name of the target part for the template
+ $old_name = $part->getName();
+
$dto = $infoRetriever->getDetails($providerKey, $providerId);
$provider_part = $infoRetriever->dtoToPart($dto);
$part = $partMerger->merge($part, $provider_part);
- return $this->renderPartForm('edit', $request, $part, [
+ return $this->renderPartForm('update_from_ip', $request, $part, [
'info_provider_dto' => $dto,
+ ], [
+ 'tname_before' => $old_name
]);
}
@@ -278,7 +282,7 @@ class PartController extends AbstractController
private function renderPartForm(string $mode, Request $request, Part $data, array $form_options = [], array $merge_infos = []): Response
{
//Ensure that mode is either 'new' or 'edit
- if (!in_array($mode, ['new', 'edit', 'merge'], true)) {
+ if (!in_array($mode, ['new', 'edit', 'merge', 'update_from_ip'], true)) {
throw new \InvalidArgumentException('Invalid mode given');
}
@@ -353,6 +357,8 @@ class PartController extends AbstractController
$template = 'parts/edit/edit_part_info.html.twig';
} else if ($mode === 'merge') {
$template = 'parts/edit/merge_parts.html.twig';
+ } else if ($mode === 'update_from_ip') {
+ $template = 'parts/edit/update_from_ip.html.twig';
}
return $this->render($template,
diff --git a/templates/info_providers/search/part_search.html.twig b/templates/info_providers/search/part_search.html.twig
index c14b1c1f..78e06283 100644
--- a/templates/info_providers/search/part_search.html.twig
+++ b/templates/info_providers/search/part_search.html.twig
@@ -14,7 +14,7 @@
{% block card_title %}
{% if update_target %} {# If update_target is set, we update an existing part #}
{% trans %}info_providers.update_part.title{% endtrans %}:
- {{ update_target.name }}
+ {{ update_target.name }}
{% else %} {# Create a fresh part #}
{% trans %}info_providers.search.title{% endtrans %}
{% endif %}
diff --git a/templates/parts/edit/update_from_ip.html.twig b/templates/parts/edit/update_from_ip.html.twig
new file mode 100644
index 00000000..fb1dfad3
--- /dev/null
+++ b/templates/parts/edit/update_from_ip.html.twig
@@ -0,0 +1,16 @@
+{% extends "parts/edit/edit_part_info.html.twig" %}
+
+{# @var merge_other \App\Entity\Parts\Part #}
+
+{% block card_border %}border-info{% endblock %}
+{% block card_type %}bg-info text-bg-info{% endblock %}
+
+{% block title %}
+ {% trans %}info_providers.update_part.title{% endtrans %}: {{ merge_old_name }}
+{% endblock %}
+
+{% block card_title %}
+
+ {% trans %}info_providers.update_part.title{% endtrans %}:
+ {{ merge_old_name }}
+{% endblock %}
\ No newline at end of file