Compare commits

..

4 Commits

Author SHA1 Message Date
llaniau 6e4f718fe0 Cas du doublon d'utilisateur 2020-10-13 17:24:29 +02:00
llaniau b19eb227b5 Mise en place API pole emploi 2020-10-12 18:28:16 +02:00
llaniau f35dcbbeba US 439,
US466 modif terme,
US462 num assistance,
US461 crisp
US 464 copyright
2020-10-07 16:11:41 +02:00
llaniau 6860dee286 Evoi de mail lors de creation multi util 2020-10-06 16:39:27 +02:00
13 changed files with 407 additions and 24 deletions
@@ -27,10 +27,12 @@
type="text/css" />
<!-- Please remove the file below for production: Contains demo classes -->
<link class="main-stylesheet" href="{{ asset('dashboard/css/style.css') }}" rel="stylesheet" type="text/css" />
<script type="text/javascript">window.$crisp=[];window.CRISP_WEBSITE_ID="08e9d301-ba14-4d69-8b1a-53685114c5af";(function(){d=document;s=d.createElement("script");s.src="https://client.crisp.chat/l.js";s.async=1;d.getElementsByTagName("head")[0].appendChild(s);})();</script>
</head>
<body class="fixed-header dashboard menu-pin menu-behind">
{{ include('admin/navigation_gauche.html.twig') }}
{# {{ include('default/user_switch.html.twig') }} #}
{{ include('admin/navigation_gauche.html.twig')}} }}
<!-- START PAGE-CONTAINER -->
@@ -42,14 +44,29 @@
{% block dashContent %}
Dashboard Company
{% endblock %}
</div>
<!-- START COPYRIGHT -->
<!-- START CONTAINER FLUID -->
<!-- START CONTAINER FLUID -->
<div class=" container-fluid container-fixed-lg footer">
<div class="copyright sm-text-center">
<p class="small-text no-margin pull-left sm-pull-reset">
©2017-2020 Talents Tube
</p>
<p class="small no-margin pull-right sm-pull-reset">
Besoin d'aide ? 02 30 05 06 31
</p>
<div class="clearfix"></div>
</div>
</div>
<!-- END COPYRIGHT -->
</div>
<!-- END PAGE CONTENT WRAPPER -->
</div>
<!-- END PAGE CONTAINER -->
{% block javascripts %}
<script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyDYV8IJGtIoWLfXJQQvIuDQ88n2aEuRgpg&libraries=places">
@@ -139,6 +139,25 @@
<span class="icon-thumbnail"><i class="pg-icon">mail</i></span>
</li>
{% if is_granted('ROLE_PREVIOUS_ADMIN') %}
<li class="">
<a href="{{ path('admin_dashboard', {'_switch_user': '_exit'}) }}">
<span class="principal">Se déconnecter</span>
</a>
<span class="icon-thumbnail">
<i class="pg-icon m-20">exit</i>
</span>
</li>
<li class="">
<small>
(Connecté en tant que {{ app.user.firstname }} {{ app.user.lastname }})
</small>
</li>
{% endif %}
</ul>
<div class="clearfix"></div>
@@ -34,7 +34,7 @@
<!-- CSS Space Template -->
<link rel="stylesheet" href="{{ asset('v2/css/theme.css') }}">
<script type="text/javascript"> window.$crisp=[];window.CRISP_WEBSITE_ID="78ec5756-1cd5-4f3f-b0db-cb408c8171da";(function(){ d=document;s=d.createElement("script"); s.src="https://client.crisp.chat/l.js"; s.async=1;d.getElementsByTagName("head")[0].appendChild(s);})(); </script>
<script type="text/javascript"> window.$crisp=[];window.CRISP_WEBSITE_ID="08e9d301-ba14-4d69-8b1a-53685114c5af";(function(){ d=document;s=d.createElement("script"); s.src="https://client.crisp.chat/l.js"; s.async=1;d.getElementsByTagName("head")[0].appendChild(s);})(); </script>
</head>
<body>
<!-- Google Tag Manager (noscript) -->
@@ -46,7 +46,10 @@
</div>
<div class="card-body">
{% if form_errors(form) %}
<span class="red-text text-darken-2">{{ form_errors(form) }}</span>
<span class="red-text text-darken-2">{{ form_errors(form) }}{{ error }}</span>
{% endif %}
{% if error%}
<span class="red-text text-darken-2"><b>{{ error }}</b><br/>&nbsp;</span>
{% endif %}
{{ form_start(form) }}
<div class="row">
@@ -42,14 +42,14 @@
</div>
{% endif %}
<br>
<strong>Vous souhaitez contacter lentreprise ?</strong><br /><br />
{# <strong>Vous souhaitez contacter lentreprise ?</strong><br /><br />
Cliquez sur le bouton ci-dessous pour envoyer un email à la personne en charge du recrutement.
<br/>
<br/>
<div style="text-align:center;">
<a class="btn-default btn-white" href="mailto:{{ message.sender.email }}">Répondre à {{ message.sender.firstname }} {{ message.sender.lastname }}</a>
</div>
<br />
<br /> #}
<br />
L’équipe Talents Tube
{% elseif type == 'plain' %}
@@ -416,7 +416,8 @@ class AnswerController extends Controller
$spontaneous = $em->getRepository('AppBundle:Answer')->findBy(
array(
'company' => $user->getCompany()->getId(),
'status' => 'SENDED'
'status' => 'SENDED',
'ad' => null
),
array(
'uTime' => 'DESC'
@@ -404,7 +404,7 @@ class AnswerController extends FOSRestController
<div style="margin:0 auto;max-width:600px;background:#FFFFFF;"><table class="" cellpadding="0" cellspacing="0" style="width:100%;font-size:0px;background:#FFFFFF;" align="center"><tbody><tr><td style="text-align:center;vertical-align:top;font-size:0;padding:0px 0px 40px 0px;"><!--[if mso]>
<table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:600px;">
<![endif]--><div style="vertical-align:top;display:inline-block;font-size:13px;text-align:left;width:100%;" class="mj-column-per-100" aria-labelledby="mj-column-per-100"><table width="100%"><tbody><tr><td style="font-size:0;padding:15px 30px;" align="center"><table cellpadding="0" cellspacing="0" style="border:none;border-radius:30px;" align="center"><tbody><tr><td style="background:#1689FB;border-radius:30px;color:#FFFFFF;cursor:auto;" align="center" valign="middle" bgcolor="#1689FB"><a class="mj-content" href="' . $link . '" style="display:inline-block;text-decoration:none;background:#1689FB;border:1px solid #1689FB;border-radius:30px;color:#FFFFFF;font-family:Trebuchet,Helvetica,sans-serif;font-size:14px;font-weight:normal;padding:15px 30px;" target="_blank">Découvrir le talent</a></td></tr></tbody></table></td></tr></tbody></table></div><!--[if mso]>
<![endif]--><div style="vertical-align:top;display:inline-block;font-size:13px;text-align:left;width:100%;" class="mj-column-per-100" aria-labelledby="mj-column-per-100"><table width="100%"><tbody><tr><td style="font-size:0;padding:15px 30px;" align="center"><table cellpadding="0" cellspacing="0" style="border:none;border-radius:30px;" align="center"><tbody><tr><td style="background:#1689FB;border-radius:30px;color:#FFFFFF;cursor:auto;" align="center" valign="middle" bgcolor="#1689FB"><a class="mj-content" href="' . $link . '" style="display:inline-block;text-decoration:none;background:#1689FB;border:1px solid #1689FB;border-radius:30px;color:#FFFFFF;font-family:Trebuchet,Helvetica,sans-serif;font-size:14px;font-weight:normal;padding:15px 30px;" target="_blank">Lire le message</a></td></tr></tbody></table></td></tr></tbody></table></div><!--[if mso]>
</td></tr></table>
<![endif]--></td></tr></tbody></table></div>',
$user,
@@ -17,6 +17,7 @@ use Symfony\Component\Routing\Generator\UrlGeneratorInterface;
use JMS\Serializer\SerializationContext;
use Symfony\Component\HttpFoundation\JsonResponse;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Symfony\Component\HttpFoundation\Request;
class CompanyController extends FOSRestController
{
@@ -30,6 +31,280 @@ class CompanyController extends FOSRestController
$data = $this->get('jms_serializer')->serialize($company, 'json', SerializationContext::create()->setGroups(array('company_detail')));
return new JsonResponse($data, 200, [], true);
}
public function getToken(){
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://entreprise.pole-emploi.fr/connexion/oauth2/access_token",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "realm=/partenaire&grant_type=client_credentials&client_id=PAR_talentstube_35a96821a2f4a981a21a387dd590041617a42cb7755960fe7b6c68e617136b92&client_secret=de3dff58ab5adab6ab265753ed0f7d373ab764aea7c4b2b9de4a7744467503cc&scope=api_romev1 application_PAR_talentstube_35a96821a2f4a981a21a387dd590041617a42cb7755960fe7b6c68e617136b92 nomenclatureRome",
CURLOPT_HTTPHEADER => array(
"cache-control: no-cache",
"content-type: application/x-www-form-urlencoded"
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
$token = "";
if (!$err)
{
$obj = json_decode($response);
$token = $obj->access_token;
// echo $token;
}
return $token;
}
/**
* @Rest\Get(path="/api/getCompetences", name="api_getCompetences")
* @Rest\View
* Récupérer des compétences à partir d'un libellé
*/
public function getCompetencesAction(Request $request)
{
//APPEL de l'api Pole emploi pour recuperer Token
$q=$request->query->get('q');
//echo "requete".$q;
$token = $this->getToken();
$response =null;
if($q){
$curl = curl_init();
curl_setopt($curl, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json',
'Authorization: Bearer ' . $token
));
curl_setopt_array($curl, array(
CURLOPT_URL => "https://api.emploi-store.fr/partenaire/rome/v1/competence?q=".$q,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
));
$response = curl_exec($curl);
$err = curl_error($curl);
if (!$err)
{
}
curl_close($curl);
}
// $arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5);
// $data = json_encode($arr);
return new JsonResponse($response, 200, [], true);
}
/**
* @Rest\Get(path="/api/getAppelationsMetier", name="api_getAppelationsMetier")
* @Rest\View
* Récupérer des appelations à partir d'un métier (code ROME)
*/
public function getAppelationsMetierAction(Request $request)
{
//APPEL de l'api Pole emploi pour recuperer Token
$q=$request->query->get('q');
//echo "requete".$q;
$token = $this->getToken();
$response =null;
if($q){
$curl = curl_init();
curl_setopt($curl, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json',
'Authorization: Bearer ' . $token
));
curl_setopt_array($curl, array(
CURLOPT_URL => "https://api.emploi-store.fr/partenaire/rome/v1/metier/".$q."/appellation",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
));
$response = curl_exec($curl);
$err = curl_error($curl);
if (!$err)
{
}
curl_close($curl);
}
return new JsonResponse($response, 200, [], true);
}
/**
* @Rest\Get(path="/api/getAppelationsLibelle", name="api_getAppelationsLibelle")
* @Rest\View
* Récupérer des appelations à partir d'un libellé
*/
public function getAppelationsLibelleAction(Request $request)
{
//APPEL de l'api Pole emploi pour recuperer Token
$q=$request->query->get('q');
//echo "requete".$q;
$token = $this->getToken();
$response =null;
if($q){
$curl = curl_init();
curl_setopt($curl, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json',
'Authorization: Bearer ' . $token
));
curl_setopt_array($curl, array(
CURLOPT_URL => "https://api.emploi-store.fr/partenaire/rome/v1/appellation?q=".$q,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
));
$response = curl_exec($curl);
$err = curl_error($curl);
if (!$err)
{
}
curl_close($curl);
}
return new JsonResponse($response, 200, [], true);
}
/**
* @Rest\Get(path="/api/getDetailAppelation", name="api_getDetailAppelation")
* @Rest\View
* Récupérer le détail d'une appelation
*/
public function getDetailAppelationAction(Request $request)
{
//APPEL de l'api Pole emploi pour recuperer Token
$q=$request->query->get('q');
//echo "requete".$q;
$token = $this->getToken();
$response =null;
if($q){
$curl = curl_init();
curl_setopt($curl, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json',
'Authorization: Bearer ' . $token
));
curl_setopt_array($curl, array(
CURLOPT_URL => "https://api.emploi-store.fr/partenaire/rome/v1/appellation/".$q,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
));
$response = curl_exec($curl);
$err = curl_error($curl);
if (!$err)
{
}
curl_close($curl);
}
return new JsonResponse($response, 200, [], true);
}
/**
* @Rest\Get(path="/api/getMetiers", name="api_getMetiers")
* @Rest\View
*/
public function getMetiersAction(Request $request)
{
//APPEL de l'api Pole emploi pour recuperer Token
$q=$request->query->get('q');
//echo "requete".$q;
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://entreprise.pole-emploi.fr/connexion/oauth2/access_token",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "realm=/partenaire&grant_type=client_credentials&client_id=PAR_talentstube_35a96821a2f4a981a21a387dd590041617a42cb7755960fe7b6c68e617136b92&client_secret=de3dff58ab5adab6ab265753ed0f7d373ab764aea7c4b2b9de4a7744467503cc&scope=api_romev1 application_PAR_talentstube_35a96821a2f4a981a21a387dd590041617a42cb7755960fe7b6c68e617136b92 nomenclatureRome",
CURLOPT_HTTPHEADER => array(
"cache-control: no-cache",
"content-type: application/x-www-form-urlencoded"
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
$token = "";
if (!$err)
{
$obj = json_decode($response);
$token = $obj->access_token;
// echo $token;
}
$response =null;
if($q){
$curl = curl_init();
curl_setopt($curl, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json',
'Authorization: Bearer ' . $token
));
curl_setopt_array($curl, array(
CURLOPT_URL => "https://api.emploi-store.fr/partenaire/rome/v1/competence?q=".$q,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
));
$response = curl_exec($curl);
$err = curl_error($curl);
if (!$err)
{
}
curl_close($curl);
}
$arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5);
$data = json_encode($arr);
return new JsonResponse($response, 200, [], true);
}
/**
* @Rest\Get("/api/companies", name="api_company_list")
@@ -16,6 +16,7 @@ use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Session\Session;
class CompanyController extends Controller
{
@@ -164,6 +165,7 @@ class CompanyController extends Controller
$userManager = $this->get('fos_user.user_manager');
$form = $this->createForm(UserTypeCreate::class, $user);
$form->handleRequest($request);
$error="";
if ($form->isSubmitted() && $form->isValid()) {
$user->setFirstname($form["firstname"]->getData());
@@ -173,12 +175,78 @@ class CompanyController extends Controller
$user->setCompany($company);
$user->setEnabled(true);
$user->setRoles(array('ROLE_COMPANY'));
$em = $this->getDoctrine()->getManager();
//TRY catche
try {
//verifier si un user n'existe pas avec le meme mail
$verifUser = $em->getRepository('AppBundle:User')->findBy(array('email' => $form["email"]->getData()));
if(!$verifUser){
$userManager->updateUser($user);
//US 422 : Envoi d'email
$session = new Session();
$session->getFlashBag()->add('popup_answer_already_send', false);
// $mailManager = $this->get('app.mail_manager');
// $mailManager->sendMail(
// 'Candidature TalentsTube ',
// '<div style="margin:0 auto;max-width:600px;background:#FFFFFF;"><table class="" cellpadding="0" cellspacing="0" style="width:100%;font-size:0px;background:#FFFFFF;" align="center"><tbody><tr><td style="text-align:center;vertical-align:top;font-size:0;padding:0px;"><!--[if mso]>
// <table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:600px;">
// <![endif]--><div style="vertical-align:top;display:inline-block;font-size:13px;text-align:left;width:100%;" class="mj-column-per-100" aria-labelledby="mj-column-per-100"><table width="100%"><tbody><tr><td style="font-size:0;padding:0px;" align="center"><table cellpadding="0" cellspacing="0" style="border-collapse:collapse;border-spacing:0px;" align="center"><tbody><tr><td><img alt="" src="" style="border:none;display:block;outline:none;text-decoration:none;width:100%;max-width:600px;height:auto;" width="600" height="auto"></td></tr></tbody></table></td></tr></tbody></table></div><!--[if mso]>
// </td></tr></table>
// <![endif]--></td></tr></tbody></table></div>
$userManager->updateUser($user);
return $this->redirectToRoute('users');
// <div style="margin:0 auto;max-width:600px;background:#FFFFFF;"><table class="" cellpadding="0" cellspacing="0" style="width:100%;font-size:0px;background:#FFFFFF;" align="center"><tbody><tr><td style="text-align:center;vertical-align:top;font-size:0;padding:0px;"><!--[if mso]>
// <table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:600px;">
// <![endif]--><div style="vertical-align:top;display:inline-block;font-size:13px;text-align:left;width:100%;" class="mj-column-per-100" aria-labelledby="mj-column-per-100"><table width="100%"><tbody><tr><td style="font-size:0;padding:20px 35px 20px 35px;" align="left"><div class="mj-content" style="cursor:auto;color:#534F4F;font-family:Trebuchet,Helvetica,sans-serif;font-size:14px;line-height:22px;"><p>Bonjour ,</p>
// <p>Le talent a répondu à votre annonce .</p></div></td></tr></tbody></table></div><!--[if mso]>
// </td></tr></table>
// <![endif]--></td></tr></tbody></table></div>
// <div style="margin:0 auto;max-width:600px;background:#FFFFFF;"><table class="" cellpadding="0" cellspacing="0" style="width:100%;font-size:0px;background:#FFFFFF;" align="center"><tbody><tr><td style="text-align:center;vertical-align:top;font-size:0;padding:0px 0px 40px 0px;"><!--[if mso]>
// <table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:600px;">
// <![endif]--><div style="vertical-align:top;display:inline-block;font-size:13px;text-align:left;width:100%;" class="mj-column-per-100" aria-labelledby="mj-column-per-100"><table width="100%"><tbody><tr><td style="font-size:0;padding:15px 30px;" align="center"><table cellpadding="0" cellspacing="0" style="border:none;border-radius:30px;" align="center"><tbody><tr><td style="background:#1689FB;border-radius:30px;color:#FFFFFF;cursor:auto;" align="center" valign="middle" bgcolor="#1689FB"><a class="mj-content" href="" style="display:inline-block;text-decoration:none;background:#1689FB;border:1px solid #1689FB;border-radius:30px;color:#FFFFFF;font-family:Trebuchet,Helvetica,sans-serif;font-size:14px;font-weight:normal;padding:15px 30px;" target="_blank">Découvrir le talent</a></td></tr></tbody></table></td></tr></tbody></table></div><!--[if mso]>
// </td></tr></table>
// <![endif]--></td></tr></tbody></table></div>',
// $user,
// 'contact_default'
// );
$message=$company->getBrandName()." vous invite à rejoindre la plateforme de recrutement vidéo Talents Tube.<br/>
Votre identifiant : ".$user->getEmail()."<br/>
Votre mot de passe : ".$form["password"]->getData()."<br/>
(Vous pourrez réinitialiser votre mot de passe en cliquant <a href='https://recruteur.talentstube.com/resetting/request' target='_blank'>**ici**</a><br/>
<br/>
<a href='https://recruteur.talentstube.com' target='_blank'>[Rejoindre l'équipe]</a> <br/>";
$plainView = $this->renderView('email/contact_default.html.twig', array(
'message' => $message,
'type' => 'html'
));
$body ="";
$email = \Swift_Message::newInstance()
->setSubject("Rejoignez l'équipe ".$company->getBrandName()." sur Talents Tube." )
->setFrom($this->getParameter('mailer_user'))
->setReplyTo($this->getParameter('mailer_user'))
->setTo($user->getEmail())
->setBody($plainView, 'text/html')
// ->addPart($plainView, 'text/plain')
;
$retour = $this->get('mailer')->send($email);
//var_dump($mailManager);
return $this->redirectToRoute('users');
}else{
$error = "Un utilisateur existe déjà avec ce mail";
}
} catch (PDOException $pdoE) {
throw new PDOException("factoryCamps::update: ".$pdoE -> getMessage());
}
}
return $this->render('company/user_create.html.twig', array(
'form' => $form->createView(),
'error' => $error
));
}
@@ -308,4 +376,4 @@ class CompanyController extends Controller
'companyAds' => $companyAds,
]);
}
}
}
@@ -45,7 +45,7 @@ class AdSoftType extends AbstractType
$builder
->add('location_gmap', TextType::class, array(
'mapped' => false,
'label' => 'Localisation de l\'annonce',
'label' => 'Localisation du poste',
'attr' => array(
'value' => $location_gmap,
'class' => 'form-control'
@@ -58,7 +58,7 @@ class AdSoftType extends AbstractType
)
))
->add('description', TextareaType::class, array(
'label' => 'Description de l\'annonce',
'label' => 'Description du poste',
'attr' => array(
'class' => 'materialize-textarea',
'placeholder' => 'Décrire votre annonce',
@@ -92,7 +92,7 @@ class AdSoftType extends AbstractType
))
->add('temps_type', ChoiceType::class, array(
'mapped' => false,
'label' => 'Type d emploi',
'label' => 'Type d\'emploi',
'data' => $temps_type,
'choices' => array(
'Temps plein ' => 'FULL_TIME',
@@ -48,7 +48,7 @@ class AdType extends AbstractType
)
))
->add('title', TextType::class, array(
'label' => 'Titre de l\'annonce',
'label' => 'Intitulé du poste',
'attr' => array(
'placeholder' => 'Indiquer un titre',
'class' => 'form-control'
@@ -64,7 +64,7 @@ class AdType extends AbstractType
))
->add('location_gmap', TextType::class, array(
'mapped' => false,
'label' => 'Localisation de l\'annonce',
'label' => 'Localisation du poste',
'attr' => array(
'value' => $location_gmap,
'class' => 'form-control'
@@ -74,7 +74,7 @@ class AdType extends AbstractType
'data' => $location,
))
->add('description', TextareaType::class, array(
'label' => 'Description de l\'annonce',
'label' => 'Description du poste',
'attr' => array(
'class' => 'materialize-textarea',
'placeholder' => 'Décrire votre annonce',
@@ -101,7 +101,7 @@ class AdType extends AbstractType
))
->add('temps_type', ChoiceType::class, array(
'mapped' => false,
'label' => 'Type d emploi',
'label' => 'Type d\'emploi',
'data' => $temps_type,
'choices' => array(
'Temps plein ' => 'FULL_TIME',
@@ -39,7 +39,7 @@ class AdType extends AbstractType
)
))
->add('title', TextType::class, array(
'label' => 'Titre de l\'annonce',
'label' => 'Intitulé du poste',
'attr' => array(
'placeholder' => 'Indiquer un titre',
'class' => 'form-control'
@@ -47,7 +47,7 @@ class AdType extends AbstractType
))
->add('location_gmap', TextType::class, array(
'mapped' => false,
'label' => 'Localisation de l\'annonce',
'label' => 'Localisation du poste',
'attr' => array(
'value' => $location_gmap,
'class' => 'form-control'
@@ -68,7 +68,7 @@ class AdType extends AbstractType
)
))
->add('description', TextareaType::class, array(
'label' => 'Description de l\'annonce',
'label' => 'Description du poste',
'attr' => array(
'placeholder' => 'Décrire votre annonce',
'class' => 'form-control'
@@ -50,7 +50,7 @@ class AnswerRepository extends AbstractRepository
// Rechercher si le user a postulé dans l'heure a une annonce donnée
public function findExistAdAnswer($user, $addId)
{
$hier = date('Y-m-d', time() - 3600 * 1);
$hier = date('Y-m-d H:i:s', time() - 3600 * 1);
$qb = $this
->createQueryBuilder('a')
->select(['a','ad'])