mirror of
https://github.com/Part-DB/Part-DB-server.git
synced 2025-06-21 01:25:55 +02:00
Renamed SandboxedTwigProvider to SandboxedTwig Factory
This commit is contained in:
parent
a2cd5652d2
commit
1da3225e1d
3 changed files with 8 additions and 7 deletions
|
@ -53,7 +53,7 @@ use Twig\Error\Error;
|
|||
|
||||
final class LabelHTMLGenerator
|
||||
{
|
||||
public function __construct(private readonly ElementTypeNameGenerator $elementTypeNameGenerator, private readonly LabelTextReplacer $replacer, private readonly Environment $twig, private readonly LabelBarcodeGenerator $barcodeGenerator, private readonly SandboxedTwigProvider $sandboxedTwigProvider, private readonly Security $security, private readonly string $partdb_title)
|
||||
public function __construct(private readonly ElementTypeNameGenerator $elementTypeNameGenerator, private readonly LabelTextReplacer $replacer, private readonly Environment $twig, private readonly LabelBarcodeGenerator $barcodeGenerator, private readonly SandboxedTwigFactory $sandboxedTwigProvider, private readonly Security $security, private readonly string $partdb_title)
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -66,7 +66,7 @@ final class LabelHTMLGenerator
|
|||
$twig_elements = [];
|
||||
|
||||
if (LabelProcessMode::TWIG === $options->getProcessMode()) {
|
||||
$sandboxed_twig = $this->sandboxedTwigProvider->getTwig($options);
|
||||
$sandboxed_twig = $this->sandboxedTwigProvider->createTwig($options);
|
||||
$current_user = $this->security->getUser();
|
||||
}
|
||||
|
||||
|
|
|
@ -72,9 +72,10 @@ use Twig\Loader\ArrayLoader;
|
|||
use Twig\Sandbox\SecurityPolicyInterface;
|
||||
|
||||
/**
|
||||
* This service creates a sandboxed twig environment for the label system.
|
||||
* @see \App\Tests\Services\LabelSystem\SandboxedTwigProviderTest
|
||||
*/
|
||||
final class SandboxedTwigProvider
|
||||
final class SandboxedTwigFactory
|
||||
{
|
||||
private const ALLOWED_TAGS = ['apply', 'autoescape', 'do', 'for', 'if', 'set', 'verbatim', 'with'];
|
||||
private const ALLOWED_FILTERS = ['abs', 'batch', 'capitalize', 'column', 'country_name',
|
||||
|
@ -129,7 +130,7 @@ final class SandboxedTwigProvider
|
|||
{
|
||||
}
|
||||
|
||||
public function getTwig(LabelOptions $options): Environment
|
||||
public function createTwig(LabelOptions $options): Environment
|
||||
{
|
||||
if (LabelProcessMode::TWIG !== $options->getProcessMode()) {
|
||||
throw new InvalidArgumentException('The LabelOptions must explicitly allow twig via lines_mode = "twig"!');
|
|
@ -47,18 +47,18 @@ use App\Entity\LabelSystem\LabelSupportedElement;
|
|||
use App\Entity\Parts\Part;
|
||||
use App\Entity\Parts\PartLot;
|
||||
use App\Entity\Parts\StorageLocation;
|
||||
use App\Services\LabelSystem\SandboxedTwigProvider;
|
||||
use App\Services\LabelSystem\SandboxedTwigFactory;
|
||||
use Symfony\Bundle\FrameworkBundle\Test\WebTestCase;
|
||||
use Twig\Sandbox\SecurityError;
|
||||
|
||||
class SandboxedTwigProviderTest extends WebTestCase
|
||||
class SandboxedTwigFactoryTest extends WebTestCase
|
||||
{
|
||||
private ?object $service = null;
|
||||
|
||||
protected function setUp(): void
|
||||
{
|
||||
self::bootKernel();
|
||||
$this->service = self::getContainer()->get(SandboxedTwigProvider::class);
|
||||
$this->service = self::getContainer()->get(SandboxedTwigFactory::class);
|
||||
}
|
||||
|
||||
public function twigDataProvider(): array
|
Loading…
Add table
Add a link
Reference in a new issue