Skip to content

Commit

Permalink
Change to Sylius Twig Hooks
Browse files Browse the repository at this point in the history
  • Loading branch information
Prometee committed Dec 19, 2024
1 parent dbb3a91 commit ac1e445
Show file tree
Hide file tree
Showing 7 changed files with 15 additions and 133 deletions.
22 changes: 10 additions & 12 deletions config/config.yaml
Original file line number Diff line number Diff line change
@@ -1,12 +1,10 @@
sylius_ui:
events:
sylius.shop.contact.request.form:
blocks:
captcha:
template: '@FluxSESyliusHCaptchaPlugin/form.html.twig'
priority: -10
sylius.shop.register.form:
blocks:
captcha:
template: '@FluxSESyliusHCaptchaPlugin/form.html.twig'
priority: -10
sylius_twig_hooks:
hooks:
sylius_shop.account.register.content.form:
h_captcha:
template: '@FluxSESyliusHCaptchaPlugin/form.html.twig'
priority: 10
sylius_shop.contact.contact_request.content.form:
h_captcha:
template: '@FluxSESyliusHCaptchaPlugin/form.html.twig'
priority: 10
2 changes: 1 addition & 1 deletion src/DependencyInjection/FluxSESyliusHCaptchaExtension.php
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ final class FluxSESyliusHCaptchaExtension extends Extension
{
public function load(array $configs, ContainerBuilder $container): void
{
$loader = new YamlFileLoader($container, new FileLocator(__DIR__ . '/../Resources/config'));
$loader = new YamlFileLoader($container, new FileLocator(__DIR__ . '/../../config'));
$loader->load('services.yaml');
}
}
6 changes: 4 additions & 2 deletions templates/form.html.twig
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
{% form_theme form '@FluxSESyliusHCaptchaPlugin/hcaptcha.html.twig' %}
{% form_theme hookable_metadata.context.form '@FluxSESyliusHCaptchaPlugin/hcaptcha.html.twig' %}

{{ form_row(form.captcha) }}
<div class="mb-3">
{{ form_row(hookable_metadata.context.form.captcha) }}
</div>
116 changes: 0 additions & 116 deletions tests/Application/Kernel.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,126 +4,10 @@

namespace Tests\FluxSE\SyliusHCaptchaPlugin\Application;

use PSS\SymfonyMockerContainer\DependencyInjection\MockerContainer;
use Sylius\Bundle\CoreBundle\Application\Kernel as SyliusKernel;
use Symfony\Bundle\FrameworkBundle\Kernel\MicroKernelTrait;
use Symfony\Component\Config\Loader\LoaderInterface;
use Symfony\Component\Config\Resource\FileResource;
use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\HttpKernel\Bundle\BundleInterface;
use Symfony\Component\HttpKernel\Kernel as BaseKernel;
use Symfony\Component\Routing\Loader\Configurator\RoutingConfigurator;

/**
* @property string $environment
*/
final class Kernel extends BaseKernel
{
use MicroKernelTrait;

private const CONFIG_EXTS = '.{php,xml,yaml,yml}';

public function getCacheDir(): string
{
return $this->getProjectDir() . '/var/cache/' . $this->environment;
}

public function getLogDir(): string
{
return $this->getProjectDir() . '/var/log';
}

public function registerBundles(): iterable
{
foreach ($this->getConfigurationDirectories() as $confDir) {
$bundlesFile = $confDir . '/bundles.php';
if (false === is_file($bundlesFile)) {
continue;
}
yield from $this->registerBundlesFromFile($bundlesFile);
}
}

private function configureContainer(ContainerBuilder $container, LoaderInterface $loader): void
{
foreach ($this->getConfigurationDirectories() as $confDir) {
$bundlesFile = $confDir . '/bundles.php';
if (false === is_file($bundlesFile)) {
continue;
}
$container->addResource(new FileResource($bundlesFile));
}

$container->setParameter('container.dumper.inline_class_loader', true);

foreach ($this->getConfigurationDirectories() as $confDir) {
$this->loadContainerConfiguration($loader, $confDir);
}
}

private function configureRoutes(RoutingConfigurator $routes): void
{
foreach ($this->getConfigurationDirectories() as $confDir) {
$this->loadRoutesConfiguration($routes, $confDir);
}
}

protected function getContainerBaseClass(): string
{
if ($this->isTestEnvironment()) {
return MockerContainer::class;
}

return parent::getContainerBaseClass();
}

private function isTestEnvironment(): bool
{
return 0 === strpos($this->getEnvironment(), 'test');
}

private function loadContainerConfiguration(LoaderInterface $loader, string $confDir): void
{
$loader->load($confDir . '/{packages}/*' . self::CONFIG_EXTS, 'glob');
$loader->load($confDir . '/{packages}/' . $this->environment . '/**/*' . self::CONFIG_EXTS, 'glob');
$loader->load($confDir . '/{services}' . self::CONFIG_EXTS, 'glob');
$loader->load($confDir . '/{services}_' . $this->environment . self::CONFIG_EXTS, 'glob');
}

private function loadRoutesConfiguration(RoutingConfigurator $routes, string $confDir): void
{
$routes->import($confDir . '/{routes}/*' . self::CONFIG_EXTS);
$routes->import($confDir . '/{routes}/' . $this->environment . '/**/*' . self::CONFIG_EXTS);
$routes->import($confDir . '/{routes}' . self::CONFIG_EXTS);
}

/**
* @return BundleInterface[]
*/
private function registerBundlesFromFile(string $bundlesFile): iterable
{
/** @var array $contents */
$contents = require $bundlesFile;
foreach ($contents as $class => $envs) {
if (isset($envs['all']) || isset($envs[$this->environment])) {
yield new $class();
}
}
}

/**
* @return string[]
*/
private function getConfigurationDirectories(): iterable
{
yield $this->getProjectDir() . '/config';
$syliusConfigDir = $this->getProjectDir() . '/config/sylius/' . SyliusKernel::MAJOR_VERSION . '.' . SyliusKernel::MINOR_VERSION;
if (is_dir($syliusConfigDir)) {
yield $syliusConfigDir;
}
$symfonyConfigDir = $this->getProjectDir() . '/config/symfony/' . BaseKernel::MAJOR_VERSION . '.' . BaseKernel::MINOR_VERSION;
if (is_dir($symfonyConfigDir)) {
yield $symfonyConfigDir;
}
}
}
2 changes: 0 additions & 2 deletions tests/Application/config/packages/api_platform.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,6 @@ api_platform:
mapping:
paths:
- '%kernel.project_dir%/config/api_platform'
- '%kernel.project_dir%/src/Entity'
- '%kernel.project_dir%/src/ApiResource'
patch_formats:
json: ['application/merge-patch+json']
swagger:
Expand Down
Empty file.
Empty file.

0 comments on commit ac1e445

Please sign in to comment.