diff --git a/src/Controller/PartListsController.php b/src/Controller/PartListsController.php
index ce5e9495..32719591 100644
--- a/src/Controller/PartListsController.php
+++ b/src/Controller/PartListsController.php
@@ -203,12 +203,13 @@ class PartListsController extends AbstractController
}
/**
- * @Route("/parts/by_tag/{tag}", name="part_list_tags")
+ * @Route("/parts/by_tag/{tag}", name="part_list_tags", requirements={"tag": ".*"})
*
* @return JsonResponse|Response
*/
public function showTag(string $tag, Request $request, DataTableFactory $dataTable)
{
+ $tag = trim($tag);
$table = $dataTable->createFromType(PartsDataTable::class, ['tag' => $tag])
->handleRequest($request);
diff --git a/src/DataTables/PartsDataTable.php b/src/DataTables/PartsDataTable.php
index f944e7f3..db81b348 100644
--- a/src/DataTables/PartsDataTable.php
+++ b/src/DataTables/PartsDataTable.php
@@ -392,7 +392,7 @@ final class PartsDataTable implements DataTableTypeInterface
}
if (isset($options['tag'])) {
- $builder->andWhere('part.tags LIKE :tag')->setParameter('tag', '%'.$options['tag'].'%');
+ $builder->andWhere('part.tags LIKE :tag')->setParameter('tag', $options['tag']);
}
if (!empty($options['search'])) {
diff --git a/templates/helper.twig b/templates/helper.twig
index de6a8212..22faf498 100644
--- a/templates/helper.twig
+++ b/templates/helper.twig
@@ -27,7 +27,7 @@
{% macro string_to_tags(string, class="badge bg-info") %}
{% for tag in string|split(',') %}
- {{ tag | trim }}
+ {{ tag | trim }}
{% endfor %}
{% endmacro %}