variable verification + security
This commit is contained in:
@@ -32,8 +32,18 @@ class AnswerController extends FOSRestController
|
||||
*/
|
||||
public function showAction(Answer $answer)
|
||||
{
|
||||
$data = $this->get('jms_serializer')->serialize($answer, 'json', SerializationContext::create()->setGroups(array('answer_detail')));
|
||||
return new JsonResponse($data, 200, [], true);
|
||||
$usr = $this->getUser();
|
||||
$userAnswer = $this->getDoctrine()->getRepository('AppBundle:Answer')->findOneBy(array('user' => $usr, 'id' => $answer->getId()));
|
||||
if($userAnswer){
|
||||
$data = $this->get('jms_serializer')->serialize($answer, 'json', SerializationContext::create()->setGroups(array('answer_detail')));
|
||||
return new JsonResponse($data, 200, [], true);
|
||||
}
|
||||
else {
|
||||
$message = 'Pas de candidature correspondante.';
|
||||
$status = 'failure';
|
||||
throw new ResourceValidationException($message,$status);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -82,9 +92,15 @@ class AnswerController extends FOSRestController
|
||||
$answer = new Answer($usr, null, 'DRAFT');
|
||||
|
||||
$em = $this->getDoctrine()->getManager();
|
||||
$mediaId = $request->get('mediaId');
|
||||
$companyId = $request->get('companyId');
|
||||
$adId = $request->get('adId');
|
||||
$mediaId = htmlspecialchars($request->get('mediaId'));
|
||||
$companyId = htmlspecialchars($request->get('companyId'));
|
||||
$adId = htmlspecialchars($request->get('adId'));
|
||||
|
||||
if (!is_numeric($mediaId) || !is_numeric($companyId) || (!is_numeric($adId) && $adId != null) ){
|
||||
$message = 'Le média, l\'entreprise ou l\'offre ne sont pas au format demandé';
|
||||
$status = 'failure';
|
||||
throw new ResourceValidationException($message,$status);
|
||||
}
|
||||
|
||||
// Verify if users have already posted answers
|
||||
if (isset($adId) && $adId != null){
|
||||
@@ -99,7 +115,7 @@ class AnswerController extends FOSRestController
|
||||
throw new ResourceValidationException($message,$status);
|
||||
}
|
||||
else if($existAnswer){
|
||||
$message = 'Vous avez déja postulé pour cette offre ou pour cette entreprise';
|
||||
$message = 'Vous avez déja postulé pour cette offre ou pour cette entreprise';
|
||||
$status = 'failure';
|
||||
throw new ResourceValidationException($message,$status);
|
||||
|
||||
@@ -109,6 +125,13 @@ class AnswerController extends FOSRestController
|
||||
$video = $em->getRepository('AppBundle:Media')->find($mediaId);
|
||||
$company = $em->getRepository('AppBundle:Company')->find($companyId);
|
||||
|
||||
// Verify if company or video exists
|
||||
if(!$video || !$company ){
|
||||
$message = 'Pas d\'entreprises ou de vidéos existantes';
|
||||
$status = 'failure';
|
||||
throw new ResourceValidationException($message,$status);
|
||||
}
|
||||
|
||||
if (isset($adId) && $adId != null){
|
||||
$ad = $em->getRepository('AppBundle:Ad')->find($adId);
|
||||
$answer->setAd($ad);
|
||||
|
||||
@@ -55,10 +55,10 @@ class SecurityController extends FOSRestController
|
||||
*/
|
||||
public function Register(Request $request)
|
||||
{
|
||||
$firstname = $request->get('firstname');
|
||||
$lastname = $request->get('lastname');
|
||||
$email = $request->get('email');
|
||||
$password = $request->get('password');
|
||||
$firstname = htmlspecialchars($request->get('firstname'));
|
||||
$lastname = htmlspecialchars($request->get('lastname'));
|
||||
$email = htmlspecialchars($request->get('email'));
|
||||
$password = htmlspecialchars($request->get('password'));
|
||||
|
||||
if (!isset($firstname) || !isset($lastname) || !isset($email) || !isset($password))
|
||||
$status = array('status' => "failure", 'message' => 'empty parameters');
|
||||
@@ -110,11 +110,11 @@ class SecurityController extends FOSRestController
|
||||
$userManager = $this->get('fos_user.user_manager');
|
||||
$usr = $this->getUser();
|
||||
if ($usr !== null){
|
||||
$newLastName = $request->request->get('lastname');
|
||||
$newFirstName = $request->request->get('firstname');
|
||||
$newLastName = htmlspecialchars($request->request->get('lastname'));
|
||||
$newFirstName = htmlspecialchars($request->request->get('firstname'));
|
||||
if (!isset($newLastName) || !isset($newFirstName) || $newLastName == null || $newFirstName == null){
|
||||
$message = 'Vous devez rentrer votre nom et votre prénom pour continuer';
|
||||
throw new ResourceValidationException($message);
|
||||
throw new ResourceValidationException($message,'');
|
||||
} else {
|
||||
$file = $request->files->get('file');
|
||||
$usr->setLastName($newLastName);
|
||||
|
||||
Reference in New Issue
Block a user