public function buildForm(FormBuilderInterface $builder, array $options) { $id_users = null; if ($builder->getData()->getUser() instanceof User) { $id_users = $builder->getData()->getUser()->getId(); } // if (in_array('ROLE_ADMIN', $this->_roles_user) || in_array('ROLE_SUPER_ADMIN', $this->_roles_user) || in_array('ROLE_CONTENT_MANAGER', $this->_roles_user)) { $read_only = false; } else { $read_only = true; } $builder->add('enabled', 'checkbox', array('data' => true, 'label' => 'pi.form.label.field.enabled'))->add('user', 'entity', array('class' => 'SfynxAuthBundle:User', 'query_builder' => function (EntityRepository $er) use($id_users) { $translatableListener = $this->_container->get('gedmo.listener.translatable'); $translatableListener->setTranslationFallback(true); return $er->createQueryBuilder('a')->select('a')->where("a.id IN (:id)")->andWhere('a.enabled = 1')->setParameter('id', $id_users); }, 'empty_value' => 'pi.form.label.select.choose.user', 'label' => "pi.form.label.field.user", 'multiple' => false, 'required' => false, "attr" => array("class" => "pi_simpleselect ajaxselect", "data-url" => $this->_container->get('sfynx.tool.route.factory')->getRoute("users_selectentity_ajax"), "data-selectid" => $id_users, "data-max" => 50)))->add('rubrique', 'entity', array('class' => 'SfynxCmfBundle:Rubrique', 'query_builder' => function (EntityRepository $er) { return $er->getAllPageRubrique(); }, 'empty_value' => 'Choose an option', 'multiple' => false, 'required' => false, "attr" => array("class" => "pi_simpleselect")))->add('layout', 'entity', array('class' => 'SfynxAuthBundle:Layout', "attr" => array("class" => "pi_simpleselect")))->add('page_css', 'entity', array('class' => 'SfynxCmfBundle:Page', 'query_builder' => function (EntityRepository $er) { return $er->getAllPageCss(); }, 'property' => 'url', 'multiple' => true, 'required' => false, "attr" => array("class" => "pi_multiselect")))->add('page_js', 'entity', array('class' => 'SfynxCmfBundle:Page', 'query_builder' => function (EntityRepository $er) { return $er->getAllPageJs(); }, 'property' => 'url', 'multiple' => true, 'required' => false, "attr" => array("class" => "pi_multiselect")))->add('keywords', 'entity', array('class' => 'SfynxCmfBundle:KeyWord', 'query_builder' => function (EntityRepository $er) { return $er->getAllPageKeyWords(); }, 'multiple' => true, 'required' => false, "attr" => array("class" => "pi_multiselect")))->add('meta_content_type', 'choice', array('choices' => PageRepository::getAvailableContentTypes(), 'required' => true, 'multiple' => false, 'expanded' => true, 'read_only' => true))->add('cacheable', 'checkbox', array('label' => 'pi.page.form.cacheable', 'required' => false, 'help_block' => $this->_container->get('translator')->trans('pi.page.form.field.cacheable')))->add('public', 'checkbox', array('label' => 'pi.page.form.public', 'required' => false, 'help_block' => $this->_container->get('translator')->trans('pi.page.form.field.public')))->add('lifetime', 'number', array('label' => 'pi.page.form.lifetime', 'required' => false, 'help_block' => $this->_container->get('translator')->trans('pi.page.form.field.lifetime')))->add('route_name', 'text', array('label' => 'pi.page.form.route_name'))->add('url', 'text', array('label' => 'pi.page.form.url'))->add('blocks', 'collection', array('allow_add' => true, 'allow_delete' => true, 'prototype' => true, 'by_reference' => true, 'type' => new BlockType(), 'options' => array('attr' => array('class' => 'block_widget')), 'label' => ' ')); }
public function buildForm(FormBuilderInterface $builder, array $options) { $id_users = null; if ($builder->getData()->getUser() instanceof User) { $id_users = $builder->getData()->getUser()->getId(); } // $builder->add('enabled', 'checkbox', array('data' => true, 'label' => 'pi.form.label.field.enabled'))->add('user', 'entity', array('class' => 'SfynxAuthBundle:User', 'query_builder' => function (EntityRepository $er) use($id_users) { $translatableListener = $this->_container->get('gedmo.listener.translatable'); $translatableListener->setTranslationFallback(true); return $er->createQueryBuilder('a')->select('a')->where("a.id IN (:id)")->andWhere('a.enabled = 1')->setParameter('id', $id_users); }, 'empty_value' => 'pi.form.label.select.choose.user', 'label' => "pi.form.label.field.user", 'multiple' => false, 'required' => false, "attr" => array("class" => "pi_simpleselect ajaxselect", "data-url" => $this->_container->get('sfynx.tool.route.factory')->getRoute("users_selectentity_ajax"), "data-selectid" => $id_users, "data-max" => 50)))->add('keywords', 'entity', array('class' => 'SfynxCmfBundle:KeyWord', 'query_builder' => function (EntityRepository $er) { return $er->getAllPageKeyWords(); }, 'multiple' => true, 'required' => false, "attr" => array("class" => "pi_multiselect")))->add('meta_content_type', 'choice', array('choices' => PageRepository::getAvailableCssJsContentTypes(), 'required' => true, 'multiple' => false, 'expanded' => true))->add('cacheable', 'checkbox', array('label' => 'pi.page.form.cacheable', 'required' => false, 'help_block' => $this->_container->get('translator')->trans('pi.page.form.field.cacheable')))->add('public', 'checkbox', array('label' => 'pi.page.form.public', 'required' => false, 'help_block' => $this->_container->get('translator')->trans('pi.page.form.field.public')))->add('lifetime', 'number', array('label' => 'pi.page.form.lifetime', 'required' => false, 'help_block' => $this->_container->get('translator')->trans('pi.page.form.field.lifetime')))->add('url', 'text', array('help_block' => 'css/js file path (ex: bundles/sfynxtemplate/css/screen.css)'))->add('translations', 'collection', array('allow_add' => true, 'allow_delete' => true, 'prototype' => true, 'by_reference' => true, 'type' => new TranslationCssJsPageType(), 'options' => array('attr' => array('class' => 'translation_widget')), 'label' => ' ')); }