diff --git a/src/Controller/InfoProviderController.php b/src/Controller/InfoProviderController.php
index deec8a57..623a9608 100644
--- a/src/Controller/InfoProviderController.php
+++ b/src/Controller/InfoProviderController.php
@@ -250,7 +250,7 @@ class InfoProviderController extends AbstractController
//Redirect to the part creation page with the found part detail
return $this->redirectToRoute('info_providers_create_part', [
'providerKey' => $searchResult->provider_key,
- 'providerId' => $searchResult->provider_id,
+ 'providerId' => urlencode($searchResult->provider_id),
]);
}
} catch (ExceptionInterface $e) {
diff --git a/src/Services/InfoProviderSystem/Providers/GenericWebProvider.php b/src/Services/InfoProviderSystem/Providers/GenericWebProvider.php
index ada72ea2..184aad32 100644
--- a/src/Services/InfoProviderSystem/Providers/GenericWebProvider.php
+++ b/src/Services/InfoProviderSystem/Providers/GenericWebProvider.php
@@ -311,6 +311,7 @@ class GenericWebProvider implements InfoProviderInterface
private function fixAndValidateURL(string $url): string
{
$originalUrl = $url;
+ $url = urldecode($url);
//Add scheme if missing
if (!preg_match('/^https?:\/\//', $url)) {
diff --git a/templates/info_providers/search/part_search.html.twig b/templates/info_providers/search/part_search.html.twig
index a5602618..7e36451c 100644
--- a/templates/info_providers/search/part_search.html.twig
+++ b/templates/info_providers/search/part_search.html.twig
@@ -116,10 +116,10 @@
{% if update_target %} {# We update an existing part #}
{% set href = path('info_providers_update_part',
- {'providerKey': dto.provider_key, 'providerId': dto.provider_id, 'id': update_target.iD}) %}
+ {'providerKey': dto.provider_key, 'providerId': dto.provider_id|url_encode, 'id': update_target.iD}) %}
{% else %} {# Create a fresh part #}
{% set href = path('info_providers_create_part',
- {'providerKey': dto.provider_key, 'providerId': dto.provider_id}) %}
+ {'providerKey': dto.provider_key, 'providerId': dto.provider_id|url_encode}) %}
{% endif %}
{# If we have no local part, then we can just show the create button #}
@@ -139,7 +139,7 @@
target="_blank" title="{% trans %}info_providers.search.show_existing_part{% endtrans %}">
-