remove ref to %locale% in translatable form

This commit is contained in:
Julien Fastré 2015-02-05 16:31:33 +01:00
parent 722709c432
commit caaab740a9
2 changed files with 6 additions and 4 deletions

View File

@ -8,21 +8,23 @@ namespace Chill\MainBundle\Form\Type;
use Symfony\Component\Form\AbstractType; use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\Translation\Translator;
class TranslatableStringFormType extends AbstractType class TranslatableStringFormType extends AbstractType
{ {
private $availableLanguages; // The langauges availaible private $availableLanguages; // The langauges availaible
private $frameworkTranslatorFallback; // The langagues used for the translation private $frameworkTranslatorFallback; // The langagues used for the translation
public function __construct(array $availableLanguages, $frameworkTranslatorFallback) { public function __construct(array $availableLanguages, Translator $translator) {
$this->availableLanguages = $availableLanguages; $this->availableLanguages = $availableLanguages;
$this->frameworkTranslatorFallback = $frameworkTranslatorFallback; $this->frameworkTranslatorFallback = $translator->getFallbackLocales();
} }
public function buildForm(FormBuilderInterface $builder, array $options) { public function buildForm(FormBuilderInterface $builder, array $options) {
foreach ($this->availableLanguages as $lang) { foreach ($this->availableLanguages as $lang) {
$builder->add($lang, 'text', $builder->add($lang, 'text',
array('required' => ($lang === $this->frameworkTranslatorFallback))); array('required' => (in_array($lang,
$this->frameworkTranslatorFallback))));
} }
} }

View File

@ -34,7 +34,7 @@ services:
arguments: arguments:
- "%chill_main.available_languages%" - "%chill_main.available_languages%"
#- "%framework.translator.fallback%" #- "%framework.translator.fallback%"
- "%locale%" - "@translator.default"
tags: tags:
- { name: form.type, alias: translatable_string } - { name: form.type, alias: translatable_string }