Quantcast
Channel: Grafikart | Derniers Sujets du forum
Viewing all articles
Browse latest Browse all 1542

Remplir le champ d'un formulaire automatiquement

$
0
0

Bonjour à tous
voilà j'ai intégré mon fosuserbundle pour l'adapter à un projet. J'ai entité enseignant qui a les proprieté classe, ecole, qui sont des entités en relation avec lui. puisque tout les éléves crées par un enseignant sont dans la même classe et la même école, je souhaite récupéré ses informations chez l'enseignant pour automatiquement affecté à chaque élève qu'il créé. voici mon code
//EleveController

<?php

namespace App\UserBundle\Controller;

use Symfony\Component\HttpFoundation\Request;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Method;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use App\UserBundle\Entity\User;
use App\UserBundle\Form\Type\RegistrationFormType;


class EleveController extends Controller
{


    public function createAction(Request $request)
    {
        $user=$this->getUser();
        $affiliation = $user->GetId();
        $classes = $user->GetClasse();
        $ecoles = $user->GetEcole();

        $users = new User();
        $users->setAffiliation($affiliation);
        $users->setClasse($classes); //ca ne marche pas avec cette ligne
        $users->setEcole($ecole);//ca ne marche pas non plus

        $form = $this->createForm('App\UserBundle\Form\Type\RegistrationFormType', $users);
        $form->handleRequest($request);

        if ($form->isSubmitted() && $form->isValid()) {
            $em = $this->getDoctrine()->getManager();
            $em->persist($users);
            $em->flush();

            return $this->redirectToRoute('app_prof_utilisateur');
        }

        return $this->render('eleve/new.html.twig', array(
            'users' => $users,
            'form' => $form->createView(),
        ));
    }

//User.php

<?php
namespace App\UserBundle\Entity;

use FOS\UserBundle\Model\User as BaseUser;
use Doctrine\ORM\Mapping as ORM;
/**
 * @ORM\Entity
 * @ORM\Table(name="utilisateur")
 */
class User extends BaseUser
{
    /**
     * @ORM\Id
     * @ORM\Column(type="integer")
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    protected $id;

    /**
     * @var int
     *
     * @ORM\Column(name="affiliation", type="integer", nullable=true)
     */
    private $affiliation;

    /**
     * @var string
     *
     * @ORM\Column(name="nom", type="string", length=255, nullable=true)
     */
    private $nom;
    /**
     * @ORM\ManyToOne(targetEntity="App\AdminBundle\Entity\Ecole")
     * @ORM\JoinColumn(nullable=false)
     */
    private $ecole;
    /**
     * @ORM\ManyToOne(targetEntity="App\AdminBundle\Entity\Classe")
     * @ORM\JoinColumn(nullable=false)
     */
    private $classe;

    public function __construct()
    {
        parent::__construct();
        // your own logic
    }

    /**
     * Set nom
     *
     * @param string $nom
     * @return User
     */
    public function setNom($nom)
    {
        $this->nom = $nom;

        return $this;
    }

    /**
     * Get nom
     *
     * @return string
     */
    public function getNom()
    {
        return $this->nom;
    }


    /**
     * Set ecole
     *
     * @param \App\AdminBundle\Entity\Ecole $ecole
     * @return User
     */
    public function setEcole(\App\AdminBundle\Entity\Ecole $ecole)
    {
        $this->ecole = $ecole;

        return $this;
    }

    /**
     * Get ecole
     *
     * @return \App\AdminBundle\Entity\Ecole
     */
    public function getEcole()
    {
        return $this->ecole;
    }

    /**
     * Set classe
     *
     * @param \App\AdminBundle\Entity\Classe $classe
     * @return User
     */
    public function setClasse(\App\AdminBundle\Entity\Classe $classe)
    {
        $this->classe = $classe;

        return $this;
    }

    /**
     * Get classe
     *
     * @return \App\AdminBundle\Entity\Classe
     */
    public function getClasse()
    {
        return $this->classe;
    }


    /**
     * Set affiliation
     *
     * @param integer $affiliation
     * @return User
     */
    public function setAffiliation($affiliation)
    {
        $this->affiliation = $affiliation;

        return $this;
    }

    /**
     * Get affiliation
     *
     * @return integer
     */
    public function getAffiliation()
    {
        return $this->affiliation;
    }
}

Quelqu'un peut-il m'aider?
entre autre comment faire pour rendre le champ email facultatif dans fosuserbundle (nullable=true)?


Viewing all articles
Browse latest Browse all 1542

Trending Articles