Exemplo n.º 1
0
 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' => ' '));
 }
Exemplo n.º 2
0
 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' => ' '));
 }