remove %locale% from cf choice

refs #332
This commit is contained in:
2015-02-05 17:40:32 +01:00
parent 9a7b2e68b9
commit a2b3ff6d63
4 changed files with 19 additions and 14 deletions

View File

@@ -9,11 +9,11 @@ use Symfony\Component\Form\FormEvents;
class ChoicesListType extends AbstractType
{
private $defaultLocale;
private $defaultLocales;
public function __construct($defaultLocale)
public function __construct($defaultLocales)
{
$this->defaultLocale = $defaultLocale;
$this->defaultLocales = $defaultLocales;
}
/* (non-PHPdoc)
@@ -21,7 +21,7 @@ class ChoicesListType extends AbstractType
*/
public function buildForm(FormBuilderInterface $builder, array $options)
{
$locale = $this->defaultLocale;
$locales = $this->defaultLocales;
$builder->add('name', 'translatable_string')
->add('active', 'checkbox', array(
@@ -31,14 +31,14 @@ class ChoicesListType extends AbstractType
->add('slug', 'hidden', array(
))
->addEventListener(FormEvents::SUBMIT, function(FormEvent $event) use ($locale){
->addEventListener(FormEvents::SUBMIT, function(FormEvent $event) use ($locales){
$form = $event->getForm();
$data = $event->getData();
$formData = $form->getData();
if (NULL === $formData['slug']) {
$slug = $form['name'][$locale]->getData();
$slug = $form['name'][$locales[0]]->getData();
$slug= strtolower($slug);
$slug= preg_replace('/[^a-zA-Z0-9 -]/','', $slug); // only take alphanumerical characters, but keep the spaces and dashes too...
$slug= str_replace(' ','-', $slug); // replace spaces by dashes