From 4515279ccfa5a12e092b1a5a77f3646470a31405 Mon Sep 17 00:00:00 2001 From: kaloqndamqnov Date: Tue, 4 Apr 2017 16:06:16 +0300 Subject: [PATCH 01/11] Update Language.php Admin to AbstractAdmin --- src/Admin/Language.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Admin/Language.php b/src/Admin/Language.php index a13d020..609bdb9 100644 --- a/src/Admin/Language.php +++ b/src/Admin/Language.php @@ -2,13 +2,13 @@ namespace ObjectBG\TranslationBundle\Admin; -use Sonata\AdminBundle\Admin\Admin; +use Sonata\AdminBundle\Admin\AbstractAdmin; use Sonata\AdminBundle\Datagrid\DatagridMapper; use Sonata\AdminBundle\Datagrid\ListMapper; use Sonata\AdminBundle\Form\FormMapper; use Symfony\Component\DependencyInjection\Container; -class Language extends Admin +class Language extends AbstractAdmin { private $Container; From 2d23c22fd688f9688e48d5596b3b46c35b94a6fd Mon Sep 17 00:00:00 2001 From: kaloqndamqnov Date: Tue, 4 Apr 2017 16:06:53 +0300 Subject: [PATCH 02/11] Update TokenTranslation.php Admin to AbstractAdmin --- src/Admin/TokenTranslation.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Admin/TokenTranslation.php b/src/Admin/TokenTranslation.php index 44ae490..2d8026e 100644 --- a/src/Admin/TokenTranslation.php +++ b/src/Admin/TokenTranslation.php @@ -2,10 +2,10 @@ namespace ObjectBG\TranslationBundle\Admin; -use Sonata\AdminBundle\Admin\Admin; +use Sonata\AdminBundle\Admin\AbstractAdmin; use Sonata\AdminBundle\Form\FormMapper; -class TokenTranslation extends Admin +class TokenTranslation extends AbstractAdmin { /** From 4e9483a339db49b7e5cd7094c0806e203e9a9fd9 Mon Sep 17 00:00:00 2001 From: kaloqndamqnov Date: Tue, 4 Apr 2017 16:09:16 +0300 Subject: [PATCH 03/11] Update TranslationToken.php Admin to AbstractAdmin --- src/Admin/TranslationToken.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Admin/TranslationToken.php b/src/Admin/TranslationToken.php index 3789421..f84cab6 100644 --- a/src/Admin/TranslationToken.php +++ b/src/Admin/TranslationToken.php @@ -3,14 +3,14 @@ namespace ObjectBG\TranslationBundle\Admin; use Doctrine\ORM\EntityManager; -use Sonata\AdminBundle\Admin\Admin; +use Sonata\AdminBundle\Admin\AbstractAdmin; use Sonata\AdminBundle\Datagrid\DatagridMapper; use Sonata\AdminBundle\Datagrid\ListMapper; use Sonata\AdminBundle\Form\FormMapper; use Symfony\Component\Form\FormEvent; use Symfony\Component\Form\FormEvents; -class TranslationToken extends Admin +class TranslationToken extends AbstractAdmin { /** From bf1479f0fc30fbaa664782454bf3f7b1bb5b868d Mon Sep 17 00:00:00 2001 From: kaloqndamqnov Date: Tue, 4 Apr 2017 16:13:08 +0300 Subject: [PATCH 04/11] Update TranslatedEntityType.php change method name to configureOptions change to OptionsResolver get request from RequestStack remove getName() --- src/Form/Type/TranslatedEntityType.php | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/src/Form/Type/TranslatedEntityType.php b/src/Form/Type/TranslatedEntityType.php index aad877a..cd74445 100644 --- a/src/Form/Type/TranslatedEntityType.php +++ b/src/Form/Type/TranslatedEntityType.php @@ -3,9 +3,10 @@ namespace ObjectBG\TranslationBundle\Form\Type; use Symfony\Component\Form\AbstractType; -use Symfony\Component\HttpFoundation\Request; +use Symfony\Component\HttpFoundation\RequestStack; use Symfony\Component\OptionsResolver\Options; -use Symfony\Component\OptionsResolver\OptionsResolverInterface; +use Symfony\Component\OptionsResolver\OptionsResolver; +use Symfony\Bridge\Doctrine\Form\Type\EntityType; /** * Translated entity @@ -17,16 +18,16 @@ class TranslatedEntityType extends AbstractType private $request; - public function setRequest(Request $request = null) + public function setRequest(RequestStack $request = null) { - $this->request = $request; + $this->request = $request->getCurrentRequest(); } /** * - * @param \Symfony\Component\OptionsResolver\OptionsResolverInterface $resolver + * @param \Symfony\Component\OptionsResolver\OptionsResolver $resolver */ - public function setDefaultOptions(OptionsResolverInterface $resolver) + public function configureOptions(OptionsResolver $resolver) { $resolver->setDefaults( array( @@ -46,11 +47,7 @@ public function setDefaultOptions(OptionsResolverInterface $resolver) public function getParent() { - return 'entity'; + return EntityType::class; } - public function getName() - { - return 'object_bg_translated_entity'; - } } From 1d5e12c284e3b33360d5230eafec97330b338543 Mon Sep 17 00:00:00 2001 From: kaloqndamqnov Date: Tue, 4 Apr 2017 16:14:34 +0300 Subject: [PATCH 05/11] Update TranslationsFieldsType.php change method name to configureOptions change to OptionsResolver --- src/Form/Type/TranslationsFieldsType.php | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/src/Form/Type/TranslationsFieldsType.php b/src/Form/Type/TranslationsFieldsType.php index b79d1bc..b8c2880 100644 --- a/src/Form/Type/TranslationsFieldsType.php +++ b/src/Form/Type/TranslationsFieldsType.php @@ -4,7 +4,7 @@ use Symfony\Component\Form\AbstractType; use Symfony\Component\Form\FormBuilderInterface; -use Symfony\Component\OptionsResolver\OptionsResolverInterface; +use Symfony\Component\OptionsResolver\OptionsResolver; class TranslationsFieldsType extends AbstractType { @@ -26,9 +26,9 @@ public function buildForm(FormBuilderInterface $builder, array $options) /** * - * @param \Symfony\Component\OptionsResolver\OptionsResolverInterface $resolver + * @param \Symfony\Component\OptionsResolver\OptionsResolver $resolver */ - public function setDefaultOptions(OptionsResolverInterface $resolver) + public function configureOptions(OptionsResolver $resolver) { $resolver->setDefaults( array( @@ -37,8 +37,5 @@ public function setDefaultOptions(OptionsResolverInterface $resolver) ); } - public function getName() - { - return 'object_bg_translation_fields'; - } + } From fdfa0bc6f4ee562c767217bf2028416852752cfc Mon Sep 17 00:00:00 2001 From: kaloqndamqnov Date: Tue, 4 Apr 2017 16:15:55 +0300 Subject: [PATCH 06/11] Update TranslationsFormsType.php change method name to configureOptions change to OptionsResolver remove getName() --- src/Form/Type/TranslationsFormsType.php | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/src/Form/Type/TranslationsFormsType.php b/src/Form/Type/TranslationsFormsType.php index 4a0cda5..10dbe40 100644 --- a/src/Form/Type/TranslationsFormsType.php +++ b/src/Form/Type/TranslationsFormsType.php @@ -8,7 +8,7 @@ use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\Form\FormInterface; use Symfony\Component\Form\FormView; -use Symfony\Component\OptionsResolver\OptionsResolverInterface; +use Symfony\Component\OptionsResolver\OptionsResolver; /** * @@ -80,9 +80,9 @@ public function buildView(FormView $view, FormInterface $form, array $options) /** * - * @param \Symfony\Component\OptionsResolver\OptionsResolverInterface $resolver + * @param \Symfony\Component\OptionsResolver\OptionsResolver $resolver */ - public function setDefaultOptions(OptionsResolverInterface $resolver) + public function configureOptions(OptionsResolver $resolver) { $resolver->setDefaults( array( @@ -95,8 +95,4 @@ public function setDefaultOptions(OptionsResolverInterface $resolver) ); } - public function getName() - { - return 'object_bg_translations_forms'; - } } From 3d505bab27a816e4b526ef7ce4945421197cfa3e Mon Sep 17 00:00:00 2001 From: kaloqndamqnov Date: Tue, 4 Apr 2017 16:17:36 +0300 Subject: [PATCH 07/11] Update TranslationsLocalesSelectorType.php change method name to configureOptions change to OptionsResolver remove getName() --- src/Form/Type/TranslationsLocalesSelectorType.php | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/src/Form/Type/TranslationsLocalesSelectorType.php b/src/Form/Type/TranslationsLocalesSelectorType.php index b91a2ff..3f1120c 100644 --- a/src/Form/Type/TranslationsLocalesSelectorType.php +++ b/src/Form/Type/TranslationsLocalesSelectorType.php @@ -3,7 +3,7 @@ namespace ObjectBG\TranslationBundle\Form\Type; use Symfony\Component\Form\AbstractType; -use Symfony\Component\OptionsResolver\OptionsResolverInterface; +use Symfony\Component\OptionsResolver\OptionsResolver; class TranslationsLocalesSelectorType extends AbstractType { @@ -26,9 +26,9 @@ public function __construct() /** * - * @param \Symfony\Component\OptionsResolver\OptionsResolverInterface $resolver + * @param \Symfony\Component\OptionsResolver\OptionsResolver $resolver */ - public function setDefaultOptions(OptionsResolverInterface $resolver) + public function configureOptions(OptionsResolver $resolver) { $resolver->setDefaults( array( @@ -44,11 +44,7 @@ public function setDefaultOptions(OptionsResolverInterface $resolver) public function getParent() { - return 'choice'; + return \Symfony\Component\Form\Extension\Core\Type\ChoiceType::class; } - public function getName() - { - return 'object_bg_locales_selector'; - } } From 881b0d6b581da46663660540f3b708a2cb3e7e8c Mon Sep 17 00:00:00 2001 From: kaloqndamqnov Date: Tue, 4 Apr 2017 16:19:01 +0300 Subject: [PATCH 08/11] Update TranslationsType.php change method name to configureOptions change to OptionsResolver remove getName() --- src/Form/Type/TranslationsType.php | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/src/Form/Type/TranslationsType.php b/src/Form/Type/TranslationsType.php index 7d9bc03..59ce85e 100644 --- a/src/Form/Type/TranslationsType.php +++ b/src/Form/Type/TranslationsType.php @@ -8,7 +8,7 @@ use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\Form\FormInterface; use Symfony\Component\Form\FormView; -use Symfony\Component\OptionsResolver\OptionsResolverInterface; +use Symfony\Component\OptionsResolver\OptionsResolver; class TranslationsType extends AbstractType { @@ -53,9 +53,9 @@ public function buildView(FormView $view, FormInterface $form, array $options) /** * - * @param \Symfony\Component\OptionsResolver\OptionsResolverInterface $resolver + * @param \Symfony\Component\OptionsResolver\OptionsResolver $resolver */ - public function setDefaultOptions(OptionsResolverInterface $resolver) + public function configureOptions(OptionsResolver $resolver) { $resolver->setDefaults( array( @@ -71,8 +71,4 @@ public function setDefaultOptions(OptionsResolverInterface $resolver) ); } - public function getName() - { - return 'object_bg_translations'; - } } From 78ac3882629cea75f1aff8f54d4c9300eabd77fe Mon Sep 17 00:00:00 2001 From: "k.damyanov" Date: Fri, 7 Apr 2017 15:56:44 +0300 Subject: [PATCH 09/11] add support for symfony 3 and drop support for <=2.4 --- composer.json | 3 ++- .../EventListener/TranslationsListener.php | 3 ++- src/Form/Type/TranslatedEntityType.php | 9 ++++---- src/Resources/config/services.xml | 2 +- src/TranslationService.php | 22 +++++++++---------- 5 files changed, 21 insertions(+), 18 deletions(-) diff --git a/composer.json b/composer.json index 56e349f..16b6651 100644 --- a/composer.json +++ b/composer.json @@ -11,7 +11,8 @@ ], "require": { "sonata-project/admin-bundle": "~2.2 || ~3.0", - "sonata-project/doctrine-orm-admin-bundle": "~2.2 || ~3.0" + "sonata-project/doctrine-orm-admin-bundle": "~2.2 || ~3.0", + "symfony/framework-bundle": "~2.4|~3.0" }, "autoload": { "psr-4": { diff --git a/src/Form/EventListener/TranslationsListener.php b/src/Form/EventListener/TranslationsListener.php index 30d936b..104306f 100644 --- a/src/Form/EventListener/TranslationsListener.php +++ b/src/Form/EventListener/TranslationsListener.php @@ -2,6 +2,7 @@ namespace ObjectBG\TranslationBundle\Form\EventListener; +use ObjectBG\TranslationBundle\Form\Type\TranslationsFieldsType; use ObjectBG\TranslationBundle\TranslationService; use Symfony\Component\EventDispatcher\EventSubscriberInterface; use Symfony\Component\Form\FormEvent; @@ -65,7 +66,7 @@ public function preSetData(FormEvent $event) if (isset($fieldsOptions[$locale])) { $form->add( $locale, - 'object_bg_translation_fields', + TranslationsFieldsType::class, array( 'label' => $name, 'data_class' => $translationClass, diff --git a/src/Form/Type/TranslatedEntityType.php b/src/Form/Type/TranslatedEntityType.php index cd74445..c54b20d 100644 --- a/src/Form/Type/TranslatedEntityType.php +++ b/src/Form/Type/TranslatedEntityType.php @@ -15,7 +15,9 @@ */ class TranslatedEntityType extends AbstractType { - + /** + * @var $request RequestStack + */ private $request; public function setRequest(RequestStack $request = null) @@ -38,8 +40,7 @@ public function configureOptions(OptionsResolver $resolver) throw new \Exception('Error while getting request'); } - return $options['translation_path'].'['.$this->request->getLocale( - ).'].'.$options['translation_property']; + return $options['translation_path'] . '[' . $this->request->getLocale() . '].' . $options['translation_property']; }, ) ); @@ -47,7 +48,7 @@ public function configureOptions(OptionsResolver $resolver) public function getParent() { - return EntityType::class; + return EntityType::class; } } diff --git a/src/Resources/config/services.xml b/src/Resources/config/services.xml index b09969d..fb475f4 100644 --- a/src/Resources/config/services.xml +++ b/src/Resources/config/services.xml @@ -59,7 +59,7 @@ - + diff --git a/src/TranslationService.php b/src/TranslationService.php index 94478c4..ab24102 100644 --- a/src/TranslationService.php +++ b/src/TranslationService.php @@ -60,19 +60,19 @@ class TranslationService /** * - * @param \Symfony\Component\DependencyInjection\Container $Container + * @param \Symfony\Component\DependencyInjection\Container $container * @param \Symfony\Component\Form\FormRegistry $formRegistry * @param \Doctrine\Common\Persistence\ManagerRegistry $managerRegistry * @param \Doctrine\Common\Annotations\Reader $Reader */ - public function __construct(Container $Container) + public function __construct(Container $container) { - $this->container = $Container; - $this->typeGuesser = $Container->get('form.registry')->getTypeGuesser(); - $this->managerRegistry = $Container->get('doctrine'); - $this->annotationReader = $Container->get('annotation_reader'); - $this->translator = $Container->get('translator.default'); - $this->request = $Container->get('request'); + $this->container = $container; + $this->typeGuesser = $container->get('form.registry')->getTypeGuesser(); + $this->managerRegistry = $container->get('doctrine'); + $this->annotationReader = $container->get('annotation_reader'); + $this->translator = $container->get('translator.default'); + $this->request = $container->get('request_stack')->getCurrentRequest(); $this->propertyAccess = PropertyAccess::createPropertyAccessor(); } @@ -353,9 +353,9 @@ public function guessMissingFieldOptions($guesser, $class, $property, $options) $options['pattern'] = $patternGuess->getValue(); } - if (!isset($options['max_length']) && ($maxLengthGuess = $guesser->guessMaxLength($class, $property))) { - $options['max_length'] = $maxLengthGuess->getValue(); - } +// if (!isset($options['max_length']) && ($maxLengthGuess = $guesser->guessMaxLength($class, $property))) { +// $options['max_length'] = $maxLengthGuess->getValue(); +// } return $options; } From 91da5586521b7d918de083dfabe807edc0f5d5a6 Mon Sep 17 00:00:00 2001 From: "k.damyanov" Date: Fri, 7 Apr 2017 16:34:17 +0300 Subject: [PATCH 10/11] change to request --- src/Form/Type/TranslatedEntityType.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Form/Type/TranslatedEntityType.php b/src/Form/Type/TranslatedEntityType.php index c54b20d..3dc27f5 100644 --- a/src/Form/Type/TranslatedEntityType.php +++ b/src/Form/Type/TranslatedEntityType.php @@ -16,7 +16,7 @@ class TranslatedEntityType extends AbstractType { /** - * @var $request RequestStack + * @var Request */ private $request; From a49663d82bee06f003c915f487c788301bc410c0 Mon Sep 17 00:00:00 2001 From: "k.damyanov" Date: Fri, 7 Apr 2017 16:36:24 +0300 Subject: [PATCH 11/11] deprecated --- src/TranslationService.php | 8 -------- 1 file changed, 8 deletions(-) diff --git a/src/TranslationService.php b/src/TranslationService.php index ab24102..b549c2d 100644 --- a/src/TranslationService.php +++ b/src/TranslationService.php @@ -349,14 +349,6 @@ public function guessMissingFieldOptions($guesser, $class, $property, $options) $options['field_type'] = $typeGuess->getType(); } - if (!isset($options['pattern']) && ($patternGuess = $guesser->guessPattern($class, $property))) { - $options['pattern'] = $patternGuess->getValue(); - } - -// if (!isset($options['max_length']) && ($maxLengthGuess = $guesser->guessMaxLength($class, $property))) { -// $options['max_length'] = $maxLengthGuess->getValue(); -// } - return $options; } }