probléme formBuilder symfony2
bonjour,
je veux ajouter un Customers dans la base de donnée voila mes classes :
CustomersType:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
|
<?php
namespace Customers\CustomerBundle\Form;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilder;
class CustomersType extends AbstractType
{
public function buildForm(FormBuilder $builder, array $options)
{
$builder
->add('name')
->add('adress')
->add('tel1')
->add('tel2')
->add('fax')
->add('email')
->add('matriculeFiscale')
->add('registreCommerce')
->add('managerName')
->add('managerTel')
->add('managerEmail')
->add('loginProvider')
->add('passwordProvider')
->add('login')
->add('password')
->add('ipAutorized')
->add('idCategorie','entity', array('class'=>'data\baseBundle\Entity\Categories','property'=>'idCategorie', ));
}
public function getName()
{
return 'Customers_CustomerBundle_Customers_Type';
}
public function getDefaultOptions(array $options)
{
return array(
'data_class' => 'data\baseBundle\Entity\Customers',
);
}
}
?> |
CustomersHandler :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
|
<?php
namespace Customers\CustomerBundle\Form;
use Symfony\Component\Form\Form;
use Symfony\Component\HttpFoundation\Request;
use Doctrine\ORM\EntityManager;
use data\baseBundle\Entity\Customers;
use data\baseBundle\Entity\Categories;
use Symfony\Component\HttpFoundation\Response;
class CustomersHandler
{
protected $form;
protected $request;
protected $em;
public function __construct(Form $form, Request $request, EntityManager $em )
{
$this->form = $form;
$this->request = $request;
$this->em = $em;
}
public function process()
{
if( $this->request->getMethod() == 'POST' )
{
$this->form->bindRequest($this->request);
if( $this->form->isValid())
{ return new Response("Hello World !");
$this->onSuccess($this->form->getData());
return true;
}
}
return false;
}
public function onSuccess(Customers $Customers)
{
$Customers->setDateCreation(new \DateTime());
$this->em->persist($Customers);
$this->em->flush();
}
}
?> |
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
|
<?php
namespace Customers\CustomerBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use data\baseBundle\Entity\Customers;
use Customers\CustomerBundle\Form\CustomersType;
use Customers\CustomerBundle\Form\CustomersHandler;
class CustomersController extends Controller
{
public function ajouterAction()
{
$Customers = new Customers;
$form = $this->createForm(new CustomersType, $Customers);
// On crée le gestionnaire pour ce formulaire, avec les outils dont il a besoin
$formHandler = new CustomersHandler($form, $this->get('request'), $this->getDoctrine()->getEntityManager());
// On exécute le traitement du formulaire. S'il retourne true, alors le formulaire a bien été traité
if( $formHandler->process() )
{
return $this->render('CustomersCustomerBundle::test.html.twig');
}
return $this->render('CustomersCustomerBundle::ajouter.html.twig',array(
'form' => $form->createView(),)
);
}
}
?> |
le probléme que l'exécution ne traverse pas la condition
Code:
1 2 3 4 5 6 7
|
if( $this->form->isValid())
{ return new Response("Hello World !");//pour le test
$this->onSuccess($this->form->getData());
return true;
} |
aucun erreur n'est survenue mais l'ajout dans la base ca marche pas,
avez vous une aide?
merci d'avance.