diff --git a/src/Bundle/ChillMainBundle/Templating/Entity/AddressRender.php b/src/Bundle/ChillMainBundle/Templating/Entity/AddressRender.php index d21b48331..5939bdc52 100644 --- a/src/Bundle/ChillMainBundle/Templating/Entity/AddressRender.php +++ b/src/Bundle/ChillMainBundle/Templating/Entity/AddressRender.php @@ -14,6 +14,7 @@ namespace Chill\MainBundle\Templating\Entity; use Chill\MainBundle\Entity\Address; use Chill\MainBundle\Templating\TranslatableStringHelper; use Symfony\Component\Templating\EngineInterface; +use Symfony\Component\DependencyInjection\ParameterBag\ParameterBagInterface; use function array_merge; use function strtr; @@ -32,11 +33,16 @@ class AddressRender implements ChillEntityRenderInterface private EngineInterface $templating; private TranslatableStringHelper $translatableStringHelper; + protected ParameterBagInterface $parameterBag; - public function __construct(EngineInterface $templating, TranslatableStringHelper $translatableStringHelper) - { + public function __construct( + EngineInterface $templating, + TranslatableStringHelper $translatableStringHelper, + ParameterBagInterface $parameterBag + ) { $this->templating = $templating; $this->translatableStringHelper = $translatableStringHelper; + $this->parameterBag = $parameterBag; } /** @@ -180,9 +186,16 @@ class AddressRender implements ChillEntityRenderInterface private function renderCountryLine($addr): ?string { - return $this->translatableStringHelper->localize( - $addr->getPostCode()->getCountry()->getName() - ); + $preferredCountries = $this->parameterBag->get('chill_main.available_countries'); + + if (in_array($addr->getPostCode()->getCountry()->getCountryCode(), $preferredCountries)) { + $res = null; + } else { + $res = $this->translatableStringHelper->localize( + $addr->getPostCode()->getCountry()->getName() + ); + } + return $res; } private function renderDeliveryLine($addr): ?string diff --git a/src/Bundle/ChillMainBundle/Tests/Templating/Entity/AddressRenderTest.php b/src/Bundle/ChillMainBundle/Tests/Templating/Entity/AddressRenderTest.php index c4d3fd3a7..17f0ac14a 100644 --- a/src/Bundle/ChillMainBundle/Tests/Templating/Entity/AddressRenderTest.php +++ b/src/Bundle/ChillMainBundle/Tests/Templating/Entity/AddressRenderTest.php @@ -19,6 +19,7 @@ use Iterator; use Symfony\Bundle\FrameworkBundle\Test\KernelTestCase; use Symfony\Component\Templating\EngineInterface; use Chill\MainBundle\Templating\TranslatableStringHelper; +use Symfony\Component\DependencyInjection\ParameterBag\ParameterBagInterface; /** * @internal @@ -74,7 +75,8 @@ final class AddressRenderTest extends KernelTestCase { $engine = self::$container->get(EngineInterface::class); $translatableStringHelper = self::$container->get(TranslatableStringHelper::class); - $renderer = new AddressRender($engine, $translatableStringHelper); + $parameterBag = self::$container->get(ParameterBagInterface::class); + $renderer = new AddressRender($engine, $translatableStringHelper, $parameterBag); $this->assertEquals($expectedString, $renderer->renderString($addr, [])); @@ -88,7 +90,8 @@ final class AddressRenderTest extends KernelTestCase { $engine = self::$container->get(EngineInterface::class); $translatableStringHelper = self::$container->get(TranslatableStringHelper::class); - $renderer = new AddressRender($engine, $translatableStringHelper); + $parameterBag = self::$container->get(ParameterBagInterface::class); + $renderer = new AddressRender($engine, $translatableStringHelper, $parameterBag); $this->assertEquals($expectedString, $renderer->renderString($addr, [])); @@ -154,7 +157,8 @@ final class AddressRenderTest extends KernelTestCase { $engine = self::$container->get(EngineInterface::class); $translatableStringHelper = self::$container->get(TranslatableStringHelper::class); - $renderer = new AddressRender($engine, $translatableStringHelper); + $parameterBag = self::$container->get(ParameterBagInterface::class); + $renderer = new AddressRender($engine, $translatableStringHelper, $parameterBag); $this->assertEquals($expectedString, $renderer->renderString($addr, [])); @@ -168,7 +172,8 @@ final class AddressRenderTest extends KernelTestCase { $engine = self::$container->get(EngineInterface::class); $translatableStringHelper = self::$container->get(TranslatableStringHelper::class); - $renderer = new AddressRender($engine, $translatableStringHelper); + $parameterBag = self::$container->get(ParameterBagInterface::class); + $renderer = new AddressRender($engine, $translatableStringHelper, $parameterBag); $this->assertEquals($expectedString, $renderer->renderString($addr, [])); @@ -224,7 +229,8 @@ final class AddressRenderTest extends KernelTestCase { $engine = self::$container->get(EngineInterface::class); $translatableStringHelper = self::$container->get(TranslatableStringHelper::class); - $renderer = new AddressRender($engine, $translatableStringHelper); + $parameterBag = self::$container->get(ParameterBagInterface::class); + $renderer = new AddressRender($engine, $translatableStringHelper, $parameterBag); $this->assertEquals($expectedString, $renderer->renderString($addr, [])); @@ -238,7 +244,8 @@ final class AddressRenderTest extends KernelTestCase { $engine = self::$container->get(EngineInterface::class); $translatableStringHelper = self::$container->get(TranslatableStringHelper::class); - $renderer = new AddressRender($engine, $translatableStringHelper); + $parameterBag = self::$container->get(ParameterBagInterface::class); + $renderer = new AddressRender($engine, $translatableStringHelper, $parameterBag); $this->assertEquals($expectedString, $renderer->renderString($addr, [])); @@ -293,7 +300,8 @@ final class AddressRenderTest extends KernelTestCase { $engine = self::$container->get(EngineInterface::class); $translatableStringHelper = self::$container->get(TranslatableStringHelper::class); - $renderer = new AddressRender($engine, $translatableStringHelper); + $parameterBag = self::$container->get(ParameterBagInterface::class); + $renderer = new AddressRender($engine, $translatableStringHelper, $parameterBag); $this->assertEquals($expectedString, $renderer->renderString($addr, [])); @@ -307,7 +315,8 @@ final class AddressRenderTest extends KernelTestCase { $engine = self::$container->get(EngineInterface::class); $translatableStringHelper = self::$container->get(TranslatableStringHelper::class); - $renderer = new AddressRender($engine, $translatableStringHelper); + $parameterBag = self::$container->get(ParameterBagInterface::class); + $renderer = new AddressRender($engine, $translatableStringHelper, $parameterBag); $this->assertEquals($expectedString, $renderer->renderString($addr, [])); @@ -338,7 +347,8 @@ final class AddressRenderTest extends KernelTestCase { $engine = self::$container->get(EngineInterface::class); $translatableStringHelper = self::$container->get(TranslatableStringHelper::class); - $renderer = new AddressRender($engine, $translatableStringHelper); + $parameterBag = self::$container->get(ParameterBagInterface::class); + $renderer = new AddressRender($engine, $translatableStringHelper, $parameterBag); $this->assertEquals($expectedString, $renderer->renderString($addr, []));