diff --git a/Form/Type/TranslatableActivityReason.php b/Form/Type/TranslatableActivityReason.php index 776dd0ee2..8ce5d42d3 100644 --- a/Form/Type/TranslatableActivityReason.php +++ b/Form/Type/TranslatableActivityReason.php @@ -25,6 +25,7 @@ namespace Chill\ActivityBundle\Form\Type; use Symfony\Component\Form\AbstractType; use Symfony\Component\OptionsResolver\OptionsResolver; use Symfony\Component\HttpFoundation\RequestStack; +use Chill\MainBundle\Templating\TranslatableStringHelper; /** * Description of TranslatableActivityReason @@ -33,14 +34,12 @@ use Symfony\Component\HttpFoundation\RequestStack; */ class TranslatableActivityReason extends AbstractType { - /** - * @var RequestStack - */ - private $requestStack; - public function __construct(RequestStack $requestStack) + private $translatableStringHelper; + + public function __construct(TranslatableStringHelper $translatableStringHelper) { - $this->requestStack = $requestStack; + $this->translatableStringHelper = $translatableStringHelper; } public function getName() @@ -55,11 +54,16 @@ class TranslatableActivityReason extends AbstractType public function configureOptions(OptionsResolver $resolver) { - $locale = $this->requestStack->getCurrentRequest()->getLocale(); + $helper = $this->translatableStringHelper; $resolver->setDefaults( array( 'class' => 'ChillActivityBundle:ActivityReason', - 'property' => 'name['.$locale.']' + 'choice_label' => function($choice, $key) use ($helper) { + return $helper->localize($choice->getName()); + }, + 'group_by' => function($choice, $key) use ($helper) { + return $helper->localize($choice->getCategory()->getName()); + } ) ); } diff --git a/Resources/config/services.yml b/Resources/config/services.yml index c5532dc9b..64e72f8f5 100644 --- a/Resources/config/services.yml +++ b/Resources/config/services.yml @@ -9,7 +9,7 @@ services: chill.activity.form.type.translatableactivityreason: class: Chill\ActivityBundle\Form\Type\TranslatableActivityReason arguments: - - "@request_stack" + - "@chill.main.helper.translatable_string" tags: - { name: form.type, alias: translatable_activity_reason }