Compare commits
18 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| d28a6cfc1b | |||
| e6409a6124 | |||
| 42ef149f41 | |||
| 5112da2f40 | |||
| dc5c50dd49 | |||
| 9f076c4423 | |||
| 987c78f5be | |||
| 078a62e588 | |||
| 73e709c6c9 | |||
| ec71b87747 | |||
| a5636bf2b5 | |||
| c0e25f5d10 | |||
| fc860c32ad | |||
| 69522b4836 | |||
| 1aea17557e | |||
| ab74dae813 | |||
| c46f0c29a3 | |||
| 5b1d296817 |
@@ -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>
|
||||
|
||||
@@ -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]-->
|
||||
|
||||
@@ -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 -->
|
||||
@@ -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,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 %}
|
||||
@@ -133,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_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">
|
||||
|
||||
@@ -47,8 +47,13 @@
|
||||
<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 %}
|
||||
|
||||
{% endblock %}
|
||||
{% if app.environment == "dev" %}
|
||||
<meta name="robots" content="noindex,nofollow">
|
||||
{% else %}
|
||||
{# <meta name="robots" content="noindex,nofollow"> #}
|
||||
{% endif %}
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
@@ -15,7 +15,12 @@
|
||||
|
||||
<!-- Required Meta Tags Always Come First -->
|
||||
<meta charset="utf-8">
|
||||
<meta name="robots" content="noindex,nofollow">
|
||||
|
||||
{% if app.environment == "dev" %}
|
||||
<meta name="robots" content="noindex,nofollow">
|
||||
{% else %}
|
||||
{# <meta name="robots" content="noindex,nofollow"> #}
|
||||
{% endif %}
|
||||
<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,137 +129,84 @@ 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">
|
||||
<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>
|
||||
<div id="reponses" class="table-responsive m-t-20">
|
||||
<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: 1%;"></th>
|
||||
<th style="width: 10%;">Vidéo</th>
|
||||
<th style="width: 20%;">Nom prénom</th>
|
||||
<th style="width: 15%;">Date de reception </th>
|
||||
<th style="width: 20%;">Localisation </th>
|
||||
<th style="width: 20%;">Statut</th>
|
||||
<th class="width: 5%;">Actions</th>
|
||||
<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>
|
||||
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for answer in answers %}
|
||||
<tr>
|
||||
<td>
|
||||
<input type="checkbox" id="answer_{{answer.id}}" name="answers" class="nav-trigger"
|
||||
onChange="verifierIsChecked({{answer.id}})" {% if answer.isShared %} checked
|
||||
{% endif %} />
|
||||
<label for="nav-trigger" class="navicon-button x">
|
||||
<div class="navicon"></div>
|
||||
</label>
|
||||
</td>
|
||||
<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>
|
||||
{% if answer.user.getGeoloc %}
|
||||
{% for adress in answer.user.getGeoloc %}
|
||||
|
||||
{{ adress["locality"] }}, {{ adress["postal_code"] }}
|
||||
{% endfor %}
|
||||
{% else %}
|
||||
Non renseignée
|
||||
{% endif %}
|
||||
</td>
|
||||
<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>
|
||||
|
||||
|
||||
<td>
|
||||
{% 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>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
||||
|
||||
|
||||
<td class="v-align-middle">
|
||||
<a title="{{ad.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>
|
||||
{% endfor %} #}
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
{% endfor %}
|
||||
{% if answers|length == 0 %}
|
||||
<tr>
|
||||
<th colspan="7" class="text-center">Aucune candidature pour le moment</th>
|
||||
</tr>
|
||||
{% endif %}
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
@@ -363,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);
|
||||
}
|
||||
@@ -397,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');
|
||||
@@ -440,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()
|
||||
@@ -470,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 %}
|
||||
@@ -424,7 +424,7 @@
|
||||
);
|
||||
$("#ajouterCompetenceButtonMdal").html("Ajouter (+0)");
|
||||
$("#ajouterCompetenceButtonMdal").hide();
|
||||
$("#saveAdButton").prop("disabled", true);
|
||||
//$("#saveAdButton").prop("disabled", true);
|
||||
} else if (nbCompetencesSelect > 9) {
|
||||
//Gestion des erreurs si plusde 10 compétences
|
||||
$("#saveAdButton").prop("disabled", false);
|
||||
|
||||
@@ -37,7 +37,30 @@
|
||||
<!-- 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">
|
||||
@@ -308,15 +331,21 @@
|
||||
</table>
|
||||
</div>
|
||||
<br>
|
||||
|
||||
<button aria-label="" type="submit"
|
||||
<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>
|
||||
</button> #}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -416,7 +445,7 @@
|
||||
);
|
||||
$("#ajouterCompetenceButtonMdal").html("Ajouter (+0)");
|
||||
$("#ajouterCompetenceButtonMdal").hide();
|
||||
$("#saveAdButton").prop("disabled", true);
|
||||
//$("#saveAdButton").prop("disabled", true);
|
||||
} else if (nbCompetencesSelect > 9) {
|
||||
$("#saveAdButton").prop("disabled", false);
|
||||
//Gestion des erreurs si plusde 10 compétences
|
||||
@@ -705,5 +734,10 @@
|
||||
// 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 ">
|
||||
@@ -72,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>
|
||||
@@ -137,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 %}
|
||||
@@ -24,7 +24,7 @@
|
||||
<a href="{{ path('company_ad_answer_list',{'id':answer.ad.id}) }}">{{ answer.ad.title }}
|
||||
</a>
|
||||
{% else %}
|
||||
Candidature spontanée
|
||||
<a href="{{ path('company_answer_list') }}">Candidature spontanée</a>
|
||||
{% endif %}
|
||||
</li>
|
||||
<li class="breadcrumb-item active"><a href="#"> candidat {{ answer.user.firstname }}
|
||||
@@ -48,7 +48,7 @@
|
||||
|
||||
<h5><a href="{{ path('company_answer_list') }}">Candidature spontanée</a></h5>
|
||||
{% endif %}
|
||||
<h6>Candidature reçue le {{ answer.cTime|date('d/m/Y') }}</h6>
|
||||
<h6>Candidature reçue le {{ answer.sendTime|date('d/m/Y') }}</h6>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -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} %} #}
|
||||
|
||||
@@ -158,7 +182,9 @@ vidéo d'offre d'emploi. <a href="https://blog.talentstube.com/contact" target="
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-6">
|
||||
<button aria-label="" id="submit" type="submit" class="btn btn-primary btn-lg m-b-10 hide"
|
||||
|
||||
<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>
|
||||
|
||||
@@ -294,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 %}
|
||||
@@ -86,42 +86,52 @@
|
||||
<!-- 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">
|
||||
<a href="{{path('company_ad_create')}}">
|
||||
|
||||
<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>
|
||||
</a>
|
||||
|
||||
</button>
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-md" type="button">
|
||||
|
||||
|
||||
<div class="col-md" type="button">
|
||||
<a href="{{path('company_ad')}}">
|
||||
<button class="card-action" style="" type="button">
|
||||
<a href="{{path('company_ad')}}">
|
||||
|
||||
<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>
|
||||
</a>
|
||||
|
||||
</button>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="col-md" type="button">
|
||||
<a href="{{path('company_answer_list')}}">
|
||||
<button class="card-action" style="" type="button">
|
||||
|
||||
<a href="{{path('company_answer_list')}}">
|
||||
<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>
|
||||
</a>
|
||||
|
||||
</button>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -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>
|
||||
@@ -1,40 +1,37 @@
|
||||
<!-- 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 class="container space-2 space-3--lg accueilFondBlanc">
|
||||
<div class=" text-center mx-md-auto mb-12">
|
||||
<!-- Title -->
|
||||
<h2 class="h3"> Ils nous font confiance</h2>
|
||||
</div>
|
||||
<div class="align-right justify-content-sm-center row text-center">
|
||||
<div class="col-lg-9 col-xl-8">
|
||||
|
||||
|
||||
<!-- Video Block -->
|
||||
<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 Slick Carousel -->
|
||||
<!-- End Video Block -->
|
||||
</div>
|
||||
</div>
|
||||
<!-- Ils nous font confiance FIN -->
|
||||
</div>
|
||||
<!-- Ils nous font confiance FIN -->
|
||||
@@ -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 -->
|
||||
@@ -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 -->
|
||||
@@ -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>
|
||||
@@ -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 -->
|
||||
@@ -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-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="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>
|
||||
@@ -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 -->
|
||||
@@ -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 -->
|
||||
@@ -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>
|
||||
@@ -0,0 +1,150 @@
|
||||
|
||||
<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-gray-100 shadow-lg rounded">
|
||||
<!-- Individual -->
|
||||
<div id="pricingIndividual" data-target-group="idPricing">
|
||||
<div class="js-slick-carousel u-slick u-slick--gutters"
|
||||
data-slides-show="3"
|
||||
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">Jusqu'à 3 vidéos</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 -->
|
||||
|
||||
<!-- Content -->
|
||||
<div class="card-body p-5">
|
||||
<ul class="list-unstyled mb-4">
|
||||
<li class="font-size-14 py-2">- Création page entreprise</li>
|
||||
<li class="font-size-14 py-2">- Accès espace recruteur</li>
|
||||
<li class="font-size-14 py-2">- Mise en ligne de 1 à 3 vidéos
|
||||
offre d’emploi et Marque employeur</li>
|
||||
<li class="font-size-14 py-2">- Réception des candidatures en vidéo</li>
|
||||
<li class="font-size-14 py-2">- Gestion des candidatures</li>
|
||||
<li class="font-size-14 py-2">- Échanges vidéos avec les candidats</li>
|
||||
<li class="font-size-14 py-2">- Suivi Statistiques</li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
<!-- End Content -->
|
||||
</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">De 4 à 9 vidéos</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 -->
|
||||
|
||||
<!-- Content -->
|
||||
<div class="card-body p-5">
|
||||
<ul class="list-unstyled mb-4">
|
||||
<li class="font-size-14 py-2">- Création page entreprise</li>
|
||||
<li class="font-size-14 py-2">- Accès espace recruteur</li>
|
||||
<li class="font-size-14 py-2">- Mise en ligne de 4 à 9 vidéos
|
||||
offre d’emploi et Marque employeur</li>
|
||||
<li class="font-size-14 py-2">- Réception des candidatures en vidéo</li>
|
||||
<li class="font-size-14 py-2">- Gestion des candidatures</li>
|
||||
<li class="font-size-14 py-2">- Échanges vidéos avec les candidats</li>
|
||||
<li class="font-size-14 py-2">- Suivi Statistiques</li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
<!-- End Content -->
|
||||
</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">Plus de 10 vidéos</h4>
|
||||
<span class="d-block">
|
||||
<span class="display-4 text-dark">
|
||||
Sur devis
|
||||
</span>
|
||||
<span class="d-block text-secondary font-size-14"> </span>
|
||||
</span>
|
||||
</header>
|
||||
<!-- End Header -->
|
||||
|
||||
<!-- Content -->
|
||||
<div class="card-body p-5">
|
||||
<ul class="list-unstyled mb-4">
|
||||
<li class="font-size-14 py-2">- Création page entreprise</li>
|
||||
<li class="font-size-14 py-2">- Accès espace recruteur</li>
|
||||
<li class="font-size-14 py-2">- Mise en ligne de 10 vidéos
|
||||
offre d’emploi et Marque employeur</li>
|
||||
<li class="font-size-14 py-2">- Réception des candidatures en vidéo</li>
|
||||
<li class="font-size-14 py-2">- Gestion des candidatures</li>
|
||||
<li class="font-size-14 py-2">- Échanges vidéos avec les candidats</li>
|
||||
<li class="font-size-14 py-2">- Suivi Statistiques</li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
<!-- End Content -->
|
||||
</div>
|
||||
<!-- End Pricing -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- End Individual -->
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<!-- End Pricing Section -->
|
||||
|
||||
|
||||
</div>
|
||||
@@ -2,46 +2,48 @@
|
||||
|
||||
{% 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/blocLogo.html.twig' %}
|
||||
{% include 'defaultv2/accueil/blocNotreMission.html.twig' %}
|
||||
{% include 'defaultv2/accueil/blocPourquoiNous.html.twig' %}
|
||||
{% include 'defaultv2/accueil/blocRecap.html.twig' %}
|
||||
{% include 'defaultv2/accueil/blocTarifs.html.twig' %}
|
||||
{% include 'defaultv2/accueil/blocAction.html.twig' %}
|
||||
|
||||
|
||||
</main>
|
||||
<!-- ========== END MAIN CONTENT ========== -->
|
||||
|
||||
@@ -95,15 +97,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 +168,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 +190,56 @@ with {
|
||||
|
||||
{% block javascripts %}
|
||||
{{ parent() }}
|
||||
<script src="https://player.vimeo.com/api/player.js"></script>
|
||||
<script>
|
||||
// initialization of google map
|
||||
{# function initMap() {
|
||||
$.HSCore.components.HSGMap.init('.js-g-map');
|
||||
} #}
|
||||
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 %}
|
||||
@@ -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
|
||||
|
||||
@@ -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 -->
|
||||
@@ -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 -->
|
||||
@@ -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-->
|
||||
@@ -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 -->
|
||||
@@ -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 -->
|
||||
@@ -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 -->
|
||||
@@ -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 -->
|
||||
@@ -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 -->
|
||||
@@ -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>
|
||||
|
||||
@@ -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 -->
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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">
|
||||
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 -->
|
||||
|
||||
|
||||
@@ -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">
|
||||
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{% extends "baseLanding.html.twig" %}
|
||||
{% block title %}Valorisez votre métier en tension et recrutez des candidats grâce à la vidéo{% endblock %}
|
||||
{% block title %}Valorisez votre métier d'aide à domicile et recrutez grâce à la 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.">
|
||||
@@ -13,6 +13,7 @@
|
||||
<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() }}
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
<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() }}
|
||||
@@ -178,8 +179,7 @@
|
||||
<div class="container">
|
||||
<header>
|
||||
<h2>Ils ont recruté en vidéo, pourquoi pas vous ?</h2>
|
||||
<h3>Plus qu'une dernière étape avant de rendre votre métier en tension plus attractif.<br>Osez recruter
|
||||
autrement ! </h3>
|
||||
<h3>Ces entreprises ont choisi Talents Tube pour recruter en vidéo ! </h3>
|
||||
</header>
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
@@ -223,7 +223,7 @@
|
||||
<!--goodbye-message-->
|
||||
<div class="appel-action">
|
||||
<h2>Demandez un RDV gratuitement</h2>
|
||||
<p>Plus qu'une dernière étape avant de rendre le métier d'aide à domicile plus attractif.</p>
|
||||
<p>Plus qu’une dernière étape avant de rendre votre métier en tension plus attractif. </p>
|
||||
<p>Osez recruter autrement !</p>
|
||||
<button class="bttn" data-toggle="modal" data-target="#exampleModal" style="margin-top:30px;">Demander
|
||||
un rendez-vous</button>
|
||||
|
||||
@@ -7,14 +7,40 @@
|
||||
<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: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-->
|
||||
@@ -79,6 +105,7 @@
|
||||
<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>
|
||||
|
||||
@@ -126,9 +126,9 @@
|
||||
{% set idPresentationVideo = false %}
|
||||
{% endif %}
|
||||
{% if idPresentationVideo != media.id %}
|
||||
{% if iteration is divisible by(2) or iteration==0%}
|
||||
{# {% if iteration is divisible by(2) or iteration==0%}
|
||||
<div class="row p-t-10 p-b-10">
|
||||
{% endif %}
|
||||
{% endif %} #}
|
||||
|
||||
<div class="col">
|
||||
<div class="card-image">
|
||||
@@ -189,7 +189,7 @@
|
||||
|
||||
|
||||
{# cas d'un nombre impair de video #}
|
||||
{% if nbMedias == iteration+1 and iteration is divisible by(2)%}
|
||||
{# {% if nbMedias == iteration+1 and iteration is divisible by(2)%}
|
||||
<div class="col">
|
||||
<div class="card-image">
|
||||
<div class="embed-responsive embed-responsive-16by9">
|
||||
@@ -199,14 +199,14 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% 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%}
|
||||
{# {% if iteration+1 is divisible by(2) or nbMedias==1%}
|
||||
</div>
|
||||
{% endif %}
|
||||
{% set iteration = iteration+1 %}
|
||||
{% set iteration = iteration+1 %} #}
|
||||
{% else %}
|
||||
{% set nbMedias = nbMedias-1%}
|
||||
{# {% set nbMedias = nbMedias-1%} #}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
|
||||
|
||||
@@ -80,7 +80,7 @@ twig:
|
||||
globals:
|
||||
push_public_key: "%push_params.public_key%"
|
||||
fairlane_cookie_consent: '@fairlane_cookie_consent.twig'
|
||||
version: '2.7.4'
|
||||
version: '2.8.2'
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -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', [
|
||||
|
||||
@@ -0,0 +1,226 @@
|
||||
<?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;
|
||||
use DateTime;
|
||||
class BatchController extends Controller
|
||||
{
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* @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="";
|
||||
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->setStatusReponse("CONTACTE");
|
||||
$em->persist($answer);
|
||||
$em->flush();
|
||||
}
|
||||
|
||||
}
|
||||
return $this->render('admin/dashboard.html.twig', array());
|
||||
}
|
||||
|
||||
}
|
||||
@@ -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');
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -534,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")
|
||||
*/
|
||||
@@ -578,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
|
||||
]);
|
||||
|
||||
@@ -384,6 +384,51 @@ class CompanyController extends FOSRestController
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @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 = "dev@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")
|
||||
|
||||
@@ -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,
|
||||
@@ -427,6 +465,7 @@ class DefaultController extends Controller
|
||||
]);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @Route("/recrutement-aide-a-domicile", name="recrutement_aide_a_domicile")
|
||||
*/
|
||||
|
||||
@@ -35,9 +35,9 @@ class MediaController extends Controller
|
||||
*/
|
||||
public function companyMediaAction(Request $request)
|
||||
{
|
||||
$event = new UserEvent($this->getUser());
|
||||
//$event = new UserEvent($this->getUser());
|
||||
$company = $this->getUser()->getCompany();
|
||||
$this->get('event_dispatcher')->dispatch(PrestashopBridgeEvents::USER_PROD_UPDATE, $event);
|
||||
//$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);
|
||||
@@ -66,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);
|
||||
@@ -141,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);
|
||||
@@ -155,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');
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -558,6 +558,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
|
||||
*
|
||||
|
||||
@@ -210,6 +210,37 @@ class User extends BaseUser
|
||||
*/
|
||||
private $language;
|
||||
|
||||
/**
|
||||
* @var int
|
||||
*
|
||||
* @ORM\Column(name="appellationId", type="integer", nullable=true)
|
||||
*
|
||||
*/
|
||||
private $appellationId;
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*
|
||||
* @ORM\Column(name="appellationLibelle", type="text", nullable=true)
|
||||
*
|
||||
*/
|
||||
private $appellationLibelle;
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*
|
||||
* @ORM\Column(name="codeRome", type="text", nullable=true)
|
||||
*
|
||||
*/
|
||||
private $codeRome;
|
||||
|
||||
/**
|
||||
* @var array
|
||||
*
|
||||
* @ORM\Column(name="competences", type="json_document", nullable=true, options={"jsonb":true})
|
||||
*/
|
||||
private $competences;
|
||||
|
||||
/***********************
|
||||
* Constructor
|
||||
***********************/
|
||||
@@ -1261,4 +1292,100 @@ 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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -70,6 +70,7 @@ class AdType extends AbstractType
|
||||
$builder
|
||||
->add('reference', TextType::class, array(
|
||||
'label' => 'Référence de l\'annonce',
|
||||
'required' => true,
|
||||
'attr' => array(
|
||||
'placeholder' => 'Ex : OFFRE_521',
|
||||
'class' => 'form-control'
|
||||
@@ -210,6 +211,7 @@ class AdType extends AbstractType
|
||||
'mapped' => false,
|
||||
'label' =>'Compétences',
|
||||
'data' => $competences,
|
||||
'required' => false,
|
||||
'attr' => array(
|
||||
'class' => 'form-control',
|
||||
)
|
||||
|
||||
@@ -14,7 +14,8 @@ class MediaType extends AbstractType
|
||||
|
||||
$builder->add('title', TextType::class, array(
|
||||
'label' => 'Titre de la vidéo',
|
||||
'required' => true
|
||||
'empty_data' => 'Titre de la vidéo',
|
||||
'required' => false
|
||||
))
|
||||
->add('media', HiddenType::class, array(
|
||||
'attr' => array(
|
||||
|
||||
@@ -16,10 +16,12 @@ class NoteAjaxType extends AbstractType
|
||||
->add('content', TextareaType::class, array(
|
||||
'label' => 'Note',
|
||||
'required' => true,
|
||||
|
||||
'attr' => array(
|
||||
'class' => 'form-control',
|
||||
'rows' =>"5",
|
||||
'style' =>"min-height:4em;"
|
||||
'style' =>"min-height:4em;",
|
||||
'placeholder' => 'Ce commentaire sera visible uniquement par vous et les autres utilisateurs de l’espace recruteur.',
|
||||
)
|
||||
));
|
||||
}
|
||||
|
||||
@@ -62,6 +62,19 @@ class AdRepository extends AbstractRepository
|
||||
->andWhere('a.id = '.$adId);
|
||||
|
||||
|
||||
return $qb
|
||||
->getQuery()
|
||||
->getResult();
|
||||
}
|
||||
|
||||
public function getAdByCompany($companyId){
|
||||
$qb = $this
|
||||
->createQueryBuilder('a')
|
||||
->select('a')
|
||||
->leftjoin('a.company', 'comp')
|
||||
->where('comp.id = '.$companyId);
|
||||
|
||||
|
||||
return $qb
|
||||
->getQuery()
|
||||
->getResult();
|
||||
|
||||
@@ -190,31 +190,39 @@ class AnswerRepository extends AbstractRepository
|
||||
->join('a.user', 'user')
|
||||
->leftjoin('a.ad', 'ad')
|
||||
->leftjoin('a.video', 'video')
|
||||
->leftjoin('a.company', 'company');
|
||||
->leftjoin('a.company', 'c')
|
||||
->leftjoin('ad.company', 'company');
|
||||
$countQuery
|
||||
->join('a.user', 'user')
|
||||
->leftjoin('a.ad', 'ad')
|
||||
->leftjoin('a.video', 'video')
|
||||
->leftjoin('a.company', 'company');
|
||||
->leftjoin('a.company', 'c')
|
||||
->leftjoin('ad.company', 'company');
|
||||
// $countQuery
|
||||
// ->join('town.department', 'department')
|
||||
// ->join('department.region', 'region');
|
||||
|
||||
// Other conditions than the ones sent by the Ajax call ?
|
||||
if ($otherConditions === null)
|
||||
if ($otherConditions )
|
||||
{
|
||||
// No
|
||||
// However, add a "always true" condition to keep an uniform treatment in all cases
|
||||
$query->where("1=1");
|
||||
$countQuery->where("1=1");
|
||||
}
|
||||
else
|
||||
{
|
||||
// Add condition
|
||||
$query->where($otherConditions);
|
||||
$countQuery->where($otherConditions);
|
||||
if($otherConditions["type"]=="company"){
|
||||
$query->where("(company.id=".$otherConditions["id"]." OR c.id=".$otherConditions["id"].")");
|
||||
$countQuery->where("(company.id=".$otherConditions["id"]." OR c.id=".$otherConditions["id"].")");
|
||||
}elseif($otherConditions["type"]=="ad"){
|
||||
$query->where("(ad.id=".$otherConditions["id"].")");
|
||||
$countQuery->where("(ad.id=".$otherConditions["id"].")");
|
||||
}
|
||||
|
||||
$query->andWhere("a.status='SENDED'");
|
||||
$countQuery->andWhere("a.status='SENDED'");
|
||||
}else{
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
// Fields Search
|
||||
foreach ($columns as $key => $column)
|
||||
{
|
||||
@@ -231,25 +239,54 @@ class AnswerRepository extends AbstractRepository
|
||||
{
|
||||
|
||||
// $searchQuery = 'town.name LIKE \'%'.$searchItem.'%\'';
|
||||
$searchQuery = 'lower(user.lastname) LIKE \'%'.$searchItem.'%\'';
|
||||
$searchQuery = 'lower(user.lastname) LIKE lower(\'%'.$searchItem.'%\')';
|
||||
break;
|
||||
}
|
||||
case 'nomPrenom':
|
||||
{
|
||||
|
||||
// $searchQuery = 'town.name LIKE \'%'.$searchItem.'%\'';
|
||||
$searchQuery = 'lower(user.lastname) LIKE lower(\'%'.$searchItem.'%\') or lower(user.firstname) LIKE lower(\'%'.$searchItem.'%\')';
|
||||
break;
|
||||
}
|
||||
case 'offre':
|
||||
{
|
||||
|
||||
// $searchQuery = 'town.name LIKE \'%'.$searchItem.'%\'';
|
||||
if($searchItem=="spontaneous"){
|
||||
$searchQuery = 'lower(ad.title) is null';
|
||||
}else{
|
||||
$searchQuery = 'lower(ad.title) LIKE lower(\'%'.$searchItem.'%\')';
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
case 'status':
|
||||
{
|
||||
// $searchQuery = 'town.postalCode LIKE \'%'.$searchItem.'%\'';
|
||||
$searchQuery = 'lower(a.status) LIKE \'%'.$searchItem.'%\'';
|
||||
$searchQuery = 'lower(a.status) LIKE lower(\'%'.$searchItem.'%\')';
|
||||
break;
|
||||
}
|
||||
case 'statusReponse':
|
||||
{
|
||||
// $searchQuery = 'town.postalCode LIKE \'%'.$searchItem.'%\'';
|
||||
|
||||
$searchQuery = 'lower(a.statusReponse) LIKE lower(\'%'.$searchItem.'%\')';
|
||||
if($searchItem=="A_TRAITER"){
|
||||
$searchQuery .= ' or a.statusReponse is null';
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 'prenom':
|
||||
{
|
||||
// $searchQuery = 'department.name LIKE \'%'.$searchItem.'%\'';
|
||||
$searchQuery = 'lower(user.firstname) LIKE \'%'.$searchItem.'%\'';
|
||||
$searchQuery = 'lower(user.firstname) LIKE lower(\'%'.$searchItem.'%\')';
|
||||
break;
|
||||
}
|
||||
case 'entreprise':
|
||||
{
|
||||
// $searchQuery = 'department.name LIKE \'%'.$searchItem.'%\'';
|
||||
$searchQuery = 'lower(company.brandName) LIKE \'%'.$searchItem.'%\' or lower(ad.title) LIKE \'%'.$searchItem.'%\'';
|
||||
$searchQuery = 'lower(company.brandName) LIKE lower(\'%'.$searchItem.'%\') or lower(ad.title) LIKE lower(\'%'.$searchItem.'%\')';
|
||||
break;
|
||||
}
|
||||
case 'ad_id':
|
||||
@@ -351,13 +388,21 @@ class AnswerRepository extends AbstractRepository
|
||||
|
||||
|
||||
$medias = $qb->getQuery()->getResult();
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
return $medias;
|
||||
}
|
||||
|
||||
public function findAllComment()
|
||||
{
|
||||
$qb = $this
|
||||
->createQueryBuilder('a')
|
||||
->select(['a'])
|
||||
->where('a.comment IS NOT NULL');
|
||||
|
||||
|
||||
|
||||
$answers = $qb->getQuery()->getResult();
|
||||
|
||||
return $answers;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,6 +25,22 @@ class MessageRepository extends \Doctrine\ORM\EntityRepository
|
||||
->getQuery()
|
||||
->getResult();
|
||||
}
|
||||
|
||||
public function getMessageAnswers()
|
||||
{
|
||||
$qb = $this
|
||||
->createQueryBuilder('m')
|
||||
->select('m', 'a')
|
||||
->join('m.answer', 'a')
|
||||
->where('m.status <> :status')
|
||||
->andWhere('a.comment is null')
|
||||
->setParameter(':status', 'DRAFT')
|
||||
|
||||
;
|
||||
return $qb
|
||||
->getQuery()
|
||||
->getResult();
|
||||
}
|
||||
}
|
||||
|
||||
// add status = SENDED;
|
||||
@@ -69,4 +69,35 @@ class UserRepository extends EntityRepository
|
||||
|
||||
return $qb->getQuery()->getResult();
|
||||
}
|
||||
|
||||
public function findUserAvecAdresse()
|
||||
{
|
||||
|
||||
$qb = $this->_em->createQueryBuilder();
|
||||
$qb->select('u', 'c')
|
||||
->from($this->_entityName, 'u')
|
||||
->join('u.company', 'c')
|
||||
->where('c.addresses is not NULL')
|
||||
->andWhere('u.geoloc is NULL')
|
||||
->andWhere('u.enabled = true')
|
||||
->andwhere('u.roles LIKE :roleT')
|
||||
->setParameter('roleT', '%ROLE_TALENT%')
|
||||
->setMaxResults(100) ;
|
||||
return $qb->getQuery()->getResult();
|
||||
}
|
||||
|
||||
public function findUserAvecAdresseCount()
|
||||
{
|
||||
|
||||
$qb = $this->_em->createQueryBuilder();
|
||||
$qb->select('COUNT(u)')
|
||||
->from($this->_entityName, 'u')
|
||||
->join('u.company', 'c')
|
||||
->where('c.addresses is not NULL')
|
||||
->andWhere('u.geoloc is NULL')
|
||||
->andWhere('u.enabled = true')
|
||||
->andwhere('u.roles LIKE :roleT')
|
||||
->setParameter('roleT', '%ROLE_TALENT%');
|
||||
return $qb->getQuery()->getResult();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -178,6 +178,11 @@ Créer une offre d'emploi vidéo / Gérer mes offres d'emploi / Gérer mes candi
|
||||
box-shadow: 0px 2px 5px rgb(30 35 39 / 5%);
|
||||
transition: background-color 0.3s;
|
||||
transition: box-shadow 0.5s;
|
||||
color: #fff !important;
|
||||
}
|
||||
|
||||
.card-action a {
|
||||
color: #fff !important;
|
||||
}
|
||||
|
||||
.card-action:hover {
|
||||
@@ -250,4 +255,16 @@ Détails d'une candidature
|
||||
border:2px dashed rgba(33, 33, 33, 0.14);
|
||||
border-radius:5px;
|
||||
padding:20px;
|
||||
}
|
||||
}
|
||||
|
||||
/********************************************
|
||||
Liste d'offres d'emploi
|
||||
*******************************************/
|
||||
|
||||
tr .colonne1{
|
||||
background-color:#F3F3F4;
|
||||
}
|
||||
|
||||
tr .colonne2{
|
||||
background-color:#E9E9EA;
|
||||
}
|
||||
|
||||
@@ -5,6 +5,11 @@
|
||||
xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9
|
||||
http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd">
|
||||
<!-- created with Free Online Sitemap Generator www.xml-sitemaps.com -->
|
||||
<url>
|
||||
<loc>https://recruteur.talentstube.com/concept</loc>
|
||||
<lastmod>2021-03-24T16:05:39+00:00</lastmod>
|
||||
<priority>1.00</priority>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://recruteur.talentstube.com/recrutement-aide-a-domicile</loc>
|
||||
<lastmod>2021-03-09T16:05:39+00:00</lastmod>
|
||||
@@ -22,7 +27,7 @@
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://recruteur.talentstube.com/</loc>
|
||||
<lastmod>2020-11-18T16:05:39+00:00</lastmod>
|
||||
<lastmod>2021-03-24T16:05:39+00:00</lastmod>
|
||||
<priority>1.00</priority>
|
||||
</url>
|
||||
<url>
|
||||
|
||||
@@ -2672,8 +2672,8 @@ fieldset:disabled a.btn {
|
||||
|
||||
.btn-primary {
|
||||
color: #fff;
|
||||
background-color: #21c87a;
|
||||
border-color: #21c87a;
|
||||
background-color: #25D89A;
|
||||
border-color: #25D89A;
|
||||
}
|
||||
|
||||
.btn-primary:hover {
|
||||
@@ -2744,6 +2744,43 @@ fieldset:disabled a.btn {
|
||||
box-shadow: 0 0 0 0.2rem rgba(123, 133, 141, 0.5);
|
||||
}
|
||||
|
||||
.btn-rouge {
|
||||
color: #fff;
|
||||
background-color: #FF5A5F;
|
||||
border-color: #FF5A5F;
|
||||
}
|
||||
|
||||
.btn-rouge:hover {
|
||||
color: #fff;
|
||||
background-color: #FF6A6C;
|
||||
border-color: #FF6A6C;
|
||||
}
|
||||
|
||||
.btn-rouge:focus, .btn-rouge.focus {
|
||||
color: #fff;
|
||||
background-color: #FF6A6C;
|
||||
border-color: #FF6A6C;
|
||||
box-shadow: 0 0 0 0.2rem rgba(123, 133, 141, 0.5);
|
||||
}
|
||||
|
||||
.btn-rouge.disabled, .btn-rouge:disabled {
|
||||
color: #fff;
|
||||
background-color: #FF5A5F;
|
||||
border-color: #FF5A5F;
|
||||
}
|
||||
|
||||
.btn-rouge:not(:disabled):not(.disabled):active, .btn-rouge:not(:disabled):not(.disabled).active,
|
||||
.show > .btn-rouge.dropdown-toggle {
|
||||
color: #fff;
|
||||
background-color: #FF6A6C;
|
||||
border-color: #FF6A6C;
|
||||
}
|
||||
|
||||
.btn-rouge:not(:disabled):not(.disabled):active:focus, .btn-rouge:not(:disabled):not(.disabled).active:focus,
|
||||
.show > .btn-rouge.dropdown-toggle:focus {
|
||||
box-shadow: 0 0 0 0.2rem rgba(123, 133, 141, 0.5);
|
||||
}
|
||||
|
||||
.btn-success {
|
||||
color: #fff;
|
||||
background-color: #21c87a;
|
||||
@@ -4816,7 +4853,7 @@ input[type="button"].btn-block {
|
||||
display: flex;
|
||||
-ms-flex-direction: column;
|
||||
flex-direction: column;
|
||||
padding-left: 100px;
|
||||
padding-left: 0 !important;
|
||||
margin-bottom: 0;
|
||||
list-style: none;
|
||||
}
|
||||
@@ -13032,8 +13069,8 @@ button:focus {
|
||||
|
||||
.u-header__section {
|
||||
z-index: 1;
|
||||
background-image: linear-gradient(to bottom, rgba(30,35,39,0.7), rgba(30,35,39,0));
|
||||
/* background-color: f8f8f8; */
|
||||
/*background-image: linear-gradient(to bottom, rgba(30,35,39,0.7), rgba(30,35,39,0)); */
|
||||
background-color: #313940;
|
||||
font-size: 19px;
|
||||
color:#fff
|
||||
|
||||
@@ -13056,7 +13093,8 @@ button:focus {
|
||||
}
|
||||
|
||||
.u-header__navbar-brand-mobile {
|
||||
width: 3.125rem;
|
||||
/*width: 3.125rem;*/
|
||||
width: auto;
|
||||
}
|
||||
|
||||
.u-header__navbar-nav {
|
||||
@@ -13087,9 +13125,9 @@ button:focus {
|
||||
/* Nav Link */
|
||||
.u-header__nav-link {
|
||||
color: #D2D3D3;
|
||||
font-size : 19px;
|
||||
font-size: 1rem;
|
||||
font-weight: 600;
|
||||
font-size : 16px;
|
||||
/*font-size: 1rem;*/
|
||||
font-weight: 400;
|
||||
}
|
||||
|
||||
.u-header__nav-link-icon {
|
||||
@@ -13769,8 +13807,8 @@ button:focus {
|
||||
flex: 0 0 auto;
|
||||
width: auto;
|
||||
max-width: none;
|
||||
-ms-flex-order: 3;
|
||||
order: 3;
|
||||
-ms-flex-order: 1;
|
||||
order: 1;
|
||||
}
|
||||
.navbar-expand-lg .u-header__navbar-brand {
|
||||
padding-top: 1rem;
|
||||
@@ -13785,10 +13823,14 @@ button:focus {
|
||||
margin-left: auto;
|
||||
}
|
||||
.navbar-expand-lg .u-header__navbar-nav .u-header__nav-link {
|
||||
padding-top: 1.375rem;
|
||||
padding-bottom: 1.375rem;
|
||||
padding-right: 0.875rem;
|
||||
padding-left: 0.875rem;
|
||||
padding-top: 1rem;
|
||||
padding-bottom: 1rem;
|
||||
padding-right: 0.6rem;
|
||||
padding-left: 0.6rem;
|
||||
/*padding-right: 0.875rem;
|
||||
padding-left: 0.875rem;*
|
||||
padding-top: 1.375rem;
|
||||
padding-bottom: 1.375rem;*/
|
||||
}
|
||||
.navbar-expand-lg .u-header__navbar-nav .u-header__sub-menu {
|
||||
border: 1px solid #e3e6f0;
|
||||
@@ -14133,6 +14175,11 @@ button:focus {
|
||||
}
|
||||
}
|
||||
|
||||
.headerrecruteur{
|
||||
padding-top:.3125rem;
|
||||
padding-bottom:.3125rem;
|
||||
}
|
||||
|
||||
@media (max-width: 767.98px) {
|
||||
.u-header--modern .navbar-expand-md.u-header__navbar {
|
||||
padding-top: 0;
|
||||
@@ -21295,23 +21342,34 @@ button:focus {
|
||||
}
|
||||
|
||||
.accueilFondNoir{
|
||||
background-color: #1E2327;
|
||||
color : #fff;
|
||||
padding-top: 60px;
|
||||
padding-bottom: 60px;
|
||||
background-color: #BFE3FF;
|
||||
color : #435059;
|
||||
padding-top: 50px;
|
||||
padding-bottom: 50px;
|
||||
}
|
||||
|
||||
.accueilFondNoir p, .accueilFondNoir .media-body{
|
||||
color : #435059;
|
||||
|
||||
}
|
||||
|
||||
|
||||
.accueilFondBlanc{
|
||||
background-color: #fff;
|
||||
color : #1E2327;
|
||||
padding-top: 60px;
|
||||
padding-bottom: 60px;
|
||||
color : #435059;
|
||||
padding-top: 50px;
|
||||
padding-bottom: 50px;
|
||||
}
|
||||
|
||||
.accueilFondBlanc p, .accueilFondBlanc .media-body{
|
||||
color : #435059 !important;
|
||||
}
|
||||
|
||||
.accueilFondBleute{
|
||||
background-color: #F3F9FF;;
|
||||
color : #1E2327;
|
||||
padding-top: 60px;
|
||||
padding-bottom: 60px;
|
||||
color : #435059;
|
||||
padding-top: 50px;
|
||||
padding-bottom: 50px;
|
||||
}
|
||||
|
||||
.align-right{
|
||||
|
||||
|
After Width: | Height: | Size: 27 KiB |
|
After Width: | Height: | Size: 28 KiB |
|
After Width: | Height: | Size: 47 KiB |
|
After Width: | Height: | Size: 25 KiB |
|
Before Width: | Height: | Size: 5.1 KiB After Width: | Height: | Size: 5.1 KiB |
|
After Width: | Height: | Size: 4.0 KiB |
|
After Width: | Height: | Size: 4.0 KiB |
|
After Width: | Height: | Size: 4.0 KiB |
|
After Width: | Height: | Size: 3.8 KiB |
|
After Width: | Height: | Size: 3.9 KiB |
|
After Width: | Height: | Size: 3.8 KiB |
|
After Width: | Height: | Size: 3.5 KiB |
|
After Width: | Height: | Size: 4.4 KiB |
|
After Width: | Height: | Size: 3.2 KiB |
|
After Width: | Height: | Size: 4.2 KiB |
|
After Width: | Height: | Size: 5.0 KiB |
|
After Width: | Height: | Size: 4.0 KiB |
|
After Width: | Height: | Size: 3.7 KiB |