mirror of
				https://gitlab.com/Chill-Projet/chill-bundles.git
				synced 2025-10-31 17:28:23 +00:00 
			
		
		
		
	Adding type to the creation event form
This commit is contained in:
		| @@ -29,6 +29,7 @@ class ChillEventExtension extends Extension implements PrependExtensionInterface | ||||
|         $loader->load('repositories.yml'); | ||||
|         $loader->load('search.yml'); | ||||
|         $loader->load('authorization.yml'); | ||||
|         $loader->load('forms.yml'); | ||||
|     } | ||||
|      | ||||
|      /* (non-PHPdoc) | ||||
|   | ||||
| @@ -5,6 +5,7 @@ namespace Chill\EventBundle\Form; | ||||
| use Symfony\Component\Form\AbstractType; | ||||
| use Symfony\Component\Form\FormBuilderInterface; | ||||
| use Symfony\Component\OptionsResolver\OptionsResolverInterface; | ||||
| use Chill\EventBundle\Form\Type\TranslatableEventType; | ||||
|  | ||||
| class EventType extends AbstractType | ||||
| { | ||||
| @@ -26,7 +27,7 @@ class EventType extends AbstractType | ||||
|                 ) | ||||
|             ) | ||||
|             ->add('center') | ||||
|             //->add('type') | ||||
|             ->add('type', TranslatableEventType::class) | ||||
|             //->add('circle') | ||||
|         ; | ||||
|     } | ||||
|   | ||||
							
								
								
									
										70
									
								
								Form/Type/TranslatableEventType.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										70
									
								
								Form/Type/TranslatableEventType.php
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,70 @@ | ||||
| <?php | ||||
|  | ||||
| /* | ||||
|  * Chill is a software for social workers | ||||
|  *  | ||||
|  * Copyright (C) 2016, Champs Libres Cooperative SCRLFS,  | ||||
|  * <http://www.champs-libres.coop>, <info@champs-libres.coop> | ||||
|  *  | ||||
|  * This program is free software: you can redistribute it and/or modify | ||||
|  * it under the terms of the GNU Affero General Public License as | ||||
|  * published by the Free Software Foundation, either version 3 of the | ||||
|  * License, or (at your option) any later version. | ||||
|  *  | ||||
|  * This program is distributed in the hope that it will be useful, | ||||
|  * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
|  * GNU Affero General Public License for more details. | ||||
|  *  | ||||
|  * You should have received a copy of the GNU Affero General Public License | ||||
|  * along with this program.  If not, see <http://www.gnu.org/licenses/>. | ||||
|  */ | ||||
|  | ||||
| namespace Chill\EventBundle\Form\Type; | ||||
|  | ||||
| use Symfony\Component\Form\AbstractType; | ||||
| use Symfony\Component\OptionsResolver\OptionsResolver; | ||||
| use Chill\MainBundle\Templating\TranslatableStringHelper; | ||||
| use Symfony\Bridge\Doctrine\Form\Type\EntityType; | ||||
| use Doctrine\ORM\EntityRepository; | ||||
| use Chill\EventBundle\Entity\EventType; | ||||
|  | ||||
| /** | ||||
|  * Description of TranslatableEventType | ||||
|  * | ||||
|  * @author Champs-Libres Coop | ||||
|  */ | ||||
| class TranslatableEventType extends AbstractType | ||||
| { | ||||
|     /** | ||||
|      * @var TranslatableStringHelper | ||||
|      */ | ||||
|     protected $translatableStringHelper; | ||||
|      | ||||
|     public function __construct(TranslatableStringHelper $helper) | ||||
|     { | ||||
|         $this->translatableStringHelper = $helper; | ||||
|     } | ||||
|      | ||||
|     public function getParent() | ||||
|     { | ||||
|         return EntityType::class; | ||||
|     } | ||||
|      | ||||
|     public function configureOptions(OptionsResolver $resolver) | ||||
|     { | ||||
|         $helper = $this->translatableStringHelper; | ||||
|         $resolver->setDefaults( | ||||
|             array( | ||||
|                 'class' => EventType::class, | ||||
|                 'query_builder' => function (EntityRepository $er) { | ||||
|                     return $er->createQueryBuilder('et') | ||||
|                     ->where('et.active = true'); | ||||
|                 }, | ||||
|                 'choice_label' => function (EventType $t) use ($helper) { | ||||
|                     return $helper->localize($t->getLabel()); | ||||
|                 }, | ||||
|             ) | ||||
|         ); | ||||
|     } | ||||
| } | ||||
							
								
								
									
										7
									
								
								Resources/config/services/forms.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								Resources/config/services/forms.yml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,7 @@ | ||||
| services: | ||||
|     chill_event.form.event_type_type: | ||||
|         class: Chill\EventBundle\Form\Type\TranslatableEventType | ||||
|         arguments: | ||||
|             - "@chill.main.helper.translatable_string" | ||||
|         tags: | ||||
|             - { name: form.type } | ||||
		Reference in New Issue
	
	Block a user