diff --git a/src/Services/LabelSystem/LabelTextReplacer.php b/src/Services/LabelSystem/LabelTextReplacer.php
index 844abbb2..3ebbb0e2 100644
--- a/src/Services/LabelSystem/LabelTextReplacer.php
+++ b/src/Services/LabelSystem/LabelTextReplacer.php
@@ -65,7 +65,7 @@ class LabelTextReplacer
public function replace(string $lines, object $target): string
{
$patterns = [
- '/(%%[A-Z_]+%%)/' => function ($match) use ($target) {
+ '/(\[\[[A-Z_]+\]\])/' => function ($match) use ($target) {
return $this->handlePlaceholder($match[0], $target);
},
];
diff --git a/src/Services/LabelSystem/PlaceholderProviders/AbstractDBElementProvider.php b/src/Services/LabelSystem/PlaceholderProviders/AbstractDBElementProvider.php
index 50467915..8fb2017e 100644
--- a/src/Services/LabelSystem/PlaceholderProviders/AbstractDBElementProvider.php
+++ b/src/Services/LabelSystem/PlaceholderProviders/AbstractDBElementProvider.php
@@ -40,11 +40,11 @@ class AbstractDBElementProvider implements PlaceholderProviderInterface
{
if ($label_target instanceof AbstractDBElement) {
- if ($placeholder === '%%TYPE%%') {
+ if ($placeholder === '[[TYPE]]') {
return $this->elementTypeNameGenerator->getLocalizedTypeLabel($label_target);
}
- if ($placeholder === '%%ID%%') {
+ if ($placeholder === '[[ID]]') {
return (string) ($label_target->getID() ?? 'unknown');
}
diff --git a/src/Services/LabelSystem/PlaceholderProviders/GlobalProviders.php b/src/Services/LabelSystem/PlaceholderProviders/GlobalProviders.php
index 8f4ba7ae..d3844b75 100644
--- a/src/Services/LabelSystem/PlaceholderProviders/GlobalProviders.php
+++ b/src/Services/LabelSystem/PlaceholderProviders/GlobalProviders.php
@@ -47,20 +47,20 @@ class GlobalProviders implements PlaceholderProviderInterface
*/
public function replace(string $placeholder, object $label_target, array $options = []): ?string
{
- if ($placeholder === "%%INSTALL_NAME%%") {
+ if ($placeholder === "[[INSTALL_NAME]]") {
return $this->partdb_title;
}
$user = $this->security->getUser();
- if ($placeholder === "%%USERNAME%%") {
+ if ($placeholder === "[[USERNAME]]") {
if ($user instanceof User) {
return $user->getName();
}
return 'anonymous';
}
- if ($placeholder === "%%USERNAME_FULL%%") {
+ if ($placeholder === "[[USERNAME_FULL]]") {
if ($user instanceof User) {
return $user->getFullName(true);
}
@@ -69,7 +69,7 @@ class GlobalProviders implements PlaceholderProviderInterface
$now = new \DateTime();
- if ($placeholder === '%%DATETIME%%') {
+ if ($placeholder === '[[DATETIME]]') {
$formatter = IntlDateFormatter::create(
Locale::getDefault(),
IntlDateFormatter::SHORT,
@@ -80,7 +80,7 @@ class GlobalProviders implements PlaceholderProviderInterface
return $formatter->format($now);
}
- if ($placeholder === '%%DATE%%') {
+ if ($placeholder === '[[DATE]]') {
$formatter = IntlDateFormatter::create(
Locale::getDefault(),
IntlDateFormatter::SHORT,
@@ -91,7 +91,7 @@ class GlobalProviders implements PlaceholderProviderInterface
return $formatter->format($now);
}
- if ($placeholder === '%%TIME%%') {
+ if ($placeholder === '[[TIME]]') {
$formatter = IntlDateFormatter::create(
Locale::getDefault(),
IntlDateFormatter::NONE,
diff --git a/src/Services/LabelSystem/PlaceholderProviders/NamedElementProvider.php b/src/Services/LabelSystem/PlaceholderProviders/NamedElementProvider.php
index 5acd461c..c4861cf4 100644
--- a/src/Services/LabelSystem/PlaceholderProviders/NamedElementProvider.php
+++ b/src/Services/LabelSystem/PlaceholderProviders/NamedElementProvider.php
@@ -31,7 +31,7 @@ class NamedElementProvider implements PlaceholderProviderInterface
*/
public function replace(string $placeholder, object $label_target, array $options = []): ?string
{
- if ($label_target instanceof NamedElementInterface && $placeholder === '%%NAME%%') {
+ if ($label_target instanceof NamedElementInterface && $placeholder === '[[NAME]]') {
return $label_target->getName();
}
diff --git a/src/Services/LabelSystem/PlaceholderProviders/PartLotProvider.php b/src/Services/LabelSystem/PlaceholderProviders/PartLotProvider.php
index 394f1b26..4c3bd641 100644
--- a/src/Services/LabelSystem/PlaceholderProviders/PartLotProvider.php
+++ b/src/Services/LabelSystem/PlaceholderProviders/PartLotProvider.php
@@ -41,19 +41,19 @@ class PartLotProvider implements PlaceholderProviderInterface
public function replace(string $placeholder, object $label_target, array $options = []): ?string
{
if ($label_target instanceof PartLot) {
- if ($placeholder === '%%LOT_ID%%') {
+ if ($placeholder === '[[LOT_ID]]') {
return $label_target->getID() ?? 'unknown';
}
- if ($placeholder === '%%LOT_NAME%%') {
+ if ($placeholder === '[[LOT_NAME]]') {
return $label_target->getName();
}
- if ($placeholder === '%%LOT_COMMENT%%') {
+ if ($placeholder === '[[LOT_COMMENT]]') {
return $label_target->getComment();
}
- if ($placeholder === '%%EXPIRATION_DATE%%') {
+ if ($placeholder === '[[EXPIRATION_DATE]]') {
if ($label_target->getExpirationDate() === null) {
return '';
}
@@ -67,18 +67,18 @@ class PartLotProvider implements PlaceholderProviderInterface
return $formatter->format($label_target->getExpirationDate());
}
- if ($placeholder === '%%AMOUNT%%') {
+ if ($placeholder === '[[AMOUNT]]') {
if ($label_target->isInstockUnknown()) {
return '?';
}
return $this->amountFormatter->format($label_target->getAmount(), $label_target->getPart()->getPartUnit());
}
- if ($placeholder === '%%LOCATION%%') {
+ if ($placeholder === '[[LOCATION]]') {
return $label_target->getStorageLocation() ? $label_target->getStorageLocation()->getName() : '';
}
- if ($placeholder === '%%LOCATION_FULL%%') {
+ if ($placeholder === '[[LOCATION_FULL]]') {
return $label_target->getStorageLocation() ? $label_target->getStorageLocation()->getFullPath() : '';
}
diff --git a/src/Services/LabelSystem/PlaceholderProviders/PartProvider.php b/src/Services/LabelSystem/PlaceholderProviders/PartProvider.php
index da8e1d14..e1b9d555 100644
--- a/src/Services/LabelSystem/PlaceholderProviders/PartProvider.php
+++ b/src/Services/LabelSystem/PlaceholderProviders/PartProvider.php
@@ -46,43 +46,43 @@ class PartProvider implements PlaceholderProviderInterface
return null;
}
- if ($placeholder === '%%CATEGORY%%') {
+ if ($placeholder === '[[CATEGORY]]') {
return $part->getCategory() ? $part->getCategory()->getName() : '';
}
- if ($placeholder === '%%CATEGORY_FULL%%') {
+ if ($placeholder === '[[CATEGORY_FULL]]') {
return $part->getCategory() ? $part->getCategory()->getFullPath() : '';
}
- if ($placeholder === '%%MANUFACTURER%%') {
+ if ($placeholder === '[[MANUFACTURER]]') {
return $part->getManufacturer() ? $part->getManufacturer()->getName() : '';
}
- if ($placeholder === '%%MANUFACTURER_FULL%%') {
+ if ($placeholder === '[[MANUFACTURER_FULL]]') {
return $part->getManufacturer() ? $part->getManufacturer()->getFullPath() : '';
}
- if ($placeholder === '%%FOOTPRINT%%') {
+ if ($placeholder === '[[FOOTPRINT]]') {
return $part->getFootprint() ? $part->getFootprint()->getName() : '';
}
- if ($placeholder === '%%FOOTPRINT_FULL%%') {
+ if ($placeholder === '[[FOOTPRINT_FULL]]') {
return $part->getFootprint() ? $part->getFootprint()->getFullPath() : '';
}
- if ($placeholder === '%%MASS%%') {
+ if ($placeholder === '[[MASS]]') {
return $part->getMass() ? $this->siFormatter->format($part->getMass(), 'g', 1) : '';
}
- if ($placeholder === '%%MPN%%') {
+ if ($placeholder === '[[MPN]]') {
return $part->getManufacturerProductNumber();
}
- if ($placeholder === '%%TAGS%%') {
+ if ($placeholder === '[[TAGS]]') {
return $part->getTags();
}
- if ($placeholder === '%%M_STATUS%%') {
+ if ($placeholder === '[[M_STATUS]]') {
if ($part->getManufacturingStatus() === '') {
return '';
}
@@ -91,19 +91,19 @@ class PartProvider implements PlaceholderProviderInterface
$parsedown = new \Parsedown();
- if ($placeholder === '%%DESCRIPTION%%') {
+ if ($placeholder === '[[DESCRIPTION]]') {
return $parsedown->line($part->getDescription());
}
- if ($placeholder === '%%DESCRIPTION_T%%') {
+ if ($placeholder === '[[DESCRIPTION_T]]') {
return strip_tags($parsedown->line($part->getDescription()));
}
- if ($placeholder === '%%COMMENT%%') {
+ if ($placeholder === '[[COMMENT]]') {
return $parsedown->line($part->getComment());
}
- if ($placeholder === '%%COMMENT_T%%') {
+ if ($placeholder === '[[COMMENT_T]]') {
return strip_tags($parsedown->line($part->getComment()));
}
diff --git a/src/Services/LabelSystem/PlaceholderProviders/TimestampableElementProvider.php b/src/Services/LabelSystem/PlaceholderProviders/TimestampableElementProvider.php
index aa2a50ee..5ddc0011 100644
--- a/src/Services/LabelSystem/PlaceholderProviders/TimestampableElementProvider.php
+++ b/src/Services/LabelSystem/PlaceholderProviders/TimestampableElementProvider.php
@@ -33,11 +33,11 @@ class TimestampableElementProvider implements PlaceholderProviderInterface
public function replace(string $placeholder, object $label_target, array $options = []): ?string
{
if ($label_target instanceof TimeStampableInterface) {
- if ($placeholder === '%%LAST_MODIFIED%%') {
+ if ($placeholder === '[[LAST_MODIFIED]]') {
return IntlDateFormatter::formatObject($label_target->getLastModified() ?? new \DateTime(), IntlDateFormatter::SHORT, Locale::getDefault());
}
- if ($placeholder === '%%CREATION_DATE%%') {
+ if ($placeholder === '[[CREATION_DATE]]') {
return IntlDateFormatter::formatObject($label_target->getAddedDate() ?? new \DateTime(), IntlDateFormatter::SHORT, Locale::getDefault());
}
diff --git a/tests/Services/LabelSystem/LabelTextReplacerTest.php b/tests/Services/LabelSystem/LabelTextReplacerTest.php
index 1e155e55..1d677f6c 100644
--- a/tests/Services/LabelSystem/LabelTextReplacerTest.php
+++ b/tests/Services/LabelSystem/LabelTextReplacerTest.php
@@ -55,28 +55,28 @@ class LabelTextReplacerTest extends WebTestCase
public function handlePlaceholderDataProvider(): array
{
return [
- ['Part 1', '%%NAME%%'],
- ['P Description', '%%DESCRIPTION%%'],
- ['%%UNKNOWN%%', '%%UNKNOWN%%'],
- ['%%INVALID', '%%INVALID'],
- ['%%', '%%'],
+ ['Part 1', '[[NAME]]'],
+ ['P Description', '[[DESCRIPTION]]'],
+ ['[[UNKNOWN]]', '[[UNKNOWN]]', '[[UNKNOWN]]'],
+ ['[[INVALID', '[[INVALID'],
+ ['[[', '[['],
['NAME', 'NAME'],
- ['%%NAME', '%%NAME'],
- ['Test %%NAME%%', 'Test %%NAME%%'],
+ ['[[NAME', '[[NAME'],
+ ['Test [[NAME]]', 'Test [[NAME]]', 'Test [[NAME]]'],
];
}
public function replaceDataProvider(): array
{
return [
- ['Part 1', '%%NAME%%'],
- ['TestPart 1', 'Test%%NAME%%'],
- ["P Description\nPart 1", "%%DESCRIPTION_T%%\n%%NAME%%"],
- ['Part 1 Part 1', '%%NAME%% %%NAME%%'],
- ['%%UNKNOWN%% Test', '%%UNKNOWN%% Test'],
- ["%%NAME\n%% %%NAME %%", "%%NAME\n%% %%NAME %%"],
- ['%%%%', '%%%%'],
- ['TEST%% %%TEST', 'TEST%% %%TEST']
+ ['Part 1', '[[NAME]]'],
+ ['TestPart 1', 'Test[[NAME]]'],
+ ["P Description\nPart 1", "[[DESCRIPTION_T]]\n[[NAME]]"],
+ ['Part 1 Part 1', '[[NAME]] [[NAME]]'],
+ ['[[UNKNOWN]] Test', '[[UNKNOWN]] Test'],
+ ["[[NAME\n]] [[NAME ]]", "[[NAME\n]] [[NAME ]]"],
+ ['[[]]', '[[]]'],
+ ['TEST[[ ]]TEST', 'TEST[[ ]]TEST']
];
}
@@ -107,6 +107,6 @@ class LabelTextReplacerTest extends WebTestCase
$part->setName('Part');
$part_lot->setPart($part);
- $this->assertSame('Part', $this->service->handlePlaceholder('%%NAME%%', $part_lot));
+ $this->assertSame('Part', $this->service->handlePlaceholder('[[NAME]]', $part_lot));
}
}
diff --git a/tests/Services/LabelSystem/PlaceholderProviders/AbstractElementProviderTest.php b/tests/Services/LabelSystem/PlaceholderProviders/AbstractElementProviderTest.php
index 8d5df9d2..1eb79366 100644
--- a/tests/Services/LabelSystem/PlaceholderProviders/AbstractElementProviderTest.php
+++ b/tests/Services/LabelSystem/PlaceholderProviders/AbstractElementProviderTest.php
@@ -54,7 +54,7 @@ class AbstractElementProviderTest extends WebTestCase
public function dataProvider(): array
{
return [
- ['123', '%%ID%%'],
+ ['123', '[[ID]]'],
];
}
diff --git a/tests/Services/LabelSystem/PlaceholderProviders/GlobalProvidersTest.php b/tests/Services/LabelSystem/PlaceholderProviders/GlobalProvidersTest.php
index 324e9997..07bd2a87 100644
--- a/tests/Services/LabelSystem/PlaceholderProviders/GlobalProvidersTest.php
+++ b/tests/Services/LabelSystem/PlaceholderProviders/GlobalProvidersTest.php
@@ -42,8 +42,8 @@ class GlobalProvidersTest extends WebTestCase
public function dataProvider(): array
{
return [
- ['Part-DB', '%%INSTALL_NAME%%'],
- ['anonymous', '%%USERNAME%%'],
+ ['Part-DB', '[[INSTALL_NAME]]'],
+ ['anonymous', '[[USERNAME]]'],
];
}
diff --git a/tests/Services/LabelSystem/PlaceholderProviders/NamedElementProviderTest.php b/tests/Services/LabelSystem/PlaceholderProviders/NamedElementProviderTest.php
index 59f3bf81..06308738 100644
--- a/tests/Services/LabelSystem/PlaceholderProviders/NamedElementProviderTest.php
+++ b/tests/Services/LabelSystem/PlaceholderProviders/NamedElementProviderTest.php
@@ -53,7 +53,7 @@ class NamedElementProviderTest extends WebTestCase
public function dataProvider(): array
{
return [
- ['This is my Name', '%%NAME%%']
+ ['This is my Name', '[[NAME]]']
];
}
diff --git a/tests/Services/LabelSystem/PlaceholderProviders/PartLotProviderTest.php b/tests/Services/LabelSystem/PlaceholderProviders/PartLotProviderTest.php
index e18bdb06..c430fad2 100644
--- a/tests/Services/LabelSystem/PlaceholderProviders/PartLotProviderTest.php
+++ b/tests/Services/LabelSystem/PlaceholderProviders/PartLotProviderTest.php
@@ -60,16 +60,16 @@ class PartLotProviderTest extends WebTestCase
public function dataProvider(): array
{
return [
- ['unknown', '%%LOT_ID%%'],
- ['Lot description', '%%LOT_NAME%%'],
- ['Lot comment', '%%LOT_COMMENT%%'],
- ['4/13/99', '%%EXPIRATION_DATE%%'],
- ['?', '%%AMOUNT%%'],
- ['Location', '%%LOCATION%%'],
- ['Parent → Location', '%%LOCATION_FULL%%'],
+ ['unknown', '[[LOT_ID]]'],
+ ['Lot description', '[[LOT_NAME]]'],
+ ['Lot comment', '[[LOT_COMMENT]]'],
+ ['4/13/99', '[[EXPIRATION_DATE]]'],
+ ['?', '[[AMOUNT]]'],
+ ['Location', '[[LOCATION]]'],
+ ['Parent → Location', '[[LOCATION_FULL]]'],
//Test part inheritance
- ['Part', '%%NAME%%'],
- ['Part description', '%%DESCRIPTION%%'],
+ ['Part', '[[NAME]]'],
+ ['Part description', '[[DESCRIPTION]]'],
];
}
diff --git a/tests/Services/LabelSystem/PlaceholderProviders/PartProviderTest.php b/tests/Services/LabelSystem/PlaceholderProviders/PartProviderTest.php
index 10e68cb7..6e7928bd 100644
--- a/tests/Services/LabelSystem/PlaceholderProviders/PartProviderTest.php
+++ b/tests/Services/LabelSystem/PlaceholderProviders/PartProviderTest.php
@@ -67,21 +67,21 @@ class PartProviderTest extends WebTestCase
public function dataProvider(): array
{
return [
- ['Node 2.1', '%%CATEGORY%%'],
- ['Node 2 → Node 2.1', '%%CATEGORY_FULL%%'],
- ['Node 2.1', '%%FOOTPRINT%%'],
- ['Node 2 → Node 2.1', '%%FOOTPRINT_FULL%%'],
- ['', '%%MANUFACTURER%%'],
- ['', '%%MANUFACTURER_FULL%%'],
+ ['Node 2.1', '[[CATEGORY]]'],
+ ['Node 2 → Node 2.1', '[[CATEGORY_FULL]]'],
+ ['Node 2.1', '[[FOOTPRINT]]'],
+ ['Node 2 → Node 2.1', '[[FOOTPRINT_FULL]]'],
+ ['', '[[MANUFACTURER]]'],
+ ['', '[[MANUFACTURER_FULL]]'],
- ['1.2 kg', '%%MASS%%'],
- ['MPN123', '%%MPN%%'],
- ['SMD, Tag1, Tag2', '%%TAGS%%'],
- ['Active', '%%M_STATUS%%'],
- ['Bold Italic', '%%DESCRIPTION%%'],
- ['Bold Italic', '%%DESCRIPTION_T%%'],
- ['Bold Italic', '%%COMMENT%%'],
- ['Bold Italic', '%%COMMENT_T%%'],
+ ['1.2 kg', '[[MASS]]'],
+ ['MPN123', '[[MPN]]'],
+ ['SMD, Tag1, Tag2', '[[TAGS]]'],
+ ['Active', '[[M_STATUS]]'],
+ ['Bold Italic', '[[DESCRIPTION]]'],
+ ['Bold Italic', '[[DESCRIPTION_T]]'],
+ ['Bold Italic', '[[COMMENT]]'],
+ ['Bold Italic', '[[COMMENT_T]]'],
];
}
diff --git a/tests/Services/LabelSystem/PlaceholderProviders/TimestampableElementProviderTest.php b/tests/Services/LabelSystem/PlaceholderProviders/TimestampableElementProviderTest.php
index dff330d8..2bf3bcaa 100644
--- a/tests/Services/LabelSystem/PlaceholderProviders/TimestampableElementProviderTest.php
+++ b/tests/Services/LabelSystem/PlaceholderProviders/TimestampableElementProviderTest.php
@@ -36,6 +36,7 @@ class TimestampableElementProviderTest extends WebTestCase
public function setUp(): void
{
self::bootKernel();
+ \Locale::setDefault('en');
$this->service = self::$container->get(TimestampableElementProvider::class);
$this->target = new class implements TimeStampableInterface {
@@ -59,11 +60,12 @@ class TimestampableElementProviderTest extends WebTestCase
public function dataProvider(): array
{
+ \Locale::setDefault('en');
$formatted = \IntlDateFormatter::formatObject(new \DateTime('2000-01-01'), \IntlDateFormatter::SHORT);
return [
- [$formatted, '%%LAST_MODIFIED%%'],
- [$formatted, '%%CREATION_DATE%%'],
+ [$formatted, '[[LAST_MODIFIED]]'],
+ [$formatted, '[[CREATION_DATE]]'],
];
}