Bonjour a touts j ai un erreur au niveau de mon page twig
Quand en j'envoyer un lien avec $id en url a Controller (Symfony) mon page n'affiche pas correctement
voici page twig
code twig
{% extends 'SocieteBundle:base:home.html.twig' %}
{% block content %}
{{ form_start(form, {'method': 'POST'} , { 'attr': {'class': 'login100-form'} }) }}
<div class="main-panel">
<div class="content">
<div class="page-inner">
<h4 class="page-title">Ajouter un employé</h4>
<div class="row">
<div class="col-md-11">
<div class="card card-with-nav">
<div class="card-header">
<div class="row row-nav-line">
<ul class="nav nav-tabs nav-line nav-color-secondary" role="tablist">
</ul>
</div>
</div>
<div class="card-body">
<div class="row mt-3">
<div class="col-md-6">
<div class="form-group form-group-default">
<label>Name</label>
<input type="text" class="form-control" placeholder="Name" {{ form_widget(form.nom) }}
</div>
</div>
<div class="col-md-6">
<div class="form-group form-group-default">
<label>Prenom</label>
<input type="text" class="form-control" placeholder="Prenom" {{ form_widget(form.prenom) }}
</div>
</div>
</div>
<div class="row mt-3">
<div class="col-md-4">
<div class="form-group form-group-default">
<label>Email</label>
<input type="email" class="form-control" placeholder="example@gmail.com" {{ form_widget(form.email) }}
</div>
</div>
<div class="col-md-4">
<div class="form-group form-group-default">
<label>Mot de Passe</label>
<input type="password" class="form-control" name="password">
</div>
</div>
<div class="col-md-4">
<div class="form-group form-group-default">
<label>Confirmer le mot de passe</label>
<input type="password" class="form-control" >
</div>
</div>
</div>
<div class="row mt-3">
<div class="col-md-4">
<div class="form-group form-group-default">
<label>Cin</label>
<input type="number" class="form-control" placeholder="00000000"{{ form_widget(form.cin) }}
</div>
</div>
<div class="col-md-4">
<div class="form-group form-group-default">
<label>Telephone</label>
<input type="number" class="form-control" placeholder="+216..." {{ form_widget(form.telephone) }}
</div>
</div>
<div class="row mt-3">
<div class="col-md-6">
<div class="form-group form-group-default">
<label>Sex</label>
<select class="form-control" size="1" {{ form_widget(form.sex) }}
</select>
</div>
</div>
<div class="col-md-6">
<div class="form-group form-group-default">
<label>Date naissance</label>
<input type="date" class="form-control" {{ form_widget(form.naissance) }}
</div>
</div>
</div>
<div class="row mt-3 mb-1">
<div class="col-md-6">
<div class="form-group form-group-default">
<label>Address</label>
<input type="text" class="form-control" placeholder="ex:Rue...." {{ form_widget(form.adresse) }}
</div>
</div>
<div class="col-md-6">
<div class="form-group form-group-default">
<label>Ville</label>
<input type="text" class="form-control" {{ form_widget(form.ville) }}
</div>
</div>
</div>
<div class="row mt-3">
<div class="col-md-4">
<div class="form-group form-group-default">
<label>Pays</label>
<input type="text" class="form-control"{{ form_widget(form.pays) }}
</div>
</div>
<div class="col-md-4">
<div class="form-group form-group-default">
<label>Salaire</label>
<input type="number" class="form-control"{{ form_widget(form.salaire) }}
</div>
</div>
<div class="col-md-4">
<div class="form-group form-group-default">
<label>responsable RH</label>
<select class="form-control">
{% if responsables %}
{% for x in responsables %}
{% if x.fonction == "Responsable RH"%}
<option >{{ x.email }}</option>
{% endif %}
{% endfor %}
{% endif %}
</select>
</div>
</div>
</div>
<div class="text-right mt-3 mb-3">
<button type="submit" class="btn btn-success"{{ form_widget(form.Enregistrer) }} </button>
<input type="reset" class="btn btn-danger">
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
{% endblock %}
<?php
namespace SocieteBundle\Controller;
use SocieteBundle\Form\Modifieremployer;
use SocieteBundle\Form\UserType;
use SocieteBundle\Tests\Controller\DefaultControllerTest;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Security\Core\Encoder\UserPasswordEncoderInterface;
use Symfony\Component\Security\Core\Encoder\UserPasswordEncoder;
use Symfony\Component\Translation\Translator;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
class EmployerController extends Controller
{
/**
* @Route("/list", name="list")
*/
public function listAction()
{
$em = $this->getDoctrine()->getManager();
$user = $em->getRepository('SocieteBundle:User')->findAll();
return $this->render('SocieteBundle:employer:list.html.twig', array('user' => $user));
}
public function supprimerAction($id)
{
$em = $this->getDoctrine()->getManager();
$employer = $em->getRepository('SocieteBundle:User')->findOneBy(array('id' => $id));
if ($employer != null)
{
$em->remove($employer);
$em->flush();
return $this->redirectToRoute('list');
}
return $this->redirectToRoute('list');
}
public function modifierAction(Request $req ,$id)
{
$em = $this->getDoctrine()->getManager();
$employer = $em->getRepository('SocieteBundle:User')->find($id);
// responsable acctuell
$responsable=$employer->getResponsable()->getEmail();
// usres liste des tout les responsable
$newresemail=null;
$newresemail = $req->get('liste');
$password=null ;
$password = $req->get('password');
if ($password)
{ // affecter le neveau mot de passe
$encoder = $this->container->get('security.password_encoder');
$newPasswordEncoded = $encoder->encodePassword($employer, $password);
$employer->setPassword($newPasswordEncoded);
$em->persist($employer);
$em->flush();
}
$responsables= $em->getRepository('SocieteBundle:User')->findAll();
$form = $this->createForm(Modifieremployer::class, $employer);
$form->handleRequest($req);
if ($req->isMethod('POST'))
{
if ($form->isValid()||($newresemail))
{
$res= $em->getRepository('SocieteBundle:User')->findoneBy(array("email" => $newresemail));
$employer->setResponsable($res);
$employer = $form->getData();
$em->persist($employer);
$em->flush();
return $this->redirectToRoute('list');
}
}
return $this->render('SocieteBundle:employer:modifier.html.twig',array('form' => $form->createView(), 'responsable' => $responsable, 'responsables' => $responsables));
}
}
Merci pour votre aide
Afficher la suite
Modifié le 13 mars 2021 à 12:01
oui j'ai plusieurs page qui fonctionne correctement mais le problème arrive quand j'ajoute un paramètre ex {id} au mon route
même quad j'ajoute tout les balise de style et script dans meme page il ne fonctionne pas
et merci