From 9d4dabbd20088761b5dead8b66816a9a63082015 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jan=20B=C3=B6hmer?=
Date: Thu, 25 Jun 2026 10:54:13 +0200
Subject: [PATCH 1/9] Removed useless setAccessible() calls
They are noop since 8.1 and we only support 8.2+
---
src/Repository/DBElementRepository.php | 1 -
.../PartKeeprImporter/PKImportHelperTrait.php | 1 -
tests/Entity/Attachments/AttachmentTest.php | 1 -
.../Providers/BuerklinProviderTest.php | 10 ++--------
.../InfoProviderSystem/Providers/LCSCProviderTest.php | 7 -------
5 files changed, 2 insertions(+), 18 deletions(-)
diff --git a/src/Repository/DBElementRepository.php b/src/Repository/DBElementRepository.php
index f737d91d..6e13aff7 100644
--- a/src/Repository/DBElementRepository.php
+++ b/src/Repository/DBElementRepository.php
@@ -158,7 +158,6 @@ class DBElementRepository extends EntityRepository
{
$reflection = new ReflectionClass($element::class);
$property = $reflection->getProperty($field);
- $property->setAccessible(true);
$property->setValue($element, $new_value);
}
}
diff --git a/src/Services/ImportExportSystem/PartKeeprImporter/PKImportHelperTrait.php b/src/Services/ImportExportSystem/PartKeeprImporter/PKImportHelperTrait.php
index 08b1c301..cbfb4ee0 100644
--- a/src/Services/ImportExportSystem/PartKeeprImporter/PKImportHelperTrait.php
+++ b/src/Services/ImportExportSystem/PartKeeprImporter/PKImportHelperTrait.php
@@ -233,7 +233,6 @@ trait PKImportHelperTrait
$reflectionClass = new \ReflectionClass($entity);
$property = $reflectionClass->getProperty('addedDate');
- $property->setAccessible(true);
$property->setValue($entity, $date);
}
diff --git a/tests/Entity/Attachments/AttachmentTest.php b/tests/Entity/Attachments/AttachmentTest.php
index 9e912b97..bef2df16 100644
--- a/tests/Entity/Attachments/AttachmentTest.php
+++ b/tests/Entity/Attachments/AttachmentTest.php
@@ -276,7 +276,6 @@ final class AttachmentTest extends TestCase
{
$reflection = new ReflectionClass($object);
$reflection_property = $reflection->getProperty($property);
- $reflection_property->setAccessible(true);
$reflection_property->setValue($object, $value);
}
diff --git a/tests/Services/InfoProviderSystem/Providers/BuerklinProviderTest.php b/tests/Services/InfoProviderSystem/Providers/BuerklinProviderTest.php
index ef446c9a..d466f048 100644
--- a/tests/Services/InfoProviderSystem/Providers/BuerklinProviderTest.php
+++ b/tests/Services/InfoProviderSystem/Providers/BuerklinProviderTest.php
@@ -77,7 +77,6 @@ final class BuerklinProviderTest extends TestCase
public function testAttributesToParametersParsesUnitsAndValues(): void
{
$method = new \ReflectionMethod(BuerklinProvider::class, 'attributesToParameters');
- $method->setAccessible(true);
$features = [
[
@@ -127,7 +126,6 @@ final class BuerklinProviderTest extends TestCase
public function testComplianceParameters(): void
{
$method = new \ReflectionMethod(BuerklinProvider::class, 'complianceToParameters');
- $method->setAccessible(true);
$product = [
'labelRoHS' => 'Yes',
@@ -158,7 +156,6 @@ final class BuerklinProviderTest extends TestCase
public function testImageSelectionPrefersZoomAndDeduplicates(): void
{
$method = new \ReflectionMethod(BuerklinProvider::class, 'getProductImages');
- $method->setAccessible(true);
$images = [
['format' => 'product', 'url' => '/img/a.webp'],
@@ -176,7 +173,6 @@ final class BuerklinProviderTest extends TestCase
public function testFootprintExtraction(): void
{
$method = new \ReflectionMethod(BuerklinProvider::class, 'getPartDetail');
- $method->setAccessible(true);
$product = [
'code' => 'TEST1',
@@ -212,7 +208,6 @@ final class BuerklinProviderTest extends TestCase
];
$method = new \ReflectionMethod(BuerklinProvider::class, 'pricesToVendorInfo');
- $method->setAccessible(true);
$vendorInfo = $method->invoke($this->provider, 'SKU1', 'https://x', $detailPrice);
@@ -260,7 +255,6 @@ final class BuerklinProviderTest extends TestCase
);
$method = new \ReflectionMethod(BuerklinProvider::class, 'convertPartDetailToSearchResult');
- $method->setAccessible(true);
$dto = $method->invoke($this->provider, $detail);
@@ -273,13 +267,13 @@ final class BuerklinProviderTest extends TestCase
{
$this->assertSame(['buerklin.com'], $this->provider->getHandledDomains());
}
-
+
#[DataProvider('buerklinIdFromUrlProvider')]
public function testGetIDFromURLExtractsId(string $url, ?string $expected): void
{
$this->assertSame($expected, $this->provider->getIDFromURL($url));
}
-
+
public static function buerklinIdFromUrlProvider(): \Iterator
{
yield 'de long path' => [
diff --git a/tests/Services/InfoProviderSystem/Providers/LCSCProviderTest.php b/tests/Services/InfoProviderSystem/Providers/LCSCProviderTest.php
index dc19de6b..9ec3abe1 100644
--- a/tests/Services/InfoProviderSystem/Providers/LCSCProviderTest.php
+++ b/tests/Services/InfoProviderSystem/Providers/LCSCProviderTest.php
@@ -367,7 +367,6 @@ final class LCSCProviderTest extends TestCase
{
$reflection = new \ReflectionClass($this->provider);
$method = $reflection->getMethod('sanitizeField');
- $method->setAccessible(true);
$this->assertNull($method->invokeArgs($this->provider, [null]));
$this->assertEquals('Clean text', $method->invokeArgs($this->provider, ['Clean text']));
@@ -378,7 +377,6 @@ final class LCSCProviderTest extends TestCase
{
$reflection = new \ReflectionClass($this->provider);
$method = $reflection->getMethod('getUsedCurrency');
- $method->setAccessible(true);
$this->assertEquals('USD', $method->invokeArgs($this->provider, ['US$']));
$this->assertEquals('USD', $method->invokeArgs($this->provider, ['$']));
@@ -391,7 +389,6 @@ final class LCSCProviderTest extends TestCase
{
$reflection = new \ReflectionClass($this->provider);
$method = $reflection->getMethod('getProductShortURL');
- $method->setAccessible(true);
$result = $method->invokeArgs($this->provider, ['C123456']);
$this->assertEquals('https://www.lcsc.com/product-detail/C123456.html', $result);
@@ -401,7 +398,6 @@ final class LCSCProviderTest extends TestCase
{
$reflection = new \ReflectionClass($this->provider);
$method = $reflection->getMethod('getProductDatasheets');
- $method->setAccessible(true);
$result = $method->invokeArgs($this->provider, [null]);
$this->assertIsArray($result);
@@ -417,7 +413,6 @@ final class LCSCProviderTest extends TestCase
{
$reflection = new \ReflectionClass($this->provider);
$method = $reflection->getMethod('getProductImages');
- $method->setAccessible(true);
$result = $method->invokeArgs($this->provider, [null]);
$this->assertIsArray($result);
@@ -434,7 +429,6 @@ final class LCSCProviderTest extends TestCase
{
$reflection = new \ReflectionClass($this->provider);
$method = $reflection->getMethod('attributesToParameters');
- $method->setAccessible(true);
$attributes = [
['paramNameEn' => 'Resistance', 'paramValueEn' => '1kΩ'],
@@ -454,7 +448,6 @@ final class LCSCProviderTest extends TestCase
{
$reflection = new \ReflectionClass($this->provider);
$method = $reflection->getMethod('pricesToVendorInfo');
- $method->setAccessible(true);
$prices = [
['ladder' => 1, 'productPrice' => '0.10', 'currencySymbol' => 'US$'],
From fe0809230b86f8f495af2eb0039baa6bfd69dc12 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jan=20B=C3=B6hmer?=
Date: Thu, 25 Jun 2026 11:59:37 +0200
Subject: [PATCH 2/9] Fixed sqlite deprecation on PHP8.5
---
.../SQLiteRegexExtensionMiddlewareDriver.php | 32 +++++++++++++------
1 file changed, 23 insertions(+), 9 deletions(-)
diff --git a/src/Doctrine/Middleware/SQLiteRegexExtensionMiddlewareDriver.php b/src/Doctrine/Middleware/SQLiteRegexExtensionMiddlewareDriver.php
index aa6108c9..fa3230e4 100644
--- a/src/Doctrine/Middleware/SQLiteRegexExtensionMiddlewareDriver.php
+++ b/src/Doctrine/Middleware/SQLiteRegexExtensionMiddlewareDriver.php
@@ -27,6 +27,7 @@ use App\Doctrine\Functions\SiValueSort;
use App\Exceptions\InvalidRegexException;
use Doctrine\DBAL\Driver\Connection;
use Doctrine\DBAL\Driver\Middleware\AbstractDriverMiddleware;
+use Pdo\Sqlite;
/**
* This middleware is used to add the regexp operator to the SQLite platform.
@@ -44,17 +45,30 @@ class SQLiteRegexExtensionMiddlewareDriver extends AbstractDriverMiddleware
if ($params['driver'] === 'pdo_sqlite') {
$native_connection = $connection->getNativeConnection();
- //Ensure that the function really exists on the connection, as it is marked as experimental according to PHP documentation
if($native_connection instanceof \PDO) {
- $native_connection->sqliteCreateFunction('REGEXP', self::regexp(...), 2, \PDO::SQLITE_DETERMINISTIC);
- $native_connection->sqliteCreateFunction('FIELD', self::field(...), -1, \PDO::SQLITE_DETERMINISTIC);
- $native_connection->sqliteCreateFunction('FIELD2', self::field2(...), 2, \PDO::SQLITE_DETERMINISTIC);
- //Create a new collation for natural sorting
- $native_connection->sqliteCreateCollation('NATURAL_CMP', strnatcmp(...));
+ //Use the new PDO::createFunction and PDO::createCollation methods if available (PHP 8.4+)
+ if (is_a($native_connection, \PDO\Sqlite::class)) { #TODO: Remove this check when PHP 8.4 is the minimum requirement
+ $native_connection->createFunction('REGEXP', self::regexp(...), 2, Sqlite::DETERMINISTIC);
+ $native_connection->createFunction('FIELD', self::field(...), -1, Sqlite::DETERMINISTIC);
+ $native_connection->createFunction('FIELD2', self::field2(...), 2, Sqlite::DETERMINISTIC);
- //Create a function for SI prefix value sorting
- $native_connection->sqliteCreateFunction('SI_VALUE', SiValueSort::sqliteSiValue(...), 1, \PDO::SQLITE_DETERMINISTIC);
+ //Create a new collation for natural sorting
+ $native_connection->createCollation('NATURAL_CMP', strnatcmp(...));
+
+ //Create a function for SI prefix value sorting
+ $native_connection->createFunction('SI_VALUE', SiValueSort::sqliteSiValue(...), 1, Sqlite::DETERMINISTIC);
+ } else {
+ $native_connection->sqliteCreateFunction('REGEXP', self::regexp(...), 2, \PDO::SQLITE_DETERMINISTIC);
+ $native_connection->sqliteCreateFunction('FIELD', self::field(...), -1, \PDO::SQLITE_DETERMINISTIC);
+ $native_connection->sqliteCreateFunction('FIELD2', self::field2(...), 2, \PDO::SQLITE_DETERMINISTIC);
+
+ //Create a new collation for natural sorting
+ $native_connection->sqliteCreateCollation('NATURAL_CMP', strnatcmp(...));
+
+ //Create a function for SI prefix value sorting
+ $native_connection->sqliteCreateFunction('SI_VALUE', SiValueSort::sqliteSiValue(...), 1, \PDO::SQLITE_DETERMINISTIC);
+ }
}
}
@@ -118,4 +132,4 @@ class SQLiteRegexExtensionMiddlewareDriver extends AbstractDriverMiddleware
return $index + 1;
}
-}
\ No newline at end of file
+}
From b8fc5d4aceb387f5d30c75328889b2ed81e5bdeb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jan=20B=C3=B6hmer?=
Date: Thu, 25 Jun 2026 12:07:54 +0200
Subject: [PATCH 3/9] Warn if ProjectBuild passed lot if null
Fixed caused deprecations for it
---
src/Helpers/Projects/ProjectBuildRequest.php | 20 +++++++++++++------
.../Projects/ProjectBuildRequestTest.php | 7 ++++++-
2 files changed, 20 insertions(+), 7 deletions(-)
diff --git a/src/Helpers/Projects/ProjectBuildRequest.php b/src/Helpers/Projects/ProjectBuildRequest.php
index 430d37b5..d2dfe139 100644
--- a/src/Helpers/Projects/ProjectBuildRequest.php
+++ b/src/Helpers/Projects/ProjectBuildRequest.php
@@ -84,8 +84,10 @@ final class ProjectBuildRequest
$remaining_amount = $this->getNeededAmountForBOMEntry($bom_entry);
foreach($this->getPartLotsForBOMEntry($bom_entry) as $lot) {
//If the lot has instock use it for the build
- $this->withdraw_amounts[$lot->getID()] = min($remaining_amount, $lot->getAmount());
- $remaining_amount -= max(0, $this->withdraw_amounts[$lot->getID()]);
+ $id = $lot->getID() ?? throw new \RuntimeException("Part lot needs to have an ID!");
+
+ $this->withdraw_amounts[$id] = min($remaining_amount, $lot->getAmount());
+ $remaining_amount -= max(0, $this->withdraw_amounts[$id]);
}
}
}
@@ -176,6 +178,10 @@ final class ProjectBuildRequest
{
$lot_id = $lot instanceof PartLot ? $lot->getID() : $lot;
+ if ($lot_id === null) {
+ throw new \InvalidArgumentException('The given lot must have an ID!');
+ }
+
if (! array_key_exists($lot_id, $this->withdraw_amounts)) {
throw new \InvalidArgumentException('The given lot is not in the withdraw amounts array!');
}
@@ -192,10 +198,12 @@ final class ProjectBuildRequest
{
if ($lot instanceof PartLot) {
$lot_id = $lot->getID();
- } elseif (is_int($lot)) {
- $lot_id = $lot;
} else {
- throw new \InvalidArgumentException('The given lot must be an instance of PartLot or an ID of a PartLot!');
+ $lot_id = $lot;
+ }
+
+ if ($lot_id === null) {
+ throw new \InvalidArgumentException('The given lot must have an ID!');
}
$this->withdraw_amounts[$lot_id] = $amount;
@@ -296,7 +304,7 @@ final class ProjectBuildRequest
* @param bool $dont_check_quantity
* @return $this
*/
- public function setDontCheckQuantity(bool $dont_check_quantity): ProjectBuildRequest
+ public function setDontCheckQuantity(bool $dont_check_quantity): self
{
$this->dont_check_quantity = $dont_check_quantity;
return $this;
diff --git a/tests/Helpers/Projects/ProjectBuildRequestTest.php b/tests/Helpers/Projects/ProjectBuildRequestTest.php
index c1fd1498..3014f762 100644
--- a/tests/Helpers/Projects/ProjectBuildRequestTest.php
+++ b/tests/Helpers/Projects/ProjectBuildRequestTest.php
@@ -82,7 +82,12 @@ final class ProjectBuildRequestTest extends TestCase
$part2->setName('Part 2');
$part2->setPartUnit($float_unit);
- $this->lot2 = new PartLot();
+ $this->lot2 = new class extends PartLot {
+ public function getID(): ?int
+ {
+ return 3;
+ }
+ };;
$part2->addPartLot($this->lot2);
$this->lot2->setAmount(2.5);
$this->lot2->setDescription('Lot 2');
From eb7da91c4494b7ccda533b602af3fda93ba02075 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jan=20B=C3=B6hmer?=
Date: Thu, 25 Jun 2026 12:09:06 +0200
Subject: [PATCH 4/9] Fixed phpstan issue
---
.../Middleware/SQLiteRegexExtensionMiddlewareDriver.php | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/Doctrine/Middleware/SQLiteRegexExtensionMiddlewareDriver.php b/src/Doctrine/Middleware/SQLiteRegexExtensionMiddlewareDriver.php
index fa3230e4..f721f986 100644
--- a/src/Doctrine/Middleware/SQLiteRegexExtensionMiddlewareDriver.php
+++ b/src/Doctrine/Middleware/SQLiteRegexExtensionMiddlewareDriver.php
@@ -48,7 +48,7 @@ class SQLiteRegexExtensionMiddlewareDriver extends AbstractDriverMiddleware
if($native_connection instanceof \PDO) {
//Use the new PDO::createFunction and PDO::createCollation methods if available (PHP 8.4+)
- if (is_a($native_connection, \PDO\Sqlite::class)) { #TODO: Remove this check when PHP 8.4 is the minimum requirement
+ if (is_a($native_connection, Sqlite::class)) { #TODO: Remove this check when PHP 8.4 is the minimum requirement
$native_connection->createFunction('REGEXP', self::regexp(...), 2, Sqlite::DETERMINISTIC);
$native_connection->createFunction('FIELD', self::field(...), -1, Sqlite::DETERMINISTIC);
$native_connection->createFunction('FIELD2', self::field2(...), 2, Sqlite::DETERMINISTIC);
From 9c919a9be9b263f0c476eebccf579eab1949364d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jan=20B=C3=B6hmer?=
Date: Thu, 25 Jun 2026 12:12:34 +0200
Subject: [PATCH 5/9] Moved from phpunit annotation to attribute
---
tests/Doctrine/Functions/SiValueSortTest.php | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/tests/Doctrine/Functions/SiValueSortTest.php b/tests/Doctrine/Functions/SiValueSortTest.php
index dbdd9d28..4ef8a397 100644
--- a/tests/Doctrine/Functions/SiValueSortTest.php
+++ b/tests/Doctrine/Functions/SiValueSortTest.php
@@ -26,6 +26,7 @@ use App\Doctrine\Functions\SiValueSort;
use Doctrine\DBAL\Platforms\MySQLPlatform;
use Doctrine\DBAL\Platforms\PostgreSQLPlatform;
use Doctrine\DBAL\Platforms\SQLitePlatform;
+use PHPUnit\Framework\Attributes\DataProvider;
final class SiValueSortTest extends AbstractDoctrineFunctionTestCase
{
@@ -71,9 +72,7 @@ final class SiValueSortTest extends AbstractDoctrineFunctionTestCase
$this->assertSame('SI_VALUE(part_name)', $sql);
}
- /**
- * @dataProvider sqliteSiValueProvider
- */
+ #[DataProvider('sqliteSiValueProvider')]
public function testSqliteSiValue(?string $input, ?float $expected): void
{
$result = SiValueSort::sqliteSiValue($input);
From 23e22b19e21e52c35cc7d1f3b74cc8957c4a9d55 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jan=20B=C3=B6hmer?=
Date: Thu, 25 Jun 2026 12:27:37 +0200
Subject: [PATCH 6/9] Removed usesless easy_log_handler file
---
config/packages/dev/easy_log_handler.yaml | 16 ----------------
1 file changed, 16 deletions(-)
delete mode 100644 config/packages/dev/easy_log_handler.yaml
diff --git a/config/packages/dev/easy_log_handler.yaml b/config/packages/dev/easy_log_handler.yaml
deleted file mode 100644
index 27bfc608..00000000
--- a/config/packages/dev/easy_log_handler.yaml
+++ /dev/null
@@ -1,16 +0,0 @@
-services:
- EasyCorp\EasyLog\EasyLogHandler:
- public: false
- arguments: ['%kernel.logs_dir%/%kernel.environment%.log']
-
-#// FIXME: How to add this configuration automatically without messing up with the monolog configuration?
-#monolog:
-# handlers:
-# buffered:
-# type: buffer
-# handler: easylog
-# channels: ['!event']
-# level: debug
-# easylog:
-# type: service
-# id: EasyCorp\EasyLog\EasyLogHandler
From b3895c1e91287d23a7984750f539242901f6e412 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jan=20B=C3=B6hmer?=
Date: Thu, 25 Jun 2026 12:33:52 +0200
Subject: [PATCH 7/9] Fixed depprecation of fluent config builders
---
config/packages/doctrine.php | 18 +++++++++---------
1 file changed, 9 insertions(+), 9 deletions(-)
diff --git a/config/packages/doctrine.php b/config/packages/doctrine.php
index e5be011f..f62cdcfb 100644
--- a/config/packages/doctrine.php
+++ b/config/packages/doctrine.php
@@ -20,16 +20,16 @@
declare(strict_types=1);
-use Symfony\Config\DoctrineConfig;
-
/**
- * This class extends the default doctrine ORM configuration to enable native lazy objects on PHP 8.4+.
+ * This file enables native lazy objects on PHP 8.4+.
* We have to do this in a PHP file, because the yaml file does not support conditionals on PHP version.
+ *
+ * TODO: Remove this file when we drop support for PHP < 8.4
*/
-return static function(DoctrineConfig $doctrine) {
- //On PHP 8.4+ we can use native lazy objects, which are much more efficient than proxies.
- if (PHP_VERSION_ID >= 80400) {
- $doctrine->orm()->enableNativeLazyObjects(true);
- }
-};
+// On PHP 8.4+ we can use native lazy objects, which are much more efficient than proxies.
+if (PHP_VERSION_ID >= 80400) {
+ return ['doctrine' => ['orm' => ['enable_native_lazy_objects' => true]]];
+}
+
+return [];
From cd87b59c15b201079b6245d5a2214d5d95f40ac9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jan=20B=C3=B6hmer?=
Date: Thu, 25 Jun 2026 12:37:22 +0200
Subject: [PATCH 8/9] Fixed small deprecations
---
src/Entity/ProjectSystem/Project.php | 2 +-
src/Form/Type/AttachmentTypeType.php | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/Entity/ProjectSystem/Project.php b/src/Entity/ProjectSystem/Project.php
index a103d694..f4a3e9de 100644
--- a/src/Entity/ProjectSystem/Project.php
+++ b/src/Entity/ProjectSystem/Project.php
@@ -117,7 +117,7 @@ class Project extends AbstractStructuralDBElement
/**
* @var string|null The current status of the project
*/
- #[Assert\Choice(['draft', 'planning', 'in_production', 'finished', 'archived'])]
+ #[Assert\Choice(choices: ['draft', 'planning', 'in_production', 'finished', 'archived'])]
#[Groups(['extended', 'full', 'project:read', 'project:write', 'import'])]
#[ORM\Column(type: Types::STRING, length: 64, nullable: true)]
protected ?string $status = null;
diff --git a/src/Form/Type/AttachmentTypeType.php b/src/Form/Type/AttachmentTypeType.php
index 099ed282..95b5a254 100644
--- a/src/Form/Type/AttachmentTypeType.php
+++ b/src/Form/Type/AttachmentTypeType.php
@@ -38,7 +38,7 @@ class AttachmentTypeType extends AbstractType
return StructuralEntityType::class;
}
- public function configureOptions(OptionsResolver $resolver)
+ public function configureOptions(OptionsResolver $resolver): void
{
$resolver->define('attachment_filter_class')->allowedTypes('null', 'string')->default(null);
From 188444b30f92cdd3990d5c72b53673e28a1f3cbc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jan=20B=C3=B6hmer?=
Date: Thu, 25 Jun 2026 12:44:06 +0200
Subject: [PATCH 9/9] Fixed deprecations
---
.../details/_extra_collection_element_deleted.html.twig | 4 ++--
templates/parts/info/_picture.html.twig | 4 ++--
templates/parts/info/show_part_info.html.twig | 2 +-
3 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/templates/log_system/details/_extra_collection_element_deleted.html.twig b/templates/log_system/details/_extra_collection_element_deleted.html.twig
index 221fae95..1c2ce2f3 100644
--- a/templates/log_system/details/_extra_collection_element_deleted.html.twig
+++ b/templates/log_system/details/_extra_collection_element_deleted.html.twig
@@ -4,7 +4,7 @@
{% trans %}log.collection_deleted.deleted{% endtrans %}:
- {{ entity_type_label(entry.deletedElementClass) }} #{{ entry.deletedElementID }}
+ {{ type_label(entry.deletedElementClass) }} #{{ entry.deletedElementID }}
{% if entry.oldName is not empty %}
({{ entry.oldName }})
{% endif %}
@@ -12,4 +12,4 @@
{% trans %}log.collection_deleted.on_collection{% endtrans %}:
{{ log_helper.translate_field(entry.collectionName) }}
-
\ No newline at end of file
+
diff --git a/templates/parts/info/_picture.html.twig b/templates/parts/info/_picture.html.twig
index e6aa74b3..db6c59ca 100644
--- a/templates/parts/info/_picture.html.twig
+++ b/templates/parts/info/_picture.html.twig
@@ -19,7 +19,7 @@
{{ pic.name }}
{% if pic.filename %}({{ pic.filename }}) {% endif %}
-
{{ entity_type_label(pic.element) }}
+
{{ type_label(pic.element) }}
{% endif %}
@@ -41,4 +41,4 @@
{% else %}
-{% endif %}
\ No newline at end of file
+{% endif %}
diff --git a/templates/parts/info/show_part_info.html.twig b/templates/parts/info/show_part_info.html.twig
index 96b5e209..b36ab047 100644
--- a/templates/parts/info/show_part_info.html.twig
+++ b/templates/parts/info/show_part_info.html.twig
@@ -22,7 +22,7 @@
({{ timeTravel | format_datetime('short') }})
{% endif %}
{% if part.projectBuildPart %}
- ({{ entity_type_label(part.builtProject) }}: {{ part.builtProject.name }})
+ ({{ type_label(part.builtProject) }}: {{ part.builtProject.name }})
{% endif %}