Skip to content

Commit 8dc0fbc

Browse files
committed
Moving the configs to php
1 parent d3c32cc commit 8dc0fbc

28 files changed

+590
-563
lines changed

Admin/DynamicListAdmin.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@ class DynamicListAdmin extends Admin
2323
* @param mixed[] $config
2424
*/
2525
public function __construct(
26-
private ViewBuilderFactoryInterface $viewBuilderFactory,
27-
private array $config,
26+
private ViewBuilderFactoryInterface $viewBuilderFactory,
27+
private array $config,
2828
) {
2929
}
3030

Admin/FormAdmin.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,9 @@ class FormAdmin extends Admin
3838
public const EDIT_FORM_DETAILS_VIEW = 'sulu_form.edit_form.details';
3939

4040
public function __construct(
41-
private SecurityCheckerInterface $securityChecker,
42-
private ViewBuilderFactoryInterface $viewBuilderFactory,
43-
private WebspaceManagerInterface $webspaceManager
41+
private SecurityCheckerInterface $securityChecker,
42+
private ViewBuilderFactoryInterface $viewBuilderFactory,
43+
private WebspaceManagerInterface $webspaceManager
4444
) {
4545
}
4646

Admin/ListBuilder/DynamicListFactory.php

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,6 @@
1111

1212
namespace Sulu\Bundle\FormBundle\Admin\ListBuilder;
1313

14-
use Sulu\Bundle\FormBundle\Admin\ListBuilder\DynamicListBuilderInterface;
15-
use Sulu\Bundle\FormBundle\Admin\ListBuilder\DynamicListFactoryInterface;
1614
use Sulu\Bundle\FormBundle\Entity\Dynamic;
1715
use Sulu\Bundle\FormBundle\Entity\Form;
1816
use Sulu\Bundle\FormBundle\Exception\BuilderNotFoundException;
@@ -101,7 +99,7 @@ protected function getBuilder(?string $alias = null): DynamicListBuilderInterfac
10199
}
102100

103101
if (!\array_key_exists($alias, $this->builders)) {
104-
throw new BuilderNotFoundException($alias, array_keys($this->builders));
102+
throw new BuilderNotFoundException($alias, \array_keys($this->builders));
105103
}
106104

107105
return $this->builders[$alias];

Content/PropertyResolver/SingleFormSelectionPropertyResolver.php

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,16 +19,18 @@
1919

2020
final class SingleFormSelectionPropertyResolver implements PropertyResolverInterface
2121
{
22-
public function __construct(private FormRepository $formRepository) {}
22+
public function __construct(private FormRepository $formRepository)
23+
{
24+
}
2325

2426
public function resolve(mixed $data, string $locale, array $params = []): ContentView
2527
{
2628
if (!\is_numeric($data)) {
2729
return ContentView::create(null, ['id' => null, ...$params]);
2830
}
2931

30-
if (!array_key_exists('resourceKey', $params)) {
31-
throw new \InvalidArgumentException('Missing resource key configuration on the '.self::getType().'');
32+
if (!\array_key_exists('resourceKey', $params)) {
33+
throw new \InvalidArgumentException('Missing resource key configuration on the ' . self::getType() . '');
3234
}
3335

3436
/** @var string $resourceLoaderKey */
@@ -40,7 +42,7 @@ public function resolve(mixed $data, string $locale, array $params = []): Conten
4042
Form::RESOURCE_KEY,
4143
[
4244
'id' => $data,
43-
'entity' => $this->formRepository->find((int)$data)?->serializeForLocale($locale),
45+
'entity' => $this->formRepository->find((int) $data)?->serializeForLocale($locale),
4446
...$params,
4547
],
4648
metadata: $params

Event/FormDataRequestListener.php

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,10 +34,10 @@ class FormDataRequestListener implements ResetInterface
3434
protected $invalidSubmittedForm = false;
3535

3636
public function __construct(
37-
protected BuilderInterface $formBuilder,
38-
protected HandlerInterface $formHandler,
39-
protected FormConfigurationFactory $formConfigurationFactory,
40-
protected EventDispatcherInterface $eventDispatcher
37+
protected BuilderInterface $formBuilder,
38+
protected HandlerInterface $formHandler,
39+
protected FormConfigurationFactory $formConfigurationFactory,
40+
protected EventDispatcherInterface $eventDispatcher
4141
) {
4242
}
4343

Exception/BuilderNotFoundException.php

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,15 +14,15 @@
1414
class BuilderNotFoundException extends \Exception
1515
{
1616
/**
17-
* @param array<string> $availableBuilders
18-
*/
17+
* @param array<string> $availableBuilders
18+
*/
1919
public function __construct(
2020
private string $builder,
2121
?array $availableBuilders = null,
2222
) {
2323
$availableBuildersInfo = '';
24-
if($availableBuilders !== null) {
25-
$availableBuildersInfo =' Known builders: '.join($availableBuilders);
24+
if (null !== $availableBuilders) {
25+
$availableBuildersInfo = ' Known builders: ' . \join($availableBuilders);
2626
}
2727

2828
parent::__construct(\sprintf('Builder with the name "%s" not found.%s', $builder, $availableBuildersInfo));

Resources/config/services.php

Lines changed: 193 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,193 @@
1+
<?php
2+
3+
/*
4+
* This file is part of Sulu.
5+
*
6+
* (c) Sulu GmbH
7+
*
8+
* This source file is subject to the MIT license that is bundled
9+
* with this source code in the file LICENSE.
10+
*/
11+
12+
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
13+
14+
use function Symfony\Component\DependencyInjection\Loader\Configurator\service;
15+
use function Symfony\Component\DependencyInjection\Loader\Configurator\tagged_iterator;
16+
use function Symfony\Component\DependencyInjection\Loader\Configurator\tagged_locator;
17+
18+
return static function(ContainerConfigurator $container) {
19+
$services = $container->services();
20+
21+
$container->import('services/*');
22+
23+
// Define here your own services:
24+
$services->set('sulu_form.handler', Sulu\Bundle\FormBundle\Form\Handler::class)
25+
->args([
26+
service('doctrine.orm.entity_manager'),
27+
service('sulu.mail.helper'),
28+
service('twig'),
29+
service('event_dispatcher'),
30+
service('sulu_media.media_manager'),
31+
'%sulu_form.honeypot_strategy%',
32+
'%sulu_form.honeypot_field%',
33+
]);
34+
35+
$services->alias(Sulu\Bundle\FormBundle\Form\HandlerInterface::class, 'sulu_form.handler');
36+
37+
$services->set('sulu_form.admin', Sulu\Bundle\FormBundle\Admin\FormAdmin::class)
38+
->args([
39+
service('sulu_security.security_checker'),
40+
service('sulu_admin.view_builder_factory'),
41+
service('sulu_core.webspace.webspace_manager'),
42+
])
43+
->tag('sulu.admin')
44+
->tag('sulu.context', ['context' => 'admin']);
45+
46+
$services->set('sulu_form.dynamic_list_admin', Sulu\Bundle\FormBundle\Admin\DynamicListAdmin::class)
47+
->args([
48+
service('sulu_admin.view_builder_factory'),
49+
'%sulu_form.dynamic_lists.config%',
50+
])
51+
->tag('sulu.admin', ['priority' => -1024])
52+
->tag('sulu.context', ['context' => 'admin']);
53+
54+
$services->set('sulu.list.provider.registry', Sulu\Bundle\FormBundle\Provider\ListProviderRegistry::class)
55+
->args([tagged_locator('sulu_form.list_provider', indexAttribute: 'template')]);
56+
57+
$services->set('sulu_form.manager.form', Sulu\Bundle\FormBundle\Manager\FormManager::class)
58+
->public()
59+
->args([
60+
service('doctrine.orm.entity_manager'),
61+
service('sulu_form.repository.form'),
62+
service('sulu_activity.domain_event_collector'),
63+
service('sulu_trash.trash_manager')->nullOnInvalid(),
64+
]);
65+
66+
$services->set('sulu_form.content_type.single_form_property_resolver', Sulu\Bundle\FormBundle\Content\PropertyResolver\SingleFormSelectionPropertyResolver::class)
67+
->args([
68+
service(Sulu\Bundle\FormBundle\Repository\FormRepository::class)])
69+
->tag('sulu_content.property_resolver');
70+
71+
$services->set('sulu_form.content_type.form_resource_loader', Sulu\Bundle\FormBundle\Content\ResourceLoader\FormSelectionResourceLoader::class)
72+
->autowire()
73+
->tag('sulu_content.resource_loader', ['type' => 'sulu_form']);
74+
75+
$services->set('sulu_form.configuration.form_configuration_factory', Sulu\Bundle\FormBundle\Configuration\FormConfigurationFactory::class)
76+
->args([
77+
service('sulu_form.media_collection_strategy.default'),
78+
'%sulu_form.mail.template.notify%',
79+
'%sulu_form.mail.template.customer%',
80+
'%sulu_form.mail.template.notify_plain_text%',
81+
'%sulu_form.mail.template.customer_plain_text%',
82+
]);
83+
84+
$services->alias(Sulu\Bundle\FormBundle\Configuration\FormConfigurationFactory::class, 'sulu_form.configuration.form_configuration_factory');
85+
86+
$services->set('sulu_form.builder', Sulu\Bundle\FormBundle\Form\Builder::class)
87+
->args([
88+
service('request_stack'),
89+
service('sulu_form.dynamic.form_field_type_pool'),
90+
service('sulu_form.title_provider.pool'),
91+
service('sulu_form.repository.form'),
92+
service('form.factory'),
93+
service('sulu_form.checksum'),
94+
service('security.csrf.token_manager'),
95+
'%sulu_form.csrf_protection%',
96+
]);
97+
98+
$services->alias(Sulu\Bundle\FormBundle\Form\BuilderInterface::class, 'sulu_form.builder');
99+
100+
$services->set('sulu_form.form_type', Sulu\Bundle\FormBundle\Form\Type\DynamicFormType::class)
101+
->args([
102+
service('sulu_form.dynamic.form_field_type_pool'),
103+
service('sulu_form.checksum'),
104+
'%sulu_form.honeypot_field%',
105+
])
106+
->tag('form.type');
107+
108+
$services->set('sulu_form.request_listener', Sulu\Bundle\FormBundle\Event\FormDataRequestListener::class)
109+
->args([
110+
service('sulu_form.builder'),
111+
service('sulu_form.handler'),
112+
service('sulu_form.configuration.form_configuration_factory'),
113+
service('event_dispatcher'),
114+
])
115+
->tag('kernel.event_listener', ['event' => 'kernel.request', 'method' => 'onKernelRequest'])
116+
->tag('kernel.event_listener', ['event' => 'kernel.response', 'method' => 'onKernelResponse'])
117+
->tag('kernel.reset', ['method' => 'reset']);
118+
119+
$services->set('sulu_form.list_builder.dynamic_list_factory', Sulu\Bundle\FormBundle\Admin\ListBuilder\DynamicListFactory::class)
120+
->args([
121+
'%sulu_form.dynamic_list_builder.default%',
122+
tagged_iterator('sulu_form.dynamic_list_builder', indexAttribute: 'alias'),
123+
]);
124+
125+
$services->alias(Sulu\Bundle\FormBundle\Admin\ListBuilder\DynamicListFactoryInterface::class, 'sulu_form.list_builder.dynamic_list_factory');
126+
127+
$services->set('sulu_form.list_builder.dynamic_list_builder', Sulu\Bundle\FormBundle\Admin\ListBuilder\DynamicListBuilder::class)
128+
->args([
129+
'%sulu_form.dynamic_list_builder.delimiter%',
130+
service('router'),
131+
])
132+
->tag('sulu_form.dynamic_list_builder', ['alias' => 'simple']);
133+
134+
$services->alias(Sulu\Bundle\FormBundle\Admin\ListBuilder\DynamicListBuilderInterface::class, 'sulu_form.list_builder.dynamic_list_builder');
135+
136+
$services->set('sulu_form.repository.form', Sulu\Bundle\FormBundle\Repository\FormRepository::class)
137+
->args([Sulu\Bundle\FormBundle\Entity\Form::class])
138+
->factory([service('doctrine.orm.entity_manager'), 'getRepository']);
139+
140+
$services->alias(Sulu\Bundle\FormBundle\Repository\FormRepository::class, 'sulu_form.repository.form');
141+
142+
$services->set('sulu_form.repository.dynamic', Sulu\Bundle\FormBundle\Repository\DynamicRepository::class)
143+
->args([Sulu\Bundle\FormBundle\Entity\Dynamic::class])
144+
->factory([service('doctrine.orm.entity_manager'), 'getRepository']);
145+
146+
$services->set('sulu_form.media_collection_strategy.tree', Sulu\Bundle\FormBundle\Media\CollectionStrategyTree::class)
147+
->args([
148+
service('sulu_media.collection_manager'),
149+
service('sulu_media.system_collections.manager'),
150+
service('sulu_form.title_provider.pool'),
151+
]);
152+
153+
$services->set('sulu_form.media_collection_strategy.single', Sulu\Bundle\FormBundle\Media\CollectionStrategySingle::class)
154+
->args([service('sulu_media.system_collections.manager')]);
155+
156+
$services->set('sulu_form.dynamic.form_field_type_pool', Sulu\Bundle\FormBundle\Dynamic\FormFieldTypePool::class)
157+
->args([tagged_iterator('sulu_form.dynamic.type', indexAttribute: 'alias')]);
158+
159+
$services->set('sulu_form.twig_extension', Sulu\Bundle\FormBundle\Twig\FormTwigExtension::class)
160+
->args([service('sulu_form.builder')])
161+
->tag('twig.extension');
162+
163+
$services->set('sulu_form.checksum', Sulu\Bundle\FormBundle\Dynamic\Checksum::class)
164+
->args(['%kernel.secret%']);
165+
166+
$services->set('sulu_form.metadata.properties_xml_loader', Sulu\Bundle\FormBundle\Metadata\PropertiesXmlLoader::class)
167+
->args([service('sulu_admin.properties_xml_parser')]);
168+
169+
$services->set('sulu_form.form_token_controller', Sulu\Bundle\FormBundle\Controller\FormTokenController::class)
170+
->public()
171+
->args([service('security.csrf.token_manager')])
172+
->tag('sulu.context', ['context' => 'website']);
173+
174+
$services->set('sulu_form.metadata.dynamic_list_metadata_loader', Sulu\Bundle\FormBundle\Metadata\DynamicListMetadataLoader::class)
175+
->args([
176+
service('translator'),
177+
service('sulu_form.manager.form'),
178+
service('sulu_form.list_builder.dynamic_list_factory'),
179+
])
180+
->tag('sulu_admin.list_metadata_loader');
181+
182+
$services->set('sulu_form.cache_invalidation_listener', Sulu\Bundle\FormBundle\Event\CacheInvalidationListener::class)
183+
->args([service('sulu_http_cache.cache_manager')->nullOnInvalid()])
184+
->tag('doctrine.event_listener', ['event' => 'postUpdate'])
185+
->tag('doctrine.event_listener', ['event' => 'preRemove']);
186+
187+
$services->set('sulu_form.form_generator_command', Sulu\Bundle\FormBundle\Command\FormGeneratorCommand::class)
188+
->args([
189+
service('doctrine.orm.entity_manager'),
190+
service('sulu_core.webspace.webspace_manager'),
191+
])
192+
->tag('console.command');
193+
};

0 commit comments

Comments
 (0)