mirror of
https://github.com/Part-DB/Part-DB-server.git
synced 2025-06-20 17:15:51 +02:00
Give the update part from info provider menu a own design
This commit is contained in:
parent
3eeeb01ad1
commit
615defa84a
3 changed files with 26 additions and 4 deletions
|
@ -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,
|
||||
|
|
|
@ -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 %}
|
||||
|
|
16
templates/parts/edit/update_from_ip.html.twig
Normal file
16
templates/parts/edit/update_from_ip.html.twig
Normal 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 %}
|
Loading…
Add table
Add a link
Reference in a new issue