Salut,
J'ai un problème avec mon serveur d'application. Le serveur est sous PHP, Symfony 3.
J'ai le formulaire suivant :
public function addAction($id, Request $request)
{
if (!$request->isMethod("POST")) {
$response = new JsonResponse("POST only");
$response->setStatusCode(Response::HTTP_BAD_REQUEST);
return $response;
}
if ($id != 0) {
$cr = $this->getDoctrine()->getRepository('AppBundle:Cr')->find($id);
} else {
$cr = new Cr();
}
$form = $this->createFormBuilder($cr, array('csrf_protection' => false))
->add('date', DateType::class, array(
'required' => true,
'widget' => 'single_text',
)
)
->add('description', TextareaType::class, array('required' => true))
->add('todo', TextareaType::class, array('required' => true))
->add('typeVisite', IntegerType::class, array('required' => true))
->add('project', IntegerType::class, array('mapped' => false))
->getForm();
if ($request->isMethod('POST')) {
$form->submit($request->request->get($form->getName()));
if ($form->isValid()) {
$em = $this->getDoctrine()->getManager();
$em->persist($cr);
$this->updateMobilisationHebdo($cr);
$this->updateSuiviBenevoles($cr);
if (isset($request->request->get($form->getName())['project']) && $cr->getTypevisite() != 0) {
$this->updateSuiviproject($cr, $request->request->get($form->getName())['project']);
}
$em->flush();
return new JsonResponse('ok');
} else {
$errors = [];
foreach ($form->getErrors(true, true) as $error) {
$errors[] = $error->getOrigin()->getName() . ' : ' . $error->getMessage();
}
$response = new JsonResponse($errors);
$response->setStatusCode(Response::HTTP_NOT_ACCEPTABLE);
return $response;
}
}
}
Mon problème est que si je séléctionne un projet existant pour le champ "project", il ne prend pas en compte l'ID de celui ci, mais reste par défaut à 0.
J'aimerai savoir si quelqu'un pouvait m'aider à résoudre mon problème s'il vous plait :)
Merci