/** * @param RZ\Roadiz\Core\Entities\Setting $setting * * @return \Symfony\Component\Form\Form */ private function buildEditForm(Setting $setting) { $defaults = ['id' => $setting->getId(), 'name' => $setting->getName(), 'value' => $setting->getValue(), 'visible' => $setting->isVisible(), 'type' => $setting->getType()]; if ($setting->getType() == NodeTypeField::DOCUMENTS_T) { $defaults['value'] = null; } if (null !== $setting->getSettingGroup()) { $defaults['settingGroup'] = $setting->getSettingGroup()->getId(); } $builder = $this->createFormBuilder($defaults)->add('name', 'text', ['label' => 'name', 'constraints' => [new NotBlank()]])->add('id', 'hidden', ['data' => $setting->getId(), 'required' => true])->add('value', Setting::$typeToForm[$setting->getType()], static::getFormOptionsForSetting($setting, $this->getTranslator()))->add('visible', 'checkbox', ['label' => 'visible', 'required' => false])->add('type', 'choice', ['label' => 'type', 'required' => true, 'choices' => Setting::$typeToHuman])->add('settingGroup', new \RZ\Roadiz\CMS\Forms\SettingGroupType(), ['label' => 'setting.group']); return $builder->getForm(); }