Skip to content

Commit e3c0ad0

Browse files
committed
OP-549: Sylius 2 not-complete upgrade
1 parent 63e47d5 commit e3c0ad0

File tree

80 files changed

+1598
-718
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

80 files changed

+1598
-718
lines changed

src/Form/Type/AbstractTemplateAutocompleteChoiceType.php

Lines changed: 0 additions & 37 deletions
This file was deleted.
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace Sylius\CmsPlugin\Form\Type\Autocomplete;
6+
7+
use Sylius\CmsPlugin\Entity\Collection;
8+
use Symfony\Component\Form\AbstractType;
9+
use Symfony\Component\OptionsResolver\OptionsResolver;
10+
use Symfony\UX\Autocomplete\Form\BaseEntityAutocompleteType;
11+
12+
abstract class AbstractCollectionAutocompleteType extends AbstractType
13+
{
14+
public function configureOptions(OptionsResolver $resolver): void
15+
{
16+
$resolver->setDefaults([
17+
'class' => Collection::class,
18+
'choice_label' => 'name',
19+
'choice_value' => 'code',
20+
]);
21+
}
22+
23+
public function getParent(): string
24+
{
25+
return BaseEntityAutocompleteType::class;
26+
}
27+
}
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace Sylius\CmsPlugin\Form\Type\Autocomplete;
6+
7+
use Sylius\CmsPlugin\Entity\Media;
8+
use Symfony\Component\Form\AbstractType;
9+
use Symfony\Component\OptionsResolver\OptionsResolver;
10+
use Symfony\UX\Autocomplete\Form\BaseEntityAutocompleteType;
11+
12+
abstract class AbstractMediaAutocompleteType extends AbstractType
13+
{
14+
public function configureOptions(OptionsResolver $resolver): void
15+
{
16+
$resolver->setDefaults([
17+
'class' => Media::class,
18+
'choice_label' => 'name',
19+
'choice_value' => 'code',
20+
]);
21+
}
22+
23+
public function getParent(): string
24+
{
25+
return BaseEntityAutocompleteType::class;
26+
}
27+
}
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace Sylius\CmsPlugin\Form\Type\Autocomplete;
6+
7+
use Sylius\CmsPlugin\Entity\Template;
8+
use Symfony\Component\Form\AbstractType;
9+
use Symfony\Component\OptionsResolver\OptionsResolver;
10+
use Symfony\UX\Autocomplete\Form\BaseEntityAutocompleteType;
11+
12+
abstract class AbstractTemplateAutocompleteType extends AbstractType
13+
{
14+
public function configureOptions(OptionsResolver $resolver): void
15+
{
16+
$resolver->setDefaults([
17+
'class' => Template::class,
18+
'choice_label' => 'name',
19+
'choice_value' => 'id',
20+
]);
21+
}
22+
23+
public function getParent(): string
24+
{
25+
return BaseEntityAutocompleteType::class;
26+
}
27+
}
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace Sylius\CmsPlugin\Form\Type\Autocomplete;
6+
7+
use Sylius\CmsPlugin\Repository\CollectionRepositoryInterface;
8+
use Symfony\Component\OptionsResolver\OptionsResolver;
9+
use Symfony\UX\Autocomplete\Form\AsEntityAutocompleteField;
10+
11+
#[AsEntityAutocompleteField(
12+
alias: 'sylius_admin_cms_collection_page',
13+
route: 'sylius_admin_entity_autocomplete',
14+
)]
15+
final class CollectionPageAutocompleteType extends AbstractCollectionAutocompleteType
16+
{
17+
public function configureOptions(OptionsResolver $resolver): void
18+
{
19+
parent::configureOptions($resolver);
20+
21+
$resolver->setDefault('query_builder', function (CollectionRepositoryInterface $er) {
22+
$qb = $er->createQueryBuilder('o');
23+
24+
$qb->andWhere('o.type = :type')
25+
->setParameter('type', 'page')
26+
;
27+
28+
return $qb;
29+
});
30+
}
31+
32+
public function getBlockPrefix(): string
33+
{
34+
return 'sylius_admin_cms_collection_page_autocomplete';
35+
}
36+
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace Sylius\CmsPlugin\Form\Type\Autocomplete;
6+
7+
use Symfony\UX\Autocomplete\Form\AsEntityAutocompleteField;
8+
9+
#[AsEntityAutocompleteField(
10+
alias: 'sylius_admin_cms_media',
11+
route: 'sylius_admin_entity_autocomplete',
12+
)]
13+
final class MediaAutocompleteType extends AbstractMediaAutocompleteType
14+
{
15+
public function getBlockPrefix(): string
16+
{
17+
return 'sylius_admin_cms_media_autocomplete';
18+
}
19+
}
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace Sylius\CmsPlugin\Form\Type\Autocomplete;
6+
7+
use Sylius\CmsPlugin\Repository\MediaRepositoryInterface;
8+
use Symfony\Component\OptionsResolver\OptionsResolver;
9+
use Symfony\UX\Autocomplete\Form\AsEntityAutocompleteField;
10+
11+
#[AsEntityAutocompleteField(
12+
alias: 'sylius_admin_cms_media_image',
13+
route: 'sylius_admin_entity_autocomplete',
14+
)]
15+
final class MediaImageAutocompleteType extends AbstractMediaAutocompleteType
16+
{
17+
public function configureOptions(OptionsResolver $resolver): void
18+
{
19+
parent::configureOptions($resolver);
20+
21+
$resolver->setDefault('query_builder', function (MediaRepositoryInterface $er) {
22+
$qb = $er->createQueryBuilder('o');
23+
24+
$qb->andWhere('o.type = :type')
25+
->setParameter('type', 'image')
26+
;
27+
28+
return $qb;
29+
});
30+
}
31+
32+
public function getBlockPrefix(): string
33+
{
34+
return 'sylius_admin_cms_media_image_autocomplete';
35+
}
36+
}
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace Sylius\CmsPlugin\Form\Type\Autocomplete;
6+
7+
use Sylius\CmsPlugin\Repository\TemplateRepositoryInterface;
8+
use Symfony\Component\OptionsResolver\OptionsResolver;
9+
use Symfony\UX\Autocomplete\Form\AsEntityAutocompleteField;
10+
11+
#[AsEntityAutocompleteField(
12+
alias: 'sylius_admin_cms_template_block',
13+
route: 'sylius_admin_entity_autocomplete',
14+
)]
15+
final class TemplateBlockAutocompleteType extends AbstractTemplateAutocompleteType
16+
{
17+
public function configureOptions(OptionsResolver $resolver): void
18+
{
19+
parent::configureOptions($resolver);
20+
21+
$resolver->setDefault('query_builder', function (TemplateRepositoryInterface $er) {
22+
$qb = $er->createQueryBuilder('o');
23+
24+
$qb->andWhere('o.type = :type')
25+
->setParameter('type', 'block')
26+
;
27+
28+
return $qb;
29+
});
30+
}
31+
32+
public function getBlockPrefix(): string
33+
{
34+
return 'sylius_admin_cms_template_block_autocomplete';
35+
}
36+
}
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace Sylius\CmsPlugin\Form\Type\Autocomplete;
6+
7+
use Sylius\CmsPlugin\Repository\TemplateRepositoryInterface;
8+
use Symfony\Component\OptionsResolver\OptionsResolver;
9+
use Symfony\UX\Autocomplete\Form\AsEntityAutocompleteField;
10+
11+
#[AsEntityAutocompleteField(
12+
alias: 'sylius_admin_cms_template_page',
13+
route: 'sylius_admin_entity_autocomplete',
14+
)]
15+
final class TemplatePageAutocompleteType extends AbstractTemplateAutocompleteType
16+
{
17+
public function configureOptions(OptionsResolver $resolver): void
18+
{
19+
parent::configureOptions($resolver);
20+
21+
$resolver->setDefault('query_builder', function (TemplateRepositoryInterface $er) {
22+
$qb = $er->createQueryBuilder('o');
23+
24+
$qb->andWhere('o.type = :type')
25+
->setParameter('type', 'page')
26+
;
27+
28+
return $qb;
29+
});
30+
}
31+
32+
public function getBlockPrefix(): string
33+
{
34+
return 'sylius_admin_cms_template_page_autocomplete';
35+
}
36+
}

src/Form/Type/BlockType.php

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@
99
use Sylius\Bundle\ResourceBundle\Form\Type\AbstractResourceType;
1010
use Sylius\Bundle\TaxonomyBundle\Form\Type\TaxonAutocompleteChoiceType;
1111
use Sylius\CmsPlugin\Entity\BlockInterface;
12+
use Sylius\CmsPlugin\Form\Type\Autocomplete\AbstractCollectionAutocompleteType;
13+
use Sylius\CmsPlugin\Form\Type\Autocomplete\TemplateBlockAutocompleteType;
1214
use Sylius\CmsPlugin\Provider\ResourceTemplateProviderInterface;
1315
use Sylius\Component\Locale\Model\LocaleInterface;
1416
use Sylius\Component\Resource\Repository\RepositoryInterface;
@@ -55,7 +57,7 @@ public function buildForm(FormBuilderInterface $builder, array $options): void
5557
'choices' => $this->templateProvider->getBlockTemplates(),
5658
'mapped' => false,
5759
])
58-
->add('collections', CollectionAutocompleteChoiceType::class, [
60+
->add('collections', AbstractCollectionAutocompleteType::class, [
5961
'label' => 'sylius_cms.ui.collections',
6062
'multiple' => true,
6163
])
@@ -97,7 +99,7 @@ public function buildForm(FormBuilderInterface $builder, array $options): void
9799
'multiple' => true,
98100
'help' => 'sylius_cms.ui.display_for_taxons.help',
99101
])
100-
->add('contentTemplate', TemplateBlockAutocompleteChoiceType::class, [
102+
->add('contentTemplate', TemplateBlockAutocompleteType::class, [
101103
'label' => false,
102104
'mapped' => false,
103105
])

0 commit comments

Comments
 (0)