Compare commits

...

5 Commits

Author SHA1 Message Date
llaniau b473869726 Merge branch 'V2.9.2' of https://git.e-declic.net/talents-tube/website into V2.9.2 2021-04-12 20:16:33 +02:00
llaniau 53bcf6e02a Bug 239 2021-04-12 20:12:25 +02:00
devtt 2ccb5cf08a Mise en commentaires FAQ 2021-04-12 14:59:55 +02:00
llaniau f84d8ed73b Bug date relance 2021-04-12 14:03:08 +02:00
llaniau 22db9a6da4 Bug inscription date relance 2021-04-12 12:59:51 +02:00
5 changed files with 498 additions and 134 deletions
@@ -12,7 +12,7 @@
class="btn btn-sm btn-link btn-block d-flex justify-content-between card-collapse__btn p-3 collapsed"
data-toggle="collapse" data-target="#faqAccordionOneCollapseOne" aria-expanded="false"
aria-controls="faqAccordionOneCollapseOne">
J’y arrive pas pourquoi jy arriverais avec la vidéo ?
Je narrive pas à recruter, pourquoi jy arriverais avec la vidéo ?
<span class="card-collapse__btn-arrow">
<i class="fa fa-arrow-down small"></i>
</span>
@@ -22,8 +22,13 @@
<div id="faqAccordionOneCollapseOne" class="collapse" aria-labelledby="faqAccordionOneHeadingOne"
data-parent="#faqAccordionOne" style="">
<div class="card-body card-collapse__body">
Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf
moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod.
Il faut changer, sadapter pour assurer la pérennité de votre entreprise.
Jentre sur une nouvelle dynamique. Jouvre les portes de lentreprise. Je casse les « on dit », les
croyances. Je donne la parole aux salariés. Jinnove ! Je madresse aux jeunes générations (Digital +
vidéo). Je vais chercher des comportements (venez comme vous êtes) que je vais former puisquil ny a
plus d’école qui forme sur mon métier. Je me montre positivement aux personnes qui habitent en proximité
de lentreprise. Pour la 1ère fois, je dis (je le montre) : venez vivre et travailler chez nous.
</div>
</div>
</div>
@@ -35,7 +40,7 @@
class="btn btn-sm btn-link btn-block d-flex justify-content-between card-collapse__btn collapsed p-3"
data-toggle="collapse" data-target="#faqAccordionOneCollapseTwo" aria-expanded="false"
aria-controls="faqAccordionOneCollapseTwo">
Je publie déjà mes offres vidéo sur mon site, sur Youtube,… en quoi Talents Tube peut faire mieux ?
Je publie déjà mes offres vidéo sur mon site, sur YouTube,… en quoi Talents Tube peut faire mieux ?
<span class="card-collapse__btn-arrow">
<i class="fa fa-arrow-down small"></i>
</span>
@@ -45,11 +50,57 @@
<div id="faqAccordionOneCollapseTwo" class="collapse" aria-labelledby="faqAccordionOneHeadingTwo"
data-parent="#faqAccordionOne">
<div class="card-body card-collapse__body">
Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf
moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod.
Sur Talents Tube, vos vidéos seront vues par des candidats ou des potentiels relais qui vous ramèneront
des candidatures. Sur YouTube, ce sera par les fans de Youtubeurs. Dans les 2 cas, vous pourrez en plus
faire du business et rendre fiers vos salariés. Si vous avez quelquun qui sen occupe, votre vidéo sera
surement vue sur YouTube (rappel : une vidéo ne vaut que si elle est vue). Talents Tube soccupe de la
visibilité par ses savoirs en communication sur Talents Tube mais aussi sur YouTube.
Avec YouTube, les candidats vous enverront des CV papier et rejoindront la pile. Vous ne saurez même pas
que cela vient de YouTube. Avec Talents Tube, vous avez un suivi (un ROI de votre investissement) de
lapport de votre vidéo offre demploi. Si vous mettez votre vidéo sur un jobboard ce sera
obligatoirement un lien que les candidats ne verront pas. Sur Talents Tube, les talents voient votre
vidéo avant de postuler.
Le plus fort chez Talents Tube, cest que vous recevez comme candidature des vidéos de motivation qui
sadressent directement à vous. Cest unique, engageant et vous allez gagner du temps pour sélectionner
et à lentretien dembauche. Vous pouvez même faire des réponses négatives en vidéo pour soigner encore
plus votre marque employeur.
</div>
</div>
</div>
<div class="card mb-2">
<div class="card-header card-collapse__header" id="faqAccordionOneHeadingThree">
<h5 class="mb-0">
<button
class="btn btn-sm btn-link btn-block d-flex justify-content-between card-collapse__btn collapsed p-3"
data-toggle="collapse" data-target="#faqAccordionOneCollapseThree" aria-expanded="false"
aria-controls="faqAccordionOneCollapseThree">
Quelle différence entre une vidéo « marque employeur », « métier » et « offre demploi » ? <span
class="card-collapse__btn-arrow">
<i class="fa fa-arrow-down small"></i>
</span>
</button>
</h5>
</div>
<div id="faqAccordionOneCollapseThree" class="collapse" aria-labelledby="faqAccordionOneHeadingThree"
data-parent="#faqAccordionOne">
<div class="card-body card-collapse__body">
Elles sont liées ( et donnent toutes la parole en vidéo à ceux qui vivent lentreprise)
LADN de mon entreprise se décline en différent métiers réalisés par les salariés et pour certains nous
recrutons de nouveaux collaborateurs.
Les métiers sont réalisés dans un contexte : lentreprise avec sa marque employeur qui recrute par ses
offres demploi.
Dans une offre demploi, on présente le métier et lentreprise par sa marque employeur.
Et distinctes
La Marque employeur cest comment on vit lentreprise ici, doù elle vient, où elle va : tout cela avec
la définition du sens individuellement et collectivement.
Le métier cest lensemble des compétences (savoir-faire et savoir être) pour réaliser une tâche précise
dans un collectif pour faire grandir lentreprise.
Une offre demploi cest une promesse dengager un nouveau projet professionnel durable dans
lentreprise.
</div>
</div>
</div>
<div class="card mb-2">
<div class="card-header card-collapse__header" id="faqAccordionOneHeadingTwo">
<h5 class="mb-0">
@@ -57,7 +108,7 @@
class="btn btn-sm btn-link btn-block d-flex justify-content-between card-collapse__btn collapsed p-3"
data-toggle="collapse" data-target="#faqAccordionOneCollapseTwo" aria-expanded="false"
aria-controls="faqAccordionOneCollapseTwo">
Quelle différence entre une vidéo « marque employeur », « métier » et « offre demploi » ?
Comment je vais faire pour trier 100 vidéos de réponse à mon annonce ?
<span class="card-collapse__btn-arrow">
<i class="fa fa-arrow-down small"></i>
</span>
@@ -67,11 +118,262 @@
<div id="faqAccordionOneCollapseTwo" class="collapse" aria-labelledby="faqAccordionOneHeadingTwo"
data-parent="#faqAccordionOne">
<div class="card-body card-collapse__body">
Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf
moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod.
Ne comparez pas avec les CV papier ! La vidéo génère tant de transparence que les candidats qui tentent
ou qui trichent avec les CV papier ne pourront pas le faire en vidéo. Cest surtout parce que vous aurez
bien défini et montré vos attentes dans votre offre demploi, que ceux qui postuleront auront toutes les
cartes pour vous dire : « cest moi que vous recherchez ! ». Donc, vous aurez beaucoup moins de
candidatures (gains de temps) et beaucoup plus dexcellents candidats (vous pourrez constituer votre
vivier de compétences). Le plus de Talents Tube : lentreprise conserve dans son espace recruteur les
vidéos de motivation. Cest une belle opportunité lors de lentretien professionnel annuel de revenir
sur le projet du salarié avant quil entre dans lentreprise.
</div>
</div>
</div>
<div class="card mb-2">
<div class="card-header card-collapse__header" id="faqAccordionOneHeadingTwo">
<h5 class="mb-0">
<button
class="btn btn-sm btn-link btn-block d-flex justify-content-between card-collapse__btn collapsed p-3"
data-toggle="collapse" data-target="#faqAccordionOneCollapseTwo" aria-expanded="false"
aria-controls="faqAccordionOneCollapseTwo">
Quand je recrute cest tout de suite ! pas le temps de faire une vidéo.
<span class="card-collapse__btn-arrow">
<i class="fa fa-arrow-down small"></i>
</span>
</button>
</h5>
</div>
<div id="faqAccordionOneCollapseTwo" class="collapse" aria-labelledby="faqAccordionOneHeadingTwo"
data-parent="#faqAccordionOne">
<div class="card-body card-collapse__body">
Si vous ne pouvez pas attendre 2 jours pour recruter le bon collaborateur, sollicitez votre partenaire
intérim. Il sait faire et les candidats prêts à travailler, à essayer rapidement sont chez eux. Sinon,
vous définissez bien votre poste et vous allez chercher un ou deux collègues qui vont vous aider ou
témoigner. Vous organisez le lendemain 2 heures de tournage avec le meilleur smartphone de lentreprise.
Puis vous faites le montage ou vous contactez Talents Tube pour le faire. 3 jours près votre vidéo est
prête à être diffusée sur Talents Tube et des supports de communication.
Et pourquoi pas en faire un projet dentreprise en allant chercher des professionnels qui vont
travailler sur un scénario, des images de qualité, du son. On se crée une banque dimages valorisantes
de lentreprise qui pourront être utilisées pour dautres communications.
</div>
</div>
</div>
<div class="card mb-2">
<div class="card-header card-collapse__header" id="faqAccordionOneHeadingTwo">
<h5 class="mb-0">
<button
class="btn btn-sm btn-link btn-block d-flex justify-content-between card-collapse__btn collapsed p-3"
data-toggle="collapse" data-target="#faqAccordionOneCollapseTwo" aria-expanded="false"
aria-controls="faqAccordionOneCollapseTwo">
Mais la vidéo cela coûte Cher !?
<span class="card-collapse__btn-arrow">
<i class="fa fa-arrow-down small"></i>
</span>
</button>
</h5>
</div>
<div id="faqAccordionOneCollapseTwo" class="collapse" aria-labelledby="faqAccordionOneHeadingTwo"
data-parent="#faqAccordionOne">
<div class="card-body card-collapse__body">
Elles sont liées ( et donnent toutes la parole en vidéo à ceux qui vivent lentreprise)
LADN de mon entreprise se décline en différent métiers réalisés par les salariés et pour certains nous
recrutons de nouveaux collaborateurs.
Les métiers sont réalisés dans un contexte : lentreprise avec sa marque employeur qui recrute par ses
offres demploi.
Dans une offre demploi, on présente le métier et lentreprise par sa marque employeur.
Et distinctes
La Marque employeur cest comment on vit lentreprise ici, doù elle vient, où elle va : tout cela avec
la définition du sens individuellement et collectivement.
Le métier cest lensemble des compétences (savoir-faire et savoir être) pour réaliser une tâche précise
dans un collectif pour faire grandir lentreprise.
Une offre demploi cest une promesse dengager un nouveau projet professionnel durable dans
lentreprise.
</div>
</div>
</div>
<div class="card mb-2">
<div class="card-header card-collapse__header" id="faqAccordionOneHeadingTwo">
<h5 class="mb-0">
<button
class="btn btn-sm btn-link btn-block d-flex justify-content-between card-collapse__btn collapsed p-3"
data-toggle="collapse" data-target="#faqAccordionOneCollapseTwo" aria-expanded="false"
aria-controls="faqAccordionOneCollapseTwo">
On cherche tous les mêmes candidats et il ny en a plus !
<span class="card-collapse__btn-arrow">
<i class="fa fa-arrow-down small"></i>
</span>
</button>
</h5>
</div>
<div id="faqAccordionOneCollapseTwo" class="collapse" aria-labelledby="faqAccordionOneHeadingTwo"
data-parent="#faqAccordionOne">
<div class="card-body card-collapse__body">
Si vous n’êtes pas prêts à vendre votre entreprise (A quelle valeur ?) car il ny a plus davenir, Il
faut sengager à être différent pour servir vos clients et surtout pérenniser votre entreprise.
Montrez votre différence dentreprise. Chez vous, vous faites forcément le métier différemment que chez
votre concurrent. Chez vous, on apprend différemment et vous êtes prêts à former ceux qui sont motivés
pour apprendre, grandir. Lambiance, le collectif est différent. Mettez en avant tous ces avantages qui
se sont mis en place au fil du temps. Cest votre politique Ressources humaines (une des valeurs
essentielles de votre entreprise) qui va devenir attractive pour les talents mais aussi les clients, les
fournisseurs, les investisseurs ou les acteurs du territoire.
</div>
</div>
</div>
<div class="card mb-2">
<div class="card-header card-collapse__header" id="faqAccordionOneHeadingTwo">
<h5 class="mb-0">
<button
class="btn btn-sm btn-link btn-block d-flex justify-content-between card-collapse__btn collapsed p-3"
data-toggle="collapse" data-target="#faqAccordionOneCollapseTwo" aria-expanded="false"
aria-controls="faqAccordionOneCollapseTwo">
Dans nos métiers, les professionnels sont tellement recherchés quils ne vont pas faire leffort de
faire une candidature vidéo
<span class="card-collapse__btn-arrow">
<i class="fa fa-arrow-down small"></i>
</span>
</button>
</h5>
</div>
<div id="faqAccordionOneCollapseTwo" class="collapse" aria-labelledby="faqAccordionOneHeadingTwo"
data-parent="#faqAccordionOne">
<div class="card-body card-collapse__body">
Il faut alors que vous fassiez un effort dattractivité. Lauthenticité des vidéos marque employeur et
offre demploi est surement une des meilleures voies. En utilisant Talents Tube, vous proposez un lien
unique, privilégié (grâce à la vidéo) avec le candidat pour son avenir dans une entreprise qui porte un
projet en accord avec le sien. Ne pensez-vous pas que ces talents tant recherchés ont la capacité de
choisir leur parcours professionnel pour du sens : vie intérêt du projet de lentreprise, du collectif
(avec rémunération en cohérence) -la relation avec le recruteur ?
La période COVID qui a apporté plus de digital, plus de vidéo et plus de sens doit inciter à travailler
le projet et le révéler en toute authenticité pour aller chercher des talents qui en feront de même pour
une relation durable pour un projet global.
</div>
</div>
</div>
<div class="card mb-2">
<div class="card-header card-collapse__header" id="faqAccordionOneHeadingTwo">
<h5 class="mb-0">
<button
class="btn btn-sm btn-link btn-block d-flex justify-content-between card-collapse__btn collapsed p-3"
data-toggle="collapse" data-target="#faqAccordionOneCollapseTwo" aria-expanded="false"
aria-controls="faqAccordionOneCollapseTwo">
La vidéo ne sapplique que dans certains secteurs
<span class="card-collapse__btn-arrow">
<i class="fa fa-arrow-down small"></i>
</span>
</button>
</h5>
</div>
<div id="faqAccordionOneCollapseTwo" class="collapse" aria-labelledby="faqAccordionOneHeadingTwo"
data-parent="#faqAccordionOne">
<div class="card-body card-collapse__body">
Chaque secteur, chaque entreprise, chaque collaborateur a ses spécificités comme dailleurs chaque
territoire. Par limage et/ou des témoignages (salariés mais aussi clients) on peut révéler nos atouts,
notre stratégie et notre distinction. La vidéo cest la vie que lon propose sans fard (si on triche par
la vidéo, cela se voit et produit des conséquences désastreuses durables).
Sil ny a pas de vidéos dans votre secteur, soyez le premier à franchir le pas pour vous, votre
entreprise, vos collaborateurs et votre métier ! Talents Tube est là pour vous guider.
</div>
</div>
</div>
<div class="card mb-2">
<div class="card-header card-collapse__header" id="faqAccordionOneHeadingTwo">
<h5 class="mb-0">
<button
class="btn btn-sm btn-link btn-block d-flex justify-content-between card-collapse__btn collapsed p-3"
data-toggle="collapse" data-target="#faqAccordionOneCollapseTwo" aria-expanded="false"
aria-controls="faqAccordionOneCollapseTwo">
Est-ce possible de demander aux candidats de répondre à plusieurs questions pour faire sa vidéo ?
<span class="card-collapse__btn-arrow">
<i class="fa fa-arrow-down small"></i>
</span>
</button>
</h5>
</div>
<div id="faqAccordionOneCollapseTwo" class="collapse" aria-labelledby="faqAccordionOneHeadingTwo"
data-parent="#faqAccordionOne">
<div class="card-body card-collapse__body">
Loffre de valeur globale des vidéos offre demploi + vidéo marque employeur + vidéo territoire offre au
candidat une multitude d’éléments concrets pour se positionner en vidéo. En laissant au talent une
liberté de présentation, le recruteur découvre ses compétences en matière de structuration des pensées,
dinnovation, de compréhension de lentreprise et de son projet, dautonomie, de force de proposition.
Lensemble de celles-ci est essentiel dans la majorité des emplois. Si on pose des questions, on enferme
le candidat dans un cadre (scolaire) et on ne bénéficie pas du regard porté sur lensemble des messages
transmis par lentreprise en vidéo. Talents Tube conseille toutefois aux recruteurs qui souhaitent que
le candidat réponde à des questions en vidéo de les inclure en fin de vidéo offre demploi.
</div>
</div>
</div>
<div class="card mb-2">
<div class="card-header card-collapse__header" id="faqAccordionOneHeadingEleven">
<h5 class="mb-0">
<button
class="btn btn-sm btn-link btn-block d-flex justify-content-between card-collapse__btn collapsed p-3"
data-toggle="collapse" data-target="#faqAccordionOneCollapseEleven" aria-expanded="false"
aria-controls="faqAccordionOneCollapseEleven">
Suis-je sûr d'avoir des candidatures vidéo avec Talents tube ?
<span class="card-collapse__btn-arrow">
<i class="fa fa-arrow-down small"></i>
</span>
</button>
</h5>
</div>
<div id="faqAccordionOneCollapseEleven" class="collapse" aria-labelledby="faqAccordionOneHeadingEleven"
data-parent="#faqAccordionOne">
<div class="card-body card-collapse__body">
Plusieurs entreprises, nous ont confirmé quils avaient des candidats sur Talents tube alors quils ne
recevaient plus de CV papier. Il peut arriver que des entreprises ne reçoivent pas de candidatures
vidéo. Talents Tube étudie alors précisément cette situation avec humilité (nous ne sommes pas non plus
des magiciens). Il faut peut-être communiquer différemment avec par exemple des achats despaces sur les
réseaux sociaux, tisser des partenariats de diffusion, ou sattacher les services dun cabinet de
recrutement.
</div>
</div>
</div>
<div class="card mb-2">
<div class="card-header card-collapse__header" id="faqAccordionOneHeadingTwelve">
<h5 class="mb-0">
<button
class="btn btn-sm btn-link btn-block d-flex justify-content-between card-collapse__btn collapsed p-3"
data-toggle="collapse" data-target="#faqAccordionOneCollapseTwelve" aria-expanded="false"
aria-controls="faqAccordionOneCollapseTwelve">
Les candidats qui ne veulent pas faire de vidéo peuvent ils me répondre avec une candidature classique
sur papier ?
<span class="card-collapse__btn-arrow">
<i class="fa fa-arrow-down small"></i>
</span>
</button>
</h5>
</div>
<div id="faqAccordionOneCollapseTwelve" class="collapse" aria-labelledby="faqAccordionOneHeadingTwelve"
data-parent="#faqAccordionOne">
<div class="card-body card-collapse__body">
Cest dommage pour eux de ne pas présenter leur personnalité, leur motivation et ce quils ont trouvé
dexcellent pour leur parcours professionnel dans la vidéo doffre demploi de lentreprise. Sur Talents
Tube, ils ont les coordonnées et le site internet de lentreprise. Ils peuvent à loisir, après avoir vu
loffre demploi, envoyer leur CV papier. Ceux-ci arriveront sur la pile et seront, on lespère,
consultés comme les autres. (Rappel : Talents Tube permet une mise en relation directe et humaine avec
le recruteur)
</div>
</div>
</div>
</div>
<!-- End Collapse -->
</div>
@@ -2,7 +2,7 @@
<div class="gradient-overlay-half-dark-v3 bg-img-hero" style="background-image: url({{ asset(urlImage)}}); background-size:cover;">
<!-- Main Content -->
<div class="d-lg-flex align-items-lg-center height-85vh--lg">
<div class="d-lg-flex align-items-lg-center height-100vh--lg">
<div class="container space-2 space-0--lg mt-lg-8">
<div class="row justify-content-lg-between align-items-lg-center">
<div class="col-lg-5 mb-7 mb-lg-0">
@@ -39,7 +39,7 @@
{% include 'defaultv2/accueil/blocLogoSecteurs.html.twig' %}
{% include 'defaultv2/accueil/blocNotreMission.html.twig' %}
{% include 'defaultv2/accueil/blocRecap.html.twig' %}
{% include 'defaultv2/accueil/blocFAQ.html.twig' %}
<!--include 'defaultv2/accueil/blocFAQ.html.twig'-->
{% include 'defaultv2/accueil/blocTarifs.html.twig' %}
{% include 'defaultv2/accueil/blocRealisation.html.twig' %}
{% include 'defaultv2/accueil/blocPourquoiNous.html.twig' %}
@@ -23,6 +23,7 @@ use AppBundle\Form\CareersType;
use AppBundle\Form\FormationsType;
use AppBundle\Form\LanguagesType;
use Symfony\Component\Security\Http\Event\InteractiveLoginEvent;
use \DateTime;
class SecurityController extends FOSRestController
{
@@ -233,115 +234,109 @@ class SecurityController extends FOSRestController
else{
$phoneTalent = "";
}
if ($request->get('address1')){
$address1Talent = htmlspecialchars($request->get('address1'));
}
else{
$address1Talent = "";
}
// if ($request->get('address1')){
// $address1Talent = htmlspecialchars($request->get('address1'));
// }
// else{
// $address1Talent = "";
// }
if ($request->get('address2')){
$address2Talent = htmlspecialchars($request->get('address2'));
}
else{
$address2Talent = "";
}
// if ($request->get('address2')){
// $address2Talent = htmlspecialchars($request->get('address2'));
// }
// else{
// $address2Talent = "";
// }
if ($request->get('zipCode')){
$zipTalent = htmlspecialchars($request->get('zipCode'));
}
else{
$zipTalent = "";
}
// if ($request->get('zipCode')){
// $zipTalent = htmlspecialchars($request->get('zipCode'));
// }
// else{
// $zipTalent = "";
// }
if ($request->get('city')){
$cityTalent = htmlspecialchars($request->get('city'));
// if ($request->get('city')){
// $cityTalent = htmlspecialchars($request->get('city'));
// }
// else{
// $cityTalent = "";
// }
// if ($request->get('country')){
// $countryTalent = htmlspecialchars($request->get('country'));
// }
// else{
// $countryTalent = "";
// }
$titleTalent = htmlspecialchars($request->get('currentJob'));
if ($request->get('geoloc')){
$geoloc = htmlspecialchars($request->get('geoloc'));
}else{
$geoloc ="";
}
else{
$cityTalent = "";
if ($request->get('street_number')){
$street_number = htmlspecialchars($request->get('street_number'));
}else{
$street_number ="";
}
if ($request->get('route')){
$route = htmlspecialchars($request->get('route'));
}else{
$route ="";
}
if ($request->get('locality')){
$locality = htmlspecialchars($request->get('locality'));
}else{
$locality ="";
}
if ($request->get('administrative_area_level_2')){
$administrative_area_level_2 = htmlspecialchars($request->get('administrative_area_level_2'));
}else{
$administrative_area_level_2 ="";
}
if ($request->get('administrative_area_level_1')){
$administrative_area_level_1 = htmlspecialchars($request->get('administrative_area_level_1'));
}else{
$administrative_area_level_1 ="";
}
if ($request->get('country')){
$countryTalent = htmlspecialchars($request->get('country'));
$country = htmlspecialchars($request->get('country'));
}else{
$country ="";
}
else{
$countryTalent = "";
if ($request->get('postal_code')){
$postal_code = htmlspecialchars($request->get('postal_code'));
}else{
$postal_code ="";
}
$titleTalent = htmlspecialchars($request->get('currentJob'));
$geoloc = htmlspecialchars($request->get('geoloc'));
$street_number = htmlspecialchars($request->get('street_number'));
$route = htmlspecialchars($request->get('route'));
$locality = htmlspecialchars($request->get('locality'));
$administrative_area_level_2 = htmlspecialchars($request->get('administrative_area_level_2'));
$administrative_area_level_1 = htmlspecialchars($request->get('administrative_area_level_1'));
$country = htmlspecialchars($request->get('country'));
$postal_code = htmlspecialchars($request->get('postal_code'));
if ($request->get('formatted_address')){
$formatted_address = str_replace('"', '', $request->get('formatted_address'));
$lat = stripslashes($request->get('lat'));
$lng = stripslashes($request->get('lng'));
}else{
$formatted_address ="";
}
if ($request->get('lat')){
$lat = stripslashes($request->get('lat'));
}else{
$lat ="";
}
if ($request->get('lng')){
$lng = stripslashes($request->get('lng'));
}else{
$lng ="";
}
$appellationId="";
$appellationLibelle="";
$competences =null;
$codeRome=null;
if ($request->get('appellationId')){
$appellationId = $request->get('appellationId');
$appellationLibelle = $request->get('appellationLibelle');
$url="https://recruteur.talentstube.com/api/getDetailAppelation?q=".$appellationId;
$curl = curl_init();
curl_setopt($curl, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json',
'Accept : application/json',
));
curl_setopt_array($curl, array(
CURLOPT_URL => $url,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => array(
"Accept: application/json",
),
));
//TODO transformer en array comme dans AdController
$detailMetier = curl_exec($curl);
$parsed_json = json_decode($detailMetier);
$codeRome = $parsed_json->{'metier'}->{'code'};
//dump($competencesDeBase);
//echo "competencesDeBase!!2 --------------- <br>";
foreach ($parsed_json->{'competencesDeBase'} as $json){
//echo( $json->{'code'})." / ";
//echo( $json->{'libelle'});
$competences[] = Array (
intval($json->{'code'}) => $json->{'libelle'}
);
//echo "<br>";
}
//echo "<br>";
foreach ($parsed_json->{'groupesCompetencesSpecifiques'} as $json){
foreach ($json->{'competences'} as $json2){
//echo( $json2->{'code'})." / ";
//echo( $json2->{'libelle'});
//echo "<br>";
$competences[] = Array (
intval($json2->{'code'}) => $json2->{'libelle'}
);
}
}
$err = curl_error($curl);
if (!$err)
{
}
curl_close($curl);
}
//
$newLinkedin = htmlspecialchars($request->get('linkedin'));
$newTwitter = htmlspecialchars($request->get('twitter'));
@@ -362,34 +357,95 @@ class SecurityController extends FOSRestController
$array = Array ();
// \"$formatted_address
if($formatted_address!=""){
$array[] = Array (
"street_number" => $street_number,
"route" => $route,
"administrative_area_level_2" => $administrative_area_level_2,
"administrative_area_level_1" => $administrative_area_level_1,
"country" => $country,
"locality" => $locality,
"postal_code" => $postal_code,
"formatted_address" => $formatted_address,
"lat" => stripslashes($lat),
"lng" => stripslashes($lng)
);
$array[] = Array (
"street_number" => $street_number,
"route" => $route,
"administrative_area_level_2" => $administrative_area_level_2,
"administrative_area_level_1" => $administrative_area_level_1,
"country" => $country,
"locality" => $locality,
"postal_code" => $postal_code,
"formatted_address" => $formatted_address,
"lat" => stripslashes($lat),
"lng" => stripslashes($lng)
);
$usr->setGeoloc($array);
}
$usr->setGeoloc($array);
$talent->setPhoneTalent($phoneTalent);
$companyManager->updateTalent($usr);
//$talent->setPhoneTalent($phoneTalent);
$billing = array(
'address1' => $address1Talent,
'address2' => $address2Talent,
'postcode' => $zipTalent,
'city' => $cityTalent,
'country' => $countryTalent,
);
$addrs['billing'] = $billing;
$talent->setAddresses($addrs);
// $billing = array(
// 'address1' => $address1Talent,
// 'address2' => $address2Talent,
// 'postcode' => $zipTalent,
// 'city' => $cityTalent,
// 'country' => $countryTalent,
// );
// $addrs['billing'] = $billing;
// $talent->setAddresses($addrs);
if ($request->get('appellationId')){
$appellationId = $request->get('appellationId');
$appellationLibelle = $request->get('appellationLibelle');
$url="https://recruteur.talentstube.com/api/getDetailAppelation?q=".$appellationId;
$curl = curl_init();
curl_setopt($curl, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json',
'Accept : application/json',
));
curl_setopt_array($curl, array(
CURLOPT_URL => $url,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => array(
"Accept: application/json",
),
));
$detailMetier = curl_exec($curl);
$parsed_json = json_decode($detailMetier);
$codeRome = $parsed_json->{'metier'}->{'code'};
//dump($competencesDeBase);
//echo "competencesDeBase!!2 --------------- <br>";
foreach ($parsed_json->{'competencesDeBase'} as $json){
//echo( $json->{'code'})." / ";
//echo( $json->{'libelle'});
$competences[] = Array (
intval($json->{'code'}) => $json->{'libelle'}
);
//echo "<br>";
}
//echo "<br>";
foreach ($parsed_json->{'groupesCompetencesSpecifiques'} as $json){
foreach ($json->{'competences'} as $json2){
//echo( $json2->{'code'})." / ";
//echo( $json2->{'libelle'});
//echo "<br>";
$competences[] = Array (
intval($json2->{'code'}) => $json2->{'libelle'}
);
}
}
$err = curl_error($curl);
if (!$err)
{
}
curl_close($curl);
}
$usr->setAppellationId($appellationId);
$usr->setAppellationLibelle($appellationLibelle);
@@ -14,6 +14,7 @@ use JMS\Serializer\Annotation\Groups;
use JMS\Serializer\Annotation\Type;
use AppBundle\Utils\Traits\CareerJsonTrait;
use \DateTime;
/**
* @ORM\Entity(repositoryClass="AppBundle\Repository\UserRepository")
@@ -271,8 +272,8 @@ class User extends BaseUser
$this->products = new ArrayCollection();
$this->recommendations = new ArrayCollection();
$this->sendedRecommendations = new ArrayCollection();
$this->datePremiereRelance = new DateTime('2021-06-01');
$this->dateDeuxiemeRelance = new DateTime('2021-06-01');
$this->datePremiereRelance = null;
$this->dateDeuxiemeRelance = null;
}
/***********************
@@ -487,8 +488,12 @@ class User extends BaseUser
if($this->getCompany()->getType()){
$type=$this->getCompany()->getType();
}
}
}$formatted_address ="";
if($this->getGeoloc()){
if($this->getGeoloc()[0]){
$formatted_address = $this->getGeoloc();
}
}
$card = array(
"firstname" => $this->getFirstname(),
"lastname" => $this->getLastname(),
@@ -509,6 +514,7 @@ class User extends BaseUser
"type" => $type,
"currentJob" => $this->getCompany()->getExtra()["titleTalent"],
"geoloc" => $this->getGeoloc(),
"formattedAddress" => $formatted_address,
"website" => $this->getCompany()->getWebsite(),
"appellationId" => $this->getAppellationId(),
"appellationLibelle" => $this->getAppellationLibelle(),