Compare commits
74 Commits
2.5.4.2
...
V2.10.3_prod
| Author | SHA1 | Date | |
|---|---|---|---|
| a20990ec04 | |||
| 684ecd94b1 | |||
| b6b473d54f | |||
| 1616739b78 | |||
| af032886ef | |||
| 29445cd4a3 | |||
| 925410dfe8 | |||
| 2cec912442 | |||
| 2bcf221d2a | |||
| 322c770d62 | |||
| b473869726 | |||
| 53bcf6e02a | |||
| 2ccb5cf08a | |||
| f84d8ed73b | |||
| 22db9a6da4 | |||
| 1b3a0cb606 | |||
| 634fb412fe | |||
| 0a0db67654 | |||
| 7cc701eb1e | |||
| bd0cda922e | |||
| cdfb763466 | |||
| 57412e353b | |||
| 87b337a126 | |||
| 086d456746 | |||
| a2466d344f | |||
| 9c5dc1466b | |||
| d28a6cfc1b | |||
| e6409a6124 | |||
| 42ef149f41 | |||
| 5112da2f40 | |||
| dc5c50dd49 | |||
| 9f076c4423 | |||
| 987c78f5be | |||
| 078a62e588 | |||
| 73e709c6c9 | |||
| ec71b87747 | |||
| a5636bf2b5 | |||
| c0e25f5d10 | |||
| fc860c32ad | |||
| 69522b4836 | |||
| 1aea17557e | |||
| ab74dae813 | |||
| c46f0c29a3 | |||
| 5b1d296817 | |||
| 564ac42b40 | |||
| 3dc5d247f4 | |||
| c0e94bcf7a | |||
| d9bb152863 | |||
| 1e52338d37 | |||
| b701d07741 | |||
| bcd93dee2c | |||
| 7a54bbe673 | |||
| 47043ac6bc | |||
| f094ee739e | |||
| bad5ad0d1c | |||
| 8701a4beb9 | |||
| 9444700ab5 | |||
| 050ccb0ae1 | |||
| d40dc7add2 | |||
| 8fc9d69d80 | |||
| e8eb1c9692 | |||
| d4b2b78553 | |||
| c0c1735e9d | |||
| b6d6a3f177 | |||
| 4f185984f9 | |||
| 26e781c230 | |||
| b68e1c6050 | |||
| ee98a19150 | |||
| 0e512cb8a2 | |||
| 24a5ac8cbf | |||
| 6920e8faa0 | |||
| 5aa8079b0a | |||
| cc83f88458 | |||
| 4edfdfd187 |
@@ -6,3 +6,9 @@ SELECT id FROM "ad" WHERE competences::jsonb @> '{ "id1" : "libelle 1"}'::json
|
||||
SELECT id FROM "ad" WHERE competences::jsonb ? 'id1' LIMIT 10;
|
||||
SELECT competences::jsonb @> '{ "id1" : "libelle 1"}'::jsonb FROM "ad" WHERE id=1 LIMIT 1;
|
||||
SELECT * FROM "ad" WHERE id = 1 or id=31 or id =29;
|
||||
|
||||
SELECT id, location->'gmap_address'->'geometry'->'location'->'lat', location->'gmap_address'->'geometry'->'location'->'lng' FROM "ad" LIMIT 100;
|
||||
|
||||
SELECT firstname, lastname, geoloc::json->0->'route' FROM "fos_user" wHERE email='laniau2@yahoo.fr' LIMIT 1000;
|
||||
|
||||
SELECT location::json->'gmap_address'->'formatted_address' FROM "ad" WHERE id=66 LIMIT 1000;
|
||||
|
||||
@@ -196,11 +196,11 @@
|
||||
</trans-unit>
|
||||
<trans-unit id="profile.company.brandname">
|
||||
<source>profile.company.brandname</source>
|
||||
<target>Nom commercial</target>
|
||||
<target>Nom de votre entreprise</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="profile.company.businessname">
|
||||
<source>profile.company.businessname</source>
|
||||
<target>Raison social</target>
|
||||
<target>Raison sociale</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="profile.company.siren">
|
||||
<source>profile.company.siren</source>
|
||||
@@ -301,7 +301,11 @@
|
||||
</trans-unit>
|
||||
<trans-unit id="ad.company.list.title">
|
||||
<source>ad.company.list.title</source>
|
||||
<target>Intitulé de l'annonce</target>
|
||||
<target>Intitulé de l'offre</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="ad.company.list.location">
|
||||
<source>ad.company.list.location</source>
|
||||
<target>Localisation</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="ad.company.list.answers">
|
||||
<source>ad.company.list.answers</source>
|
||||
@@ -315,6 +319,10 @@
|
||||
<source>ad.company.list.actions</source>
|
||||
<target>Actions</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="ad.company.list.statut">
|
||||
<source>ad.company.list.statut</source>
|
||||
<target>Statut</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="ad.company.list.status">
|
||||
<source>ad.company.list.status</source>
|
||||
<target>Statut</target>
|
||||
@@ -367,6 +375,10 @@
|
||||
<source>profile.talent.firstname</source>
|
||||
<target>Prénom</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="profile.talent.video">
|
||||
<source>profile.talent.video</source>
|
||||
<target>Vidéo</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="profile.talent.lastname">
|
||||
<source>profile.talent.lastname</source>
|
||||
<target>Nom</target>
|
||||
|
||||
@@ -31,7 +31,6 @@
|
||||
{{ form_row(form.location_gmap) }}
|
||||
{{ form_row(form.beneficiaire) }}
|
||||
{{ form_row(form.description) }}
|
||||
{{ form_row(form.publicTag) }}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@@ -50,7 +49,7 @@
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<button class="btn btn-success" type="submit">Enregistrer</button>
|
||||
<button class="btn btn-success" type="submit" onclick="envoyerMail()">Enregistrer</button>
|
||||
</div>
|
||||
</div>
|
||||
{{ form_end(form) }} {% endblock %} {% block javascripts %}
|
||||
@@ -71,4 +70,46 @@
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
function envoyerMail(){
|
||||
if($("#ad_status").val()=="PUBLISHED"){
|
||||
if(window.confirm("Souhaitez-vous envoyer un email au(x) utilisateur(s) de l’entreprise pour informer que l’offre d’emploi est en ligne sur Talents Tube ?")){
|
||||
|
||||
//envoi de mail
|
||||
$.ajax({
|
||||
//L'URL de la requête
|
||||
url: "/app_dev.php/api/validerOffreMail?adId={{ ad.id }}" ,
|
||||
method: "GET",
|
||||
//La méthode d'envoi (type de requête)
|
||||
//Le format de réponse attendu
|
||||
dataType: "json",
|
||||
})
|
||||
//Ce code sera exécuté en cas de succès - La réponse du serveur est passée à done()
|
||||
/*On peut par exemple convertir cette réponse en chaine JSON et insérer
|
||||
* cette chaine dans un div id="res"*/
|
||||
.done(function (response) {
|
||||
console.log("Requête envoi mail suite validation offre done");
|
||||
|
||||
|
||||
})
|
||||
|
||||
//Ce code sera exécuté en cas d'échec - L'erreur est passée à fail()
|
||||
//On peut afficher les informations relatives à la requête et à l'erreur
|
||||
.fail(function (error) {
|
||||
console.log("Requête envoi mail suite validation offre fail");
|
||||
console.log(error);
|
||||
})
|
||||
|
||||
//Ce code sera exécuté que la requête soit un succès ou un échec
|
||||
.always(function () {
|
||||
console.log("Requête envoi mail suite validation offre effectuée");
|
||||
});
|
||||
}
|
||||
|
||||
}else{
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
</script> {% endblock %}
|
||||
@@ -20,7 +20,7 @@
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="col-xs-2">Date de création</th>
|
||||
<th>Référence TT</th>
|
||||
<th>Référence TT.</th>
|
||||
<th>Titre</th>
|
||||
<th>Entreprise</th>
|
||||
<th>Status</th>
|
||||
|
||||
+219
-177
@@ -1,30 +1,35 @@
|
||||
{% extends 'admin/base_admin.html.twig' %}
|
||||
{% block js %}
|
||||
{# <link rel="stylesheet" href="//cdn.datatables.net/1.10.16/css/jquery.dataTables.min.css">
|
||||
{# <link rel="stylesheet" href="//cdn.datatables.net/1.10.16/css/jquery.dataTables.min.css">
|
||||
|
||||
<link rel="stylesheet" href="https://cdn.datatables.net/buttons/1.4.1/css/buttons.dataTables.min.css"> #}
|
||||
|
||||
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/1.10.22/css/jquery.dataTables.min.css">
|
||||
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/buttons/1.6.4/css/buttons.dataTables.min.css">
|
||||
{# <script type="text/javascript" language="javascript" src="https://code.jquery.com/jquery-3.5.1.js"></script>
|
||||
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/1.10.22/css/jquery.dataTables.min.css">
|
||||
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/buttons/1.6.4/css/buttons.dataTables.min.css">
|
||||
{# <script type="text/javascript" language="javascript" src="https://code.jquery.com/jquery-3.5.1.js"></script>
|
||||
<script type="text/javascript" language="javascript" src="https://cdn.datatables.net/1.10.22/js/jquery.dataTables.min.js"></script>
|
||||
|
||||
<script type="text/javascript" language="javascript" src="https://cdn.datatables.net/buttons/1.6.4/js/dataTables.buttons.min.js"></script>
|
||||
<script type="text/javascript" language="javascript" src="https://cdn.datatables.net/buttons/1.6.4/js/buttons.flash.min.js"></script> #}
|
||||
|
||||
<script type="text/javascript" src="https://code.jquery.com/jquery-3.5.1.js"></script>
|
||||
<script type="text/javascript" src="https://cdn.datatables.net/1.10.22/js/jquery.dataTables.min.js"></script>
|
||||
<script type="text/javascript" src="https://cdn.datatables.net/buttons/1.6.4/js/dataTables.buttons.min.js"></script>
|
||||
<script type="text/javascript" language="javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.1.3/jszip.min.js"></script>
|
||||
<script type="text/javascript" language="javascript" src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.53/pdfmake.min.js"></script>
|
||||
<script type="text/javascript" language="javascript" src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.53/vfs_fonts.js"></script>
|
||||
<script type="text/javascript" language="javascript" src="https://cdn.datatables.net/buttons/1.6.4/js/buttons.html5.min.js"></script>
|
||||
<script type="text/javascript" src="https://code.jquery.com/jquery-3.5.1.js"></script>
|
||||
<script type="text/javascript" src="https://cdn.datatables.net/1.10.22/js/jquery.dataTables.min.js"></script>
|
||||
<script type="text/javascript" src="https://cdn.datatables.net/buttons/1.6.4/js/dataTables.buttons.min.js"></script>
|
||||
<script type="text/javascript" language="javascript"
|
||||
src="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.1.3/jszip.min.js"></script>
|
||||
<script type="text/javascript" language="javascript"
|
||||
src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.53/pdfmake.min.js"></script>
|
||||
<script type="text/javascript" language="javascript"
|
||||
src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.53/vfs_fonts.js"></script>
|
||||
<script type="text/javascript" language="javascript"
|
||||
src="https://cdn.datatables.net/buttons/1.6.4/js/buttons.html5.min.js"></script>
|
||||
|
||||
<script type="text/javascript" language="javascript" src="https://cdn.datatables.net/buttons/1.6.4/js/buttons.print.min.js"></script>
|
||||
<script type="text/javascript" language="javascript"
|
||||
src="https://cdn.datatables.net/buttons/1.6.4/js/buttons.print.min.js"></script>
|
||||
|
||||
|
||||
|
||||
{# <script type="text/javascript" src="https://cdn.datatables.net/buttons/1.6.4/js/buttons.flash.min.js"></script>
|
||||
{# <script type="text/javascript" src="https://cdn.datatables.net/buttons/1.6.4/js/buttons.flash.min.js"></script>
|
||||
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.1.3/jszip.min.js"></script>
|
||||
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.53/pdfmake.min.js"></script>
|
||||
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.53/vfs_fonts.js"></script>
|
||||
@@ -35,13 +40,13 @@
|
||||
{% endblock %}
|
||||
|
||||
{% block contentHeader %}
|
||||
<h1>
|
||||
Liste des Candidatures
|
||||
</h1>
|
||||
<ol class="breadcrumb">
|
||||
<li><a href="{{ path('admin_dashboard') }}"><i class="fa fa-dashboard"></i> Dashboard</a></li>
|
||||
<li class="active">Annonces</li>
|
||||
</ol>
|
||||
<h1>
|
||||
Liste des Candidatures
|
||||
</h1>
|
||||
<ol class="breadcrumb">
|
||||
<li><a href="{{ path('admin_dashboard') }}"><i class="fa fa-dashboard"></i> Dashboard</a></li>
|
||||
<li class="active">Annonces</li>
|
||||
</ol>
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
@@ -50,51 +55,54 @@
|
||||
.dataTables_filter {
|
||||
display: none;
|
||||
}
|
||||
|
||||
|
||||
</style>
|
||||
<div class="box box-primary">
|
||||
<div class="box-body">
|
||||
<table width="100%" class="table " style="background-color: #3c8dbc">
|
||||
<thead>
|
||||
<tr>
|
||||
<th colspan="5" class="text-center">RECHERCHE</th>
|
||||
|
||||
</tr>
|
||||
<div class="box box-primary">
|
||||
<div class="box-body">
|
||||
<table width="100%" class="table " style="background-color: #3c8dbc">
|
||||
<thead>
|
||||
<tr>
|
||||
<th colspan="5" class="text-center">RECHERCHE</th>
|
||||
|
||||
</thead>
|
||||
<tr>
|
||||
<th width="4%"><input id='input1' type='text' class='form-control' placeholder='par id' style='font-family:Arial, FontAwesome; width:100%'/></th>
|
||||
|
||||
<th width="11%"><input id='input3' type='text' class='form-control' placeholder='par nom' style='font-family:Arial, FontAwesome; width:100%'/></th>
|
||||
<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%">
|
||||
<select id='input7'>
|
||||
<option value="sended">Envoyé</option>
|
||||
<option value="draft">Brouillon</option>
|
||||
</select>
|
||||
</th>
|
||||
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<br/>
|
||||
<table id="towns_dt_table" width="100%" class="table table-hover table-bordered">
|
||||
{# Add a tfoot which will actually be used to place the individual search boxes #}
|
||||
<tfoot>
|
||||
<tr>
|
||||
<th width="4%">id</th>
|
||||
<th width="6%">Date d'envoi</th>
|
||||
<th width="11%">Nom</th>
|
||||
<th width="11%">Prénom</th>
|
||||
<th width="25%">Annonce / entreprise</th>
|
||||
<th width="28%">Vidéo</th>
|
||||
<th width="15%">Statut</th>
|
||||
<th width="10%">Actions</th>
|
||||
</tr>
|
||||
{# <tr>
|
||||
</tr>
|
||||
|
||||
</thead>
|
||||
<tr>
|
||||
<th width="4%"><input id='input1' type='text' class='form-control' placeholder='par id'
|
||||
style='font-family:Arial, FontAwesome; width:100%' /></th>
|
||||
|
||||
<th width="11%"><input id='input3' type='text' class='form-control' placeholder='par nom'
|
||||
style='font-family:Arial, FontAwesome; width:100%' /></th>
|
||||
<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%">
|
||||
<select id='input7'>
|
||||
<option value="sended">Tous les statuts</option>
|
||||
<option value="sended">Envoyé</option>
|
||||
<option value="draft">Brouillon</option>
|
||||
</select>
|
||||
</th>
|
||||
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<br />
|
||||
<table id="towns_dt_table" width="100%" class="table table-hover table-bordered">
|
||||
{# Add a tfoot which will actually be used to place the individual search boxes #}
|
||||
<tfoot>
|
||||
<tr>
|
||||
<th width="4%">id</th>
|
||||
<th width="6%">Date d'envoi</th>
|
||||
<th width="11%">Nom</th>
|
||||
<th width="11%">Prénom</th>
|
||||
<th width="25%">Annonce / entreprise</th>
|
||||
<th width="28%">Vidéo</th>
|
||||
<th width="15%">Statut</th>
|
||||
<th width="10%">Actions</th>
|
||||
</tr>
|
||||
{# <tr>
|
||||
<th><input id='input1' type='text' class='form-control' placeholder='' style='font-family:Arial, FontAwesome; width:100%'/></th>
|
||||
<th></th>
|
||||
<th><input id='input3' type='text' class='form-control' placeholder='' style='font-family:Arial, FontAwesome; width:100%'/></th>
|
||||
@@ -102,25 +110,25 @@
|
||||
<th></th>
|
||||
<th><input id='input5' type='text' class='form-control' placeholder='' style='font-family:Arial, FontAwesome; width:100%'/></th>
|
||||
</tr> #}
|
||||
</tfoot>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Id</th>
|
||||
<th>Date d'envoi</th>
|
||||
<th>Nom</th>
|
||||
<th>Prénom</th>
|
||||
<th>Annonce / entreprise</th>
|
||||
<th>Vidéo</th>
|
||||
<th>Statut</th>
|
||||
<th>Actions</th>
|
||||
</tr>
|
||||
|
||||
</thead>
|
||||
<tbody></tbody>
|
||||
</table>
|
||||
</tfoot>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Id</th>
|
||||
<th>Date d'envoi</th>
|
||||
<th>Nom</th>
|
||||
<th>Prénom</th>
|
||||
<th>Annonce / entreprise</th>
|
||||
<th>Vidéo</th>
|
||||
<th>Statut</th>
|
||||
<th>Actions</th>
|
||||
</tr>
|
||||
|
||||
</thead>
|
||||
<tbody></tbody>
|
||||
</table>
|
||||
|
||||
|
||||
{# <table id="answer_list_table" class="table table-hover table-bordered">
|
||||
{# <table id="answer_list_table" class="table table-hover table-bordered">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="col-xs-2">Date d'envoi</th>
|
||||
@@ -169,118 +177,152 @@
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table> #}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block javascripts %}
|
||||
|
||||
<script>
|
||||
$(document).ready(function(){
|
||||
<script>
|
||||
$(document).ready(function () {
|
||||
|
||||
// Add a text input to each footer cell
|
||||
var pos = 1;
|
||||
$('#towns_dt_table tfoot th').each( function () {
|
||||
var title = $(this).text();
|
||||
//$(this).html( "<input id='input" + pos + "' type='text' class='form-control' placeholder='' style='font-family:Arial, FontAwesome; width:100%'/>" );
|
||||
// Add a text input to each footer cell
|
||||
|
||||
pos ++;
|
||||
});
|
||||
|
||||
|
||||
|
||||
var table = $('#towns_dt_table').DataTable({
|
||||
|
||||
|
||||
buttons: [
|
||||
'copy', 'csv', 'excel', 'pdf', 'print'
|
||||
],
|
||||
|
||||
"columnDefs": [
|
||||
{ "name": "ad_id", "targets": 0 , "searchable": true, "orderable": true},
|
||||
{ "name": "date_envoi", "targets": 1 , "searchable": true, "orderable": true},
|
||||
{ "name": "nom", "targets": 2 , "searchable": true, "orderable": true},
|
||||
{ "name": "prenom", "targets": 3 , "searchable": true, "orderable": true},
|
||||
{ "name": "entreprise", "targets": 4, "searchable": true, "orderable": true },
|
||||
{ "name": "video", "targets": 5 },
|
||||
{ "name": "status", "targets": 6 , "searchable": true, "orderable": true},
|
||||
{ "name": "actions", "targets": 7 },
|
||||
],
|
||||
"processing": true,
|
||||
"serverSide": true,
|
||||
|
||||
"ajax": {
|
||||
"url": '{{ path('alimenterCandidatures') }}',
|
||||
"type": 'POST'
|
||||
|
||||
var table = $('#towns_dt_table').DataTable({
|
||||
|
||||
|
||||
buttons: [
|
||||
'copy', 'csv', 'excel', 'pdf', 'print'
|
||||
],
|
||||
|
||||
"columnDefs": [{
|
||||
"name": "ad_id",
|
||||
"targets": 0,
|
||||
"searchable": true,
|
||||
"orderable": true
|
||||
},
|
||||
"paging" : true,
|
||||
"info" : true,
|
||||
"searching": true,
|
||||
"bFilter":true,
|
||||
"responsive": true,
|
||||
"pageLength": 10,
|
||||
"order": [[0, 'desc']],
|
||||
"language": {
|
||||
"url": "http://cdn.datatables.net/plug-ins/1.10.11/i18n/French.json"
|
||||
{
|
||||
"name": "date_envoi",
|
||||
"targets": 1,
|
||||
"searchable": true,
|
||||
"orderable": true
|
||||
},
|
||||
|
||||
});
|
||||
{
|
||||
"name": "nom",
|
||||
"targets": 2,
|
||||
"searchable": true,
|
||||
"orderable": true
|
||||
},
|
||||
{
|
||||
"name": "prenom",
|
||||
"targets": 3,
|
||||
"searchable": true,
|
||||
"orderable": true
|
||||
},
|
||||
{
|
||||
"name": "entreprise",
|
||||
"targets": 4,
|
||||
"searchable": true,
|
||||
"orderable": true
|
||||
},
|
||||
{
|
||||
"name": "video",
|
||||
"targets": 5
|
||||
},
|
||||
{
|
||||
"name": "status",
|
||||
"targets": 6,
|
||||
"searchable": true,
|
||||
"orderable": true
|
||||
},
|
||||
{
|
||||
"name": "actions",
|
||||
"targets": 7
|
||||
},
|
||||
],
|
||||
"processing": true,
|
||||
"serverSide": true,
|
||||
|
||||
|
||||
|
||||
// Apply the search
|
||||
pos = 1;
|
||||
table.columns().every( function () {
|
||||
var that = this;
|
||||
|
||||
$("#input"+pos).on( 'keyup change', function () {
|
||||
if ( that.search() !== this.value )
|
||||
{
|
||||
that
|
||||
.search( this.value )
|
||||
.draw();
|
||||
}
|
||||
});
|
||||
pos++;
|
||||
});
|
||||
|
||||
$('#towns_dt_table_filter').hide();
|
||||
|
||||
|
||||
|
||||
|
||||
"ajax": {
|
||||
"url": '{{ path('alimenterCandidatures') }}',
|
||||
"type": 'POST'
|
||||
},
|
||||
"paging": true,
|
||||
"info": true,
|
||||
"searching": true,
|
||||
"bFilter": true,
|
||||
"responsive": true,
|
||||
"pageLength": 10,
|
||||
"order": [
|
||||
[0, 'desc']
|
||||
],
|
||||
"language": {
|
||||
"url": "http://cdn.datatables.net/plug-ins/1.10.11/i18n/French.json"
|
||||
},
|
||||
|
||||
});
|
||||
function changerStatut(value, id){
|
||||
var idAnswer = id;
|
||||
|
||||
var route = '/app_dev.php/admin/config/answer/' + idAnswer + '/status/' + value;
|
||||
var select = $(this);
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: route,
|
||||
dataType: "json",
|
||||
success: function (msg) {
|
||||
console.log("ok");
|
||||
$("#status_"+id).text(value);
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
function verifierDelete(id){
|
||||
console.log(id);
|
||||
var r = confirm("Êtes vous sûr de supprimer cette candidature ?\nSupprimer cette candidature supprimera le média associé\n");
|
||||
if (r == true) {
|
||||
txt = "You pressed OK!";
|
||||
location.href = "/app_dev.php/admin/config/answer/"+id+"/delete";
|
||||
return true;
|
||||
} else {
|
||||
txt = "You pressed Cancel!";
|
||||
|
||||
|
||||
|
||||
// Apply the search
|
||||
pos = 1;
|
||||
table.columns().every(function () {
|
||||
var that = this;
|
||||
|
||||
$("#input" + pos).on('keyup change', function () {
|
||||
if (that.search() !== this.value) {
|
||||
that
|
||||
.search(this.value)
|
||||
.draw();
|
||||
}
|
||||
});
|
||||
pos++;
|
||||
});
|
||||
|
||||
$('#towns_dt_table_filter').hide();
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
});
|
||||
|
||||
function changerStatut(value, id) {
|
||||
var idAnswer = id;
|
||||
|
||||
var route = '/app_dev.php/admin/config/answer/' + idAnswer + '/status/' + value;
|
||||
var select = $(this);
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: route,
|
||||
dataType: "json",
|
||||
success: function (msg) {
|
||||
console.log("ok");
|
||||
$("#status_" + id).text(value);
|
||||
|
||||
}
|
||||
console.log(txt);
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
function verifierDelete(id) {
|
||||
console.log(id);
|
||||
var r = confirm(
|
||||
"Êtes vous sûr de supprimer cette candidature ?\nSupprimer cette candidature supprimera le média associé\n"
|
||||
);
|
||||
if (r == true) {
|
||||
txt = "You pressed OK!";
|
||||
location.href = "/app_dev.php/admin/config/answer/" + id + "/delete";
|
||||
return true;
|
||||
} else {
|
||||
txt = "You pressed Cancel!";
|
||||
}
|
||||
</script>
|
||||
console.log(txt);
|
||||
|
||||
}
|
||||
</script>
|
||||
|
||||
{% endblock %}
|
||||
@@ -24,7 +24,7 @@
|
||||
{% block css %}
|
||||
|
||||
{% endblock %}
|
||||
<!--[if lt IE 9]>
|
||||
<!--[if lt IE 9]>
|
||||
<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
|
||||
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
|
||||
<![endif]-->
|
||||
|
||||
@@ -62,7 +62,7 @@
|
||||
<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
|
||||
©2017-2021 Talents Tube
|
||||
</p>
|
||||
<p class="small no-margin pull-right sm-pull-reset">
|
||||
Besoin d'aide ? 02 30 05 06 31
|
||||
|
||||
+104
@@ -0,0 +1,104 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="fr">
|
||||
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html;charset=UTF-8" />
|
||||
<meta charset="utf-8" />
|
||||
<title>Pages - Admin Dashboard UI Kit - Dashboard</title>
|
||||
<meta name="viewport"
|
||||
content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no, shrink-to-fit=no" />
|
||||
<meta name="apple-mobile-web-app-capable" content="yes">
|
||||
<meta name="apple-touch-fullscreen" content="yes">
|
||||
<meta name="apple-mobile-web-app-status-bar-style" content="default">
|
||||
<meta content="Meet pages - The simplest and fastest way to build web UI for your dashboard or app."
|
||||
name="description" />
|
||||
<meta content="Ace" name="author" />
|
||||
<link href="{{ asset('dashboard/plugins/pace/pace-theme-flash.css') }}" rel="stylesheet" type="text/css" />
|
||||
<link href="{{ asset('dashboard/plugins/bootstrap/css/bootstrap.min.css') }}" rel="stylesheet" type="text/css" />
|
||||
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
|
||||
<link href="{{ asset('dashboard/plugins/jquery-scrollbar/jquery.scrollbar.css') }}" rel="stylesheet" type="text/css"
|
||||
media="screen" />
|
||||
<link href="{{ asset('dashboard/plugins/select2/css/select2.min.css') }}" rel="stylesheet" type="text/css"
|
||||
media="screen" />
|
||||
<link href="{{ asset('dashboard/plugins/nvd3/nv.d3.min.css') }}" rel="stylesheet" type="text/css" media="screen" />
|
||||
<link href="{{ asset('dashboard/plugins/mapplic/css/mapplic.css') }}" rel="stylesheet" type="text/css" />
|
||||
<link href="{{ asset('dashboard/plugins/rickshaw/rickshaw.min.css') }}" rel="stylesheet" type="text/css" />
|
||||
<link class="main-stylesheet" href="{{ asset('dashboard/pages/css/themes/corporate.css') }}" rel="stylesheet"
|
||||
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>
|
||||
<!-- END PAGE LEVEL JS -->
|
||||
|
||||
<script src="{{ asset('dashboard/plugins/jquery/jquery-3.2.1.min.js') }}" type="text/javascript"></script>
|
||||
|
||||
{# <script type="text/javascript" src="http://code.jquery.com/jquery-3.2.1.min.js"></script> #}
|
||||
|
||||
{% block javascriptSupl %}
|
||||
{% endblock %}
|
||||
<!-- END PAGE LEVEL JS -->
|
||||
</head>
|
||||
|
||||
<body class="fixed-header dashboard menu-pin menu-behind">
|
||||
{# {{ include('default/user_switch.html.twig') }} #}
|
||||
|
||||
{{ include('admin/navigation_gauche.html.twig')}} }}
|
||||
|
||||
|
||||
<!-- START PAGE-CONTAINER -->
|
||||
<div class="page-container ">
|
||||
{{ include('admin/base_dashboard_header.html.twig') }}
|
||||
<!-- START PAGE CONTENT WRAPPER -->
|
||||
<div class="page-content-wrapper ">
|
||||
<div class="content ">
|
||||
{% 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-2021 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 %}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
{% endblock %}
|
||||
|
||||
|
||||
<!-- END PAGE LEVEL JS -->
|
||||
<!-- END CORE TEMPLATE JS -->
|
||||
|
||||
|
||||
|
||||
<!-- BEGIN PAGE LEVEL JS -->
|
||||
|
||||
{% block javascriptsSecondaire %}
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block javascriptsEnd %}
|
||||
{% endblock %}
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
@@ -1,8 +1,7 @@
|
||||
<!-- START HEADER -->
|
||||
<div class="header ">
|
||||
<!-- START MOBILE SIDEBAR TOGGLE -->
|
||||
<a href="#" class="btn-link toggle-sidebar d-lg-none pg-icon btn-icon-link" data-toggle="sidebar">
|
||||
menu</a>
|
||||
|
||||
<!-- END MOBILE SIDEBAR TOGGLE -->
|
||||
<div class="">
|
||||
<div class="brand inline m-l-10">
|
||||
@@ -25,9 +24,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<!-- END User Info-->
|
||||
<a href="#" class="header-icon m-l-5 sm-no-margin d-inline-block" data-toggle="quickview" data-toggle-element="#quickview">
|
||||
<i class="pg-icon btn-icon-link">menu_add</i>
|
||||
</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<!-- END HEADER -->
|
||||
+34
@@ -0,0 +1,34 @@
|
||||
{% extends 'admin/base_admin.html.twig' %}
|
||||
|
||||
|
||||
{% block contentHeader %}
|
||||
<h1>
|
||||
Pages
|
||||
<small>Liste</small>
|
||||
</h1>
|
||||
<ol class="breadcrumb">
|
||||
<li><a href="{{ path('admin_dashboard') }}"><i class="fa fa-dashboard"></i> Dashboard</a></li>
|
||||
<li class="active">Batch candidatures</li>
|
||||
</ol>
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<div class="box box-primary">
|
||||
<div class="box-body">
|
||||
<a href="{{ path('admin_batch_candidature_init') }}">
|
||||
<button type="button" class="btn btn-lg btn-primary btn-cons btn-animated from-left" id="saveAdButton">
|
||||
<span>Lancer le batch</span>
|
||||
|
||||
</button>
|
||||
</a>
|
||||
<b>A NE LANCER QU'UNE FOIS (On met à jour les candidatures qui ont un message et qui n'ont pas été modifié par le dashboard Entreprise. C'est le statut contacte qui est mis par défaut.)</b>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block javascripts %}
|
||||
|
||||
|
||||
{% endblock %}
|
||||
@@ -0,0 +1,33 @@
|
||||
{% extends 'admin/base_admin.html.twig' %}
|
||||
|
||||
|
||||
{% block contentHeader %}
|
||||
<h1>
|
||||
Pages
|
||||
<small>Liste</small>
|
||||
</h1>
|
||||
<ol class="breadcrumb">
|
||||
<li><a href="{{ path('admin_dashboard') }}"><i class="fa fa-dashboard"></i> Dashboard</a></li>
|
||||
<li class="active">Batch sur les messages</li>
|
||||
</ol>
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<div class="box box-primary">
|
||||
<div class="box-body">
|
||||
<a href="{{ path('admin_batch_geoloc_trait') }}">
|
||||
<button type="button" class="btn btn-lg btn-primary btn-cons btn-animated from-left" id="saveAdButton">
|
||||
<span>Lancer le batch ({{nbUsers}} utilisateurs non geolocalisés) <br>(transforme adresse talent en geoloc) </span>
|
||||
|
||||
</button>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block javascripts %}
|
||||
|
||||
|
||||
{% endblock %}
|
||||
@@ -0,0 +1,80 @@
|
||||
{% extends 'admin/base_admin.html.twig' %}
|
||||
|
||||
|
||||
{% block contentHeader %}
|
||||
<h1>
|
||||
Dashboard
|
||||
<small>TalentsTube</small>
|
||||
</h1>
|
||||
<ol class="breadcrumb">
|
||||
<li><a href="#"><i class="fa fa-dashboard"></i> Dashboard</a></li>
|
||||
{#<li class="active">Here</li>#}
|
||||
</ol>
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<b>Relance J3</b><br>
|
||||
<table id="media_list_table" class="table table-hover table-bordered">
|
||||
<thead>
|
||||
<tr>
|
||||
<th width="15%">Id</th>
|
||||
<th width="15%">Nom</th>
|
||||
<th width="15%">Prénom</th>
|
||||
<th width="15%">Mail</th>
|
||||
<th width="15%">Annonce?</th>
|
||||
<th width="15%">Mail Envoyé</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for u in listeUsersRelanceJ3 %}
|
||||
<tr>
|
||||
<td>{{ u.id }}</td>
|
||||
<td>{{ u.nom }}</td>
|
||||
<td>{{ u.prenom }}</td>
|
||||
<td>{{ u.email }}</td>
|
||||
<td>{{ u.annonce }}</td>
|
||||
<td>X</td>
|
||||
|
||||
</tr>
|
||||
{% endfor %}
|
||||
{% if listeUsersRelanceJ3|length < 1 %}
|
||||
<tr>
|
||||
<td colspan="6">Aucune relance pour cette fois-ci</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<b>Relance J7</b><br>
|
||||
<table id="media_list_table" class="table table-hover table-bordered">
|
||||
<thead>
|
||||
<tr>
|
||||
<th width="15%">Id</th>
|
||||
<th width="15%">Nom</th>
|
||||
<th width="15%">Prénom</th>
|
||||
<th width="15%">Mail</th>
|
||||
<th width="15%">Annonce?</th>
|
||||
<th width="15%">Mail Envoyé</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for u in listeUsersRelanceJ7 %}
|
||||
<tr>
|
||||
<td>{{ u.id }}</td>
|
||||
<td>{{ u.nom }}</td>
|
||||
<td>{{ u.prenom }}</td>
|
||||
<td>{{ u.email }}</td>
|
||||
<td>{{ u.annonce }}</td>
|
||||
<td>X</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
{% if listeUsersRelanceJ7|length < 1 %}
|
||||
<tr>
|
||||
<td colspan="6">Aucune relance pour cette fois-ci</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
{% endblock %}
|
||||
@@ -0,0 +1,34 @@
|
||||
{% extends 'admin/base_admin.html.twig' %}
|
||||
|
||||
|
||||
{% block contentHeader %}
|
||||
<h1>
|
||||
Pages
|
||||
<small>Liste</small>
|
||||
</h1>
|
||||
<ol class="breadcrumb">
|
||||
<li><a href="{{ path('admin_dashboard') }}"><i class="fa fa-dashboard"></i> Dashboard</a></li>
|
||||
<li class="active">Batch sur les messages</li>
|
||||
</ol>
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<div class="box box-primary">
|
||||
<div class="box-body">
|
||||
<a href="{{ path('admin_batch_message_comment') }}">
|
||||
<button type="button" class="btn btn-lg btn-primary btn-cons btn-animated from-left" id="saveAdButton">
|
||||
<span>Lancer le batch (recupere les candidatures qui ont un commentaire (vieille candidature). Ces commentaires sont transformés en message.</span>
|
||||
|
||||
</button>
|
||||
</a>
|
||||
<b>A NE LANCER QU'UNE FOIS</b>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block javascripts %}
|
||||
|
||||
|
||||
{% endblock %}
|
||||
@@ -13,6 +13,93 @@
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
{# <b>Relance J3</b><br>
|
||||
<table id="media_list_table" class="table table-hover table-bordered">
|
||||
<thead>
|
||||
<tr>
|
||||
<th width="15%">Id</th>
|
||||
<th width="15%">Nom</th>
|
||||
<th width="15%">Prénom</th>
|
||||
<th width="15%">Mail</th>
|
||||
<th width="15%">Annonce?</th>
|
||||
<th width="15%">Mail Envoyé</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for u in listeUsersRelanceJ3 %}
|
||||
<tr>
|
||||
<td>{{ u.id }}</td>
|
||||
<td>{{ u.nom }}</td>
|
||||
<td>{{ u.prenom }}</td>
|
||||
<td>{{ u.email }}</td>
|
||||
<td>{{ u.annonce }}</td>
|
||||
<td>X</td>
|
||||
|
||||
</tr>
|
||||
{% endfor %}
|
||||
{% if listeUsersRelanceJ3|length < 1 %}
|
||||
<tr>
|
||||
<td colspan="6">Aucune relance pour cette fois-ci</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<b>Relance J7</b><br>
|
||||
<table id="media_list_table" class="table table-hover table-bordered">
|
||||
<thead>
|
||||
<tr>
|
||||
<th width="15%">Id</th>
|
||||
<th width="15%">Nom</th>
|
||||
<th width="15%">Prénom</th>
|
||||
<th width="15%">Mail</th>
|
||||
<th width="15%">Annonce?</th>
|
||||
<th width="15%">Mail Envoyé</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for u in listeUsersRelanceJ7 %}
|
||||
<tr>
|
||||
<td>{{ u.id }}</td>
|
||||
<td>{{ u.nom }}</td>
|
||||
<td>{{ u.prenom }}</td>
|
||||
<td>{{ u.email }}</td>
|
||||
<td>{{ u.annonce }}</td>
|
||||
<td>X</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
{% if listeUsersRelanceJ7|length < 1 %}
|
||||
<tr>
|
||||
<td colspan="6">Aucune relance pour cette fois-ci</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
</tbody>
|
||||
</table> #}
|
||||
|
||||
<b>Etat des annonces</b><br>
|
||||
<table id="media_list_table" class="table table-hover table-bordered">
|
||||
<thead>
|
||||
<tr>
|
||||
<th width="15%">Id</th>
|
||||
<th width="15%">Entreprise</th>
|
||||
<th width="15%">Titre de l'annonce</th>
|
||||
<th width="15%">Nb de candidatures vidéo</th>
|
||||
<th width="15%">Nb de candidatures récentes <br>(mois glissant)</th>
|
||||
<th width="15%">Statut</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for a in ads %}
|
||||
<tr>
|
||||
<td>{{ a.id }}</td>
|
||||
<td>{{ a.entreprise }}</td>
|
||||
<td>{{ a.title }}</td>
|
||||
<td>{{ a.nbAnswers }}</td>
|
||||
<td>{{ a.nbAnswersRecentes }}</td>
|
||||
<td>{{ a.statut }}</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
{% endblock %}
|
||||
@@ -34,7 +34,16 @@
|
||||
<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>{% if m.answerid %}({{ m.adtitle }}){% else %}<b>Vidéo orpheline</b>{% endif %}</td>
|
||||
<td>
|
||||
{% 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>
|
||||
|
||||
@@ -57,52 +57,25 @@
|
||||
</span>
|
||||
</span>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="javascript:;"><span class="principal">Entreprise</span>
|
||||
<span class=" arrow"></span></a>
|
||||
<span class="icon-thumbnail">
|
||||
<span class="material-icons">
|
||||
business
|
||||
</span>
|
||||
</span>
|
||||
<ul class="sub-menu">
|
||||
<li class="">
|
||||
<a href="{{ path('company_profile') }}">Profil de l'Entreprise</a>
|
||||
<li class=" ">
|
||||
<a href="{{ path('company_profile') }}">Profil de l'Entreprise</a>
|
||||
<span class="icon-thumbnail">
|
||||
<span class="material-icons">
|
||||
store_mall_directory
|
||||
</span>
|
||||
</span>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="{{ path('company_marque') }}">Vidéo marque employeur</a>
|
||||
<span class="icon-thumbnail">
|
||||
<span class="material-icons">
|
||||
store_mall_directory
|
||||
</span>
|
||||
</span>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="{{ path('users') }}">Utilisateurs</a>
|
||||
<span class="icon-thumbnail">
|
||||
<span class="material-icons">
|
||||
group
|
||||
</span>
|
||||
</span>
|
||||
</li>
|
||||
{# <li class="">
|
||||
<a href="{{ path('users') }}">Informations juridiques</a>
|
||||
<span class="icon-thumbnail">
|
||||
<span class="material-icons">
|
||||
gavel
|
||||
</span>
|
||||
|
||||
</span>
|
||||
</li> #}
|
||||
|
||||
</ul>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="{{ path('company_marque') }}">Marque employeur</a>
|
||||
<span class="icon-thumbnail">
|
||||
<span class="material-icons">
|
||||
videocam
|
||||
</span>
|
||||
</span>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
<li class="">
|
||||
<a href="{{ path('company_ad') }}">
|
||||
<span class="">Offres d'emploi</span>
|
||||
@@ -123,9 +96,17 @@
|
||||
</span>
|
||||
</span>
|
||||
</li>
|
||||
<li class=" ">
|
||||
<a href="{{ path('users') }}">Utilisateurs</a>
|
||||
<span class="icon-thumbnail">
|
||||
<span class="material-icons">
|
||||
group
|
||||
</span>
|
||||
</span>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="{{ path('company_my_account') }}">
|
||||
<span class="">Mes paramètres</span>
|
||||
<span class="">Paramètres</span>
|
||||
</a>
|
||||
<span class="icon-thumbnail">
|
||||
<span class="material-icons">
|
||||
@@ -133,12 +114,7 @@
|
||||
</span>
|
||||
</span>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="mailto:contact@talentstube.com">
|
||||
<span class="principal">Contacter Talents Tube</span>
|
||||
</a>
|
||||
<span class="icon-thumbnail"><i class="pg-icon">mail</i></span>
|
||||
</li>
|
||||
|
||||
|
||||
{% if is_granted('ROLE_PREVIOUS_ADMIN') %}
|
||||
|
||||
@@ -157,7 +133,19 @@
|
||||
</small>
|
||||
</li>
|
||||
|
||||
{% endif %}
|
||||
{% else %}
|
||||
<li class="">
|
||||
<a href="/logout">
|
||||
<span class="principal">Se déconnecter</span>
|
||||
</a>
|
||||
|
||||
<span class="icon-thumbnail">
|
||||
<span class="material-icons">
|
||||
logout
|
||||
</span>
|
||||
</span>
|
||||
</li>
|
||||
{% endif %}
|
||||
|
||||
|
||||
</ul>
|
||||
|
||||
@@ -73,6 +73,19 @@
|
||||
<i class="fa fa-file-text-o" aria-hidden="true"></i><span>Pages</span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="treeview">
|
||||
<a href="#"><i class="fa fa-file-video-o"></i> <span>Batchs</span>
|
||||
<span class="pull-right-container">
|
||||
<i class="fa fa-angle-left pull-right"></i>
|
||||
</span>
|
||||
</a>
|
||||
<ul class="treeview-menu">
|
||||
<li><a href="{{ path('admin_batch_mailauto') }}">Mail auto <br>(US 436)</a></li>
|
||||
<li><a href="{{ path('admin_batch_candidatures') }}">Statuts des anciennes candidatures <br>(US 520)</a></li>
|
||||
<li><a href="{{ path('admin_batch_message') }}">Basculer les anciens messages <br>(US 200)</a></li>
|
||||
<li><a href="{{ path('admin_batch_geoloc') }}">Transformer adresse Talent en geoloc <br>(US 489)</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="treeview">
|
||||
<a href="#"><i class="fa fa-users" aria-hidden="true"></i> <span>Utilisateurs</span>
|
||||
<span class="pull-right-container">
|
||||
|
||||
@@ -5,6 +5,9 @@
|
||||
<h1>
|
||||
Modification d'un talent
|
||||
<small>{{ user.firstname }} {{ user.lastname }}</small>
|
||||
<a class="delete-user" href="{{ path('admin_user_delete',{'id':user.id}) }}" data-toggle="tooltip" title="Supprimer">
|
||||
<i class="fa fa-trash"></i>
|
||||
</a>
|
||||
</h1>
|
||||
<ol class="breadcrumb">
|
||||
<li><a href="{{ path('admin_dashboard') }}"><i class="fa fa-dashboard"></i> Dashboard</a></li>
|
||||
|
||||
@@ -54,7 +54,9 @@
|
||||
{% if user.medias|length > 0 %}
|
||||
|
||||
{% else %}
|
||||
<a href="https://www.talentstube.com/Offre/{{ adId[1]|replace({' ': ''}) }}-{{ adId[1] }}" target="_blank">Lien vers l'annonce avant inscription</a>
|
||||
{% 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>
|
||||
|
||||
@@ -0,0 +1,223 @@
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html lang="fr">
|
||||
|
||||
<head>
|
||||
<!-- Global site tag (gtag.js) - Google Analytics -->
|
||||
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-98246968-7"></script>
|
||||
<script>
|
||||
window.dataLayer = window.dataLayer || [];
|
||||
|
||||
function gtag() {
|
||||
dataLayer.push(arguments);
|
||||
}
|
||||
gtag('js', new Date());
|
||||
gtag('config', 'UA-98246968-7');
|
||||
</script>
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
||||
<link href="https://fonts.googleapis.com/css2?family=Roboto:wght@100;400;500;700;900&display=swap" rel="stylesheet">
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>{% block title %}{% endblock %}</title>
|
||||
|
||||
<link rel="shortcut icon" href="/landing/img/talentstubeIco.svg" type="image/x-icon">
|
||||
<link rel="icon" href="/landing/img/favicon.ico" type="image/x-icon">
|
||||
<link href="/landing/css/bootstrap.min.css" rel="stylesheet">
|
||||
<link href="/landing/css/owl.carousel.css" rel="stylesheet">
|
||||
<link href="/landing/css/main.css" rel="stylesheet">
|
||||
<link href="/landing/css/fontawesome.min.css" rel="stylesheet">
|
||||
<!-- Latest compiled and minified CSS -->
|
||||
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
|
||||
<!-- Optional theme -->
|
||||
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap-theme.min.css">
|
||||
<script src="/landing/js/modernizr.min.js"></script>
|
||||
<!--Ajout pour le référencement-->
|
||||
{# <link rel="canonical" href="" /> #}
|
||||
{% block meta %}
|
||||
<meta name="description"
|
||||
content="Créez des vidéos d’offres d’emploi originales avec Talents Tube. Réalisez vos vidéos rapidement avec un smartphone et recrutez">
|
||||
<meta property="og:locale" content="fr_FR" />
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:title" content="Réalisez une offre d’emploi originale vous-même" />
|
||||
<meta property="og:description"
|
||||
content="Créez des vidéos d’offres d’emploi originales avec Talents Tube. Réalisez vos vidéos rapidement avec un smartphone et recrutez" />
|
||||
<meta property="og:url" content="https://recruteur.talentstube.com/offre-emploi-originale" />
|
||||
<meta property="og:site_name" content="Talents Tube" />
|
||||
<meta property="og:image"
|
||||
content="https://recruteur.talentstube.com/landing/img/offre-emploi-originale-en-video.jpg" />
|
||||
<meta name="twitter:card" content="summary_large_image" />
|
||||
|
||||
{% endblock %}
|
||||
{# A ENLEVER EN PROD #}
|
||||
{# <meta name="robots" content="noindex,nofollow"> #}
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
{% block modalCallToAction %}
|
||||
<!-- Modal : Formulaire -->
|
||||
<div class="modal fade" id="exampleModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel"
|
||||
aria-hidden="true">
|
||||
<div class="modal-dialog" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="container-fluid">
|
||||
<div class="row" id="demandeRdvContainer">
|
||||
<div class="col-sm-12">
|
||||
<h2>Demandez votre rendez-vous</h2>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-12 col-sm-12">
|
||||
<div class="form-group">
|
||||
<label for="exampleInputPrenom>">Prénom</label>
|
||||
<input type="text" class="form-control" id="prenom" placeholder="Votre prénom">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
|
||||
<div class="col-12 col-sm-12">
|
||||
<div class="form-group">
|
||||
<label for="exampleInputNom">Nom</label>
|
||||
<input type="text" class="form-control" id="nom" placeholder="Votre nom">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
|
||||
<div class="col-12 col-sm-12">
|
||||
<div class="form-group">
|
||||
<label for="exampleInputEmail1">E-mail</label>
|
||||
<input type="email" class="form-control" id="email" placeholder="Votre email">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
|
||||
<div class="col-12 col-sm-12">
|
||||
<div class="form-group">
|
||||
<label for="exampleInputPhone">Téléphone</label>
|
||||
<input type="phone" class="form-control" id="telephone" placeholder="Votre téléphone">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<p class="text-danger" id="erreur">Veuillez compléter l'ensemble des champs ci-dessus pour
|
||||
demander un rendez-vous</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row" id="felicitationRdvContainer" class="text-center">
|
||||
<div class="text-center">
|
||||
<img src="/landing/img/demande-rendez-vous.svg">
|
||||
<h2>Merci!</h2>
|
||||
<p>Votre demande a bien été envoyée. Un conseiller vous contactera <strong>sous 48h</strong>.
|
||||
En attendant, nous allons vous rediriger vers notre blog afin de vous faire découvrir tous nos
|
||||
conseils pour un recrutement réussi.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button class="bttn" onClick="demanderRdv();" id="boutonDemandeRdv">Demander un rendez-vous</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!--Modal : Formulaire End -->
|
||||
{% endblock %}
|
||||
|
||||
{% block main %}
|
||||
|
||||
{% endblock %}
|
||||
|
||||
<script src="/landing/js/jquery-2.1.3.min.js"></script>
|
||||
<script src="/landing/js/bootstrap.min.js"></script>
|
||||
<script src="/landing/js/waypoints.min.js"></script>
|
||||
<!--Ordre important-->
|
||||
<script src="/landing/js/waypoints-sticky.min.js"></script> <!-- Nécessaire header sticky -->
|
||||
<script src="/landing/js/retina.min.js"></script> <!-- Nécessaire logo header (à voir pour l'enlever) -->
|
||||
<script src="/landing/js/owl.carousel.min.js"></script> <!-- Nécessaire avec les avantages (+de 3 avantages) -->
|
||||
<script src="/landing/js/jquery.ajaxchimp.min.js"></script> <!-- Nécessaire FAQ-->
|
||||
<script src="/landing/js/jquery.validate.min.js"></script>
|
||||
<script src="/landing/js/main.js"></script>
|
||||
<!--<script src="js/jquery.animateNumber.min.js"></script>-->
|
||||
<!--<script src="js/jquery.form.min.js"></script>-->
|
||||
{% block javascripts %}
|
||||
|
||||
{% endblock %}
|
||||
<script>
|
||||
$("#erreur").hide();
|
||||
$("#felicitationRdvContainer").hide();
|
||||
|
||||
|
||||
function demanderRdv() {
|
||||
if ($("#nom").val() == "" || $("#prenom").val() == "" || $("#email").val() == "" || $("#telephone").val() == "") {
|
||||
$("#erreur").show();
|
||||
} else {
|
||||
$("#erreur").hide();
|
||||
$("#boutonDemandeRdv").hide();
|
||||
$("#felicitationRdvContainer").show();
|
||||
$("#demandeRdvContainer").hide();
|
||||
|
||||
$.ajax({
|
||||
//L'URL de la requête
|
||||
|
||||
url: "/app_dev.php/api/demanderRdv?nom=" + $("#nom").val() + "&prenom=" + $("#prenom").val() + "&email=" +
|
||||
$("#email").val() + "&telephone=" + $("#telephone").val() + "&page=Demande rdv module vidéo",
|
||||
method: "GET",
|
||||
//La méthode d'envoi (type de requête)
|
||||
|
||||
|
||||
//Le format de réponse attendu
|
||||
dataType: "json",
|
||||
})
|
||||
//Ce code sera exécuté en cas de succès - La réponse du serveur est passée à done()
|
||||
/*On peut par exemple convertir cette réponse en chaine JSON et insérer
|
||||
* cette chaine dans un div id="res"*/
|
||||
.done(function (response) {
|
||||
console.log("Requête demande rdv done");
|
||||
setTimeout(function () {
|
||||
document.location.href = "https://blog.talentstube.com/articles-entreprise/";
|
||||
}, 8000);
|
||||
|
||||
})
|
||||
|
||||
//Ce code sera exécuté en cas d'échec - L'erreur est passée à fail()
|
||||
//On peut afficher les informations relatives à la requête et à l'erreur
|
||||
.fail(function (error) {
|
||||
console.log("Requête demande rdvfail");
|
||||
console.log(error);
|
||||
})
|
||||
|
||||
//Ce code sera exécuté que la requête soit un succès ou un échec
|
||||
.always(function () {
|
||||
console.log("Requête demande rdv effectuée");
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
function fermerVideo() {
|
||||
var videoURL = $('#player').prop('src');
|
||||
videoURL = videoURL.replace("&autoplay=1", "");
|
||||
$('#player').prop('src', '');
|
||||
$('#player').prop('src', videoURL);
|
||||
|
||||
}
|
||||
$('#exampleModalCenter').on('hidden.bs.modal', function (e) {
|
||||
console.log("exampleModalCenter11");
|
||||
fermerVideo();
|
||||
})
|
||||
</script>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
@@ -15,7 +15,11 @@
|
||||
|
||||
<!-- Required Meta Tags Always Come First -->
|
||||
<meta charset="utf-8">
|
||||
{# <meta name="robots" content="noindex,nofollow"> #}
|
||||
|
||||
|
||||
{# A ENLEVER EN PROD #}
|
||||
{# <meta name="robots" content="noindex,nofollow"> #}
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||
{% block meta %}
|
||||
{% endblock %}
|
||||
|
||||
@@ -1,6 +1,29 @@
|
||||
{# {% extends 'company/base_dashboard_company.html.twig' %} #}
|
||||
{% extends 'admin/base_dashboard.html.twig' %}
|
||||
{% extends 'admin/base_dashboard_candidatures.html.twig' %}
|
||||
{% block javascriptSupl %}
|
||||
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/1.10.22/css/jquery.dataTables.min.css">
|
||||
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/buttons/1.6.4/css/buttons.dataTables.min.css">
|
||||
{# <script type="text/javascript" language="javascript" src="https://code.jquery.com/jquery-3.5.1.js"></script>
|
||||
<script type="text/javascript" language="javascript" src="https://cdn.datatables.net/1.10.22/js/jquery.dataTables.min.js"></script>
|
||||
|
||||
<script type="text/javascript" language="javascript" src="https://cdn.datatables.net/buttons/1.6.4/js/dataTables.buttons.min.js"></script>
|
||||
<script type="text/javascript" language="javascript" src="https://cdn.datatables.net/buttons/1.6.4/js/buttons.flash.min.js"></script> #}
|
||||
|
||||
<script type="text/javascript" src="https://code.jquery.com/jquery-3.5.1.js"></script>
|
||||
<script type="text/javascript" src="https://cdn.datatables.net/1.10.22/js/jquery.dataTables.min.js"></script>
|
||||
<script type="text/javascript" src="https://cdn.datatables.net/buttons/1.6.4/js/dataTables.buttons.min.js"></script>
|
||||
<script type="text/javascript" language="javascript"
|
||||
src="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.1.3/jszip.min.js"></script>
|
||||
<script type="text/javascript" language="javascript"
|
||||
src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.53/pdfmake.min.js"></script>
|
||||
<script type="text/javascript" language="javascript"
|
||||
src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.53/vfs_fonts.js"></script>
|
||||
<script type="text/javascript" language="javascript"
|
||||
src="https://cdn.datatables.net/buttons/1.6.4/js/buttons.html5.min.js"></script>
|
||||
|
||||
<script type="text/javascript" language="javascript"
|
||||
src="https://cdn.datatables.net/buttons/1.6.4/js/buttons.print.min.js"></script>
|
||||
{% endblock %}
|
||||
|
||||
{% block dashContent %}
|
||||
<!-- START JUMBOTRON -->
|
||||
@@ -55,8 +78,10 @@ Lien : https://recruteur.talentstube.com/partage/{{ ad.id }}
|
||||
Mot de passe : ######
|
||||
Au plaisir d’échanger avec vous,
|
||||
</textarea>
|
||||
<br/>
|
||||
<p>* Les données collectées dans les candidatures vidéo sont strictement confidentielles et entrent dans le champ de la protection des données personnelles d’un candidat. Les vidéos peuvent être partagées uniquement dans le cadre du processus de recrutement.
|
||||
<br />
|
||||
<p>* Les données collectées dans les candidatures vidéo sont strictement confidentielles et entrent dans
|
||||
le champ de la protection des données personnelles d’un candidat. Les vidéos peuvent être partagées
|
||||
uniquement dans le cadre du processus de recrutement.
|
||||
</p>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
@@ -82,12 +107,13 @@ Au plaisir d’échanger avec vous,
|
||||
<h5> </h5>
|
||||
<p>En cliquant sur confirmer, cette candidature ne sera plus accessible dans l’espace visiteurs.</p>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<input type="hidden" id="caseRecocher">
|
||||
<button type="button" class="btn btn-secondary" data-dismiss="modal" onClick="annulerCheckbox()">Annuler</button>
|
||||
<button type="button" class="btn btn-secondary" data-dismiss="modal">Confirmer</button>
|
||||
<button type="button" class="btn btn-secondary" data-dismiss="modal"
|
||||
onClick="annulerCheckbox()">Annuler</button>
|
||||
<button type="button" class="btn btn-secondary" data-dismiss="modal">Confirmer</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -103,8 +129,95 @@ Au plaisir d’échanger avec vous,
|
||||
</div>
|
||||
</div> #}
|
||||
|
||||
<div class="col-xl-12">
|
||||
<div class="card card-borderless col-xl-12 col-sm-12 p-b-20">
|
||||
<div class="row profil-candidature">
|
||||
<div class="col-xl-6 col-md-12 p-t-10">
|
||||
<h5>{{ ad.title }}</h5>
|
||||
<h6>Publiée le {{ ad.publishedAt|date("d/m/Y") }}</h6>
|
||||
</div>
|
||||
<div class="col-xl-6 col-md-12 p-t-20 text-right">
|
||||
<a href="#" class="" data-toggle="tooltip"
|
||||
title="Cochez une ou plusieurs candidatures avant de pouvoir les partager.">
|
||||
<button type="button" class="btn btn-primary m-b-10 btn-lg " disabled data-toggle="modal"
|
||||
data-target="#partageModal" id="partageCandidats">
|
||||
Partager les
|
||||
candidatures
|
||||
</button>
|
||||
</a>
|
||||
<!--<button type="button" aria-label="" class="btn btn-default btn-lg m-b-10">
|
||||
<span class="material-icons fs-16 m-r-5">delete</span>
|
||||
<span class="">Clôturer</span>
|
||||
</button>-->
|
||||
<a href="{{ path('company_ad_soft_edit', { 'id': ad.id }) }}">
|
||||
<button type="button" aria-label="" class="btn btn-default btn-lg m-b-10">
|
||||
<span class="material-icons fs-16 m-r-5">create</span>
|
||||
<span class="">Éditer l'offre</span>
|
||||
</button>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<style type="text/css">
|
||||
/* Hide default search box */
|
||||
.dataTables_filter {
|
||||
display: none;
|
||||
}
|
||||
</style>
|
||||
<div id="reponses" class="table-responsive m-t-20">
|
||||
<table width="100%" class="table " style="">
|
||||
<tr>
|
||||
<th width="11%"><input id='input3' type='text' class='form-control' placeholder='Recherche par nom'
|
||||
style='font-family:Arial, FontAwesome; width:100%' />
|
||||
</th>
|
||||
|
||||
<div class="row bg-bordered p-20">
|
||||
<th width="11%"><input id='input4' type='text' class='form-control'
|
||||
placeholder='Recherche par prénom' style='font-family:Arial, FontAwesome; width:100%' />
|
||||
</th>
|
||||
<th width="25%">
|
||||
<select id='input8' class='form-control'>
|
||||
<option value="">Tous les statuts</option>
|
||||
<option value="A_TRAITER">À traiter</option>
|
||||
<option value="CONTACTE">Contacté</option>
|
||||
<option value="ENTRETIEN">Entretien programmé</option>
|
||||
<option value="REFUSE">Refusé</option>
|
||||
<option value="EMBAUCHE">Embauché</option>
|
||||
</select>
|
||||
</th>
|
||||
</tr>
|
||||
</table>
|
||||
<table id="candidatures_dt_table" width="100%" class="table table-hover ">
|
||||
<thead>
|
||||
<tr>
|
||||
<th width="4%"></th>
|
||||
<th width="4%">Vidéo</th>
|
||||
<th width="6%">Nom</th>
|
||||
<th width="6%">Prénom</th>
|
||||
<th width="11%">Date de reception</th>
|
||||
<th width="11%">Intitulé de l'offre</th>
|
||||
<th width="21%">Localisation</th>
|
||||
<th width="15%">Statut</th>
|
||||
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
{# <div class="row bg-bordered p-20">
|
||||
|
||||
|
||||
|
||||
@@ -213,7 +326,7 @@ Au plaisir d’échanger avec vous,
|
||||
</div>
|
||||
<!-- END CONTAINER FLUID -->
|
||||
|
||||
</div>
|
||||
</div> #}
|
||||
|
||||
<div id="note-modal"></div>
|
||||
|
||||
@@ -223,23 +336,23 @@ Au plaisir d’échanger avec vous,
|
||||
{% block javascriptsEnd %}
|
||||
<!-- BEGIN VENDOR JS -->
|
||||
|
||||
<script src="{{ asset('dashboard/plugins/bootstrap/js/bootstrap.min.js') }}" type="text/javascript"></script>
|
||||
<script src="{{ asset('dashboard/plugins/bootstrap/js/bootstrap.min.js') }}" type="text/javascript"></script>
|
||||
|
||||
|
||||
<!-- END PAGE LEVEL JS -->
|
||||
<!-- END PAGE LEVEL JS -->
|
||||
<script type="text/javascript">
|
||||
function parcourirAllCheckbox() {
|
||||
var allCheckboxes = $("input[type=checkbox]");
|
||||
var allCheckboxes = $("input[type=checkbox]");
|
||||
var auMoinUneCheckboxCoche = false;
|
||||
// Put all the unique name attributes in an array.
|
||||
var checkboxCocheId= null;
|
||||
var checkboxCocheId = null;
|
||||
allCheckboxes.each(function () {
|
||||
var isChecked = $(this).prop('checked');
|
||||
if (isChecked == true) {
|
||||
auMoinUneCheckboxCoche = true;
|
||||
|
||||
var tabId =$(this).prop('id').split("_");
|
||||
|
||||
var tabId = $(this).prop('id').split("_");
|
||||
checkboxCocheId = tabId[1];
|
||||
console.log(checkboxCocheId);
|
||||
}
|
||||
@@ -257,19 +370,19 @@ Au plaisir d’échanger avec vous,
|
||||
|
||||
}
|
||||
|
||||
function annulerCheckbox(){
|
||||
function annulerCheckbox() {
|
||||
//recuprer l'id de la checkbox
|
||||
var checkboxId = $("#caseRecocher").val();
|
||||
//$("#answer_" + checkboxId).prop(checked, true);
|
||||
document.getElementById("answer_" + checkboxId).checked = true;
|
||||
console.log("annuler action checkbox "+checkboxId);
|
||||
console.log("annuler action checkbox " + checkboxId);
|
||||
verifierIsChecked(checkboxId);
|
||||
}
|
||||
|
||||
function verifierIsChecked(id) {
|
||||
var auMoinUneCheckboxCoche = false;
|
||||
parcourirAllCheckbox();
|
||||
if($("#answer_" + id).prop('checked')==false){
|
||||
if ($("#answer_" + id).prop('checked') == false) {
|
||||
console.log("cette checkbox était cochée avant");
|
||||
//$('#decocheModal').modal('open');
|
||||
$('#decocheModal').modal('show');
|
||||
@@ -300,7 +413,7 @@ Au plaisir d’échanger avec vous,
|
||||
const obj = JSON.parse(data);
|
||||
console.log(obj.code);
|
||||
var texteMail = $("#codeShare").val();
|
||||
$("#codeShare").val(texteMail.replace('######', obj.code));
|
||||
$("#codeShare").val(texteMail.replace('######', obj.code));
|
||||
})
|
||||
|
||||
//Ce code sera exécuté en cas d'échec - L'erreur est passée à fail()
|
||||
@@ -330,11 +443,142 @@ Au plaisir d’échanger avec vous,
|
||||
});
|
||||
$('#partageModal').modal('hide');
|
||||
$('#decocheModal').modal('hide');
|
||||
}
|
||||
);
|
||||
$(window).load(function() {
|
||||
});
|
||||
$(window).load(function () {
|
||||
$('#partageModal').modal('hide');
|
||||
$('#decocheModal').modal('hide');
|
||||
});
|
||||
</script>
|
||||
<script>
|
||||
$(document).ready(function () {
|
||||
|
||||
// Add a text input to each footer cell
|
||||
var pos = 1;
|
||||
|
||||
|
||||
|
||||
|
||||
var table = $('#candidatures_dt_table').DataTable({
|
||||
|
||||
|
||||
|
||||
"columnDefs": [
|
||||
{
|
||||
"name": "partage",
|
||||
"targets": 0,
|
||||
"searchable": false,
|
||||
"orderable": false
|
||||
},
|
||||
{
|
||||
"name": "video",
|
||||
"targets": 1,
|
||||
"searchable": true,
|
||||
"orderable": false
|
||||
},
|
||||
{
|
||||
"name": "nom",
|
||||
"targets": 2,
|
||||
"type": 'html',
|
||||
"searchable": true,
|
||||
"orderable": true
|
||||
},
|
||||
{
|
||||
"name": "prenom",
|
||||
"targets": 3,
|
||||
"type": 'html',
|
||||
"searchable": true,
|
||||
"orderable": true
|
||||
},
|
||||
{
|
||||
"name": "dateReception",
|
||||
"targets": 4,
|
||||
"searchable": true,
|
||||
"orderable": true
|
||||
},
|
||||
{
|
||||
"name": "offre",
|
||||
"targets": 5,
|
||||
"searchable": true,
|
||||
"orderable": false
|
||||
},
|
||||
{
|
||||
"name": "localisation",
|
||||
"targets": 6,
|
||||
"searchable": true,
|
||||
"orderable": false
|
||||
},
|
||||
{
|
||||
"name": "statusReponse",
|
||||
"targets": 7,
|
||||
"searchable": true,
|
||||
"orderable": false
|
||||
},
|
||||
],
|
||||
"processing": true,
|
||||
"serverSide": true,
|
||||
|
||||
"ajax": {
|
||||
"url": "{{ path('alimenterCandidaturesAd',{'id':ad.id}) }}",
|
||||
"type": 'POST',
|
||||
},
|
||||
"paging": true,
|
||||
"info": true,
|
||||
"searching": true,
|
||||
"bFilter": true,
|
||||
"responsive": true,
|
||||
"pageLength": 100,
|
||||
"order": [
|
||||
[4, 'desc']
|
||||
],
|
||||
"language": {
|
||||
"sProcessing": "En cours de chargement...",
|
||||
"sSearch": "Rechercher :",
|
||||
"sLengthMenu": "Afficher _MENU_ candidatures",
|
||||
"sInfo": "Candidature de _START_ à _END_ sur _TOTAL_ candidatures",
|
||||
"sInfoEmpty": "Candidature 0 à 0 sur 0 candidature",
|
||||
"sInfoFiltered": "",
|
||||
"sInfoPostFix": "",
|
||||
"sLoadingRecords": "Chargement en cours...",
|
||||
"sZeroRecords": "Aucune candidature ne correspond à votre recherche",
|
||||
"sEmptyTable": "Aucune candidature disponible dans le tableau",
|
||||
"oPaginate": {
|
||||
"sFirst": "Premier",
|
||||
"sPrevious": "Précédent",
|
||||
"sNext": "Suivant",
|
||||
"sLast": "Dernier"
|
||||
},
|
||||
"oAria": {
|
||||
"sSortAscending": ": activer pour trier la colonne par ordre croissant",
|
||||
"sSortDescending": ": activer pour trier la colonne par ordre décroissant"
|
||||
}
|
||||
},
|
||||
|
||||
});
|
||||
|
||||
|
||||
|
||||
// Apply the search
|
||||
pos = 1;
|
||||
table.columns().every(function () {
|
||||
var that = this;
|
||||
|
||||
$("#input" + pos).on('keyup change', function () {
|
||||
console.log(this);
|
||||
if (that.search() !== this.value) {
|
||||
that
|
||||
.search(this.value)
|
||||
.draw();
|
||||
}
|
||||
});
|
||||
pos++;
|
||||
});
|
||||
|
||||
$('#candidatures_dt_table_filter').hide();
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
});
|
||||
</script>
|
||||
{% endblock %}
|
||||
@@ -1,6 +1,5 @@
|
||||
{# {% extends 'company/base_dashboard_company.html.twig' %} #}
|
||||
{% extends 'admin/base_dashboard.html.twig' %}
|
||||
|
||||
{% block javascriptSupl %}
|
||||
<style>
|
||||
.saisie thead tr th,
|
||||
@@ -10,9 +9,6 @@
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
.modalCompetences {
|
||||
height: 600px;
|
||||
}
|
||||
@@ -49,16 +45,19 @@
|
||||
<div class="modal-dialog modal-lg" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title" id="competencesModalLabel">Souhaitez-vous sélectionner le métier <span class="metierPopup"></span>?</h5>
|
||||
<h5 class="modal-title" id="competencesModalLabel">Souhaitez-vous sélectionner le métier <span
|
||||
class="metierPopup"></span>?</h5>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<h5> </h5>
|
||||
<h5> </h5>
|
||||
<p>
|
||||
|
||||
Si vous aviez précédemment sélectionné des compétences en lien avec l'ancien métier de rattachement, celles-ci seront remplacées par les nouvelles compétences, correspondant au métier <span class="metierPopup"></span>.
|
||||
|
||||
Si vous aviez précédemment sélectionné des compétences en lien avec l'ancien métier de rattachement,
|
||||
celles-ci seront remplacées par les nouvelles compétences, correspondant au métier <span
|
||||
class="metierPopup"></span>.
|
||||
</p>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
@@ -78,8 +77,9 @@
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h6 class="modal-title">Sélectionnez les compétences recherchées pour le poste à pourvoir </h6>
|
||||
<h7 class="modal-title">Vous pouvez sélectionner jusqu’à 10 compétences à afficher dans votre offre d’emploi. </h7>
|
||||
</div>
|
||||
<h7 class="modal-title">Vous pouvez sélectionner jusqu’à 10 compétences à afficher dans votre offre
|
||||
d’emploi. </h7>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
|
||||
{# <p>Etes vous sur de charger les compétences du métier <span id="metierPopup"></span></p> #}
|
||||
@@ -87,18 +87,19 @@
|
||||
<div class="card-body">
|
||||
<div class="scrollable">
|
||||
<div class="demo-card-scrollable">
|
||||
|
||||
|
||||
|
||||
|
||||
<div id="competencesAdPopup"></div>
|
||||
|
||||
|
||||
</div>
|
||||
</div><br/>
|
||||
</div><br />
|
||||
<div id="competencesAdMessagePopup" class="text-danger"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" id="ajouterCompetenceButtonMdal" class="btn btn-secondary" data-dismiss="modal" onclick="" >Ajouter ces compétences</button>
|
||||
<button type="button" id="ajouterCompetenceButtonMdal" class="btn btn-secondary" data-dismiss="modal"
|
||||
onclick="">Ajouter ces compétences</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -107,7 +108,24 @@
|
||||
|
||||
<!-- START CONTAINER FLUID -->
|
||||
<div class=" container-fluid container-fixed-lg">
|
||||
<div id="rootwizard" class="m-t-50">
|
||||
<div class="col-lg-8 bloc-header">
|
||||
<div class="card card-default container">
|
||||
<div class="card-body">
|
||||
<div class="row" style="min-height:10rem;">
|
||||
<div class="col-8">
|
||||
<h4 class="header-title" style="font-size:2em;line-height:1.5em;">Création d'une offre d'emploi
|
||||
vidéo</h4>
|
||||
<p>Pour trouver le bon profil, renseignez et personnalisez votre annonce. <br>Plus votre annonce
|
||||
est précise et attractive, plus les candidatures seront ciblées.</p>
|
||||
</div>
|
||||
<div class="col-4"
|
||||
style="background-repeat: no-repeat; background-image: url('https://blog.talentstube.com/wp-content/uploads/2021/02/creer-offre-emploi-video.svg');background-size: contain;background-position: center;">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="rootwizard" class="col-lg-8 m-t-50">
|
||||
{% if type is defined and type == 'update' %}
|
||||
{% include 'company/ad_stepsV2.html.twig' with {'tab':1, 'type':'update'} %}
|
||||
{% else %}
|
||||
@@ -119,89 +137,105 @@
|
||||
|
||||
<div class="tab-pane padding-20 sm-no-padding active slide-left" id="tab1">
|
||||
<div class="row row-same-height">
|
||||
<div class="col-md-5 b-r b-dashed b-grey sm-b-b">
|
||||
<div class="padding-30 sm-padding-5 sm-m-t-15 m-t-50">
|
||||
<i class="material-icons hint-text">info</i>
|
||||
<h2>Etape 1 : Je crée une annonce</h2>
|
||||
<p>Pour trouver le bon profil, renseignez et personnalisez votre annonce.
|
||||
Plus votre annonce est précise et attractive, plus les candidatures seront ciblées.
|
||||
Afin de créer votre annonce, renseignez l’ensemble des champs relatifs au poste proposé.
|
||||
</p>
|
||||
{# <p class="small hint-text">Below is a sample page for your cart , Created using pages design
|
||||
UI Elementes</p> #}
|
||||
|
||||
<div class="col-md">
|
||||
<h4>À propos du poste</h4>
|
||||
<br>
|
||||
{% if form.title is defined%}
|
||||
<div class="form-group form-group-default required">
|
||||
{# <label for="ad_title" class="required active">Intitulé du poste</label><input type="text"
|
||||
id="ad_title" name="ad[title]" required="required" placeholder="Ex: Commercial (H/F)"
|
||||
class="form-control"> #}
|
||||
{{ form_row(form.title) }}
|
||||
</div>
|
||||
{% endif %}
|
||||
{% if form.reference is defined%}
|
||||
<div class="form-group form-group-default required">
|
||||
{# <label for="ad_reference" class="required active">Référence de l'offre
|
||||
d'emploi</label><input type="text" id="ad_reference" name="ad[reference]"
|
||||
required="required" placeholder="Ex : BTH567" class="form-control"> #}
|
||||
{{ form_row(form.reference) }}
|
||||
</div>
|
||||
{% endif %}
|
||||
<div class="form-group form-group-default required" style="min-height:250px;">
|
||||
{# <label for="ad_description" class="required active">Description du poste</label>
|
||||
<textarea id="ad_description" name="ad[description]" required="required"
|
||||
class="form-control"
|
||||
placeholder="Décrivez le poste, les missions, le profil recherché..."></textarea> #}
|
||||
{{ form_row(form.description) }}
|
||||
</div>
|
||||
<div class="form-group form-group-default required">
|
||||
{# <label for="ad_location_gmap" class="required active">Localisation du poste</label><input
|
||||
type="text" id="ad_location_gmap" name="ad[location_gmap]" required="required" value=""
|
||||
class="form-control pac-target-input"
|
||||
placeholder="Ex : 3 Rue Louis de Broglie, Vannes, France" autocomplete="off"> #}
|
||||
{{ form_row(form.location_gmap) }}
|
||||
{{ form_row(form.location) }}
|
||||
</div>
|
||||
{# <input type="hidden" id="ad_location" name="ad[location]" value="null"> #}
|
||||
<br>
|
||||
<h6>Organisation cliente (facultatif)</h6>
|
||||
<div class="form-group form-group-default">
|
||||
{# <label for="ad_beneficiaire" class="active">Nom de l'organisation</label>
|
||||
<input type="text" id="ad_beneficiaire" name="ad[beneficiaire]" placeholder=""
|
||||
class="form-control"> #}
|
||||
{{ form_row(form.beneficiaire) }}
|
||||
</div>
|
||||
<p class="fs-12 bold">Vous souhaitez recruter pour l'un de vos clients ? Veuillez renseigner le
|
||||
champ ci-dessus</p>
|
||||
<br>
|
||||
<h4>Critères de l'offre d'emploi</h4>
|
||||
<br>
|
||||
<div class="form-group form-group-default required">
|
||||
{# <label for="ad_contract_type" class="required">Type de contrat:</label>
|
||||
<select id="ad_contract_type" name="ad[contract_type]" class="form-control">
|
||||
<option value="CDI">CDI</option>
|
||||
<option value="CDD">CDD</option>
|
||||
<option value="Apprentissage">Apprentissage</option>
|
||||
<option value="professionnalisation">Contrat de professionnalisation</option>
|
||||
<option value="Stage">Stage</option>
|
||||
<option value="Indépendant">Indépendant</option>
|
||||
<option value="Interim">Interim</option>
|
||||
</select> #}
|
||||
{{ form_row(form.contract_type) }}
|
||||
</div>
|
||||
<div class="form-group form-group-default disabled" id="ad_duree_contrat_div">
|
||||
{# <label for="ad_duree_contrat" class="active">Durée du contrat en mois</label>
|
||||
<input type="number" id="ad_duree_contrat" name="ad[duree_contrat]" value="0"
|
||||
class="form-control" placeholder="Ex : 6" min="0" max="36" disabled=""> #}
|
||||
{{ form_row(form.duree_contrat) }}
|
||||
</div>
|
||||
<div class="form-group form-group-default required">
|
||||
{# <label for="ad_temps_type" class="required">Type d'emploi</label>
|
||||
<select id="ad_temps_type" name="ad[temps_type]" class="form-control">
|
||||
<option value="FULL_TIME">Temps plein </option>
|
||||
<option value="PART_TIME">Temps partiel </option>
|
||||
<option value="MIX_TIME">Temps plein ou temps partiel</option>
|
||||
</select> #}
|
||||
{{ form_row(form.temps_type) }}
|
||||
</div>
|
||||
<div class="form-group form-group-default disabled" id="ad_nombre_heure_div">
|
||||
{# <label for="ad_nombre_heure" class="active">Temps de travail (Le nombre saisi correspond au
|
||||
nombre d'heures/semaine.)</label>
|
||||
<input type="number" id="ad_nombre_heure" name="ad[nombre_heure]" value="0"
|
||||
class="form-control" placeholder="Ex : 20" min="0" max="35" disabled=""> #}
|
||||
{{ form_row(form.nombre_heure) }}
|
||||
</div>
|
||||
<div class="form-group form-group-default required">
|
||||
{# <label for="ad_teletravail" class="required">Possibilité de faire du Télétravail?</label>
|
||||
<select id="ad_teletravail" name="ad[teletravail]" class="form-control">
|
||||
<option value="tele_occasionel">Occasionnel </option>
|
||||
<option value="tele_partiel">Partiel </option>
|
||||
<option value="tele_total">Total</option>
|
||||
<option value="tele_non">Non</option>
|
||||
</select> #}
|
||||
{{ form_row(form.teletravail) }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-7">
|
||||
<div class="padding-30 sm-padding-5">
|
||||
|
||||
<table class="table table-condensed ">
|
||||
{% if form_errors(form) %}
|
||||
<tr>
|
||||
<td class="col-lg-12 col-md-12 col-sm-12 ">
|
||||
|
||||
<span class="red-text text-darken-2">{{ form_errors(form) }}</span>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
<tr>
|
||||
<td class="col-lg-12 col-md-12 col-sm-12 ">
|
||||
{{ form_row(form.reference) }}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="col-lg-12 col-md-12 col-sm-12 ">
|
||||
{{ form_row(form.title) }}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="col-lg-12 col-md-12 col-sm-12">
|
||||
{{ form_row(form.beneficiaire) }}
|
||||
<br />
|
||||
Vous souhaitez recruter pour l'un de vos clients, renseignez ce champ
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="col-lg-12 col-md-12 col-sm-12">
|
||||
{{ form_row(form.location_gmap) }}
|
||||
{{ form_row(form.location) }}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="col-lg-12 col-md-12 col-sm-12">
|
||||
{{ form_row(form.description) }}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="col-lg-12 col-md-12 col-sm-12">
|
||||
{{ form_row(form.contract_type) }}
|
||||
</td>
|
||||
</tr>
|
||||
{# US 380 : Mise en place du temps de contrat (CDD) #}
|
||||
<tr id="ligneDureeContrat">
|
||||
<td class="col-lg-12 col-md-12 col-sm-12">
|
||||
{{ form_row(form.duree_contrat) }}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="col-lg-12 col-md-12 col-sm-12">
|
||||
{{ form_row(form.temps_type) }}
|
||||
</td>
|
||||
</tr>
|
||||
{# US 329 : Mise en place du temps de travail #}
|
||||
<tr id='ligneNbHeure'>
|
||||
<td class="col-lg-12 col-md-12 col-sm-12">
|
||||
{{ form_row(form.nombre_heure) }}
|
||||
</td>
|
||||
</tr>
|
||||
{# US 295 : Mise en place du télétravail #}
|
||||
<tr>
|
||||
<td class="col-lg-12 col-md-12 col-sm-12">
|
||||
{{ form_row(form.teletravail) }}
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br>
|
||||
<h4 class="no-margin p-b-5">Compétences recherchées</h4>
|
||||
<br>
|
||||
<div class="col bg-contrast-lower">
|
||||
<br>
|
||||
<table>
|
||||
<tr class='bg-contrast-lower'>
|
||||
<td class="col-lg-12 col-md-12 col-sm-12 bg-contrast-lower">
|
||||
@@ -246,15 +280,16 @@
|
||||
<tr class='bg-contrast-lower'>
|
||||
<td class="col-lg-12 col-md-12 col-sm-12 bg-contrast-lower">
|
||||
<div id="competencesAd"></div><br />
|
||||
<div id="competencesAdMessage" class="text-danger">Veuillez choisir un métier de rattachement pour votre annonce.</div><br />
|
||||
<div id="loadingDiv" >Patientez...</div><br />
|
||||
<div id="competencesAdMessage" class="text-danger">Veuillez choisir un métier de
|
||||
rattachement pour votre annonce.</div><br />
|
||||
<div id="loadingDiv">Patientez...</div><br />
|
||||
<div class="text-center" id="competencesButtonAd">
|
||||
<button type="button" class="btn btn-primary" data-toggle="modal"
|
||||
<button type="button" class="btn btn-info btn-lg" data-toggle="modal"
|
||||
data-target="#ajoutCompetencesModal" id="ajoutCompetences">
|
||||
Ajouter des compétences
|
||||
</button>
|
||||
<input type="hidden" id ="nbCompetences">
|
||||
<span id= "nbCompetencesText"></span>
|
||||
<input type="hidden" id="nbCompetences">
|
||||
<span id="nbCompetencesText"></span>
|
||||
</div>
|
||||
</td>
|
||||
{{ form_row(form.appellationId) }}
|
||||
@@ -262,120 +297,43 @@
|
||||
{{ form_row(form.codeRome) }}
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
{# <tr>
|
||||
<td class="col-lg-12 col-md-12 col-sm-12">
|
||||
{{ form_row(form.status) }}
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="col-lg-12 col-md-12 col-sm-12">
|
||||
{{ form_row(form.publicTag) }}
|
||||
{{ form_row(form.competences) }}
|
||||
</td>
|
||||
</tr> #}
|
||||
|
||||
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="col-lg-12 col-md-12 col-sm-12">
|
||||
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="col-lg-12 col-md-12 col-sm-12 ">
|
||||
<button aria-label="" type="submit"
|
||||
class="btn btn-primary btn-cons btn-animated from-left pull-right"
|
||||
type="button" id="saveAdButton">
|
||||
<span>{% if type is defined and type == 'update' %}Sauvegarde et
|
||||
étape
|
||||
suivante {% else %}Je crée mon annonce{% endif %}</span>
|
||||
<span class="hidden-block">
|
||||
<i class="material-icons fs-16">videocam</i>
|
||||
</span>
|
||||
</button>
|
||||
<br />
|
||||
|
||||
{# <button class="btn btn-default" type="submit">Je crée mon annonce!</button> #}
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
|
||||
|
||||
</div>
|
||||
<br>
|
||||
|
||||
<button aria-label="" type="submit"
|
||||
class="btn btn-lg btn-primary btn-cons btn-animated from-left" id="saveAdButton"
|
||||
disabled="">
|
||||
<span>Suivant</span>
|
||||
<span class="hidden-block">
|
||||
<i class="material-icons tab-icon">videocam</i>
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
{{ form_end(form) }}
|
||||
<div class="tab-pane slide-left padding-20 sm-no-padding disabled" id="tab2">
|
||||
<div class="row row-same-height">
|
||||
<div class="col-md-5 b-r b-dashed b-grey ">
|
||||
<div class="padding-30 sm-padding-5 sm-m-t-15 m-t-50">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-7">
|
||||
<div class="padding-30 sm-padding-5">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="padding-20 sm-padding-5 sm-m-b-20 sm-m-t-20 bg-white clearfix">
|
||||
{# <ul class="pager wizard no-style">
|
||||
<li class="next">
|
||||
<button aria-label="" class="btn btn-primary btn-cons btn-animated from-left pull-right"
|
||||
type="button">
|
||||
<span>Je crée mon annonce</span>
|
||||
<span class="hidden-block">
|
||||
<i class="material-icons fs-16">local_shipping</i>
|
||||
</span>
|
||||
</button>
|
||||
</li>
|
||||
<li class="next finish hidden">
|
||||
<button aria-label="" class="btn btn-primary btn-cons btn-animated from-left pull-right"
|
||||
type="button">
|
||||
<span>Finish</span>
|
||||
<span class="hidden-block">
|
||||
<i class="material-icons fs-16">settings</i>
|
||||
</span>
|
||||
</button>
|
||||
</li>
|
||||
<li class="previous first hidden">
|
||||
<button aria-label="" class="btn btn-default btn-cons btn-animated from-left pull-right"
|
||||
type="button">
|
||||
<span>First</span>
|
||||
<span class="hidden-block">
|
||||
<i class="material-icons fs-16">settings</i>
|
||||
</span>
|
||||
</button>
|
||||
</li>
|
||||
<li class="previous">
|
||||
<button aria-label="" class="btn btn-default btn-cons btn-animated from-left pull-right"
|
||||
type="button">
|
||||
<span>Previous</span>
|
||||
<span class="hidden-block">
|
||||
<i class="material-icons fs-14">settings</i>
|
||||
</span>
|
||||
</button>
|
||||
</li>
|
||||
</ul> #}
|
||||
</div>
|
||||
<div class="wizard-footer padding-20 bg-contrast-low">
|
||||
<p class="small hint-text pull-left no-margin">
|
||||
|
||||
</p>
|
||||
<div class="pull-right">
|
||||
|
||||
</div>
|
||||
<div class="clearfix"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- END CONTAINER FLUID -->
|
||||
|
||||
{% endblock %}
|
||||
@@ -387,9 +345,11 @@
|
||||
if ($("#ad_temps_type").val() == "PART_TIME") {
|
||||
//$("#ligneNbHeure").show();
|
||||
$("#ad_nombre_heure").prop("disabled", false);
|
||||
$("#ad_nombre_heure_div").removeClass("disabled");
|
||||
} else {
|
||||
//$("#ligneNbHeure").hide().prop('required',false) ;;
|
||||
$("#ad_nombre_heure").prop("disabled", true);
|
||||
$("#ad_nombre_heure_div").addClass("disabled");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -399,9 +359,11 @@
|
||||
if ($("#ad_contract_type").val() == "CDD") {
|
||||
//$("#ligneDureeContrat").show();
|
||||
$("#ad_duree_contrat").prop("disabled", false);
|
||||
$("#ad_duree_contrat_div").removeClass("disabled");
|
||||
} else {
|
||||
//$("#ligneDureeContrat").hide().prop('required',false) ;
|
||||
$("#ad_duree_contrat").prop("disabled", true);
|
||||
$("#ad_duree_contrat_div").addClass("disabled");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -432,62 +394,65 @@
|
||||
console.log(this.value);
|
||||
//competences.push(competence);
|
||||
//on remplace la virgule par un esapce car sinon bug (les compétences sont séparés par une virgule)
|
||||
var chaine = this.value.replace(",", " ");
|
||||
|
||||
var chaine = this.value.replace("'", " ");
|
||||
chaine = chaine.replace(",", " ");
|
||||
//On limite a 10 compétences, au dela, on les enregistre pas dans le champ ad_competences
|
||||
if(nbCompetencesSelect<11){
|
||||
if (nbCompetencesSelect < 11) {
|
||||
competences += chaine + ",";
|
||||
nbCompetencesSelect++;
|
||||
}
|
||||
|
||||
$("#nbCompetencesText").html(nbCompetencesSelect+" compétences sélectionnées");
|
||||
$("#ajouterCompetenceButtonMdal").html("Ajouter (+"+nbCompetencesSelect+")");
|
||||
|
||||
$("#nbCompetencesText").html(nbCompetencesSelect + " compétences sélectionnées");
|
||||
$("#ajouterCompetenceButtonMdal").html("Ajouter (+" + nbCompetencesSelect + ")");
|
||||
$("#nbCompetences").val(nbCompetencesSelect);
|
||||
//return competence;
|
||||
}
|
||||
|
||||
}).get();
|
||||
console.log(competences);
|
||||
// on renseigne le champ ad_competences
|
||||
$("#ad_competences").val(competences);
|
||||
//Gestion des erreurs si aucune compétence
|
||||
if(nbCompetencesSelect==0){
|
||||
if (nbCompetencesSelect == 0) {
|
||||
$("#nbCompetencesText").html("");
|
||||
$("#competencesAdMessage").html(
|
||||
"Vous devez sélectionner au minimum une compétence "
|
||||
"Vous devez sélectionner au minimum une compétence "
|
||||
);
|
||||
$("#competencesAdMessagePopup").html(
|
||||
"Vous devez sélectionner au minimum une compétence "
|
||||
"Vous devez sélectionner au minimum une compétence "
|
||||
);
|
||||
$("#ajouterCompetenceButtonMdal").html("Ajouter (+0)");
|
||||
$("#ajouterCompetenceButtonMdal").hide();
|
||||
$("#saveAdButton").prop("disabled", true);
|
||||
}else if(nbCompetencesSelect>9){
|
||||
//$("#saveAdButton").prop("disabled", true);
|
||||
} else if (nbCompetencesSelect > 9) {
|
||||
//Gestion des erreurs si plusde 10 compétences
|
||||
$("#saveAdButton").prop("disabled", false);
|
||||
$("#competencesAdMessage").html(
|
||||
"Vous avez atteint le nombre maximum de compétences. "
|
||||
"Vous avez atteint le nombre maximum de compétences. "
|
||||
);
|
||||
$("#competencesAdMessagePopup").html(
|
||||
"Vous avez atteint le nombre maximum de compétences. "
|
||||
"Vous avez atteint le nombre maximum de compétences. "
|
||||
);
|
||||
if(nbCompetencesSelect>10){
|
||||
if (nbCompetencesSelect > 10) {
|
||||
$("#ajouterCompetenceButtonMdal").hide();
|
||||
|
||||
|
||||
}
|
||||
}else{
|
||||
} else {
|
||||
//cas standards, on reinitialise les champs a vide
|
||||
|
||||
$("#competencesAdMessage").html( " ");
|
||||
|
||||
$("#competencesAdMessage").html(" ");
|
||||
$("#competencesAdMessagePopup").html(" ");
|
||||
$("#saveAdButton").prop("disabled", false);
|
||||
$("#ajouterCompetenceButtonMdal").show();
|
||||
}
|
||||
console.log("valeur saiisie");
|
||||
if($("#saisie").val() =="" || !$("#saisie").val() ){
|
||||
if ($("#saisie").val() == "" || !$("#saisie").val()) {
|
||||
$("#competencesAdMessage").html(
|
||||
"Veuillez choisir un métier de rattachement pour votre annonce. "
|
||||
"Veuillez choisir un métier de rattachement pour votre annonce. "
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
$(document).ready(function () {
|
||||
@@ -503,7 +468,7 @@
|
||||
// renseignement du champ visible (init du métier)
|
||||
$("#saisie").val($("#ad_appellationLibelle").val());
|
||||
$("#competences_origine").val($("#ad_competences").val());
|
||||
if ($("#ad_competences").val() !='null' ){
|
||||
if ($("#ad_competences").val() != 'null') {
|
||||
$("#saveAdButton").prop("disabled", false);
|
||||
}
|
||||
//charger les compétences en fonction du métier d'origine
|
||||
@@ -557,10 +522,12 @@
|
||||
suggestion: function (data) {
|
||||
//comment sont formaté les suggestion de l'auto completion
|
||||
$(".tt-dataset-metiers").show();
|
||||
var chaine = data.metier_libelle.replace("'", "\\'");
|
||||
var chaine = data.metier_libelle.replace("'", " ");
|
||||
var chaine = chaine.replace("'", ",");
|
||||
return '<div onclick="chargerDonneesTemp(' + data.metier_id + ',\'' +
|
||||
chaine +
|
||||
'\')" data-toggle="modal" data-target="#competencesModal" id="competences"><a href="#" >' + data.metier_libelle +
|
||||
'\')" data-toggle="modal" data-target="#competencesModal" id="competences"><a href="#" >' +
|
||||
data.metier_libelle +
|
||||
'</a></div>'
|
||||
},
|
||||
footer: function (query) {
|
||||
@@ -631,14 +598,20 @@
|
||||
checked = "checked";
|
||||
}
|
||||
var chaine = object.libelle.replace("'", " ");
|
||||
var chaine = chaine.replace(",", " ");
|
||||
$("#competencesAd").append("<div id='competence_ad_"+object.code+"' name='competences_ad[]'><input type='checkbox' "+checked+" onChange='genererCompetences(this);' id='competence_" + object
|
||||
.code + "' value='" +chaine+"_"+ object.code + "'> " + object.libelle + "<br/></div>");
|
||||
chaine = chaine.replace(",", " ");
|
||||
chaine = chaine.replace('"', " ");
|
||||
$("#competencesAd").append('<div id="competence_ad_' + object.code +
|
||||
'" name="competences_ad[]"><input type="checkbox" ' + checked +
|
||||
' onChange="genererCompetences(this);" id="competence_' + object
|
||||
.code + '" value="' + chaine + "_" + object.code + '"> ' + object.libelle +
|
||||
'<br/></div>');
|
||||
|
||||
$("#competencesAdPopup").append("<div id='competence_ad_popup_"+object.code+"'><input type='checkbox' "+checked+" onChange='genererCompetences(this);' id='competencepopup_" + object
|
||||
.code + "' value='" + object.code + "'> " + object.libelle + "<br/></div>");
|
||||
$("#competencesAdPopup").append('<div id="competence_ad_popup_' + object.code +
|
||||
'"><input type="checkbox" ' + checked +
|
||||
' onChange="genererCompetences(this);" id="competencepopup_' + object
|
||||
.code + '" value="' + object.code + '"> ' + object.libelle + '<br/></div>');
|
||||
if (object.competenceCle == false) {
|
||||
$("#competence_ad_"+object.code).hide();
|
||||
$("#competence_ad_" + object.code).hide();
|
||||
}
|
||||
});
|
||||
|
||||
@@ -653,18 +626,26 @@
|
||||
var checked = "";
|
||||
//On on ne coche pas ces competences clé (uniquement les compétences de base) sur le formulaire de base
|
||||
//if (competence.competenceCle == true && type != "init") {
|
||||
//checked = "checked";
|
||||
//checked = "checked";
|
||||
//}
|
||||
var chaine = competence.libelle.replace("'", " ");
|
||||
var chaine = chaine.replace(",", " ");
|
||||
$("#competencesAd").append("<div id='competence_ad_"+competence.code+"' name='competences_ad[]'><input type='checkbox' "+checked+" onChange='genererCompetences(this);' id='competence_" + competence
|
||||
.code + "' value='" +chaine+"_"+ competence.code + "'> " + competence.libelle + "<br/></div>");
|
||||
chaine = chaine.replace(",", " ");
|
||||
$("#competencesAd").append("<div id='competence_ad_" + competence.code +
|
||||
"' name='competences_ad[]'><input type='checkbox' " + checked +
|
||||
" onChange='genererCompetences(this);' id='competence_" +
|
||||
competence
|
||||
.code + "' value='" + chaine + "_" + competence.code + "'> " +
|
||||
competence.libelle + "<br/></div>");
|
||||
|
||||
$("#competencesAdPopup").append("<div id='competence_ad_popup_"+competence.code+"'><input type='checkbox' "+checked+" onChange='genererCompetences(this);' id='competencepopup_" + competence
|
||||
.code + "' value='" + competence.code + "'> " + competence.libelle + "<br/></div>");
|
||||
$("#competencesAdPopup").append("<div id='competence_ad_popup_" + competence
|
||||
.code + "'><input type='checkbox' " + checked +
|
||||
" onChange='genererCompetences(this);' id='competencepopup_" +
|
||||
competence
|
||||
.code + "' value='" + competence.code + "'> " + competence.libelle +
|
||||
"<br/></div>");
|
||||
//On n'affiche pas ces competences (meme les competences clé) sur le formulaire de base
|
||||
//if (competence.competenceCle == false) {
|
||||
$("#competence_ad_"+competence.code).hide();
|
||||
$("#competence_ad_" + competence.code).hide();
|
||||
//}
|
||||
});
|
||||
});
|
||||
@@ -700,10 +681,11 @@
|
||||
$("#competencesAdMessage").html(
|
||||
"Une erreur est survenue dans la recherche du métier de rattachement. <a href='#' onclick='chargerCompetences();'><br/><i class='fa fa-refresh fa-spin fa-fw'></i>Cliquez ici pour relancer la recherche</a> "
|
||||
);
|
||||
|
||||
|
||||
}
|
||||
$('#loadingDiv').hide();
|
||||
console.log("La requête s'est terminée en échec q= "+ $("#id_appellation_temporaire").val()+" Infos : " + JSON.stringify(error));
|
||||
console.log("La requête s'est terminée en échec q= " + $("#id_appellation_temporaire").val() +
|
||||
" Infos : " + JSON.stringify(error));
|
||||
})
|
||||
//Ce code sera exécuté que la requête soit un succès ou un échec
|
||||
.always(function () {
|
||||
@@ -717,7 +699,7 @@
|
||||
console.log("Clicked, target = " + cb.id);
|
||||
var id = cb.id.split('_');
|
||||
id = id[1];
|
||||
if($("#nbCompetences").val()<10){
|
||||
if ($("#nbCompetences").val() < 10) {
|
||||
$("#competence_" + id).prop("checked", cb.checked);
|
||||
$("#competencepopup_" + id).prop("checked", cb.checked);
|
||||
if (cb.checked) {
|
||||
@@ -727,7 +709,7 @@
|
||||
console.log("hidden de div #competence_ad_" + id);
|
||||
$("#competence_ad_" + id).hide();
|
||||
}
|
||||
}else{
|
||||
} else {
|
||||
$("#competence_" + id).prop("checked", false);
|
||||
$("#competence_ad_" + id).hide();
|
||||
//$("#competence_" + id).hide();
|
||||
|
||||
@@ -9,8 +9,8 @@
|
||||
|
||||
}
|
||||
|
||||
.modalCompetences{
|
||||
height:600px;
|
||||
.modalCompetences {
|
||||
height: 600px;
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -27,33 +27,59 @@
|
||||
<ol class="breadcrumb">
|
||||
<li class="breadcrumb-item"><a href="/entreprise/me/">Accueil</a></li>
|
||||
<li class="breadcrumb-item"><a href="{{ path('company_ad') }}">Offres d'emploi</a></li>
|
||||
|
||||
|
||||
</ol>
|
||||
<!-- END BREADCRUMB -->
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- END JUMBOTRON -->
|
||||
|
||||
<!-- MODALS-->
|
||||
<!-- Modal 0 -->
|
||||
<div class="modal fade in bd-example-modal-lg" id="popupSubmitModal" tabindex="-1" role="dialog"
|
||||
aria-labelledby="popupSubmitModalLabel" aria-hidden="false" data-show="false">
|
||||
<div class="modal-dialog modal-lg" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title" id="popupSubmitModalLabel">Votre offre d’emploi vidéo est en cours de validation par l'équipe Talents Tube</h5>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
|
||||
<p>Vous recevrez un e-mail lorsque votre offre d’emploi sera publiée sur la plateforme.</p>
|
||||
|
||||
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-secondary" data-dismiss="modal" onClick="submitFormAd()">Fermer</button>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Modal 1 -->
|
||||
<div class="modal fade bd-example-modal-lg" id="competencesModal" tabindex="-1" role="dialog"
|
||||
aria-labelledby="competencesModalLabel" aria-hidden="false" data-show="false">
|
||||
<div class="modal-dialog modal-lg" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title" id="competencesModalLabel">Souhaitez-vous sélectionner le métier <span class="metierPopup"></span>?</h5>
|
||||
<h5 class="modal-title" id="competencesModalLabel">Souhaitez-vous sélectionner le métier <span
|
||||
class="metierPopup"></span>?</h5>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<h5> </h5>
|
||||
<h5> </h5>
|
||||
<p>
|
||||
|
||||
Si vous aviez précédemment sélectionné des compétences en lien avec l'ancien métier de rattachement, celles-ci seront remplacées par les nouvelles compétences, correspondant au métier <span class="metierPopup"></span>.
|
||||
|
||||
Si vous aviez précédemment sélectionné des compétences en lien avec l'ancien métier de rattachement,
|
||||
celles-ci seront remplacées par les nouvelles compétences, correspondant au métier <span
|
||||
class="metierPopup"></span>.
|
||||
</p>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
@@ -73,10 +99,11 @@
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h6 class="modal-title">Sélectionnez les compétences recherchées pour le poste à pourvoir </h6>
|
||||
<h7 class="modal-title">Vous pouvez sélectionner jusqu’à 10 compétences à afficher dans votre offre d’emploi. </h7>
|
||||
</div>
|
||||
<h7 class="modal-title">Vous pouvez sélectionner jusqu’à 10 compétences à afficher dans votre offre
|
||||
d’emploi. </h7>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
|
||||
|
||||
{# <p>Etes vous sur de charger les compétences du métier <span id="metierPopup"></span></p> #}
|
||||
<div class="card card-default">
|
||||
<div class="card-body">
|
||||
@@ -85,12 +112,13 @@
|
||||
<div id="competencesAdPopup"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="competencesAdMessagePopup" class="text-danger"></div>
|
||||
<div id="competencesAdMessagePopup" class="text-danger"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" id="ajouterCompetenceButtonMdal" class="btn btn-secondary" data-dismiss="modal" onclick="" >Ajouter ces compétences</button>
|
||||
<button type="button" id="ajouterCompetenceButtonMdal" class="btn btn-secondary" data-dismiss="modal"
|
||||
onclick="">Ajouter ces compétences</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -100,100 +128,135 @@
|
||||
|
||||
<!-- START CONTAINER FLUID -->
|
||||
<div class=" container-fluid container-fixed-lg">
|
||||
<div id="rootwizard" class="m-t-50">
|
||||
<div class="col-lg-8 bloc-header">
|
||||
<div class="card card-default container">
|
||||
<div class="card-body">
|
||||
<div class="row" style="min-height:10rem;">
|
||||
<div class="col-8">
|
||||
<h4 class="header-title" style="font-size:2em;line-height:1.5em;">Création d'une offre d'emploi
|
||||
vidéo</h4>
|
||||
<p>Pour trouver le bon profil, renseignez et personnalisez votre annonce. <br>Plus votre annonce
|
||||
est précise et attractive, plus les candidatures seront ciblées.</p>
|
||||
</div>
|
||||
<div class="col-4"
|
||||
style="background-repeat: no-repeat; background-image: url('https://blog.talentstube.com/wp-content/uploads/2021/02/creer-offre-emploi-video.svg');background-size: contain;background-position: center;">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="rootwizard" class="col-lg-8 m-t-50">
|
||||
{% if type is defined and type == 'update' %}
|
||||
{% include 'company/ad_stepsV2.html.twig' with {'tab':1, 'type':'update'} %}
|
||||
{% else %}
|
||||
{% include 'company/ad_stepsV2.html.twig' with {'tab':1} %}
|
||||
|
||||
{% endif %}
|
||||
|
||||
<div class="tab-content">
|
||||
{{ form_start(form, {'attr': {'class': ''}}) }}
|
||||
|
||||
<div class="tab-pane padding-20 sm-no-padding active slide-left" id="tab1">
|
||||
<div class="row row-same-height">
|
||||
<div class="col-md-5 b-r b-dashed b-grey sm-b-b">
|
||||
<div class="padding-30 sm-padding-5 sm-m-t-15 m-t-50">
|
||||
<i class="material-icons hint-text">shopping_cart</i>
|
||||
<h2>Etape 1 : Je modifie une annonce</h2>
|
||||
<p>Pour trouver le bon profil, renseignez et personnalisez votre annonce.
|
||||
Plus votre annonce est précise et attractive, plus les candidatures seront ciblées.
|
||||
Afin de créer votre annonce, renseignez l’ensemble des champs relatifs au poste proposé.</p>
|
||||
{# <p class="small hint-text">Below is a sample page for your cart , Created using pages design
|
||||
UI Elementes</p> #}
|
||||
<div class="col-md">
|
||||
<h4>À propos du poste</h4>
|
||||
<br>
|
||||
{% if form.title is defined%}
|
||||
<div class="form-group form-group-default required">
|
||||
{# <label for="ad_title" class="required active">Intitulé du poste</label><input type="text"
|
||||
id="ad_title" name="ad[title]" required="required" placeholder="Ex: Commercial (H/F)"
|
||||
class="form-control"> #}
|
||||
{{ form_row(form.title) }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-7">
|
||||
<div class="padding-30 sm-padding-5">
|
||||
{{ form_start(form, {'attr': {'class': 'form-horizontal'}}) }}
|
||||
<table class="table table-condensed form-horizontal">
|
||||
{% if form_errors(form) %}<tr>
|
||||
<td class="col-lg-12 col-md-12 col-sm-12 ">
|
||||
|
||||
<span class="red-text text-darken-2">{{ form_errors(form) }}</span>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
{% if form.reference is defined%}
|
||||
<tr>
|
||||
<td class="col-lg-12 col-md-12 col-sm-12 ">
|
||||
|
||||
{{ form_row(form.reference) }}
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
<tr>
|
||||
<td class="col-lg-12 col-md-12 col-sm-12 ">
|
||||
{% if form.title is defined%}
|
||||
{{ form_row(form.title) }}
|
||||
{% endif %}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="col-lg-12 col-md-12 col-sm-12">
|
||||
{{ form_row(form.beneficiaire) }}
|
||||
<br/>
|
||||
Vous souhaitez recruter pour l'un de vos clients, renseignez ce champ
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
||||
<tr>
|
||||
<td class="col-lg-12 col-md-12 col-sm-12">
|
||||
{{ form_row(form.location_gmap) }}
|
||||
{{ form_row(form.location) }}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="col-lg-12 col-md-12 col-sm-12">
|
||||
{{ form_row(form.description) }}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="col-lg-12 col-md-12 col-sm-12">
|
||||
{{ form_row(form.contract_type) }}
|
||||
</td>
|
||||
</tr>
|
||||
{# US 380 : Mise en place du temps de contrat (CDD) #}
|
||||
<tr id="ligneDureeContrat">
|
||||
<td class="col-lg-12 col-md-12 col-sm-12">
|
||||
{{ form_row(form.duree_contrat) }}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="col-lg-12 col-md-12 col-sm-12">
|
||||
{{ form_row(form.temps_type) }}
|
||||
</td>
|
||||
</tr>
|
||||
{# US 329 : Mise en place du temps de travail #}
|
||||
<tr id="ligneNbHeure">
|
||||
<td class="col-lg-12 col-md-12 col-sm-12">
|
||||
{{ form_row(form.nombre_heure) }}
|
||||
</td>
|
||||
</tr>
|
||||
{# US 295 : Mise en place du télétravail #}
|
||||
<tr>
|
||||
<td class="col-lg-12 col-md-12 col-sm-12">
|
||||
{{ form_row(form.teletravail) }}
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
{% endif %}
|
||||
{% if form.reference is defined%}
|
||||
<div class="form-group form-group-default required">
|
||||
{# <label for="ad_reference" class="required active">Référence de l'offre
|
||||
d'emploi</label><input type="text" id="ad_reference" name="ad[reference]"
|
||||
required="required" placeholder="Ex : BTH567" class="form-control"> #}
|
||||
{{ form_row(form.reference) }}
|
||||
</div>
|
||||
{% endif %}
|
||||
<div class="form-group form-group-default required" style="min-height:250px;">
|
||||
{# <label for="ad_description" class="required active">Description du poste</label>
|
||||
<textarea id="ad_description" name="ad[description]" required="required"
|
||||
class="form-control"
|
||||
placeholder="Décrivez le poste, les missions, le profil recherché..."></textarea> #}
|
||||
{{ form_row(form.description) }}
|
||||
</div>
|
||||
<div class="form-group form-group-default required">
|
||||
{# <label for="ad_location_gmap" class="required active">Localisation du poste</label><input
|
||||
type="text" id="ad_location_gmap" name="ad[location_gmap]" required="required" value=""
|
||||
class="form-control pac-target-input"
|
||||
placeholder="Ex : 3 Rue Louis de Broglie, Vannes, France" autocomplete="off"> #}
|
||||
{{ form_row(form.location_gmap) }}
|
||||
{{ form_row(form.location) }}
|
||||
</div>
|
||||
{# <input type="hidden" id="ad_location" name="ad[location]" value="null"> #}
|
||||
<br>
|
||||
<h6>Organisation cliente (facultatif)</h6>
|
||||
<div class="form-group form-group-default">
|
||||
{# <label for="ad_beneficiaire" class="active">Nom de l'organisation</label>
|
||||
<input type="text" id="ad_beneficiaire" name="ad[beneficiaire]" placeholder=""
|
||||
class="form-control"> #}
|
||||
{{ form_row(form.beneficiaire) }}
|
||||
</div>
|
||||
<p class="fs-12 bold">Vous souhaitez recruter pour l'un de vos clients ? Veuillez renseigner le
|
||||
champ ci-dessus</p>
|
||||
<br>
|
||||
<h4>Critères de l'offre d'emploi</h4>
|
||||
<br>
|
||||
<div class="form-group form-group-default required">
|
||||
{# <label for="ad_contract_type" class="required">Type de contrat:</label>
|
||||
<select id="ad_contract_type" name="ad[contract_type]" class="form-control">
|
||||
<option value="CDI">CDI</option>
|
||||
<option value="CDD">CDD</option>
|
||||
<option value="Apprentissage">Apprentissage</option>
|
||||
<option value="professionnalisation">Contrat de professionnalisation</option>
|
||||
<option value="Stage">Stage</option>
|
||||
<option value="Indépendant">Indépendant</option>
|
||||
<option value="Interim">Interim</option>
|
||||
</select> #}
|
||||
{{ form_row(form.contract_type) }}
|
||||
</div>
|
||||
<div class="form-group form-group-default disabled" id="ad_duree_contrat_div">
|
||||
{# <label for="ad_duree_contrat" class="active">Durée du contrat en mois</label>
|
||||
<input type="number" id="ad_duree_contrat" name="ad[duree_contrat]" value="0"
|
||||
class="form-control" placeholder="Ex : 6" min="0" max="36" disabled=""> #}
|
||||
{{ form_row(form.duree_contrat) }}
|
||||
</div>
|
||||
<div class="form-group form-group-default required">
|
||||
{# <label for="ad_temps_type" class="required">Type d'emploi</label>
|
||||
<select id="ad_temps_type" name="ad[temps_type]" class="form-control">
|
||||
<option value="FULL_TIME">Temps plein </option>
|
||||
<option value="PART_TIME">Temps partiel </option>
|
||||
<option value="MIX_TIME">Temps plein ou temps partiel</option>
|
||||
</select> #}
|
||||
{{ form_row(form.temps_type) }}
|
||||
</div>
|
||||
<div class="form-group form-group-default disabled" id="ad_nombre_heure_div">
|
||||
{# <label for="ad_nombre_heure" class="active">Temps de travail (Le nombre saisi correspond au
|
||||
nombre d'heures/semaine.)</label>
|
||||
<input type="number" id="ad_nombre_heure" name="ad[nombre_heure]" value="0"
|
||||
class="form-control" placeholder="Ex : 20" min="0" max="35" disabled=""> #}
|
||||
{{ form_row(form.nombre_heure) }}
|
||||
</div>
|
||||
<div class="form-group form-group-default required">
|
||||
{# <label for="ad_teletravail" class="required">Possibilité de faire du Télétravail?</label>
|
||||
<select id="ad_teletravail" name="ad[teletravail]" class="form-control">
|
||||
<option value="tele_occasionel">Occasionnel </option>
|
||||
<option value="tele_partiel">Partiel </option>
|
||||
<option value="tele_total">Total</option>
|
||||
<option value="tele_non">Non</option>
|
||||
</select> #}
|
||||
{{ form_row(form.teletravail) }}
|
||||
{{ form_row(form.status) }}
|
||||
</div>
|
||||
|
||||
<br>
|
||||
<h4 class="no-margin p-b-5">Compétences recherchées</h4>
|
||||
<br>
|
||||
<div class="col bg-contrast-lower">
|
||||
<br>
|
||||
<table>
|
||||
<tr class='bg-contrast-lower'>
|
||||
<td class="col-lg-12 col-md-12 col-sm-12 bg-contrast-lower">
|
||||
@@ -238,165 +301,105 @@ Afin de créer votre annonce, renseignez l’ensemble des champs relatifs au pos
|
||||
<tr class='bg-contrast-lower'>
|
||||
<td class="col-lg-12 col-md-12 col-sm-12 bg-contrast-lower">
|
||||
<div id="competencesAd"></div><br />
|
||||
<div id="competencesAdMessage" class="text-danger">Vous devez
|
||||
sélectionner au minimum une compétence</div><br />
|
||||
<div id="loadingDiv" >Patientez...</div><br />
|
||||
<div id="competencesAdMessage" class="text-danger">Veuillez choisir un métier de
|
||||
rattachement pour votre annonce.</div><br />
|
||||
<div id="loadingDiv">Patientez...</div><br />
|
||||
<div class="text-center" id="competencesButtonAd">
|
||||
<button type="button" class="btn btn-primary" data-toggle="modal"
|
||||
<button type="button" class="btn btn-info btn-lg" data-toggle="modal"
|
||||
data-target="#ajoutCompetencesModal" id="ajoutCompetences">
|
||||
Ajouter des compétences
|
||||
</button>
|
||||
<input type="hidden" id ="nbCompetences">
|
||||
<span id= "nbCompetencesText"></span>
|
||||
<input type="hidden" id="nbCompetences">
|
||||
<span id="nbCompetencesText"></span>
|
||||
</div>
|
||||
</td>
|
||||
{{ form_row(form.appellationId) }}
|
||||
{{ form_row(form.appellationLibelle) }}
|
||||
{{ form_row(form.codeRome) }}
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
|
||||
{# <tr>
|
||||
<td class="col-lg-12 col-md-12 col-sm-12">
|
||||
{{ form_row(form.status) }}
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="col-lg-12 col-md-12 col-sm-12">
|
||||
{{ form_row(form.publicTag) }}
|
||||
{{ form_row(form.competences) }}
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="col-lg-12 col-md-12 col-sm-12">
|
||||
|
||||
{{ form_row(form.status) }}
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="col-lg-12 col-md-12 col-sm-12 ">
|
||||
<button aria-label="" type="submit" id="saveAdButton" class="btn btn-primary btn-cons btn-animated from-left pull-right"
|
||||
type="button">
|
||||
<span>Je crée mon annonce</span>
|
||||
<span class="hidden-block">
|
||||
<i class="material-icons fs-16">local_shipping</i>
|
||||
</span>
|
||||
</button>
|
||||
{# <button class="btn btn-default" type="submit">Je crée mon annonce!</button> #}
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
|
||||
</tr> #}
|
||||
|
||||
|
||||
|
||||
|
||||
</table>
|
||||
{{ form_end(form) }}
|
||||
|
||||
</div>
|
||||
<br>
|
||||
<button type="button" class="btn btn-lg btn-primary btn-cons btn-animated from-left" data-toggle="modal"
|
||||
data-target="#popupSubmitModal" id="saveAdButton">
|
||||
<span>Suivant</span>
|
||||
<span class="hidden-block">
|
||||
<i class="material-icons tab-icon">videocam</i>
|
||||
</span>
|
||||
</button>
|
||||
{# <button aria-label="" type="submit"
|
||||
class="btn btn-lg btn-primary btn-cons btn-animated from-left" id="saveAdButton"
|
||||
disabled="">
|
||||
<span>Suivant</span>
|
||||
<span class="hidden-block">
|
||||
<i class="material-icons tab-icon">videocam</i>
|
||||
</span>
|
||||
</button> #}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="tab-pane slide-left padding-20 sm-no-padding disabled" id="tab2">
|
||||
<div class="row row-same-height">
|
||||
<div class="col-md-5 b-r b-dashed b-grey ">
|
||||
<div class="padding-30 sm-padding-5 sm-m-t-15 m-t-50">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-7">
|
||||
<div class="padding-30 sm-padding-5">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="padding-20 sm-padding-5 sm-m-b-20 sm-m-t-20 bg-white clearfix">
|
||||
{# <ul class="pager wizard no-style">
|
||||
<li class="next">
|
||||
<button aria-label="" class="btn btn-primary btn-cons btn-animated from-left pull-right"
|
||||
type="button">
|
||||
<span>Je crée mon annonce</span>
|
||||
<span class="hidden-block">
|
||||
<i class="material-icons fs-16">local_shipping</i>
|
||||
</span>
|
||||
</button>
|
||||
</li>
|
||||
<li class="next finish hidden">
|
||||
<button aria-label="" class="btn btn-primary btn-cons btn-animated from-left pull-right"
|
||||
type="button">
|
||||
<span>Finish</span>
|
||||
<span class="hidden-block">
|
||||
<i class="material-icons fs-16">settings</i>
|
||||
</span>
|
||||
</button>
|
||||
</li>
|
||||
<li class="previous first hidden">
|
||||
<button aria-label="" class="btn btn-default btn-cons btn-animated from-left pull-right"
|
||||
type="button">
|
||||
<span>First</span>
|
||||
<span class="hidden-block">
|
||||
<i class="material-icons fs-16">settings</i>
|
||||
</span>
|
||||
</button>
|
||||
</li>
|
||||
<li class="previous">
|
||||
<button aria-label="" class="btn btn-default btn-cons btn-animated from-left pull-right"
|
||||
type="button">
|
||||
<span>Previous</span>
|
||||
<span class="hidden-block">
|
||||
<i class="material-icons fs-14">settings</i>
|
||||
</span>
|
||||
</button>
|
||||
</li>
|
||||
</ul> #}
|
||||
</div>
|
||||
<div class="wizard-footer padding-20 bg-contrast-low">
|
||||
<p class="small hint-text pull-left no-margin">
|
||||
|
||||
</p>
|
||||
<div class="pull-right">
|
||||
|
||||
</div>
|
||||
<div class="clearfix"></div>
|
||||
</div>
|
||||
{{ form_end(form) }}
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- END CONTAINER FLUID -->
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block javascriptsSecondaire %}
|
||||
<script type="application/javascript">
|
||||
//Methode permettant d'afficher le bloc nb d'heure si est en temps partiel
|
||||
function afficherTempsType(){
|
||||
if( $( "#ad_soft_temps_type" ).val()=="PART_TIME" ){
|
||||
//$("#ligneNbHeure").show();
|
||||
$("#ad_soft_nombre_heure").prop("disabled", false);
|
||||
}else{
|
||||
//$("#ligneNbHeure").hide();
|
||||
$("#ad_soft_nombre_heure").prop("disabled", true);
|
||||
}
|
||||
<script type="application/javascript">
|
||||
function afficherTempsType() {
|
||||
if ($("#ad_temps_type").val() == "PART_TIME") {
|
||||
//$("#ligneNbHeure").show();
|
||||
$("#ad_nombre_heure").prop("disabled", false);
|
||||
$("#ad_nombre_heure_div").removeClass("disabled");
|
||||
} else {
|
||||
//$("#ligneNbHeure").hide().prop('required',false) ;;
|
||||
$("#ad_nombre_heure").prop("disabled", true);
|
||||
$("#ad_nombre_heure_div").addClass("disabled");
|
||||
}
|
||||
//Methode permettant d'afficher le bloc durée de contrat si le contrat est un CDI
|
||||
function afficherDureeContrat(){
|
||||
if( $( "#ad_soft_contract_type" ).val()=="CDD" ){
|
||||
//$("#ligneDureeContrat").show();
|
||||
$("#ad_soft_duree_contrat").prop("disabled", false);
|
||||
}else{
|
||||
//$("#ligneDureeContrat").hide();
|
||||
$("#ad_soft_duree_contrat").prop("disabled", true);
|
||||
}
|
||||
}
|
||||
|
||||
//Methode permettant d'afficher le bloc durée de contrat si le contrat est un CDI
|
||||
function afficherDureeContrat() {
|
||||
console.log("type de contrat =" + $("#ad_contract_type").val());
|
||||
if ($("#ad_contract_type").val() == "CDD") {
|
||||
//$("#ligneDureeContrat").show();
|
||||
$("#ad_duree_contrat").prop("disabled", false);
|
||||
$("#ad_duree_contrat_div").removeClass("disabled");
|
||||
} else {
|
||||
//$("#ligneDureeContrat").hide().prop('required',false) ;
|
||||
$("#ad_duree_contrat").prop("disabled", true);
|
||||
$("#ad_duree_contrat_div").addClass("disabled");
|
||||
}
|
||||
}
|
||||
|
||||
$( "#ad_soft_temps_type" ).change(function() {
|
||||
afficherTempsType();
|
||||
});
|
||||
$("#ad_soft_temps_type").change(function () {
|
||||
afficherTempsType();
|
||||
});
|
||||
|
||||
$( "#ad_soft_contract_type" ).change(function() {
|
||||
afficherDureeContrat();
|
||||
});
|
||||
$("#ad_soft_contract_type").change(function () {
|
||||
afficherDureeContrat();
|
||||
});
|
||||
|
||||
//methode qui permet de générer le json des competences.
|
||||
// c'est le champ ad_competences qui sert à l'enregistrement en base
|
||||
@@ -417,13 +420,13 @@ Afin de créer votre annonce, renseignez l’ensemble des champs relatifs au pos
|
||||
//on remplace la virgule par un esapce car sinon bug (les compétences sont séparés par une virgule)
|
||||
var chaine = this.value.replace(",", " ");
|
||||
//On limite a 10 compétences, au dela, on les enregistre pas dans le champ ad_competences
|
||||
if(nbCompetencesSelect<11){
|
||||
if (nbCompetencesSelect < 11) {
|
||||
competences += chaine + ",";
|
||||
nbCompetencesSelect++;
|
||||
}
|
||||
|
||||
$("#nbCompetencesText").html(nbCompetencesSelect+" compétences sélectionnées");
|
||||
$("#ajouterCompetenceButtonMdal").html("Ajouter (+"+nbCompetencesSelect+")");
|
||||
|
||||
$("#nbCompetencesText").html(nbCompetencesSelect + " compétences sélectionnées");
|
||||
$("#ajouterCompetenceButtonMdal").html("Ajouter (+" + nbCompetencesSelect + ")");
|
||||
$("#nbCompetences").val(nbCompetencesSelect);
|
||||
//return competence;
|
||||
}
|
||||
@@ -432,42 +435,42 @@ Afin de créer votre annonce, renseignez l’ensemble des champs relatifs au pos
|
||||
// on renseigne le champ ad_competences
|
||||
$("#ad_soft_competences").val(competences);
|
||||
//Gestion des erreurs si aucune compétence
|
||||
if(nbCompetencesSelect==0){
|
||||
if (nbCompetencesSelect == 0) {
|
||||
$("#nbCompetencesText").html("");
|
||||
$("#competencesAdMessage").html(
|
||||
"Vous devez sélectionner au minimum une compétence. "
|
||||
"Vous devez sélectionner au minimum une compétence. "
|
||||
);
|
||||
$("#competencesAdMessagePopup").html(
|
||||
"Vous devez sélectionner au minimum une compétence. "
|
||||
"Vous devez sélectionner au minimum une compétence. "
|
||||
);
|
||||
$("#ajouterCompetenceButtonMdal").html("Ajouter (+0)");
|
||||
$("#ajouterCompetenceButtonMdal").hide();
|
||||
$("#saveAdButton").prop("disabled", true);
|
||||
}else if(nbCompetencesSelect>9){
|
||||
//$("#saveAdButton").prop("disabled", true);
|
||||
} else if (nbCompetencesSelect > 9) {
|
||||
$("#saveAdButton").prop("disabled", false);
|
||||
//Gestion des erreurs si plusde 10 compétences
|
||||
$("#competencesAdMessage").html(
|
||||
"Vous avez atteint le nombre maximum de compétences. "
|
||||
"Vous avez atteint le nombre maximum de compétences. "
|
||||
);
|
||||
$("#competencesAdMessagePopup").html(
|
||||
"Vous avez atteint le nombre maximum de compétences. "
|
||||
"Vous avez atteint le nombre maximum de compétences. "
|
||||
);
|
||||
if(nbCompetencesSelect>10){
|
||||
if (nbCompetencesSelect > 10) {
|
||||
$("#ajouterCompetenceButtonMdal").hide();
|
||||
}
|
||||
}else{
|
||||
} else {
|
||||
//cas standards, on reinitialise les champs a vide
|
||||
$("#saveAdButton").prop("disabled", false);
|
||||
$("#competencesAdMessage").html( " ");
|
||||
$("#competencesAdMessage").html(" ");
|
||||
$("#competencesAdMessagePopup").html(" ");
|
||||
$("#ajouterCompetenceButtonMdal").show();
|
||||
}
|
||||
if($("#saisie").val() =="" || !$("#saisie").val() ){
|
||||
if ($("#saisie").val() == "" || !$("#saisie").val()) {
|
||||
$("#competencesAdMessage").html(
|
||||
"Veuillez choisir un métier de rattachement pour votre annonce. "
|
||||
"Veuillez choisir un métier de rattachement pour votre annonce. "
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
$(document).ready(function () {
|
||||
@@ -487,9 +490,9 @@ Afin de créer votre annonce, renseignez l’ensemble des champs relatifs au pos
|
||||
//cocher les cases par rapport aux compétences d'origine
|
||||
|
||||
});
|
||||
</script>
|
||||
</script>
|
||||
|
||||
<script>
|
||||
<script>
|
||||
$(document)
|
||||
.ready(function () {
|
||||
// Construction du champ typeahead d'auto compléetion de métier
|
||||
@@ -540,7 +543,8 @@ Afin de créer votre annonce, renseignez l’ensemble des champs relatifs au pos
|
||||
var chaine = data.metier_libelle.replace("'", " ");
|
||||
return '<div onclick="chargerDonneesTemp(' + data.metier_id + ',\'' +
|
||||
chaine +
|
||||
'\')" data-toggle="modal" data-target="#competencesModal" id="competences"><a href="#" >' + data.metier_libelle +
|
||||
'\')" data-toggle="modal" data-target="#competencesModal" id="competences"><a href="#" >' +
|
||||
data.metier_libelle +
|
||||
'</a></div>'
|
||||
},
|
||||
footer: function (query) {
|
||||
@@ -609,18 +613,23 @@ Afin de créer votre annonce, renseignez l’ensemble des champs relatifs au pos
|
||||
//console.log(object.competenceCle);
|
||||
var hidden = "";
|
||||
var checked = "";
|
||||
if (object.competenceCle == true && type!="init") {
|
||||
checked = "checked";
|
||||
if (object.competenceCle == true && type != "init") {
|
||||
checked = "checked";
|
||||
}
|
||||
var chaine = object.libelle.replace("'", " ");
|
||||
var chaine = chaine.replace(",", " ");
|
||||
$("#competencesAd").append("<div id='competence_ad_"+object.code+"' name='competences_ad[]'><input type='checkbox' "+checked+" onChange='genererCompetences(this);' id='competence_" + object
|
||||
.code + "' value='" +chaine+"_"+ object.code + "'> " + object.libelle + "<br/></div>");
|
||||
$("#competencesAd").append("<div id='competence_ad_" + object.code +
|
||||
"' name='competences_ad[]'><input type='checkbox' " + checked +
|
||||
" onChange='genererCompetences(this);' id='competence_" + object
|
||||
.code + "' value='" + chaine + "_" + object.code + "'> " + object.libelle +
|
||||
"<br/></div>");
|
||||
|
||||
$("#competencesAdPopup").append("<div id='competence_ad_popup_"+object.code+"'><input type='checkbox' "+checked+" onChange='genererCompetences(this);' id='competencepopup_" + object
|
||||
.code + "' value='" + object.code + "'> " + object.libelle + "<br/></div>");
|
||||
$("#competencesAdPopup").append("<div id='competence_ad_popup_" + object.code +
|
||||
"'><input type='checkbox' " + checked +
|
||||
" onChange='genererCompetences(this);' id='competencepopup_" + object
|
||||
.code + "' value='" + object.code + "'> " + object.libelle + "<br/></div>");
|
||||
if (object.competenceCle == false) {
|
||||
$("#competence_ad_"+object.code).hide();
|
||||
$("#competence_ad_" + object.code).hide();
|
||||
}
|
||||
});
|
||||
|
||||
@@ -635,34 +644,42 @@ Afin de créer votre annonce, renseignez l’ensemble des champs relatifs au pos
|
||||
var checked = "";
|
||||
//On on ne coche pas ces competences clé (uniquement les compétences de base) sur le formulaire de base
|
||||
//if (competence.competenceCle == true && type != "init") {
|
||||
//checked = "checked";
|
||||
//checked = "checked";
|
||||
//}
|
||||
var chaine = competence.libelle.replace("'", " ");
|
||||
var chaine = chaine.replace(",", " ");
|
||||
$("#competencesAd").append("<div id='competence_ad_"+competence.code+"' name='competences_ad[]'><input type='checkbox' "+checked+" onChange='genererCompetences(this);' id='competence_" + competence
|
||||
.code + "' value='" +chaine+"_"+ competence.code + "'> " + competence.libelle + "<br/></div>");
|
||||
$("#competencesAd").append("<div id='competence_ad_" + competence.code +
|
||||
"' name='competences_ad[]'><input type='checkbox' " + checked +
|
||||
" onChange='genererCompetences(this);' id='competence_" +
|
||||
competence
|
||||
.code + "' value='" + chaine + "_" + competence.code + "'> " +
|
||||
competence.libelle + "<br/></div>");
|
||||
|
||||
$("#competencesAdPopup").append("<div id='competence_ad_popup_"+competence.code+"'><input type='checkbox' "+checked+" onChange='genererCompetences(this);' id='competencepopup_" + competence
|
||||
.code + "' value='" + competence.code + "'> " + competence.libelle + "<br/></div>");
|
||||
$("#competencesAdPopup").append("<div id='competence_ad_popup_" + competence
|
||||
.code + "'><input type='checkbox' " + checked +
|
||||
" onChange='genererCompetences(this);' id='competencepopup_" +
|
||||
competence
|
||||
.code + "' value='" + competence.code + "'> " + competence.libelle +
|
||||
"<br/></div>");
|
||||
//On n'affiche pas ces competences (meme les competences clé) sur le formulaire de base
|
||||
//if (competence.competenceCle == false) {
|
||||
$("#competence_ad_"+competence.code).hide();
|
||||
$("#competence_ad_" + competence.code).hide();
|
||||
//}
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
$("#competencesButtonAd").show();
|
||||
if(type=="init"){
|
||||
if (type == "init") {
|
||||
const obj = JSON.parse($("#ad_soft_competences").val());
|
||||
for (var key in obj) {
|
||||
for (var key2 in obj[key]) {
|
||||
//console.log(obj[key][key2]);
|
||||
console.log(key2);
|
||||
|
||||
$("#competencepopup_"+key2).prop("checked", true);
|
||||
$("#competence_"+key2).prop("checked", true);
|
||||
$("#competence_ad_"+key2).show();
|
||||
|
||||
$("#competencepopup_" + key2).prop("checked", true);
|
||||
$("#competence_" + key2).prop("checked", true);
|
||||
$("#competence_ad_" + key2).show();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -682,7 +699,7 @@ Afin de créer votre annonce, renseignez l’ensemble des champs relatifs au pos
|
||||
"Une erreur est survenue dans la recherche du métier de rattachement. <a href='#' onclick='chargerCompetences();'><br/><i class='fa fa-refresh fa-spin fa-fw'></i>Cliquez ici pour relancer la recherche</a> "
|
||||
);
|
||||
}
|
||||
$('#loadingDiv').hide();
|
||||
$('#loadingDiv').hide();
|
||||
console.log("La requête s'est terminée en échec. Infos : " + JSON.stringify(error));
|
||||
})
|
||||
|
||||
@@ -699,7 +716,7 @@ Afin de créer votre annonce, renseignez l’ensemble des champs relatifs au pos
|
||||
console.log("Clicked, target = " + cb.id);
|
||||
var id = cb.id.split('_');
|
||||
id = id[1];
|
||||
if($("#nbCompetences").val()<10){
|
||||
if ($("#nbCompetences").val() < 10) {
|
||||
$("#competence_" + id).prop("checked", cb.checked);
|
||||
$("#competencepopup_" + id).prop("checked", cb.checked);
|
||||
if (cb.checked) {
|
||||
@@ -709,13 +726,18 @@ Afin de créer votre annonce, renseignez l’ensemble des champs relatifs au pos
|
||||
console.log("hidden de div #competence_ad_" + id);
|
||||
$("#competence_ad_" + id).hide();
|
||||
}
|
||||
}else{
|
||||
} else {
|
||||
$("#competence_" + id).prop("checked", false);
|
||||
$("#competence_ad_" + id).hide();
|
||||
$("#competencepopup_" + id).prop("checked", false);
|
||||
}
|
||||
// on génere le json a chaque fois
|
||||
genererJson();
|
||||
// on génere le json a chaque fois
|
||||
genererJson();
|
||||
}
|
||||
|
||||
//function appelée lors de la confirmation de popup
|
||||
function submitFormAd(){
|
||||
$('form[name="ad_soft"]').submit();
|
||||
}
|
||||
</script>
|
||||
{% endblock %}
|
||||
@@ -8,164 +8,268 @@
|
||||
<li class="breadcrumb-item active">Offres d'emploi</li>
|
||||
</ol>
|
||||
<!-- END BREADCRUMB -->
|
||||
<div class="row">
|
||||
<div class="col-xl-12 col-lg-12 ">
|
||||
<!-- START card -->
|
||||
<div class="card card-transparent">
|
||||
<div class="card-header ">
|
||||
</div>
|
||||
<div class="card-body">
|
||||
|
||||
<a class="btn-square" target="_self" href="{{ path('company_ad_create') }}">
|
||||
<button aria-label=""
|
||||
class="btn btn-primary btn-cons">{{ 'ad.company.add.label'|trans }}</button>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<!-- END card -->
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- END JUMBOTRON -->
|
||||
|
||||
|
||||
<!-- Début modifications Corentin -->
|
||||
<div class="col-xl-12">
|
||||
<div class="card card-borderless col-xl-12 col-sm-12 p-b-20">
|
||||
<div class="row ">
|
||||
<div class="col-xl-12 col-md-12 p-t-20 text-right">
|
||||
<a class="btn-square" target="_self" href="{{ path('company_ad_create') }}">
|
||||
<button type="button" aria-label="" class="btn btn-primary btn-lg m-b-10">
|
||||
<span class="material-icons fs-16 m-r-5">movie</span>
|
||||
<span class="">Créer une offre d'emploi vidéo</span>
|
||||
</button>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div id="reponses" class="table-responsive m-t-20">
|
||||
<table class="table table-hover" id="basicTable">
|
||||
<thead>
|
||||
<tr>
|
||||
<th colspan=4 class="colonne1 bold">Gestion des offres</th>
|
||||
<th colspan=5 class="colonne2 bold">Gestion des candidatures</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="colonne1" style="width:25%;">Intitulé du poste</th>
|
||||
<th class="colonne1" style="width:15%;">Statut</th>
|
||||
<th class="colonne1" style="width:10%;">Vues de l'offre</th>
|
||||
<th class="colonne1" style="width:10%;">Actions</th>
|
||||
<th class="colonne2" style="width:8%;">À traiter</th>
|
||||
<th class="colonne2" style="width:8%;">Contacté</th>
|
||||
<th class="colonne2" style="width:8%;">Refusé</th>
|
||||
<th class="colonne2" style="width:8%;">Entretien programmé</th>
|
||||
<th class="colonne2" style="width:8%;">Embauché</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for ad in ads %}
|
||||
<tr>
|
||||
<td>
|
||||
<h6>
|
||||
{% if ad.countAnswers > 0 %}
|
||||
<a href="{{ path('company_ad_answer_list',{'id':ad.id}) }}">
|
||||
{{ ad.title }}
|
||||
</a>
|
||||
{% else %}
|
||||
{{ ad.title }}
|
||||
{% endif %}
|
||||
|
||||
</h6>
|
||||
<br>
|
||||
{% if ad.location %}
|
||||
{% if ad.location.gmap_address %}
|
||||
<span>{{ ad.location.gmap_address.formatted_address }}</span><br>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
<span>Date de création : {{ ad.publishedAt|date("d/m/Y") }}</span>
|
||||
</td>
|
||||
<td>
|
||||
{% if ad.getStatus() == "DECLINED" %}
|
||||
<span class="">{{ ad.getStatus()|trans }}</span>
|
||||
{% elseif ad.getStatus() == "PUBLISHED" %}
|
||||
<span class="label label-success">Publiée</span>
|
||||
{% elseif ad.getStatus() == "CLOSED" %}
|
||||
<span class="label label-important">Clôturée</span>
|
||||
{% elseif ad.getStatus() == "DRAFT" %}
|
||||
<span class="label ">Brouillon</span>
|
||||
{% elseif ad.getStatus() == "TO_PUBLISH" %}
|
||||
<span class="label label-warning">En attente de validation</span>
|
||||
{% else %}
|
||||
<span class="">{{ ad.getStatus()|trans }}</span>
|
||||
{% endif %}
|
||||
|
||||
</td>
|
||||
<td>
|
||||
{% if arrayByAds is defined %}
|
||||
{{ arrayByAds[ad.id]["count"] }}
|
||||
{% endif %}
|
||||
</td>
|
||||
<td>
|
||||
{% if ad.getStatus() == "DRAFT" or ad.getStatus() == "DECLINED" %}
|
||||
{#Edit#}
|
||||
<a class=" td-none" href="{{ path('company_ad_edit', { 'id': ad.id }) }}"
|
||||
style="margin-right: 10px">
|
||||
<i class="pg-icon">pen</i>
|
||||
</a>
|
||||
{% else %}
|
||||
{#Soft Edit#}
|
||||
<a class=" td-none" href="{{ path('company_ad_soft_edit', { 'id': ad.id }) }}"
|
||||
style="margin-right: 10px">
|
||||
<i class="pg-icon">pen</i>
|
||||
</a>
|
||||
{% endif %}
|
||||
|
||||
{% if ad.getStatus() == "DRAFT" or ad.getStatus() == "DECLINED" %}
|
||||
{#Video#}
|
||||
<a class="tooltipped td-none" href="{{ path('create_media', { 'id': ad.id }) }}">
|
||||
<i class="material-icons">
|
||||
videocam
|
||||
</i>
|
||||
</a>
|
||||
{% endif %}
|
||||
|
||||
{% if ad.getStatus() == "PUBLISHED" %}
|
||||
{#Extension#}
|
||||
{# ENLEVE LE 01/09 #}
|
||||
{# <a class="tooltipped td-none" data-position="top" data-delay="0"
|
||||
data-tooltip="{{ 'ad.company.dates.extension.label'|trans }}"
|
||||
href="{{ path('company_ad_extension', { 'id': ad.id }) }}"
|
||||
style="margin-right: 10px">
|
||||
<i class="pg-icon">calendar</i>
|
||||
</a> #}
|
||||
{#Force ending#}
|
||||
{# <a class="tooltipped td-none" data-position="top" data-delay="0"
|
||||
data-tooltip="{{ 'ad.company.closed.label'|trans }}"
|
||||
href="{{ path('company_ad_closed', { 'id': ad.id }) }}" style="margin-right: 10px">
|
||||
<i class="material-icons">
|
||||
close
|
||||
</i>
|
||||
</a> #}
|
||||
{% endif %}
|
||||
|
||||
{% if ad.getStatus() == "TO_PUBLISH" or ad.getStatus() == "VALIDATED" or ad.getStatus() == "CLOSED" or ad.getStatus() == "EXPIRED" %}
|
||||
{#Edit Dates#}
|
||||
{# <a class="tooltipped td-none" data-position="top" data-delay="0"
|
||||
data-tooltip="{{ 'ad.company.dates.edit.label'|trans }}"
|
||||
href="{{ path('company_ad_step3', { 'id': ad.id }) }}" style="margin-right: 10px">
|
||||
<i class="material-icons">
|
||||
close
|
||||
</i>
|
||||
</a> #}
|
||||
{% endif %}
|
||||
</td>
|
||||
<td>
|
||||
{% if ad.countAnswersParStatut.nbATraiter > 0 %}
|
||||
<a href="{{ path('company_ad_answer_list',{'id':ad.id}) }}">
|
||||
<i class="fa fa-eye"></i> {{ ad.countAnswersParStatut.nbATraiter }}
|
||||
</a>
|
||||
{% else %}
|
||||
0
|
||||
{% endif %}
|
||||
</td>
|
||||
<td>
|
||||
{% if ad.countAnswersParStatut.nbContacte > 0 %}
|
||||
<a href="{{ path('company_ad_answer_list',{'id':ad.id}) }}">
|
||||
<i class="fa fa-eye"></i> {{ ad.countAnswersParStatut.nbContacte }}
|
||||
</a>
|
||||
{% else %}
|
||||
0
|
||||
{% endif %}
|
||||
</td>
|
||||
<td>
|
||||
{% if ad.countAnswersParStatut.nbRefuse > 0 %}
|
||||
<a href="{{ path('company_ad_answer_list',{'id':ad.id}) }}">
|
||||
<i class="fa fa-eye"></i> {{ ad.countAnswersParStatut.nbRefuse }}
|
||||
</a>
|
||||
{% else %}
|
||||
0
|
||||
{% endif %}
|
||||
</td>
|
||||
<td>
|
||||
{% if ad.countAnswersParStatut.nbEntretien > 0 %}
|
||||
<a href="{{ path('company_ad_answer_list',{'id':ad.id}) }}">
|
||||
<i class="fa fa-eye"></i> {{ ad.countAnswersParStatut.nbEntretien }}
|
||||
</a>
|
||||
{% else %}
|
||||
0
|
||||
{% endif %}
|
||||
</td>
|
||||
<td>
|
||||
{% if ad.countAnswersParStatut.nbEmbauche > 0 %}
|
||||
<a href="{{ path('company_ad_answer_list',{'id':ad.id}) }}">
|
||||
<i class="fa fa-eye"></i> {{ ad.countAnswersParStatut.nbEmbauche }}
|
||||
</a>
|
||||
{% else %}
|
||||
0
|
||||
{% endif %}
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
{# <tr>
|
||||
<td>
|
||||
<a href="https://pp.talentstube.com/entreprise/me/espace-oe/annonce/116/reponse">
|
||||
<h6>Directeur de la communication (F/H)</h6>
|
||||
</a><br>
|
||||
<span>Nantes, 44000</span><br>
|
||||
<span>Date de création : 22/03/2021</span>
|
||||
</td>
|
||||
<td>
|
||||
<span class="label label-success">Publiée</span>
|
||||
</td>
|
||||
<td>578</td>
|
||||
<td>
|
||||
<a class=" td-none" href="https://pp.talentstube.com/entreprise/me/espace-oe/annonce/124/editer" style="margin-right: 10px">
|
||||
<i class="pg-icon">pen</i>
|
||||
</a>
|
||||
</td>
|
||||
<td><a href="https://pp.talentstube.com/entreprise/me/espace-oe/annonce/116/reponse">3</a></td>
|
||||
<td><a href="https://pp.talentstube.com/entreprise/me/espace-oe/annonce/116/reponse">4</a></td>
|
||||
<td><a href="https://pp.talentstube.com/entreprise/me/espace-oe/annonce/116/reponse">4</a></td>
|
||||
<td><a href="https://pp.talentstube.com/entreprise/me/espace-oe/annonce/116/reponse">8</a></td>
|
||||
<td><a href="https://pp.talentstube.com/entreprise/me/espace-oe/annonce/116/reponse">1</a></td>
|
||||
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<h6>Responsable RRH (F/H)</h6><br>
|
||||
<span>Vannes, 56000</span><br>
|
||||
<span>Date de création : 01/02/2021</span>
|
||||
</td>
|
||||
<td>
|
||||
<span class="label label-warning">En attente de validation</span>
|
||||
</td>
|
||||
<td>0</td>
|
||||
<td>
|
||||
<a class=" td-none" href="https://pp.talentstube.com/entreprise/me/espace-oe/annonce/124/editer" style="margin-right: 10px">
|
||||
<i class="pg-icon">pen</i>
|
||||
</a>
|
||||
</td>
|
||||
<td>0</td>
|
||||
<td>0</td>
|
||||
<td>0</td>
|
||||
<td>0</td>
|
||||
<td>0</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="https://pp.talentstube.com/entreprise/me/espace-oe/annonce/116/reponse">
|
||||
<h6>Alternant communication(F/H)</h6>
|
||||
</a><br>
|
||||
<span>Pontivy, 56000</span><br>
|
||||
<span>Date de création : 15/01/2021</span>
|
||||
</td>
|
||||
<td>
|
||||
<span class="label label-important">Clôturée</span>
|
||||
</td>
|
||||
|
||||
<td>1459</td>
|
||||
<td>
|
||||
<a class=" td-none" href="https://pp.talentstube.com/entreprise/me/espace-oe/annonce/124/editer" style="margin-right: 10px">
|
||||
<i class="pg-icon">pen</i>
|
||||
</a>
|
||||
</td>
|
||||
<td>0</td>
|
||||
<td>0</td>
|
||||
<td><a href="https://pp.talentstube.com/entreprise/me/espace-oe/annonce/116/reponse">12</a></td>
|
||||
<td>0</td>
|
||||
<td><a href="https://pp.talentstube.com/entreprise/me/espace-oe/annonce/116/reponse">1</a></td>
|
||||
</tr> #}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Fin modifications Corentin -->
|
||||
<!-- START CONTAINER FLUID -->
|
||||
<div class=" container-fluid container-fixed-lg bg-white">
|
||||
<!-- START card -->
|
||||
<div class="card card-transparent">
|
||||
<div class="card-header ">
|
||||
<div class="card-title">Offres d'emploi
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="table-responsive">
|
||||
<table class="table table-hover" id="basicTable">
|
||||
<thead>
|
||||
<tr>
|
||||
<!-- NOTE * : Inline Style Width For Table Cell is Required as it may differ from user to user
|
||||
Comman Practice Followed
|
||||
-->
|
||||
|
||||
<th style="width:20%">{{ 'ad.company.list.title'|trans }}</th>
|
||||
<th style="width:20%">{{ 'ad.company.list.answers'|trans }}</th>
|
||||
<th style="width:20%">{{ 'ad.company.list.views'|trans }}</th>
|
||||
<th style="width:20%">{{ 'ad.company.list.status'|trans }}</th>
|
||||
<th style="width:20%">{{ 'ad.company.list.actions'|trans }}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
||||
{% for ad in ads %}
|
||||
<tr>
|
||||
|
||||
<td class="v-align-middle ">
|
||||
{% if ad.countAnswers > 0 %}
|
||||
<a href="{{ path('company_ad_answer_list',{'id':ad.id}) }}">
|
||||
{{ ad.title }}
|
||||
</a>
|
||||
{% else %}
|
||||
{{ ad.title }}
|
||||
{% endif %}
|
||||
</td>
|
||||
<td class="v-align-middle">
|
||||
{% if ad.countAnswers > 0 %}
|
||||
<a href="{{ path('company_ad_answer_list',{'id':ad.id}) }}">
|
||||
<i class="fa fa-eye"></i> {{ ad.countAnswers }}
|
||||
</a>
|
||||
{% else %}
|
||||
0
|
||||
{% endif %}
|
||||
</td>
|
||||
<td class="v-align-middle">
|
||||
{% if arrayByAds is defined %}
|
||||
{{ arrayByAds[ad.id]["count"] }}
|
||||
{% endif %}
|
||||
</td>
|
||||
<td class="v-align-middle">
|
||||
{% if ad.getStatus() == "DECLINED" %}
|
||||
<div class="">
|
||||
<span class="">{{ ad.getStatus()|trans }}</span>
|
||||
<i class="c-pointer fa fa-info-circle color-red" aria-hidden="true"></i>
|
||||
</div>
|
||||
{% else %}
|
||||
<span class="">{{ ad.getStatus()|trans }}</span>
|
||||
{% endif %}
|
||||
</td>
|
||||
<td class="v-align-middle">
|
||||
{% if ad.getStatus() == "DRAFT" or ad.getStatus() == "DECLINED" %}
|
||||
{#Edit#}
|
||||
<a class=" td-none" href="{{ path('company_ad_edit', { 'id': ad.id }) }}"
|
||||
style="margin-right: 10px">
|
||||
<i class="pg-icon">pen</i>
|
||||
</a>
|
||||
{% else %}
|
||||
{#Soft Edit#}
|
||||
<a class=" td-none" href="{{ path('company_ad_soft_edit', { 'id': ad.id }) }}"
|
||||
style="margin-right: 10px">
|
||||
<i class="pg-icon">pen</i>
|
||||
</a>
|
||||
{% endif %}
|
||||
|
||||
{% if ad.getStatus() == "DRAFT" or ad.getStatus() == "DECLINED" %}
|
||||
{#Video#}
|
||||
<a class="tooltipped td-none" href="{{ path('create_media', { 'id': ad.id }) }}">
|
||||
<i class="material-icons">
|
||||
videocam
|
||||
</i>
|
||||
</a>
|
||||
{% endif %}
|
||||
|
||||
{% if ad.getStatus() == "PUBLISHED" %}
|
||||
{#Extension#}
|
||||
{# ENLEVE LE 01/09 #}
|
||||
{# <a class="tooltipped td-none" data-position="top" data-delay="0"
|
||||
data-tooltip="{{ 'ad.company.dates.extension.label'|trans }}"
|
||||
href="{{ path('company_ad_extension', { 'id': ad.id }) }}"
|
||||
style="margin-right: 10px">
|
||||
<i class="pg-icon">calendar</i>
|
||||
</a> #}
|
||||
{#Force ending#}
|
||||
{# <a class="tooltipped td-none" data-position="top" data-delay="0"
|
||||
data-tooltip="{{ 'ad.company.closed.label'|trans }}"
|
||||
href="{{ path('company_ad_closed', { 'id': ad.id }) }}" style="margin-right: 10px">
|
||||
<i class="material-icons">
|
||||
close
|
||||
</i>
|
||||
</a> #}
|
||||
{% endif %}
|
||||
|
||||
{% if ad.getStatus() == "TO_PUBLISH" or ad.getStatus() == "VALIDATED" or ad.getStatus() == "CLOSED" or ad.getStatus() == "EXPIRED" %}
|
||||
{#Edit Dates#}
|
||||
{# <a class="tooltipped td-none" data-position="top" data-delay="0"
|
||||
data-tooltip="{{ 'ad.company.dates.edit.label'|trans }}"
|
||||
href="{{ path('company_ad_step3', { 'id': ad.id }) }}" style="margin-right: 10px">
|
||||
<i class="material-icons">
|
||||
close
|
||||
</i>
|
||||
</a> #}
|
||||
{% endif %}
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
{% endfor %}
|
||||
{% if ads|length == 0 %}
|
||||
<tr>
|
||||
<th colspan="5" class="text-center">Aucune offre pour le moment</th>
|
||||
</tr>
|
||||
{% endif %}
|
||||
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- END card -->
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
<!-- END CONTAINER FLUID
|
||||
-->
|
||||
|
||||
@@ -1,5 +1,29 @@
|
||||
{# {% extends 'company/base_dashboard_company.html.twig' %} #}
|
||||
{% extends 'admin/base_dashboard.html.twig' %}
|
||||
{% extends 'admin/base_dashboard_candidatures.html.twig' %}
|
||||
{% block javascriptSupl %}
|
||||
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/1.10.22/css/jquery.dataTables.min.css">
|
||||
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/buttons/1.6.4/css/buttons.dataTables.min.css">
|
||||
{# <script type="text/javascript" language="javascript" src="https://code.jquery.com/jquery-3.5.1.js"></script>
|
||||
<script type="text/javascript" language="javascript" src="https://cdn.datatables.net/1.10.22/js/jquery.dataTables.min.js"></script>
|
||||
|
||||
<script type="text/javascript" language="javascript" src="https://cdn.datatables.net/buttons/1.6.4/js/dataTables.buttons.min.js"></script>
|
||||
<script type="text/javascript" language="javascript" src="https://cdn.datatables.net/buttons/1.6.4/js/buttons.flash.min.js"></script> #}
|
||||
|
||||
<script type="text/javascript" src="https://code.jquery.com/jquery-3.5.1.js"></script>
|
||||
<script type="text/javascript" src="https://cdn.datatables.net/1.10.22/js/jquery.dataTables.min.js"></script>
|
||||
<script type="text/javascript" src="https://cdn.datatables.net/buttons/1.6.4/js/dataTables.buttons.min.js"></script>
|
||||
<script type="text/javascript" language="javascript"
|
||||
src="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.1.3/jszip.min.js"></script>
|
||||
<script type="text/javascript" language="javascript"
|
||||
src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.53/pdfmake.min.js"></script>
|
||||
<script type="text/javascript" language="javascript"
|
||||
src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.53/vfs_fonts.js"></script>
|
||||
<script type="text/javascript" language="javascript"
|
||||
src="https://cdn.datatables.net/buttons/1.6.4/js/buttons.html5.min.js"></script>
|
||||
|
||||
<script type="text/javascript" language="javascript"
|
||||
src="https://cdn.datatables.net/buttons/1.6.4/js/buttons.print.min.js"></script>
|
||||
{% endblock %}
|
||||
{% block dashContent %}
|
||||
|
||||
|
||||
@@ -22,7 +46,7 @@
|
||||
|
||||
|
||||
<!-- START CONTAINER FLUID -->
|
||||
<div class=" container-fluid container-fixed-lg bg-white">
|
||||
{# <div class=" container-fluid container-fixed-lg bg-white">
|
||||
<!-- START card -->
|
||||
<div class="card card-transparent">
|
||||
<div class="card-header ">
|
||||
@@ -59,15 +83,7 @@
|
||||
href="{{ path('company_answer_show',{'id':answer.id }) }}">
|
||||
<i class="pg-icon">eye</i>
|
||||
</a>
|
||||
<a href="#" class="note-action c-pointer" data-func="add" data-answer="{{ answer.id }}">
|
||||
<i class="pg-icon">note</i>
|
||||
</a>
|
||||
{% for note in answer.notes %}
|
||||
<a class="tooltipped note-action c-pointer" data-position="top" data-delay="50"
|
||||
data-tooltip="{{ note.content }}" data-note="{{ note.id }}" data-func="edit">
|
||||
<i class="pg-icon">comment</i>
|
||||
</a>
|
||||
{% endfor %}
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
@@ -80,62 +96,162 @@
|
||||
</div>
|
||||
</div>
|
||||
<!-- END card -->
|
||||
</div>
|
||||
</div> #}
|
||||
<!-- END CONTAINER FLUID -->
|
||||
|
||||
|
||||
<style type="text/css">
|
||||
/* Hide default search box */
|
||||
.dataTables_filter {
|
||||
display: none;
|
||||
}
|
||||
</style>
|
||||
|
||||
<!-- START CONTAINER FLUID -->
|
||||
<div class=" container-fluid container-fixed-lg bg-white">
|
||||
<!-- START card -->
|
||||
<div class="card card-transparent">
|
||||
<div class="card-header ">
|
||||
<div class="card-title">Candidatures spontanées
|
||||
<div class="card-title">Candidatures
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="table-responsive" id="spontaneous">
|
||||
<table class="table table-hover" id="basicTable">
|
||||
<table width="100%" class="table " style="">
|
||||
|
||||
<tr>
|
||||
|
||||
|
||||
<th width="11%"><input id='input2' type='text' class='form-control'
|
||||
placeholder='Recherche par nom' style='font-family:Arial, FontAwesome; width:100%' />
|
||||
</th>
|
||||
|
||||
<th width="11%"><input id='input3' type='text' class='form-control'
|
||||
placeholder='Recherche par prénom' style='font-family:Arial, FontAwesome; width:100%' />
|
||||
</th>
|
||||
<th width="25%">
|
||||
<select id='input5' class='form-control'>
|
||||
<option value="">Toutes les offres</option>
|
||||
<option value="spontaneous">Candidatures spontanées</option>
|
||||
{% for offre in offres %}
|
||||
<option value="{{offre.title}}">{{offre.title}}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
</th>
|
||||
<th width="25%">
|
||||
<select id='input7' class='form-control'>
|
||||
<option value="">Tous les statuts</option>
|
||||
<option value="A_TRAITER">À traiter</option>
|
||||
<option value="CONTACTE">Contacté</option>
|
||||
<option value="ENTRETIEN">Entretien programmé</option>
|
||||
<option value="REFUSE">Refusé</option>
|
||||
<option value="EMBAUCHE">Embauché</option>
|
||||
</select>
|
||||
</th>
|
||||
|
||||
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<br />
|
||||
<table id="candidatures_dt_table" width="100%" class="table table-hover ">
|
||||
{# Add a tfoot which will actually be used to place the individual search boxes #}
|
||||
|
||||
<thead>
|
||||
<tr>
|
||||
<th width="4%">Vidéo</th>
|
||||
<th width="6%">Nom</th>
|
||||
<th width="6%">Prénom</th>
|
||||
<th width="11%">Date de reception</th>
|
||||
<th width="11%">Intitulé de l'offre</th>
|
||||
<th width="25%">Localisation</th>
|
||||
<th width="15%">Statut</th>
|
||||
</tr>
|
||||
|
||||
</thead>
|
||||
<tbody></tbody>
|
||||
</table>
|
||||
|
||||
{#
|
||||
<table class="table table-hover " id="">
|
||||
<thead>
|
||||
<tr>
|
||||
<!-- NOTE * : Inline Style Width For Table Cell is Required as it may differ from user to user
|
||||
Comman Practice Followed
|
||||
-->
|
||||
<th style="width:33%">{{ 'profile.talent.lastname'|trans }}
|
||||
<th style="width:15%">{{ 'profile.talent.video'|trans }}
|
||||
</th>
|
||||
<th style="width:15%">{{ 'profile.talent.lastname'|trans }}
|
||||
{{ 'profile.talent.firstname'|trans }}</th>
|
||||
<th style="width:33%">{{ 'global.datereception.label'|trans }}</th>
|
||||
<th style="width:33%" class="center-align">{{ 'ad.company.list.actions'|trans }}</th>
|
||||
<th style="width:15%">{{ 'global.datereception.label'|trans }}</th>
|
||||
<th style="width:15%">{{ 'ad.company.list.title'|trans }}</th>
|
||||
<th style="width:15%">{{ 'ad.company.list.location'|trans }}</th>
|
||||
<th style="width:15%" class="center-align">{{ 'ad.company.list.statut'|trans }}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for answer in spontaneous %}
|
||||
<tr>
|
||||
<td>
|
||||
<a href="{{ path('company_answer_show',{'id':answer.id }) }}">
|
||||
{% if answer.video.thumbnails.0 is defined %}
|
||||
{% set img = answer.video.thumbnails.0.sizes.1.link %}
|
||||
{% else %}
|
||||
{% set img = " " %}
|
||||
{% endif %}
|
||||
<img src="{{ img }}">
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="{{ path('company_answer_show',{'id':answer.id }) }}">{{ answer.user.lastname }}
|
||||
{{ answer.user.firstname }}</a>
|
||||
</td>
|
||||
<td>{{ answer.sendTime()|date('d/m/Y') }}</td>
|
||||
<td class="center-align">
|
||||
<a title="" href="{{ path('company_answer_show',{'id':answer.id }) }}">
|
||||
<i class="pg-icon">eye</i>
|
||||
</a>
|
||||
<a href="#" class="note-action c-pointer" data-func="add" data-answer="{{ answer.id }}">
|
||||
<i class="pg-icon">note</i>
|
||||
</a>
|
||||
{% for note in answer.notes %}
|
||||
<a class="tooltipped note-action c-pointer" data-position="top" data-delay="50"
|
||||
data-tooltip="{{ note.content }}" data-note="{{ note.id }}" data-func="edit">
|
||||
<i class="pg-icon">comment</i>
|
||||
</a>
|
||||
<td>
|
||||
|
||||
{% if answer.ad %}
|
||||
{{ answer.ad.title }}
|
||||
{% else %}
|
||||
Candidature spontanée
|
||||
{% endif %}
|
||||
</td>
|
||||
<td>
|
||||
{% if answer.user.getGeoloc %}
|
||||
{% for adress in answer.user.getGeoloc %}
|
||||
|
||||
{{ adress["locality"] }}, {{ adress["postal_code"] }}
|
||||
{% endfor %}
|
||||
|
||||
{% else %}
|
||||
Non renseignée
|
||||
{% endif %}
|
||||
</td>
|
||||
<td class="center-align">
|
||||
{% if answer.statusReponse =="EMBAUCHE" %}
|
||||
<span class="label label-success">Embauché</span>
|
||||
{% elseif answer.statusReponse =="REFUSE"%}
|
||||
<span class="label label-important">Refusé</span>
|
||||
{% elseif answer.statusReponse =="ENTRETIEN"%}
|
||||
<span class="label label-warning">Entretien programmé</span>
|
||||
{% elseif answer.statusReponse =="A_TRAITER"%}
|
||||
<span class="label label-info">À traiter</span>
|
||||
{% elseif answer.statusReponse =="CONTACTE"%}
|
||||
<span class="label">Contacté</span>
|
||||
{% else %}
|
||||
<span class="label label-info">À traiter</span>
|
||||
{% endif %}
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
{% if spontaneous|length == 0 %}
|
||||
<tr><th colspan="3" class="text-center">Aucune candidature pour le moment</th></tr>
|
||||
<tr>
|
||||
<th colspan="5" class="text-center">Aucune candidature pour le moment</th>
|
||||
</tr>
|
||||
{% endif %}
|
||||
</tbody>
|
||||
</table>
|
||||
</table> #}
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -145,4 +261,130 @@
|
||||
|
||||
|
||||
<div id="note-modal"></div>
|
||||
|
||||
<script>
|
||||
$(document).ready(function () {
|
||||
|
||||
// Add a text input to each footer cell
|
||||
var pos = 1;
|
||||
|
||||
|
||||
|
||||
|
||||
var table = $('#candidatures_dt_table').DataTable({
|
||||
|
||||
|
||||
|
||||
"columnDefs": [{
|
||||
"name": "video",
|
||||
"targets": 0,
|
||||
"searchable": true,
|
||||
"orderable": false
|
||||
},
|
||||
{
|
||||
"name": "nom",
|
||||
"targets": 1,
|
||||
"type": 'html',
|
||||
"searchable": true,
|
||||
"orderable": true
|
||||
},
|
||||
{
|
||||
"name": "prenom",
|
||||
"targets": 2,
|
||||
"type": 'html',
|
||||
"searchable": true,
|
||||
"orderable": true
|
||||
},
|
||||
{
|
||||
"name": "dateReception",
|
||||
"targets": 3,
|
||||
"searchable": true,
|
||||
"orderable": true
|
||||
},
|
||||
{
|
||||
"name": "offre",
|
||||
"targets": 4,
|
||||
"searchable": true,
|
||||
"orderable": false
|
||||
},
|
||||
{
|
||||
"name": "localisation",
|
||||
"targets": 5,
|
||||
"searchable": true,
|
||||
"orderable": false
|
||||
},
|
||||
{
|
||||
"name": "statusReponse",
|
||||
"targets": 6,
|
||||
"searchable": true,
|
||||
"orderable": false
|
||||
},
|
||||
],
|
||||
"processing": true,
|
||||
"serverSide": true,
|
||||
|
||||
"ajax": {
|
||||
"url": "{{ path('alimenterCandidaturesCompany') }}",
|
||||
"type": 'POST',
|
||||
},
|
||||
"paging": true,
|
||||
"info": true,
|
||||
"searching": true,
|
||||
"bFilter": true,
|
||||
"responsive": true,
|
||||
"pageLength": 10,
|
||||
"order": [
|
||||
[3, 'desc']
|
||||
],
|
||||
"language": {
|
||||
"sProcessing": "En cours de chargement...",
|
||||
"sSearch": "Rechercher :",
|
||||
"sLengthMenu": "Afficher _MENU_ candidatures",
|
||||
"sInfo": "Candidature de _START_ à _END_ sur _TOTAL_ candidatures",
|
||||
"sInfoEmpty": "Candidature 0 à 0 sur 0 candidature",
|
||||
"sInfoFiltered": "",
|
||||
"sInfoPostFix": "",
|
||||
"sLoadingRecords": "Chargement en cours...",
|
||||
"sZeroRecords": "Aucune candidature ne correspond à votre recherche",
|
||||
"sEmptyTable": "Aucune candidature disponible dans le tableau",
|
||||
"oPaginate": {
|
||||
"sFirst": "Premier",
|
||||
"sPrevious": "Précédent",
|
||||
"sNext": "Suivant",
|
||||
"sLast": "Dernier"
|
||||
},
|
||||
"oAria": {
|
||||
"sSortAscending": ": activer pour trier la colonne par ordre croissant",
|
||||
"sSortDescending": ": activer pour trier la colonne par ordre décroissant"
|
||||
}
|
||||
},
|
||||
|
||||
});
|
||||
|
||||
|
||||
|
||||
// Apply the search
|
||||
pos = 1;
|
||||
table.columns().every(function () {
|
||||
var that = this;
|
||||
|
||||
$("#input" + pos).on('keyup change', function () {
|
||||
console.log(this);
|
||||
if (that.search() !== this.value) {
|
||||
that
|
||||
.search(this.value)
|
||||
.draw();
|
||||
}
|
||||
});
|
||||
pos++;
|
||||
});
|
||||
|
||||
$('#candidatures_dt_table_filter').hide();
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
});
|
||||
</script>
|
||||
{% endblock %}
|
||||
@@ -19,9 +19,13 @@
|
||||
<ol class="breadcrumb">
|
||||
<li class="breadcrumb-item"><a href="/entreprise/me/">Accueil</a></li>
|
||||
<li class="breadcrumb-item "><a href="{{ path('company_answer_list') }}">Candidatures</a></li>
|
||||
<li class="breadcrumb-item"><a
|
||||
href="{{ path('company_ad_answer_list',{'id':answer.ad.id}) }}">{{ answer.ad.title }}
|
||||
<li class="breadcrumb-item">
|
||||
{% if answer.ad%}
|
||||
<a href="{{ path('company_ad_answer_list',{'id':answer.ad.id}) }}">{{ answer.ad.title }}
|
||||
</a>
|
||||
{% else %}
|
||||
<a href="{{ path('company_answer_list') }}">Candidature spontanée</a>
|
||||
{% endif %}
|
||||
</li>
|
||||
<li class="breadcrumb-item active"><a href="#"> candidat {{ answer.user.firstname }}
|
||||
{{ answer.user.lastname }}</a>
|
||||
@@ -34,50 +38,116 @@
|
||||
</div>
|
||||
</div>
|
||||
<!-- END JUMBOTRON -->
|
||||
|
||||
<div class="col-lg-12">
|
||||
<div class="card card-borderless">
|
||||
<ul class="nav nav-tabs nav-tabs-simple" role="tablist" data-init-reponsive-tabs="dropdownfx">
|
||||
<li class="nav-item">
|
||||
<a class="active" data-toggle="tab" role="tab" data-target="#candidature" href="#"
|
||||
id="candidatureLien">Candidature</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a href="#" data-toggle="tab" role="tab" data-target="#messagerieVideo"
|
||||
id="messagerieVideoLien">Messagerie vidéo</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a href="#" data-toggle="tab" role="tab" data-target="#messagerie"
|
||||
id="messagerieLien">Messagerie
|
||||
texte</a>
|
||||
</li>
|
||||
|
||||
{# <li class="nav-item">
|
||||
<a href="#" data-toggle="tab" role="tab" data-target="#comment" id="commentLien">Commentaire</a>
|
||||
</li> #}
|
||||
</ul>
|
||||
</div>
|
||||
<div class="tab-content">
|
||||
<!-- ========== bloc candidature ========== -->
|
||||
|
||||
{% include 'company/answer_show_candidature.html.twig' %}
|
||||
|
||||
<!-- ========== bloc message video ========== -->
|
||||
|
||||
{% include 'company/answer_show_message_video.html.twig' %}
|
||||
|
||||
<!-- ========== bloc message texte ========== -->
|
||||
|
||||
{% include 'company/answer_show_message_texte.html.twig' %}
|
||||
|
||||
<!-- ========== bloc commentaire ========== -->
|
||||
|
||||
{# {% include 'company/answer_show_comment.html.twig' %} #}
|
||||
|
||||
|
||||
|
||||
<div class="row">
|
||||
<div class="col-xl-12">
|
||||
<div class="card-body">
|
||||
<div class="col-xl-10 col-sm-12">
|
||||
{% if answer.ad%}
|
||||
<h5> <a href="{{ path('company_ad_answer_list',{'id':answer.ad.id}) }}">{{ answer.ad.title }}</a></h5>
|
||||
{% else %}
|
||||
|
||||
<h5><a href="{{ path('company_answer_list') }}">Candidature spontanée</a></h5>
|
||||
{% endif %}
|
||||
<h6>Candidature reçue le {{ answer.sendTime|date('d/m/Y') }}</h6>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xl-12 ">
|
||||
<div class="card card-borderless col-xl-12 col-sm-12">
|
||||
<div class="row profil-candidature">
|
||||
<div class="col-xl-8 col-md-12 p-t-10">
|
||||
<h4 class="bold">{{ answer.user.firstname }} {{ answer.user.lastname }}</h4>
|
||||
<p>
|
||||
{% if answer.user.getGeoloc %}
|
||||
{% for adress in answer.user.getGeoloc %}
|
||||
<i class="material-icons fs-16 tab-icon icons-candidatures">home</i>
|
||||
{{ adress["locality"] }}, {{ adress["postal_code"] }}
|
||||
{% endfor %}
|
||||
|
||||
{% endif %}
|
||||
</p>
|
||||
{% if answer.user.company.extra["phoneTalent"] is defined %}
|
||||
<i class="material-icons fs-16 tab-icon icons-candidatures">phone</i><span id="telBouton"
|
||||
class="visible"><a href="#" onClick="afficherNumero()">Afficher le numéro de
|
||||
téléphone</a></span>{% if answer.user.company.extra["phoneTalent"] is defined %} <span
|
||||
id="telSpan" class="invisible">Tel : {{ answer.user.company.extra["phoneTalent"] }}<span>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="col-xl-4 col-md-12 profil-candidature-action">
|
||||
<div class="dropdown candidature-action">
|
||||
<button class="btn btn-primary btn-lg dropdown-toggle" type="button" id="dropdownMenu2"
|
||||
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
||||
<span id="libelleBouton">
|
||||
{% if answer.statusReponse =='CONTACTE' %}
|
||||
Contacté
|
||||
{% elseif answer.statusReponse =='REFUSE' %}
|
||||
Refusé
|
||||
{% elseif answer.statusReponse =='EMBAUCHE' %}
|
||||
Embauché
|
||||
{% elseif answer.statusReponse =='ENTRETIEN' %}
|
||||
Entretien programmé
|
||||
{% elseif answer.statusReponse =='A_TRAITER' %}
|
||||
À traiter
|
||||
{% else %}
|
||||
À traiter
|
||||
{% endif %}
|
||||
|
||||
</span>
|
||||
</button>
|
||||
<div class="dropdown-menu" aria-labelledby="dropdownMenu2">
|
||||
<button class="dropdown-item" type="button" onClick="changerStatutAnswer('A_TRAITER', 'A traiter')">A traiter</button>
|
||||
<button class="dropdown-item" type="button"
|
||||
onClick="changerStatutAnswer('CONTACTE', 'Contacté')">Contacté</button>
|
||||
<button class="dropdown-item" type="button"
|
||||
onClick="changerStatutAnswer('REFUSE', 'Refusé')">Refusé</button>
|
||||
<button class="dropdown-item" type="button" onClick="changerStatutAnswer('ENTRETIEN', 'Entretien programmé')">Entretien programmé</button>
|
||||
<button class="dropdown-item" type="button"
|
||||
onClick="changerStatutAnswer('EMBAUCHE', 'Embauché')">Embauché</button>
|
||||
</div>
|
||||
</div>
|
||||
<a href="#" data-toggle="tab" role="tab"
|
||||
data-target="#messagerieVideo" onClick="switcherMenu()">
|
||||
<button aria-label="" type="button" class="btn btn-lg btn-seconday btn-cons">Contacter le candidat</button></a>
|
||||
</div>
|
||||
</div>
|
||||
<ul class="nav nav-tabs nav-tabs-simple d-none d-md-flex d-lg-flex d-xl-flex" role="tablist"
|
||||
data-init-reponsive-tabs="dropdownfx">
|
||||
<li class="nav-item">
|
||||
<a class="active" data-toggle="tab" role="tab" data-target="#candidature"
|
||||
href="#" id="candidatureLien">Candidature</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a href="#" data-toggle="tab" role="tab"
|
||||
data-target="#messagerieVideo" id="messagerieVideoLien">Messagerie</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
<div class="col-xl-12 bg-white details-candidature">
|
||||
<div class="tab-content">
|
||||
<!-- ========== bloc candidature ========== -->
|
||||
|
||||
{% include 'company/answer_show_candidature.html.twig' %}
|
||||
|
||||
<!-- ========== bloc message video ========== -->
|
||||
|
||||
{% include 'company/answer_show_message_video.html.twig' %}
|
||||
|
||||
<!-- ========== bloc message texte ========== -->
|
||||
|
||||
{# {% include 'company/answer_show_message_texte.html.twig' %} #}
|
||||
|
||||
<!-- ========== bloc commentaire ========== -->
|
||||
|
||||
{# {% include 'company/answer_show_comment.html.twig' %} #}
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
@@ -89,6 +159,11 @@
|
||||
{% block javascripts %}
|
||||
{{ parent() }}
|
||||
<script type="text/javascript">
|
||||
function switcherMenu(){
|
||||
$("#messagerieVideoLien").addClass("active");
|
||||
$("#candidatureLien").removeClass("active");
|
||||
console.log("messagerie active");
|
||||
}
|
||||
var urlDropzone = '{{ path("upload_media_message", {"id": message.getId()}) }}';
|
||||
var urlDelete = '{{ path("delete_media_message", {"id": message.getId() }) }}'
|
||||
var idObject = null;
|
||||
@@ -105,6 +180,46 @@
|
||||
<script src="{{ asset('/js/demo.js') }}"></script>
|
||||
<script src="{{ asset('/js/scripts.js') }}"></script>
|
||||
<script type="text/javascript">
|
||||
function changerStatutAnswer(item, valeurBouton) {
|
||||
console.log(item);
|
||||
console.log({{answer.id}});
|
||||
$("#libelleBouton").text(valeurBouton);
|
||||
$.ajax({
|
||||
//L'URL de la requête
|
||||
url: "/app_dev.php/anwser/updateStatus/{{answer.id}}",
|
||||
//url: '{{ path("anwser_share", {"id":'+id+'}) }}',
|
||||
//La méthode d'envoi (type de requête)
|
||||
method: "GET",
|
||||
data: 'status=' + item,
|
||||
//Le format de réponse attendu
|
||||
dataType: "json",
|
||||
})
|
||||
//Ce code sera exécuté en cas de succès - La réponse du serveur est passée à done()
|
||||
/*On peut par exemple convertir cette réponse en chaine JSON et insérer
|
||||
* cette chaine dans un div id="res"*/
|
||||
.done(function (response) {
|
||||
console.log("La requête s'est terminée avec succes. Infos : " + JSON.stringify(response));
|
||||
})
|
||||
|
||||
//Ce code sera exécuté en cas d'échec - L'erreur est passée à fail()
|
||||
//On peut afficher les informations relatives à la requête et à l'erreur
|
||||
.fail(function (error) {
|
||||
console.log("La requête s'est terminée en échec. Infos : " + JSON.stringify(error));
|
||||
})
|
||||
|
||||
//Ce code sera exécuté que la requête soit un succès ou un échec
|
||||
.always(function () {
|
||||
console.log("Requête effectuée");
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
|
||||
function afficherNumero() {
|
||||
$("#telBouton").hide();
|
||||
$("#telSpan").removeClass("invisible").addClass("visible");
|
||||
|
||||
}
|
||||
$(".card-action").click(function () {
|
||||
var idVideo = $(this).data("id");
|
||||
var titleVideo = $(this).data("title");
|
||||
|
||||
+105
-8
@@ -1,4 +1,97 @@
|
||||
<!-- ========== bloc candidature ========== -->
|
||||
<div class="tab-pane active" id="candidature">
|
||||
<div class="row ">
|
||||
<div class="col-xl-7 col-lg-6">
|
||||
|
||||
<!-- START card -->
|
||||
|
||||
<div class="full-height">
|
||||
<div class="card-body">
|
||||
<h5><i class="material-icons fs-18 tab-icon icons-candidatures">videocam</i>Candidature vidéo</h5>
|
||||
<iframe src="https://player.vimeo.com/video/{{ answer.video.cdnUrl|replace({ "/videos/": ""}) }}"
|
||||
width="100%" height="300px" frameborder="0" webkitallowfullscreen mozallowfullscreen
|
||||
allowfullscreen></iframe>
|
||||
|
||||
</div>
|
||||
<div class="card-body row">
|
||||
{% if answer.user.company.cv %}
|
||||
<div class="col-8">
|
||||
<h5><i class="material-icons fs-18 tab-icon icons-candidatures">text_snippet</i>Curriculum vitae
|
||||
</h5>
|
||||
</div>
|
||||
|
||||
<div class="col-4">
|
||||
<a href="/uploads/cv/{{ answer.user.company.cv }}" target="_blank">
|
||||
<button aria-label="" type="button" class="btn btn-lg btn-seconday btn-cons m-b-10">Télécharger
|
||||
le CV</button>
|
||||
</a>
|
||||
</div>
|
||||
{% if extension=="doc" or extension=="docx" %}
|
||||
<iframe width="100%" height="600"
|
||||
src="http://docs.google.com/gview?url=https://www.recruteur.talentstube.com/uploads/cv/{{ answer.user.company.cv }}"></iframe>
|
||||
|
||||
{% else %}
|
||||
<iframe width="100%" height="600"
|
||||
src="/uploads/cv/{{ answer.user.company.cv }}"></iframe>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
<!--<iframe width="100%" height="600" src="http://docs.google.com/gview?url=http://qualite-en-recherche.cnrs.fr/IMG/doc/pr-m1-09-ressources_humaines-30-1.doc&embedded=true"></iframe>-->
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<!-- END card -->
|
||||
</div>
|
||||
<div class="col-xl-5 col-lg-6">
|
||||
<!-- START card -->
|
||||
<div class="card-body">
|
||||
{{ form_start(formNote) }}
|
||||
<div class="form-group form-group-default required">
|
||||
<h5><i class="material-icons fs-18 tab-icon icons-candidatures">comment</i>Commentaires</h5>
|
||||
{# <textarea class="form-control" id="exampleFormControlTextarea1"
|
||||
placeholder="Ce commentaire sera visible uniquement par vous et les autres utilisateurs de l’espace recruteur."
|
||||
rows="5"></textarea> #}
|
||||
<label for="note_ajax_content" >Ajouter un commentaire</label>
|
||||
{{ form_widget(formNote.content) }}
|
||||
</div>
|
||||
<button class="btn btn btn-lg btn-outline-primary" type="submit">Valider le commentaire</button>
|
||||
{{ form_end(formNote) }}
|
||||
|
||||
|
||||
{% for note in answer.notes|reverse %}
|
||||
<div class="card card-body">
|
||||
<h6 class="card-title">{{ note.author.firstname }} {{ note.author.lastname }}</h6>
|
||||
<p class="card-text">{{ note.content }}</p>
|
||||
</div>
|
||||
|
||||
{% endfor %}
|
||||
|
||||
|
||||
</div>
|
||||
<!-- === Début : Bloc aide - À garder pour la prochaine v2
|
||||
<div class="card-body">
|
||||
<div class="form-group">
|
||||
<i class="material-icons fs-18 tab-icon icons-candidatures">help_center</i><label for="">
|
||||
<h5>Besoin d'aide</h5>
|
||||
</label>
|
||||
</div>
|
||||
<div class="lien-aide">
|
||||
<a href="">Comment répondre aux candidats en vidéo ?</a>
|
||||
</div>
|
||||
<div class="lien-aide">
|
||||
<a href="">Comment contacter un candidat ?</a>
|
||||
</div>
|
||||
</div>-->
|
||||
<!-- === Début : Bloc aide - À garder pour la prochaine v2-->
|
||||
|
||||
</div>
|
||||
<!-- END card -->
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- ========== bloc message texte + video ========== -->
|
||||
{#
|
||||
|
||||
<div class="tab-pane active" id="">
|
||||
<div class="row ">
|
||||
<div class="col-xl-7 col-lg-6 bg-white">
|
||||
<!-- START card -->
|
||||
@@ -16,8 +109,9 @@
|
||||
<div class="card card-transparent">
|
||||
<div class="card-header ">
|
||||
<div class="card-title">
|
||||
|
||||
{% if answer.ad%}
|
||||
<a href="{{ path('company_ad_answer_list',{'id':answer.ad.id}) }}">{{ answer.ad.title }}</a>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
@@ -40,11 +134,12 @@
|
||||
{{ answer.user.lastname }}
|
||||
</p>
|
||||
<p class="small hint-text m-t-5">
|
||||
{% if answer.user.company %}
|
||||
{% if answer.user.company %}
|
||||
{% if answer.user.company.cv %}
|
||||
<a href="/uploads/cv/{{ answer.user.company.cv }}" target="_blank"><button aria-label="" type="button" class="btn btn-outline-primary">Télécharger le cv</button></a>
|
||||
<a href="/uploads/cv/{{ answer.user.company.cv }}" target="_blank"><button aria-label=""
|
||||
type="button" class="btn btn-outline-primary">Télécharger le cv</button></a>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
@@ -87,7 +182,7 @@
|
||||
<!-- NOTE * : Inline Style Width For Table Cell is Required as it may differ from user to user
|
||||
Comman Practice Followed
|
||||
-->
|
||||
|
||||
|
||||
<th style="width:15%">Objet</th>
|
||||
<th style="width:15%">Envoyé le</th>
|
||||
<th style="width:70%">Message</th>
|
||||
@@ -124,14 +219,16 @@
|
||||
</tr>
|
||||
{% endfor %}
|
||||
{% if answer.messages|length == 0 %}
|
||||
<tr><th colspan="3" class="text-center">Aucun message pour le moment</th></tr>
|
||||
<tr>
|
||||
<th colspan="3" class="text-center">Aucun message pour le moment</th>
|
||||
</tr>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div> #}
|
||||
+1
-1
@@ -93,7 +93,7 @@
|
||||
</div> #}
|
||||
</div>
|
||||
<div class="form-group form-group-default required">
|
||||
{{ form_row(form.status) }}
|
||||
{# {{ form_row(form.status) }} #}
|
||||
</div>
|
||||
<div class="form-group required">
|
||||
{{ form_row(form.message) }}
|
||||
|
||||
+175
-48
@@ -1,62 +1,189 @@
|
||||
<div class="tab-pane fondBlanc" id="messagerieVideo">
|
||||
<div class="row fondBlanc">
|
||||
<div class="tab-pane" id="messagerieVideo">
|
||||
<div class="row">
|
||||
<div class="col-xl-7 col-lg-6">
|
||||
<div class="full-height">
|
||||
<div class="card-body">
|
||||
<h5><i
|
||||
class="material-icons fs-18 tab-icon icons-candidatures">message</i>Envoyer
|
||||
un message au candidat</h5>
|
||||
{{ form_start(formVideo) }}
|
||||
{{ form_widget(formVideo._token, { 'id': 'token_video' }) }}
|
||||
<div class="form-group form-group-default">
|
||||
<label class="active">De : </label>
|
||||
<input name="to" data-role="tagsinput" disabled
|
||||
class="form-control tagsinput" type="text"
|
||||
value="{{ app.user.firstname }} {{ app.user.lastname }}" />
|
||||
</div>
|
||||
|
||||
<!-- START ITEM -->
|
||||
<div class="col-lg-4 fondBlanc">
|
||||
<div class="card card-default bg-success">
|
||||
<div class="card-header separator">
|
||||
<div class="card-title">Réponse vidéo
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<h3>
|
||||
<span class="semi-bold">Et si vous répondiez à </span> {{ answer.user.firstname }} {{ answer.user.lastname }} <b>en vidéo</b></h3>
|
||||
<p>Découvrez <a href="https://blog.talentstube.com/articles-entreprise/comment-faire-une-video-avec-une-webcam/" target="_blank">nos conseils</a> pour réaliser une vidéo de réponse.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- END ITEM -->
|
||||
<div class="form-group form-group-default required" style="min-height:250px;">
|
||||
<label for="contact_talent_message" class="active">Message</label>
|
||||
{# <textarea id="contact_talent_message"
|
||||
name="contact_talent[message]" required="required"
|
||||
class="form-control"
|
||||
placeholder="Rédigez un message de réponse"></textarea> #}
|
||||
{{ form_widget(formVideo.message) }}
|
||||
</div>
|
||||
<!--<h6>Et si vous répondiez à [Nom du candidat] en vidéo ?</h6>-->
|
||||
<p class="m-l-10 bold">Vous pouvez joindre une vidéo de réponse</p>
|
||||
<p class="m-l-10">Pour une meilleure expérience candidat, motivez les
|
||||
raisons de votre choix en vidéo.</p>
|
||||
{% include 'message/message_create_import.twig' %}
|
||||
<div class="form-group m-t-20" ;>
|
||||
<button type="submit" aria-label=""
|
||||
class="btn btn-primary btn-lg disabled">Envoyer le
|
||||
message</button>
|
||||
</div>
|
||||
<div class="m-t-30">
|
||||
<div class="row fondBlanc">
|
||||
<h5><i
|
||||
class="material-icons fs-18 tab-icon icons-candidatures">inbox</i>Historique
|
||||
des messages envoyés</h5>
|
||||
</div>
|
||||
<div class="row fondBlanc">
|
||||
<div class="card-body">
|
||||
<div class="table-responsive">
|
||||
<table class="table table-hover" id="basicTable">
|
||||
<thead>
|
||||
<tr>
|
||||
<!-- NOTE * : Inline Style Width For Table Cell is Required as it may differ from user to user
|
||||
Comman Practice Followed
|
||||
-->
|
||||
<th style="width:20%">Envoyé le</th>
|
||||
<th style="width:30%">Expéditeur</th>
|
||||
<th style="width:50%">Message</th>
|
||||
</tr>
|
||||
{% if answer.messages %}
|
||||
{% for message in answer.messages if message.status != "DRAFT" %}
|
||||
{% set class = '' %}
|
||||
{% if loop.index > 1 %}
|
||||
{% set class = 'history-hidden' %}
|
||||
{% endif %}
|
||||
<tr>
|
||||
<td class="v-align-middle">
|
||||
|
||||
{{ message.uTime|date('d-m-Y h:m') }}
|
||||
|
||||
</td>
|
||||
<td class="v-align-middle ">
|
||||
{% if message.sender.company.type =="COMPANY" %}
|
||||
Recruteur
|
||||
{% elseif message.sender.company.type =="TALENT" %}
|
||||
Talent
|
||||
{% endif %}
|
||||
</td>
|
||||
<td class="v-align-middle">
|
||||
{% if message.video %}
|
||||
<div
|
||||
class="embed-responsive embed-responsive-16by9">
|
||||
<iframe
|
||||
src="https://player.vimeo.com/video/{{ message.video.cdnUrl|replace({ "/videos/": ""}) }}"
|
||||
width="100%" height="300"
|
||||
frameborder="0"
|
||||
webkitallowfullscreen
|
||||
mozallowfullscreen
|
||||
allowfullscreen></iframe>
|
||||
</div>
|
||||
{% endif %}
|
||||
{{ message.content|nl2br }}
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
{% endfor %}
|
||||
{% if answer.messages|length == 0 %}
|
||||
<tr>
|
||||
<th colspan="3" class="text-center">Aucun
|
||||
message pour le moment</th>
|
||||
</tr>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
|
||||
</thead>
|
||||
<tbody>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- END COMPOSE EMAIL -->
|
||||
|
||||
{{ form_end(formVideo) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="tab-pane fondBlanc" id="">
|
||||
<div class="row fondBlanc">
|
||||
|
||||
<!-- START ITEM -->
|
||||
<div class="col-lg-4 fondBlanc">
|
||||
<div class="card card-default bg-success">
|
||||
<div class="card-header separator">
|
||||
<div class="card-title">Réponse vidéo
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<h3>
|
||||
<span class="semi-bold">Et si vous répondiez à </span> Celia Machin
|
||||
Auriol <b>en vidéo</b>
|
||||
</h3>
|
||||
<p>Découvrez <a
|
||||
href="https://blog.talentstube.com/articles-entreprise/comment-faire-une-video-avec-une-webcam/"
|
||||
target="_blank">nos conseils</a> pour réaliser une vidéo de
|
||||
réponse.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- END ITEM -->
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="col-md-12 col-lg-8 col-xlg-8 md-m-t-10">
|
||||
<!-- START WIDGET widget_weatherWidget-->
|
||||
<div class="widget-17 card no-border no-margin widget-loader-circle">
|
||||
<div class="widget-16-header p-r-20 p-l-20 p-t-10 d-flex">
|
||||
<span class="icon-thumbnail bg-contrast-low pull-left text-color pg-icon">M</span>
|
||||
<div class="flex-1 full-width overflow-ellipsis">
|
||||
<p class="hint-text all-caps font-montserrat small no-margin overflow-ellipsis ">
|
||||
Contacter
|
||||
</p>
|
||||
<h6 class="no-margin overflow-ellipsis ">par vidéo</h6>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
{{ form_start(formVideo) }}
|
||||
{{ form_widget(formVideo._token, { 'id': 'token_video' }) }}
|
||||
<div class="col-md-12 col-lg-8 col-xlg-8 md-m-t-10">
|
||||
<!-- START WIDGET widget_weatherWidget-->
|
||||
<div class="widget-17 card no-border no-margin widget-loader-circle">
|
||||
<div class="widget-16-header p-r-20 p-l-20 p-t-10 d-flex">
|
||||
<span
|
||||
class="icon-thumbnail bg-contrast-low pull-left text-color pg-icon">M</span>
|
||||
<div class="flex-1 full-width overflow-ellipsis">
|
||||
<p
|
||||
class="hint-text all-caps font-montserrat small no-margin overflow-ellipsis ">
|
||||
Contacter
|
||||
</p>
|
||||
<h6 class="no-margin overflow-ellipsis ">par vidéo</h6>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
{{ form_start(formVideo) }}
|
||||
{{ form_widget(formVideo._token, { 'id': 'token_video' }) }}
|
||||
|
||||
|
||||
|
||||
{% include 'message/message_create_import.twig' %}
|
||||
<br />
|
||||
{{ form_widget(formVideo.status, { 'id': 'contact_talent_status_video' }) }}
|
||||
{{ form_rest(formVideo) }}
|
||||
<br />
|
||||
<div class="bottom-form">
|
||||
<button type="submit" class="btn btn-default disabled">Envoyer</button>
|
||||
</div>
|
||||
{% include 'message/message_create_import.twig' %}
|
||||
<br />
|
||||
{# {{ form_widget(formVideo.status, { 'id': 'contact_talent_status_video' }) }} #}
|
||||
{{ form_rest(formVideo) }}
|
||||
<br />
|
||||
<div class="bottom-form">
|
||||
<button type="submit" class="btn btn-default disabled">Envoyer</button>
|
||||
</div>
|
||||
|
||||
{{ form_end(formVideo) }}
|
||||
</div>
|
||||
</div>
|
||||
<!-- END WIDGET -->
|
||||
</div>
|
||||
{{ form_end(formVideo) }}
|
||||
</div>
|
||||
</div>
|
||||
<!-- END WIDGET -->
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
{% extends 'base_dashboard_temporaire.html.twig' %}
|
||||
{% extends 'admin/base_dashboard.html.twig' %}
|
||||
|
||||
|
||||
{% block content %}
|
||||
|
||||
@@ -1,7 +1,31 @@
|
||||
{# {% extends 'company/base_dashboard_company.html.twig' %} #}
|
||||
{% extends 'admin/base_dashboard.html.twig' %}
|
||||
{% block dashContent %}
|
||||
<!-- MODALS-->
|
||||
<!-- Modal 0 -->
|
||||
<div class="modal fade in bd-example-modal-lg" id="popupSubmitModal" tabindex="-1" role="dialog"
|
||||
aria-labelledby="popupSubmitModalLabel" aria-hidden="false" data-show="false">
|
||||
<div class="modal-dialog modal-lg" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title" id="popupSubmitModalLabel">Votre offre d’emploi vidéo est en cours de validation par l'équipe Talents Tube</h5>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
|
||||
<p>Vous recevrez un e-mail lorsque votre offre d’emploi sera publiée sur la plateforme.</p>
|
||||
|
||||
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-secondary" data-dismiss="modal" onClick="submitFormAd()">Fermer</button>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row bg-bordered p-0">
|
||||
{# {% include 'company/ad_steps.html.twig' with {'tab':2} %} #}
|
||||
|
||||
@@ -62,40 +86,34 @@
|
||||
</div>
|
||||
<!-- END JUMBOTRON -->
|
||||
<div class=" container-fluid container-fixed-lg">
|
||||
<div id="rootwizard" class="m-t-50">
|
||||
<div class="col-lg-8 bloc-header">
|
||||
<div class="card card-default container">
|
||||
<div class="card-body">
|
||||
<div class="row" style="min-height:10rem;">
|
||||
<div class="col-8">
|
||||
<h4 class="header-title" style="font-size:2em;line-height:1.5em;">Création d'une offre d'emploi vidéo</h4>
|
||||
<p>Pour trouver le bon profil, renseignez et personnalisez votre annonce. <br>Plus votre annonce est précise et attractive, plus les candidatures seront ciblées.</p>
|
||||
</div>
|
||||
<div class="col-4" style="background-repeat: no-repeat; background-image: url('https://blog.talentstube.com/wp-content/uploads/2021/02/creer-offre-emploi-video.svg');background-size: contain;background-position: center;">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="rootwizard" class="col-lg-10 m-t-50">
|
||||
{% include 'company/ad_stepsV2.html.twig' with {'tab':2} %}
|
||||
|
||||
<div class="tab-content">
|
||||
<div class="tab-pane padding-20 sm-no-padding slide-left disabled" id="tab1">
|
||||
<div class="row row-same-height">
|
||||
<div class="col-md-5 b-r b-dashed b-grey sm-b-b">
|
||||
<div class="padding-30 sm-padding-5 sm-m-t-15 m-t-50">
|
||||
<i class="material-icons hint-text">shopping_cart</i>
|
||||
<h2>Etape 1 : détail de l'annonce</h2>
|
||||
<p>Pour trouver le bon profil, renseignez et personnalisez votre annonce.
|
||||
Plus votre annonce est précise et attractive, plus les candidatures seront ciblées.
|
||||
Afin de créer votre annonce, renseignez l’ensemble des champs relatifs au poste proposé.</p>
|
||||
{# <p class="small hint-text">Below is a sample page for your cart , Created using pages design
|
||||
UI Elementes</p> #}
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-7">
|
||||
<div class="padding-30 sm-padding-5">
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="tab-pane slide-left padding-20 sm-no-padding active" id="tab2">
|
||||
<div class="row row-same-height">
|
||||
<div class="col-md-6 b-r b-dashed b-grey ">
|
||||
<div class="col-md-12 col-xl-6 ">
|
||||
<div class="container-envoi-videos">
|
||||
<div class="titre-bloc-envoi-videos">
|
||||
<img src='https://www.talentstube.com/statique/images/capture.svg'class="image-envoi-video"/img>
|
||||
<div class="texte-envoi-video">
|
||||
<h4>Choix n°1</h4>
|
||||
<h5>J’<span class="underline">envoie</span> mes séquences vidéos à Talents Tube</h5>
|
||||
<h5>J’<span class="underline">envoie</span> mes séquences vidéo à Talents Tube</h5>
|
||||
</div>
|
||||
</div>
|
||||
<div class="contenu-bloc-envoi-videos">
|
||||
@@ -103,7 +121,7 @@ Afin de créer votre annonce, renseignez l’ensemble des champs relatifs au pos
|
||||
{# {{ form_row(form.brochure) }}
|
||||
{{ form_row(form.brochure1) }}
|
||||
{{ form_row(form.brochure2) }} #}
|
||||
<p>Envoyez les séquences vidéos et Talents Tube s’occupe pour vous du montage complet de votre offre d’emploi sous <span class="underline">48h</span></p>
|
||||
<p>Envoyez les séquences vidéo et Talents Tube s’occupe pour vous du montage complet de votre offre d’emploi sous <span class="underline">48h</span></p>
|
||||
<label for="etape-import-video">Vidéo 1 : Présentation de l’entreprise</label>
|
||||
{{ form_row(formFile.file1) }}
|
||||
{# <input type="file" id="avatar" name="avatar" accept="image/png, image/jpeg"> #}
|
||||
@@ -113,13 +131,14 @@ Afin de créer votre annonce, renseignez l’ensemble des champs relatifs au pos
|
||||
<label for="etape-import-video">Vidéo 3 : Témoignage d’un collaborateur</label>
|
||||
{{ form_row(formFile.file3) }}
|
||||
{# <input type="file" id="avatar" name="avatar" accept="image/png, image/jpeg"> #}
|
||||
<button aria-label class="btn btn-primary" type="submit" onClick='$("#encours").show();'>Envoyer les séquences vidéos</button>
|
||||
{# <button aria-label="" class="btn btn-info btn-lg btn-icon-right m-b-10" type="submit"><span class="">Envoyer les séquences vidéo</span><i class="pg-icon" onclick="$("#encours").show();">send</i></button> #}
|
||||
<button aria-label class="btn btn-info btn-lg m-b-10" type="submit" onClick='$("#encours").show();'><span class="">Envoyer les séquences vidéo</span></button>
|
||||
|
||||
{{ form_end(formFile) }}
|
||||
{% if message !="" %}
|
||||
<div class="green center-align" style="border-radius:10px;padding:20px;color:#FFF;">{{ message }}</div>
|
||||
{% else %}
|
||||
<div class=" center-align" id="encours">Vos séquences vidéos sont en cours d’envoi...
|
||||
<div class=" center-align" id="encours">Vos séquences vidéo sont en cours d’envoi...
|
||||
Veuillez rester sur la page pendant le chargement qui peut durer plusieurs minutes.
|
||||
</div>
|
||||
|
||||
@@ -134,7 +153,7 @@ Talents Tube peut vous accompagner dans la réalisation de votre
|
||||
vidéo d'offre d'emploi. <a href="https://blog.talentstube.com/contact" target="_blank">Contactez-nous</a></p>
|
||||
</div>-->
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="col-md-12 col-xl-6">
|
||||
<div class="padding sm-padding-5" id="tab-video-new">
|
||||
<div class="container-envoi-videos">
|
||||
<div class="titre-bloc-envoi-videos">
|
||||
@@ -152,23 +171,26 @@ vidéo d'offre d'emploi. <a href="https://blog.talentstube.com/contact" target="
|
||||
{{ form_row(form.brochure1) }}
|
||||
{{ form_row(form.brochure2) }} #}
|
||||
<br/>
|
||||
<a href="{{ path('company_ad_edit',{"id": ad.getId()}) }}" class="btn btn-round btn-dark">
|
||||
<button aria-label="" class="btn btn-primary btn-cons btn-animated from-left pull-right"
|
||||
type="button">
|
||||
<span>Retour au détail de l'annonce </span>
|
||||
<span class="hidden-block">
|
||||
<i class="material-icons fs-16">info</i>
|
||||
</span>
|
||||
</button>
|
||||
</a>
|
||||
<button aria-label="" id="submit" type="submit" class="btn btn-primary btn-cons btn-animated from-left pull-right hide"
|
||||
type="button">
|
||||
<span>Valider l'annonce</span>
|
||||
<span class="hidden-block">
|
||||
<i class="material-icons fs-16">save</i>
|
||||
</span>
|
||||
</button>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-6">
|
||||
<a href="{{ path('company_ad_edit',{"id": ad.getId()}) }}" >
|
||||
<button aria-label="" class="btn btn-default btn-lg m-b-10"
|
||||
type="button">
|
||||
<span>Retour </span>
|
||||
|
||||
</button>
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-6">
|
||||
|
||||
<button aria-label="" id="submit" data-toggle="modal"
|
||||
data-target="#popupSubmitModal" type="" class="btn btn-primary btn-lg m-b-10 hide"
|
||||
type="button">
|
||||
<span>Publier l'offre</span>
|
||||
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
{{ form_end(form) }}
|
||||
</div>
|
||||
</div>
|
||||
@@ -253,10 +275,7 @@ vidéo d'offre d'emploi. <a href="https://blog.talentstube.com/contact" target="
|
||||
</li>
|
||||
</ul> #}
|
||||
</div>
|
||||
<div class="wizard-footer padding-20 bg-contrast-low">
|
||||
|
||||
<div class="clearfix"></div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -301,7 +320,11 @@ vidéo d'offre d'emploi. <a href="https://blog.talentstube.com/contact" target="
|
||||
{% else %}
|
||||
var videoExist = false;
|
||||
{% endif %}
|
||||
|
||||
//function appelée lors de la confirmation de popup
|
||||
function submitFormAd(){
|
||||
|
||||
$('#form_media').submit();
|
||||
}
|
||||
</script>
|
||||
<script src="{{ asset('/js/dropzoneV2.js') }}"></script>
|
||||
{% endblock %}
|
||||
@@ -52,6 +52,7 @@
|
||||
<script>
|
||||
document.location.href = "/entreprise/me/profil";
|
||||
</script>
|
||||
|
||||
{# {{ render("/entreprise/me/profil") }} #}
|
||||
</div>
|
||||
{% endif %}
|
||||
@@ -69,39 +70,136 @@
|
||||
<!-- START JUMBOTRON -->
|
||||
<div class="jumbotron" data-pages="parallax">
|
||||
<div class=" container-fluid container-fixed-lg sm-p-l-0 sm-p-r-0">
|
||||
<div class="inner">
|
||||
<div class="inner" style="transform: translateY(0px); opacity: 1;">
|
||||
<!-- START BREADCRUMB -->
|
||||
<ol class="breadcrumb">
|
||||
<li class="breadcrumb-item"><a href="/entreprise/me/">Accueil</a></li>
|
||||
<li class="breadcrumb-item"><a href="https://recruteur.talentstube.com/entreprise/me/">Accueil</a></li>
|
||||
</ol>
|
||||
<!-- END BREADCRUMB -->
|
||||
<div class="row">
|
||||
<div class="col-xl-12 col-lg-12 ">
|
||||
<!-- START card -->
|
||||
<div class="card card-transparent">
|
||||
<div class="card-header ">
|
||||
</div>
|
||||
<div class="card-body">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- END JUMBOTRON -->
|
||||
<!--Boutons actions Tableau de bord -->
|
||||
|
||||
<a class="btn-square" target="_self" href="{{ path('company_ad_create') }}">
|
||||
<button aria-label=""
|
||||
class="btn btn-primary btn-cons">{{ 'ad.company.add.label'|trans }}</button>
|
||||
</a>
|
||||
<div class=" container-fluid container-fixed-lg bloc-tdb">
|
||||
<!-- START card -->
|
||||
<div class="col-lg-12">
|
||||
<div class="card card-default container">
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-md">
|
||||
<a href="{{path('company_ad_create')}}">
|
||||
<button class="card-action" type="button">
|
||||
|
||||
<span class="material-icons">movie_creation</span>
|
||||
<div class="row lien-fleche" style="justify-content: center; align-items: center">
|
||||
<h6 class="col-10">Créer une offre d’emploi vidéo</h6>
|
||||
<span class="material-icons col-2 fleche">arrow_right_alt</span>
|
||||
</div>
|
||||
|
||||
</button>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="col-md" type="button">
|
||||
<a href="{{path('company_ad')}}">
|
||||
<button class="card-action" style="" type="button">
|
||||
|
||||
<span class="material-icons" style="">work</span>
|
||||
<div class="row lien-fleche" style="justify-content: center; align-items: center">
|
||||
<h6 class="col-10">Gérer mes offres d’emploi</h6>
|
||||
<span class="material-icons col-2 fleche">arrow_right_alt</span>
|
||||
</div>
|
||||
|
||||
</button>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="col-md" type="button">
|
||||
<a href="{{path('company_answer_list')}}">
|
||||
<button class="card-action" style="" type="button">
|
||||
<span class="material-icons" style="">face</span>
|
||||
<div class="row lien-fleche" style="justify-content: center; align-items: center">
|
||||
<h6 class="col-10">Gérer mes candidatures</h6>
|
||||
<span class="material-icons col-2 fleche">arrow_right_alt</span>
|
||||
</div>
|
||||
|
||||
</button>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!--Fin Boutons actions Tableau de bord -->
|
||||
|
||||
<!--Blocs statistiques Tableau de bord -->
|
||||
<div class=" container-fluid container-fixed-lg bloc-tdb">
|
||||
<!-- START card -->
|
||||
<div class="col-lg-12">
|
||||
<div class="card card-default container">
|
||||
<div class="row">
|
||||
<div class="col-lg text-card">
|
||||
<div class="bloc-stats">
|
||||
<span class="font-montserrat fs-11 all-caps">Nombre total de candidats</span>
|
||||
<h3 class="bold no-margin p-b-5"><a class="bold no-margin p-b-5"
|
||||
href="{{ path('company_answer_list') }}">{{nbAnswersSended}}</a></h3>
|
||||
<span class="fs-12 ">Nouveaux candidats</span>
|
||||
<h4 class="bold no-margin" class=""><a class="bold no-margin"
|
||||
href="{{ path('company_answer_list') }}">+{{nbAnswersSended}}</a></h4>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg text-card">
|
||||
<div class="bloc-stats">
|
||||
<span class="font-montserrat fs-11 all-caps">Visites de la page entreprise</span>
|
||||
<h3 class="bold no-margin p-b-5">{{ records.totalRecordsCompany }}</h3>
|
||||
<div class="row">
|
||||
<div class="col-sm vertical-border" border-right: 1px solid white;>
|
||||
<span class="fs-12">7 derniers jours</span>
|
||||
<h4 class="bold no-margin">+{{ records7days.totalRecordsCompany }}</h4>
|
||||
</div>
|
||||
<div class="col-sm">
|
||||
<span class="fs-12">30 derniers jours</span>
|
||||
<h4 class="bold no-margin" style="opacity:0.75">+{{ records30days.totalRecordsCompany }}
|
||||
</h4>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg text-card">
|
||||
<div class="bloc-stats">
|
||||
<span class="font-montserrat fs-11 all-caps">Vues globales des offres d’emploi</span>
|
||||
<h3 class="bold no-margin p-b-5">{{ records.totalRecords-records.totalRecordsCompany }}</h3>
|
||||
<div class="row">
|
||||
<div class="col-sm vertical-border">
|
||||
<span class="fs-12">7 derniers jours</span>
|
||||
<h4 class="bold no-margin">
|
||||
+{{ records7days.totalRecords-records7days.totalRecordsCompany }}</h4>
|
||||
</div>
|
||||
<div class="col-sm">
|
||||
<span class="fs-12">30 derniers jours</span>
|
||||
<h4 class="bold no-margin" style="opacity:0.75">+{{ records30days.totalRecords-records30days.totalRecordsCompany }}
|
||||
</h4>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- END card -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- END JUMBOTRON -->
|
||||
|
||||
<!--Fin Blocs statistiques Tableau de bord -->
|
||||
|
||||
|
||||
<!-- START CONTAINER FLUID -->
|
||||
<!-- START CONTAINER FLUID -->
|
||||
<div class=" container-fluid container-fixed-lg bg-white">
|
||||
{# <div class=" container-fluid container-fixed-lg bg-white">
|
||||
<!-- START card -->
|
||||
<div class="card card-transparent">
|
||||
<div class="card-header ">
|
||||
@@ -130,7 +228,10 @@
|
||||
<div class="col-xs-height col-top relative">
|
||||
<div class="row full-height">
|
||||
<div class="col-sm-12 text-card">
|
||||
<h3 class="bold no-margin p-b-5 text-card"><a class="bold no-margin p-b-5 text-card" href="{{ path('company_answer_list') }}">{{nbAnswersSended}}</a></h3>
|
||||
<h3 class="bold no-margin p-b-5 text-card"><a
|
||||
class="bold no-margin p-b-5 text-card"
|
||||
href="{{ path('company_answer_list') }}">{{nbAnswersSended}}</a>
|
||||
</h3>
|
||||
</div>
|
||||
<div class="col-sm-8">
|
||||
<div
|
||||
@@ -138,7 +239,9 @@
|
||||
<p class="small m-t-5 m-b-0">
|
||||
<span class="fs-12 ">Nouveaux candidats</span>
|
||||
</p>
|
||||
<h4 class="bold no-margin"><a class="bold no-margin" href="{{ path('company_answer_list') }}">+{{nbAnswersSended}}</a></h4>
|
||||
<h4 class="bold no-margin"><a class="bold no-margin"
|
||||
href="{{ path('company_answer_list') }}">+{{nbAnswersSended}}</a>
|
||||
</h4>
|
||||
</div>
|
||||
</div>
|
||||
<!--<div class="col-sm-5">
|
||||
@@ -176,7 +279,8 @@
|
||||
<div class="col-xs-height col-top relative">
|
||||
<div class="row full-height">
|
||||
<div class="col-sm-12 text-card">
|
||||
<h3 class="bold no-margin p-b-5 text-card">{{ records.totalRecordsCompany }}</h3>
|
||||
<h3 class="bold no-margin p-b-5 text-card">{{ records.totalRecordsCompany }}
|
||||
</h3>
|
||||
</div>
|
||||
<div class="col-sm-5 vertical-border">
|
||||
<div
|
||||
@@ -193,7 +297,8 @@
|
||||
<p class="small m-t-5 m-b-0">
|
||||
<span class="fs-12 ">30 derniers jours</span>
|
||||
</p>
|
||||
<h4 class="bold no-margin" style="opacity:0.75">+{{ records30days.totalRecordsCompany }}</h4>
|
||||
<h4 class="bold no-margin" style="opacity:0.75">
|
||||
+{{ records30days.totalRecordsCompany }}</h4>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -224,7 +329,8 @@
|
||||
<div class="col-xs-height col-top relative">
|
||||
<div class="row full-height">
|
||||
<div class="col-sm-12 text-card">
|
||||
<h3 class="bold no-margin p-b-5 text-card">{{ records.totalRecords-records.totalRecordsCompany }}</h3>
|
||||
<h3 class="bold no-margin p-b-5 text-card">
|
||||
{{ records.totalRecords-records.totalRecordsCompany }}</h3>
|
||||
</div>
|
||||
<div class="col-sm-5 vertical-border">
|
||||
<div
|
||||
@@ -232,7 +338,9 @@
|
||||
<p class="small m-t-5 m-b-0">
|
||||
<span class="fs-12 ">7 derniers jours</span>
|
||||
</p>
|
||||
<h4 class="bold no-margin">+{{ records7days.totalRecords-records7days.totalRecordsCompany }}</h4>
|
||||
<h4 class="bold no-margin">
|
||||
+{{ records7days.totalRecords-records7days.totalRecordsCompany }}
|
||||
</h4>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-5">
|
||||
@@ -241,7 +349,9 @@
|
||||
<p class="small m-t-5 m-b-0">
|
||||
<span class="fs-12 ">30 derniers jours</span>
|
||||
</p>
|
||||
<h4 class="bold no-margin" style="opacity:0.75">+{{ records30days.totalRecords-records30days.totalRecordsCompany }}</h4>
|
||||
<h4 class="bold no-margin" style="opacity:0.75">
|
||||
+{{ records30days.totalRecords-records30days.totalRecordsCompany }}
|
||||
</h4>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -266,7 +376,7 @@
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div> #}
|
||||
<!-- END card -->
|
||||
|
||||
|
||||
|
||||
File diff suppressed because one or more lines are too long
+53
@@ -0,0 +1,53 @@
|
||||
<div class="space-1-bottom gradient-overlay-half-primary-v1">
|
||||
<div class="d-lg-flex align-items-lg-center height-85vh--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="w-md-80 w-lg-60 text-center mx-md-auto col-lg-6">
|
||||
<!-- Signup Form -->
|
||||
<div class="bg-white shadow-sm rounded p-6" id="formulaireBas">
|
||||
<form class="js-validate" id="formDemandeDiag2">
|
||||
<div class="">
|
||||
<p class="h4 text-center">Faites le point sur <br>vos enjeux de recrutement</p>
|
||||
<p class="text-center">Diagnostic gratuit de 15 minutes</p>
|
||||
<!--<p>Faites le point sur vos enjeux de recrutement, identifier ce que Talents Tube peut résoudre et prendre connaissance de l’offre la plus appropriée pour votre entreprise.</p>-->
|
||||
</div>
|
||||
<!-- Input -->
|
||||
<div class="js-form-message mb-3">
|
||||
<div class="js-focus-state input-group input-group form">
|
||||
<input type="text" class="form-control form__input" name="nomPrenomForm2" id="nomPrenomForm2" required placeholder="Nom Prénom" aria-label="name">
|
||||
</div>
|
||||
</div>
|
||||
<!-- End Input -->
|
||||
<!-- Input -->
|
||||
<div class="js-form-message mb-3">
|
||||
<div class="js-focus-state input-group input-group form">
|
||||
<input type="text" class="form-control form__input" name="nomEntrepriseForm2" id="nomEntrepriseForm2" required placeholder="Nom de l'entreprise" aria-label="entreprise">
|
||||
</div>
|
||||
</div>
|
||||
<!-- End Input -->
|
||||
<!-- Input -->
|
||||
<div class="js-form-message mb-3">
|
||||
<div class="js-focus-state input-group input-group form">
|
||||
<input type="email" class="form-control form__input" name="emailForm2" id="emailForm2" required placeholder="E-mail" aria-label="email">
|
||||
</div>
|
||||
</div>
|
||||
<!-- End Input -->
|
||||
<!-- Input -->
|
||||
|
||||
<div class="js-form-message mb-3">
|
||||
<div class="js-focus-state input-group input-group form">
|
||||
<input type="text" class="form-control form__input" name="telForm2" id="telForm2" placeholder="Numéro de téléphone" aria-label="phone">
|
||||
</div>
|
||||
</div>
|
||||
<!-- End Input -->
|
||||
<p class="text-primary" id="messageValideDemandeDiag2"></p>
|
||||
|
||||
<a href="#formulaireBas" onClick="demanderDiag('formDemandeDiag2')" class="btn btn-sm btn-primary btn-wide center">Demander mon diagnostic</a>
|
||||
</form>
|
||||
</div>
|
||||
<!-- End Signup Form -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
Regular → Executable
Regular → Executable
+56
-34
@@ -1,40 +1,62 @@
|
||||
<!-- Ils nous font confiance DEBUT -->
|
||||
<div class="container space-2 space-3--lg accueilFondBlanc">
|
||||
<div class=" text-center mx-md-auto mb-12">
|
||||
<div class="container space-2 space-3--lg accueilFondBlanc">
|
||||
<div class="row justify-content-lg-between">
|
||||
<div class="w-md-80 w-lg-60 text-center mx-md-auto mb-9">
|
||||
<!-- Title -->
|
||||
<h2 class="h1"> Ils nous font confiance</h2>
|
||||
<!-- Slick Carousel -->
|
||||
<div class="js-slick-carousel u-slick" data-autoplay="true" data-speed="5000" data-infinite="true"
|
||||
data-slides-show="5">
|
||||
<div class="js-slide">
|
||||
<img src="{{ asset('v2/logos/Albea-logo.png') }}" alt="Image Description">
|
||||
</div>
|
||||
<div class="js-slide">
|
||||
<img src="{{ asset('v2/logos/Bouyer-leroux-logo.png') }}" alt="Image Description">
|
||||
</div>
|
||||
<div class="js-slide">
|
||||
<img src="{{ asset('v2/logos/Eiffage-logo.png') }}" alt="Image Description">
|
||||
</div>
|
||||
<div class="js-slide">
|
||||
<img src="{{ asset('v2/logos/groupe-mousset-logo.png') }}" alt="Image Description">
|
||||
</div>
|
||||
<div class="js-slide">
|
||||
<img src="{{ asset('v2/logos/Groupe-rocher-logo.png') }}" alt="Image Description">
|
||||
</div>
|
||||
<div class="js-slide">
|
||||
<img src="{{ asset('v2/logos/intermarche.png') }}" alt="Image Description">
|
||||
</div>
|
||||
<div class="js-slide">
|
||||
<img src="{{ asset('v2/logos/Mazars-logo.png') }}" alt="Image Description">
|
||||
</div>
|
||||
<div class="js-slide">
|
||||
<img src="{{ asset('v2/logos/Mma-logo.png') }}" alt="Image Description">
|
||||
</div>
|
||||
<div class="js-slide">
|
||||
<img src="{{ asset('v2/logos/Square-habitat-logo.png') }}" alt="Image Description">
|
||||
<h2 class="h3">Ils ont trouvé leurs candidats avec Talents Tube</h2>
|
||||
</div>
|
||||
|
||||
<div class="col-md-6 col-lg-5 order-md-2 mb-7 mb-md-0">
|
||||
<!-- Review -->
|
||||
<div class="media">
|
||||
<div class="media-body">
|
||||
<h4 class="h6 mb-0">Delphine F.</h4>
|
||||
<p class="text-muted">"Je n'avais pratiquement plus de CV. Talents Tube est devenu l'outil de recrutement qui génère le plus de candidatures"</p>
|
||||
</div>
|
||||
</div>
|
||||
<!-- End Slick Carousel -->
|
||||
<!-- End Review -->
|
||||
<!-- Review -->
|
||||
<div class="media">
|
||||
<div class="media-body">
|
||||
<h4 class="h6 mb-0">Emmanuelle G</h4>
|
||||
<p class="text-muted">"Nous n'avions plus de CV papier et grâce à Talents Tube, nous avons recruté de nouveaux collaborateurs en préparation de commandes"</p>
|
||||
</div>
|
||||
</div>
|
||||
<!-- End Review -->
|
||||
<!-- Review -->
|
||||
<div class="media">
|
||||
<div class="media-body">
|
||||
<h4 class="h6 mb-0">Adrien</h4>
|
||||
<p class="text-muted">"Nous avons recruté grâce à la vidéo ! On a des personnes qui ont postulé et qui n'auraient pas postulé sans la vidéo."</p>
|
||||
</div>
|
||||
</div>
|
||||
<!-- End Review -->
|
||||
</div>
|
||||
|
||||
<div class="col-md-6 order-md-1">
|
||||
<div id="youTubeVideoPlayer" class="u-video-player mb-7">
|
||||
<!-- Cover Image -->
|
||||
<img class="img-fluid u-video-player__preview" src="/v2/png/recrutement-video-temoignage.jpg" alt="Image">
|
||||
<!-- End Cover Image -->
|
||||
|
||||
<!-- Play Button -->
|
||||
<a class="js-fancybox text-white u-video-player__btn u-video-player__centered" href="javascript:;"
|
||||
data-src="https://www.youtube.com/watch?v=sKh0u7Mbdps" data-speed="700" data-animate-in="zoomIn"
|
||||
data-animate-out="zoomOut" data-caption="Témoignage">
|
||||
<span class="u-video-player__icon">
|
||||
<i class="fa fa-play u-video-player__icon-inner"></i>
|
||||
</span>
|
||||
</a>
|
||||
<!-- End Play Button -->
|
||||
|
||||
<!-- Video Iframe -->
|
||||
<div class="embed-responsive embed-responsive-16by9">
|
||||
</div>
|
||||
<!-- End Video Iframe -->
|
||||
</div>
|
||||
<!-- End Video Block -->
|
||||
</div>
|
||||
</div>
|
||||
<!-- Ils nous font confiance FIN -->
|
||||
</div>
|
||||
</div>
|
||||
<!-- Ils nous font confiance FIN -->
|
||||
+87
@@ -0,0 +1,87 @@
|
||||
|
||||
|
||||
<!-- Difficultés DEBUT -->
|
||||
|
||||
<div class="container space-2 space-3--lg accueilFondBlanc">
|
||||
<!-- Title -->
|
||||
<div class="w-md-80 w-lg-60 text-center mx-md-auto mb-9">
|
||||
<h2 class="h3">Vos difficultés de recrutement freinent votre développement</h2>
|
||||
</div>
|
||||
<!-- End Title -->
|
||||
|
||||
<div class="row pb-3">
|
||||
<div class="col-sm-6 col-lg-4 mb-7">
|
||||
<!-- Icon Block -->
|
||||
<div class="media align-items-center pr-lg-4">
|
||||
<img class="max-width-9 mr-3" src="../v2/svg/components/recrutement-long-et-difficile.svg" alt="Image Description">
|
||||
<div class="media-body">
|
||||
<p class="mb-0">Recrutements longs et difficiles ?</p>
|
||||
</div>
|
||||
</div>
|
||||
<!-- End Icon Block -->
|
||||
</div>
|
||||
|
||||
<div class="col-sm-6 col-lg-4 mb-7">
|
||||
<!-- Icon Block -->
|
||||
<div class="media align-items-center pr-lg-4">
|
||||
<img class="max-width-9 mr-3" src="../v2/svg/components/metier-en-tension.svg" alt="Image Description">
|
||||
<div class="media-body">
|
||||
<p class="mb-0">Métier en tension, méconnu, dévalorisé ?</p>
|
||||
</div>
|
||||
</div>
|
||||
<!-- End Icon Block -->
|
||||
</div>
|
||||
|
||||
<div class="col-sm-6 col-lg-4 mb-7">
|
||||
<!-- Icon Block -->
|
||||
<div class="media align-items-center pr-lg-4">
|
||||
<img class="max-width-9 mr-3" src="../v2/svg/components/penurie-main-oeuvre.svg" alt="Image Description">
|
||||
<div class="media-body">
|
||||
<p class="mb-0">Développement menacé par une pénurie de main-d'œuvre ?</p>
|
||||
</div>
|
||||
</div>
|
||||
<!-- End Icon Block -->
|
||||
</div>
|
||||
|
||||
<div class="col-sm-6 col-lg-4 mb-7 mb-lg-0">
|
||||
<!-- Icon Block -->
|
||||
<div class="media align-items-center pr-lg-4">
|
||||
<img class="max-width-9 mr-3" src="../v2/svg/components/trop-candidats-non-cibles.svg" alt="Image Description">
|
||||
<div class="media-body">
|
||||
<p class="mb-0">Trop de candidats non ciblés ?</p>
|
||||
</div>
|
||||
</div>
|
||||
<!-- End Icon Block -->
|
||||
</div>
|
||||
|
||||
<div class="col-sm-6 col-lg-4 mb-7 mb-md-0">
|
||||
<!-- Icon Block -->
|
||||
<div class="media align-items-center pr-lg-4">
|
||||
<img class="max-width-9 mr-3" src="../v2/svg/components/talents-introuvables.svg" alt="Image Description">
|
||||
<div class="media-body">
|
||||
<p class="mb-0">Talents introuvables ?</p>
|
||||
</div>
|
||||
</div>
|
||||
<!-- End Icon Block -->
|
||||
</div>
|
||||
|
||||
<div class="col-sm-6 col-lg-4">
|
||||
<!-- Icon Block -->
|
||||
<div class="media align-items-center pr-lg-4">
|
||||
<img class="max-width-9 mr-3" src="../v2/svg/components/methode-de-recrutement-traditionnel.svg" alt="Image Description">
|
||||
<div class="media-body">
|
||||
<p class="mb-0">Méthodes de recrutement traditionnelles sans résultat ?</p>
|
||||
</div>
|
||||
</div>
|
||||
<!-- End Icon Block -->
|
||||
</div>
|
||||
</div>
|
||||
<div class="w-md-80 w-lg-60 text-center mx-md-auto mt-5">
|
||||
<h3 class="h4">Ne laissez plus votre développement dépendre de vos recrutements</h3>
|
||||
<p class="lead">Rencontrez vos futurs collaborateurs autrement !</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Mieux que du texte FIN -->
|
||||
+318
@@ -0,0 +1,318 @@
|
||||
<div class=" space-1-bottom accueilFondBlanc">
|
||||
<div class="container space-2 ">
|
||||
|
||||
<div class="row mx-gutters-2">
|
||||
<div class="col-md-6">
|
||||
<!-- Collapse -->
|
||||
<div id="faqAccordionOne">
|
||||
<div class="card mb-2">
|
||||
<div class="card-header card-collapse__header" id="faqAccordionOneHeadingOne">
|
||||
<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="#faqAccordionOneCollapseOne" aria-expanded="false"
|
||||
aria-controls="faqAccordionOneCollapseOne">
|
||||
Je n’arrive pas à recruter, en quoi la vidéo pourrait résoudre ma problématique ?
|
||||
<span class="card-collapse__btn-arrow">
|
||||
<i class="fa fa-arrow-down small"></i>
|
||||
</span>
|
||||
</button>
|
||||
</h5>
|
||||
</div>
|
||||
<div id="faqAccordionOneCollapseOne" class="collapse" aria-labelledby="faqAccordionOneHeadingOne"
|
||||
data-parent="#faqAccordionOne">
|
||||
<div class="card-body card-collapse__body">
|
||||
Pour recruter des talents dans vos métiers en tension et <strong>attirer l’attention</strong> sur votre
|
||||
marque employeur, la vidéo est votre meilleur allié ! Grâce à la vidéo, vous allez <strong>raconter
|
||||
votre
|
||||
histoire, transmettre des émotions</strong> afin de présenter votre entreprise de façon dynamique et
|
||||
authentique
|
||||
et dire aux candidats : “Venez vivre et travailler chez nous !”
|
||||
La vidéo permet de vous montrer <strong>plus humain</strong>, de renforcer la <strong>proximité</strong>
|
||||
entre votre marque employeur et
|
||||
les candidats. Vous <strong>valorisez vos collaborateurs, votre métier, votre culture d’entreprise,
|
||||
l’ambiance</strong>
|
||||
au sein de vos équipes et expliquez vos valeurs par des témoignages authentiques et <strong>bien plus
|
||||
impactants</strong>
|
||||
que les méthodes de recrutement traditionnelles.
|
||||
</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 c’est tout de suite, pas le temps de faire une vidéo en plus cela coûte trop 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">
|
||||
C’est pourtant une occasion unique de vous démarquer de vos concurrents et transmettre des valeurs de
|
||||
fraîcheur, de modernité et d’innovation : autant d’éléments que la nouvelle génération recherche chez
|
||||
son futur employeur et qui vont vous permettre de recruter efficacement.
|
||||
<h5>La vidéo est prête en seulement 3 jours !</h5>
|
||||
Prendre le virage de <strong>la vidéo est beaucoup plus facile aujourd’hui</strong>. Vous pouvez
|
||||
réaliser des vidéos de
|
||||
qualité en interne <strong>grâce à la caméra de votre smartphone</strong>. Vous définissez votre poste
|
||||
et vous sollicitez
|
||||
un ou deux collaborateurs qui vont vous aider ou témoigner. Le lendemain, vous organisez <strong>2
|
||||
heures de
|
||||
tournage</strong> puis vous faites le montage ou vous contactez Talents Tube pour le faire.
|
||||
<strong>48h plus tard, votre
|
||||
vidéo est prête à être diffusée</strong> sur Talents Tube et autres supports de communication. Et si
|
||||
vous avez
|
||||
besoin de conseils, Talents Tube est là pour vous accompagner dans cette transition.
|
||||
<h5>La vidéo coûte moins chère qu’un mauvais recrutement !</h5>
|
||||
La vidéo ne représente pas seulement un coût… c’est un investissement qui permet une toute nouvelle
|
||||
attractivité de votre entreprise : fierté interne, fidélisation de vos collaborateurs, attractivité des
|
||||
candidats, valorisation de vos produits ou services…
|
||||
</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">
|
||||
Comment vais-je faire pour trier 100 vidéos de motivation en réponse à mon offre d’emploi ?
|
||||
<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">
|
||||
Ne comparez pas avec les CV papier ! La vidéo génère tant de transparence que les <strong>candidats ne
|
||||
pourront
|
||||
pas se tromper sur vos attentes</strong>. C’est surtout parce que vous avez bien défini votre offre
|
||||
d’emploi, que
|
||||
ceux qui postulent auront toutes les cartes pour vous dire : « c’est moi que vous recherchez ! ».
|
||||
Ainsi, <strong>vous recevrez moins de candidatures et beaucoup plus d’excellents candidats</strong>.
|
||||
Finalement, vous
|
||||
gagnerez du temps dans votre recrutement.
|
||||
Le plus de Talents Tube : vous conservez dans votre espace recruteur, les vidéos de motivation pour vous
|
||||
<strong>constituer votre vivier de candidats</strong>.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card mb-2 mb-md-0">
|
||||
<div class="card-header card-collapse__header" id="faqAccordionOneHeadingFour">
|
||||
<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="#faqAccordionOneCollapseFour" aria-expanded="false"
|
||||
aria-controls="faqAccordionOneCollapseFour">
|
||||
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="faqAccordionOneCollapseFour" class="collapse" aria-labelledby="faqAccordionOneHeadingFour"
|
||||
data-parent="#faqAccordionOne">
|
||||
<div class="card-body card-collapse__body">
|
||||
<strong>Nos collaborateurs accompagnent les candidats dans ce changement</strong> afin qu’ils puissent
|
||||
présenter en
|
||||
vidéo, leur personnalité, leur motivation et expliquer ce qu’ils ont trouvé d’excellent dans la vidéo
|
||||
d’offre d’emploi de votre entreprise, pour leur parcours professionnel. <strong>Il peut arriver que les
|
||||
candidats ne souhaitent pas se présenter en vidéo</strong> et nous ne les forçons pas. Sur Talents
|
||||
Tube, ils ont
|
||||
vos coordonnées. Après avoir visionné l’offre d’emploi vidéo, <strong>ils peuvent vous envoyer leur CV
|
||||
papier
|
||||
directement sur votre site internet</strong>.
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- End Collapse -->
|
||||
</div>
|
||||
|
||||
<div class="col-md-6">
|
||||
<!-- Collapse -->
|
||||
<div id="faqAccordionTwo">
|
||||
<div class="card mb-2">
|
||||
<div class="card-header card-collapse__header" id="faqAccordionTwoHeadingOne">
|
||||
<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="#faqAccordionTwoCollapseFive" aria-expanded="false"
|
||||
aria-controls="faqAccordionTwoCollapseFive">
|
||||
Quelle différence entre une vidéo « marque employeur », « métier » et « offre d’emploi » ?
|
||||
|
||||
<span class="card-collapse__btn-arrow">
|
||||
<i class="fa fa-arrow-down small"></i>
|
||||
</span>
|
||||
</button>
|
||||
</h5>
|
||||
</div>
|
||||
<div id="faqAccordionTwoCollapseFive" class="collapse" aria-labelledby="faqAccordionTwoHeadingOne"
|
||||
data-parent="#faqAccordionTwo">
|
||||
<div class="card-body card-collapse__body">
|
||||
<h5>La vidéo Marque employeur :</h5>
|
||||
Pour développer ou améliorer votre marque employeur, la vidéo révèle l’âme de votre entreprise. Elle
|
||||
permet de la rendre attractive, de fédérer vos équipes et de persuader les candidats que vous ciblez de
|
||||
venir travailler chez vous plutôt que chez votre concurrent ! La vidéo marque employeur présente votre
|
||||
culture d’entreprise, vos valeurs, vos objectifs, l’état d’esprit de vos collaborateurs, l’ambiance qui
|
||||
y règne afin de vous distinguer et d’attirer les meilleurs candidats.
|
||||
C’est un <strong>moyen efficace pour améliorer votre image</strong> de marque, votre e-réputation et
|
||||
fidéliser vos
|
||||
collaborateurs.
|
||||
<h5>La vidéo Métier :</h5>
|
||||
La vidéo permet de valoriser des métiers souvent méconnus du public ou qui souffrent d’une mauvaise
|
||||
image. Pour expliquer à quoi ressemble votre métier au quotidien et casser les a priori, il est
|
||||
préférable de le montrer, plutôt que de le décrire. Le collaborateur qui exerce le métier le raconte
|
||||
avec émotion à travers ses propres mots.
|
||||
L’objectif d’une vidéo métier est simple : <strong>faire connaître le métier, le montrer sous un autre
|
||||
angle</strong>,
|
||||
permettre aux personnes de se projeter, de s’identifier, susciter des vocations et préparer l’avenir.
|
||||
<h5>La vidéo d’offre d’emploi :</h5>
|
||||
Pour un candidat, l’<strong>offre d’emploi écrite est souvent difficile à lire et peu
|
||||
attractive</strong>. Rien ne
|
||||
différencie vraiment une offre d’une autre ! Il scanne rapidement le texte ce qui l'amène à postuler
|
||||
pour des offres sans être certain d’avoir les compétences ou à se décourager avant de candidater alors
|
||||
qu’il a le bon profil.
|
||||
L’offre d’emploi vidéo est captivante et rassure le candidat sur le poste à pourvoir, les compétences
|
||||
attendues et lui permet de <strong>mettre un visage sur ses futurs collègues</strong>, les personnes
|
||||
avec lesquelles il
|
||||
sera amené à travailler au quotidien. Grâce à la vidéo, il sait d’emblée si le feeling opère, avant même
|
||||
d’avoir postulé.
|
||||
Le témoignage d’un collaborateur donne du crédit à l’annonce vidéo sur le plan opérationnel et celle
|
||||
d’un RH est appréciée pour évoquer la rémunération et les avantages.
|
||||
En résumé, <strong>la vidéo d’offre d’emploi capte l’attention des candidats et les rassurent dans leur
|
||||
intention de postuler</strong>.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card mb-2">
|
||||
<div class="card-header card-collapse__header" id="faqAccordionTwoHeadingTwo">
|
||||
<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="#faqAccordionTwoCollapseSix" aria-expanded="false"
|
||||
aria-controls="faqAccordionTwoCollapseSix">
|
||||
Je publie déjà mes offres vidéo sur mon site internet, sur Youtube,… en quoi Talents Tube peut mieux
|
||||
faire ?
|
||||
<span class="card-collapse__btn-arrow">
|
||||
<i class="fa fa-arrow-down small"></i>
|
||||
</span>
|
||||
</button>
|
||||
</h5>
|
||||
</div>
|
||||
<div id="faqAccordionTwoCollapseSix" class="collapse" aria-labelledby="faqAccordionTwoHeadingTwo"
|
||||
data-parent="#faqAccordionTwo">
|
||||
<div class="card-body card-collapse__body">
|
||||
<h5>Talents Tube : votre outil de recrutement</h5>
|
||||
Talents Tube est un véritable outil de recrutement vidéo avec <strong>un seul objectif : vous aider à
|
||||
recruter </strong>!
|
||||
Les autres supports tels que Youtube, votre site internet… ne sont pas destinés uniquement à votre
|
||||
recrutement. Les personnes qui visitent talentstube.com viennent soit chercher du travail soit relayer
|
||||
les annonces d’emploi auprès de leur réseau qui pourrait être intéressé par votre offre.
|
||||
|
||||
<h5>Talents Tube : votre partenaire communication</h5>
|
||||
Pour réussir votre recrutement, vous devez communiquer ! Une vidéo n’est efficace que si elle est vue !
|
||||
<strong>Talents Tube s’occupe de votre visibilité par ses savoirs en communication</strong>. Nous
|
||||
utilisons de nombreux
|
||||
réseaux afin de <strong>promouvoir vos vidéos de recrutement</strong> (réseaux sociaux, YouTube, Indeed,
|
||||
dynamique
|
||||
territoire…).
|
||||
|
||||
<h5>Talents Tube : votre atout pour détecter les bons profils</h5>
|
||||
Vous vous êtes certainement déjà dit, au bout de 2 minutes d’entretien : “Ce n’est pas la bonne
|
||||
personne”. Et bien chez Talents Tube, <strong>vous recevez des vidéos de motivation</strong> qui
|
||||
s’adressent directement
|
||||
à vous. C’est unique, engageant et <strong>vous allez gagner du temps pour sélectionner les candidats
|
||||
mais
|
||||
également à l’entretien d’embauche </strong>car vous en savez déjà beaucoup plus. Vous allez pouvoir
|
||||
en toute
|
||||
simplicité <strong>évaluer votre retour sur investissement</strong> (ROI) de l’apport de votre offre
|
||||
d’emploi vidéo.
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card mb-2">
|
||||
<div class="card-header card-collapse__header" id="faqAccordionTwoHeadingThree">
|
||||
<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="#faqAccordionTwoCollapseSeven" aria-expanded="false"
|
||||
aria-controls="faqAccordionTwoCollapseSeven">
|
||||
Suis-je sûr d'avoir des candidatures vidéo ?
|
||||
<span class="card-collapse__btn-arrow">
|
||||
<i class="fa fa-arrow-down small"></i>
|
||||
</span>
|
||||
</button>
|
||||
</h5>
|
||||
</div>
|
||||
<div id="faqAccordionTwoCollapseSeven" class="collapse" aria-labelledby="faqAccordionTwoHeadingThree"
|
||||
data-parent="#faqAccordionTwo">
|
||||
<div class="card-body card-collapse__body">
|
||||
Nous ne sommes pas magiciens, <strong>il peut arriver que certaines entreprises ne reçoivent pas de
|
||||
candidatures
|
||||
vidéo</strong>. Toutefois, <strong>de nombreuses entreprises qui ne recevaient plus aucun CV papier,
|
||||
ont reçu des vidéos
|
||||
de motivation</strong> sur Talents Tube. Elles ont enfin pu recruter le talent qu’elles cherchaient
|
||||
depuis
|
||||
longtemps, grâce à Talents Tube.
|
||||
Si toutefois vous ne recevez pas de candidatures vidéo, pas de panique, <strong>Talents Tube étudiera
|
||||
précisément votre problématique</strong> et vous proposera des solutions adaptées notamment des
|
||||
actions de
|
||||
communication ciblées pour répondre à votre difficulté.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card">
|
||||
<div class="card-header card-collapse__header" id="faqAccordionTwoHeadingFour">
|
||||
<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="#faqAccordionTwoCollapseEight" aria-expanded="false"
|
||||
aria-controls="faqAccordionTwoCollapseEight">
|
||||
Est-ce que je peux modifier ou changer mes vidéos sur l'espace Talents Tube ?
|
||||
<span class="card-collapse__btn-arrow">
|
||||
<i class="fa fa-arrow-down small"></i>
|
||||
</span>
|
||||
</button>
|
||||
</h5>
|
||||
</div>
|
||||
<div id="faqAccordionTwoCollapseEight" class="collapse" aria-labelledby="faqAccordionTwoHeadingFour"
|
||||
data-parent="#faqAccordionTwo">
|
||||
<div class="card-body card-collapse__body">
|
||||
L'abonnement proposé par Talents Tube vous permet de <strong>diffuser plusieurs vidéos de recrutement en
|
||||
simultanée</strong>. Par exemple avec l'abonnement à 99€/mois pour la diffusion de 3 vidéos, vous avez la
|
||||
possibilité d'avoir plus de 3 vidéos sur Talents Tube mais vous ne pouvez avoir que 3 vidéos diffusées
|
||||
en même temps. <strong>Vous avez évidemment la possibilité de désactiver une annonce au profit d'une autre</strong>,
|
||||
toujours dans la limite de 3 vidéos en ligne. Si vous souhaitez diffuser plus de 3 vidéos, c’est
|
||||
possible. Vous passerez sur la formule d’abonnement à 199€/mois pour 9 vidéos diffusées.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- End Collapse -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
+74
@@ -0,0 +1,74 @@
|
||||
<!-- Ils nous font confiance DEBUT -->
|
||||
<div class="container accueilFondBlanc">
|
||||
<!-- Slick Carousel -->
|
||||
<div class="js-slick-carousel u-slick" data-autoplay="true" data-speed="5000" data-infinite="true"
|
||||
data-slides-show="5" data-responsive="[{
|
||||
"breakpoint": 1200,
|
||||
"settings": {
|
||||
"slidesToShow": 4
|
||||
}
|
||||
}, {
|
||||
"breakpoint": 992,
|
||||
"settings": {
|
||||
"slidesToShow": 4
|
||||
}
|
||||
}, {
|
||||
"breakpoint": 768,
|
||||
"settings": {
|
||||
"slidesToShow": 3
|
||||
}
|
||||
}, {
|
||||
"breakpoint": 576,
|
||||
"settings": {
|
||||
"slidesToShow": 3
|
||||
}
|
||||
}, {
|
||||
"breakpoint": 480,
|
||||
"settings": {
|
||||
"slidesToShow": 2
|
||||
}
|
||||
}]">
|
||||
<div class="js-slide slick-slide">
|
||||
<img src="{{ asset('v2/logos/recrutement-video-lactalis.jpg') }}" alt="Image Description">
|
||||
</div>
|
||||
<div class="js-slide slick-slide">
|
||||
<img src="{{ asset('v2/logos/recrutement-video-onela-service-a-domicile.jpg') }}" alt="Image Description">
|
||||
</div>
|
||||
<div class="js-slide slick-slide">
|
||||
<img src="{{ asset('v2/logos/recrutement-video-intermarche.jpg') }}" alt="Image Description">
|
||||
</div>
|
||||
<div class="js-slide slick-slide ">
|
||||
<img src="{{ asset('v2/logos/recrutement-video-eiffage.jpg') }}" alt="Image Description">
|
||||
</div>
|
||||
<div class="js-slide slick-slide">
|
||||
<img src="{{ asset('v2/logos/recrutement-video-mma-assurances.jpg') }}" alt="Image Description">
|
||||
</div>
|
||||
<div class="js-slide slick-slide">
|
||||
<img src="{{ asset('v2/logos/recrutement-video-admr.jpg') }}" alt="Image Description">
|
||||
</div>
|
||||
<div class="js-slide slick-slide ">
|
||||
<img src="{{ asset('v2/logos/recrutement-video-jpa.jpg') }}" alt="Image Description">
|
||||
</div>
|
||||
<div class="js-slide slick-slide">
|
||||
<img src="{{ asset('v2/logos/recrutement-video-groupe-mousset.jpg') }}" alt="Image Description">
|
||||
</div>
|
||||
<div class="js-slide slick-slide">
|
||||
<img src="{{ asset('v2/logos/recrutement-video-groupe-rocher.jpg') }}" alt="Image Description">
|
||||
</div>
|
||||
<div class="js-slide slick-slide">
|
||||
<img src="{{ asset('v2/logos/recrutement-video-aer-recyclage.jpg') }}" alt="Image Description">
|
||||
</div>
|
||||
<div class="js-slide slick-slide">
|
||||
<img src="{{ asset('v2/logos/recrutement-video-actual.jpg') }}" alt="Image Description">
|
||||
</div>
|
||||
<div class="js-slide slick-slide">
|
||||
<img src="{{ asset('v2/logos/recrutement-video-la-centrale-des-ramoneurs.jpg') }}" alt="Image Description">
|
||||
</div>
|
||||
<div class="js-slide slick-slide">
|
||||
<img src="{{ asset('v2/logos/recrutement-video-tpc-ouest-btp.jpg') }}" alt="Image Description">
|
||||
</div>
|
||||
</div>
|
||||
<!-- End Slick Carousel -->
|
||||
</div>
|
||||
</div>
|
||||
<!-- Ils nous font confiance FIN -->
|
||||
+60
@@ -0,0 +1,60 @@
|
||||
<!-- Ils nous font confiance DEBUT -->
|
||||
<div class="container accueilFondBlanc">
|
||||
<div class="row justify-content-center text-center">
|
||||
<div class="col-4 col-md-2 mb-8">
|
||||
<img class="u-clients" src="{{ asset('v2/logos/recrutement-video-intermarche.jpg') }}" alt="Offres d'emploi intermarché">
|
||||
</div>
|
||||
<div class="col-4 col-md-2 mb-8">
|
||||
<img class="u-clients" src="{{ asset('v2/logos/recrutement-video-lactalis.jpg') }}" alt="Offres d'emploi Lactalis">
|
||||
</div>
|
||||
<div class="col-4 col-md-2 mb-8">
|
||||
<img class="u-clients" src="{{ asset('v2/logos/recrutement-video-groupe-mousset.jpg') }}" alt="Offres d'emploi Groupe Mousset">
|
||||
</div>
|
||||
<div class="col-4 col-md-2 mb-8">
|
||||
<img class="u-clients" src="{{ asset('v2/logos/recrutement-video-admr.jpg') }}" alt="Offres d'emploi ADMR">
|
||||
</div>
|
||||
<div class="col-4 col-md-2 mb-8">
|
||||
<img class="u-clients" src="{{ asset('v2/logos/recrutement-video-tpc-ouest-btp.jpg') }}" alt="Offres d'emploi TPC Ouest">
|
||||
</div>
|
||||
<div class="col-4 col-md-2 mb-8">
|
||||
<img class="u-clients" src="{{ asset('v2/logos/recrutement-video-eiffage.jpg') }}" alt="Offres d'emploi Eiffage">
|
||||
</div>
|
||||
|
||||
<div class="col-4 col-md-2 mb-8">
|
||||
<img class="u-clients" src="{{ asset('v2/logos/recrutement-video-opticultures.jpg') }}" alt="Offres d'emploi Opticultures">
|
||||
</div>
|
||||
<div class="col-4 col-md-2 mb-8">
|
||||
<img class="u-clients" src="{{ asset('v2/logos/recrutement-video-mma-assurances.jpg') }}" alt="Offres d'emploi MMA assurances">
|
||||
</div>
|
||||
<div class="col-4 col-md-2 mb-8">
|
||||
<img class="u-clients" src="{{ asset('v2/logos/recrutement-video-actual.jpg') }}" alt="Offres d'emploi Actual">
|
||||
</div>
|
||||
<div class="col-4 col-md-2">
|
||||
<img class="u-clients" src="{{ asset('v2/logos/recrutement-video-jpa.jpg') }}" alt="Offres d'emploi JPA">
|
||||
</div>
|
||||
<div class="col-4 col-md-2 mb-8">
|
||||
<img class="u-clients" src="{{ asset('v2/logos/recrutement-video-groupe-rocher.jpg') }}" alt="Offres d'emploi Groupe Rocher">
|
||||
</div>
|
||||
<div class="col-4 col-md-2 mb-8">
|
||||
<img class="u-clients" src="{{ asset('v2/logos/recrutement-video-pro-fermetures.jpg') }}" alt="Offres d'emploi Pro Fermetures">
|
||||
</div>
|
||||
<div class="col-4 col-md-2 mb-8">
|
||||
<img class="u-clients" src="{{ asset('v2/logos/recrutement-video-top-selling.jpg') }}" alt="Offres d'emploi Top Selling">
|
||||
</div>
|
||||
<div class="col-4 col-md-2 mb-8 mb-md-0">
|
||||
<img class="u-clients" src="{{ asset('v2/logos/recrutement-video-medaviz.jpg') }}" alt="Offres d'emploi Medaviz">
|
||||
</div>
|
||||
<div class="col-4 col-md-2 mb-8 mb-md-0">
|
||||
<img class="u-clients" src="{{ asset('v2/logos/recrutement-video-faurecia.jpg') }}" alt="Offres d'emploi Faurecia">
|
||||
</div>
|
||||
<div class="col-4 col-md-2 mb-8 mb-md-0">
|
||||
<img class="u-clients" src="{{ asset('v2/logos/recrutement-video-francas.jpg') }}" alt="Offres d'emploi Les Francas">
|
||||
</div>
|
||||
<div class="col-4 col-md-2 mb-8 mb-md-0">
|
||||
<img class="u-clients" src="{{ asset('v2/logos/recrutement-video-nachos.jpg') }}" alt="Offres d'emploi Nachos">
|
||||
</div>
|
||||
</div>
|
||||
<p class="lead text-center"><strong>Ces secteurs qui recrutent déjà grâce à la vidéo :</strong><br>
|
||||
Logistique et Transport > Services à la personne > BTP > Agriculture > Administration > Industrie > Commerce > Informatique > Automobile > Animation > Hôtellerie Restauration</p>
|
||||
</div>
|
||||
<!-- Ils nous font confiance FIN -->
|
||||
Executable
+86
@@ -0,0 +1,86 @@
|
||||
<div class="space-1-bottom accueilFondNoir">
|
||||
<div class="container space-2">
|
||||
<div class="row justify-content-md-between align-items-md-center">
|
||||
<div class="w-md-80 w-lg-60 text-center mx-md-auto ">
|
||||
<h2 class="h3">Vos offres d’emploi méritent mieux que du texte</h2>
|
||||
<p class="lead">Avec Talents Tube, dévoilez vos métiers</p>
|
||||
</div>
|
||||
<div class="col-md-6 col-lg-5 mb-2 mb-md-0">
|
||||
<img class="img-fluid"
|
||||
src="{{ asset('v2/png/offre-emploi-en-video.jpg') }}" alt="Marque employeur vidéo">
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<h3 class="h5">Publiez une offre d’emploi vidéo :</h3>
|
||||
<div class="row mb-3">
|
||||
<div class="col-12">
|
||||
<!-- List -->
|
||||
<ul class="list-unstyled text-secondary">
|
||||
<li class="media align-items-center mb-2">
|
||||
<i class="fa fa-check text-primary mr-2"></i>
|
||||
<div class="media-body" >
|
||||
Une occasion en or de <strong>montrer votre entreprise</strong> dans sa vérité, au delà des mots et des descriptions convenues
|
||||
</div>
|
||||
</li>
|
||||
<li class="media align-items-center mb-2">
|
||||
<i class="fa fa-check text-primary mr-2"></i>
|
||||
<div class="media-body" >
|
||||
Pas besoin d’une super vidéo, réalisez une « vidéo offre d’emploi smartphone » pour donner du corps et <strong>du sens à votre futur candidat</strong>
|
||||
</div>
|
||||
</li>
|
||||
<li class="media align-items-center mb-2">
|
||||
<i class="fa fa-check text-primary mr-2"></i>
|
||||
<div class="media-body" >
|
||||
En bonus, montrez votre entreprise et votre équipe, affichez votre esprit d’entreprise dans une vidéo marque employeur dont votre <strong>équipe sera fière</strong>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
<!-- End List -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="space-1-bottom accueilFondBleute">
|
||||
<div class="container space-2">
|
||||
|
||||
<div class="w-md-80 w-lg-60 text-center mx-md-auto mb-2">
|
||||
<h2 class="h3">Donnez la parole à vos candidats</h2>
|
||||
<p class="lead">Avec Talents Tube, recevez des candidatures vidéo</p>
|
||||
</div>
|
||||
<div class="container pt-6">
|
||||
<div class="row">
|
||||
<div class="col-md-4 mb-7 mb-md-0">
|
||||
<!-- Icon Blocks -->
|
||||
<div class="text-center px-lg-4">
|
||||
<img class="max-width-14 mb-2" src="../v2/svg/components/personnalite-des-candidats.svg" alt="Découvrez la personnalité des candidats en vidéo">
|
||||
<h3 class="h5">Découvrez la personnalité des candidats</h3>
|
||||
<p>Au delà des compétences, décelez les soft skills de la personne qui se cache derrière le CV papier</p>
|
||||
</div>
|
||||
<!-- End Icon Blocks -->
|
||||
</div>
|
||||
|
||||
<div class="col-md-4 mb-7 mb-md-0">
|
||||
<!-- Icon Blocks -->
|
||||
<div class="text-center px-lg-4">
|
||||
<img class="max-width-14 mb-2" src="../v2/svg/components/gagnez-du-temps-preselection-candidats.svg" alt="Gagnez du temps dans votre pré-selection des candidats">
|
||||
<h3 class="h5">Gagnez du temps dans votre présélection</h3>
|
||||
<p>Améliorez votre processus de recrutement en rencontrant uniquement les candidats réellement impliqués</p>
|
||||
</div>
|
||||
<!-- End Icon Blocks -->
|
||||
</div>
|
||||
|
||||
<div class="col-md-4">
|
||||
<!-- Icon Blocks -->
|
||||
<div class="text-center px-lg-4">
|
||||
<img class="max-width-14 mb-2" src="../v2/svg/components/gestion-des-candidatures.svg" alt="Gérez vos candidatures vidéo">
|
||||
<h3 class="h5">Gérez vos candidatures depuis votre espace</h3>
|
||||
<p>Grâce à notre solution de recrutement, vous pouvez interagir avec les candidats directement sur Talents Tube</p>
|
||||
</div>
|
||||
<!-- End Icon Blocks -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
+26
@@ -0,0 +1,26 @@
|
||||
<!-- Notre mission DEBUT -->
|
||||
<div class="space-1-bottom accueilFondNoir">
|
||||
<div class="container space-2 ">
|
||||
<div class="row justify-content-lg-end">
|
||||
<div class="col-lg-6 order-md-2 mb-md-0">
|
||||
<!-- Title -->
|
||||
<div class="">
|
||||
<h2 class="h3"> Notre mission : Remettre l’humain au cœur des recrutements</h2>
|
||||
<p> Chez Talents Tube, nous pensons que la technologie ne doit pas remplacer l’humain mais être à son service.
|
||||
C’est pour cette raison que nous proposons un outil de recrutement vidéo alliant digital et humain, afin de
|
||||
<strong>redonner la parole aux candidats et aux entreprises</strong>. Talents Tube est aujourd’hui la seule plateforme de
|
||||
recrutement qui permet aux entreprises de <strong>publier des offres d’emploi en vidéo et de recevoir des
|
||||
candidatures en vidéo</strong>.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-6 order-md-1 pb-5">
|
||||
<div class="pr-lg-4">
|
||||
<a href="candidatures-video"><img class="img-fluid" src="{{ asset('v2/png/candidature-en-video.png') }}"
|
||||
alt="Candidature en vidéo"></a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Notre mission FIN -->
|
||||
+62
@@ -0,0 +1,62 @@
|
||||
<!-- Accueil Photo Haut Section -->
|
||||
|
||||
<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-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">
|
||||
<!-- Title -->
|
||||
<h1 class="display-4 font-size-48--md-down mb-0 h1" style="color:#25D89A">Adoptez le recrutement vidéo <span class="text-white">pour enfin trouver les talents que vous attendiez</span></h1>
|
||||
|
||||
<p class="d-block text-white text-uppercase mb-2">{{textVideo}}</p>
|
||||
<!-- End Title -->
|
||||
</div>
|
||||
<div class="col-lg-5">
|
||||
<!-- Signup Form -->
|
||||
<div class="bg-white shadow-sm rounded p-6">
|
||||
<form class="js-validate" id="formDemandeDiag1">
|
||||
<div class="">
|
||||
<p class="h4 text-center">Faites le point sur <br>vos enjeux de recrutement</p>
|
||||
<p class="text-center">Diagnostic gratuit de 15 minutes</p>
|
||||
<!--<p>Faites le point sur vos enjeux de recrutement, identifier ce que Talents Tube peut résoudre et prendre connaissance de l’offre la plus appropriée pour votre entreprise.</p>-->
|
||||
</div>
|
||||
<!-- Input -->
|
||||
<div class="js-form-message mb-3">
|
||||
<div class="js-focus-state input-group input-group form">
|
||||
<input type="text" class="form-control form__input" name="nomPrenomForm1" id="nomPrenomForm1" required placeholder="Nom Prénom" aria-label="name">
|
||||
</div>
|
||||
</div>
|
||||
<!-- End Input -->
|
||||
<!-- Input -->
|
||||
<div class="js-form-message mb-3">
|
||||
<div class="js-focus-state input-group input-group form">
|
||||
<input type="text" class="form-control form__input" name="nomEntrepriseForm1" id="nomEntrepriseForm1" required placeholder="Nom de l'entreprise" aria-label="entreprise">
|
||||
</div>
|
||||
</div>
|
||||
<!-- End Input -->
|
||||
<!-- Input -->
|
||||
<div class="js-form-message mb-3">
|
||||
<div class="js-focus-state input-group input-group form">
|
||||
<input type="email" class="form-control form__input" name="emailForm1" id="emailForm1" required placeholder="E-mail" aria-label="email">
|
||||
</div>
|
||||
</div>
|
||||
<!-- End Input -->
|
||||
<!-- Input -->
|
||||
|
||||
<div class="js-form-message mb-3">
|
||||
<div class="js-focus-state input-group input-group form">
|
||||
<input type="text" class="form-control form__input" name="telForm1" id="telForm1" placeholder="Numéro de téléphone" aria-label="phone">
|
||||
</div>
|
||||
</div>
|
||||
<p class="text-primary" id="messageValideDemandeDiag1"></p>
|
||||
<!-- End Input -->
|
||||
<a href="#" onClick="demanderDiag('formDemandeDiag1')" class="btn btn-sm btn-primary btn-wide center">Demander mon diagnostic</a>
|
||||
</form>
|
||||
</div>
|
||||
<!-- End Signup Form -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
Executable
+20
@@ -0,0 +1,20 @@
|
||||
<!-- Accueil Photo Haut Section -->
|
||||
<div class="bg-img-hero-center" style="background-image: url({{ asset(urlImage)}} ">
|
||||
<div class="container space-2 space-5-top--lg space-4-bottom--lg">
|
||||
<div class="w-md-75">
|
||||
<!-- Title -->
|
||||
<div class="mb-7">
|
||||
{# <span class="d-block text-white text-uppercase mb-2">Talents tube</span> #}
|
||||
<h1 class="display-4 font-size-48--md-down text-white mb-4">
|
||||
<strong class="">{{textParDefaut}}</strong>
|
||||
<br>{{textVideo}}
|
||||
</h1>
|
||||
|
||||
</div>
|
||||
<!-- End Title -->
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<!-- End Accueil Photo Haut Section -->
|
||||
+85
@@ -0,0 +1,85 @@
|
||||
<!-- Pourquoi nous DEBUT -->
|
||||
<div class=" space-1-bottom accueilFondBlanc">
|
||||
<div class="container space-2 ">
|
||||
<div class="row row justify-content-lg-end ">
|
||||
<div class="col-lg-6 order-md-1 pb-5">
|
||||
<!-- Title <div class="col-md-6 order-md-2 mb-5 mb-md-0">-->
|
||||
<div class="mr-5">
|
||||
<h2 class="h3"> Pourquoi nous ?</h2>
|
||||
<h3 class="h4">Parce que nous sommes les seuls à le faire !</h3>
|
||||
<p> Notre équipe est composée d’experts métier qui sauront vous accompagner dans toutes vos demandes. En
|
||||
recherche d’<strong>évolution constante</strong>, nous avons à cœur de créer une relation de proximité afin
|
||||
d’<strong>adapter notre solution à vos besoins</strong> et ainsi créer une <strong>expérience utilisateur
|
||||
inoubliable</strong>.
|
||||
Composée d’experts de la fonction RH & Recrutement, nous sommes passionnés par ce que nous faisons.
|
||||
<br><strong>Notre seul objectif : favoriser la rencontre d’entreprises formidables et de candidats uniques
|
||||
pour une performance commune.</strong></p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-6 order-md-2">
|
||||
<!-- Cubeportfolio -->
|
||||
<div class="cbp cbp-caption-active cbp-caption-overlayBottomAlong cbp-ready" data-layout="mosaic"
|
||||
data-animation="quicksand" data-x-gap="15" data-y-gap="15" data-load-more-selector="#cubeLoadMore"
|
||||
data-load-more-action="auto" data-load-items-amount="4" data-media-queries="[
|
||||
{"width": 1500, "cols": 4},
|
||||
{"width": 1100, "cols": 4},
|
||||
{"width": 800, "cols": 3},
|
||||
{"width": 480, "cols": 2},
|
||||
{"width": 400, "cols": 2}
|
||||
]" style="height: 420px;">
|
||||
<div class="cbp-wrapper-outer">
|
||||
<div class="cbp-wrapper">
|
||||
<!-- Item -->
|
||||
<div class="cbp-item" style="width: 220px; left: 0px; top: 0px;">
|
||||
<div class="cbp-item-wrapper">
|
||||
<div class="cbp-caption">
|
||||
<img src="{{ asset('v2/img/380x227/talentstube-recrutement-video-equipe.jpg') }}" alt="Image Description">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- End Item -->
|
||||
|
||||
<!-- Item -->
|
||||
<div class="cbp-item" style="width: 220px; left: 235px; top: 0px;">
|
||||
<div class="cbp-item-wrapper">
|
||||
<div class="cbp-caption">
|
||||
<img src="{{ asset('v2/img/380x360/recrutement-video-franck-delalande.jpg') }}" alt="Image Description">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- End Item -->
|
||||
|
||||
<!-- Item -->
|
||||
<div class="cbp-item" style="width: 220px; left: 0px; top: 146px;">
|
||||
<div class="cbp-item-wrapper">
|
||||
<div class="cbp-caption">
|
||||
<img src="{{ asset('v2/img/380x360/plateforme-recrutement-video-morbihan.jpg') }}" alt="Image Description">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- End Item -->
|
||||
|
||||
<!-- Item -->
|
||||
<div class="cbp-item" style="width: 220px; left: 235px; top: 223px;">
|
||||
<div class="cbp-item-wrapper">
|
||||
<div class="cbp-caption">
|
||||
<img src="{{ asset('v2/img/380x227/recrutement-video-equipe.jpg') }}" alt="Image Description">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- End Item -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- End Cubeportfolio -->
|
||||
</div>
|
||||
<!--<div class="col-md-6 align-right paddintRight">
|
||||
<div class="mb-6">
|
||||
<a href="{{ url_plateforme }}"><img class="img-fluid" src="{{ asset('v2/png/plateforme-de-recrutement-en-video.png') }}"
|
||||
alt="Recrutement video"></a>
|
||||
</div>
|
||||
</div>-->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Pourquoi nous FIN -->
|
||||
+44
@@ -0,0 +1,44 @@
|
||||
<div class="accueilFondNoir">
|
||||
<div class="container space-2">
|
||||
<div class="card-deck d-block d-lg-flex card-lg-gutters-2">
|
||||
<div class="card border-0 mb-3">
|
||||
<!-- Works -->
|
||||
<div class="card-body border border-bottom-0 rounded-top text-center p-5">
|
||||
<h4 class="h5 mb-1">Vous avez déjà des vidéos ou un prestataire vidéo ?</h4>
|
||||
<p class="mb-0">Vous pouvez les publier directement sur Talents Tube ! Profitez de vos supports pour les faire rayonner largement, vers vos futurs candidats</p>
|
||||
</div>
|
||||
|
||||
<div class="card-footer text-center border rounded-bottom p-5">
|
||||
<a class="btn btn-sm btn-primary btn-wide" href="https://recruteur.talentstube.com/register/">Inscription</a>
|
||||
</div>
|
||||
<!-- End Works -->
|
||||
</div>
|
||||
|
||||
<div class="card border-0 mb-3">
|
||||
<!-- Works -->
|
||||
<div class="card-body border border-bottom-0 rounded-top text-center p-5">
|
||||
<h4 class="h5 mb-1">Vous voulez réaliser des vidéos vous-même ?</h4>
|
||||
<p class="mb-0">Créez des vidéos d’offres d’emploi simplement grâce à nos conseils</p>
|
||||
</div>
|
||||
<div class="card-footer text-center border rounded-bottom p-5">
|
||||
<a class="btn btn-sm btn-primary btn-wide" href="https://recruteur.talentstube.com/offre-emploi-originale">En savoir plus</a>
|
||||
</div>
|
||||
<!-- End Works -->
|
||||
</div>
|
||||
|
||||
<div class="card border-0 mb-3">
|
||||
<!-- Works -->
|
||||
<div class="card-body border border-bottom-0 rounded-top text-center p-5">
|
||||
<h4 class="h5 mb-1">Vous cherchez un prestataire pour produire vos vidéos RH ?</h4>
|
||||
<p class="mb-0">Contactez-nous, nous saurons vous mettre en relation avec des prestataires qualifiés et expérimentés.</p>
|
||||
</div>
|
||||
|
||||
<div class="card-footer text-center border rounded-bottom p-5">
|
||||
<a class="btn btn-sm btn-primary btn-wide" href="https://blog.talentstube.com/contact/">Contactez-nous</a>
|
||||
</div>
|
||||
<!-- End Works -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
+59
@@ -0,0 +1,59 @@
|
||||
<div class="accueilFondBleute">
|
||||
<div class="container">
|
||||
<div class="w-md-80 w-lg-60 text-center mx-md-auto ">
|
||||
<h2 class="h3">Grâce au recrutement vidéo, <br>vous allez enfin trouver les talents<br> au service de vos
|
||||
ambitions !</h2>
|
||||
<p class="lead"></p>
|
||||
</div>
|
||||
<div class="row justify-content-md-between align-items-md-center">
|
||||
<div class="col-lg-6 order-md-1">
|
||||
<img class="img-fluid" src="{{ asset('v2/png/trouver-les-candidats-avec-offre-emploi-video.jpg') }}" alt="Marque employeur vidéo">
|
||||
</div>
|
||||
<div class="col-lg-6 order-md-2">
|
||||
<h3 class="h5"></h3>
|
||||
<div class="row mb-3">
|
||||
<div class="col-12">
|
||||
<!-- List -->
|
||||
<ul class="list-unstyled text-secondary">
|
||||
<li class="media align-items-center mb-2">
|
||||
<i class="fa fa-check text-primary mr-2"></i>
|
||||
<div class="media-body">
|
||||
Vos <strong>offres d'emploi en vidéo seront mieux expliquées</strong> aux candidats, portées par des vrais visages de
|
||||
l'entreprise.
|
||||
</div>
|
||||
</li>
|
||||
<li class="media align-items-center mb-2">
|
||||
<i class="fa fa-check text-primary mr-2"></i>
|
||||
<div class="media-body">
|
||||
Vos <strong>métiers seront enfin valorisés</strong>, dévoilés au grand jour pour briser tous les clichés.
|
||||
</div>
|
||||
</li>
|
||||
<li class="media align-items-center mb-2">
|
||||
<i class="fa fa-check text-primary mr-2"></i>
|
||||
<div class="media-body">
|
||||
Vous donnerez <strong>davantage d'informations aux candidats</strong> pour qu'ils puissent se projeter dans votre
|
||||
entreprise.
|
||||
</div>
|
||||
</li>
|
||||
<li class="media align-items-center mb-2">
|
||||
<i class="fa fa-check text-primary mr-2"></i>
|
||||
<div class="media-body">
|
||||
Vos candidats seront <strong>plus impliqués dans leur candidature</strong> et dévoileront leur savoir-être.
|
||||
</div>
|
||||
</li>
|
||||
<li class="media align-items-center mb-2">
|
||||
<i class="fa fa-check text-primary mr-2"></i>
|
||||
<div class="media-body">
|
||||
Vous <strong>gagnerez du temps dans vos recrutements</strong> : les candidats que vous rencontrez vous auront déjà
|
||||
convaincu en vidéo.
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
<!-- End List -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
+128
@@ -0,0 +1,128 @@
|
||||
<div class="accueilFondBleute">
|
||||
|
||||
<div class="container">
|
||||
<div class="w-md-80 w-lg-60 text-center mx-md-auto">
|
||||
<h2 class="h3">Adoptez dès maintenant le recrutement vidéo</h2>
|
||||
<p class="lead">Plus personnel, plus impliquant et plus authentique</p>
|
||||
</div>
|
||||
<div class="bg-white shadow-lg rounded card-body p-5">
|
||||
<h5 class="text-center">Offre : abonnement mensuel sans engagement, comprenant :</h5>
|
||||
<ul>
|
||||
<li> Administration autonome de votre espace recruteur (page entreprise, publication et renouvellement des
|
||||
vidéos, statistiques,…)</li>
|
||||
<li>Visibilité de vos vidéos sur le site Talents Tube pour attirer vos futurs candidats</li>
|
||||
<li>Boost visibilité de vos vidéos sur les réseaux Talents Tube (YouTube, Facebook, Linkedin, Newsletter...)
|
||||
</li>
|
||||
<li>Réception de candidatures vidéo et gestion en ligne</li>
|
||||
</ul>
|
||||
<!-- Individual -->
|
||||
<div id="pricingIndividual" data-target-group="idPricing">
|
||||
<div class="js-slick-carousel u-slick u-slick--gutters" data-slides-show="4" data-slides-scroll="1"
|
||||
data-pagi-classes="d-lg-none text-center u-slick__pagination mt-7 mb-0" data-responsive='[{
|
||||
"breakpoint": 1200,
|
||||
"settings": {
|
||||
"slidesToShow": 3
|
||||
}
|
||||
}, {
|
||||
"breakpoint": 992,
|
||||
"settings": {
|
||||
"slidesToShow": 2
|
||||
}
|
||||
}, {
|
||||
"breakpoint": 768,
|
||||
"settings": {
|
||||
"slidesToShow": 1
|
||||
}
|
||||
}, {
|
||||
"breakpoint": 554,
|
||||
"settings": {
|
||||
"slidesToShow": 1
|
||||
}
|
||||
}]'>
|
||||
|
||||
<div class="js-slide">
|
||||
<!-- Pricing -->
|
||||
<div class="card border-0">
|
||||
<!-- Header -->
|
||||
<header class="card-header text-center p-5">
|
||||
<h4 class="h4">Pack découverte<br>1 vidéo</h4>
|
||||
|
||||
<span class="d-block">
|
||||
<span class="display-4 text-dark">
|
||||
Gratuit
|
||||
</span>
|
||||
<span class="d-block text-secondary font-size-14">pendant 1 mois</span>
|
||||
</span>
|
||||
</header>
|
||||
<!-- End Header -->
|
||||
</div>
|
||||
<!-- End Pricing -->
|
||||
</div>
|
||||
<div class="js-slide">
|
||||
<!-- Pricing -->
|
||||
<div class="card border-0">
|
||||
<!-- Header -->
|
||||
<header class="card-header text-center p-5">
|
||||
<h4 class="h4">Pack 3 vidéos <br>renouvelables</h4>
|
||||
|
||||
<span class="d-block">
|
||||
<span class="display-4 text-dark">
|
||||
99€
|
||||
</span>
|
||||
<span class="d-block text-secondary font-size-14">par mois HT</span>
|
||||
</span>
|
||||
</header>
|
||||
<!-- End Header -->
|
||||
</div>
|
||||
<!-- End Pricing -->
|
||||
</div>
|
||||
|
||||
|
||||
<div class="js-slide">
|
||||
<!-- Pricing -->
|
||||
<div class="card border-0">
|
||||
<!-- Header -->
|
||||
<header class="card-header text-center p-5">
|
||||
<h4 class="h4">Pack 10 vidéos <br>renouvelables</h4>
|
||||
|
||||
<span class="d-block">
|
||||
<span class="display-4 text-dark">
|
||||
199€
|
||||
</span>
|
||||
<span class="d-block text-secondary font-size-14">par mois HT</span>
|
||||
</span>
|
||||
</header>
|
||||
<!-- End Header -->
|
||||
</div>
|
||||
<!-- End Pricing -->
|
||||
</div>
|
||||
|
||||
<div class="js-slide">
|
||||
<!-- Pricing -->
|
||||
<div class="card border-0">
|
||||
<!-- Header -->
|
||||
<header class="card-header text-center p-5">
|
||||
<h4 class="h4">Pack PRO<br>Plus de 10 vidéos</h4>
|
||||
<span class="d-block">
|
||||
<span class="display-4 text-dark">
|
||||
<a class="btn btn-sm btn-primary" href="#signupModal" role="button"
|
||||
data-modal-target="#signupModal" data-overlay-color="#151b26">Connexion recruteurs</a>
|
||||
</span>
|
||||
<span class="d-block text-secondary font-size-14"> </span>
|
||||
</span>
|
||||
</header>
|
||||
<!-- End Header -->
|
||||
</div>
|
||||
<!-- End Pricing -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- End Individual -->
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<!-- End Pricing Section -->
|
||||
|
||||
|
||||
</div>
|
||||
Executable
+44
@@ -0,0 +1,44 @@
|
||||
<div class="col-md-6 order-md-1 space-2-top">
|
||||
<!-- Slick Carousel - Testimonials -->
|
||||
<div class="js-slick-carousel u-slick slick-initialized slick-slider slick-dotted" data-fade="true" data-autoplay="true" data-speed="7500" data-pagi-classes="u-slick__pagination justify-content-start mt-7">
|
||||
<div class="slick-list draggable"><div class="slick-track" style="opacity: 1; width: 1620px;"><div class="js-slide slick-slide" data-slick-index="0" aria-hidden="true" style="width: 540px; position: relative; left: 0px; top: 0px; z-index: 998; opacity: 0; height: auto; transition: opacity 500ms ease 0s;" tabindex="-1" role="tabpanel" id="slick-slide00" aria-describedby="slick-slide-control00">
|
||||
<!-- Testimonials -->
|
||||
<blockquote class="lead mb-5">"I love Space! I love the ease of use, I love the fact that I have total creative freedom. The template is really nice and offers quite a large set of options. It's beautiful and the coding is done quickly and seamlessly."</blockquote>
|
||||
<div class="media">
|
||||
<img class="u-avatar rounded-circle mr-3" src="../../assets/img/100x100/img1.jpg" alt="Image Description">
|
||||
<div class="media-body">
|
||||
<h3 class="h6 mb-0">Maria Muszynska</h3>
|
||||
<span class="text-secondary">Senior developer at <a href="#" tabindex="-1">Google</a></span>
|
||||
</div>
|
||||
</div>
|
||||
<!-- End Testimonials -->
|
||||
</div><div class="js-slide slick-slide" data-slick-index="1" aria-hidden="true" style="width: 540px; position: relative; left: -540px; top: 0px; z-index: 998; opacity: 0; height: auto; transition: opacity 500ms ease 0s;" tabindex="-1" role="tabpanel" id="slick-slide01" aria-describedby="slick-slide-control01">
|
||||
<!-- Testimonials -->
|
||||
<blockquote class="lead mb-5">"We are incredibly impressed with Space and how well it supports its customers with amazing products and services. One simple subscription gives you access to all our tools, plus so much more."</blockquote>
|
||||
<div class="media">
|
||||
<img class="u-avatar rounded-circle mr-3" src="../../assets/img/100x100/img4.jpg" alt="Image Description">
|
||||
<div class="media-body">
|
||||
<h3 class="h6 mb-0">Mark McManus</h3>
|
||||
<span class="text-secondary">Software engineer at <a href="#" tabindex="-1">Slack</a></span>
|
||||
</div>
|
||||
</div>
|
||||
<!-- End Testimonials -->
|
||||
</div><div class="js-slide slick-slide slick-current slick-active" data-slick-index="2" aria-hidden="false" style="width: 540px; position: relative; left: -1080px; top: 0px; z-index: 999; opacity: 1; height: auto;" tabindex="0" role="tabpanel" id="slick-slide02" aria-describedby="slick-slide-control02">
|
||||
<!-- Testimonials -->
|
||||
<blockquote class="lead mb-5">"One simple subscription gives you access to all our tools, plus so much more. Space brings so many benefits to any team that does anything following a process. It is the easiest way for teams to build cool things work—and get results."</blockquote>
|
||||
<div class="media">
|
||||
<img class="u-avatar rounded-circle mr-3" src="../../assets/img/100x100/img14.jpg" alt="Image Description">
|
||||
<div class="media-body">
|
||||
<h3 class="h6 mb-0">Ella Brown</h3>
|
||||
<span class="text-secondary">Head of IT department at <a href="#" tabindex="0">Apple</a></span>
|
||||
</div>
|
||||
</div>
|
||||
<!-- End Testimonials -->
|
||||
</div></div></div>
|
||||
|
||||
|
||||
|
||||
|
||||
<ul class="js-pagination u-slick__pagination justify-content-start mt-7" style="" role="tablist"><li class="" role="presentation"><span></span></li><li role="presentation" class=""><span></span></li><li role="presentation" class="slick-active slick-current"><span></span></li></ul></div>
|
||||
<!-- End Slick Carousel - Testimonials -->
|
||||
</div>
|
||||
@@ -2,46 +2,51 @@
|
||||
|
||||
{% block title %}Espace recruteur - Solution de recrutement en vidéo | Talents Tube{% endblock %}
|
||||
{% block meta %}
|
||||
<meta name="description" content="Vous souhaitez recruter en vidéo ? Talents Tube diffuse vos vidéos d’offres d’emploi et marque employeur pour attirer les meilleurs talents en vidéo.">
|
||||
|
||||
<meta name="twitter:card" content="summary">
|
||||
<meta name="twitter:site" content="@TalentsTube">
|
||||
<meta name="twitter:title" content="Espace recruteur - Solution de recrutement en vidéo | Talents Tube">
|
||||
<meta name="twitter:description" content="Vous souhaitez recruter en vidéo ? Talents Tube diffuse vos vidéos d’offres d’emploi et marque employeur pour attirer les meilleurs talents en vidéo.">
|
||||
<meta name="twitter:image" content="{{ absolute_url(asset('img/mail/logo-talents-tube.png')) }}">
|
||||
<meta name="description"
|
||||
content="Osez le recrutement vidéo ! Diffusez vos offres d'emploi vidéo et marque employeur pour attirer, trouver et recruter les meilleurs candidats en vidéo.">
|
||||
|
||||
<meta name="twitter:card" content="summary">
|
||||
<meta name="twitter:site" content="@TalentsTube">
|
||||
<meta name="twitter:title" content="Espace recruteur - Solution de recrutement en vidéo | Talents Tube">
|
||||
<meta name="twitter:description"
|
||||
content="Osez le recrutement vidéo ! Diffusez vos offres d'emploi vidéo et marque employeur pour attirer, trouver et recruter les meilleurs candidats en vidéo.">
|
||||
<meta name="twitter:image" content="{{ absolute_url(asset('img/mail/logo-talents-tube.png')) }}">
|
||||
|
||||
{#Open Graph data pour le partage sur les réseaux sociaux (ex Facebook..)#}
|
||||
<meta property="og:title" content="Espace recruteur - Adoptez le recrutement vidéo | Talents Tube" />
|
||||
<meta property="og:type" content="article" />
|
||||
<meta property="og:image" content="{{ absolute_url(asset('img/mail/logo-talents-tube.png')) }}" />
|
||||
<meta property="og:description"
|
||||
content="Osez le recrutement vidéo ! Diffusez vos offres d'emploi vidéo et marque employeur pour attirer, trouver et recruter les meilleurs candidats en vidéo." />
|
||||
<meta property="og:site_name" content="Talents Tube" />
|
||||
<meta property="og:url"
|
||||
content="{{ url(app.request.attributes.get('_route'), app.request.attributes.get('_route_params')) }}" />
|
||||
|
||||
{#Open Graph data pour le partage sur les réseaux sociaux (ex Facebook..)#}
|
||||
<meta property="og:title" content="Espace recruteur - Solution de recrutement en vidéo | Talents Tube" />
|
||||
<meta property="og:type" content="article" />
|
||||
<meta property="og:image" content="{{ absolute_url(asset('img/mail/logo-talents-tube.png')) }}" />
|
||||
<meta property="og:description" content="Vous souhaitez recruter en vidéo ? Talents Tube diffuse vos vidéos d’offres d’emploi et marque employeur pour attirer les meilleurs talents en vidéo." />
|
||||
<meta property="og:site_name" content="Talents Tube" />
|
||||
<meta property="og:url" content="{{ url(app.request.attributes.get('_route'), app.request.attributes.get('_route_params')) }}" />
|
||||
|
||||
{% endblock %}
|
||||
{% block content %}
|
||||
<main id="content">
|
||||
{% include 'defaultv2/accueil/blocPhoto.html.twig'
|
||||
{% include 'defaultv2/accueil/blocPhotoAccueil.html.twig'
|
||||
with {
|
||||
'urlImage': 'v2/img/1920x800/recrutement-video.jpg',
|
||||
'textParDefaut' : 'Recrutez les candidats',
|
||||
'textVideo' : 'avec la vidéo'
|
||||
'textVideo' : 'Talents Tube favorise la mise en relation de candidats et d\'entreprises en vidéo !'
|
||||
} %}
|
||||
|
||||
{% include 'defaultv2/accueil/blocDegrade.html.twig' %}
|
||||
|
||||
{% include 'defaultv2/accueil/blocPlateforme.html.twig' %}
|
||||
|
||||
{% include 'defaultv2/accueil/blocCandidat.html.twig' %}
|
||||
|
||||
{% include 'defaultv2/accueil/blocRecrutez.html.twig' %}
|
||||
|
||||
{% include 'defaultv2/accueil/blocEmployeur.html.twig' %}
|
||||
<!--{ include 'defaultv2/accueil/blocDegrade.html.twig' }-->
|
||||
|
||||
{% include 'defaultv2/accueil/blocTemoignages.html.twig' %}
|
||||
|
||||
|
||||
{% include 'defaultv2/accueil/blocDifficultes.html.twig' %}
|
||||
{% include 'defaultv2/accueil/blocMieuxQueDuTexte.html.twig' %}
|
||||
{% include 'defaultv2/accueil/blocConfiance.html.twig' %}
|
||||
|
||||
{% 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/blocTarifs.html.twig' %}
|
||||
{% include 'defaultv2/accueil/blocRealisation.html.twig' %}
|
||||
{% include 'defaultv2/accueil/blocPourquoiNous.html.twig' %}
|
||||
|
||||
{% include 'defaultv2/accueil/blocAction.html.twig' %}
|
||||
|
||||
|
||||
</main>
|
||||
<!-- ========== END MAIN CONTENT ========== -->
|
||||
|
||||
@@ -95,15 +100,9 @@ with {
|
||||
<script src="{{ asset('v2/js/components/hs.g-map.js') }}"></script>
|
||||
<script src="{{ asset('v2/js/components/hs.go-to.js') }}"></script>
|
||||
|
||||
|
||||
|
||||
<!-- JS Plugins Init. -->
|
||||
<script>
|
||||
// initialization of google map
|
||||
{# function initMap() {
|
||||
$.HSCore.components.HSGMap.init('.js-g-map');
|
||||
} #}
|
||||
|
||||
$(window).on('load', function () {
|
||||
// initialization of HSMegaMenu component
|
||||
$('.js-mega-menu').HSMegaMenu({
|
||||
@@ -172,15 +171,16 @@ with {
|
||||
// initialization of go to
|
||||
$.HSCore.components.HSGoTo.init('.js-go-to');
|
||||
|
||||
|
||||
|
||||
});
|
||||
|
||||
|
||||
$(document).ready(function () {
|
||||
$(window).scroll(function () { // check if scroll event happened
|
||||
if ($(document).scrollTop() > 50) { // check if user scrolled more than 50 from top of the browser window
|
||||
$("#logoAndNav").css("background-color","#000"); // if yes, then change the color of class "navbar-fixed-top" to white (#f8f8f8)
|
||||
$("#sidebarNavToggler").css("color","#fff");
|
||||
$("#logoAndNav").css("background-color",
|
||||
"transparent"); // if yes, then change the color of class "navbar-fixed-top" to white (#f8f8f8)
|
||||
$("#sidebarNavToggler").css("color", "#fff");
|
||||
} else {
|
||||
$("#logoAndNav").css("background-color", "transparent"); // if not, change it back to transparent
|
||||
$("#sidebarNavToggler").css("color", "#000");
|
||||
@@ -193,5 +193,53 @@ with {
|
||||
|
||||
{% block javascripts %}
|
||||
{{ parent() }}
|
||||
<script src="https://player.vimeo.com/api/player.js"></script>
|
||||
<script>
|
||||
|
||||
function demanderDiag(formulaire){
|
||||
if(formulaire=="formDemandeDiag1"){
|
||||
nomprenom = $("#nomPrenomForm1").val();
|
||||
nomEntreprise = $("#nomEntrepriseForm1").val();
|
||||
email = $("#emailForm1").val();
|
||||
tel = $("#telForm1").val();
|
||||
champMessage="messageValideDemandeDiag1";
|
||||
}else if(formulaire=="formDemandeDiag2"){
|
||||
nomprenom = $("#nomPrenomForm2").val();
|
||||
nomEntreprise = $("#nomEntrepriseForm2").val();
|
||||
email = $("#emailForm2").val();
|
||||
tel = $("#telForm2").val();
|
||||
champMessage="messageValideDemandeDiag2";
|
||||
}
|
||||
if(nomprenom && nomEntreprise && email){
|
||||
$.ajax({
|
||||
//L'URL de la requête
|
||||
|
||||
url: "/app_dev.php/api/demanderDiagnostic?nomPrenom=" + nomprenom + "&email=" +
|
||||
email + "&nomEntreprise=" + nomEntreprise + "&telephone=" + tel + "&page=Demande de diagnostic",
|
||||
method: "GET",
|
||||
//La méthode d'envoi (type de requête)
|
||||
//Le format de réponse attendu
|
||||
dataType: "json",
|
||||
})
|
||||
//Ce code sera exécuté en cas de succès - La réponse du serveur est passée à done()
|
||||
/*On peut par exemple convertir cette réponse en chaine JSON et insérer
|
||||
* cette chaine dans un div id="res"*/
|
||||
.done(function (response) {
|
||||
console.log("Requête demande diagnostic done");
|
||||
$("#"+champMessage).text("Votre demande a bien été transmise à Talents Tube");
|
||||
})
|
||||
|
||||
//Ce code sera exécuté en cas d'échec - L'erreur est passée à fail()
|
||||
//On peut afficher les informations relatives à la requête et à l'erreur
|
||||
.fail(function (error) {
|
||||
console.log("Requête demande diag fail");
|
||||
console.log(error);
|
||||
})
|
||||
|
||||
//Ce code sera exécuté que la requête soit un succès ou un échec
|
||||
.always(function () {
|
||||
console.log("Requête demande diag effectuée");
|
||||
});
|
||||
}
|
||||
}
|
||||
</script>
|
||||
{% endblock %}
|
||||
+2
-2
@@ -1,12 +1,12 @@
|
||||
<!-- Plateforme DEBUT -->
|
||||
<div class=" accueilFondBlanc">
|
||||
<div class="">
|
||||
<div class=" ">
|
||||
<!-- Video Section -->
|
||||
<div class="">
|
||||
|
||||
|
||||
<div class="gradient-overlay-half-dark-v1 bg-img-hero"
|
||||
style="background-image: url({{ asset('v2/img/1920x800/tutoriel-video-de-motivation-cv-video.jpg')}});">
|
||||
style="background-image: url({{ asset('v2/img/1920x800/tutoriel-video-de-motivation-cv-video.jpg') }});">
|
||||
<div class="d-lg-flex align-items-lg-center flex-lg-column">
|
||||
<div class="container space-3 space-4-top--lg">
|
||||
<!-- Title -->
|
||||
|
||||
Regular → Executable
+1
-1
@@ -10,7 +10,7 @@
|
||||
<div class=" text-center space-3-bottom">
|
||||
<a class="btn btn-sm btn-contact" href="https://blog.talentstube.com/contact" target="_blank" role="button" >
|
||||
<i class="fa fa-user-circle mr-1"></i>
|
||||
Contactez nous
|
||||
Contactez-nous
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
|
||||
{% block content %}
|
||||
<main id="content">
|
||||
{% include 'defaultv2/accueil/blocPhoto.html.twig'
|
||||
{% include 'defaultv2/accueil/blocPhotoPagesHeader.html.twig'
|
||||
with {
|
||||
'urlImage': 'v2/img/1920x800/candidature-offre-emploi-video.jpg',
|
||||
'textParDefaut' : 'Recevez des candidatures',
|
||||
@@ -182,7 +182,7 @@ with {
|
||||
$(document).ready(function () {
|
||||
$(window).scroll(function () { // check if scroll event happened
|
||||
if ($(document).scrollTop() > 50) { // check if user scrolled more than 50 from top of the browser window
|
||||
$("#logoAndNav").css("background-color","#000"); // if yes, then change the color of class "navbar-fixed-top" to white (#f8f8f8)
|
||||
$("#logoAndNav").css("background-color","transparent"); // if yes, then change the color of class "navbar-fixed-top" to white (#f8f8f8)
|
||||
$("#sidebarNavToggler").css("color","#fff");
|
||||
} else {
|
||||
$("#logoAndNav").css("background-color", "transparent"); // if not, change it back to transparent
|
||||
|
||||
+31
@@ -0,0 +1,31 @@
|
||||
<!-- Candidat DEBUT -->
|
||||
<div class="space-1-bottom accueilFondNoir">
|
||||
<div class="container space-2 ">
|
||||
<div class="row justify-content-lg-end">
|
||||
<div class="col-lg-6 order-1 pb-5">
|
||||
<!-- Title -->
|
||||
<div class="">
|
||||
<h2 class="h3"> Recevez les candidatures en vidéo</h2>
|
||||
<p class=""> Depuis leur webcam, smartphone ou tablette, les candidats postulent aux vidéos de votre entreprise, en
|
||||
toute confidentialité, grâce à notre outil d’enregistrement vidéo simple, rapide et gratuit.
|
||||
|
||||
Vous recevez des vidéos de motivation, c’est-à-dire des candidatures qui répondent à votre vidéo de
|
||||
recrutement. Le candidat expose son parcours en illustrant ses expériences. Il met en avant ses
|
||||
motivations à vous rejoindre et les compétences qu’il peut apporter à votre entreprise.
|
||||
|
||||
<strong>Découvrez la personnalité du candidat et son projet professionnel en quelques instants.</strong>
|
||||
</p>
|
||||
<a class="btn btn-sm btn-primary btn-wide" href="candidatures-video">En savoir plus</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-lg-6 order-2">
|
||||
<div class="pr-lg-4">
|
||||
<a href="candidatures-video"><img class="img-fluid" src="{{ asset('v2/png/candidature-en-video.png') }}" alt="Candidature en vidéo"></a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Candidat FIN -->
|
||||
+40
@@ -0,0 +1,40 @@
|
||||
<!-- Ils nous font confiance DEBUT -->
|
||||
<div class="container space-2 space-3--lg accueilFondBlanc">
|
||||
<div class=" text-center mx-md-auto mb-12">
|
||||
<!-- Title -->
|
||||
<h2 class="h1"> Ils nous font confiance</h2>
|
||||
<!-- Slick Carousel -->
|
||||
<div class="js-slick-carousel u-slick" data-autoplay="true" data-speed="5000" data-infinite="true"
|
||||
data-slides-show="5">
|
||||
<div class="js-slide">
|
||||
<img src="{{ asset('v2/logos/Albea-logo.png') }}" alt="Image Description">
|
||||
</div>
|
||||
<div class="js-slide">
|
||||
<img src="{{ asset('v2/logos/Bouyer-leroux-logo.png') }}" alt="Image Description">
|
||||
</div>
|
||||
<div class="js-slide">
|
||||
<img src="{{ asset('v2/logos/Eiffage-logo.png') }}" alt="Image Description">
|
||||
</div>
|
||||
<div class="js-slide">
|
||||
<img src="{{ asset('v2/logos/groupe-mousset-logo.png') }}" alt="Image Description">
|
||||
</div>
|
||||
<div class="js-slide">
|
||||
<img src="{{ asset('v2/logos/Groupe-rocher-logo.png') }}" alt="Image Description">
|
||||
</div>
|
||||
<div class="js-slide">
|
||||
<img src="{{ asset('v2/logos/intermarche.png') }}" alt="Image Description">
|
||||
</div>
|
||||
<div class="js-slide">
|
||||
<img src="{{ asset('v2/logos/Mazars-logo.png') }}" alt="Image Description">
|
||||
</div>
|
||||
<div class="js-slide">
|
||||
<img src="{{ asset('v2/logos/Mma-logo.png') }}" alt="Image Description">
|
||||
</div>
|
||||
<div class="js-slide">
|
||||
<img src="{{ asset('v2/logos/Square-habitat-logo.png') }}" alt="Image Description">
|
||||
</div>
|
||||
</div>
|
||||
<!-- End Slick Carousel -->
|
||||
</div>
|
||||
</div>
|
||||
<!-- Ils nous font confiance FIN -->
|
||||
+87
@@ -0,0 +1,87 @@
|
||||
<!-- Degradé avec Stats Section -->
|
||||
<div class="gradient-overlay-half-primary-v1">
|
||||
<div class="bg-img-hero" style=>
|
||||
<div class="container space-2 ">
|
||||
<div class="container z-index-2 containerStat">
|
||||
<div class=" shadow-lg rounded mt-n9">
|
||||
<div class="card-deck d-block d-lg-flex">
|
||||
<div class="card card-frame mb-4 mb-lg-0">
|
||||
<!-- Listing -->
|
||||
<div class="card-body p-4">
|
||||
<div class="media">
|
||||
|
||||
<div class="media-body px-4">
|
||||
<h2 class="statChiffre">10000+</h2>
|
||||
<p class="statTexte">Visiteurs par mois</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- End Listing -->
|
||||
</div>
|
||||
|
||||
<div class="card card-frame mb-4 mb-lg-0">
|
||||
<!-- Listing -->
|
||||
<div class="card-body p-4">
|
||||
<div class="media">
|
||||
<div class="media-body px-4">
|
||||
<h2 class="statChiffre">1050+</h2>
|
||||
<p class="statTexte">Vues par vidéo</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- End Listing -->
|
||||
</div>
|
||||
|
||||
<div class="card card-frame mb-4 mb-lg-0">
|
||||
<!-- Listing -->
|
||||
<div class="card-body p-4">
|
||||
<div class="media">
|
||||
|
||||
<div class="media-body px-4">
|
||||
<h2 class="statChiffre">550+</h2>
|
||||
<p class="statTexte">Candidatures vidéo</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- End Listing -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Icon Blocks Section -->
|
||||
<div class="container ">
|
||||
<div class="row space-1">
|
||||
<div class="col-md-4 mb-7 mb-md-0">
|
||||
<!-- Icon Blocks -->
|
||||
<div class="text-center px-lg-3">
|
||||
<img src="{{ asset('v2/svg/components/Diffusion-offres-emploi-video-marque-employeur.svg') }}" alt="Diffusez vos offres d'emploi et marque employeur en video" class="pb-3">
|
||||
<h3 class="h4 text-white text500">Diffusez vos offres d'emploi et marque employeur en <strong>vidéo</strong></h3>
|
||||
</div>
|
||||
<!-- End Icon Blocks -->
|
||||
</div>
|
||||
|
||||
<div class="col-md-4 mb-7 mb-md-0">
|
||||
<!-- Icon Blocks -->
|
||||
<div class="text-center px-lg-3">
|
||||
<img src="{{ asset('v2/svg/components/candidature-en-video.svg') }}" alt="Recevez les candidatures en video" class="pb-3">
|
||||
<h3 class="h4 text-white text500">Recevez les candidatures en vidéo</h3>
|
||||
</div>
|
||||
<!-- End Icon Blocks -->
|
||||
</div>
|
||||
|
||||
<div class="col-md-4">
|
||||
<!-- Icon Blocks -->
|
||||
<div class="text-center px-lg-3 ">
|
||||
<img src="{{ asset('v2/svg/components/Gestion-des-candidatures-video.svg') }}" alt="Gérez vos candidatures en vidéo" class="pb-3">
|
||||
<h3 class="h4 text-white text500">Gérez vos candidatures en vidéo</h3>
|
||||
</div>
|
||||
<!-- End Icon Blocks -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- End Icon Blocks Section -->
|
||||
</div>
|
||||
</div>
|
||||
<!-- Degradé avec Stats FIN-->
|
||||
+31
@@ -0,0 +1,31 @@
|
||||
<!-- Marque employeur DEBUT -->
|
||||
<div class="space-1-bottom accueilFondBlanc">
|
||||
<div class="container space-2 ">
|
||||
<div class="row justify-content-lg-end ">
|
||||
<div class="col-lg-6 order-1 pb-5">
|
||||
<!-- Title -->
|
||||
<div class="mb-6">
|
||||
<h2 class="h3"> Révélez votre Marque Employeur en vidéo</h2>
|
||||
<p> Talents Tube offre une visibilité essentielle à votre marque employeur. Grâce à la vidéo, votre
|
||||
entreprise replace l’humain au cœur du recrutement. Vous disposez d’un levier concret et efficace pour
|
||||
parfaire votre réputation. Développez l’attractivité de votre entreprise pour séduire de nouveaux talents.
|
||||
|
||||
<strong>Donnez vie à votre marque employeur en plaçant la vidéo au centre de votre stratégie de
|
||||
communication et de votre gestion des ressources humaines.
|
||||
</strong>
|
||||
</p>
|
||||
<a class="btn btn-sm btn-primary btn-wide" href="marque-employeur-video">En savoir plus</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-lg-6 order-2 mb-md-0">
|
||||
<div class="mb-6>
|
||||
<a href="marque-employeur-video"><img class="img-fluid"
|
||||
src="{{ asset('v2/png/marque-employeur-en-video.png') }}" alt="Marque employeur vidéo"></a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Marque employeur FIN -->
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
<!-- Accueil Photo Haut Section -->
|
||||
<div class="bg-img-hero-center" style="background-image: url({{ asset(urlImage)}} ">
|
||||
<div class="container space-2 space-5-top--lg space-4-bottom--lg">
|
||||
<div class="w-md-75">
|
||||
<!-- Title -->
|
||||
<div class="mb-7">
|
||||
{# <span class="d-block text-white text-uppercase mb-2">Talents tube</span> #}
|
||||
<h1 class="display-4 font-size-48--md-down text-white mb-4">
|
||||
<strong class="u-text-animation u-text-animation--typing">{{textParDefaut}}</strong>
|
||||
<br>{{textVideo}}
|
||||
</h1>
|
||||
|
||||
</div>
|
||||
<!-- End Title -->
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<!-- End Accueil Photo Haut Section -->
|
||||
+32
@@ -0,0 +1,32 @@
|
||||
<!-- Plateforme DEBUT -->
|
||||
<div class=" accueilFondBleute">
|
||||
<div class="container space-2 ">
|
||||
<div class="row row justify-content-lg-end ">
|
||||
<div class="col-lg-6 order-2 mb-md-0 ">
|
||||
<!-- Title <div class="col-md-6 order-md-2 mb-5 mb-md-0">-->
|
||||
<div class="mb-6">
|
||||
<h2 class="h3"> Plateforme pour l’emploi 100% vidéo</h2>
|
||||
<p> Talents Tube met à votre disposition un outil de diffusion de vos vidéos d’offres d’emploi & marque
|
||||
employeur pour attirer les meilleurs talents en vidéo.
|
||||
|
||||
Notre plateforme rassemble l’entreprise et les talents qui se présentent en vidéo pour un recrutement
|
||||
réussi.
|
||||
|
||||
Si vous ne possédez pas de vidéos, nous pouvons vous accompagner dans la réalisation.
|
||||
|
||||
<strong>Diffusez vos vidéos de recrutement et augmentez votre visibilité.</strong>
|
||||
</p>
|
||||
<a class="btn btn-sm btn-primary btn-wide" href="{{ url_plateforme }}">Voir la plateforme</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-6 order-1 pb-5">
|
||||
<div class="">
|
||||
<a href="{{ url_plateforme }}"><img class="img-fluid" src="{{ asset('v2/png/plateforme-de-recrutement-en-video.png') }}"
|
||||
alt="Recrutement video"></a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Plateforme FIN -->
|
||||
+32
@@ -0,0 +1,32 @@
|
||||
<!-- Recrutez DEBUT -->
|
||||
<div class="space1-bottom accueilFondBleute">
|
||||
<div class="container space-2 ">
|
||||
<div class="row justify-content-lg-end ">
|
||||
<div class="col-lg-6 order-2 mb-md-0">
|
||||
<!-- Title <div class="col-md-6 order-md-2 mb-5 mb-md-0">-->
|
||||
<div class="mb-6">
|
||||
<h2 class="h3"> Recrutez avec des offres d’emploi vidéo</h2>
|
||||
<p> Talents Tube peut vous accompagner dans la réalisation de vidéos d’offres d’emploi captivantes et à votre
|
||||
image.
|
||||
|
||||
L’offre d’emploi en vidéo, média engageant, vous donne l’opportunité de recruter les meilleurs talents. Le
|
||||
principe est de donner une image moderne et innovante en présentant votre entreprise, votre équipe,
|
||||
l’environnement de travail et le poste à pourvoir en quelques minutes.
|
||||
|
||||
<strong>Faites place à l’innovation pour capter l’attention des candidats et recruter le talent qu’il vous
|
||||
faut.</strong>
|
||||
</p>
|
||||
<a class="btn btn-sm btn-primary btn-wide" href="offre-emploi-video">En savoir plus</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-lg-6 order-1 pb-5">
|
||||
<div class="">
|
||||
<a href="offre-emploi-video"><img class="img-fluid" src="{{ asset('v2/png/offres-emploi-en-video.png') }}" alt="Offres d'emploi en vidéo"></a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Recrutez FIN -->
|
||||
+309
@@ -0,0 +1,309 @@
|
||||
<!-- Témoignage DEBUT -->
|
||||
<!-- Success stories -->
|
||||
<div class="space-2-top space-1-bottom space-3-top--lg accueilFondNoir">
|
||||
<div class="container">
|
||||
<!-- Title -->
|
||||
<div class="w-md-80 w-lg-60 mx-md-auto text-md-center mb-8">
|
||||
<h2 class="text-lh-xs mb-0">Témoignages de nos clients</h2>
|
||||
<h6 class="text-uppercase font-weight-medium letter-spacing-0_06 mb-3"> Ils ont choisi Talents Tube
|
||||
pour recruter différemment.</h6>
|
||||
|
||||
</div>
|
||||
<!-- End Title -->
|
||||
|
||||
<!-- Stories -->
|
||||
<div id="sliderSyncingNav2" class="js-slick-carousel u-slick u-slick--rounded mb-2" data-infinite="true"
|
||||
data-arrows-classes="d-none d-md-inline-block u-slick__arrow-classic u-slick__arrow-centered--y rounded-circle shadow"
|
||||
data-arrow-left-classes="fa fa-arrow-left u-slick__arrow-classic-inner bg-white text-dark left-0 ml-md-n9"
|
||||
data-arrow-right-classes="fa fa-arrow-right u-slick__arrow-classic-inner bg-white text-dark right-0 mr-md-n9"
|
||||
data-nav-for="#sliderSyncingThumb2">
|
||||
|
||||
<div class="js-slide bg-img-hero bg-img-hero-center gradient-overlay-half-black-v1"
|
||||
style="background-image: url({{ asset('v2/temoignages/pontivy-temoignage-image.jpg') }});">
|
||||
|
||||
<div class="w-md-80 w-lg-50 text-white space-2 px-9">
|
||||
<h3 class="h2 text-lh-xs">Pontivy Communauté</h3>
|
||||
<p class="text-white">Christine Le Strat & Kévin Nado</p>
|
||||
|
||||
<a class="js-fancybox text-white" href="javascript:;"
|
||||
data-src="https://www.youtube.com/watch?v=ugXui7ICJeM?autoplay=1" data-speed="700" data-animate-in="zoomIn"
|
||||
data-animate-out="zoomOut" data-caption="Témoignage">
|
||||
Voir le témoignage
|
||||
<i class="u-icon u-icon--sm u-icon--white-soft rounded-circle ml-2">
|
||||
<i class="u-icon__inner svg-icon svg-icon-xs text-white">
|
||||
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<rect x="0" y="0" width="24" height="24"></rect>
|
||||
<path
|
||||
d="M9.82866499,18.2771971 L16.5693679,12.3976203 C16.7774696,12.2161036 16.7990211,11.9002555 16.6175044,11.6921539 C16.6029128,11.6754252 16.5872233,11.6596867 16.5705402,11.6450431 L9.82983723,5.72838979 C9.62230202,5.54622572 9.30638833,5.56679309 9.12422426,5.7743283 C9.04415337,5.86555116 9,5.98278612 9,6.10416552 L9,17.9003957 C9,18.1765381 9.22385763,18.4003957 9.5,18.4003957 C9.62084305,18.4003957 9.73759731,18.3566309 9.82866499,18.2771971 Z"
|
||||
fill="#000000"></path>
|
||||
</g>
|
||||
</svg>
|
||||
</i>
|
||||
</i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="js-slide bg-img-hero bg-img-hero-center gradient-overlay-half-black-v1"
|
||||
style="background-image: url({{ asset('v2/temoignages/temoignage-mma-questembert.jpg') }});">
|
||||
|
||||
<div class="w-md-80 w-lg-50 text-white space-2 px-9">
|
||||
<h3 class="h2 text-lh-xs">MMA Questembert</h3>
|
||||
<p class="text-white"> Stephane David, Agent Général d'Assurances</p>
|
||||
|
||||
<a class="js-fancybox text-white" href="javascript:;"
|
||||
data-src="https://www.youtube.com/watch?v=0bbNdf4qAng?autoplay=1" data-speed="700" data-animate-in="zoomIn"
|
||||
data-animate-out="zoomOut" data-caption="Témoignage">
|
||||
Voir le témoignage
|
||||
<i class="u-icon u-icon--sm u-icon--white-soft rounded-circle ml-2">
|
||||
<i class="u-icon__inner svg-icon svg-icon-xs text-white">
|
||||
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<rect x="0" y="0" width="24" height="24"></rect>
|
||||
<path
|
||||
d="M9.82866499,18.2771971 L16.5693679,12.3976203 C16.7774696,12.2161036 16.7990211,11.9002555 16.6175044,11.6921539 C16.6029128,11.6754252 16.5872233,11.6596867 16.5705402,11.6450431 L9.82983723,5.72838979 C9.62230202,5.54622572 9.30638833,5.56679309 9.12422426,5.7743283 C9.04415337,5.86555116 9,5.98278612 9,6.10416552 L9,17.9003957 C9,18.1765381 9.22385763,18.4003957 9.5,18.4003957 C9.62084305,18.4003957 9.73759731,18.3566309 9.82866499,18.2771971 Z"
|
||||
fill="#000000"></path>
|
||||
</g>
|
||||
</svg>
|
||||
</i>
|
||||
</i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="js-slide bg-img-hero bg-img-hero-center gradient-overlay-half-black-v1"
|
||||
style="background-image: url({{ asset('v2/temoignages/mgdis-temoignage-image.jpg') }});">
|
||||
|
||||
<div class="w-md-80 w-lg-50 text-white space-2 px-9">
|
||||
<h3 class="h2 text-lh-xs">MGDIS</h3>
|
||||
<p class="text-white">Simona Vasile-Martin, Responsable Marketing</p>
|
||||
|
||||
<a class="js-fancybox text-white" href="javascript:;"
|
||||
data-src="https://www.youtube.com/watch?v=E62HUkaPEkk&t?autoplay=1" data-speed="700"
|
||||
data-animate-in="zoomIn" data-animate-out="zoomOut" data-caption="Témoignage">
|
||||
Voir le témoignage
|
||||
<i class="u-icon u-icon--sm u-icon--white-soft rounded-circle ml-2">
|
||||
<i class="u-icon__inner svg-icon svg-icon-xs text-white">
|
||||
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<rect x="0" y="0" width="24" height="24"></rect>
|
||||
<path
|
||||
d="M9.82866499,18.2771971 L16.5693679,12.3976203 C16.7774696,12.2161036 16.7990211,11.9002555 16.6175044,11.6921539 C16.6029128,11.6754252 16.5872233,11.6596867 16.5705402,11.6450431 L9.82983723,5.72838979 C9.62230202,5.54622572 9.30638833,5.56679309 9.12422426,5.7743283 C9.04415337,5.86555116 9,5.98278612 9,6.10416552 L9,17.9003957 C9,18.1765381 9.22385763,18.4003957 9.5,18.4003957 C9.62084305,18.4003957 9.73759731,18.3566309 9.82866499,18.2771971 Z"
|
||||
fill="#000000"></path>
|
||||
</g>
|
||||
</svg>
|
||||
</i>
|
||||
</i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="js-slide bg-img-hero bg-img-hero-center gradient-overlay-half-black-v1"
|
||||
style="background-image: url({{ asset('v2/temoignages/medaviz-temoignage-image.jpg') }});">
|
||||
<div class="w-md-80 w-lg-50 text-white space-2 px-9">
|
||||
<h3 class="h2 text-lh-xs">Medaviz</h3>
|
||||
<p class="text-white">Guillaume Lesdos, Co-fondateur et Président</p>
|
||||
|
||||
<a class="js-fancybox text-white" href="javascript:;" data-src="https://www.youtube.com/watch?v=Em3niStNutA"
|
||||
data-speed="700" data-animate-in="zoomIn" data-animate-out="zoomOut" data-caption="Témoignage">
|
||||
Voir le témoignage
|
||||
<i class="u-icon u-icon--sm u-icon--white-soft rounded-circle ml-2">
|
||||
<i class="u-icon__inner svg-icon svg-icon-xs text-white">
|
||||
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<rect x="0" y="0" width="24" height="24"></rect>
|
||||
<path
|
||||
d="M9.82866499,18.2771971 L16.5693679,12.3976203 C16.7774696,12.2161036 16.7990211,11.9002555 16.6175044,11.6921539 C16.6029128,11.6754252 16.5872233,11.6596867 16.5705402,11.6450431 L9.82983723,5.72838979 C9.62230202,5.54622572 9.30638833,5.56679309 9.12422426,5.7743283 C9.04415337,5.86555116 9,5.98278612 9,6.10416552 L9,17.9003957 C9,18.1765381 9.22385763,18.4003957 9.5,18.4003957 C9.62084305,18.4003957 9.73759731,18.3566309 9.82866499,18.2771971 Z"
|
||||
fill="#000000"></path>
|
||||
</g>
|
||||
</svg>
|
||||
</i>
|
||||
</i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="js-slide bg-img-hero bg-img-hero-center gradient-overlay-half-black-v1"
|
||||
style="background-image: url({{ asset('v2/temoignages/thalazur-carnac1-temoignage-image.jpg') }});">
|
||||
<div class="w-md-80 w-lg-50 text-white space-2 px-9">
|
||||
<h3 class="h2 text-lh-xs">Thalazur Carnac</h3>
|
||||
<p class="text-white">Adeline Lautredou, Responsable Ressources Humaines</p>
|
||||
|
||||
<a class="js-fancybox text-white" href="javascript:;"
|
||||
data-src="https://www.youtube.com/watch?v=hWYae9V-YWM&t=8s?autoplay=1" data-speed="700"
|
||||
data-animate-in="zoomIn" data-animate-out="zoomOut" data-caption="Témoignage">
|
||||
Voir le témoignage
|
||||
<i class="u-icon u-icon--sm u-icon--white-soft rounded-circle ml-2">
|
||||
<i class="u-icon__inner svg-icon svg-icon-xs text-white">
|
||||
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<rect x="0" y="0" width="24" height="24"></rect>
|
||||
<path
|
||||
d="M9.82866499,18.2771971 L16.5693679,12.3976203 C16.7774696,12.2161036 16.7990211,11.9002555 16.6175044,11.6921539 C16.6029128,11.6754252 16.5872233,11.6596867 16.5705402,11.6450431 L9.82983723,5.72838979 C9.62230202,5.54622572 9.30638833,5.56679309 9.12422426,5.7743283 C9.04415337,5.86555116 9,5.98278612 9,6.10416552 L9,17.9003957 C9,18.1765381 9.22385763,18.4003957 9.5,18.4003957 C9.62084305,18.4003957 9.73759731,18.3566309 9.82866499,18.2771971 Z"
|
||||
fill="#000000"></path>
|
||||
</g>
|
||||
</svg>
|
||||
</i>
|
||||
</i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="js-slide bg-img-hero bg-img-hero-center gradient-overlay-half-black-v1"
|
||||
style="background-image: url({{ asset('v2/temoignages/intermarche-temoignage-image.jpg') }});">
|
||||
|
||||
<div class="w-md-80 w-lg-50 text-white space-2 px-9">
|
||||
<h3 class="h2 text-lh-xs">Intermarché LAI</h3>
|
||||
<p class="text-white">Ludovic Chamoin-Foucaut, RRH</p>
|
||||
|
||||
<a class="js-fancybox text-white" href="javascript:;" data-src="https://youtu.be/lheAXL8U9cU?autoplay=1"
|
||||
data-speed="700" data-animate-in="zoomIn" data-animate-out="zoomOut" data-caption="Témoignage">
|
||||
Voir le témoignage
|
||||
<i class="u-icon u-icon--sm u-icon--white-soft rounded-circle ml-2">
|
||||
<i class="u-icon__inner svg-icon svg-icon-xs text-white">
|
||||
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<rect x="0" y="0" width="24" height="24"></rect>
|
||||
<path
|
||||
d="M9.82866499,18.2771971 L16.5693679,12.3976203 C16.7774696,12.2161036 16.7990211,11.9002555 16.6175044,11.6921539 C16.6029128,11.6754252 16.5872233,11.6596867 16.5705402,11.6450431 L9.82983723,5.72838979 C9.62230202,5.54622572 9.30638833,5.56679309 9.12422426,5.7743283 C9.04415337,5.86555116 9,5.98278612 9,6.10416552 L9,17.9003957 C9,18.1765381 9.22385763,18.4003957 9.5,18.4003957 C9.62084305,18.4003957 9.73759731,18.3566309 9.82866499,18.2771971 Z"
|
||||
fill="#000000"></path>
|
||||
</g>
|
||||
</svg>
|
||||
</i>
|
||||
</i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<!-- End Stories -->
|
||||
|
||||
<!-- Stories.Authors -->
|
||||
<div id="sliderSyncingThumb2"
|
||||
class="js-slick-carousel u-slick u-slick--gutters-2 u-slick--video w-50 w-lg-30 mx-auto" data-infinite="true"
|
||||
data-slides-show="3" data-is-thumbs="true" data-center-mode="true" data-nav-for="#sliderSyncingNav2">
|
||||
|
||||
<div class="js-slide rounded overflow-hidden">
|
||||
<img class="img-fluid" src="{{ asset('v2/temoignages/pontivy-communaute-temoignage-vignette.jpg') }}"
|
||||
alt="Image Description">
|
||||
<i class="u-icon u-icon--sm u-icon--dark-soft rounded-circle u-slick--video__player">
|
||||
<i class="u-icon__inner svg-icon svg-icon-xs text-white">
|
||||
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<rect x="0" y="0" width="24" height="24"></rect>
|
||||
<path
|
||||
d="M9.82866499,18.2771971 L16.5693679,12.3976203 C16.7774696,12.2161036 16.7990211,11.9002555 16.6175044,11.6921539 C16.6029128,11.6754252 16.5872233,11.6596867 16.5705402,11.6450431 L9.82983723,5.72838979 C9.62230202,5.54622572 9.30638833,5.56679309 9.12422426,5.7743283 C9.04415337,5.86555116 9,5.98278612 9,6.10416552 L9,17.9003957 C9,18.1765381 9.22385763,18.4003957 9.5,18.4003957 C9.62084305,18.4003957 9.73759731,18.3566309 9.82866499,18.2771971 Z"
|
||||
fill="#000000"></path>
|
||||
</g>
|
||||
</svg>
|
||||
</i>
|
||||
</i>
|
||||
</div>
|
||||
|
||||
<div class="js-slide rounded overflow-hidden">
|
||||
<img class="img-fluid" src="{{ asset('v2/temoignages/mma-temoignage-vignette.jpg') }}" alt="Image Description">
|
||||
<i class="u-icon u-icon--sm u-icon--dark-soft rounded-circle u-slick--video__player">
|
||||
<i class="u-icon__inner svg-icon svg-icon-xs text-white">
|
||||
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<rect x="0" y="0" width="24" height="24"></rect>
|
||||
<path
|
||||
d="M9.82866499,18.2771971 L16.5693679,12.3976203 C16.7774696,12.2161036 16.7990211,11.9002555 16.6175044,11.6921539 C16.6029128,11.6754252 16.5872233,11.6596867 16.5705402,11.6450431 L9.82983723,5.72838979 C9.62230202,5.54622572 9.30638833,5.56679309 9.12422426,5.7743283 C9.04415337,5.86555116 9,5.98278612 9,6.10416552 L9,17.9003957 C9,18.1765381 9.22385763,18.4003957 9.5,18.4003957 C9.62084305,18.4003957 9.73759731,18.3566309 9.82866499,18.2771971 Z"
|
||||
fill="#000000"></path>
|
||||
</g>
|
||||
</svg>
|
||||
</i>
|
||||
</i>
|
||||
</div>
|
||||
|
||||
<div class="js-slide rounded overflow-hidden">
|
||||
<img class="img-fluid" src="{{ asset('v2/temoignages/mgdis-temoignage-vignette.jpg') }}"
|
||||
alt="Image Description">
|
||||
<i class="u-icon u-icon--sm u-icon--dark-soft rounded-circle u-slick--video__player">
|
||||
<i class="u-icon__inner svg-icon svg-icon-xs text-white">
|
||||
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<rect x="0" y="0" width="24" height="24"></rect>
|
||||
<path
|
||||
d="M9.82866499,18.2771971 L16.5693679,12.3976203 C16.7774696,12.2161036 16.7990211,11.9002555 16.6175044,11.6921539 C16.6029128,11.6754252 16.5872233,11.6596867 16.5705402,11.6450431 L9.82983723,5.72838979 C9.62230202,5.54622572 9.30638833,5.56679309 9.12422426,5.7743283 C9.04415337,5.86555116 9,5.98278612 9,6.10416552 L9,17.9003957 C9,18.1765381 9.22385763,18.4003957 9.5,18.4003957 C9.62084305,18.4003957 9.73759731,18.3566309 9.82866499,18.2771971 Z"
|
||||
fill="#000000"></path>
|
||||
</g>
|
||||
</svg>
|
||||
</i>
|
||||
</i>
|
||||
</div>
|
||||
|
||||
<div class="js-slide rounded overflow-hidden">
|
||||
<img class="img-fluid" src="{{ asset('v2/temoignages/medaviz-temoignage-vignette.jpg') }}"
|
||||
alt="Image Description">
|
||||
<i class="u-icon u-icon--sm u-icon--dark-soft rounded-circle u-slick--video__player">
|
||||
<i class="u-icon__inner svg-icon svg-icon-xs text-white">
|
||||
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<rect x="0" y="0" width="24" height="24"></rect>
|
||||
<path
|
||||
d="M9.82866499,18.2771971 L16.5693679,12.3976203 C16.7774696,12.2161036 16.7990211,11.9002555 16.6175044,11.6921539 C16.6029128,11.6754252 16.5872233,11.6596867 16.5705402,11.6450431 L9.82983723,5.72838979 C9.62230202,5.54622572 9.30638833,5.56679309 9.12422426,5.7743283 C9.04415337,5.86555116 9,5.98278612 9,6.10416552 L9,17.9003957 C9,18.1765381 9.22385763,18.4003957 9.5,18.4003957 C9.62084305,18.4003957 9.73759731,18.3566309 9.82866499,18.2771971 Z"
|
||||
fill="#000000"></path>
|
||||
</g>
|
||||
</svg>
|
||||
</i>
|
||||
</i>
|
||||
</div>
|
||||
|
||||
<div class="js-slide rounded overflow-hidden">
|
||||
<img class="img-fluid" src="{{ asset('v2/temoignages/thalazur-carnac-temoignage-vignette.jpg') }}"
|
||||
alt="Image Description">
|
||||
<i class="u-icon u-icon--sm u-icon--dark-soft rounded-circle u-slick--video__player">
|
||||
<i class="u-icon__inner svg-icon svg-icon-xs text-white">
|
||||
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<rect x="0" y="0" width="24" height="24"></rect>
|
||||
<path
|
||||
d="M9.82866499,18.2771971 L16.5693679,12.3976203 C16.7774696,12.2161036 16.7990211,11.9002555 16.6175044,11.6921539 C16.6029128,11.6754252 16.5872233,11.6596867 16.5705402,11.6450431 L9.82983723,5.72838979 C9.62230202,5.54622572 9.30638833,5.56679309 9.12422426,5.7743283 C9.04415337,5.86555116 9,5.98278612 9,6.10416552 L9,17.9003957 C9,18.1765381 9.22385763,18.4003957 9.5,18.4003957 C9.62084305,18.4003957 9.73759731,18.3566309 9.82866499,18.2771971 Z"
|
||||
fill="#000000"></path>
|
||||
</g>
|
||||
</svg>
|
||||
</i>
|
||||
</i>
|
||||
</div>
|
||||
|
||||
<div class="js-slide rounded overflow-hidden">
|
||||
<img class="img-fluid" src="{{ asset('v2/temoignages/intermarche-temoignage-vignette.jpg') }}"
|
||||
alt="Image Description">
|
||||
<i class="u-icon u-icon--sm u-icon--dark-soft rounded-circle u-slick--video__player">
|
||||
<i class="u-icon__inner svg-icon svg-icon-xs text-white">
|
||||
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<rect x="0" y="0" width="24" height="24"></rect>
|
||||
<path
|
||||
d="M9.82866499,18.2771971 L16.5693679,12.3976203 C16.7774696,12.2161036 16.7990211,11.9002555 16.6175044,11.6921539 C16.6029128,11.6754252 16.5872233,11.6596867 16.5705402,11.6450431 L9.82983723,5.72838979 C9.62230202,5.54622572 9.30638833,5.56679309 9.12422426,5.7743283 C9.04415337,5.86555116 9,5.98278612 9,6.10416552 L9,17.9003957 C9,18.1765381 9.22385763,18.4003957 9.5,18.4003957 C9.62084305,18.4003957 9.73759731,18.3566309 9.82866499,18.2771971 Z"
|
||||
fill="#000000"></path>
|
||||
</g>
|
||||
</svg>
|
||||
</i>
|
||||
</i>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- End Stories.Authors -->
|
||||
</div>
|
||||
</div>
|
||||
<!-- End Success stories -->
|
||||
<!-- Témoignage FIN -->
|
||||
+198
@@ -0,0 +1,198 @@
|
||||
{% extends 'basev2.html.twig' %}
|
||||
|
||||
{% block title %}Espace recruteur - Solution de recrutement en vidéo | Talents Tube{% endblock %}
|
||||
{% block meta %}
|
||||
<meta name="description" content="Vous souhaitez recruter en vidéo ? Talents Tube diffuse vos vidéos d’offres d’emploi et marque employeur pour attirer les meilleurs talents en vidéo.">
|
||||
|
||||
<meta name="twitter:card" content="summary">
|
||||
<meta name="twitter:site" content="@TalentsTube">
|
||||
<meta name="twitter:title" content="Espace recruteur - Solution de recrutement en vidéo | Talents Tube">
|
||||
<meta name="twitter:description" content="Vous souhaitez recruter en vidéo ? Talents Tube diffuse vos vidéos d’offres d’emploi et marque employeur pour attirer les meilleurs talents en vidéo.">
|
||||
<meta name="twitter:image" content="{{ absolute_url(asset('img/mail/logo-talents-tube.png')) }}">
|
||||
|
||||
{#Open Graph data pour le partage sur les réseaux sociaux (ex Facebook..)#}
|
||||
<meta property="og:title" content="Espace recruteur - Solution de recrutement en vidéo | Talents Tube" />
|
||||
<meta property="og:type" content="article" />
|
||||
<meta property="og:image" content="{{ absolute_url(asset('img/mail/logo-talents-tube.png')) }}" />
|
||||
<meta property="og:description" content="Vous souhaitez recruter en vidéo ? Talents Tube diffuse vos vidéos d’offres d’emploi et marque employeur pour attirer les meilleurs talents en vidéo." />
|
||||
<meta property="og:site_name" content="Talents Tube" />
|
||||
<meta property="og:url" content="{{ url(app.request.attributes.get('_route'), app.request.attributes.get('_route_params')) }}" />
|
||||
|
||||
{% endblock %}
|
||||
{% block content %}
|
||||
<main id="content">
|
||||
{% include 'defaultv2/accueil/blocPhotoPagesHeader.html.twig'
|
||||
with {
|
||||
'urlImage': 'v2/img/1920x800/recrutement-video.jpg',
|
||||
'textParDefaut' : 'Recrutez les candidats',
|
||||
'textVideo' : 'avec la vidéo'
|
||||
} %}
|
||||
|
||||
{% include 'defaultv2/concept/blocDegrade.html.twig' %}
|
||||
|
||||
{% include 'defaultv2/concept/blocPlateforme.html.twig' %}
|
||||
|
||||
{% include 'defaultv2/concept/blocCandidat.html.twig' %}
|
||||
|
||||
{% include 'defaultv2/concept/blocRecrutez.html.twig' %}
|
||||
|
||||
{% include 'defaultv2/concept/blocEmployeur.html.twig' %}
|
||||
|
||||
{% include 'defaultv2/concept/blocTemoignages.html.twig' %}
|
||||
|
||||
{% include 'defaultv2/accueil/blocLogo.html.twig' %}
|
||||
|
||||
|
||||
</main>
|
||||
<!-- ========== END MAIN CONTENT ========== -->
|
||||
|
||||
{% include 'defaultv2/accueil/footer.html.twig' %}
|
||||
|
||||
|
||||
|
||||
<!-- Begin Panel Login -->
|
||||
{% include 'defaultv2/accueil/blocLogin.html.twig'
|
||||
with {
|
||||
'csrf_token': csrf_token,
|
||||
'error' : error
|
||||
} %}
|
||||
|
||||
<!-- Go to Top -->
|
||||
<a class="js-go-to u-go-to" href="javascript:;" data-position='{"bottom": 30, "right": 100 }' data-type="fixed"
|
||||
data-offset-top="400" data-compensation="#header" data-show-effect="slideInUp" data-hide-effect="slideOutDown">
|
||||
<i class="fa fa-arrow-up u-go-to__inner"></i>
|
||||
</a>
|
||||
<!-- End Go to Top -->
|
||||
|
||||
<!-- JS Global Compulsory -->
|
||||
<script src="{{ asset('v2/vendor/jquery/dist/jquery.min.js') }}"></script>
|
||||
<script src="{{ asset('v2/vendor/jquery-migrate/dist/jquery-migrate.min.js') }}"></script>
|
||||
<script src="{{ asset('v2/vendor/popper.js/dist/umd/popper.min.js') }}"></script>
|
||||
<script src="{{ asset('v2/vendor/bootstrap/bootstrap.min.js') }}"></script>
|
||||
|
||||
<!-- JS Implementing Plugins -->
|
||||
<script src="{{ asset('v2/vendor/hs-megamenu/src/hs.megamenu.js') }}"></script>
|
||||
<script src="{{ asset('v2/vendor/jquery-validation/dist/jquery.validate.min.js') }}"></script>
|
||||
<script src="{{ asset('v2/vendor/malihu-custom-scrollbar-plugin/jquery.mCustomScrollbar.concat.min.js') }}"></script>
|
||||
<script src="{{ asset('v2/vendor/custombox/dist/custombox.min.js') }}"></script>
|
||||
<script src="{{ asset('v2/vendor/custombox/dist/custombox.legacy.min.js') }}"></script>
|
||||
<script src="{{ asset('v2/vendor/typed.js/lib/typed.min.js') }}"></script>
|
||||
<script src="{{ asset('v2/vendor/slick-carousel/slick/slick.js') }}"></script>
|
||||
<script src="{{ asset('v2/vendor/cubeportfolio/js/jquery.cubeportfolio.min.js') }}"></script>
|
||||
<script src="{{ asset('v2/vendor/fancybox/jquery.fancybox.min.js') }}"></script>
|
||||
|
||||
<!-- JS Space -->
|
||||
<script src="{{ asset('v2/js/hs.core.js') }}"></script>
|
||||
<script src="{{ asset('v2/js/components/hs.header.js') }}"></script>
|
||||
<script src="{{ asset('v2/js/components/hs.unfold.js') }}"></script>
|
||||
<script src="{{ asset('v2/js/components/hs.validation.js') }}"></script>
|
||||
<script src="{{ asset('v2/js/helpers/hs.focus-state.js') }}"></script>
|
||||
<script src="{{ asset('v2/js/components/hs.malihu-scrollbar.js') }}"></script>
|
||||
<script src="{{ asset('v2/js/components/hs.fancybox.js') }}"></script>
|
||||
<script src="{{ asset('v2/js/components/hs.modal-window.js') }}"></script>
|
||||
<script src="{{ asset('v2/js/components/hs.show-animation.js') }}"></script>
|
||||
<script src="{{ asset('v2/js/components/hs.slick-carousel.js') }}"></script>
|
||||
<script src="{{ asset('v2/js/components/hs.cubeportfolio.js') }}"></script>
|
||||
<script src="{{ asset('v2/js/components/hs.g-map.js') }}"></script>
|
||||
<script src="{{ asset('v2/js/components/hs.go-to.js') }}"></script>
|
||||
|
||||
|
||||
|
||||
<!-- JS Plugins Init. -->
|
||||
<script>
|
||||
// initialization of google map
|
||||
{# function initMap() {
|
||||
$.HSCore.components.HSGMap.init('.js-g-map');
|
||||
} #}
|
||||
|
||||
$(window).on('load', function () {
|
||||
// initialization of HSMegaMenu component
|
||||
$('.js-mega-menu').HSMegaMenu({
|
||||
event: 'hover',
|
||||
pageContainer: $('.container'),
|
||||
breakpoint: 767,
|
||||
hideTimeOut: 0
|
||||
});
|
||||
});
|
||||
|
||||
$(document).on('ready', function () {
|
||||
// initialization of header
|
||||
$.HSCore.components.HSHeader.init($('#header'));
|
||||
|
||||
// initialization of fancybox
|
||||
$.HSCore.components.HSFancyBox.init('.js-fancybox');
|
||||
|
||||
// initialization of unfold component
|
||||
$.HSCore.components.HSUnfold.init($('[data-unfold-target]'), {
|
||||
afterOpen: function () {
|
||||
if (!$('body').hasClass('IE11')) {
|
||||
$(this).find('input[type="search"]').focus();
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
// initialization of form validation
|
||||
$.HSCore.components.HSValidation.init('.js-validate', {
|
||||
rules: {
|
||||
confirmPassword: {
|
||||
equalTo: '#password'
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
// initialization of forms
|
||||
$.HSCore.helpers.HSFocusState.init();
|
||||
|
||||
// initialization of malihu scrollbar
|
||||
$.HSCore.components.HSMalihuScrollBar.init($('.js-scrollbar'));
|
||||
|
||||
// initialization of autonomous popups
|
||||
$.HSCore.components.HSModalWindow.init('[data-modal-target]', '.js-signup-modal', {
|
||||
autonomous: true
|
||||
});
|
||||
|
||||
// initialization of show animations
|
||||
$.HSCore.components.HSShowAnimation.init('.js-animation-link');
|
||||
|
||||
// initialization of slick carousel
|
||||
$.HSCore.components.HSSlickCarousel.init('.js-slick-carousel');
|
||||
|
||||
$('.u-text-animation.u-text-animation').html("");
|
||||
// initialization of text animation (typing)
|
||||
var typed = new Typed(".u-text-animation.u-text-animation--typing", {
|
||||
strings: ["Recrutez les candidats", "Boostez vos recrutements", "Valorisez vos collaborateurs"],
|
||||
typeSpeed: 60,
|
||||
loop: true,
|
||||
backSpeed: 25,
|
||||
backDelay: 3000
|
||||
});
|
||||
|
||||
// initialization of cubeportfolio
|
||||
$.HSCore.components.HSCubeportfolio.init('.cbp');
|
||||
|
||||
// initialization of go to
|
||||
$.HSCore.components.HSGoTo.init('.js-go-to');
|
||||
|
||||
|
||||
});
|
||||
|
||||
|
||||
$(document).ready(function () {
|
||||
$(window).scroll(function () { // check if scroll event happened
|
||||
if ($(document).scrollTop() > 50) { // check if user scrolled more than 50 from top of the browser window
|
||||
$("#logoAndNav").css("background-color","transparent"); // if yes, then change the color of class "navbar-fixed-top" to white (#f8f8f8)
|
||||
$("#sidebarNavToggler").css("color","#fff");
|
||||
} else {
|
||||
$("#logoAndNav").css("background-color", "transparent"); // if not, change it back to transparent
|
||||
$("#sidebarNavToggler").css("color", "#000");
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block javascripts %}
|
||||
{{ parent() }}
|
||||
<script src="https://player.vimeo.com/api/player.js"></script>
|
||||
{% endblock %}
|
||||
@@ -6,12 +6,14 @@
|
||||
</a>
|
||||
<!-- End Skippy -->
|
||||
|
||||
|
||||
|
||||
<!-- ========== HEADER ========== -->
|
||||
<header id="header" class="u-header u-header--modern u-header--bordered u-header--bg-transparent u-header--white-nav-links u-header--sticky-top-lg">
|
||||
<div class="u-header__section">
|
||||
<div class="u-header__section headerrecruteur">
|
||||
<div id="logoAndNav" class="container-fluid">
|
||||
<!-- Nav -->
|
||||
<nav class="js-mega-menu navbar navbar-expand-lg u-header__navbar">
|
||||
<nav class=" js-mega-menu navbar navbar-expand-lg u-header__navbar hs-menu-initialized hs-menu-horizontal hs-mobile-state">
|
||||
<!-- Logo -->
|
||||
<div class="u-header__navbar-brand-wrapper">
|
||||
<a class="navbar-brand u-header__navbar-brand" href="/" aria-label="TT">
|
||||
@@ -39,13 +41,23 @@
|
||||
<!-- Navigation -->
|
||||
<div id="navBar" class="collapse navbar-collapse u-header__navbar-collapse py-0">
|
||||
<ul class="navbar-nav u-header__navbar-nav">
|
||||
<!-- Home -->
|
||||
<li class="nav-item u-header__nav-item"
|
||||
data-event="hover"
|
||||
data-animation-in="fadeInUp"
|
||||
data-animation-out="fadeOut">
|
||||
<a id="homeMegaMenu" class="nav-link u-header__nav-link" href="{{ path('concept') }}">
|
||||
Concept
|
||||
</a>
|
||||
</li>
|
||||
<!-- End Home -->
|
||||
<!-- Home -->
|
||||
<li class="nav-item u-header__nav-item"
|
||||
data-event="hover"
|
||||
data-animation-in="fadeInUp"
|
||||
data-animation-out="fadeOut">
|
||||
<a id="homeMegaMenu" class="nav-link u-header__nav-link" href="{{ path('offresVideo') }}">
|
||||
L'Offre d'emploi
|
||||
Offre d'emploi
|
||||
|
||||
</a>
|
||||
</li>
|
||||
@@ -54,9 +66,9 @@
|
||||
<!-- Pages -->
|
||||
<li class="nav-item u-header__nav-item">
|
||||
<a id="PagesMegaMenu" class="nav-link u-header__nav-link" href="{{ path('employeurVideo') }}"
|
||||
aria-haspopup="true"
|
||||
aria-expanded="false">
|
||||
La Marque employeur
|
||||
aria-haspopup="true"
|
||||
aria-expanded="false">
|
||||
Marque employeur
|
||||
|
||||
</a>
|
||||
</li>
|
||||
@@ -68,7 +80,7 @@
|
||||
data-animation-in="fadeInUp"
|
||||
data-animation-out="fadeOut">
|
||||
<a id="worksMegaMenu" class="nav-link u-header__nav-link" href="{{ path('candidaturesVideo') }}">
|
||||
La Candidature
|
||||
Candidature
|
||||
|
||||
</a>
|
||||
|
||||
@@ -83,7 +95,7 @@
|
||||
data-animation-out="fadeOut">
|
||||
<a id="blogMegaMenu" class="nav-link u-header__nav-link" href="https://blog.talentstube.com/" target="_blank">
|
||||
Blog
|
||||
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
@@ -91,19 +103,19 @@
|
||||
<!-- End Blog -->
|
||||
|
||||
|
||||
<!-- Button -->
|
||||
<li class="nav-item u-header__nav-item-btn">
|
||||
<!-- Button -->
|
||||
<!--<li class="nav-item u-header__nav-item-btn">
|
||||
<a class="btn btn-sm btn-contact" href="https://blog.talentstube.com/contact" target="_blank" role="button">
|
||||
{# <i class="fa fa-user-circle mr-1"></i> #}
|
||||
Contactez-nous
|
||||
</a>
|
||||
</li>
|
||||
</li>-->
|
||||
<!-- End Button -->
|
||||
<!-- Button -->
|
||||
<li class="nav-item u-header__nav-item-btn">
|
||||
<a class="btn btn-sm btn-primary" href="#signupModal" role="button"
|
||||
data-modal-target="#signupModal"
|
||||
data-overlay-color="#151b26">
|
||||
data-modal-target="#signupModal"
|
||||
data-overlay-color="#151b26">
|
||||
{# <i class="fa fa-user-circle mr-1"></i> #}
|
||||
Connexion recruteurs
|
||||
</a>
|
||||
|
||||
Regular → Executable
+9
-9
@@ -9,9 +9,9 @@
|
||||
<div class="row">
|
||||
<div class="col-md-4 mb-7 mb-md-0">
|
||||
<!-- Icon Blocks -->
|
||||
<div class="text-center px-lg-3">
|
||||
<img class="max-width-14 mb-2" src="{{ asset('v2/svg/components/recrutement-territoire.svg') }}" alt="Image Description">
|
||||
<h3 class="h4 text-white text-center">Valorisez votre implantation territoire</h3>
|
||||
<div class="text-center px-lg-4">
|
||||
<img class="max-width-14 mb-3" src="{{ asset('v2/svg/components/recrutement-territoire.svg') }}" alt="Image Description">
|
||||
<h3 class="h5 text-white text-center">Valorisez votre implantation territoire</h3>
|
||||
<p class="mb-0 text-white text-center">Les talents sont sensibles à l’équilibre vie professionnelle et vie privée, la situation géographique de vos sites est un atout.</p>
|
||||
</div>
|
||||
<!-- End Icon Blocks -->
|
||||
@@ -19,9 +19,9 @@
|
||||
|
||||
<div class="col-md-4 mb-7 mb-md-0">
|
||||
<!-- Icon Blocks -->
|
||||
<div class="text-center px-lg-3">
|
||||
<img class="max-width-14 mb-2" src="{{ asset('v2/svg/components/temoignage-collaborateur.svg') }}" alt="Image Description">
|
||||
<h3 class="h4 text-white text-center">Donnez la parole à vos collaborateurs</h3>
|
||||
<div class="text-center px-lg-4">
|
||||
<img class="max-width-14 mb-3" src="{{ asset('v2/svg/components/temoignage-collaborateur.svg') }}" alt="Image Description">
|
||||
<h3 class="h5 text-white text-center">Donnez la parole à vos collaborateurs</h3>
|
||||
<p class="mb-0 text-white text-center">Ce sont ceux qui le vivent qui en parlent le mieux. Soyez authentique, montrez les évolutions de carrière et donnez du sens à vos emplois.</p>
|
||||
</div>
|
||||
<!-- End Icon Blocks -->
|
||||
@@ -29,9 +29,9 @@
|
||||
|
||||
<div class="col-md-4">
|
||||
<!-- Icon Blocks -->
|
||||
<div class="text-center px-lg-3">
|
||||
<img class="max-width-14 mb-2" src="{{ asset('v2/svg/components/boost-identite-digitale.svg') }}" alt="Image Description">
|
||||
<h3 class="h4 text-white text-center" >Boostez votre identité digitale</h3>
|
||||
<div class="text-center px-lg-4">
|
||||
<img class="max-width-14 mb-3" src="{{ asset('v2/svg/components/boost-identite-digitale.svg') }}" alt="Image Description">
|
||||
<h3 class="h5 text-white text-center" >Boostez votre identité digitale</h3>
|
||||
<p class="mb-0 text-white text-center">Avec la vidéo, 1er média sur le web, propulsez votre image de marque employeur et gagnez en notoriété.</p>
|
||||
</div>
|
||||
<!-- End Icon Blocks -->
|
||||
|
||||
Regular → Executable
+2
-2
@@ -2,7 +2,7 @@
|
||||
<!-- Features Section -->
|
||||
<div class="container space-2-top space-3--lg ">
|
||||
<div class="row justify-content-lg-between align-items-md-center">
|
||||
<div class="col-md-6 col-lg-5 mb-7 mb-md-0">
|
||||
<div class="col-md-6 col-lg-5 col-md-9 mb-7 mb-md-0">
|
||||
<!-- Title -->
|
||||
<div class="mb-7">
|
||||
<h2>Comment ça fonctionne ?</h2>
|
||||
@@ -33,7 +33,7 @@
|
||||
|
||||
</div>
|
||||
|
||||
<div class="col-md-6 mb-9 mb-md-0">
|
||||
<div class="col-lg-6 mb-9 mb-md-0">
|
||||
<img src="{{ asset('v2/img/marque/marque-employeur-candidature-spontanee.jpg') }}">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Regular → Executable
+1
-5
@@ -6,11 +6,7 @@
|
||||
|
||||
<h2 class="text-white text-center"> Envie de dévoiler votre marque employeur en vidéo ? </h2>
|
||||
</div>
|
||||
<a class="btn btn-sm btn-contact" href="https://blog.talentstube.com/contact"
|
||||
data-overlay-color="#151b26">
|
||||
|
||||
Contactez-nous
|
||||
</a>
|
||||
<a class="btn btn-sm btn-contact" href="https://blog.talentstube.com/contact" data-overlay-color="#151b26">Contactez-nous</a>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
Regular → Executable
+2
-2
@@ -2,7 +2,7 @@
|
||||
<div class=" accueilFondBlanc">
|
||||
<div class="container space-2 ">
|
||||
<div class="row row justify-content-lg-end ">
|
||||
<div class="col-md-6 ">
|
||||
<div class="col-lg-6 order-md-2">
|
||||
<!-- Title <div class="col-md-6 order-md-2 mb-5 mb-md-0">-->
|
||||
<div class="mb-6">
|
||||
<h2 class="h3"> Qu’est-ce que la marque employeur ?</h2>
|
||||
@@ -19,7 +19,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-6 align-right paddintRight">
|
||||
<div class="col-lg-6 order-md-1 mb-5">
|
||||
<div class="mb-6">
|
||||
|
||||
|
||||
|
||||
Regular → Executable
+3
-3
@@ -2,9 +2,9 @@
|
||||
<div class="space-1-bottom accueilFondNoir">
|
||||
<div class="container space-2 ">
|
||||
<div class="row justify-content-lg-end">
|
||||
<div class="col-md-6 order-md-2 mb-5 mb-md-0">
|
||||
<div class="col-lg-6 order-md-2">
|
||||
<!-- Title -->
|
||||
<div class="mb-4">
|
||||
<div class="mb-6">
|
||||
<h2 class="h3"> Pourquoi révéler votre marque employeur en vidéo ?</h2>
|
||||
<p>
|
||||
Recruter, fidéliser et rayonner sont des bénéfices directs de la diffusion de votre marque employeur en
|
||||
@@ -19,7 +19,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-6 order-md-1">
|
||||
<div class="col-lg-6 order-md-1">
|
||||
<div id="youTubeVideoPlayer" class="u-video-player mb-7">
|
||||
<!-- Cover Image -->
|
||||
<img class="img-fluid u-video-player__preview"
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
|
||||
{% block content %}
|
||||
<main id="content">
|
||||
{% include 'defaultv2/accueil/blocPhoto.html.twig'
|
||||
{% include 'defaultv2/accueil/blocPhotoPagesHeader.html.twig'
|
||||
with {
|
||||
'urlImage': 'v2/img/1920x800/video-marque-employeur.jpg',
|
||||
'textParDefaut' : 'Révélez votre marque employeur ',
|
||||
@@ -184,7 +184,7 @@ with {
|
||||
$(document).ready(function () {
|
||||
$(window).scroll(function () { // check if scroll event happened
|
||||
if ($(document).scrollTop() > 50) { // check if user scrolled more than 50 from top of the browser window
|
||||
$("#logoAndNav").css("background-color","#000"); // if yes, then change the color of class "navbar-fixed-top" to white (#f8f8f8)
|
||||
$("#logoAndNav").css("background-color","transparent"); // if yes, then change the color of class "navbar-fixed-top" to white (#f8f8f8)
|
||||
$("#sidebarNavToggler").css("color","#fff");
|
||||
} else {
|
||||
$("#logoAndNav").css("background-color", "transparent"); // if not, change it back to transparent
|
||||
|
||||
Regular → Executable
+28
-36
@@ -1,46 +1,38 @@
|
||||
<!-- Plateforme DEBUT -->
|
||||
<div class="accueilFondBleute">
|
||||
<div class="container ">
|
||||
<div class="row align-items-lg-center">
|
||||
|
||||
|
||||
<!-- Icon Blocks Section -->
|
||||
<div class="container ">
|
||||
<div class="row">
|
||||
<div class="col-md-4 mb-7 mb-md-0">
|
||||
<!-- Icon Blocks -->
|
||||
<div class="text-center px-lg-3">
|
||||
<img class="max-width-14 mb-2" src="{{ asset('v2/svg/components/boost-annonce.svg') }}" alt="Améliorez le nombre de candidatures avec l’offre d’emploi vidéo.">
|
||||
<h3 class="h4">Améliorez vos annonces</h3>
|
||||
<p class="mb-0">La vidéo génère 34% de candidatures supplémentaires par rapport à une annonce d’emploi écrite.</p>
|
||||
</div>
|
||||
<!-- End Icon Blocks -->
|
||||
<div class="accueilFondBleute">
|
||||
<div class="container">
|
||||
<div class="container pt-6">
|
||||
<div class="row">
|
||||
<div class="col-md-4 mb-7 mb-md-0">
|
||||
<!-- Icon Blocks -->
|
||||
<div class="text-center px-lg-4">
|
||||
<img class="max-width-14 mb-2" src="../v2/svg/components/boost-annonce.svg" alt="Découvrez la personnalité des candidats en vidéo">
|
||||
<h3 class="h5">Améliorez vos annonces</h3>
|
||||
<p>La vidéo génère 34% de candidatures supplémentaires par rapport à une annonce d’emploi écrite.</p>
|
||||
</div>
|
||||
<!-- End Icon Blocks -->
|
||||
</div>
|
||||
|
||||
<div class="col-md-4 mb-7 mb-md-0">
|
||||
<!-- Icon Blocks -->
|
||||
<div class="text-center px-lg-3">
|
||||
<img class="max-width-14 mb-2" src="{{ asset('v2/svg/components/attirer-des-candidats-large.svg') }}" alt="
|
||||
Attirer les jeunes candidats à postuler en vidéo à vos offres d’emploi.">
|
||||
<h3 class="h4">Attirez les jeunes candidats</h3>
|
||||
<p class="mb-0">La génération des millenials représentera 75% de la population active d’ici 2030.</p>
|
||||
</div>
|
||||
<!-- End Icon Blocks -->
|
||||
<div class="col-md-4 mb-7 mb-md-0">
|
||||
<!-- Icon Blocks -->
|
||||
<div class="text-center px-lg-4">
|
||||
<img class="max-width-14 mb-2" src="../v2/svg/components/attirer-des-candidats-large.svg" alt="Gagnez du temps dans votre pré-selection des candidats">
|
||||
<h3 class="h5">Attirez les jeunes candidats</h3>
|
||||
<p>La génération des millenials représentera 75% de la population active d’ici 2030.</p>
|
||||
</div>
|
||||
<!-- End Icon Blocks -->
|
||||
</div>
|
||||
|
||||
<div class="col-md-4">
|
||||
<!-- Icon Blocks -->
|
||||
<div class="text-center px-lg-3">
|
||||
<img class="max-width-14 mb-2" src="{{ asset('v2/svg/components/mobile-first.svg') }}" alt="82 % des candidats recherchent des offres d’emploi depuis leur mobile.">
|
||||
<h3 class="h4">Adoptez le Mobile First</h3>
|
||||
<p class="mb-0">82% des candidats recherchent des offres d’emploi depuis leur smartphone.</p>
|
||||
</div>
|
||||
<!-- End Icon Blocks -->
|
||||
<div class="col-md-4">
|
||||
<!-- Icon Blocks -->
|
||||
<div class="text-center px-lg-4">
|
||||
<img class="max-width-14 mb-2" src="../v2/svg/components/mobile-first.svg" alt="Gérez vos candidatures vidéo">
|
||||
<h3 class="h5">Adoptez le Mobile First</h3>
|
||||
<p>82% des candidats recherchent des offres d’emploi depuis leur smartphone.</p>
|
||||
</div>
|
||||
<!-- End Icon Blocks -->
|
||||
</div>
|
||||
</div>
|
||||
<!-- End Icon Blocks Section -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Plateforme FIN -->
|
||||
|
||||
|
||||
Regular → Executable
+2
-2
@@ -2,7 +2,7 @@
|
||||
<div class=" accueilFondBlanc">
|
||||
<div class="container space-2 ">
|
||||
<div class="row row justify-content-lg-end ">
|
||||
<div class="col-md-6 ">
|
||||
<div class="col-lg-6 order-md-1 pb-5">
|
||||
<!-- Title <div class="col-md-6 order-md-2 mb-5 mb-md-0">-->
|
||||
<div class="mb-6">
|
||||
<h2 class="h3"> Qu’est-ce qu’une offre d’emploi vidéo ?</h2>
|
||||
@@ -20,7 +20,7 @@ travail et le quotidien de vos métiers.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-6 align-right paddintRight">
|
||||
<div class="col-lg-6 order-md-2 align-right paddintRight">
|
||||
<div class="mb-6">
|
||||
|
||||
|
||||
|
||||
Regular → Executable
+3
-3
@@ -1,8 +1,8 @@
|
||||
<!-- Plateforme DEBUT -->
|
||||
<div class=" accueilFondBleute">
|
||||
<div class="container ">
|
||||
<div class="container">
|
||||
<div class="row align-items-lg-center">
|
||||
<div class="col-md-6 order-md-2 mb-5 mb-md-0">
|
||||
<div class="col-lg-6 order-md-2 mb-5">
|
||||
<!-- Title <div class="col-md-6 order-md-2 mb-5 mb-md-0">-->
|
||||
<div class="mb-6">
|
||||
<h2 class="h3"> La vidéo d’offre d’emploi améliore l’efficacité de vos recrutements.</h2>
|
||||
@@ -21,7 +21,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-6 align-right paddintRight">
|
||||
<div class="col-lg-6 order-md-1 align-right paddintRight">
|
||||
<div class="mb-6">
|
||||
|
||||
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
|
||||
{% block content %}
|
||||
<main id="content">
|
||||
{% include 'defaultv2/accueil/blocPhoto.html.twig'
|
||||
{% include 'defaultv2/accueil/blocPhotoPagesHeader.html.twig'
|
||||
with {
|
||||
'urlImage': 'v2/img/1920x800/attirer-les-candidats-avec-une-offre-emploi-video.jpg',
|
||||
'textParDefaut' : 'Attirez des talents',
|
||||
@@ -180,7 +180,7 @@ with {
|
||||
$(document).ready(function () {
|
||||
$(window).scroll(function () { // check if scroll event happened
|
||||
if ($(document).scrollTop() > 50) { // check if user scrolled more than 50 from top of the browser window
|
||||
$("#logoAndNav").css("background-color","#000"); // if yes, then change the color of class "navbar-fixed-top" to white (#f8f8f8)
|
||||
$("#logoAndNav").css("background-color","transparent"); // if yes, then change the color of class "navbar-fixed-top" to white (#f8f8f8)
|
||||
$("#sidebarNavToggler").css("color","#fff");
|
||||
} else {
|
||||
$("#logoAndNav").css("background-color", "transparent"); // if not, change it back to transparent
|
||||
|
||||
@@ -346,7 +346,7 @@ with {
|
||||
$(document).ready(function () {
|
||||
$(window).scroll(function () { // check if scroll event happened
|
||||
if ($(document).scrollTop() > 50) { // check if user scrolled more than 50 from top of the browser window
|
||||
$("#logoAndNav").css("background-color","#000"); // if yes, then change the color of class "navbar-fixed-top" to white (#f8f8f8)
|
||||
$("#logoAndNav").css("background-color","transparent"); // if yes, then change the color of class "navbar-fixed-top" to white (#f8f8f8)
|
||||
$("#sidebarNavToggler").css("color","#fff");
|
||||
} else {
|
||||
$("#logoAndNav").css("background-color", "transparent"); // if not, change it back to transparent
|
||||
|
||||
@@ -0,0 +1,228 @@
|
||||
{% extends "baseLanding.html.twig" %}
|
||||
{% block title %}Valorisez le métier d'aide à domicile et recrutez en vidéo{% endblock %}
|
||||
{% block meta %}
|
||||
<meta name="description"
|
||||
content="Vous souhaitez améliorer l'attractivité de votre métier ? Avec le recrutement vidéo, valorisez sa richesse réelle et recrutez des aides à domicile en vidéo.">
|
||||
<meta property="og:locale" content="fr_FR">
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:title" content="Valorisez le métier d'aide à domicile et recrutez en vidéo">
|
||||
<meta property="og:description"
|
||||
content="Vous souhaitez améliorer l'attractivité de votre métier ? Avec le recrutement vidéo, valorisez sa richesse réelle et recrutez des aides à domicile en vidéo.">
|
||||
<meta property="og:url" content="https://recruteur.talentstube.com/recrutement-aide-a-domicile">
|
||||
<meta property="og:site_name" content="Talents Tube">
|
||||
<meta property="og:image"
|
||||
content="https://recruteur.talentstube.com/landing/img/reussir-son-recrutement-aide-a-domicile-avec-la-video.jpg" />
|
||||
<meta name="twitter:card" content="summary_large_image" />
|
||||
<link rel="canonical" href="https://recruteur.talentstube.com/recrutement-aide-a-domicile" />
|
||||
{% endblock %}
|
||||
{% block modalCallToAction %}
|
||||
{{ parent() }}
|
||||
{% endblock %}
|
||||
{% block main %}
|
||||
<main>
|
||||
|
||||
<!--Header : Menu et Vidéo en fond-->
|
||||
<header class="hero-section-aide-domicile">
|
||||
<!--HTML5 Video-->
|
||||
<video autoplay loop muted id="bgvid" poster="">
|
||||
<source src="/landing/video/recrutement-aide-a-domicile.mp4" type="video/mp4" alt="Recrutement d'aide à domicile">
|
||||
<!--Prévoir une image fixe pour la version mobile : main.css : 102-->
|
||||
</video>
|
||||
|
||||
<!--HTML5 Video end-->
|
||||
<div class="overlay"></div>
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="logo-header" style="display:inline-block;">
|
||||
<img src="/landing/img/talentstube-logo-blanc.svg" data-at2x="/landing/img/talentstube-logo-blanc@2x.svg"
|
||||
alt="Talents Tube" class="logo-talentstube" style="width:150px">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!--nav-->
|
||||
<nav class="navbar-default">
|
||||
<!-- clas="navbar"-->
|
||||
<div class="container">
|
||||
<div class="logo-brand">
|
||||
<img src="https://blog.talentstube.com/wp-content/uploads/2021/02/TalentsTube-logo-blanc.svg"
|
||||
data-at2x="https://blog.talentstube.com/wp-content/uploads/2021/02/TalentsTube-logo-blanc.svg"
|
||||
alt="Talents Tube, plateforme de recrutement en vidéo" class="logo-head">
|
||||
</div>
|
||||
<!--<div class="navbar-header">
|
||||
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-navbar-collapse-1">
|
||||
<span class="sr-only">Toggle navigation</span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
</div>-->
|
||||
<div class="collapse navbar-collapse" id="bs-navbar-collapse-1">
|
||||
<div class="row">
|
||||
<div class="logo-header" style="display:inline-block;">
|
||||
<img src="https://blog.talentstube.com/wp-content/uploads/2021/02/talents-tube-logo-color.svg'"
|
||||
data-at2x="https://blog.talentstube.com/wp-content/uploads/2021/02/talents-tube-logo-color.svg"
|
||||
alt="Talents Tube" class="logo-nav">
|
||||
</div>
|
||||
<ul class="nav navbar-nav navbar-right">
|
||||
<li>
|
||||
<div class="mj-w-button mj-w-btn bttn" data-toggle="modal" data-target="#exampleModal">Demander un diagnostic</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
<!--nav end-->
|
||||
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<!--welcome-message-->
|
||||
<div class="welcome-message">
|
||||
<h1>Comment réussir son recrutement d'aide à domicile ?</h1>
|
||||
<p>Vous recevez des candidatures qui ne répondent pas à votre besoin ?</p>
|
||||
<p>Vous en avez assez de refuser des prises en charge, faute de salariés ?</p>
|
||||
<p>Vous voulez recruter vos aides à domicile autrement ?</p><br>
|
||||
<p>Choisissez Talents Tube, la plateforme pour l'emploi 100% vidéo !</p>
|
||||
</div>
|
||||
<!--welcome-message end-->
|
||||
<div class=" video-header">
|
||||
<button class="bttn" data-toggle="modal" data-target="#exampleModal">Demander un diagnostic</button>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
<!--Header end-->
|
||||
<!--about 1-->
|
||||
<section class="about section-spacing-little" style="margin-top:20px">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-md-5 bloc-gauche-1"> <img src="/landing/img/secteur-aide-domicile-peine-a-recruter.jpg"
|
||||
alt="Le secteur de l'aide à domicile peine à recruter" data-no-retina> </div>
|
||||
<div class="col-md-7 bloc-droit-1" style="padding: 2em 4em;">
|
||||
<h2>Les difficultés de recrutement d'aide à domicile freinent votre développement ?</h2>
|
||||
<p>Vous n'êtes pas les seuls à chercher des solutions originales pour attirer et recruter de nouveaux
|
||||
candidats, c'est un constat partagé : l'aide à domicile peine à recruter. <strong>Une structure sur cinq
|
||||
doit refuser des prises en charge, faute de salariés</strong> !
|
||||
Sous financée et avec des besoins en recrutement d'aide à domicile de plus en plus importants, votre
|
||||
structure déplore <strong>des emplois qui ne trouvent pas de candidats</strong>. Pour cause, votre
|
||||
<strong>métier méconnu, souvent dévalorisé</strong> ne séduit pas les candidats potentiels. Il existe un
|
||||
décalage entre les préjugés et la réalité du métier.
|
||||
|
||||
<p><b>Mais comment recruter des aides à domicile ?</b></p>
|
||||
|
||||
<p>Pour attirer et réussir vos recrutements d'aide à domicile, <strong>vous devez communiquer, valoriser
|
||||
votre métier</strong> : un métier varié, riche humainement et qui a du sens.</p>
|
||||
<p>Et pour cela, quoi de mieux que <strong>la vidéo</strong> ?</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<!--about end-->
|
||||
|
||||
<!--about 2-->
|
||||
<section class="about section-spacing-little">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-md-7 bloc-droit-2" style="padding: 2em 4em;">
|
||||
<h2>Publiez une offre d'emploi attractive pour réussir vos recrutements d'aide à domicile</h2>
|
||||
<p>L'offre d'emploi vidéo est un projet fédérateur qui permet d'<strong>impliquer vos
|
||||
collaborateurs</strong>. Ils sont <strong>fiers de pouvoir présenter le métier d'aide à
|
||||
domicile</strong> et leur quotidien. Cette dynamique de recrutement <strong>participe à la valorisation
|
||||
et à la reconnaissance</strong> de vos équipes.
|
||||
|
||||
<p><b>L'offre d'emploi vidéo pour attirer et recruter des aides à domicile</b> :</p>
|
||||
|
||||
<ul class="list-puces">
|
||||
<li>Une occasion en or de <strong>montrer votre métier dans sa vérité</strong>, au dela des mots et des
|
||||
descriptions convenues</li>
|
||||
<li>Pas besoin d’une super video pour donner du corps et du sens à votre futur candidat</li>
|
||||
<li><strong>Montrez votre entreprise et votre équipe</strong>, affichez votre esprit d’entreprise dans
|
||||
une video dont votre équipe sera fière</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="col-md-5 bloc-gauche-2"> <img
|
||||
src="/landing/img/reussir-son-recrutement-aide-a-domicile-avec-la-video.jpg"
|
||||
alt="Réussir son recrutement d'aide à domicile avec la vidéo" data-no-retina> </div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<!--about end-->
|
||||
|
||||
<!--about 3-->
|
||||
<section class="about section-spacing-little">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-md-5 bloc-gauche-1"> <img src="/landing/img/candidatures-aide-a-domicile-en-video.jpg"
|
||||
alt="Candidatures d'aide à domicile en vidéo" data-no-retina> </div>
|
||||
<div class="col-md-7 bloc-droit-1" style="padding: 2em 4em;">
|
||||
<h2>Recevez des candidatures d'aide à domicile uniques et authentiques </h2>
|
||||
<p>Les compétences techniques ne sont pas le seul critère de recrutement.
|
||||
Pour exercer le métier d'aide à domicile, <strong>les compétences humaines sont primordiales</strong> afin
|
||||
d'assurer le bien-être et la satisfaction des bénéficiaires.</p>
|
||||
<p><b>Mais comment détecter ces compétences sur un CV papier ? Impossible !</b></p>
|
||||
<p>Ce qui différencie les candidats c'est l'amour des gens, une recherche de sens dans l'emploi et l'envie
|
||||
de s'épanouir dans l'aide de l'autre. Autant d'<strong>éléments qui ne peuvent être exprimés sur une
|
||||
feuille de papier</strong>.
|
||||
|
||||
<p><strong>Grâce à la candidature vidéo</strong>, découvrez qui se cache derrière le CV papier. Au déla
|
||||
des compétences, <strong>rencontrez des personnalités</strong> !</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<!--about end-->
|
||||
|
||||
<!--sponsor-->
|
||||
<section class="sponsor section-spacing text-center">
|
||||
<div class="container">
|
||||
<header>
|
||||
<h2>Ils ont recruté en vidéo, pourquoi pas vous ?</h2>
|
||||
<h3>Ces entreprises des services à la personne, ont choisi Talents Tube pour recruter autrement !</h3>
|
||||
</header>
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<figure><img
|
||||
src="https://recruteur.talentstube.com/media/cache/profile_thumb/uploads/img/58d59033851aa9d4d633cd895d794fcf.jpeg"
|
||||
data-at2x="https://recruteur.talentstube.com/media/cache/profile_thumb/uploads/img/58d59033851aa9d4d633cd895d794fcf.jpeg"
|
||||
alt="admr difficulté à recruter aide à domicile " width="100" height="32"></figure>
|
||||
<figure><img
|
||||
src="https://recruteur.talentstube.com/media/cache/profile_thumb/uploads/img/62206ab199713e2828e409f705b9ec9d.png"
|
||||
data-at2x="https://recruteur.talentstube.com/media/cache/profile_thumb/uploads/img/62206ab199713e2828e409f705b9ec9d.png"
|
||||
alt="onela difficultsé à recruter aide à domicile" width="100" height="100"></figure>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</section>
|
||||
<!--sponsor end-->
|
||||
<!--venue-->
|
||||
<section class="venue section-spacing" id="venue_aideADomicile">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="container text-center">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<!--goodbye-message-->
|
||||
<div class="appel-action">
|
||||
<h2>Organisons un rendez-vous diagnostic gratuit</h2>
|
||||
<p>Bénéficiez de 15 minutes de diagnostic gratuit pour faire le point sur vos enjeux de recrutement, <br>identifier ce que Talents Tube peut résoudre et prendre connaissance de l’offre la plus appropriée pour votre entreprise.</p>
|
||||
<button class="bttn" data-toggle="modal" data-target="#exampleModal" style="margin-top:30px;">Demander mon diagnostic</button>
|
||||
</div>
|
||||
<!--goodbye-message end-->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</main>
|
||||
{% endblock %}
|
||||
|
||||
{% block javascripts %}
|
||||
|
||||
{% endblock %}
|
||||
@@ -0,0 +1,239 @@
|
||||
{% extends "baseLanding.html.twig" %}
|
||||
{% block title %}Améliorez votre recrutement informatique et recrutez en vidéo{% endblock %}
|
||||
{% block meta %}
|
||||
<meta name="description"
|
||||
content="Votre entreprise recherche un développeur ? Découvrez des solutions pour trouver un développeur et réussir votre recrutement.">
|
||||
<meta property="og:locale" content="fr_FR">
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:title" content="Améliorez votre recrutement informatique et recrutez en vidéo">
|
||||
<meta property="og:description"
|
||||
content="Votre entreprise recherche un développeur ? Découvrez des solutions pour trouver un développeur et réussir votre recrutement.">
|
||||
<meta property="og:url" content="https://recruteur.talentstube.com/recrutement-informatique">
|
||||
<meta property="og:site_name" content="Talents Tube">
|
||||
<meta property="og:image" content="https://recruteur.talentstube.com/landing/img/recrutement-informatique.jpg" />
|
||||
<meta name="twitter:card" content="summary_large_image" />
|
||||
<link rel="canonical" href="https://recruteur.talentstube.com/recrutement-informatique" />
|
||||
{% endblock %}
|
||||
|
||||
{% block main %}
|
||||
<main>
|
||||
|
||||
<!--Header : Menu et Vidéo en fond-->
|
||||
<header class="hero-section-informatique">
|
||||
<!--HTML5 Video-->
|
||||
<video autoplay loop muted id="bgvid" poster="">
|
||||
<source src="/landing/video/recrutement-informatique.mp4" type="video/mp4" alt="Recrutement informatique">
|
||||
<!--Prévoir une image fixe pour la version mobile : main.css : 102-->
|
||||
</video>
|
||||
|
||||
<!--HTML5 Video end-->
|
||||
<div class="overlay"></div>
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="logo-header" style="display:inline-block;">
|
||||
<img src="/landing/img/talentstube-logo-blanc.svg" data-at2x="/landing/img/talentstube-logo-blanc@2x.svg"
|
||||
alt="Talents Tube" class="logo-talentstube" style="width:150px">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!--nav-->
|
||||
<nav class="navbar-default">
|
||||
<!-- clas="navbar"-->
|
||||
<div class="container">
|
||||
<div class="logo-brand">
|
||||
<img src="https://blog.talentstube.com/wp-content/uploads/2021/02/TalentsTube-logo-blanc.svg"
|
||||
data-at2x="https://blog.talentstube.com/wp-content/uploads/2021/02/TalentsTube-logo-blanc.svg"
|
||||
alt="Talents Tube, plateforme de recrutement en vidéo" class="logo-head">
|
||||
</div>
|
||||
<!--<div class="navbar-header">
|
||||
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-navbar-collapse-1">
|
||||
<span class="sr-only">Toggle navigation</span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
</div>-->
|
||||
<div class="collapse navbar-collapse" id="bs-navbar-collapse-1">
|
||||
<div class="row">
|
||||
<div class="logo-header" style="display:inline-block;">
|
||||
<img src="https://blog.talentstube.com/wp-content/uploads/2021/02/talents-tube-logo-color.svg'"
|
||||
data-at2x="https://blog.talentstube.com/wp-content/uploads/2021/02/talents-tube-logo-color.svg"
|
||||
alt="Talents Tube" class="logo-nav">
|
||||
</div>
|
||||
<ul class="nav navbar-nav navbar-right">
|
||||
<li>
|
||||
<div class="mj-w-button mj-w-btn bttn" data-toggle="modal" data-target="#exampleModal">Demander un diagnostic</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
<!--nav end-->
|
||||
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<!--welcome-message-->
|
||||
<div class="welcome-message">
|
||||
<h1>Recrutement informatique : <br>Je cherche un développeur web</h1>
|
||||
<p>Vous vous demandez comment optimiser votre recrutement informatique ?</p>
|
||||
<p>Vous cherchez un développeur web mais vos meilleurs candidats vous échappent ?</p><br>
|
||||
<p>Démarquez vous grâce au recrutement vidéo, choississez Talents Tube.</p>
|
||||
</div>
|
||||
<!--welcome-message end-->
|
||||
<div class="video-header">
|
||||
<button class="bttn" data-toggle="modal" data-target="#exampleModal">Demander un diagnostic</button>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
<!--Header end-->
|
||||
<!--about 1-->
|
||||
<section class="about section-spacing-little" style="margin-top:20px">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-md-5 bloc-gauche-1"> <img src="/landing/img/recrutement-informatique.jpg"
|
||||
alt="Recrutement informatique" data-no-retina> </div>
|
||||
<div class="col-md-7 bloc-droit-1" style="padding: 2em 4em;">
|
||||
<h2>Les difficultés de recrutement informatique freinent votre développement?</h2>
|
||||
<p>Vous n'êtes pas les seuls à chercher des solutions originales pour <strong>attirer et recruter de nouveaux
|
||||
développeurs</strong>, c'est un constat partagé : le secteur de l'informatique peine à recruter.</p>
|
||||
|
||||
<p>Même dans ce contexte sanitaire difficile, 15% des entreprises de l'ingéniérie informatique envisagent de
|
||||
recruter des développeurs. Le nombre de projets de recrutement n'a jamais été aussi élevé.</p>
|
||||
<p><strong>Mais comment recruter des développeurs web (php, java, react, angular) ?</strong></p>
|
||||
<p>Pour cibler les jeunes talents, les "millennials", <strong>adoptez leurs codes pour mieux les toucher</strong>. La vidéo en
|
||||
fait partie. Au delà de l'audience qu'elle générera, elle humanisera votre communication et renforcera votre
|
||||
proximité entre votre cible et votre marque employeur.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<!--about end-->
|
||||
|
||||
<!--about 2-->
|
||||
<section class="about section-spacing-little">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-md-7 bloc-droit-2" style="padding: 2em 4em;">
|
||||
<h2>Publiez une offre d'emploi attractive pour réussir votre recherche de développeur web</h2>
|
||||
<p>L'offre d'emploi vidéo est un projet fédérateur et participatif qui permet d'<strong>impliquer vos collaborateurs</strong>.
|
||||
Ils sont <strong>fiers de montrer leur quotidien mais aussi le métier de développeur</strong> sous un autre angle. Cette dynamique permet
|
||||
d'une part de souder vos équipes et d'autre part, montrer à l'extérieur l'ambiance qui y règne.</p>
|
||||
<p><strong>L'offre d'emploi vidéo pour attirer et recruter des développeurs :</strong></p>
|
||||
|
||||
<ul class="list-puces">
|
||||
<li>Parlez le même langage que les développeurs. Ils ont besoin de sentir qu'ils font partie d'une communauté</li>
|
||||
<li>Montrez l'ambiance et les à-côtés (salle de pause, animation de communauté, soirée,...)</li>
|
||||
<li>Ouvrez la porte aux personnes non diplômées. (73% d'entre elles ont commencé à coder avant l'âge de 20 ans
|
||||
sans diplôme)</li>
|
||||
<li>Pas besoin d’une super vidéo pour donner du corps et du sens à votre futur candidat</li>
|
||||
</ul><br>
|
||||
<p><strong>Produire des vidéos n’a jamais été aussi simple</strong><br>
|
||||
Passer à la vidéo est beaucoup plus abordable aujourd'hui.
|
||||
Avec l'aide de la caméra de votre téléphone (iPhone ou autres smartphones), la capture vidéo est devenue une
|
||||
formalité.
|
||||
Dans un souci d'authenticité, il est d'ailleurs préférable de choisir ces modes d'enregistrement au lieu
|
||||
des méthodes de prise de vue classiques et beaucoup plus coûteuses
|
||||
</p>
|
||||
</div>
|
||||
<div class="col-md-5 bloc-gauche-2"> <img src="/landing/img/recherche-developpeur.jpg"
|
||||
alt="Recherche développeur" data-no-retina> </div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<!--about end-->
|
||||
|
||||
<!--about 3-->
|
||||
<section class="about section-spacing-little">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-md-5 bloc-gauche-1"> <img src="/landing/img/recrutement-developpeur.jpg"
|
||||
alt="Recrutement developpeur" data-no-retina> </div>
|
||||
<div class="col-md-7 bloc-droit-1" style="padding: 2em 4em;">
|
||||
<h2>Recevez des candidatures de développeurs web</h2>
|
||||
<p>Une vidéo, oui, mais comment communiquer avec ses candidats ? En gérant ses candidats en vidéo
|
||||
!</p>
|
||||
|
||||
<p>Vous avez une vidéo marque employeur ou une vidéo d'offre d'emploi ?</p>
|
||||
<p>Vous voulez que les développeurs puissent interagir avec vous. Pourquoi ne pas les laisser postuler en
|
||||
vidéo ? <strong>Grâce à la candidature vidéo, découvrez qui se cache derrière le CV papier</strong>. Au déla des
|
||||
compétences, rencontrez des personnalités ! Vous aurez <strong>déjà l'impression de connaitre votre candidat</strong> avant
|
||||
son entretien. De son côté, le développeur aura enfin la possibilité d'exprimer qui il est au delà d'un simple CV papier. Les développeurs ont besoin d'être écoutés. Grâce à la candidature vidéo, ils sauront que <strong>vous leurs consacrerez au moins deux minutes d'attention.</strong></p>
|
||||
|
||||
<p>Talents Tube met à votre disposition un outil de diffusion de vos vidéos d’offres d’emploi & marque
|
||||
employeur pour <strong>attirer les meilleurs talents en vidéo</strong>. Cette plateforme rassemble l’entreprise et les
|
||||
talents qui se présentent en vidéo <strong>pour un recrutement réussi</strong>. Vous pouvez même leur répondre de manière
|
||||
positive ou négative … en vidéo bien sûr. </p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<!--about end-->
|
||||
|
||||
<!--sponsor-->
|
||||
<section class="sponsor section-spacing text-center">
|
||||
<div class="container">
|
||||
<header>
|
||||
<h2>Ils ont recruté en vidéo, pourquoi pas vous ?</h2>
|
||||
<h3>Ces entreprises de l'informatique ont choisi Talents Tube pour recruter des développeurs autrement !</h3>
|
||||
</header>
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<figure>
|
||||
<img
|
||||
src="https://recruteur.talentstube.com//media/cache/profile_thumb/uploads/img/d1455e7fffbefd4128886edf86198e1d.png"
|
||||
data-at2x="https://recruteur.talentstube.com//media/cache/profile_thumb/uploads/img/d1455e7fffbefd4128886edf86198e1d.png"
|
||||
alt="MGDIS difficulté à recruter informatique " width="100" height="32">
|
||||
</figure>
|
||||
<figure>
|
||||
<img
|
||||
src="https://recruteur.talentstube.com//media/cache/profile_thumb/uploads/img/80ec2e6eef2f7d67be06874c0eedbc45.jpeg"
|
||||
data-at2x="https://recruteur.talentstube.com//media/cache/profile_thumb/uploads/img/80ec2e6eef2f7d67be06874c0eedbc45.jpeg"
|
||||
alt="Medaviz difficulté à recruter informatique" width="100" height="100">
|
||||
</figure>
|
||||
<figure>
|
||||
<img
|
||||
src="https://recruteur.talentstube.com//media/cache/profile_thumb/uploads/img/4babe80a352d085e8c766a20b7067d73.png"
|
||||
data-at2x="https://recruteur.talentstube.com//media/cache/profile_thumb/uploads/img/4babe80a352d085e8c766a20b7067d73.png"
|
||||
alt="A2COM difficulté à recruter informatique" width="100" height="100">
|
||||
</figure>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</section>
|
||||
<!--sponsor end-->
|
||||
<!--venue-->
|
||||
<section class="venue section-spacing" id="venue_informatique">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="container text-center">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<!--goodbye-message-->
|
||||
<div class="appel-action">
|
||||
<h2>Organisons un rendez-vous diagnostic gratuit</h2>
|
||||
<p>Bénéficiez de 15 minutes de diagnostic gratuit pour faire le point sur vos enjeux de recrutement, <br>identifier ce que Talents Tube peut résoudre et prendre connaissance de l’offre la plus appropriée pour votre entreprise.</p>
|
||||
<button class="bttn" data-toggle="modal" data-target="#exampleModal" style="margin-top:30px;">Demander mon diagnostic</button>
|
||||
</div>
|
||||
<!--goodbye-message end-->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</main>
|
||||
{% endblock %}
|
||||
{% block modalCallToAction %}
|
||||
{{ parent() }}
|
||||
{% endblock %}
|
||||
|
||||
{% block javascripts %}
|
||||
{% endblock %}
|
||||
@@ -0,0 +1,240 @@
|
||||
{% extends "baseLanding.html.twig" %}
|
||||
{% block title %}Valorisez votre métier en tension et recrutez des candidats en vidéo{% endblock %}
|
||||
{% block meta %}
|
||||
<meta name="description" content="Votre métier est en tension ? Vous souhaitez améliorer son attractivité ? Avec le recrutement vidéo, valorisez votre métier et recevez des candidatures vidéo.">
|
||||
<meta property="og:locale" content="fr_FR">
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:title" content="Valorisez votre métier en tension et recrutez des candidats en vidéo">
|
||||
<meta property="og:description" content="Votre métier est en tension ? Vous souhaitez améliorer son attractivité ? Avec le recrutement vidéo, valorisez votre métier et recevez des candidatures vidéo.">
|
||||
<meta property="og:url" content="https://recruteur.talentstube.com/metier-en-tension">
|
||||
<meta property="og:site_name" content="Talents Tube">
|
||||
<meta property="og:image" content="https://recruteur.talentstube.com/landing/img/secteur-aide-domicile-peine-a-recruter.jpg">
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<link rel="canonical" href="https://recruteur.talentstube.com/metier-en-tension" />
|
||||
{% endblock %}
|
||||
{% block modalCallToAction %}
|
||||
{{ parent() }}
|
||||
{% endblock %}
|
||||
{% block main %}
|
||||
<main>
|
||||
|
||||
<!--Header : Menu et Vidéo en fond-->
|
||||
<header class="hero-section-metier-tension">
|
||||
<!--HTML5 Video-->
|
||||
<video autoplay loop muted id="bgvid" poster="">
|
||||
<source src="/landing/video/metier-en-tension-montrez-vous.mp4" type="video/mp4"
|
||||
alt="Métier en tension, montrez-vous !">
|
||||
<!--Prévoir une image fixe pour la version mobile : main.css : 102-->
|
||||
</video>
|
||||
|
||||
<!--HTML5 Video end-->
|
||||
<div class="overlay"></div>
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="logo-header" style="display:inline-block;">
|
||||
<img src="/landing/img/talentstube-logo-blanc.svg" data-at2x="/landing/img/talentstube-logo-blanc@2x.svg"
|
||||
alt="Talents Tube" class="logo-talentstube" style="width:150px">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!--nav-->
|
||||
<nav class="navbar-default">
|
||||
<!-- clas="navbar"-->
|
||||
<div class="container">
|
||||
<div class="logo-brand">
|
||||
<img src="https://blog.talentstube.com/wp-content/uploads/2021/02/TalentsTube-logo-blanc.svg"
|
||||
data-at2x="https://blog.talentstube.com/wp-content/uploads/2021/02/TalentsTube-logo-blanc.svg"
|
||||
alt="Talents Tube, plateforme de recrutement en vidéo" class="logo-head">
|
||||
</div>
|
||||
<!--<div class="navbar-header">
|
||||
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-navbar-collapse-1">
|
||||
<span class="sr-only">Toggle navigation</span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
</div>-->
|
||||
<div class="collapse navbar-collapse" id="bs-navbar-collapse-1">
|
||||
<div class="row">
|
||||
<div class="logo-header" style="display:inline-block;">
|
||||
<img src="https://blog.talentstube.com/wp-content/uploads/2021/02/talents-tube-logo-color.svg'"
|
||||
data-at2x="https://blog.talentstube.com/wp-content/uploads/2021/02/talents-tube-logo-color.svg"
|
||||
alt="Talents Tube" class="logo-nav">
|
||||
</div>
|
||||
<ul class="nav navbar-nav navbar-right">
|
||||
<li>
|
||||
<div class="mj-w-button mj-w-btn bttn" data-toggle="modal" data-target="#exampleModal">Demander un diagnostic</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
<!--nav end-->
|
||||
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<!--welcome-message-->
|
||||
<div class="welcome-message">
|
||||
<h1>Métier en tension : Montrez-vous pour attirer et recruter de nouveaux collaborateurs !</h1>
|
||||
<p>Votre métier est en tension et souffre d'un déficit d'image ?
|
||||
Vous n'arrivez plus à recruter et cela freine le développement de votre activité ?</p>
|
||||
<p>Et si Talents Tube avait la solution idéale pour réussir vos recrutements !</p>
|
||||
</div>
|
||||
<!--welcome-message end-->
|
||||
<div class=" video-header">
|
||||
<button class="bttn" data-toggle="modal" data-target="#exampleModal">Demander un diagnostic</button>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
<!--Header end-->
|
||||
<!--about 1-->
|
||||
<section class="about section-spacing-little" style="margin-top:20px">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-md-5 bloc-gauche-1"> <img src="/landing/img/secteur-aide-domicile-peine-a-recruter.jpg"
|
||||
alt="Les métiers en tension peinent à recruter" data-no-retina> </div>
|
||||
<div class="col-md-7 bloc-droit-1" style="padding: 2em 4em;">
|
||||
<h2>Votre métier est en tension et les difficultés de recrutement freinent votre développement ?</h2>
|
||||
<p>Vous rencontrez des <strong>difficultés à recruter</strong> de nouveaux collaborateurs.
|
||||
<strong>Votre métier est peu valorisé, méconnu et souffre d'un déficit d'image</strong>. Il
|
||||
n'attire plus et encore moins les nouvelles générations. Et pourtant, votre métier a considérablement
|
||||
évolué ces dernières années. L'image que les candidats s'en font n'est pas en adéquation avec la réalité.
|
||||
Sachez que votre métier n'est pas le seul dans ce cas, plusieurs secteurs sont touchés par une pénurie de
|
||||
candidats. </p>
|
||||
<p><strong>Mais comment réussir à recruter ?</strong></p>
|
||||
|
||||
<p>Pour attirer et réussir vos recrutements sur un métier en tension, vous devez <strong>communiquer</strong>
|
||||
!
|
||||
Donnez la parole à vos collaborateurs pour <strong>dévoiler votre métier</strong> aux
|
||||
candidats.
|
||||
Et pour cela, <strong>quoi de mieux que la vidéo</strong> ?</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<!--about end-->
|
||||
|
||||
<!--about 2-->
|
||||
<section class="about section-spacing-little">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-md-7 bloc-droit-2" style="padding: 2em 4em;">
|
||||
<h2>Publiez une offre d'emploi attractive pour faire connaître votre métier</h2>
|
||||
<p>Votre offre d'emploi mérite un coup de jeune <strong>pour attirer de nouveaux
|
||||
candidats</strong>. Grâce à l'<strong>offre d'emploi vidéo</strong>, vous allez mettre des
|
||||
images sur votre métier afin de le faire connaître au public. Votre offre d'emploi sera mieux expliquée,
|
||||
portée par des vrais visages de l'entreprise.</p>
|
||||
|
||||
<p>Faites vivre une <strong>expérience unique</strong> à vos candidats. Ils pourront ainsi
|
||||
<strong>découvrir, bien au-delà des mots, votre métier</strong>, leur future équipe,
|
||||
l'ambiance et l'environnement de travail que vous proposez. </p>
|
||||
|
||||
<p>Cette offre d'emploi plus attractive vous permettra de <strong>capter l'attention de
|
||||
candidats que vous n'auriez pas réussi à atteindre autrement</strong>.</p>
|
||||
</div>
|
||||
<div class="col-md-5 bloc-gauche-2"> <img src="/landing/img/candidatures-metier-en-tension-en-video.jpg"
|
||||
alt="Recruter sur un métier en tension grâce à la vidéo" data-no-retina> </div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<!--about end-->
|
||||
|
||||
<!--about 3-->
|
||||
<section class="about section-spacing-little">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-md-5 bloc-gauche-1"> <img src="/landing/img/candidatures-aide-a-domicile-en-video.jpg"
|
||||
alt="Candidatures métier en tension en vidéo" data-no-retina> </div>
|
||||
<div class="col-md-7 bloc-droit-1" style="padding: 2em 4em;">
|
||||
<h2>Recevez des candidatures que vous n'auriez pas eu autrement</h2>
|
||||
<p>Parce que la <strong>personnalité des candidats est un élément primordial</strong> dans
|
||||
vos recrutements, avec Talents Tube découvrez-les au-delà du CV papier. Grâce à la <strong>candidature
|
||||
vidéo</strong>, les candidats s'adressent directement à vous et expriment
|
||||
en toute authenticité, pourquoi ils souhaitent rejoindre VOTRE entreprise. Et parce que vous avez dévoilé
|
||||
votre métier en vidéo, le candidat peut davantage se projeter dans votre entreprise. Il peut
|
||||
<strong>exprimer bien plus que ce qu'il n'aurait pu présenter sur une simple feuille de
|
||||
papier</strong>.</p>
|
||||
<p><strong>Moins de CV, plus de talent grâce à la candidature vidéo</strong> :</p>
|
||||
<ul class="list-puces">
|
||||
<li>Gagnez du temps de pré-sélection et rencontrez uniquement les candidats réellement impliqués</li>
|
||||
<li>Découvrez des candidats « pépite » qui ne seraient pas sortis du lot dans la pile des candidatures
|
||||
papier</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<!--about end-->
|
||||
|
||||
<!--sponsor-->
|
||||
<section class="sponsor section-spacing text-center">
|
||||
<div class="container">
|
||||
<header>
|
||||
<h2>Ils ont recruté en vidéo, pourquoi pas vous ?</h2>
|
||||
<h3>Ces entreprises ont choisi Talents Tube pour recruter en vidéo ! </h3>
|
||||
</header>
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<figure><img
|
||||
src="https://recruteur.talentstube.com/media/cache/profile_thumb/uploads/img/58d59033851aa9d4d633cd895d794fcf.jpeg"
|
||||
alt="admr secteur aide à domicile en tension"
|
||||
data-at2x="https://recruteur.talentstube.com/media/cache/profile_thumb/uploads/img/58d59033851aa9d4d633cd895d794fcf.jpeg"
|
||||
width="100" height="32"></figure>
|
||||
<figure><img
|
||||
src="https://recruteur.talentstube.com//media/cache/profile_thumb/uploads/img/0dc350ae6a639b3671b7a262e51ad581.jpeg"
|
||||
data-at2x="https://recruteur.talentstube.com//media/cache/profile_thumb/uploads/img/0dc350ae6a639b3671b7a262e51ad581.jpeg"
|
||||
alt="tpc ouest secteur btp en tension" width="100" height="100"></figure>
|
||||
<figure><img
|
||||
src="https://recruteur.talentstube.com//media/cache/profile_thumb/uploads/img/7700369aae83d9b84ac0f42a0e63277f.jpeg"
|
||||
data-at2x="https://recruteur.talentstube.com//media/cache/profile_thumb/uploads/img/7700369aae83d9b84ac0f42a0e63277f.jpeg"
|
||||
alt="la centrale des ramoneurs, difficulté de recrutement" width="100" height="100"></figure>
|
||||
<figure><img
|
||||
src="https://recruteur.talentstube.com//media/cache/profile_thumb/uploads/img/60ac27698d9f443a1acc4fbdebd07a9e.png"
|
||||
data-at2x="https://recruteur.talentstube.com//media/cache/profile_thumb/uploads/img/60ac27698d9f443a1acc4fbdebd07a9e.png"
|
||||
alt="intermarché, métier en tension" width="100" height="100"></figure>
|
||||
</div>
|
||||
</div>
|
||||
<!--<div class="row">
|
||||
<div class="col-md-12">
|
||||
<figure><img src="https://recruteur.talentstube.com//media/cache/profile_thumb/uploads/img/c99c8a1e7cd4b9bf249053774d72e0c9.jpeg" data-at2x="https://recruteur.talentstube.com//media/cache/profile_thumb/uploads/img/c99c8a1e7cd4b9bf249053774d72e0c9.jpeg" alt="sponsor"></figure>
|
||||
<figure><img src="https://recruteur.talentstube.com//media/cache/profile_thumb/uploads/img/0dc350ae6a639b3671b7a262e51ad581.jpeg" data-at2x="https://recruteur.talentstube.com//media/cache/profile_thumb/uploads/img/0dc350ae6a639b3671b7a262e51ad581.jpeg" alt="sponsor"></figure>
|
||||
<figure><img src="https://recruteur.talentstube.com//media/cache/profile_thumb/uploads/img/0a4c111bc35a4b2ab654ab8fce9f1d53.png" data-at2x="https://recruteur.talentstube.com//media/cache/profile_thumb/uploads/img/0a4c111bc35a4b2ab654ab8fce9f1d53.png" alt="sponsor"></figure>
|
||||
<figure><img src="https://recruteur.talentstube.com//media/cache/profile_thumb/uploads/img/4f3dba583fea12c01a9c708772b1e0ac.jpeg" data-at2x="https://recruteur.talentstube.com//media/cache/profile_thumb/uploads/img/4f3dba583fea12c01a9c708772b1e0ac.jpeg" alt="sponsor"></figure>
|
||||
</div>
|
||||
</div>-->
|
||||
</div>
|
||||
</section>
|
||||
<!--sponsor end-->
|
||||
<!--venue-->
|
||||
<section class="venue section-spacing" id="venue_metierTension">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="container text-center">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<!--goodbye-message-->
|
||||
<div class="appel-action">
|
||||
<h2>Organisons un rendez-vous diagnostic gratuit</h2>
|
||||
<p>Bénéficiez de 15 minutes de diagnostic gratuit pour faire le point sur vos enjeux de recrutement, <br>identifier ce que Talents Tube peut résoudre et prendre connaissance de l’offre la plus appropriée pour votre entreprise.</p>
|
||||
<button class="bttn" data-toggle="modal" data-target="#exampleModal" style="margin-top:30px;">Demander mon diagnostic</button>
|
||||
</div>
|
||||
<!--goodbye-message end-->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</main>
|
||||
{% endblock %}
|
||||
|
||||
{% block javascripts %}
|
||||
|
||||
{% endblock %}
|
||||
@@ -0,0 +1,260 @@
|
||||
{% extends "baseLanding.html.twig" %}
|
||||
{% block title %}Réalisez une offre d’emploi originale vous-même{% endblock %}
|
||||
{% block meta %}
|
||||
<meta name="description"
|
||||
content="Créez des vidéos d’offres d’emploi originales avec Talents Tube. Réalisez vos vidéos rapidement avec un smartphone et recrutez">
|
||||
<meta property="og:locale" content="fr_FR" />
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:title" content="Réalisez une offre d’emploi originale vous-même" />
|
||||
<meta property="og:description"
|
||||
content="Créez des vidéos d’offres d’emploi originales avec Talents Tube. Réalisez vos vidéos rapidement avec un smartphone et recrutez" />
|
||||
<meta property="og:url" content="https://recruteur.talentstube.com/offre-emploi-originale" />
|
||||
<meta property="og:site_name" content="Talents Tube : espace recruteur" />
|
||||
<meta property="og:image" content="https://recruteur.talentstube.com/landing/img/offre-emploi-originale-en-video.jpg" />
|
||||
<meta name="twitter:card" content="summary_large_image" />
|
||||
<link rel="canonical" href="https://recruteur.talentstube.com/offre-emploi-originale" />
|
||||
{% endblock %}
|
||||
{% block modalCallToAction %}
|
||||
{{ parent() }}
|
||||
{% endblock %}
|
||||
{% block main %}
|
||||
<!-- Modal : Vidéo -->
|
||||
<div class="modal fade bd-example-modal-lg" id="exampleModalCenter" tabindex="-1" role="dialog"
|
||||
aria-labelledby="myLargeModalLabel" aria-hidden="true">
|
||||
<div class="modal-dialog modal-lg" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="container-video" style="position:relative;width:100%;height:0;padding-bottom:56.25%;">
|
||||
<iframe src="https://www.youtube.com/embed/gOXg9e29dyc"
|
||||
style="position: absolute;top: 0;left: 0;width: 100%;height: 100%;" frameborder="0"
|
||||
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
|
||||
allowfullscreen id="player"></iframe>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-secondary" data-dismiss="modal" onclick="fermerVideo()">Fermer</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!--Modal : Vidéo End -->
|
||||
<main>
|
||||
|
||||
<!--Header : Menu et Vidéo en fond-->
|
||||
<header class="hero-section">
|
||||
<!--HTML5 Video-->
|
||||
<video autoplay loop muted id="bgvid" poster="">
|
||||
<source src="/landing/video/modele-offre-emploi-originale.mp4" type="video/mp4"
|
||||
alt="Modèle offre d'emploi originale">
|
||||
<!--Prévoir une image fixe pour la version mobile : main.css : 102-->
|
||||
</video>
|
||||
|
||||
<!--HTML5 Video end-->
|
||||
<div class="overlay"></div>
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="logo-header" style="display:inline-block;">
|
||||
<img src="/landing/img/talentstube-logo-blanc.svg" data-at2x="/landing/img/talentstube-logo-blanc@2x.svg"
|
||||
alt="Talents Tube" class="logo-talentstube" style="width:150px">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!--nav-->
|
||||
<nav class="navbar-default">
|
||||
<!-- clas="navbar"-->
|
||||
<div class="container">
|
||||
<div class="logo-brand">
|
||||
<img src="https://blog.talentstube.com/wp-content/uploads/2021/02/TalentsTube-logo-blanc.svg"
|
||||
data-at2x="https://blog.talentstube.com/wp-content/uploads/2021/02/TalentsTube-logo-blanc.svg"
|
||||
alt="Talents Tube, plateforme de recrutement en vidéo" class="logo-head">
|
||||
</div>
|
||||
<!--<div class="navbar-header">
|
||||
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-navbar-collapse-1">
|
||||
<span class="sr-only">Toggle navigation</span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
</div>-->
|
||||
<div class="collapse navbar-collapse" id="bs-navbar-collapse-1">
|
||||
<div class="row">
|
||||
<div class="logo-header" style="display:inline-block;">
|
||||
<img src="https://blog.talentstube.com/wp-content/uploads/2021/02/talents-tube-logo-color.svg'"
|
||||
data-at2x="https://blog.talentstube.com/wp-content/uploads/2021/02/talents-tube-logo-color.svg"
|
||||
alt="Talents Tube" class="logo-nav">
|
||||
</div>
|
||||
<ul class="nav navbar-nav navbar-right">
|
||||
<li>
|
||||
<div class="mj-w-button mj-w-btn bttn" data-toggle="modal" data-target="#exampleModal">Demander un
|
||||
rendez-vous</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
<!--nav end-->
|
||||
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<!--welcome-message-->
|
||||
<div class="welcome-message">
|
||||
|
||||
<h1>Créez des vidéos d’offres d’emploi avec votre smartphone</h1>
|
||||
<p>Vous voulez recruter rapidement, efficacement, vous démarquer de la concurrence tout en restant
|
||||
vous-même ? Votre recrutement, c’est dans la poche avec Talents Tube !</p>
|
||||
</div>
|
||||
<!--welcome-message end-->
|
||||
<div class="action-btn video-header">
|
||||
<button class="bttn" data-toggle="modal" data-target="#exampleModal">Demander un rendez-vous</button>
|
||||
<button class="bttn" data-toggle="modal" data-target=".bd-example-modal-lg">Voir la démo</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
<!--Header end-->
|
||||
<!--about 1-->
|
||||
<section class="about section-spacing-little" style="margin-top:20px">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-md-5 bloc-gauche-1"> <img src="/landing/img/realiser-offre-emploi-originale.jpg"
|
||||
alt="Réaliser une offre d'emploi originale avec un smartphone" data-no-retina> </div>
|
||||
<div class="col-md-7 bloc-droit-1" style="padding: 2em 4em;">
|
||||
<h2>Votre offre d’emploi originale en vidéo</h2>
|
||||
<p>Parce que <span class="texte-gras">votre recrutement mérite mieux que du texte</span>, lancez-vous dans
|
||||
<span class="texte-gras">la vidéo de recrutement !</span></p>
|
||||
<p>Vous êtes en quête de rapidité et d’efficacité dans votre processus de recrutement? Vous ne voulez pas
|
||||
ressembler à vos concurrents?</p>
|
||||
<p>Démarquez-vous avec des <span class="texte-gras">annonces de recrutement originales et
|
||||
attractives.</span>En filmant vos collaborateurs, vos gestes métiers, vous offrez une <span
|
||||
class="texte-gras">meilleure expérience candidat</span>, vous engagez et valorisez vos collaborateurs et
|
||||
vous <span class="texte-gras">recrutez plus efficacement.</span></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<!--about end-->
|
||||
|
||||
<!--about 2-->
|
||||
<section class="about section-spacing-little">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-md-7 bloc-droit-2" style="padding: 2em 4em;">
|
||||
<h2>Votre vidéo de recrutement originale avec un smartphone</h2>
|
||||
<p>Vous vous dites que c’est une super idée mais <span class="texte-gras">faire une vidéo c’est trop
|
||||
compliqué, trop cher et pas pour vous !</span></p>
|
||||
<p>Sachez qu’aujourd’hui, vous pouvez <span class="texte-gras">créer des vidéos facilement !</span></p>
|
||||
<p>Vous possédez <span class="texte-gras">un smartphone avec une caméra</span> ultra performante qui vous
|
||||
permet de créer du contenu vidéo tout le temps et partout, avec une qualité pro. Et tout ceci ne nécessite
|
||||
aucun investissement supplémentaire.</p>
|
||||
<p><span class="texte-gras">Le recrutement vidéo</span> est dans votre poche !</p>
|
||||
</div>
|
||||
<div class="col-md-5 bloc-gauche-2"> <img src="/landing/img/recruter-rapidement-offre-emploi-originale.jpg"
|
||||
alt="Recruter rapidement avec une offre d'emploi vidéo originale" data-no-retina> </div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<!--about end-->
|
||||
|
||||
<!--about 3-->
|
||||
<section class="about section-spacing-little">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-md-5 bloc-gauche-1"> <img src="/landing/img/etape-realisation-offre-emploi-originale.jpg"
|
||||
alt="3 étapes pour réaliser une offre d'emploi originale" data-no-retina> </div>
|
||||
<div class="col-md-7 bloc-droit-1" style="padding: 2em 4em;">
|
||||
<h2>Un recrutement vidéo rapide en quelques étapes</h2>
|
||||
<p>Avec Talents Tube, vous allez recruter de nouveaux profils en seulement 3 étapes :</p>
|
||||
<ul class="list-puces">
|
||||
<li>Rédigez votre scénario pour préparer le tournage de votre vidéo</li>
|
||||
<li>Réalisez votre offre d’emploi vidéo avec un smartphone</li>
|
||||
<li>Envoyez-nous vos séquences vidéo</li>
|
||||
<li>Pour vous, nous réalisons le montage de votre vidéo</li>
|
||||
<li>Et nous vous accompagnons dans votre recherche du candidat idéal</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<!--about end-->
|
||||
|
||||
<!--sponsor-->
|
||||
<section class="sponsor section-spacing text-center">
|
||||
<div class="container">
|
||||
<header>
|
||||
<h2>Ils ont recruté en vidéo</h2>
|
||||
<h3>Ces entreprises ont choisi Talents Tube pour recruter avec des offres d'emploi originales !</h3>
|
||||
</header>
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<figure><img
|
||||
src="https://recruteur.talentstube.com/media/cache/profile_thumb/uploads/img/94c787c21c93a6b905eca6b739eedbf2.png"
|
||||
data-at2x="https://recruteur.talentstube.com/media/cache/profile_thumb/uploads/img/94c787c21c93a6b905eca6b739eedbf2.png"
|
||||
alt="actual-offre-emploi-orignale"></figure>
|
||||
<figure><img
|
||||
src="https://recruteur.talentstube.com/media/cache/profile_thumb/uploads/img/4f3dba583fea12c01a9c708772b1e0ac.jpeg"
|
||||
data-at2x="https://recruteur.talentstube.com/media/cache/profile_thumb/uploads/img/4f3dba583fea12c01a9c708772b1e0ac.jpeg"
|
||||
alt="aer-recyclage-offre-emploi-orignale"></figure>
|
||||
<figure><img
|
||||
src="https://recruteur.talentstube.com/media/cache/profile_thumb/uploads/img/154d998227e24b1e44e6e520ab2e09a2.png"
|
||||
data-at2x="https://recruteur.talentstube.com/media/cache/profile_thumb/uploads/img/154d998227e24b1e44e6e520ab2e09a2.png"
|
||||
alt="cdg-offre-emploi-orignale"></figure>
|
||||
<figure><img
|
||||
src="https://recruteur.talentstube.com/media/cache/profile_thumb/uploads/img/c076323088783c6aa0093563dcdd1f16.jpeg"
|
||||
data-at2x="https://recruteur.talentstube.com/media/cache/profile_thumb/uploads/img/c076323088783c6aa0093563dcdd1f16.jpeg"
|
||||
alt="temporis-offre-emploi-orignale"></figure>
|
||||
</div>
|
||||
</div>
|
||||
<!--<div class="row">
|
||||
<div class="col-md-12">
|
||||
<figure><img src="https://recruteur.talentstube.com//media/cache/profile_thumb/uploads/img/c99c8a1e7cd4b9bf249053774d72e0c9.jpeg" data-at2x="https://recruteur.talentstube.com//media/cache/profile_thumb/uploads/img/c99c8a1e7cd4b9bf249053774d72e0c9.jpeg" alt="sponsor"></figure>
|
||||
<figure><img src="https://recruteur.talentstube.com//media/cache/profile_thumb/uploads/img/0dc350ae6a639b3671b7a262e51ad581.jpeg" data-at2x="https://recruteur.talentstube.com//media/cache/profile_thumb/uploads/img/0dc350ae6a639b3671b7a262e51ad581.jpeg" alt="sponsor"></figure>
|
||||
<figure><img src="https://recruteur.talentstube.com//media/cache/profile_thumb/uploads/img/0a4c111bc35a4b2ab654ab8fce9f1d53.png" data-at2x="https://recruteur.talentstube.com//media/cache/profile_thumb/uploads/img/0a4c111bc35a4b2ab654ab8fce9f1d53.png" alt="sponsor"></figure>
|
||||
<figure><img src="https://recruteur.talentstube.com//media/cache/profile_thumb/uploads/img/4f3dba583fea12c01a9c708772b1e0ac.jpeg" data-at2x="https://recruteur.talentstube.com//media/cache/profile_thumb/uploads/img/4f3dba583fea12c01a9c708772b1e0ac.jpeg" alt="sponsor"></figure>
|
||||
</div>
|
||||
</div>-->
|
||||
</div>
|
||||
</section>
|
||||
<!--sponsor end-->
|
||||
<!--venue-->
|
||||
<section class="venue section-spacing" id="venue">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="container text-center">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<!--goodbye-message-->
|
||||
<div class="appel-action">
|
||||
<h2>Créez votre première offre d’emploi originale avec un smartphone</h2>
|
||||
<p>Il ne vous reste plus qu'un clic pour recruter rapidement, efficacement et vous démarquer de la
|
||||
concurrence...</p>
|
||||
<p>Lancez-vous et demandez un rendez-vous dès maintenant !</p>
|
||||
<br>
|
||||
<p>Bénéficiez de 15 minutes de diagnostic gratuit pour faire le point sur vos enjeux de recrutement,
|
||||
<br>identifier ce que Talents Tube peut résoudre et prendre connaissance de l’offre la plus appropriée
|
||||
pour votre entreprise.</p>
|
||||
<button class="bttn" data-toggle="modal" data-target="#exampleModal" style="margin-top:30px;">Demander
|
||||
un rendez-vous</button>
|
||||
</div>
|
||||
<!--goodbye-message end-->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</main>
|
||||
{% endblock %}
|
||||
|
||||
{% block javascripts %}
|
||||
|
||||
{% endblock %}
|
||||
@@ -1,7 +1,7 @@
|
||||
{% block dropzone %}
|
||||
<div id="dropzone-row" class="row">
|
||||
<div class="col s12">
|
||||
<div class="dropzone dz-clickable" id="my-awesome-dropzone">
|
||||
<div class="dropzone dz-clickable text-center" id="my-awesome-dropzone">
|
||||
<div id="template-container-dz">
|
||||
<div id="template" class="file-row">
|
||||
<div class="dz-preview">
|
||||
|
||||
@@ -1,221 +1,241 @@
|
||||
{% if is_granted('ROLE_COMPANY') %}
|
||||
{% set extendTemplate='company/base_dashboard_company_V2.html.twig' %}
|
||||
{% set extendTemplate='company/base_dashboard_company_V2.html.twig' %}
|
||||
{% elseif is_granted('ROLE_TERRITORY') %}
|
||||
{% set extendTemplate='territory/base_dashboard_territory.html.twig' %}
|
||||
{% set extendTemplate='territory/base_dashboard_territory.html.twig' %}
|
||||
{% else %}
|
||||
{% set extendTemplate='talent/base_dashboard_talent.html.twig' %}
|
||||
{% set extendTemplate='talent/base_dashboard_talent.html.twig' %}
|
||||
{% endif %}
|
||||
|
||||
{% extends extendTemplate %}
|
||||
|
||||
{% block dashContent %}
|
||||
<div class="row">
|
||||
<div class="col s12">
|
||||
|
||||
{% if medias|length == 0 and is_granted('ROLE_TALENT') %}
|
||||
<div class="col s12 center-align">
|
||||
<br/><br/>
|
||||
<strong class="color-grey3">Vous ne possédez pas encore de CV vidéo!</strong><br/>
|
||||
<span class="color-grey2">Cliquez sur le bouton pour ajouter votre première vidéo.</span>
|
||||
<br/><br/>
|
||||
<a class="btn btn-default modal-trigger" href="#addVideo">Ajouter une
|
||||
vidéo</a>
|
||||
</div>
|
||||
{% else %}
|
||||
{% if app.user.company.presentationVideo %}
|
||||
{% set media = app.user.company.presentationVideo %}
|
||||
{% endif %}
|
||||
<div class="video_premier card z-depth-3">
|
||||
<div class="card-content">
|
||||
<h4> Vous souhaitez booster vos recrutements ?</h4>
|
||||
<p>Ajoutez une vidéo marque employeur pour présenter
|
||||
votre entreprise et attirer de nouveaux talents.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="video_premier card z-depth-3">
|
||||
<div class="card-image">
|
||||
{% if app.user.company.presentationVideo %}
|
||||
<div class="embed-responsive embed-responsive-16by9">
|
||||
<iframe src="https://player.vimeo.com{{ media.getCdnUrl()|replace({ "videos": "video"}) }}"
|
||||
width="100%" height="550" frameborder="0" webkitallowfullscreen
|
||||
mozallowfullscreen allowfullscreen></iframe>
|
||||
</div>
|
||||
{# {% else %}
|
||||
<div class="no-presentation-video">
|
||||
<strong>
|
||||
Vous ne disposez pas de vidéo de présentation !
|
||||
</strong><br/>
|
||||
Cliquez sur le bouton ci-dessous pour la sélectionner dans votre bibliothèque.
|
||||
</div> #}
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
<div class="card-content">
|
||||
<p>
|
||||
{# {% if app.user.getCompany().hasCompanyVideo() != true and is_granted('ROLE_COMPANY') %}
|
||||
{% set storePath = path('company_process_cart_video_corporate') %}
|
||||
{% set message = "Vous ne disposez pas de l'option présentation vidéo pour votre entreprise, il est nécessaire de vous procurer
|
||||
l'option sur la boutique talents tube.<br /><br /><a class='btn btn-default' href='"~storePath~"'>boutique Talents Tube</a>" %}
|
||||
{{ message|raw }}
|
||||
{% else %} #}
|
||||
{% if app.user.company.presentationVideo %}
|
||||
<div><strong><span data-id="{{ media.id }}"
|
||||
class="titleVideo">{{ media.title }}</span></strong></div>
|
||||
{% else %}
|
||||
{% set label_title_video = "" %}
|
||||
{% if is_granted('ROLE_COMPANY') %}
|
||||
{% set label_title_video = "Mon entreprise en vidéo" %}
|
||||
{% elseif is_granted('ROLE_TALENT') %}
|
||||
{% set label_title_video = "Mon CV Générique" %}
|
||||
{% endif %}
|
||||
<strong>{{ label_title_video }}</strong>
|
||||
{% endif %}
|
||||
<a class="btn btn-cancel-premier red tooltipped btn-round right" href="#!"
|
||||
data-position="top" data-tooltip="Annuler">Annuler</a>
|
||||
|
||||
<a class="btn btn-default btn-video-premier right btn-orange">
|
||||
{% if app.user.company.presentationVideo %}
|
||||
Remplacer ma vidéo marque employeur
|
||||
{% else %}
|
||||
Choisir une vidéo marque employeur
|
||||
{% endif %}
|
||||
</a>
|
||||
<div class="jumbotron" data-pages="parallax">
|
||||
<div class=" container-fluid container-fixed-lg sm-p-l-0 sm-p-r-0">
|
||||
<div class="inner">
|
||||
<!-- START BREADCRUMB -->
|
||||
<ol class="breadcrumb">
|
||||
<li class="breadcrumb-item"><a href="/entreprise/me/">Accueil</a></li>
|
||||
<li class="breadcrumb-item"><a href="#">Marque Employeur</a></li>
|
||||
|
||||
|
||||
</ol>
|
||||
<!-- END BREADCRUMB -->
|
||||
|
||||
<div class="clearfix"></div>
|
||||
<div class="">
|
||||
<strong>
|
||||
Guide
|
||||
</strong><br/>
|
||||
Pour choisir votre vidéo marque employeur, cliquer sur le bouton remplacer et choisissez une vidéo dans la liste ci dessous </div>
|
||||
{# {% endif %} #}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="divider"></div>
|
||||
<br />
|
||||
<div class="row">
|
||||
<div class="col s12 center-align"><h4>Gestion de mes vidéos</h4>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col s12">
|
||||
{% if medias|length > 0 or is_granted('ROLE_COMPANY') or is_granted('ROLE_TERRITORY')%}
|
||||
<div class="col s12 col-actions">
|
||||
<a class="waves-effect waves-light btn btn-default modal-trigger" href="#addVideo">Ajouter une vidéo</a>
|
||||
<a class="btn btn-delete-video btn-round tooltipped red right" href="#!" data-position="top"
|
||||
data-tooltip="Supprimer des vidéos"><i class="fa fa-trash" aria-hidden="true"></i></a>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% for media in medias %}
|
||||
{% set classVideo = "" %}
|
||||
{% if app.user.company.presentationVideo %}
|
||||
{% set idPresentationVideo = app.user.company.presentationVideo.id %}
|
||||
{% else %}
|
||||
{% set idPresentationVideo = false %}
|
||||
{% endif %}
|
||||
{% if idPresentationVideo != media.id %}
|
||||
|
||||
<div class="col s12 m6 l4 col-card">
|
||||
<div class="card card-video-action z-depth-1">
|
||||
<div class="card-image">
|
||||
<div class="embed-responsive embed-responsive-16by9">
|
||||
<iframe src="https://player.vimeo.com{{ media.getCdnUrl()|replace({ "videos": "video"}) }}"
|
||||
width="100%" height="230px" frameborder="0" webkitallowfullscreen
|
||||
mozallowfullscreen allowfullscreen></iframe>
|
||||
</div>
|
||||
<div class="card-fog choice-fog">
|
||||
<div class="card-fog-container">
|
||||
<a data-id="{{ media.getId() }}"
|
||||
class="btn btn-default btn-default-video {{ classVideo }} tooltipped"
|
||||
data-position="top"
|
||||
data-tooltip="{{ 'global.video.defaultaction.label'|trans }}">
|
||||
Choisir cette vidéo
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
{% set classFog ="" %}
|
||||
{% set messageTooltipFog ="" %}
|
||||
{% if media.getAds().toArray() %}
|
||||
{% set classFog = "fogLight" %}
|
||||
{% set messageTooltipFog ="Vidéo associée à une annonce" %}
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
{% if media.getAnswers().toArray() %}
|
||||
{% set classFog = "fogLight" %}
|
||||
{% set messageTooltipFog ="Vidéo associée à une réponse" %}
|
||||
{% endif %}
|
||||
<div class="card-fog delete-fog {{ classFog }}">
|
||||
<div class="card-fog-container">
|
||||
{% if media.getAds().toArray() or media.getAnswers().toArray() %}
|
||||
<div class="card-fog-message">
|
||||
Vous ne pouvez pas supprimer cette vidéo.<br/>
|
||||
<i data-position="top" data-tooltip="{{ messageTooltipFog }}"
|
||||
class="fa fa-question-circle tooltipped" aria-hidden="true"></i>
|
||||
</div>
|
||||
{% else %}
|
||||
<a class="btn btn-default halfway-fab waves-effect waves-light red delete_unattached_media tooltipped"
|
||||
href="{{ path("delete_unattached_media",{"id" : media.getId()}) }}"
|
||||
data-position="top" data-tooltip="{{ 'media.delete.video.label'|trans }}">Supprimer</a>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-content">
|
||||
<p>
|
||||
<strong><span data-id="{{ media.id }}" class="titleVideo truncate tooltipped"
|
||||
data-position="top"
|
||||
data-tooltip="{{ media.title }}">{{ media.title }}</span></strong>
|
||||
</p>
|
||||
</div>
|
||||
{% set video = null %}
|
||||
|
||||
<div class=" container-fluid container-fixed-lg">
|
||||
<div class="col-lg-8 bloc-header">
|
||||
<div class="card card-default container">
|
||||
<div class="card-body">
|
||||
<div class="row" style="min-height:10rem;">
|
||||
<div class="col-8">
|
||||
<h4 class="header-title" style="font-size:2em;line-height:1.5em;">Vous souhaitez booster vos
|
||||
recrutements ?</h4>
|
||||
<p>Ajoutez une vidéo marque employeur pour présenter votre entreprise et attirer de nouveaux
|
||||
talents.</p>
|
||||
</div>
|
||||
<div class="col-4"
|
||||
style="background-repeat: no-repeat; background-image: url('https://blog.talentstube.com/wp-content/uploads/2021/02/marque-employeur-entreprise.svg');background-size: contain;background-position: center;">
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
{% set video = null %}
|
||||
<div id="addVideo" class="modal modal-fixed-footer">
|
||||
<div class="modal-content">
|
||||
<div class="row">
|
||||
{{ form_start(form, {'attr': { 'id': 'form_media' } }) }}
|
||||
<div class="input-field col s8">
|
||||
{{ form_rest(form) }}
|
||||
</div>
|
||||
<div class="col s4 right-align">
|
||||
<button id="submit" class="btn btn-default disabled" type="submit">Enregistrer</button>
|
||||
{% set messageTooltiped = "Votre vidéo ne doit pas dépasser les 500Mo.\n
|
||||
Les formats de vidéo acceptés sont les suivants : .mp4, .mov, .qt, .mkv, .avi, .m4v, .webm." %}
|
||||
<i class="fa fa-question-circle tooltipped" data-position="top" data-delay="50"
|
||||
data-tooltip="{{ messageTooltiped }}" aria-hidden="true"></i>
|
||||
</div>
|
||||
{{ form_end(form) }}
|
||||
<div class="col s12">
|
||||
{% include 'media/dropzone.html.twig' with {'deleting': 'false'} %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<a href="#!" class="modal-action modal-close btn btn-default btn-round">Fermer</a>
|
||||
</div>
|
||||
<div class="col-lg-8">
|
||||
<div id="addVideo">
|
||||
<div class="card col p-t-20 p-b-15">
|
||||
<div class="row m-b-20">
|
||||
<div class="col">
|
||||
<div class="col">
|
||||
<h4>Importer une vidéo Marque Employeur</h4>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row ">
|
||||
<div class="col ">
|
||||
{% include 'media/dropzone.html.twig' with {'deleting': 'false'} %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col m-t-20">
|
||||
{{ form_start(form, {'attr': { 'id': 'form_media' } }) }}
|
||||
<div class="input-field col">
|
||||
<div>
|
||||
{{ form_rest(form) }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="col m-t-20">
|
||||
<button id="submit" class="btn btn-lg btn-primary disabled" type="submit">Définir comme
|
||||
vidéo marque employeur</button>
|
||||
{% set messageTooltiped = "Votre vidéo ne doit pas dépasser les 500Mo.\n
|
||||
Les formats de vidéo acceptés sont les suivants : .mp4, .mov, .qt, .mkv, .avi, .m4v, .webm." %}
|
||||
<i class="fa fa-question-circle tooltipped" data-position="top" data-delay="50"
|
||||
data-tooltip="{{ messageTooltiped }}" aria-hidden="true"></i>
|
||||
</div>
|
||||
{{ form_end(form) }}
|
||||
</div>
|
||||
</div>
|
||||
{% if app.user.company.presentationVideo %}
|
||||
{% set media = app.user.company.presentationVideo %}
|
||||
<div class="col video_premier z-depth-3 m-t-30 m-b-30">
|
||||
<div class="card-image">
|
||||
<div class="embed-responsive embed-responsive-16by9">
|
||||
{% if app.user.company.presentationVideo %}
|
||||
<div><strong><span data-id="{{ media.id }}"
|
||||
class="titleVideo">{{ media.title }}</span></strong>
|
||||
</div>
|
||||
{% else %}
|
||||
{% set label_title_video = "" %}
|
||||
{% if is_granted('ROLE_COMPANY') %}
|
||||
{% set label_title_video = "Mon entreprise en vidéo" %}
|
||||
{% elseif is_granted('ROLE_TALENT') %}
|
||||
{% set label_title_video = "Mon CV Générique" %}
|
||||
{% endif %}
|
||||
<strong>{{ label_title_video }}</strong>
|
||||
{% endif %}
|
||||
|
||||
{% set media = app.user.company.presentationVideo %}
|
||||
<iframe src="https://player.vimeo.com{{ media.getCdnUrl()|replace({ "videos": "video"}) }}"
|
||||
width="100%" height="550" frameborder="0" webkitallowfullscreen mozallowfullscreen
|
||||
allowfullscreen></iframe>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="col-lg-8">
|
||||
<div class="card card-default card-body">
|
||||
<div class="card-body">
|
||||
<h4>Gestion de mes vidéos</h4>
|
||||
{% set iteration = 0 %}
|
||||
{% set nbMedias = medias|length%}
|
||||
{% for media in medias %}
|
||||
{% set classVideo = "" %}
|
||||
{% if app.user.company.presentationVideo %}
|
||||
{% set idPresentationVideo = app.user.company.presentationVideo.id %}
|
||||
{% else %}
|
||||
{% set idPresentationVideo = false %}
|
||||
{% endif %}
|
||||
{% if idPresentationVideo != media.id %}
|
||||
{# {% if iteration is divisible by(2) or iteration==0%}
|
||||
<div class="row p-t-10 p-b-10">
|
||||
{% endif %} #}
|
||||
|
||||
<div class="col">
|
||||
<div class="card-image">
|
||||
<div class="embed-responsive embed-responsive-16by9">
|
||||
<iframe
|
||||
src="https://player.vimeo.com{{ media.getCdnUrl()|replace({ "videos": "video"}) }}"
|
||||
width="100%" height="230px" frameborder="0" webkitallowfullscreen mozallowfullscreen
|
||||
allowfullscreen></iframe>
|
||||
</div>
|
||||
<div class="row m-t-10 m-b-10">
|
||||
<div class="col card-fog choice-fog">
|
||||
<div class="card-fog-container">
|
||||
<a data-id="{{ media.getId() }}"
|
||||
class="btn btn-default btn-default-video tooltipped"
|
||||
data-position="top"
|
||||
data-tooltip="{{ 'global.video.defaultaction.label'|trans }}">
|
||||
Choisir cette vidéo
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
{% set classFog ="" %}
|
||||
{% set messageTooltipFog ="" %}
|
||||
{% if media.getAds().toArray() %}
|
||||
{% set classFog = "fogLight" %}
|
||||
{% set messageTooltipFog ="Vidéo associée à une annonce" %}
|
||||
{% endif %}
|
||||
|
||||
{% if media.getAnswers().toArray() %}
|
||||
{% set classFog = "fogLight" %}
|
||||
{% set messageTooltipFog ="Vidéo associée à une réponse" %}
|
||||
{% endif %}
|
||||
<div class="card-fog delete-fog ">
|
||||
<div class="card-fog-container">
|
||||
{% if media.getAds().toArray() or media.getAnswers().toArray() %}
|
||||
{# <div class="card-fog-message">
|
||||
Vous ne pouvez pas supprimer cette vidéo.<br />
|
||||
<i data-position="top" data-tooltip="{{ messageTooltipFog }}"
|
||||
class="fa fa-question-circle tooltipped" aria-hidden="true"></i>
|
||||
</div> #}
|
||||
{% else %}
|
||||
<a class="btn btn-default halfway-fab waves-effect waves-light red delete_unattached_media tooltipped"
|
||||
href="{{ path("delete_unattached_media",{"id" : media.getId()}) }}"
|
||||
target="_blank">Supprimer</a>
|
||||
{% endif %}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{# <div class="card-content">
|
||||
<p>
|
||||
<strong><span data-id="{{ media.id }}" class="titleVideo truncate tooltipped"
|
||||
data-position="top" data-tooltip="{{ media.title }}">{{ media.title }}</span></strong>
|
||||
</p>
|
||||
</div> #}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
{# cas d'un nombre impair de video #}
|
||||
{# {% if nbMedias == iteration+1 and iteration is divisible by(2)%}
|
||||
<div class="col">
|
||||
<div class="card-image">
|
||||
<div class="embed-responsive embed-responsive-16by9">
|
||||
|
||||
</div>
|
||||
<div class="row m-t-10 m-b-10">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %} #}
|
||||
{# fermeture de div pour aller à la ligne quand le nombre de video est un multiple de deux et par défaut au début iteration==0 #}
|
||||
{# {% if iteration+1 is divisible by(2) or nbMedias==1%}
|
||||
</div>
|
||||
{% endif %}
|
||||
{% set iteration = iteration+1 %} #}
|
||||
{% else %}
|
||||
{# {% set nbMedias = nbMedias-1%} #}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
{% endblock %}
|
||||
{% block javascripts %}
|
||||
{{ parent() }}
|
||||
<script type="text/javascript">
|
||||
var urlDropzone = '{{ path("upload_media_default", {"id": app.user.id }) }}';
|
||||
var urlDelete = '';
|
||||
var idObject = null;
|
||||
var typeObject = null;
|
||||
var videoExist = false;
|
||||
var mediaDefaultUrl = '{{ path("media_default") }}';
|
||||
var idUser = '{{ app.user.id }}';
|
||||
var mediaEditTitleUrl = "{{ path('media_edit_title', {'id': 'id_video'})|escape('js') }}";
|
||||
</script>
|
||||
<script src="{{ asset('/js/mediaListing.js') }}"></script>
|
||||
<script src="{{ asset('/js/dropzone.js') }}"></script>
|
||||
{{ parent() }}
|
||||
<script type="text/javascript">
|
||||
var urlDropzone = '{{ path("upload_media_default", {"id": app.user.id }) }}';
|
||||
var urlDelete = '';
|
||||
var idObject = null;
|
||||
var typeObject = null;
|
||||
var videoExist = false;
|
||||
var mediaDefaultUrl = '{{ path("media_default") }}';
|
||||
var idUser = '{{ app.user.id }}';
|
||||
var mediaEditTitleUrl = "{{ path('media_edit_title', {'id': 'id_video'})|escape('js') }}";
|
||||
</script>
|
||||
<script src="{{ asset('/js/mediaListing.js') }}"></script>
|
||||
<script src="{{ asset('/js/dropzone.js') }}"></script>
|
||||
{% endblock %}
|
||||
@@ -3,22 +3,18 @@
|
||||
<div class="errors"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="profile_picture_upload">
|
||||
{{ form_start(form, { 'action': path('profile_logo'), 'attr': { 'class': 'fos_user_profile_edit' } }) }}
|
||||
<div class="col s6">
|
||||
<label for="profile_logo_file" class="btn btn-default custom-file-upload">
|
||||
<i class="fa fa-cloud-upload"></i> Importer une photo
|
||||
</label>
|
||||
{{ form_widget(form.file) }}
|
||||
{{ form_rest(form) }}
|
||||
</div>
|
||||
<div class="col s6" style="text-align: center;">
|
||||
<div id="preview_profile_picture">
|
||||
<img src="" class="resize-image responsive-img">
|
||||
</div>
|
||||
<button class="hide btn btn-default btn-save-profile-picture" type="submit">
|
||||
<i class="fa fa-floppy-o" aria-hidden="true"></i> Sauvegarder
|
||||
</button>
|
||||
</div>
|
||||
{{ form_end(form) }}
|
||||
{{ form_start(formLogo, { 'action': path('profile_logo'), 'attr': { 'class': 'fos_user_profile_edit' } }) }}
|
||||
|
||||
|
||||
|
||||
<div class="input-group">
|
||||
{# {{ form_widget(formLogo.file) }} #}
|
||||
{# {{ form_rest(formLogo) }} #}
|
||||
<button aria-label="" type="button" class="btn btn-outline-primary btn-lg m-r-10" onclick="profile_logo_file.click()">Choisir votre logo</button>
|
||||
<button class="btn btn-primary btn-lg" type="submit" id="inputGroupFileAddon04">Valider le logo</button>
|
||||
</div>
|
||||
|
||||
{{ form_end(formLogo) }}
|
||||
</div>
|
||||
@@ -80,7 +80,7 @@ twig:
|
||||
globals:
|
||||
push_public_key: "%push_params.public_key%"
|
||||
fairlane_cookie_consent: '@fairlane_cookie_consent.twig'
|
||||
version: '2.5.4'
|
||||
version: '2.10.3'
|
||||
|
||||
|
||||
|
||||
@@ -160,7 +160,7 @@ doctrine_mongodb:
|
||||
liip_imagine :
|
||||
resolvers :
|
||||
default :
|
||||
web_path : ~
|
||||
web_path: ~
|
||||
filter_sets :
|
||||
cache : ~
|
||||
profile_thumb :
|
||||
|
||||
@@ -59,6 +59,7 @@ security:
|
||||
- { path: ^/register, roles: IS_AUTHENTICATED_ANONYMOUSLY }
|
||||
- { path: ^/resetting, roles: IS_AUTHENTICATED_ANONYMOUSLY }
|
||||
- { path: ^/admin/, roles: ROLE_ADMIN }
|
||||
- { path: ^/admin/template, roles: IS_AUTHENTICATED_ANONYMOUSLY }
|
||||
- { path: ^/admin/moderation/, role: [ROLE_MODERATOR,ROLE_SUPER_ADMIN, ROLE_WEBMASTER] }
|
||||
- { path: ^/admin/config/, role: [ROLE_WEBMASTER,ROLE_SUPER_ADMIN] }
|
||||
- { path: ^/talent/me/, roles: ROLE_TALENT }
|
||||
@@ -71,6 +72,7 @@ security:
|
||||
- { path: ^/api/reset_password, roles: IS_AUTHENTICATED_ANONYMOUSLY, methods: [POST]}
|
||||
- { path: ^/api/confirmAccount, roles: IS_AUTHENTICATED_ANONYMOUSLY, methods: [POST]}
|
||||
- { path: ^/api/answers, roles: IS_AUTHENTICATED_FULLY, methods: [GET]}
|
||||
- { path: ^/api/answers/updateStatus, roles: IS_AUTHENTICATED_FULLY, methods: [GET]}
|
||||
- { path: ^/api/answer/[0-9]+/messages, roles: IS_AUTHENTICATED_FULLY, methods: [GET]}
|
||||
- { path: ^/api, roles: IS_AUTHENTICATED_FULLY, methods: [POST, PUT, DELETE, PATCH] }
|
||||
- { path: ^/api, roles: IS_AUTHENTICATED_ANONYMOUSLY, methods: [GET]}
|
||||
@@ -85,4 +87,4 @@ security:
|
||||
ROLE_ADMIN: ROLE_USER
|
||||
ROLE_TALENT: ROLE_USER
|
||||
ROLE_COMPANY: ROLE_USER
|
||||
ROLE_TERRITORY: ROLE_USER
|
||||
ROLE_TERRITORY: ROLE_USER
|
||||
|
||||
@@ -19,7 +19,12 @@ use Symfony\Bundle\FrameworkBundle\Controller\Controller;
|
||||
use Symfony\Component\HttpFoundation\Request;
|
||||
use Symfony\Component\HttpFoundation\Session\Session;
|
||||
use Symfony\Component\HttpFoundation\JsonResponse;
|
||||
|
||||
//MAILJET
|
||||
use AppBundle\Entity\Mailjet;
|
||||
// use AppBundle\Entity\Response;
|
||||
use AppBundle\Entity\Resources;
|
||||
use AppBundle\Entity\Config;
|
||||
use AppBundle\Entity\Client;
|
||||
|
||||
class AdController extends Controller
|
||||
{
|
||||
@@ -305,6 +310,29 @@ class AdController extends Controller
|
||||
$adManager = $this->get('app.ad_manager');
|
||||
$adManager->updateAd($ad);
|
||||
$this->addFlash('notice', 'Annonce enregistrée');
|
||||
$mj = new Client($this->getParameter('mailjet_public'), $this->getParameter('mailjet_private'));
|
||||
// $link = $this->generateUrl('company_answer_show', array('id' => $answer->getId()), UrlGeneratorInterface::ABSOLUTE_URL);
|
||||
|
||||
|
||||
$body = [
|
||||
'FromEmail' => "noreply@talentstube.io",
|
||||
'FromName' => "Talents Tube",
|
||||
'Subject' => "Creation/Modification Offre d'emploi ".$ad->getCompany()->getBrandName(),
|
||||
'MJ-TemplateID' =>2612525 ,
|
||||
'MJ-TemplateLanguage' => true,
|
||||
'Recipients' => [
|
||||
[
|
||||
'Email' => 'dev@talentstube.com',
|
||||
'Vars' => [
|
||||
'entreprise' => $ad->getCompany()->getBrandName(),
|
||||
'offre' => $ad->getTitle(),
|
||||
|
||||
]
|
||||
]
|
||||
]
|
||||
];
|
||||
$response = $mj->post(Resources::$Email, ['body' => $body]);
|
||||
$response->success() && var_dump($response->getData());
|
||||
return $this->redirectToRoute('company_ad');
|
||||
}
|
||||
return $this->render('company/ad_edit.html.twig', [
|
||||
|
||||
@@ -217,7 +217,7 @@ class AnswerController extends AbstractController
|
||||
case 'status':
|
||||
{
|
||||
if($answer->getstatus()=="SENDED"){
|
||||
$status= "ENVOYE <br><small>car ça choque Sarah Sended</small>";
|
||||
$status= "ENVOYE";
|
||||
}else{
|
||||
$status=$answer->getstatus();
|
||||
}
|
||||
|
||||
@@ -0,0 +1,378 @@
|
||||
<?php
|
||||
|
||||
namespace AppBundle\Controller\Admin;
|
||||
|
||||
|
||||
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
|
||||
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
|
||||
use Symfony\Component\HttpFoundation\Request;
|
||||
use AppBundle\Entity\Message;
|
||||
use Symfony\Component\HttpFoundation\RedirectResponse;
|
||||
//MAILJET
|
||||
use AppBundle\Entity\Mailjet;
|
||||
// use AppBundle\Entity\Response;
|
||||
use AppBundle\Entity\Resources;
|
||||
use AppBundle\Entity\Config;
|
||||
use AppBundle\Entity\Client;
|
||||
|
||||
use DateTime;
|
||||
use DateInterval;
|
||||
class BatchController extends Controller
|
||||
{
|
||||
|
||||
/**
|
||||
* @Route("/admin/config/batch/mailauto", name="admin_batch_mailauto")
|
||||
*/
|
||||
public function mailAutoAction()
|
||||
{
|
||||
//recuperer les messages qui ont un comment
|
||||
$em = $this->getDoctrine()->getManager();
|
||||
// requete pour les relance J+3
|
||||
$usersJ3 = $em->getRepository('AppBundle:User')->findUsersRelance("j3");
|
||||
|
||||
// requete pour les relance J+7
|
||||
$usersJ7 = $em->getRepository('AppBundle:User')->findUsersRelance("j7");
|
||||
$listeUsersRelanceJ3 = array();
|
||||
$listeUsersRelanceJ7 = array();
|
||||
//relance J+7 avec stockage des talents à qui on a envoyé un mail
|
||||
$listeUsersRelanceJ3 = $this->relanceTalents($usersJ3, "J3");
|
||||
|
||||
//relance J+7 avec stockage des talents à qui on a envoyé un mail
|
||||
$listeUsersRelanceJ7 = $this->relanceTalents($usersJ7, "J7");
|
||||
return $this->render('admin/batch_mailauto.html.twig', [
|
||||
"listeUsersRelanceJ3" => $listeUsersRelanceJ3,
|
||||
"listeUsersRelanceJ7" => $listeUsersRelanceJ7,
|
||||
]);
|
||||
}
|
||||
|
||||
private function relanceTalents($users, $type){
|
||||
$listeUsersRelance = array();
|
||||
$em = $this->getDoctrine()->getManager();
|
||||
|
||||
foreach ($users as $u) {
|
||||
|
||||
$arrayAdId = $pieces = explode(":", $u->getCompany()->getDescription());
|
||||
$adId = null;
|
||||
if(count($arrayAdId)>1){
|
||||
$adId= intval($arrayAdId[1]);
|
||||
}
|
||||
//dump($adId);
|
||||
//Envoi d'un mail de premiere relance
|
||||
$mj = new Client($this->getParameter('mailjet_public'), $this->getParameter('mailjet_private'));
|
||||
$contactMail = $u->getEmail();
|
||||
// if ($this->container->get( 'kernel' )->getEnvironment() == "dev") {
|
||||
// $contactMail = "l.laniau@talentstube.com";
|
||||
// }
|
||||
$annonceTitle =null;
|
||||
if($adId){
|
||||
// recuperer le title de l'annonce
|
||||
$ad = $em->getRepository('AppBundle:Ad')->find($adId);
|
||||
$annonceTitle= $ad->getAlias();
|
||||
if($type=="J3"){
|
||||
$body = [
|
||||
'FromEmail' => "noreply@talentstube.io",
|
||||
'FromName' => "Talents Tube",
|
||||
'Subject' => "Lancez-vous, votre futur emploi vous attend" ,
|
||||
'MJ-TemplateID' =>2725372 ,
|
||||
'MJ-TemplateLanguage' => true,
|
||||
'Recipients' => [
|
||||
[
|
||||
'Email' => $contactMail,
|
||||
'Vars' => [
|
||||
'prenom' => $u->getFirstname(),
|
||||
'intituleOffre' => $ad->getTitle(),
|
||||
'lienOffre' =>$ad->getAlias(),
|
||||
'entreprise' => $ad->getCompany()->getBrandName()
|
||||
]
|
||||
]
|
||||
]
|
||||
];
|
||||
|
||||
}else{
|
||||
$body = [
|
||||
'FromEmail' => "noreply@talentstube.io",
|
||||
'FromName' => "Talents Tube",
|
||||
'Subject' => "Besoin d'aide pour réaliser votre candidature vidéo ?" ,
|
||||
'MJ-TemplateID' =>2725437 ,
|
||||
'MJ-TemplateLanguage' => true,
|
||||
'Recipients' => [
|
||||
[
|
||||
'Email' => $contactMail,
|
||||
'Vars' => [
|
||||
'prenom' => $u->getFirstname(),
|
||||
'intituleOffre' => $ad->getTitle(),
|
||||
'lienOffre' =>$ad->getAlias(),
|
||||
'entreprise' => $ad->getCompany()->getBrandName()
|
||||
]
|
||||
]
|
||||
]
|
||||
];
|
||||
}
|
||||
}else{
|
||||
if($type=="J3"){
|
||||
$body = [
|
||||
'FromEmail' => "noreply@talentstube.io",
|
||||
'FromName' => "Talents Tube",
|
||||
'Subject' => "Vous ne savez pas comment postuler ?" ,
|
||||
'MJ-TemplateID' =>2716934 ,
|
||||
'MJ-TemplateLanguage' => true,
|
||||
'Recipients' => [
|
||||
[
|
||||
'Email' => $contactMail,
|
||||
'Vars' => [
|
||||
'prenom' => $u->getFirstname(),
|
||||
]
|
||||
]
|
||||
]
|
||||
];
|
||||
}else{
|
||||
$body = [
|
||||
'FromEmail' => "noreply@talentstube.io",
|
||||
'FromName' => "Talents Tube",
|
||||
'Subject' => "Besoin d'aide pour réaliser une candidature vidéo ?" ,
|
||||
'MJ-TemplateID' =>2725599 ,
|
||||
'MJ-TemplateLanguage' => true,
|
||||
'Recipients' => [
|
||||
[
|
||||
'Email' => $contactMail,
|
||||
'Vars' => [
|
||||
'prenom' => $u->getFirstname(),
|
||||
]
|
||||
]
|
||||
]
|
||||
];
|
||||
}
|
||||
}
|
||||
//TODO mettre un flag pour le mail de relance J+3. Mettre la date du jour
|
||||
if($type=="J3"){
|
||||
$u->setDatePremiereRelance(new Datetime());
|
||||
}else{
|
||||
$u->setDateDeuxiemeRelance(new Datetime());
|
||||
}
|
||||
$em->persist($u);
|
||||
$em->flush();
|
||||
$response = $mj->post(Resources::$Email, ['body' => $body]);
|
||||
$response->success() && var_dump($response->getData());
|
||||
|
||||
$listeUsersRelance[]=array(
|
||||
'id' => $u->getId(),
|
||||
'nom' => $u->getLastname(),
|
||||
'prenom' => $u->getFirstname(),
|
||||
'email' => $u->getEmail(),
|
||||
'annonce' => $annonceTitle
|
||||
);
|
||||
}
|
||||
return $listeUsersRelance;
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/admin/config/batch/message", name="admin_batch_message")
|
||||
*/
|
||||
public function adminBatchMessageAction()
|
||||
{
|
||||
//recuperer les messages qui ont un comment
|
||||
|
||||
return $this->render('admin/batch_message.html.twig', [
|
||||
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/admin/config/batch/message/comment", name="admin_batch_message_comment")
|
||||
*/
|
||||
public function adminBatchMessageCommentAction()
|
||||
{
|
||||
//recuperer les answers qui ont un comment
|
||||
$em = $this->getDoctrine()->getManager();
|
||||
$answers = $em->getRepository('AppBundle:Answer')->findAllComment();
|
||||
|
||||
//parcours des answers avec comment
|
||||
foreach ($answers as $a) {
|
||||
if($a->getAd()){
|
||||
$message = new Message('Chat', $a->getComment(), $a->getUser(), $a->getAd()->getCreator(), 'Message du talent', $a);
|
||||
|
||||
$message->setUTime($a->getUTime());
|
||||
$message->setCTime($a->getCTime());
|
||||
|
||||
$em->persist($message);
|
||||
$em->flush();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return $this->render('admin/dashboard.html.twig', array());
|
||||
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/admin/config/batch/geoloc", name="admin_batch_geoloc")
|
||||
*/
|
||||
public function adminBatchGeolocAction()
|
||||
{
|
||||
//recuperer les messages qui ont un comment
|
||||
$em = $this->getDoctrine()->getManager();
|
||||
$users = $em->getRepository('AppBundle:User')->findUserAvecAdresseCount();
|
||||
$nbUsers = $users[0][1];
|
||||
return $this->render('admin/batch_geoloc.html.twig', [
|
||||
'nbUsers' => $nbUsers,
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/admin/config/batch/geoloc/trait", name="admin_batch_geoloc_trait")
|
||||
*/
|
||||
public function adminBatchGeolocTraitAction()
|
||||
{
|
||||
//recuperer les talents qui ont une adresse old mais qui n'ont pas de geoloc
|
||||
$em = $this->getDoctrine()->getManager();
|
||||
$users = $em->getRepository('AppBundle:User')->findUserAvecAdresse();
|
||||
//dump($users);
|
||||
//parcours des users
|
||||
foreach ($users as $u) {
|
||||
|
||||
$addr= $u->getCompany()->getAddresses();
|
||||
//dump($addr);
|
||||
$address1="";
|
||||
$address2="";
|
||||
$zipCode="";
|
||||
$city="";
|
||||
$country="";
|
||||
$address="";
|
||||
if($addr && $addr['billing']){
|
||||
$addr1 = $addr['billing'];
|
||||
|
||||
$address = $addr1['address1'];
|
||||
if($addr1['address2']){
|
||||
$address .= ", ".$addr1['address2'];
|
||||
}
|
||||
|
||||
if($addr1['postcode']){
|
||||
$address .= ", ". $addr1['postcode'];;
|
||||
}
|
||||
if($addr1['city']){
|
||||
$address .= ", ". $addr1['city'];
|
||||
}
|
||||
// $country = $addr1['country'];
|
||||
|
||||
}
|
||||
//pour chaque user, il faut charger api google maps
|
||||
//valeurs vide par défaut
|
||||
$data = array('address' => '', 'lat' => '', 'lng' => '', 'city' => '', 'department' => '', 'region' => '', 'country' => '', 'postal_code' => '');
|
||||
//on formate l'adresse
|
||||
//$address="42, rue de beaugency, saint sébastien sur loire";
|
||||
$address_format = str_replace(" ", "+", $address);
|
||||
//on fait l'appel à l'API google map pour géocoder cette adresse
|
||||
$json = file_get_contents("https://maps.google.com/maps/api/geocode/json?key=AIzaSyDYV8IJGtIoWLfXJQQvIuDQ88n2aEuRgpg&address=$address_format&sensor=false®ion=fr");
|
||||
$json = json_decode($json);
|
||||
//on enregistre les résultats recherchés
|
||||
if ($json->status == 'OK' && count($json->results) > 0) {
|
||||
$res = $json->results[0];
|
||||
//adresse complète et latitude/longitude
|
||||
$data['address'] = $res->formatted_address;
|
||||
$data['lat'] = $res->geometry->location->lat;
|
||||
$data['lng'] = $res->geometry->location->lng;
|
||||
$street_number="";
|
||||
$postal_code="";
|
||||
$route="";
|
||||
$locality="";
|
||||
$administrative_area_level_2="";
|
||||
$administrative_area_level_1="";
|
||||
$country="";
|
||||
foreach ($res->address_components as $component) {
|
||||
//street_number
|
||||
|
||||
if ($component->types[0] == 'street_number') {
|
||||
$street_number = $component->long_name;
|
||||
}
|
||||
//route
|
||||
|
||||
if ($component->types[0] == 'route') {
|
||||
$route = $component->long_name;
|
||||
}
|
||||
|
||||
//ville
|
||||
|
||||
if ($component->types[0] == 'locality') {
|
||||
$locality = $component->long_name;
|
||||
}
|
||||
//départment
|
||||
|
||||
if ($component->types[0] == 'administrative_area_level_2') {
|
||||
$administrative_area_level_2 = $component->long_name;
|
||||
}
|
||||
//région
|
||||
|
||||
if ($component->types[0] == 'administrative_area_level_1') {
|
||||
$administrative_area_level_1 = $component->long_name;
|
||||
}
|
||||
//pays
|
||||
|
||||
if ($component->types[0] == 'country') {
|
||||
$country = $component->long_name;
|
||||
}
|
||||
//code postal
|
||||
|
||||
if ($component->types[0] == 'postal_code') {
|
||||
$postal_code = $component->long_name;
|
||||
}
|
||||
|
||||
|
||||
// \"$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" => $data['address'],
|
||||
"lat" => stripslashes($data['lat']),
|
||||
"lng" => stripslashes($data['lng'])
|
||||
);
|
||||
|
||||
$u->setGeoloc($array);
|
||||
$em->persist($u);
|
||||
$em->flush();
|
||||
}
|
||||
}
|
||||
return $this->render('admin/dashboard.html.twig', array());
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/admin/config/batch/candidature", name="admin_batch_candidatures")
|
||||
*/
|
||||
public function adminBatchCandidaturesAction()
|
||||
{
|
||||
return $this->render('admin/batch_candidatures.html.twig', []);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/admin/config/batch/candidature/init", name="admin_batch_candidature_init")
|
||||
*/
|
||||
public function adminBatchcandidatureInitAction()
|
||||
{
|
||||
//recuperer les messages qui sont liés à des answers qui on le statusReponse a null (pas d'intervention dans le dashboard)
|
||||
$em = $this->getDoctrine()->getManager();
|
||||
$messages = $em->getRepository('AppBundle:Message')->getMessageAnswers();
|
||||
|
||||
//parcours des messages
|
||||
foreach ($messages as $m) {
|
||||
|
||||
$answer = $m->getAnswer();
|
||||
if(!$answer->getStatusReponse() || $answer->getStatusReponse()=="A_TRAITER"){
|
||||
$answer->setStatusReponse("CONTACTE");
|
||||
$em->persist($answer);
|
||||
$em->flush();
|
||||
}
|
||||
|
||||
}
|
||||
return $this->render('admin/dashboard.html.twig', array());
|
||||
}
|
||||
|
||||
}
|
||||
@@ -4,7 +4,15 @@ namespace AppBundle\Controller\Admin;
|
||||
|
||||
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
|
||||
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
|
||||
//MAILJET
|
||||
use AppBundle\Entity\Mailjet;
|
||||
// use AppBundle\Entity\Response;
|
||||
use AppBundle\Entity\Resources;
|
||||
use AppBundle\Entity\Config;
|
||||
use AppBundle\Entity\Client;
|
||||
|
||||
use DateTime;
|
||||
use DateInterval;
|
||||
|
||||
class DefaultController extends Controller
|
||||
{
|
||||
@@ -13,7 +21,184 @@ class DefaultController extends Controller
|
||||
*/
|
||||
public function adminAction()
|
||||
{
|
||||
return $this->render('admin/dashboard.html.twig', array());
|
||||
|
||||
$em = $this->getDoctrine()->getManager();
|
||||
// requete pour les relance J+3
|
||||
// $usersJ3 = $em->getRepository('AppBundle:User')->findUsersRelance("j3");
|
||||
|
||||
// // requete pour les relance J+7
|
||||
// $usersJ7 = $em->getRepository('AppBundle:User')->findUsersRelance("j7");
|
||||
// $listeUsersRelanceJ3 = array();
|
||||
// $listeUsersRelanceJ7 = array();
|
||||
// //relance J+7 avec stockage des talents à qui on a envoyé un mail
|
||||
// $listeUsersRelanceJ3 = $this->relanceTalents($usersJ3, "J3");
|
||||
|
||||
// //relance J+7 avec stockage des talents à qui on a envoyé un mail
|
||||
// $listeUsersRelanceJ7 = $this->relanceTalents($usersJ7, "J7");
|
||||
|
||||
|
||||
//Stats sur les annonces publiée et closes
|
||||
$adsClose = $em->getRepository('AppBundle:Ad')->findByStatus("CLOSED", array('id' => 'DESC'));
|
||||
$adsPublish = $em->getRepository('AppBundle:Ad')->findByStatus("PUBLISHED", array('id' => 'DESC'));
|
||||
//$ads = $em->getRepository('AppBundle:Ad')->findUsersRelance("j7");
|
||||
$ads=array();
|
||||
$date = new DateTime();
|
||||
$date->sub(new DateInterval('P30D'));
|
||||
foreach ($adsPublish as $ad){
|
||||
$nbAnswers=0;
|
||||
$nbAnswersRecente=0;
|
||||
foreach ($ad->getAnswers() as $a){
|
||||
if($a->getStatus()!="DRAFT"){
|
||||
$nbAnswers++;
|
||||
if($a->getSendtime() > $date){
|
||||
$nbAnswersRecente++;
|
||||
}
|
||||
}
|
||||
}
|
||||
$ads[] = array("id"=>$ad->getId(), "title"=>$ad->getTitle(), "entreprise"=>$ad->getCompany()->getBrandname(), "nbAnswers"=>$nbAnswers,"nbAnswersRecentes"=>$nbAnswersRecente, "statut"=> "Publié");
|
||||
}
|
||||
foreach ($adsClose as $ad){
|
||||
$nbAnswers=0;
|
||||
$nbAnswersRecente=0;
|
||||
foreach ($ad->getAnswers() as $a){
|
||||
if($a->getStatus()!="DRAFT"){
|
||||
$nbAnswers++;
|
||||
if($a->getSendtime() > $date){
|
||||
$nbAnswersRecente++;
|
||||
}
|
||||
}
|
||||
}
|
||||
$ads[] = array("id"=>$ad->getId(), "title"=>$ad->getTitle(), "entreprise"=>$ad->getCompany()->getBrandname(), "nbAnswers"=>$nbAnswers,"nbAnswersRecentes"=>$nbAnswersRecente, "statut"=> "Close");
|
||||
}
|
||||
|
||||
|
||||
return $this->render('admin/dashboard.html.twig', array(
|
||||
// "listeUsersRelanceJ3" => $listeUsersRelanceJ3,
|
||||
// "listeUsersRelanceJ7" => $listeUsersRelanceJ7,
|
||||
"ads" => $ads
|
||||
));
|
||||
|
||||
|
||||
}
|
||||
|
||||
private function relanceTalents($users, $type){
|
||||
$listeUsersRelance = array();
|
||||
$em = $this->getDoctrine()->getManager();
|
||||
|
||||
foreach ($users as $u) {
|
||||
|
||||
$arrayAdId = $pieces = explode(":", $u->getCompany()->getDescription());
|
||||
$adId = null;
|
||||
if(count($arrayAdId)>1){
|
||||
$adId= intval($arrayAdId[1]);
|
||||
}
|
||||
//dump($adId);
|
||||
//Envoi d'un mail de premiere relance
|
||||
$mj = new Client($this->getParameter('mailjet_public'), $this->getParameter('mailjet_private'));
|
||||
$contactMail = $u->getEmail();
|
||||
// if ($this->container->get( 'kernel' )->getEnvironment() == "dev") {
|
||||
// $contactMail = "l.laniau@talentstube.com";
|
||||
// }
|
||||
$annonceTitle =null;
|
||||
if($adId){
|
||||
// recuperer le title de l'annonce
|
||||
$ad = $em->getRepository('AppBundle:Ad')->find($adId);
|
||||
$annonceTitle= $ad->getAlias();
|
||||
if($type=="J3"){
|
||||
$body = [
|
||||
'FromEmail' => "noreply@talentstube.io",
|
||||
'FromName' => "Talents Tube",
|
||||
'Subject' => "Lancez-vous, votre futur emploi vous attend" ,
|
||||
'MJ-TemplateID' =>2725372 ,
|
||||
'MJ-TemplateLanguage' => true,
|
||||
'Recipients' => [
|
||||
[
|
||||
'Email' => $contactMail,
|
||||
'Vars' => [
|
||||
'prenom' => $u->getFirstname(),
|
||||
'intituleOffre' => $ad->getTitle(),
|
||||
'lienOffre' =>$ad->getAlias(),
|
||||
'entreprise' => $ad->getCompany()->getBrandName()
|
||||
]
|
||||
]
|
||||
]
|
||||
];
|
||||
|
||||
}else{
|
||||
$body = [
|
||||
'FromEmail' => "noreply@talentstube.io",
|
||||
'FromName' => "Talents Tube",
|
||||
'Subject' => "Besoin d'aide pour réaliser votre candidature vidéo ?" ,
|
||||
'MJ-TemplateID' =>2725437 ,
|
||||
'MJ-TemplateLanguage' => true,
|
||||
'Recipients' => [
|
||||
[
|
||||
'Email' => $contactMail,
|
||||
'Vars' => [
|
||||
'prenom' => $u->getFirstname(),
|
||||
'intituleOffre' => $ad->getTitle(),
|
||||
'lienOffre' =>$ad->getAlias(),
|
||||
'entreprise' => $ad->getCompany()->getBrandName()
|
||||
]
|
||||
]
|
||||
]
|
||||
];
|
||||
}
|
||||
}else{
|
||||
if($type=="J3"){
|
||||
$body = [
|
||||
'FromEmail' => "noreply@talentstube.io",
|
||||
'FromName' => "Talents Tube",
|
||||
'Subject' => "Vous ne savez pas comment postuler ?" ,
|
||||
'MJ-TemplateID' =>2716934 ,
|
||||
'MJ-TemplateLanguage' => true,
|
||||
'Recipients' => [
|
||||
[
|
||||
'Email' => $contactMail,
|
||||
'Vars' => [
|
||||
'prenom' => $u->getFirstname(),
|
||||
]
|
||||
]
|
||||
]
|
||||
];
|
||||
}else{
|
||||
$body = [
|
||||
'FromEmail' => "noreply@talentstube.io",
|
||||
'FromName' => "Talents Tube",
|
||||
'Subject' => "Besoin d'aide pour réaliser une candidature vidéo ?" ,
|
||||
'MJ-TemplateID' =>2725599 ,
|
||||
'MJ-TemplateLanguage' => true,
|
||||
'Recipients' => [
|
||||
[
|
||||
'Email' => $contactMail,
|
||||
'Vars' => [
|
||||
'prenom' => $u->getFirstname(),
|
||||
]
|
||||
]
|
||||
]
|
||||
];
|
||||
}
|
||||
}
|
||||
//TODO mettre un flag pour le mail de relance J+3. Mettre la date du jour
|
||||
if($type=="J3"){
|
||||
$u->setDatePremiereRelance(new Datetime());
|
||||
}else{
|
||||
$u->setDateDeuxiemeRelance(new Datetime());
|
||||
}
|
||||
$em->persist($u);
|
||||
$em->flush();
|
||||
//$response = $mj->post(Resources::$Email, ['body' => $body]);
|
||||
//$response->success() && var_dump($response->getData());
|
||||
|
||||
$listeUsersRelance[]=array(
|
||||
'id' => $u->getId(),
|
||||
'nom' => $u->getLastname(),
|
||||
'prenom' => $u->getFirstname(),
|
||||
'email' => $u->getEmail(),
|
||||
'annonce' => $annonceTitle
|
||||
);
|
||||
}
|
||||
return $listeUsersRelance;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -24,6 +24,8 @@ class PageController extends Controller
|
||||
]);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* @Route("/admin/config/page/{id}/edit", name="admin_page_edit")
|
||||
*/
|
||||
@@ -63,4 +65,6 @@ class PageController extends Controller
|
||||
return $this->redirectToRoute('admin_page_list');
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -131,7 +131,7 @@ class UserController extends Controller
|
||||
// }
|
||||
//$em->flush();
|
||||
|
||||
return $this->redirectToRoute('admin_config_others_user');
|
||||
return $this->redirectToRoute('admin_config_talent');
|
||||
}
|
||||
|
||||
public function deleteRelation($user)
|
||||
|
||||
@@ -4,6 +4,8 @@ namespace AppBundle\Controller;
|
||||
|
||||
use AppBundle\Entity\Ad;
|
||||
use AppBundle\Entity\Answer;
|
||||
use AppBundle\Entity\Note;
|
||||
use AppBundle\Form\NoteAjaxType;
|
||||
use AppBundle\Entity\Company;
|
||||
use AppBundle\Entity\Message;
|
||||
use AppBundle\Form\AnswerType;
|
||||
@@ -48,6 +50,22 @@ class AnswerController extends Controller
|
||||
return new JsonResponse(array('success' => "true", 'code' => $ad->getCode()));
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/anwser/updateStatus/{id}", name="anwser_update_status")
|
||||
*/
|
||||
public function anwserUpdateStatusAction(Request $request, Answer $answer)
|
||||
{
|
||||
if ($answer) {
|
||||
$em = $this->getDoctrine()->getManager();
|
||||
$answer->setStatusReponse($request->query->get('status'));
|
||||
|
||||
$em->persist($answer);
|
||||
$em->flush();
|
||||
}
|
||||
|
||||
return new JsonResponse(array('success' => "true", 'code' => ""));
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -381,11 +399,11 @@ class AnswerController extends Controller
|
||||
if ($form->isSubmitted() && $form->isValid()) {
|
||||
$mj = new Client($this->getParameter('mailjet_public'), $this->getParameter('mailjet_private'));
|
||||
// $link = $this->generateUrl('company_answer_show', array('id' => $answer->getId()), UrlGeneratorInterface::ABSOLUTE_URL);
|
||||
$contactMail = $user->getEmail();
|
||||
$contactMail = $answer->getUser()->getEmail();
|
||||
if ($this->container->get( 'kernel' )->getEnvironment() == "dev") {
|
||||
$contactMail = "dev@talentstube.com";
|
||||
}
|
||||
if($message->getVideo() == null){
|
||||
// if($message->getVideo() == null){
|
||||
$body = [
|
||||
'FromEmail' => "noreply@talentstube.io",
|
||||
'FromName' => "Talents Tube",
|
||||
@@ -402,37 +420,36 @@ class AnswerController extends Controller
|
||||
]
|
||||
]
|
||||
];
|
||||
}else{
|
||||
$thumbnailsArray = $message->getVideo()->getThumbnails();
|
||||
$img="";
|
||||
if($thumbnailsArray){
|
||||
if($thumbnailsArray[0]){
|
||||
if($thumbnailsArray[0]['sizes']){
|
||||
$img = $thumbnailsArray[0]['sizes'][4]['link'];
|
||||
}
|
||||
}
|
||||
}
|
||||
// }else{
|
||||
// $thumbnailsArray = $message->getVideo()->getThumbnails();
|
||||
// $img="";
|
||||
// if($thumbnailsArray){
|
||||
// if($thumbnailsArray[0]){
|
||||
// if($thumbnailsArray[0]['sizes']){
|
||||
// $img = $thumbnailsArray[0]['sizes'][4]['link'];
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
$body = [
|
||||
'FromEmail' => "noreply@talentstube.io",
|
||||
'FromName' => "Talents tube",
|
||||
'Subject' => "Découvrez la réponse de l’entreprise pour votre candidature",
|
||||
'MJ-TemplateID' =>2196010 ,
|
||||
'MJ-TemplateLanguage' => true,
|
||||
'Recipients' => [
|
||||
[
|
||||
'Email' => $contactMail,
|
||||
'Vars' => [
|
||||
'prenom' => $answer->getUser()->getFirstname(),
|
||||
'entreprise' => $this->getUser()->getCompany()->getBrandName(),
|
||||
'imgReponseEntreprise' => $img,
|
||||
]
|
||||
]
|
||||
]
|
||||
];
|
||||
}
|
||||
$response = $mj->post(Resources::$Email, ['body' => $body]);
|
||||
$response->success() && var_dump($response->getData());
|
||||
// $body = [
|
||||
// 'FromEmail' => "noreply@talentstube.io",
|
||||
// 'FromName' => "Talents tube",
|
||||
// 'Subject' => "Découvrez la réponse de l’entreprise pour votre candidature.",
|
||||
// 'MJ-TemplateID' =>2196010 ,
|
||||
// 'MJ-TemplateLanguage' => true,
|
||||
// 'Recipients' => [
|
||||
// [
|
||||
// 'Email' => $contactMail,
|
||||
// 'Vars' => [
|
||||
// 'prenom' => $answer->getUser()->getFirstname(),
|
||||
// 'entreprise' => $this->getUser()->getCompany()->getBrandName(),
|
||||
// 'imgReponseEntreprise' => $img,
|
||||
// ]
|
||||
// ]
|
||||
// ]
|
||||
// ];
|
||||
// }
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -470,20 +487,42 @@ class AnswerController extends Controller
|
||||
$em = $this->getDoctrine()->getManager();
|
||||
$message->setSubject('Candidature : ' . $title);
|
||||
$message->setContent($messageText);
|
||||
$message->setStatus($form['status']->getData());
|
||||
$message->setAnswer($answer);
|
||||
$message->setStatus('CONTACTED');
|
||||
$em->persist($message);
|
||||
$em->flush();
|
||||
|
||||
$response = $mj->post(Resources::$Email, ['body' => $body]);
|
||||
$response->success() && var_dump($response->getData());
|
||||
return $this->redirectToRoute('company_answer_show', ['id' => $answer->getId()]);
|
||||
}
|
||||
|
||||
$formMessage = $form->createView();
|
||||
$formVideo = $form;
|
||||
$formVideo->remove('message');
|
||||
|
||||
//$formVideo->remove('message');
|
||||
$note = new Note($user);
|
||||
$formNote = $this->createForm(NoteAjaxType::class, $note);
|
||||
$formNote->handleRequest($request);
|
||||
if ($formNote->isSubmitted() && $formNote->isValid()) {
|
||||
$answer->addNote($note);
|
||||
$em->persist($answer);
|
||||
$em->flush();
|
||||
$referer = $request->headers->get('referer');
|
||||
return $this->redirect($referer);
|
||||
}
|
||||
$extension="";
|
||||
if($answer->getUser()->getCompany()->getCv()){
|
||||
//$fichier = new SplFileInfo($answer->getUser()->getCompany()->getCv());
|
||||
|
||||
$fichier = explode(".", $answer->getUser()->getCompany()->getCv());
|
||||
$extension=$fichier[1];
|
||||
}
|
||||
return $this->render('company/answer_show.html.twig', [
|
||||
'answer' => $answer,
|
||||
'extension' => $extension,
|
||||
'form' => $formMessage,
|
||||
'formVideo' => $formVideo->createView(),
|
||||
'formNote' => $formNote->createView(),
|
||||
'type' => $type,
|
||||
'videos' => $videos,
|
||||
'message' => $message
|
||||
@@ -495,27 +534,283 @@ class AnswerController extends Controller
|
||||
*/
|
||||
public function companyListAnswerAction()
|
||||
{
|
||||
|
||||
|
||||
// $answers = $em->getRepository('AppBundle:Answer')->getAnswerByCompany($user->getCompany()->getId());
|
||||
// $spontaneous = $em->getRepository('AppBundle:Answer')->findBy(
|
||||
// array(
|
||||
// 'company' => $user->getCompany()->getId(),
|
||||
// 'status' => 'SENDED'
|
||||
// ),
|
||||
// array(
|
||||
// 'cTime' => 'DESC'
|
||||
// )
|
||||
// );
|
||||
$user = $this->getUser();
|
||||
$em = $this->getDoctrine()->getManager();
|
||||
$answers = $em->getRepository('AppBundle:Answer')->getAnswerByCompany($user->getCompany()->getId());
|
||||
$spontaneous = $em->getRepository('AppBundle:Answer')->findBy(
|
||||
array(
|
||||
'company' => $user->getCompany()->getId(),
|
||||
'status' => 'SENDED',
|
||||
'ad' => null
|
||||
),
|
||||
array(
|
||||
'uTime' => 'DESC'
|
||||
)
|
||||
);
|
||||
$offres = $em->getRepository('AppBundle:Ad')->getAdByCompany($user->getCompany()->getId());
|
||||
|
||||
return $this->render('company/answer_list.html.twig', [
|
||||
'answers' => $answers,
|
||||
'spontaneous' => $spontaneous,
|
||||
// 'answers' => $answers,
|
||||
// 'spontaneous' => $spontaneous,
|
||||
'offres' => $offres,
|
||||
'type' => 'answer'
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/alimenterCandidaturesCompany", name="alimenterCandidaturesCompany")
|
||||
*/
|
||||
public function listDatatablesAction(Request $request)
|
||||
{
|
||||
$companyId = $this->getUser()->getCompany()->getId();
|
||||
return $this->recupererCandidature($request, "company", $companyId);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/alimenterCandidaturesAd/{id}", name="alimenterCandidaturesAd")
|
||||
*/
|
||||
public function listDatatablesAdAction(Request $request, $id)
|
||||
{
|
||||
|
||||
return $this->recupererCandidature($request, "ad", $id);
|
||||
}
|
||||
|
||||
public function recupererCandidature($request, $type, $id){
|
||||
// Set up required variables
|
||||
$em = $this->getDoctrine()->getManager();
|
||||
$this->repository = $em->getRepository('AppBundle:Answer');
|
||||
//$this->translator = $this->get('translator');
|
||||
// Get the parameters from DataTable Ajax Call
|
||||
|
||||
if ($request->getMethod() == 'POST')
|
||||
{
|
||||
$draw = intval($request->request->get('draw'));
|
||||
$start = $request->request->get('start');
|
||||
$length = $request->request->get('length');
|
||||
$search = $request->request->get('search');
|
||||
$orders = $request->request->get('order');
|
||||
$columns = $request->request->get('columns');
|
||||
|
||||
}
|
||||
else // If the request is not a POST one, die hard
|
||||
die;
|
||||
|
||||
// Process Parameters
|
||||
|
||||
// Orders
|
||||
foreach ($orders as $key => $order)
|
||||
{
|
||||
// Orders does not contain the name of the column, but its number,
|
||||
// so add the name so we can handle it just like the $columns array
|
||||
$orders[$key]['name'] = $columns[$order['column']]['name'];
|
||||
}
|
||||
|
||||
// Further filtering can be done in the Repository by passing necessary arguments
|
||||
$otherConditions = array("type" => $type, "id" => $id);
|
||||
|
||||
// Get results from the Repository
|
||||
$results = $this->repository->getRequiredDTData($start, $length, $orders, $search, $columns, $otherConditions);
|
||||
|
||||
// Returned objects are of type Town
|
||||
$objects = $results["results"];
|
||||
// Get total number of objects
|
||||
$total_objects_count = $this->repository->comptage();
|
||||
// Get total number of results
|
||||
$selected_objects_count = count($objects);
|
||||
// Get total number of filtered data
|
||||
$filtered_objects_count = $results["countResult"];
|
||||
|
||||
// Construct response
|
||||
$response = '{
|
||||
"draw": '.$draw.',
|
||||
"recordsTotal": '.$total_objects_count.',
|
||||
"recordsFiltered": '.$filtered_objects_count.',
|
||||
"data": [';
|
||||
|
||||
$i = 0;
|
||||
|
||||
foreach ($objects as $key => $answer)
|
||||
{
|
||||
$response .= '["';
|
||||
|
||||
$j = 0;
|
||||
$nbColumn = count($columns);
|
||||
foreach ($columns as $key => $column)
|
||||
{
|
||||
// In all cases where something does not exist or went wrong, return -
|
||||
$responseTemp = "-";
|
||||
|
||||
switch($column['name'])
|
||||
{
|
||||
case 'partage':
|
||||
{
|
||||
if($answer->getIsShared()){
|
||||
$checked = "checked";
|
||||
}else{
|
||||
$checked = "";
|
||||
}
|
||||
$responseTemp ="<input type='checkbox' id='answer_".$answer->getId()."' name='answers' class='nav-trigger' onChange='verifierIsChecked(".$answer->getId().")' ".$checked." /><label for='nav-trigger' class='navicon-button x'><div class='navicon'></div></label>";
|
||||
|
||||
break;
|
||||
}
|
||||
case 'video':
|
||||
{
|
||||
|
||||
if ($answer->getVideo()->getThumbnails()){
|
||||
$img= $answer->getVideo()->getThumbnails()[0]['sizes'][1]['link'];
|
||||
}else{
|
||||
//$img= "https://blog.talentstube.com/wp-content/uploads/2021/01/default_picture_company.jpg";
|
||||
$mediaManager = $this->get('media_manager');
|
||||
$mediaManager->getThumbnails($answer);
|
||||
$img= $answer->getVideo()->getThumbnails()[0]['sizes'][1]['link'];
|
||||
}
|
||||
$link = $this->generateUrl('company_answer_show', array('id' => $answer->getId()), UrlGeneratorInterface::ABSOLUTE_URL);
|
||||
$responseTemp = " <a href='".$link."'><img src='".$img."' width='200px' height='150px'></a>";
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
case 'nom':
|
||||
{
|
||||
// We know from the class definition that the postal code cannot be null
|
||||
// But if that werent't the case, its value should have been tested
|
||||
// before assigning it to $responseTemp
|
||||
$link = $this->generateUrl('company_answer_show', array('id' => $answer->getId()), UrlGeneratorInterface::ABSOLUTE_URL);
|
||||
$responseTemp = "<a href='".$link."'>".$answer->getUser()->getLastname()."</a>";
|
||||
break;
|
||||
}
|
||||
|
||||
case 'prenom':
|
||||
{
|
||||
// We know from the class definition that the postal code cannot be null
|
||||
// But if that werent't the case, its value should have been tested
|
||||
// before assigning it to $responseTemp
|
||||
$link = $this->generateUrl('company_answer_show', array('id' => $answer->getId()), UrlGeneratorInterface::ABSOLUTE_URL);
|
||||
$responseTemp = "<a href='".$link."'>".$answer->getUser()->getFirstname()."</a>";
|
||||
break;
|
||||
}
|
||||
|
||||
case 'dateReception':
|
||||
{
|
||||
// We know from the class definition that the postal code cannot be null
|
||||
// But if that werent't the case, its value should have been tested
|
||||
// before assigning it to $responseTemp
|
||||
$responseTemp = $answer->getSendTime()->format('d/m/Y H:i:s');
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
case 'offre':
|
||||
{
|
||||
// We know from the class definition that the postal code cannot be null
|
||||
// But if that werent't the case, its value should have been tested
|
||||
// before assigning it to $responseTemp
|
||||
|
||||
|
||||
if($answer->getAd()){
|
||||
$responseTemp = $answer->getAd()->getTitle();
|
||||
}else{
|
||||
$responseTemp = "Candidature spontanée";
|
||||
}
|
||||
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
case 'date_envoi':
|
||||
{
|
||||
if($answer->getSendTime()){
|
||||
$responseTemp = date_format($answer->getSendTime(), 'd-m-Y H:i:s');;
|
||||
}else{
|
||||
$responseTemp ="ND";
|
||||
}
|
||||
// This cannot happen if inner join is used
|
||||
// However it can happen if left or right joins are used
|
||||
|
||||
break;
|
||||
}
|
||||
case 'ad_id':
|
||||
{
|
||||
$video = $answer->getVideo();
|
||||
$responseTemp ="ND";
|
||||
if($video){
|
||||
$responseTemp = 'ID Candidature :'.$answer->getId().'<br />';
|
||||
$videoRenommee = str_replace("/videos/", "", $video->getCdnUrl());
|
||||
//TODO : revoir ca car une vue dans un controller ca n'est pas top!!!!!
|
||||
$responseTemp .= "<iframe src='https://player.vimeo.com/video/".$videoRenommee."?embedparameter=value' width='auto' height='auto' frameborder='0' allowfullscreen></iframe>";
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
case 'statusReponse':
|
||||
{
|
||||
// if($answer->getstatus()=="SENDED"){
|
||||
// $status= "ENVOYE";
|
||||
// }else{
|
||||
// $status=$answer->getstatus();
|
||||
// }
|
||||
// $responseTemp = "<span id='status_".$answer->getId()."'> ".$status."</span> ";
|
||||
if ($answer->getStatusReponse() =="EMBAUCHE" ){
|
||||
$responseTemp = "<span class='label label-success'>Embauché</span> ";
|
||||
|
||||
}elseif ($answer->getStatusReponse() =="REFUSE" ){
|
||||
$responseTemp = "<span class='label label-important'>Refusé</span> ";
|
||||
}elseif ($answer->getStatusReponse() =="ENTRETIEN" ){
|
||||
$responseTemp = "<span class='label label-warning'>Entretien programmé</span> ";
|
||||
}elseif ($answer->getStatusReponse() =="A_TRAITER" ){
|
||||
$responseTemp = "<span class='label label-info'>À traiter</span> ";
|
||||
}elseif ($answer->getStatusReponse() =="CONTACTE" ){
|
||||
$responseTemp = "<span class='label'>Contacté</span> ";
|
||||
}else {
|
||||
$responseTemp = "<span class='label label-info'>À traiter</span> ";
|
||||
}
|
||||
|
||||
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
case 'localisation':
|
||||
{
|
||||
if($answer->getUser()->getGeoloc()) {
|
||||
|
||||
foreach ($answer->getUser()->getGeoloc() as &$adress) {
|
||||
$responseTemp =$adress["locality"] .", ". $adress["postal_code"];
|
||||
}
|
||||
|
||||
}else {
|
||||
$responseTemp ="Non renseignée";
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// Add the found data to the json
|
||||
$response .= $responseTemp;
|
||||
|
||||
if(++$j !== $nbColumn)
|
||||
$response .='","';
|
||||
}
|
||||
|
||||
$response .= '"]';
|
||||
|
||||
// Not on the last item
|
||||
if(++$i !== $selected_objects_count)
|
||||
$response .= ',';
|
||||
}
|
||||
|
||||
$response .= ']}';
|
||||
|
||||
// Send all this stuff back to DataTables
|
||||
$returnResponse = new JsonResponse();
|
||||
$returnResponse->setJson($response);
|
||||
|
||||
return $returnResponse;
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/entreprise/me/espace-oe/candidature-spontanee/", name="company_spontaneous_list")
|
||||
*/
|
||||
@@ -539,9 +834,9 @@ class AnswerController extends Controller
|
||||
{
|
||||
$em = $this->getDoctrine()->getManager();
|
||||
|
||||
$answers = $em->getRepository('AppBundle:Answer')->findBy(array('ad' => $ad, 'status' => 'SENDED'),array('sendTime' => 'DESC'));
|
||||
//$answers = $em->getRepository('AppBundle:Answer')->findBy(array('ad' => $ad, 'status' => 'SENDED'),array('sendTime' => 'DESC'));
|
||||
return $this->render('company/ad_answer_list.html.twig', [
|
||||
'answers' => $answers,
|
||||
|
||||
'type' => 'annonce',
|
||||
'ad' => $ad
|
||||
]);
|
||||
|
||||
@@ -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(
|
||||
@@ -310,7 +320,7 @@ class AnswerController extends FOSRestController
|
||||
$usr->getUsername();
|
||||
|
||||
$file = $request->files->get('upload');
|
||||
$status = array('status' => "success", "fileUploaded" => false);
|
||||
$status = array('statusPres' => "failure", "fileUploaded" => false);
|
||||
//dump($file);
|
||||
// If a file was uploaded
|
||||
if (!is_null($file)) {
|
||||
@@ -322,7 +332,7 @@ class AnswerController extends FOSRestController
|
||||
// $filename = uniqid().".".$file->getClientOriginalExtension();
|
||||
// $path = "/path/where/we/want-to-save-the-file";
|
||||
// $file->move($path,$filename); // move the file to a path
|
||||
$status = array('status' => "success", "fileUploaded" => true, "message" => $message);
|
||||
$status = array('statusPres' => "success", "fileUploaded" => true, "message" => $message);
|
||||
}
|
||||
|
||||
return new JsonResponse($status);
|
||||
@@ -358,7 +368,7 @@ class AnswerController extends FOSRestController
|
||||
$company = $usr->getCompany();
|
||||
|
||||
$file = $request->files->get('upload');
|
||||
$status = array('status' => "success", "companyUpdated" => false);
|
||||
$status = array('status' => "success",'statusCv' => "failure", "companyUpdated" => false, "loadingCv" => false);
|
||||
//dump($file);
|
||||
// If a file was uploaded
|
||||
//TODO Controle sur l'extension du fichier (pdf, word)
|
||||
@@ -372,7 +382,7 @@ class AnswerController extends FOSRestController
|
||||
// $filename = uniqid().".".$file->getClientOriginalExtension();
|
||||
// $path = "/path/where/we/want-to-save-the-file";
|
||||
// $file->move($path,$filename); // move the file to a path
|
||||
$status = array('status' => "success", "companyUpdated" => true, "message" => $message);
|
||||
$status = array('status' => "success", 'statusCv' => "success", "companyUpdated" => true, "message" => $message, "loadingCv" => true);
|
||||
}
|
||||
|
||||
return new JsonResponse($status);
|
||||
|
||||
@@ -18,6 +18,12 @@ use JMS\Serializer\SerializationContext;
|
||||
use Symfony\Component\HttpFoundation\JsonResponse;
|
||||
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
|
||||
use Symfony\Component\HttpFoundation\Request;
|
||||
//MAILJET
|
||||
use AppBundle\Entity\Mailjet;
|
||||
// use AppBundle\Entity\Response;
|
||||
use AppBundle\Entity\Resources;
|
||||
use AppBundle\Entity\Config;
|
||||
use AppBundle\Entity\Client;
|
||||
|
||||
class CompanyController extends FOSRestController
|
||||
{
|
||||
@@ -111,7 +117,7 @@ class CompanyController extends FOSRestController
|
||||
/**
|
||||
* @Rest\Get(path="/api/getAppelationsMetier", name="api_getAppelationsMetier")
|
||||
* @Rest\View
|
||||
* Récupérer des appelations à partir d'un métier (code ROME)
|
||||
* Récupérer des appelations pole emploi à partir d'un métier (code ROME)
|
||||
*/
|
||||
public function getAppelationsMetierAction(Request $request)
|
||||
{
|
||||
@@ -162,7 +168,7 @@ class CompanyController extends FOSRestController
|
||||
/**
|
||||
* @Rest\Get(path="/api/getAppelationsLibelle", name="api_getAppelationsLibelle")
|
||||
* @Rest\View
|
||||
* Récupérer des appelations à partir d'un libellé
|
||||
* Récupérer des appelations pole emploi à partir d'un libellé
|
||||
*/
|
||||
public function getAppelationsLibelleAction(Request $request)
|
||||
{
|
||||
@@ -214,7 +220,7 @@ class CompanyController extends FOSRestController
|
||||
/**
|
||||
* @Rest\Get(path="/api/getDetailAppelation", name="api_getDetailAppelation")
|
||||
* @Rest\View
|
||||
* Récupérer le détail d'une appelation
|
||||
* Récupérer le détail d'une appelation pole meploi
|
||||
*/
|
||||
public function getDetailAppelationAction(Request $request)
|
||||
{
|
||||
@@ -328,6 +334,149 @@ class CompanyController extends FOSRestController
|
||||
return new JsonResponse($response, 200, [], true);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @Rest\Get(path="/api/demanderRdv", name="api_demanderRdv")
|
||||
* @Rest\View
|
||||
*/
|
||||
public function demanderRdvAction(Request $request)
|
||||
{
|
||||
//APPEL de l'api Pole emploi pour recuperer Token
|
||||
$nom=$request->query->get('nom');
|
||||
$prenom=$request->query->get('prenom');
|
||||
$email=$request->query->get('email');
|
||||
$telephone=$request->query->get('telephone');
|
||||
$page=$request->query->get('page');
|
||||
if(isset($_SERVER['HTTP_REFERER'])) {
|
||||
$previous = $_SERVER['HTTP_REFERER']." / ".$_SERVER['REQUEST_URI'];
|
||||
}
|
||||
|
||||
$mj = new Client($this->getParameter('mailjet_public'), $this->getParameter('mailjet_private'));
|
||||
// $link = $this->generateUrl('company_answer_show', array('id' => $existAnswer->getId()), UrlGeneratorInterface::ABSOLUTE_URL);
|
||||
$contactMail = "contact@talentstube.com";
|
||||
if ($this->container->get( 'kernel' )->getEnvironment() == "dev") {
|
||||
$contactMail = "contact@talentstube.com";
|
||||
}
|
||||
$body = [
|
||||
'FromEmail' => "noreply@talentstube.io",
|
||||
'FromName' => "Talents Tube",
|
||||
'Subject' => "Demande de rdv ",
|
||||
'MJ-TemplateID' =>2383497 ,
|
||||
'MJ-TemplateLanguage' => true,
|
||||
'Recipients' => [
|
||||
[
|
||||
'Email' => $contactMail,
|
||||
'Vars' => [
|
||||
'prenom' => $prenom,
|
||||
'nom' => $nom,
|
||||
'email' => $email,
|
||||
'telephone' => $telephone,
|
||||
'page' => $page,
|
||||
'precedent' => $previous
|
||||
]
|
||||
]
|
||||
]
|
||||
];
|
||||
$response = $mj->post(Resources::$Email, ['body' => $body]);
|
||||
|
||||
|
||||
return new JsonResponse(array('retour' => "true"));
|
||||
}
|
||||
|
||||
/**
|
||||
* @Rest\Get(path="/api/validerOffreMail", name="api_validerOffreMail")
|
||||
* @Rest\View
|
||||
*/
|
||||
public function validerOffreMailAction(Request $request)
|
||||
{
|
||||
//APPEL de l'api Pole emploi pour recuperer Token
|
||||
$adId=$request->query->get('adId');
|
||||
$em = $this->getDoctrine()->getManager();
|
||||
$ad = $em->getRepository('AppBundle:Ad')->findOneBy(array('id' => $adId));
|
||||
$users = $ad->getCompany()->getUsers();
|
||||
$retour ="résultat ";
|
||||
foreach ($users as $user){
|
||||
|
||||
$mj = new Client($this->getParameter('mailjet_public'), $this->getParameter('mailjet_private'));
|
||||
// $link = $this->generateUrl('company_answer_show', array('id' => $existAnswer->getId()), UrlGeneratorInterface::ABSOLUTE_URL);
|
||||
$contactMail = $user->getEmail();
|
||||
if ($this->container->get( 'kernel' )->getEnvironment() == "dev") {
|
||||
$contactMail = "contact@talentstube.com";
|
||||
}
|
||||
$body = [
|
||||
'FromEmail' => "noreply@talentstube.io",
|
||||
'FromName' => "Talents Tube",
|
||||
'Subject' => "Votre offre d'emploi vidéo est en ligne ",
|
||||
'MJ-TemplateID' =>2659410 ,
|
||||
'MJ-TemplateLanguage' => true,
|
||||
'Recipients' => [
|
||||
[
|
||||
'Email' => $contactMail,
|
||||
'Vars' => [
|
||||
'nomRecruteur' => $user->getLastname(),
|
||||
'prenomRecruteur' => $user->getFirstname(),
|
||||
'offre' => $ad->getTitle(),
|
||||
'lienOffreEmploi' => $ad->getAlias(),
|
||||
]
|
||||
]
|
||||
]
|
||||
];
|
||||
$response = $mj->post(Resources::$Email, ['body' => $body]);
|
||||
$retour .= $user->getFirstname()." ".$user->getId()." OK ";
|
||||
}
|
||||
|
||||
|
||||
|
||||
return new JsonResponse(array('retour' => $retour));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @Rest\Get(path="/api/demanderDiagnostic", name="api_demanderDiagnostic")
|
||||
* @Rest\View
|
||||
*/
|
||||
public function demanderDiagnosticAction(Request $request)
|
||||
{
|
||||
//
|
||||
$nomPrenom=$request->query->get('nomPrenom');
|
||||
$email=$request->query->get('email');
|
||||
$nomEntreprise=$request->query->get('nomEntreprise');
|
||||
$telephone=$request->query->get('telephone');
|
||||
$page=$request->query->get('page');
|
||||
|
||||
|
||||
$mj = new Client($this->getParameter('mailjet_public'), $this->getParameter('mailjet_private'));
|
||||
// $link = $this->generateUrl('company_answer_show', array('id' => $existAnswer->getId()), UrlGeneratorInterface::ABSOLUTE_URL);
|
||||
$contactMail = "contact@talentstube.com";
|
||||
if ($this->container->get( 'kernel' )->getEnvironment() == "dev") {
|
||||
$contactMail = "contact@talentstube.com";
|
||||
}
|
||||
$body = [
|
||||
'FromEmail' => "noreply@talentstube.io",
|
||||
'FromName' => "Talents Tube",
|
||||
'Subject' => "Demander mon diagnostic ",
|
||||
'MJ-TemplateID' =>2684982 ,
|
||||
'MJ-TemplateLanguage' => true,
|
||||
'Recipients' => [
|
||||
[
|
||||
'Email' => $contactMail,
|
||||
'Vars' => [
|
||||
'nomPrenom' => $nomPrenom,
|
||||
'entreprise' => $nomEntreprise,
|
||||
'email' => $email,
|
||||
'telephone' => $telephone,
|
||||
]
|
||||
]
|
||||
]
|
||||
];
|
||||
$response = $mj->post(Resources::$Email, ['body' => $body]);
|
||||
|
||||
|
||||
return new JsonResponse(array('retour' => "true"));
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* @Rest\Get("/api/companies", name="api_company_list")
|
||||
* @Rest\QueryParam(
|
||||
|
||||
@@ -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
|
||||
{
|
||||
@@ -68,8 +69,9 @@ class SecurityController extends FOSRestController
|
||||
$email = htmlspecialchars($request->get('email'));
|
||||
$password = htmlspecialchars($request->get('password'));
|
||||
$adId = htmlspecialchars($request->get('adId'));
|
||||
|
||||
if (!isset($firstname) || !isset($lastname) || !isset($email) || !isset($password))
|
||||
$phoneTalent = htmlspecialchars($request->get('phone'));
|
||||
|
||||
if (!isset($firstname) || !isset($lastname) || !isset($email) || !isset($password) )
|
||||
$status = array('status' => "failure", 'message' => 'empty parameters');
|
||||
else {
|
||||
$userManager = $this->get('fos_user.user_manager');
|
||||
@@ -89,7 +91,8 @@ class SecurityController extends FOSRestController
|
||||
$user->setEnabled(false);
|
||||
|
||||
$user->setRoles(array('ROLE_TALENT'));
|
||||
|
||||
|
||||
|
||||
$tokengen = $this->get('fos_user.util.token_generator');
|
||||
$user->setConfirmationToken($tokengen->generateToken());
|
||||
|
||||
@@ -101,16 +104,117 @@ class SecurityController extends FOSRestController
|
||||
$company->setAlias($alias);
|
||||
$company->setType("TALENT");
|
||||
$company->setDescription("Annonce consultée : ".$adId);
|
||||
|
||||
$company->setWebsite("");
|
||||
$company->setLinkedin("");
|
||||
$company->setTwitter("");
|
||||
$company->setTitleTalent("");
|
||||
|
||||
$extra['twitter']=" ";
|
||||
$extra['linkedin']=" ";
|
||||
$extra['phoneTalent']=$phoneTalent;
|
||||
$extra['titleTalent']=" ";
|
||||
$extra['situationTalent']=" ";
|
||||
$extra['descriptionTalent']=" ";
|
||||
|
||||
$company->setExtra($extra);
|
||||
$user->setCompany($company);
|
||||
|
||||
$userManager->updateUser($user);
|
||||
|
||||
}
|
||||
// $userManager->updatePassword($user);//pas besoin car fait dans updateUser , vraiment bizarre....
|
||||
$status = array('status' => "success", 'confirmationToken' => $user->getConfirmationToken(), 'email' => $user->getEmail(), 'firstname' => $user->getFirstname(), 'lastname' => $user->getLastname(), 'adId' => $adId);
|
||||
$status = array('status' => "success", 'confirmationToken' => $user->getConfirmationToken(), 'email' => $user->getEmail(), 'firstname' => $user->getFirstname(), 'lastname' => $user->getLastname(), 'phone' => $company->getPhoneTalent(), 'adId' => $adId);
|
||||
}
|
||||
}
|
||||
return new JsonResponse($status);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Rest\Get(path="/api/test", name="api_test")
|
||||
* @Rest\View
|
||||
*/
|
||||
public function test(Request $request)
|
||||
{
|
||||
$status = array('status' => "success", 'message' => "Ok2");
|
||||
// $curl = curl_init();
|
||||
// curl_setopt($curl, CURLOPT_HTTPHEADER, array(
|
||||
// 'Content-Type: application/json',
|
||||
// 'Accept : application/json',
|
||||
// ));
|
||||
$url="https://recruteur.talentstube.com/api/getDetailAppelation?q=10944";
|
||||
// curl_setopt_array($curl, array(
|
||||
// CURLOPT_URL => "http://localhost/app_dev.php/api/getDetailAppelation?q=10944",
|
||||
// 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",
|
||||
// ),
|
||||
// ));
|
||||
//curl_setopt_array();
|
||||
|
||||
// create & initialize a curl session
|
||||
|
||||
|
||||
// Optional Authentication:
|
||||
|
||||
|
||||
|
||||
$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",
|
||||
),
|
||||
));
|
||||
$response = curl_exec($curl);
|
||||
$parsed_json = json_decode($response);
|
||||
$competencesDeBase = $parsed_json->{'competencesDeBase'};
|
||||
//dump($competencesDeBase);
|
||||
echo "competencesDeBase!!2 --------------- <br>";
|
||||
foreach ($parsed_json->{'competencesDeBase'} as $json){
|
||||
echo( $json->{'code'})." / ";
|
||||
echo( $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>";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
$err = curl_error($curl);
|
||||
if (!$err)
|
||||
{
|
||||
|
||||
|
||||
}
|
||||
curl_close($curl);
|
||||
//return new JsonResponse($status);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @Rest\post(path="/api/update_user", name="api_update_user")
|
||||
* @Rest\View
|
||||
@@ -130,41 +234,110 @@ 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'));
|
||||
|
||||
if ($request->get('formatted_address')){
|
||||
$formatted_address = str_replace('"', '', $request->get('formatted_address'));
|
||||
}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;
|
||||
|
||||
|
||||
|
||||
$newLinkedin = htmlspecialchars($request->get('linkedin'));
|
||||
$newTwitter = htmlspecialchars($request->get('twitter'));
|
||||
$newWebsite = htmlspecialchars($request->get('website'));
|
||||
@@ -181,21 +354,106 @@ class SecurityController extends FOSRestController
|
||||
$talent->setLinkedin($newLinkedin);
|
||||
$talent->setTwitter($newTwitter);
|
||||
$talent->setTitleTalent($titleTalent);
|
||||
$talent->setPhoneTalent($phoneTalent);
|
||||
//$talent->setPhoneTalent($phoneTalent);
|
||||
$billing = array(
|
||||
'address1' => $address1Talent,
|
||||
'address2' => $address2Talent,
|
||||
'postcode' => $zipTalent,
|
||||
'city' => $cityTalent,
|
||||
'country' => $countryTalent,
|
||||
$array = Array ();
|
||||
|
||||
// \"$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)
|
||||
);
|
||||
$addrs['billing'] = $billing;
|
||||
$talent->setAddresses($addrs);
|
||||
|
||||
|
||||
|
||||
$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);
|
||||
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);
|
||||
|
||||
$usr->setCompetences($competences);
|
||||
$usr->setCodeRome($codeRome);
|
||||
$companyManager->updateTalent($usr);
|
||||
|
||||
$status = array('status' => "success");
|
||||
$status = array('status' => "success!!!!!!!!!!!!!!!!!!");
|
||||
}
|
||||
} else {
|
||||
$status = array('status' => "failure", 'message' => "Vous n'êtes pas connecté.");
|
||||
|
||||
@@ -6,6 +6,7 @@ use AppBundle\Entity\Company;
|
||||
use AppBundle\Entity\User;
|
||||
use AppBundle\Form\AdSearchType;
|
||||
use AppBundle\Form\CompanyProfileType;
|
||||
use AppBundle\Form\ProfileLogoType;
|
||||
use AppBundle\Form\UserType;
|
||||
use AppBundle\Form\UserTypeCreate;
|
||||
use Edeclic\PrestashopBridgeBundle\Event\PrestashopBridgeEvents;
|
||||
@@ -101,15 +102,38 @@ class CompanyController extends Controller
|
||||
if ($form->isSubmitted() && $form->isValid()) {
|
||||
$companyManager = $this->get('app.company_manager');
|
||||
$companyManager->updateCompany($company);
|
||||
$event = new UserEvent($user);
|
||||
$this->get('event_dispatcher')->dispatch(PrestashopBridgeEvents::USER_PROFIL_EDIT_SUCCESS, $event);
|
||||
//$event = new UserEvent($user);
|
||||
//$this->get('event_dispatcher')->dispatch(PrestashopBridgeEvents::USER_PROFIL_EDIT_SUCCESS, $event);
|
||||
|
||||
$this->addFlash(
|
||||
'notice',
|
||||
$this->get('translator')->trans('company.profile.save.title')
|
||||
);
|
||||
return $this->redirectToRoute('company_dashboard');
|
||||
}
|
||||
|
||||
|
||||
|
||||
$formMedia = $this->createForm(ProfileLogoType::class, $company);
|
||||
$formMedia->handleRequest($request);
|
||||
if ($formMedia->isSubmitted() && $formMedia->isValid()) {
|
||||
$companyManager = $this->get('app.company_manager');
|
||||
$companyManager->updateLogo($company);
|
||||
|
||||
$this->addFlash(
|
||||
'notice',
|
||||
$this->get('translator')->trans('Le logo de votre entreprise a bien été modifié')
|
||||
);
|
||||
return $this->redirect($this->generateUrl('company_profile'));
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
return $this->render('company/profile.html.twig', [
|
||||
'company'=>$company,
|
||||
'form' => $form->createView(),
|
||||
'formMedia' => $formMedia->createView(),
|
||||
]);
|
||||
}
|
||||
|
||||
|
||||
@@ -75,6 +75,44 @@ class DefaultController extends Controller
|
||||
* @Route("/", name="homepage")
|
||||
*/
|
||||
public function homepagev2Action(Request $request)
|
||||
{
|
||||
//US-468
|
||||
$session = $request->getSession();
|
||||
$arrayDate['dateBegin'] = new \DateTime('now -1 Month');
|
||||
$arrayDate['dateEnd'] = new \DateTime('now');
|
||||
setlocale(LC_ALL, 'fr_FR.utf-8');
|
||||
$stats = $this->get("app.stats_manager");
|
||||
|
||||
$params = $this->getParams($request);
|
||||
$usename = $params["lastUsername"];
|
||||
$csrfToken = $params["csrfToken"];
|
||||
$error = $params["error"];
|
||||
$destination_login = "admin/dashboard";
|
||||
$erreur = false;
|
||||
if($request->query->get('erreur')){
|
||||
$erreur = $request->query->get('erreur');
|
||||
}
|
||||
|
||||
return $this->render(
|
||||
'defaultv2/accueil/index.html.twig', [
|
||||
'last_username' => $usename,
|
||||
'csrf_token' => $csrfToken,
|
||||
'error' => $error,
|
||||
'destination_login' => $destination_login,
|
||||
'erreur' => $erreur
|
||||
//'ads' => $ads,
|
||||
//'companies' => $arrayCompany,
|
||||
//'talents' => $arrayTalents,
|
||||
//'territories' => $territories,
|
||||
//'searchform' => $form->createView(),
|
||||
]
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/concept", name="concept")
|
||||
*/
|
||||
public function conceptAction(Request $request)
|
||||
{
|
||||
//US-468
|
||||
$session = $request->getSession();
|
||||
@@ -153,7 +191,7 @@ class DefaultController extends Controller
|
||||
//dump($mj);
|
||||
//var_dump($mailManager);
|
||||
return $this->render(
|
||||
'defaultv2/accueil/index.html.twig', [
|
||||
'defaultv2/concept/index.html.twig', [
|
||||
'last_username' => $usename,
|
||||
'csrf_token' => $csrfToken,
|
||||
'error' => $error,
|
||||
@@ -401,6 +439,53 @@ class DefaultController extends Controller
|
||||
//return $this->render('page_static/video_territoire.html.twig');
|
||||
return $this->render('page_static/accompagnement_video_territoire.html.twig');
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/offre-emploi-originale", name="offre_emploi_originale")
|
||||
*/
|
||||
public function landingAction()
|
||||
{
|
||||
$previous="";
|
||||
if(isset($_SERVER['HTTP_REFERER'])) {
|
||||
$previous = $_SERVER['HTTP_REFERER']." / ".$_SERVER['REQUEST_URI'];
|
||||
}
|
||||
|
||||
return $this->render('landing/offreEmploiOriginal.html.twig', [
|
||||
'previous' => $previous,
|
||||
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/metier-en-tension", name="metier_en_tension")
|
||||
*/
|
||||
public function metierTensionAction()
|
||||
{
|
||||
return $this->render('landing/metierTension.html.twig', [
|
||||
]);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @Route("/recrutement-aide-a-domicile", name="recrutement_aide_a_domicile")
|
||||
*/
|
||||
public function aideADomicileAction()
|
||||
{
|
||||
return $this->render('landing/aideADomicile.html.twig', [
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/recrutement-informatique", name="recrutement_informatique")
|
||||
*/
|
||||
public function informatiqueAction()
|
||||
{
|
||||
return $this->render('landing/informatique.html.twig', [
|
||||
]);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* @param Request $request
|
||||
*
|
||||
|
||||
@@ -35,8 +35,9 @@ class MediaController extends Controller
|
||||
*/
|
||||
public function companyMediaAction(Request $request)
|
||||
{
|
||||
$event = new UserEvent($this->getUser());
|
||||
$this->get('event_dispatcher')->dispatch(PrestashopBridgeEvents::USER_PROD_UPDATE, $event);
|
||||
//$event = new UserEvent($this->getUser());
|
||||
$company = $this->getUser()->getCompany();
|
||||
//$this->get('event_dispatcher')->dispatch(PrestashopBridgeEvents::USER_PROD_UPDATE, $event);
|
||||
$em = $this->getDoctrine()->getManager();
|
||||
$medias = $em->getRepository('AppBundle:Media')->findBy(array('creator' => $this->getUser()));
|
||||
$form = $this->createForm(MediaType::class);
|
||||
@@ -48,8 +49,10 @@ class MediaController extends Controller
|
||||
$media->setTitle($title);
|
||||
$em->persist($media);
|
||||
$em->flush();
|
||||
|
||||
return $this->redirectToRoute('company_ad');
|
||||
$company->setPresentationVideo($media);
|
||||
$em->persist($company);
|
||||
$em->flush();
|
||||
return $this->redirectToRoute('company_marque');
|
||||
}
|
||||
|
||||
return $this->render('media/media_list.html.twig', array(
|
||||
@@ -63,8 +66,8 @@ class MediaController extends Controller
|
||||
*/
|
||||
public function territoryMediaAction(Request $request)
|
||||
{
|
||||
$event = new UserEvent($this->getUser());
|
||||
$this->get('event_dispatcher')->dispatch(PrestashopBridgeEvents::USER_PROD_UPDATE, $event);
|
||||
//$event = new UserEvent($this->getUser());
|
||||
//$this->get('event_dispatcher')->dispatch(PrestashopBridgeEvents::USER_PROD_UPDATE, $event);
|
||||
$em = $this->getDoctrine()->getManager();
|
||||
$medias = $em->getRepository('AppBundle:Media')->findBy(array('creator' => $this->getUser()));
|
||||
$form = $this->createForm(MediaType::class);
|
||||
@@ -111,9 +114,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', "", "");
|
||||
|
||||
$string = str_replace($search, $replace, $string);
|
||||
$string = strtolower (str_replace(" ", "-", $string));
|
||||
@@ -138,7 +141,8 @@ class MediaController extends Controller
|
||||
$form = $this->createFormBuilder($video)
|
||||
->add('title', TextType::class, array(
|
||||
'label' => 'Titre de la vidéo',
|
||||
'required' => true,
|
||||
'empty_data' => 'Titre de la vidéo',
|
||||
'required' => false,
|
||||
))
|
||||
->getForm();
|
||||
$form->handleRequest($request);
|
||||
@@ -152,10 +156,37 @@ class MediaController extends Controller
|
||||
$numberOfMonth = 6;
|
||||
$unpublishedDate = new \DateTime('now');
|
||||
$unpublishedDate = $unpublishedDate->add(new \DateInterval('P' . $numberOfMonth . 'M'));
|
||||
|
||||
$ad->setStatus("TO_PUBLISH");
|
||||
// ENVOI DE MAIL a l'equipe TT pour prevenir d'une modif d'annonce
|
||||
$ad->setUnpublishedAt($unpublishedDate);
|
||||
$em->persist($ad);
|
||||
$em->flush();
|
||||
|
||||
$mj = new Client($this->getParameter('mailjet_public'), $this->getParameter('mailjet_private'));
|
||||
// $link = $this->generateUrl('company_answer_show', array('id' => $answer->getId()), UrlGeneratorInterface::ABSOLUTE_URL);
|
||||
|
||||
|
||||
$body = [
|
||||
'FromEmail' => "noreply@talentstube.io",
|
||||
'FromName' => "Talents Tube",
|
||||
'Subject' => "Creation/Modification Offre d'emploi ".$ad->getCompany()->getBrandName(),
|
||||
'MJ-TemplateID' =>2612525 ,
|
||||
'MJ-TemplateLanguage' => true,
|
||||
'Recipients' => [
|
||||
[
|
||||
'Email' => 'dev@talentstube.com',
|
||||
'Vars' => [
|
||||
'entreprise' => $ad->getCompany()->getBrandName(),
|
||||
'offre' => $ad->getTitle(),
|
||||
|
||||
]
|
||||
]
|
||||
]
|
||||
];
|
||||
$response = $mj->post(Resources::$Email, ['body' => $body]);
|
||||
$response->success() && var_dump($response->getData());
|
||||
|
||||
return $this->redirectToRoute('company_ad');
|
||||
}
|
||||
|
||||
|
||||
@@ -324,7 +355,7 @@ class MediaController extends Controller
|
||||
];
|
||||
$response = $mj->post(Resources::$Email, ['body' => $body]);
|
||||
$response->success() && var_dump($response->getData());
|
||||
$message="Talents Tube a bien reçu vos séquences vidéos. Nous vous recontacterons par email pour finaliser la publication de votre annonce.";
|
||||
$message="Talents Tube a bien reçu vos séquences vidéo. Nous vous recontacterons par email pour finaliser la publication de votre annonce.";
|
||||
}
|
||||
|
||||
return $this->render('company/createMedia.html.twig', array(
|
||||
@@ -529,10 +560,10 @@ class MediaController extends Controller
|
||||
'notice',
|
||||
$this->get('translator')->trans('Le logo de votre entreprise a bien été modifié')
|
||||
);
|
||||
return $this->redirect($this->generateUrl('company_dashboard'));
|
||||
return $this->redirect($this->generateUrl('company_profile'));
|
||||
}
|
||||
return $this->render('profile/form_logo.html.twig', [
|
||||
'form' => $form->createView(),
|
||||
'formLogo' => $form->createView(),
|
||||
]);
|
||||
}
|
||||
|
||||
|
||||
@@ -229,8 +229,7 @@ class Ad
|
||||
* @var array
|
||||
*
|
||||
* @ORM\Column(name="extra", type="json_document", nullable=true, options={"jsonb":true})
|
||||
*
|
||||
* @Groups({"ad_detail", "ad_list", "answer_detail", "company_detail"})
|
||||
* @Groups({"ad_detail", "ad_list", "answer_detail", "company_detail","answer_list"})
|
||||
*
|
||||
*/
|
||||
private $extra;
|
||||
@@ -240,7 +239,7 @@ class Ad
|
||||
*
|
||||
* @ORM\Column(name="location", type="json_document", nullable=true, options={"jsonb":true})
|
||||
*
|
||||
* @Groups({"ad_detail", "ad_list","answer_detail", "company_detail"})
|
||||
* @Groups({"ad_detail", "ad_list","answer_detail", "company_detail","answer_list"})
|
||||
*/
|
||||
private $location;
|
||||
|
||||
@@ -558,6 +557,35 @@ class Ad
|
||||
return $i;
|
||||
}
|
||||
|
||||
public function countAnswersParStatut()
|
||||
{
|
||||
$answers = $this->answers;
|
||||
$nbATraiter = 0;
|
||||
$nbContacte = 0;
|
||||
$nbEntretien = 0;
|
||||
$nbRefuse = 0;
|
||||
$nbEmbauche = 0;
|
||||
foreach ($answers as $a) {
|
||||
if ($a->getStatusReponse() == "A_TRAITER" AND $a->getStatus() =="SENDED" ) {
|
||||
$nbATraiter++;
|
||||
}
|
||||
else if ($a->getStatusReponse() == "CONTACTE" AND $a->getStatus() =="SENDED") {
|
||||
$nbContacte++;
|
||||
}
|
||||
else if ($a->getStatusReponse() == "ENTRETIEN" AND $a->getStatus() =="SENDED") {
|
||||
$nbEntretien++;
|
||||
}
|
||||
else if ($a->getStatusReponse() == "REFUSE" AND $a->getStatus() =="SENDED") {
|
||||
$nbRefuse++;
|
||||
}
|
||||
else if ($a->getStatusReponse() == "EMBAUCHE" AND $a->getStatus() =="SENDED"){
|
||||
$nbEmbauche++;
|
||||
}
|
||||
}
|
||||
return array("nbATraiter"=> $nbATraiter, "nbContacte"=>$nbContacte, "nbEntretien" =>$nbEntretien, "nbRefuse" => $nbRefuse, "nbEmbauche"=>$nbEmbauche);
|
||||
//return $nbATraiter;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*
|
||||
|
||||
@@ -105,6 +105,14 @@ class Answer
|
||||
*/
|
||||
private $vote;
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*
|
||||
* @ORM\Column(name="status_reponse", type="string", length=255, nullable=true, options={"default":"A_TRAITER"})
|
||||
* @Groups({"answer_detail","answer_list"})
|
||||
*/
|
||||
private $statusReponse ='A_TRAITER';
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*
|
||||
@@ -259,6 +267,54 @@ class Answer
|
||||
return $this->vote;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set status.
|
||||
*
|
||||
* @param int|null $status
|
||||
*
|
||||
* @return Answer
|
||||
*/
|
||||
public function setStatus($status = null)
|
||||
{
|
||||
$this->status = $status;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get status.
|
||||
*
|
||||
* @return int|null
|
||||
*/
|
||||
public function getStatus()
|
||||
{
|
||||
return $this->status;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set statusReponse.
|
||||
*
|
||||
* @param string|null $statusReponse
|
||||
*
|
||||
* @return Answer
|
||||
*/
|
||||
public function setStatusReponse($statusReponse = null)
|
||||
{
|
||||
$this->statusReponse = $statusReponse;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get status.
|
||||
*
|
||||
* @return string|null
|
||||
*/
|
||||
public function getStatusReponse()
|
||||
{
|
||||
return $this->statusReponse;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set ad.
|
||||
*
|
||||
|
||||
@@ -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")
|
||||
@@ -80,6 +81,16 @@ 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;
|
||||
private $geolocLocality;
|
||||
|
||||
/**
|
||||
* @ORM\ManyToOne(targetEntity="AppBundle\Entity\Company", inversedBy="users", cascade={"persist"})
|
||||
*/
|
||||
@@ -200,6 +211,51 @@ class User extends BaseUser
|
||||
*/
|
||||
private $language;
|
||||
|
||||
/**
|
||||
* @var int
|
||||
*
|
||||
* @ORM\Column(name="appellation_id", type="integer", nullable=true)
|
||||
*
|
||||
*/
|
||||
private $appellationId;
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*
|
||||
* @ORM\Column(name="appellation_libelle", type="text", nullable=true)
|
||||
*
|
||||
*/
|
||||
private $appellationLibelle;
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*
|
||||
* @ORM\Column(name="code_rome", type="text", nullable=true)
|
||||
*
|
||||
*/
|
||||
private $codeRome;
|
||||
|
||||
/**
|
||||
* @var array
|
||||
*
|
||||
* @ORM\Column(name="competences", type="json_document", nullable=true, options={"jsonb":true})
|
||||
*/
|
||||
private $competences;
|
||||
|
||||
/**
|
||||
* @var \DateTime
|
||||
*
|
||||
* @ORM\Column(name="date_premiere_relance", type="datetime", length=255, nullable=true, options={"default" : "2021-01-01"})
|
||||
*/
|
||||
private $datePremiereRelance;
|
||||
|
||||
/**
|
||||
* @var \DateTime
|
||||
*
|
||||
* @ORM\Column(name="date_deuxieme_relance", type="datetime", length=255, nullable=true, options={"default" : "2021-01-01"})
|
||||
*/
|
||||
private $dateDeuxiemeRelance;
|
||||
|
||||
/***********************
|
||||
* Constructor
|
||||
***********************/
|
||||
@@ -216,6 +272,8 @@ class User extends BaseUser
|
||||
$this->products = new ArrayCollection();
|
||||
$this->recommendations = new ArrayCollection();
|
||||
$this->sendedRecommendations = new ArrayCollection();
|
||||
$this->datePremiereRelance = null;
|
||||
$this->dateDeuxiemeRelance = null;
|
||||
}
|
||||
|
||||
/***********************
|
||||
@@ -430,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(),
|
||||
@@ -451,7 +513,13 @@ class User extends BaseUser
|
||||
"country" => $country,
|
||||
"type" => $type,
|
||||
"currentJob" => $this->getCompany()->getExtra()["titleTalent"],
|
||||
"geoloc" => $this->getGeoloc(),
|
||||
"formattedAddress" => $formatted_address,
|
||||
"website" => $this->getCompany()->getWebsite(),
|
||||
"appellationId" => $this->getAppellationId(),
|
||||
"appellationLibelle" => $this->getAppellationLibelle(),
|
||||
"codeRome" => $this->getCodeRome(),
|
||||
"competences" => $this->getCompetences(),
|
||||
);
|
||||
return $card;
|
||||
}
|
||||
@@ -617,6 +685,44 @@ 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;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get geolocLocality.
|
||||
*
|
||||
* @return json_document|null
|
||||
*/
|
||||
public function getGeolocLocality()
|
||||
{
|
||||
|
||||
$this->geolocLocality=$this->geoloc;
|
||||
return $this->geolocLocality;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set facebookId.
|
||||
*
|
||||
@@ -1212,4 +1318,149 @@ class User extends BaseUser
|
||||
{
|
||||
return $this->language;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Set appellationId.
|
||||
*
|
||||
* @param int|null $appellationId
|
||||
*
|
||||
* @return Ad
|
||||
*/
|
||||
public function setAppellationId($appellationId = null)
|
||||
{
|
||||
$this->appellationId = $appellationId;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get appellationId.
|
||||
*
|
||||
* @return int|null
|
||||
*/
|
||||
public function getAppellationId()
|
||||
{
|
||||
return $this->appellationId;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set appellationLibelle.
|
||||
*
|
||||
* @param string|null $appellationLibelle
|
||||
*
|
||||
* @return Ad
|
||||
*/
|
||||
public function setAppellationLibelle($appellationLibelle = null)
|
||||
{
|
||||
$this->appellationLibelle = $appellationLibelle;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get appellationLibelle.
|
||||
*
|
||||
* @return string|null
|
||||
*/
|
||||
public function getAppellationLibelle()
|
||||
{
|
||||
return $this->appellationLibelle;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set codeRome.
|
||||
*
|
||||
* @param string|null $codeRome
|
||||
*
|
||||
* @return Ad
|
||||
*/
|
||||
public function setCodeRome($codeRome = null)
|
||||
{
|
||||
$this->codeRome = $codeRome;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get codeRome.
|
||||
*
|
||||
* @return string|null
|
||||
*/
|
||||
public function getCodeRome()
|
||||
{
|
||||
return $this->codeRome;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set competences.
|
||||
*
|
||||
* @param json_document|null $competences
|
||||
*
|
||||
* @return Ad
|
||||
*/
|
||||
public function setCompetences($competences = null)
|
||||
{
|
||||
$this->competences = $competences;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get competences.
|
||||
*
|
||||
* @return json_document|null
|
||||
*/
|
||||
public function getCompetences()
|
||||
{
|
||||
return $this->competences;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set datePremiereRelance.
|
||||
*
|
||||
* @param \DateTime|null $datePremiereRelance
|
||||
*
|
||||
* @return User
|
||||
*/
|
||||
public function setDatePremiereRelance($datePremiereRelance = null)
|
||||
{
|
||||
$this->datePremiereRelance = $datePremiereRelance;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get datePremiereRelance.
|
||||
*
|
||||
* @return \DateTime|null
|
||||
*/
|
||||
public function getDatePremiereRelance()
|
||||
{
|
||||
|
||||
return $this->datePremiereRelance->format('d/m/Y');
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Set dateDeuxiemeRelance.
|
||||
*
|
||||
* @param \DateTime|null $dateDeuxiemeRelance
|
||||
*
|
||||
* @return User
|
||||
*/
|
||||
public function setDateDeuxiemeRelance($dateDeuxiemeRelance = null)
|
||||
{
|
||||
$this->dateDeuxiemeRelance = $dateDeuxiemeRelance;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get dateDeuxiemeRelance.
|
||||
*
|
||||
* @return \DateTime|null
|
||||
*/
|
||||
public function getDateDeuxiemeRelance()
|
||||
{
|
||||
|
||||
return $this->dateDeuxiemeRelance->format('d/m/Y');
|
||||
}
|
||||
}
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user