Compare commits
19 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 4f185984f9 | |||
| 26e781c230 | |||
| b68e1c6050 | |||
| ee98a19150 | |||
| 0e512cb8a2 | |||
| 24a5ac8cbf | |||
| 6920e8faa0 | |||
| 5aa8079b0a | |||
| cc83f88458 | |||
| 4edfdfd187 | |||
| 605834be03 | |||
| dca7bf9efe | |||
| 99434105e3 | |||
| d018b73fc8 | |||
| 10975021c3 | |||
| 2af32f2835 | |||
| 2c41f2aa02 | |||
| ef50bfddff | |||
| 029d86649a |
+6
-1
@@ -70,7 +70,12 @@
|
||||
<th width="11%"><input id='input4' type='text' class='form-control' placeholder='par prénom' style='font-family:Arial, FontAwesome; width:100%'/></th>
|
||||
<th width="25%"><input id='input5' type='text' class='form-control' placeholder='par entreprise / offre' style='font-family:Arial, FontAwesome; width:100%'/></th>
|
||||
|
||||
<th width="15%"><input id='input7' type='text' class='form-control' placeholder='par statut' style='font-family:Arial, FontAwesome; width:100%'/></th>
|
||||
<th width="15%">
|
||||
<select id='input7'>
|
||||
<option value="sended">Envoyé</option>
|
||||
<option value="draft">Brouillon</option>
|
||||
</select>
|
||||
</th>
|
||||
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
@@ -22,7 +22,8 @@
|
||||
<th>ID</th>
|
||||
<th>Titre</th>
|
||||
<th>Utilisateur</th>
|
||||
<th>Status</th>
|
||||
<th>Annonce?</th>
|
||||
<th>Date de réponse</th>
|
||||
<th>action</th>
|
||||
</tr>
|
||||
</thead>
|
||||
@@ -30,11 +31,21 @@
|
||||
<tbody>
|
||||
{% for m in medias %}
|
||||
<tr>
|
||||
<td>{{ m.id }}</td>
|
||||
<td>{{ m.title }}</td>
|
||||
<td>{{ m.creator.firstname }} {{ m.creator.lastname }}</td>
|
||||
<td>{{ m.mediaid }}</td>
|
||||
<td><a href="{{ chemin }}{{ m.original_url }}" target="_blank">{{ m.title }}</a></td>
|
||||
<td>{{ m.firstname }} {{ m.lastname }} - ({{ m.email }}) </td>
|
||||
<td>
|
||||
<span class="label pull-right bg-orange">{{ m.status }}</span>
|
||||
{% if m.answerid %}
|
||||
{% if m.adtitle %}
|
||||
({{ m.adtitle }})
|
||||
{% else %}
|
||||
({{ m.ctitle }})
|
||||
{% endif %}
|
||||
{% else %}
|
||||
<b>Vidéo orpheline</b>
|
||||
{% endif %}</td>
|
||||
<td>
|
||||
<span class="label pull-right bg-orange">{{ m.sendtime }}</span>
|
||||
</td>
|
||||
<td>
|
||||
<a href="{{ path('admin_video_moderation',{'id':m.id}) }}">
|
||||
@@ -67,9 +78,11 @@
|
||||
{"targets": 0, "searchable": true, "orderable": true},
|
||||
{"targets": 1, "searchable": true, "orderable": true},
|
||||
{"targets": 2, "searchable": true, "orderable": true},
|
||||
{"targets": 3, "searchable": true, "orderable": true, "className": "text-center"},
|
||||
{"targets": 4, "searchable": false, "orderable": false, "className": "text-center"},
|
||||
]
|
||||
{"targets": 3, "searchable": true, "orderable": true},
|
||||
{"targets": 4, "searchable": true, "orderable": true, "className": "text-center"},
|
||||
{"targets": 5, "searchable": false, "orderable": false, "className": "text-center"},
|
||||
],
|
||||
"order": [[ 0, "desc" ]]
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
@@ -21,6 +21,9 @@
|
||||
<th class="col-md-2">Date de création</th>
|
||||
<th>Prénom - Nom</th>
|
||||
<th>Email</th>
|
||||
<th>Dernière connexion</th>
|
||||
<th>Validé</th>
|
||||
<th>Annonce?</th>
|
||||
<th class="col-md-1">Vidéos</th>
|
||||
<th class="col-md-1">A la une</th>
|
||||
<th>Action</th>
|
||||
@@ -29,12 +32,34 @@
|
||||
<tbody>
|
||||
{% for talent in t if talent.MainUser %}
|
||||
{% set user = talent.users|first %}
|
||||
{% set adId = talent.description|split(':') %}
|
||||
<tr>
|
||||
<td data-order="{{ talent.cTime|date('U') }}">{{ talent.cTime|date('d/m/Y') }}</td>
|
||||
<td>
|
||||
{{ user.firstname }} {{ user.lastname }}
|
||||
{{ user.firstname }} / {{ user.lastname }} - {% if talent.extra["phoneTalent"] is defined %} (Tel : {{ talent.extra["phoneTalent"] }}) {% endif %}
|
||||
</td>
|
||||
<td><a href="mailto:{{ user.email }}">{{ user.email }}</a></td>
|
||||
<td>
|
||||
{% if user.enabled == 1 %}
|
||||
{{ user.lastLogin|date('d-m-Y h:m') }}
|
||||
{% endif %}</td>
|
||||
<td>
|
||||
{% if user.enabled == 1 %}
|
||||
oui
|
||||
{% else %}
|
||||
non
|
||||
{% endif %}
|
||||
</td>
|
||||
<td> {% if adId|length > 1 %}
|
||||
{% if user.medias|length > 0 %}
|
||||
|
||||
{% else %}
|
||||
{% if adId[1] and adId[1] !="" %}
|
||||
<a href="https://www.talentstube.com/Offre/{{ adId[1]|replace({' ': ''}) }}-{{ adId[1] }}" target="_blank">Lien vers l'annonce avant inscription</a>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
</td>
|
||||
<td>
|
||||
{% if user.medias|length > 0 %}
|
||||
{{ user.medias|length }}
|
||||
@@ -90,9 +115,12 @@
|
||||
{"targets": 0, "searchable": true, "orderable": true},
|
||||
{"targets": 1, "searchable": true, "orderable": true},
|
||||
{"targets": 2, "searchable": true, "orderable": true},
|
||||
{"targets": 3, "searchable": true, "orderable": true, "className": "text-center"},
|
||||
{"targets": 4, "searchable": true, "orderable": true, "className": "text-center"},
|
||||
{"targets": 5, "searchable": false, "orderable": false, "className": "text-center"},
|
||||
{"targets": 3, "searchable": true, "orderable": true},
|
||||
{"targets": 4, "searchable": true, "orderable": true},
|
||||
{"targets": 5, "searchable": true, "orderable": true},
|
||||
{"targets": 6, "searchable": true, "orderable": true, "className": "text-center"},
|
||||
{"targets": 7, "searchable": true, "orderable": true, "className": "text-center"},
|
||||
{"targets": 8, "searchable": false, "orderable": false, "className": "text-center"},
|
||||
],
|
||||
"order": [[0, "desc"]]
|
||||
});
|
||||
|
||||
@@ -1,9 +1,12 @@
|
||||
{% extends 'base.html.twig' %}
|
||||
{% extends 'basev2.html.twig' %}
|
||||
|
||||
{% block metarobot %}<meta name="robots" content="noindex,follow">{% endblock %}
|
||||
{% block metarobot %}
|
||||
<meta name="robots" content="noindex,follow">
|
||||
<link rel="canonical" href="https://www.talentstube.com/Offres" />
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
{% if typeObject == 'Ad' %}
|
||||
{# {% if typeObject == 'Ad' %}
|
||||
{% set subtitle = 'Candidature à l\'offre d\'emploi:' %}
|
||||
{% set title = object.title %}
|
||||
{% set route = "answer_create_ad_step2" %}
|
||||
@@ -11,20 +14,20 @@
|
||||
{% set subtitle = 'Candidature pour l\'entreprise :' %}
|
||||
{% set title = object.brandName %}
|
||||
{% set route = "answer_create_company_step2" %}
|
||||
{% endif %}
|
||||
{% endif %} #}
|
||||
|
||||
<div class="fluid-container bg-grey-3">
|
||||
<div class="container contentWrapper contentPage">
|
||||
<div class="row">
|
||||
<div class="col s12">
|
||||
{# <div class="col s12">
|
||||
<div class="col-content center-align m-t-20">
|
||||
<strong>{{ subtitle }}</strong>
|
||||
<h3 class="color-blue1 m-0 m-t-10">{{ title }}</h3>
|
||||
</div>
|
||||
</div>
|
||||
</div> #}
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col s12 m6 ">
|
||||
{# <div class="col s12 m6 ">
|
||||
<div class="col-content p-15 bg-blue-1 center-align whiteColor z-depth-2 choice-answer-item">
|
||||
<img src="{{ asset('img/img_popupcv/webcam_cv_video.svg')}}">
|
||||
<h3>J'enregistre mon CV vidéo !</h3>
|
||||
@@ -40,13 +43,13 @@
|
||||
<a href="{{ path(route,{'id': object.id, 'type': 'import'}) }}" class="btn btn btn-default">Importer mon CV vidéo</a><br /><br />
|
||||
<a id="link-videotheque" href="{{ route_videotheque }}">Choisir une vidéo de ma vidéothèque</a>
|
||||
</div>
|
||||
</div>
|
||||
</div> #}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
{% block javascripts %}
|
||||
{{ parent() }}
|
||||
{# {{ parent() }}
|
||||
<script type="text/javascript">
|
||||
{% if mustLogin == true %}
|
||||
$('#link-videotheque').on('click',function(event){
|
||||
@@ -54,5 +57,5 @@
|
||||
$('#modal_login').modal('open');
|
||||
});
|
||||
{% endif %}
|
||||
</script>
|
||||
</script> #}
|
||||
{% endblock %}
|
||||
@@ -80,7 +80,7 @@ twig:
|
||||
globals:
|
||||
push_public_key: "%push_params.public_key%"
|
||||
fairlane_cookie_consent: '@fairlane_cookie_consent.twig'
|
||||
version: '2.5.2'
|
||||
version: '2.6.1'
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -159,6 +159,16 @@ class AnswerController extends AbstractController
|
||||
// But if that werent't the case, its value should have been tested
|
||||
// before assigning it to $responseTemp
|
||||
$responseTemp = $answer->getUser()->getFirstname();
|
||||
if($answer->getUser()->getCompany()){
|
||||
if($answer->getUser()->getCompany()->getCv()){
|
||||
if ($this->container->get( 'kernel' )->getEnvironment() == "dev") {
|
||||
$cheminCv = "../../../../../uploads/cv/";
|
||||
}else{
|
||||
$cheminCv = "../../../../uploads/cv/";
|
||||
}
|
||||
$responseTemp .= "<br> <a target='_blank' href='".$cheminCv.$answer->getUser()->getCompany()->getCv()."'>Lien vers le CV papier</a>";
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -206,7 +216,12 @@ class AnswerController extends AbstractController
|
||||
}
|
||||
case 'status':
|
||||
{
|
||||
$responseTemp = "<span id='status_".$answer->getId()."'> ".$answer->getstatus()."</span> ";
|
||||
if($answer->getstatus()=="SENDED"){
|
||||
$status= "ENVOYE";
|
||||
}else{
|
||||
$status=$answer->getstatus();
|
||||
}
|
||||
$responseTemp = "<span id='status_".$answer->getId()."'> ".$status."</span> ";
|
||||
|
||||
|
||||
break;
|
||||
|
||||
@@ -24,10 +24,15 @@ class MediaController extends Controller
|
||||
public function adminVideoModerationListAction()
|
||||
{
|
||||
$em = $this->getDoctrine()->getManager();
|
||||
$medias = $em->getRepository('AppBundle:Media')->findByStatus('TO_MODERATE');
|
||||
|
||||
$medias = $em->getRepository('AppBundle:Media')->getMedias();
|
||||
if ($this->container->get( 'kernel' )->getEnvironment() == "dev") {
|
||||
$chemin="../../../../uploads/videos/";
|
||||
}else{
|
||||
$chemin="../../../uploads/videos/";
|
||||
}
|
||||
return $this->render('admin/media_list_moderation.html.twig', array(
|
||||
'medias' => $medias,
|
||||
'chemin' => $chemin,
|
||||
));
|
||||
}
|
||||
|
||||
|
||||
@@ -271,42 +271,37 @@ class AnswerController extends Controller
|
||||
*/
|
||||
public function talentCreateSpontaneaousAction(Request $request, Company $company)
|
||||
{
|
||||
$securityContext = $this->container->get('security.authorization_checker');
|
||||
if (!$securityContext->isGranted('IS_AUTHENTICATED_FULLY')) {
|
||||
$this->createAnonymousUser();
|
||||
}
|
||||
$em = $this->getDoctrine()->getManager();
|
||||
$existAnswer = $em->getRepository('AppBundle:Answer')->findOneBy(array('user' => $this->getUser(), 'company' => $company));
|
||||
if ($existAnswer) {
|
||||
if ($existAnswer->getStatus() == "SENDED") {
|
||||
$answer = new Answer($this->getUser(), null, 'DRAFT', $company);
|
||||
$em->persist($answer);
|
||||
$em->flush();
|
||||
} else {
|
||||
$answer = $existAnswer;
|
||||
}
|
||||
} else {
|
||||
$answer = new Answer($this->getUser(), null, 'DRAFT', $company);
|
||||
$em->persist($answer);
|
||||
$em->flush();
|
||||
}
|
||||
$em->persist($answer);
|
||||
$em->flush();
|
||||
$user = $this->getUser();
|
||||
$mustLogin = false;
|
||||
if (!$user->hasRole('ROLE_TALENT')) {
|
||||
$mustLogin = true;
|
||||
}
|
||||
$route_videotheque = $this->generateUrl("answer_create_company_step2", array('id' => $company->getId(), 'type' => 'videotheque'));
|
||||
$this->get('twig')->addGlobal('destination_login', $route_videotheque);
|
||||
// $securityContext = $this->container->get('security.authorization_checker');
|
||||
// if (!$securityContext->isGranted('IS_AUTHENTICATED_FULLY')) {
|
||||
// $this->createAnonymousUser();
|
||||
// }
|
||||
// $em = $this->getDoctrine()->getManager();
|
||||
// $existAnswer = $em->getRepository('AppBundle:Answer')->findOneBy(array('user' => $this->getUser(), 'company' => $company));
|
||||
// if ($existAnswer) {
|
||||
// if ($existAnswer->getStatus() == "SENDED") {
|
||||
// $answer = new Answer($this->getUser(), null, 'DRAFT', $company);
|
||||
// $em->persist($answer);
|
||||
// $em->flush();
|
||||
// } else {
|
||||
// $answer = $existAnswer;
|
||||
// }
|
||||
// } else {
|
||||
// $answer = new Answer($this->getUser(), null, 'DRAFT', $company);
|
||||
// $em->persist($answer);
|
||||
// $em->flush();
|
||||
// }
|
||||
// $em->persist($answer);
|
||||
// $em->flush();
|
||||
// $user = $this->getUser();
|
||||
// $mustLogin = false;
|
||||
// if (!$user->hasRole('ROLE_TALENT')) {
|
||||
// $mustLogin = true;
|
||||
// }
|
||||
// $route_videotheque = $this->generateUrl("answer_create_company_step2", array('id' => $company->getId(), 'type' => 'videotheque'));
|
||||
// $this->get('twig')->addGlobal('destination_login', $route_videotheque);
|
||||
|
||||
return $this->render('answer/answer_create_step1.html.twig', array(
|
||||
'typeObject' => 'Company',
|
||||
'answer' => $answer,
|
||||
'object' => $company,
|
||||
'mustLogin' => $mustLogin,
|
||||
'route_videotheque' => $route_videotheque,
|
||||
));
|
||||
return $this->render('answer/answer_create_step1.html.twig'
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -173,34 +173,44 @@ class AnswerController extends FOSRestController
|
||||
|
||||
$mailManager = $this->get('app.mail_manager');
|
||||
foreach ($usersCompany as $user){
|
||||
$mj = new Client($this->getParameter('mailjet_public'), $this->getParameter('mailjet_private'));
|
||||
$mj = new Client("355697fac93fca865660734b4fdffaeb", "ddecf75321ca89c09e561857b13534c8");
|
||||
$link = $this->generateUrl('company_answer_show', array('id' => $answer->getId()), UrlGeneratorInterface::ABSOLUTE_URL);
|
||||
$contactMail = $user->getEmail();
|
||||
if ($this->container->get( 'kernel' )->getEnvironment() == "dev") {
|
||||
$contactMail = "dev@talentstube.com";
|
||||
|
||||
}else{
|
||||
// $complSubject="";
|
||||
// if($user->getEmail()){
|
||||
// $complSubject=$user->getEmail();
|
||||
// }
|
||||
if($answer->getUser()){
|
||||
$body = [
|
||||
'FromEmail' => "noreply@talentstube.io",
|
||||
'FromName' => "Talents Tube",
|
||||
// 'To' => $contactMail,
|
||||
'Subject' => "Une nouvelle candidature reçue sur Talents Tube ",
|
||||
'MJ-TemplateID' =>2297838 ,
|
||||
'MJ-TemplateLanguage' => true,
|
||||
'Recipients' => [
|
||||
[
|
||||
'Email' => $contactMail,
|
||||
'Name' => $user->getLastname(),
|
||||
'Vars' => [
|
||||
'prenomRecruteur' => $user->getFirstname(),
|
||||
'nomRecruteur' => $user->getLastname(),
|
||||
'prenom' => $answer->getUser()->getFirstname(),
|
||||
'nom' => $answer->getUser()->getLastname(),
|
||||
'urlCandidature' => $link,
|
||||
]
|
||||
]
|
||||
],
|
||||
|
||||
];
|
||||
$response = $mj->post(Resources::$Email, ['body' => $body]);
|
||||
$response->success() ;
|
||||
}
|
||||
}
|
||||
$body = [
|
||||
'FromEmail' => "noreply@talentstube.io",
|
||||
'FromName' => "Talents Tube",
|
||||
'Subject' => "Une nouvelle candidature reçue sur Talents Tube",
|
||||
'MJ-TemplateID' =>2164146 ,
|
||||
'MJ-TemplateLanguage' => true,
|
||||
'Recipients' => [
|
||||
[
|
||||
'Email' => $contactMail,
|
||||
'Vars' => [
|
||||
'prenomRecruteur' => $user->getFirstname(),
|
||||
'nomRecruteur' => $user->getLastname(),
|
||||
'prenom' => $answer->getUser()->getFirstname(),
|
||||
'nom' => $answer->getUser()->getLastname(),
|
||||
'imgCandidature' => $img,
|
||||
'urlCandidature' => $link,
|
||||
]
|
||||
]
|
||||
]
|
||||
];
|
||||
$response = $mj->post(Resources::$Email, ['body' => $body]);
|
||||
$response->success() && var_dump($response->getData());
|
||||
|
||||
|
||||
// $mailManager->sendMail(
|
||||
|
||||
@@ -100,6 +100,7 @@ class SecurityController extends FOSRestController
|
||||
$alias = $slugService->slugify($user->getId() . "-" . $user->getFirstname() . "-" . $user->getLastname());
|
||||
$company->setAlias($alias);
|
||||
$company->setType("TALENT");
|
||||
$company->setDescription("Annonce consultée : ".$adId);
|
||||
$user->setCompany($company);
|
||||
$userManager->updateUser($user);
|
||||
}
|
||||
@@ -164,6 +165,21 @@ class SecurityController extends FOSRestController
|
||||
$countryTalent = "";
|
||||
}
|
||||
$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'));
|
||||
$formatted_address = str_replace('"', '', $request->get('formatted_address'));
|
||||
$lat = stripslashes($request->get('lat'));
|
||||
$lng = stripslashes($request->get('lng'));
|
||||
|
||||
//
|
||||
|
||||
$newLinkedin = htmlspecialchars($request->get('linkedin'));
|
||||
$newTwitter = htmlspecialchars($request->get('twitter'));
|
||||
$newWebsite = htmlspecialchars($request->get('website'));
|
||||
@@ -180,6 +196,26 @@ class SecurityController extends FOSRestController
|
||||
$talent->setLinkedin($newLinkedin);
|
||||
$talent->setTwitter($newTwitter);
|
||||
$talent->setTitleTalent($titleTalent);
|
||||
$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)
|
||||
);
|
||||
|
||||
$usr->setGeoloc($array);
|
||||
}
|
||||
|
||||
$talent->setPhoneTalent($phoneTalent);
|
||||
//$talent->setPhoneTalent($phoneTalent);
|
||||
$billing = array(
|
||||
@@ -194,7 +230,7 @@ class SecurityController extends FOSRestController
|
||||
|
||||
$companyManager->updateTalent($usr);
|
||||
|
||||
$status = array('status' => "success");
|
||||
$status = array('status' => "success!!!!!!!!!!!!!!!!!!");
|
||||
}
|
||||
} else {
|
||||
$status = array('status' => "failure", 'message' => "Vous n'êtes pas connecté.");
|
||||
|
||||
@@ -111,9 +111,9 @@ class MediaController extends Controller
|
||||
]);
|
||||
}
|
||||
public function convertKekab($string){
|
||||
$search = array('À', 'Á', 'Â', 'Ã', 'Ä', 'Å', 'Ç', 'È', 'É', 'Ê', 'Ë', 'Ì', 'Í', 'Î', 'Ï', 'Ò', 'Ó', 'Ô', 'Õ', 'Ö', 'Ù', 'Ú', 'Û', 'Ü', 'Ý', 'à', 'á', 'â', 'ã', 'ä', 'å', 'ç', 'è', 'é', 'ê', 'ë', 'ì', 'í', 'î', 'ï', 'ð', 'ò', 'ó', 'ô', 'õ', 'ö', 'ù', 'ú', 'û', 'ü', 'ý', 'ÿ');
|
||||
$search = array('À', 'Á', 'Â', 'Ã', 'Ä', 'Å', 'Ç', 'È', 'É', 'Ê', 'Ë', 'Ì', 'Í', 'Î', 'Ï', 'Ò', 'Ó', 'Ô', 'Õ', 'Ö', 'Ù', 'Ú', 'Û', 'Ü', 'Ý', 'à', 'á', 'â', 'ã', 'ä', 'å', 'ç', 'è', 'é', 'ê', 'ë', 'ì', 'í', 'î', 'ï', 'ð', 'ò', 'ó', 'ô', 'õ', 'ö', 'ù', 'ú', 'û', 'ü', 'ý', 'ÿ', "/");
|
||||
//Préférez str_replace à strtr car strtr travaille directement sur les octets, ce qui pose problème en UTF-8
|
||||
$replace = array('A', 'A', 'A', 'A', 'A', 'A', 'C', 'E', 'E', 'E', 'E', 'I', 'I', 'I', 'I', 'O', 'O', 'O', 'O', 'O', 'U', 'U', 'U', 'U', 'Y', 'a', 'a', 'a', 'a', 'a', 'a', 'c', 'e', 'e', 'e', 'e', 'i', 'i', 'i', 'i', 'o', 'o', 'o', 'o', 'o', 'o', 'u', 'u', 'u', 'u', 'y', 'y');
|
||||
$replace = array('A', 'A', 'A', 'A', 'A', 'A', 'C', 'E', 'E', 'E', 'E', 'I', 'I', 'I', 'I', 'O', 'O', 'O', 'O', 'O', 'U', 'U', 'U', 'U', 'Y', 'a', 'a', 'a', 'a', 'a', 'a', 'c', 'e', 'e', 'e', 'e', 'i', 'i', 'i', 'i', 'o', 'o', 'o', 'o', 'o', 'o', 'u', 'u', 'u', 'u', 'y', 'y', "s");
|
||||
|
||||
$string = str_replace($search, $replace, $string);
|
||||
$string = strtolower (str_replace(" ", "-", $string));
|
||||
|
||||
@@ -80,6 +80,15 @@ class User extends BaseUser
|
||||
*/
|
||||
private $status;
|
||||
|
||||
|
||||
/**
|
||||
* @var array
|
||||
*
|
||||
* @ORM\Column(name="geoloc", type="json_document", nullable=true, options={"jsonb":true})
|
||||
* @Groups({"ad_detail", "ad_list", "answer_detail", "company_detail"})
|
||||
*/
|
||||
private $geoloc;
|
||||
|
||||
/**
|
||||
* @ORM\ManyToOne(targetEntity="AppBundle\Entity\Company", inversedBy="users", cascade={"persist"})
|
||||
*/
|
||||
@@ -451,6 +460,7 @@ class User extends BaseUser
|
||||
"country" => $country,
|
||||
"type" => $type,
|
||||
"currentJob" => $this->getCompany()->getExtra()["titleTalent"],
|
||||
"geoloc" => $this->getGeoloc(),
|
||||
"website" => $this->getCompany()->getWebsite(),
|
||||
);
|
||||
return $card;
|
||||
@@ -617,6 +627,32 @@ class User extends BaseUser
|
||||
return $this->status;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Set Geoloc.
|
||||
*
|
||||
* @param json_document|null $geoloc
|
||||
*
|
||||
* @return User
|
||||
*/
|
||||
public function setGeoloc($geoloc = null)
|
||||
{
|
||||
$this->geoloc = $geoloc;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get geoloc.
|
||||
*
|
||||
* @return json_document|null
|
||||
*/
|
||||
public function getGeoloc()
|
||||
{
|
||||
//19/01 : modif pour size et siren cote Symfony. Effet sur la web app?
|
||||
//$this->initExtra();
|
||||
return $this->geoloc;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set facebookId.
|
||||
*
|
||||
|
||||
@@ -338,4 +338,26 @@ class AnswerRepository extends AbstractRepository
|
||||
"countResult" => $countResult
|
||||
);
|
||||
}
|
||||
|
||||
public function getMedias()
|
||||
{
|
||||
$qb = $this
|
||||
->createQueryBuilder('a')
|
||||
->select(['a','video'])
|
||||
->leftJoin('a.video', 'video')
|
||||
->andWhere('video.status = :status')
|
||||
->setParameter(':status', "TO_MODERATE")
|
||||
->orderBy('video.id', 'DESC');
|
||||
|
||||
|
||||
$medias = $qb->getQuery()->getResult();
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
return $medias;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,12 +2,45 @@
|
||||
|
||||
namespace AppBundle\Repository;
|
||||
|
||||
use Doctrine\ORM\EntityRepository;
|
||||
|
||||
/**
|
||||
* MediaRepository
|
||||
*
|
||||
* This class was generated by the Doctrine ORM. Add your own custom
|
||||
* repository methods below.
|
||||
*/
|
||||
class MediaRepository extends \Doctrine\ORM\EntityRepository
|
||||
class MediaRepository extends AbstractRepository
|
||||
{
|
||||
public function getMedias()
|
||||
{
|
||||
$qb = $this
|
||||
->createQueryBuilder('m')
|
||||
->andWhere('m.status = :status')
|
||||
->setParameter(':status', "TO_MODERATE")
|
||||
->orderBy('m.id', 'DESC');
|
||||
|
||||
|
||||
$medias = $qb->getQuery()->getResult();
|
||||
$rawSql = "SELECT m.id as mediaid, m.title as title, m.original_url as original_url , u.* , a.id as answerId, a.send_time as sendtime, ad.title as adTitle, c.brand_name as cTitle
|
||||
FROM media AS m
|
||||
JOIN fos_user AS u ON (u.id=m.creator_id)
|
||||
LEFT JOIN answer AS a ON (a.video_id=m.id)
|
||||
LEFT JOIN ad AS ad ON (ad.id=a.ad_id)
|
||||
LEFT JOIN company AS c ON (c.id=a.company_id)
|
||||
WHERE m.status='TO_MODERATE'
|
||||
ORDER by m.id DESC";
|
||||
|
||||
$stmt = $this->getEntityManager()->getConnection()->prepare($rawSql);
|
||||
$stmt->execute([]);
|
||||
|
||||
return $stmt->fetchAll();
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
//return $medias;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,57 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<urlset
|
||||
xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9
|
||||
http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd">
|
||||
<!-- created with Free Online Sitemap Generator www.xml-sitemaps.com -->
|
||||
|
||||
|
||||
<url>
|
||||
<loc>https://recruteur.talentstube.com/</loc>
|
||||
<lastmod>2020-11-18T16:05:39+00:00</lastmod>
|
||||
<priority>1.00</priority>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://recruteur.talentstube.com/offre-emploi-video</loc>
|
||||
<lastmod>2020-11-18T16:05:39+00:00</lastmod>
|
||||
<priority>0.80</priority>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://recruteur.talentstube.com/marque-employeur-video</loc>
|
||||
<lastmod>2020-11-18T16:05:39+00:00</lastmod>
|
||||
<priority>0.80</priority>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://recruteur.talentstube.com/candidatures-video</loc>
|
||||
<lastmod>2020-11-18T16:05:39+00:00</lastmod>
|
||||
<priority>0.80</priority>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://recruteur.talentstube.com/mentions-legales</loc>
|
||||
<lastmod>2020-11-18T16:05:39+00:00</lastmod>
|
||||
<priority>0.80</priority>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://recruteur.talentstube.com/cgu</loc>
|
||||
<lastmod>2020-11-18T16:05:39+00:00</lastmod>
|
||||
<priority>0.80</priority>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://recruteur.talentstube.com/politique-confidentialite</loc>
|
||||
<lastmod>2020-11-18T16:05:39+00:00</lastmod>
|
||||
<priority>0.80</priority>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://recruteur.talentstube.com/abonnement</loc>
|
||||
<lastmod>2020-11-18T16:05:39+00:00</lastmod>
|
||||
<priority>0.80</priority>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://recruteur.talentstube.com/register/</loc>
|
||||
<lastmod>2020-11-18T16:05:39+00:00</lastmod>
|
||||
<priority>0.80</priority>
|
||||
</url>
|
||||
|
||||
|
||||
</urlset>
|
||||
Reference in New Issue
Block a user