Give the update part from info provider menu a own design

This commit is contained in:
Jan Böhmer 2023-11-24 19:35:44 +01:00
parent 3eeeb01ad1
commit 615defa84a
3 changed files with 26 additions and 4 deletions

View file

@ -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,

View file

@ -14,7 +14,7 @@
{% block card_title %}
{% if update_target %} {# If update_target is set, we update an existing part #}
<i class="fas fa-cloud-arrow-down"></i> {% trans %}info_providers.update_part.title{% endtrans %}:
<a href="{{ entity_url(update_target) }}" target="_blank" class="text-bg-primary">{{ update_target.name }}</a>
<b><a href="{{ entity_url(update_target) }}" target="_blank" class="text-bg-primary">{{ update_target.name }}</a></b>
{% else %} {# Create a fresh part #}
<i class="fas fa-cloud-arrow-down"></i> {% trans %}info_providers.search.title{% endtrans %}
{% endif %}

View file

@ -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 %}
<i class="fas fa-cloud-arrow-down" aria-hidden="true"></i>
{% trans %}info_providers.update_part.title{% endtrans %}:
<b><a class="text-bg-info" href="{{ entity_url(part) }}">{{ merge_old_name }}</a></b>
{% endblock %}