Compare commits
22 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 515c7d1e7a | |||
| 933541e6a5 | |||
| c46f0c29a3 | |||
| 5b1d296817 | |||
| 564ac42b40 | |||
| 3dc5d247f4 | |||
| c0e94bcf7a | |||
| d9bb152863 | |||
| 1e52338d37 | |||
| b701d07741 | |||
| bcd93dee2c | |||
| 7a54bbe673 | |||
| 47043ac6bc | |||
| f094ee739e | |||
| bad5ad0d1c | |||
| 8701a4beb9 | |||
| 9444700ab5 | |||
| 050ccb0ae1 | |||
| d40dc7add2 | |||
| 8fc9d69d80 | |||
| e8eb1c9692 | |||
| d4b2b78553 |
@@ -196,11 +196,11 @@
|
||||
</trans-unit>
|
||||
<trans-unit id="profile.company.brandname">
|
||||
<source>profile.company.brandname</source>
|
||||
<target>Nom commercial</target>
|
||||
<target>Nom de votre entreprise</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="profile.company.businessname">
|
||||
<source>profile.company.businessname</source>
|
||||
<target>Raison social</target>
|
||||
<target>Raison sociale</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="profile.company.siren">
|
||||
<source>profile.company.siren</source>
|
||||
@@ -301,7 +301,11 @@
|
||||
</trans-unit>
|
||||
<trans-unit id="ad.company.list.title">
|
||||
<source>ad.company.list.title</source>
|
||||
<target>Intitulé de l'annonce</target>
|
||||
<target>Intitulé de l'offre</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="ad.company.list.location">
|
||||
<source>ad.company.list.location</source>
|
||||
<target>Localisation</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="ad.company.list.answers">
|
||||
<source>ad.company.list.answers</source>
|
||||
@@ -315,6 +319,10 @@
|
||||
<source>ad.company.list.actions</source>
|
||||
<target>Actions</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="ad.company.list.statut">
|
||||
<source>ad.company.list.statut</source>
|
||||
<target>Statut</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="ad.company.list.status">
|
||||
<source>ad.company.list.status</source>
|
||||
<target>Statut</target>
|
||||
@@ -367,6 +375,10 @@
|
||||
<source>profile.talent.firstname</source>
|
||||
<target>Prénom</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="profile.talent.video">
|
||||
<source>profile.talent.video</source>
|
||||
<target>Vidéo</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="profile.talent.lastname">
|
||||
<source>profile.talent.lastname</source>
|
||||
<target>Nom</target>
|
||||
|
||||
@@ -31,7 +31,6 @@
|
||||
{{ form_row(form.location_gmap) }}
|
||||
{{ form_row(form.beneficiaire) }}
|
||||
{{ form_row(form.description) }}
|
||||
{{ form_row(form.publicTag) }}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
+219
-177
@@ -1,30 +1,35 @@
|
||||
{% extends 'admin/base_admin.html.twig' %}
|
||||
{% block js %}
|
||||
{# <link rel="stylesheet" href="//cdn.datatables.net/1.10.16/css/jquery.dataTables.min.css">
|
||||
{# <link rel="stylesheet" href="//cdn.datatables.net/1.10.16/css/jquery.dataTables.min.css">
|
||||
|
||||
<link rel="stylesheet" href="https://cdn.datatables.net/buttons/1.4.1/css/buttons.dataTables.min.css"> #}
|
||||
|
||||
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/1.10.22/css/jquery.dataTables.min.css">
|
||||
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/buttons/1.6.4/css/buttons.dataTables.min.css">
|
||||
{# <script type="text/javascript" language="javascript" src="https://code.jquery.com/jquery-3.5.1.js"></script>
|
||||
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/1.10.22/css/jquery.dataTables.min.css">
|
||||
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/buttons/1.6.4/css/buttons.dataTables.min.css">
|
||||
{# <script type="text/javascript" language="javascript" src="https://code.jquery.com/jquery-3.5.1.js"></script>
|
||||
<script type="text/javascript" language="javascript" src="https://cdn.datatables.net/1.10.22/js/jquery.dataTables.min.js"></script>
|
||||
|
||||
<script type="text/javascript" language="javascript" src="https://cdn.datatables.net/buttons/1.6.4/js/dataTables.buttons.min.js"></script>
|
||||
<script type="text/javascript" language="javascript" src="https://cdn.datatables.net/buttons/1.6.4/js/buttons.flash.min.js"></script> #}
|
||||
|
||||
<script type="text/javascript" src="https://code.jquery.com/jquery-3.5.1.js"></script>
|
||||
<script type="text/javascript" src="https://cdn.datatables.net/1.10.22/js/jquery.dataTables.min.js"></script>
|
||||
<script type="text/javascript" src="https://cdn.datatables.net/buttons/1.6.4/js/dataTables.buttons.min.js"></script>
|
||||
<script type="text/javascript" language="javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.1.3/jszip.min.js"></script>
|
||||
<script type="text/javascript" language="javascript" src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.53/pdfmake.min.js"></script>
|
||||
<script type="text/javascript" language="javascript" src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.53/vfs_fonts.js"></script>
|
||||
<script type="text/javascript" language="javascript" src="https://cdn.datatables.net/buttons/1.6.4/js/buttons.html5.min.js"></script>
|
||||
<script type="text/javascript" src="https://code.jquery.com/jquery-3.5.1.js"></script>
|
||||
<script type="text/javascript" src="https://cdn.datatables.net/1.10.22/js/jquery.dataTables.min.js"></script>
|
||||
<script type="text/javascript" src="https://cdn.datatables.net/buttons/1.6.4/js/dataTables.buttons.min.js"></script>
|
||||
<script type="text/javascript" language="javascript"
|
||||
src="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.1.3/jszip.min.js"></script>
|
||||
<script type="text/javascript" language="javascript"
|
||||
src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.53/pdfmake.min.js"></script>
|
||||
<script type="text/javascript" language="javascript"
|
||||
src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.53/vfs_fonts.js"></script>
|
||||
<script type="text/javascript" language="javascript"
|
||||
src="https://cdn.datatables.net/buttons/1.6.4/js/buttons.html5.min.js"></script>
|
||||
|
||||
<script type="text/javascript" language="javascript" src="https://cdn.datatables.net/buttons/1.6.4/js/buttons.print.min.js"></script>
|
||||
<script type="text/javascript" language="javascript"
|
||||
src="https://cdn.datatables.net/buttons/1.6.4/js/buttons.print.min.js"></script>
|
||||
|
||||
|
||||
|
||||
{# <script type="text/javascript" src="https://cdn.datatables.net/buttons/1.6.4/js/buttons.flash.min.js"></script>
|
||||
{# <script type="text/javascript" src="https://cdn.datatables.net/buttons/1.6.4/js/buttons.flash.min.js"></script>
|
||||
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.1.3/jszip.min.js"></script>
|
||||
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.53/pdfmake.min.js"></script>
|
||||
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.53/vfs_fonts.js"></script>
|
||||
@@ -35,13 +40,13 @@
|
||||
{% endblock %}
|
||||
|
||||
{% block contentHeader %}
|
||||
<h1>
|
||||
Liste des Candidatures
|
||||
</h1>
|
||||
<ol class="breadcrumb">
|
||||
<li><a href="{{ path('admin_dashboard') }}"><i class="fa fa-dashboard"></i> Dashboard</a></li>
|
||||
<li class="active">Annonces</li>
|
||||
</ol>
|
||||
<h1>
|
||||
Liste des Candidatures
|
||||
</h1>
|
||||
<ol class="breadcrumb">
|
||||
<li><a href="{{ path('admin_dashboard') }}"><i class="fa fa-dashboard"></i> Dashboard</a></li>
|
||||
<li class="active">Annonces</li>
|
||||
</ol>
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
@@ -50,51 +55,54 @@
|
||||
.dataTables_filter {
|
||||
display: none;
|
||||
}
|
||||
|
||||
|
||||
</style>
|
||||
<div class="box box-primary">
|
||||
<div class="box-body">
|
||||
<table width="100%" class="table " style="background-color: #3c8dbc">
|
||||
<thead>
|
||||
<tr>
|
||||
<th colspan="5" class="text-center">RECHERCHE</th>
|
||||
|
||||
</tr>
|
||||
<div class="box box-primary">
|
||||
<div class="box-body">
|
||||
<table width="100%" class="table " style="background-color: #3c8dbc">
|
||||
<thead>
|
||||
<tr>
|
||||
<th colspan="5" class="text-center">RECHERCHE</th>
|
||||
|
||||
</thead>
|
||||
<tr>
|
||||
<th width="4%"><input id='input1' type='text' class='form-control' placeholder='par id' style='font-family:Arial, FontAwesome; width:100%'/></th>
|
||||
|
||||
<th width="11%"><input id='input3' type='text' class='form-control' placeholder='par nom' style='font-family:Arial, FontAwesome; width:100%'/></th>
|
||||
<th width="11%"><input id='input4' type='text' class='form-control' placeholder='par prénom' style='font-family:Arial, FontAwesome; width:100%'/></th>
|
||||
<th width="25%"><input id='input5' type='text' class='form-control' placeholder='par entreprise / offre' style='font-family:Arial, FontAwesome; width:100%'/></th>
|
||||
|
||||
<th width="15%">
|
||||
<select id='input7'>
|
||||
<option value="sended">Envoyé</option>
|
||||
<option value="draft">Brouillon</option>
|
||||
</select>
|
||||
</th>
|
||||
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<br/>
|
||||
<table id="towns_dt_table" width="100%" class="table table-hover table-bordered">
|
||||
{# Add a tfoot which will actually be used to place the individual search boxes #}
|
||||
<tfoot>
|
||||
<tr>
|
||||
<th width="4%">id</th>
|
||||
<th width="6%">Date d'envoi</th>
|
||||
<th width="11%">Nom</th>
|
||||
<th width="11%">Prénom</th>
|
||||
<th width="25%">Annonce / entreprise</th>
|
||||
<th width="28%">Vidéo</th>
|
||||
<th width="15%">Statut</th>
|
||||
<th width="10%">Actions</th>
|
||||
</tr>
|
||||
{# <tr>
|
||||
</tr>
|
||||
|
||||
</thead>
|
||||
<tr>
|
||||
<th width="4%"><input id='input1' type='text' class='form-control' placeholder='par id'
|
||||
style='font-family:Arial, FontAwesome; width:100%' /></th>
|
||||
|
||||
<th width="11%"><input id='input3' type='text' class='form-control' placeholder='par nom'
|
||||
style='font-family:Arial, FontAwesome; width:100%' /></th>
|
||||
<th width="11%"><input id='input4' type='text' class='form-control' placeholder='par prénom'
|
||||
style='font-family:Arial, FontAwesome; width:100%' /></th>
|
||||
<th width="25%"><input id='input5' type='text' class='form-control' placeholder='par entreprise / offre'
|
||||
style='font-family:Arial, FontAwesome; width:100%' /></th>
|
||||
|
||||
<th width="15%">
|
||||
<select id='input7'>
|
||||
<option value="sended">Tous les statuts</option>
|
||||
<option value="sended">Envoyé</option>
|
||||
<option value="draft">Brouillon</option>
|
||||
</select>
|
||||
</th>
|
||||
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<br />
|
||||
<table id="towns_dt_table" width="100%" class="table table-hover table-bordered">
|
||||
{# Add a tfoot which will actually be used to place the individual search boxes #}
|
||||
<tfoot>
|
||||
<tr>
|
||||
<th width="4%">id</th>
|
||||
<th width="6%">Date d'envoi</th>
|
||||
<th width="11%">Nom</th>
|
||||
<th width="11%">Prénom</th>
|
||||
<th width="25%">Annonce / entreprise</th>
|
||||
<th width="28%">Vidéo</th>
|
||||
<th width="15%">Statut</th>
|
||||
<th width="10%">Actions</th>
|
||||
</tr>
|
||||
{# <tr>
|
||||
<th><input id='input1' type='text' class='form-control' placeholder='' style='font-family:Arial, FontAwesome; width:100%'/></th>
|
||||
<th></th>
|
||||
<th><input id='input3' type='text' class='form-control' placeholder='' style='font-family:Arial, FontAwesome; width:100%'/></th>
|
||||
@@ -102,25 +110,25 @@
|
||||
<th></th>
|
||||
<th><input id='input5' type='text' class='form-control' placeholder='' style='font-family:Arial, FontAwesome; width:100%'/></th>
|
||||
</tr> #}
|
||||
</tfoot>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Id</th>
|
||||
<th>Date d'envoi</th>
|
||||
<th>Nom</th>
|
||||
<th>Prénom</th>
|
||||
<th>Annonce / entreprise</th>
|
||||
<th>Vidéo</th>
|
||||
<th>Statut</th>
|
||||
<th>Actions</th>
|
||||
</tr>
|
||||
|
||||
</thead>
|
||||
<tbody></tbody>
|
||||
</table>
|
||||
</tfoot>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Id</th>
|
||||
<th>Date d'envoi</th>
|
||||
<th>Nom</th>
|
||||
<th>Prénom</th>
|
||||
<th>Annonce / entreprise</th>
|
||||
<th>Vidéo</th>
|
||||
<th>Statut</th>
|
||||
<th>Actions</th>
|
||||
</tr>
|
||||
|
||||
</thead>
|
||||
<tbody></tbody>
|
||||
</table>
|
||||
|
||||
|
||||
{# <table id="answer_list_table" class="table table-hover table-bordered">
|
||||
{# <table id="answer_list_table" class="table table-hover table-bordered">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="col-xs-2">Date d'envoi</th>
|
||||
@@ -169,118 +177,152 @@
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table> #}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block javascripts %}
|
||||
|
||||
<script>
|
||||
$(document).ready(function(){
|
||||
<script>
|
||||
$(document).ready(function () {
|
||||
|
||||
// Add a text input to each footer cell
|
||||
var pos = 1;
|
||||
$('#towns_dt_table tfoot th').each( function () {
|
||||
var title = $(this).text();
|
||||
//$(this).html( "<input id='input" + pos + "' type='text' class='form-control' placeholder='' style='font-family:Arial, FontAwesome; width:100%'/>" );
|
||||
// Add a text input to each footer cell
|
||||
|
||||
pos ++;
|
||||
});
|
||||
|
||||
|
||||
|
||||
var table = $('#towns_dt_table').DataTable({
|
||||
|
||||
|
||||
buttons: [
|
||||
'copy', 'csv', 'excel', 'pdf', 'print'
|
||||
],
|
||||
|
||||
"columnDefs": [
|
||||
{ "name": "ad_id", "targets": 0 , "searchable": true, "orderable": true},
|
||||
{ "name": "date_envoi", "targets": 1 , "searchable": true, "orderable": true},
|
||||
{ "name": "nom", "targets": 2 , "searchable": true, "orderable": true},
|
||||
{ "name": "prenom", "targets": 3 , "searchable": true, "orderable": true},
|
||||
{ "name": "entreprise", "targets": 4, "searchable": true, "orderable": true },
|
||||
{ "name": "video", "targets": 5 },
|
||||
{ "name": "status", "targets": 6 , "searchable": true, "orderable": true},
|
||||
{ "name": "actions", "targets": 7 },
|
||||
],
|
||||
"processing": true,
|
||||
"serverSide": true,
|
||||
|
||||
"ajax": {
|
||||
"url": '{{ path('alimenterCandidatures') }}',
|
||||
"type": 'POST'
|
||||
|
||||
var table = $('#towns_dt_table').DataTable({
|
||||
|
||||
|
||||
buttons: [
|
||||
'copy', 'csv', 'excel', 'pdf', 'print'
|
||||
],
|
||||
|
||||
"columnDefs": [{
|
||||
"name": "ad_id",
|
||||
"targets": 0,
|
||||
"searchable": true,
|
||||
"orderable": true
|
||||
},
|
||||
"paging" : true,
|
||||
"info" : true,
|
||||
"searching": true,
|
||||
"bFilter":true,
|
||||
"responsive": true,
|
||||
"pageLength": 10,
|
||||
"order": [[0, 'desc']],
|
||||
"language": {
|
||||
"url": "http://cdn.datatables.net/plug-ins/1.10.11/i18n/French.json"
|
||||
{
|
||||
"name": "date_envoi",
|
||||
"targets": 1,
|
||||
"searchable": true,
|
||||
"orderable": true
|
||||
},
|
||||
|
||||
});
|
||||
{
|
||||
"name": "nom",
|
||||
"targets": 2,
|
||||
"searchable": true,
|
||||
"orderable": true
|
||||
},
|
||||
{
|
||||
"name": "prenom",
|
||||
"targets": 3,
|
||||
"searchable": true,
|
||||
"orderable": true
|
||||
},
|
||||
{
|
||||
"name": "entreprise",
|
||||
"targets": 4,
|
||||
"searchable": true,
|
||||
"orderable": true
|
||||
},
|
||||
{
|
||||
"name": "video",
|
||||
"targets": 5
|
||||
},
|
||||
{
|
||||
"name": "status",
|
||||
"targets": 6,
|
||||
"searchable": true,
|
||||
"orderable": true
|
||||
},
|
||||
{
|
||||
"name": "actions",
|
||||
"targets": 7
|
||||
},
|
||||
],
|
||||
"processing": true,
|
||||
"serverSide": true,
|
||||
|
||||
|
||||
|
||||
// Apply the search
|
||||
pos = 1;
|
||||
table.columns().every( function () {
|
||||
var that = this;
|
||||
|
||||
$("#input"+pos).on( 'keyup change', function () {
|
||||
if ( that.search() !== this.value )
|
||||
{
|
||||
that
|
||||
.search( this.value )
|
||||
.draw();
|
||||
}
|
||||
});
|
||||
pos++;
|
||||
});
|
||||
|
||||
$('#towns_dt_table_filter').hide();
|
||||
|
||||
|
||||
|
||||
|
||||
"ajax": {
|
||||
"url": '{{ path('alimenterCandidatures') }}',
|
||||
"type": 'POST'
|
||||
},
|
||||
"paging": true,
|
||||
"info": true,
|
||||
"searching": true,
|
||||
"bFilter": true,
|
||||
"responsive": true,
|
||||
"pageLength": 10,
|
||||
"order": [
|
||||
[0, 'desc']
|
||||
],
|
||||
"language": {
|
||||
"url": "http://cdn.datatables.net/plug-ins/1.10.11/i18n/French.json"
|
||||
},
|
||||
|
||||
});
|
||||
function changerStatut(value, id){
|
||||
var idAnswer = id;
|
||||
|
||||
var route = '/app_dev.php/admin/config/answer/' + idAnswer + '/status/' + value;
|
||||
var select = $(this);
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: route,
|
||||
dataType: "json",
|
||||
success: function (msg) {
|
||||
console.log("ok");
|
||||
$("#status_"+id).text(value);
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
function verifierDelete(id){
|
||||
console.log(id);
|
||||
var r = confirm("Êtes vous sûr de supprimer cette candidature ?\nSupprimer cette candidature supprimera le média associé\n");
|
||||
if (r == true) {
|
||||
txt = "You pressed OK!";
|
||||
location.href = "/app_dev.php/admin/config/answer/"+id+"/delete";
|
||||
return true;
|
||||
} else {
|
||||
txt = "You pressed Cancel!";
|
||||
|
||||
|
||||
|
||||
// Apply the search
|
||||
pos = 1;
|
||||
table.columns().every(function () {
|
||||
var that = this;
|
||||
|
||||
$("#input" + pos).on('keyup change', function () {
|
||||
if (that.search() !== this.value) {
|
||||
that
|
||||
.search(this.value)
|
||||
.draw();
|
||||
}
|
||||
});
|
||||
pos++;
|
||||
});
|
||||
|
||||
$('#towns_dt_table_filter').hide();
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
});
|
||||
|
||||
function changerStatut(value, id) {
|
||||
var idAnswer = id;
|
||||
|
||||
var route = '/app_dev.php/admin/config/answer/' + idAnswer + '/status/' + value;
|
||||
var select = $(this);
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: route,
|
||||
dataType: "json",
|
||||
success: function (msg) {
|
||||
console.log("ok");
|
||||
$("#status_" + id).text(value);
|
||||
|
||||
}
|
||||
console.log(txt);
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
function verifierDelete(id) {
|
||||
console.log(id);
|
||||
var r = confirm(
|
||||
"Êtes vous sûr de supprimer cette candidature ?\nSupprimer cette candidature supprimera le média associé\n"
|
||||
);
|
||||
if (r == true) {
|
||||
txt = "You pressed OK!";
|
||||
location.href = "/app_dev.php/admin/config/answer/" + id + "/delete";
|
||||
return true;
|
||||
} else {
|
||||
txt = "You pressed Cancel!";
|
||||
}
|
||||
</script>
|
||||
console.log(txt);
|
||||
|
||||
}
|
||||
</script>
|
||||
|
||||
{% endblock %}
|
||||
@@ -62,7 +62,7 @@
|
||||
<div class=" container-fluid container-fixed-lg footer">
|
||||
<div class="copyright sm-text-center">
|
||||
<p class="small-text no-margin pull-left sm-pull-reset">
|
||||
©2017-2020 Talents Tube
|
||||
©2017-2021 Talents Tube
|
||||
</p>
|
||||
<p class="small no-margin pull-right sm-pull-reset">
|
||||
Besoin d'aide ? 02 30 05 06 31
|
||||
|
||||
+104
@@ -0,0 +1,104 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="fr">
|
||||
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html;charset=UTF-8" />
|
||||
<meta charset="utf-8" />
|
||||
<title>Pages - Admin Dashboard UI Kit - Dashboard</title>
|
||||
<meta name="viewport"
|
||||
content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no, shrink-to-fit=no" />
|
||||
<meta name="apple-mobile-web-app-capable" content="yes">
|
||||
<meta name="apple-touch-fullscreen" content="yes">
|
||||
<meta name="apple-mobile-web-app-status-bar-style" content="default">
|
||||
<meta content="Meet pages - The simplest and fastest way to build web UI for your dashboard or app."
|
||||
name="description" />
|
||||
<meta content="Ace" name="author" />
|
||||
<link href="{{ asset('dashboard/plugins/pace/pace-theme-flash.css') }}" rel="stylesheet" type="text/css" />
|
||||
<link href="{{ asset('dashboard/plugins/bootstrap/css/bootstrap.min.css') }}" rel="stylesheet" type="text/css" />
|
||||
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
|
||||
<link href="{{ asset('dashboard/plugins/jquery-scrollbar/jquery.scrollbar.css') }}" rel="stylesheet" type="text/css"
|
||||
media="screen" />
|
||||
<link href="{{ asset('dashboard/plugins/select2/css/select2.min.css') }}" rel="stylesheet" type="text/css"
|
||||
media="screen" />
|
||||
<link href="{{ asset('dashboard/plugins/nvd3/nv.d3.min.css') }}" rel="stylesheet" type="text/css" media="screen" />
|
||||
<link href="{{ asset('dashboard/plugins/mapplic/css/mapplic.css') }}" rel="stylesheet" type="text/css" />
|
||||
<link href="{{ asset('dashboard/plugins/rickshaw/rickshaw.min.css') }}" rel="stylesheet" type="text/css" />
|
||||
<link class="main-stylesheet" href="{{ asset('dashboard/pages/css/themes/corporate.css') }}" rel="stylesheet"
|
||||
type="text/css" />
|
||||
<!-- Please remove the file below for production: Contains demo classes -->
|
||||
<link class="main-stylesheet" href="{{ asset('dashboard/css/style.css') }}" rel="stylesheet" type="text/css" />
|
||||
<script type="text/javascript">window.$crisp=[];window.CRISP_WEBSITE_ID="08e9d301-ba14-4d69-8b1a-53685114c5af";(function(){d=document;s=d.createElement("script");s.src="https://client.crisp.chat/l.js";s.async=1;d.getElementsByTagName("head")[0].appendChild(s);})();</script>
|
||||
<!-- END PAGE LEVEL JS -->
|
||||
|
||||
<script src="{{ asset('dashboard/plugins/jquery/jquery-3.2.1.min.js') }}" type="text/javascript"></script>
|
||||
|
||||
{# <script type="text/javascript" src="http://code.jquery.com/jquery-3.2.1.min.js"></script> #}
|
||||
|
||||
{% block javascriptSupl %}
|
||||
{% endblock %}
|
||||
<!-- END PAGE LEVEL JS -->
|
||||
</head>
|
||||
|
||||
<body class="fixed-header dashboard menu-pin menu-behind">
|
||||
{# {{ include('default/user_switch.html.twig') }} #}
|
||||
|
||||
{{ include('admin/navigation_gauche.html.twig')}} }}
|
||||
|
||||
|
||||
<!-- START PAGE-CONTAINER -->
|
||||
<div class="page-container ">
|
||||
{{ include('admin/base_dashboard_header.html.twig') }}
|
||||
<!-- START PAGE CONTENT WRAPPER -->
|
||||
<div class="page-content-wrapper ">
|
||||
<div class="content ">
|
||||
{% block dashContent %}
|
||||
Dashboard Company
|
||||
{% endblock %}
|
||||
|
||||
</div>
|
||||
<!-- START COPYRIGHT -->
|
||||
<!-- START CONTAINER FLUID -->
|
||||
<!-- START CONTAINER FLUID -->
|
||||
<div class=" container-fluid container-fixed-lg footer">
|
||||
<div class="copyright sm-text-center">
|
||||
<p class="small-text no-margin pull-left sm-pull-reset">
|
||||
©2017-2021 Talents Tube
|
||||
</p>
|
||||
<p class="small no-margin pull-right sm-pull-reset">
|
||||
Besoin d'aide ? 02 30 05 06 31
|
||||
</p>
|
||||
<div class="clearfix"></div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- END COPYRIGHT -->
|
||||
</div>
|
||||
|
||||
<!-- END PAGE CONTENT WRAPPER -->
|
||||
</div>
|
||||
<!-- END PAGE CONTAINER -->
|
||||
{% block javascripts %}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
{% endblock %}
|
||||
|
||||
|
||||
<!-- END PAGE LEVEL JS -->
|
||||
<!-- END CORE TEMPLATE JS -->
|
||||
|
||||
|
||||
|
||||
<!-- BEGIN PAGE LEVEL JS -->
|
||||
|
||||
{% block javascriptsSecondaire %}
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block javascriptsEnd %}
|
||||
{% endblock %}
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
@@ -1,8 +1,7 @@
|
||||
<!-- START HEADER -->
|
||||
<div class="header ">
|
||||
<!-- START MOBILE SIDEBAR TOGGLE -->
|
||||
<a href="#" class="btn-link toggle-sidebar d-lg-none pg-icon btn-icon-link" data-toggle="sidebar">
|
||||
menu</a>
|
||||
|
||||
<!-- END MOBILE SIDEBAR TOGGLE -->
|
||||
<div class="">
|
||||
<div class="brand inline m-l-10">
|
||||
@@ -25,9 +24,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<!-- END User Info-->
|
||||
<a href="#" class="header-icon m-l-5 sm-no-margin d-inline-block" data-toggle="quickview" data-toggle-element="#quickview">
|
||||
<i class="pg-icon btn-icon-link">menu_add</i>
|
||||
</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<!-- END HEADER -->
|
||||
@@ -57,52 +57,25 @@
|
||||
</span>
|
||||
</span>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="javascript:;"><span class="principal">Entreprise</span>
|
||||
<span class=" arrow"></span></a>
|
||||
<span class="icon-thumbnail">
|
||||
<span class="material-icons">
|
||||
business
|
||||
</span>
|
||||
</span>
|
||||
<ul class="sub-menu">
|
||||
<li class="">
|
||||
<a href="{{ path('company_profile') }}">Profil de l'Entreprise</a>
|
||||
<li class=" ">
|
||||
<a href="{{ path('company_profile') }}">Profil de l'Entreprise</a>
|
||||
<span class="icon-thumbnail">
|
||||
<span class="material-icons">
|
||||
store_mall_directory
|
||||
</span>
|
||||
</span>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="{{ path('company_marque') }}">Vidéo marque employeur</a>
|
||||
<span class="icon-thumbnail">
|
||||
<span class="material-icons">
|
||||
store_mall_directory
|
||||
</span>
|
||||
</span>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="{{ path('users') }}">Utilisateurs</a>
|
||||
<span class="icon-thumbnail">
|
||||
<span class="material-icons">
|
||||
group
|
||||
</span>
|
||||
</span>
|
||||
</li>
|
||||
{# <li class="">
|
||||
<a href="{{ path('users') }}">Informations juridiques</a>
|
||||
<span class="icon-thumbnail">
|
||||
<span class="material-icons">
|
||||
gavel
|
||||
</span>
|
||||
|
||||
</span>
|
||||
</li> #}
|
||||
|
||||
</ul>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="{{ path('company_marque') }}">Marque employeur</a>
|
||||
<span class="icon-thumbnail">
|
||||
<span class="material-icons">
|
||||
videocam
|
||||
</span>
|
||||
</span>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
<li class="">
|
||||
<a href="{{ path('company_ad') }}">
|
||||
<span class="">Offres d'emploi</span>
|
||||
@@ -123,9 +96,17 @@
|
||||
</span>
|
||||
</span>
|
||||
</li>
|
||||
<li class=" ">
|
||||
<a href="{{ path('users') }}">Utilisateurs</a>
|
||||
<span class="icon-thumbnail">
|
||||
<span class="material-icons">
|
||||
group
|
||||
</span>
|
||||
</span>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="{{ path('company_my_account') }}">
|
||||
<span class="">Mes paramètres</span>
|
||||
<span class="">Paramètres</span>
|
||||
</a>
|
||||
<span class="icon-thumbnail">
|
||||
<span class="material-icons">
|
||||
@@ -133,12 +114,7 @@
|
||||
</span>
|
||||
</span>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="mailto:contact@talentstube.com">
|
||||
<span class="principal">Contacter Talents Tube</span>
|
||||
</a>
|
||||
<span class="icon-thumbnail"><i class="pg-icon">mail</i></span>
|
||||
</li>
|
||||
|
||||
|
||||
{% if is_granted('ROLE_PREVIOUS_ADMIN') %}
|
||||
|
||||
@@ -157,7 +133,19 @@
|
||||
</small>
|
||||
</li>
|
||||
|
||||
{% endif %}
|
||||
{% else %}
|
||||
<li class="">
|
||||
<a href="/logout">
|
||||
<span class="principal">Se déconnecter</span>
|
||||
</a>
|
||||
|
||||
<span class="icon-thumbnail">
|
||||
<span class="material-icons">
|
||||
logout
|
||||
</span>
|
||||
</span>
|
||||
</li>
|
||||
{% endif %}
|
||||
|
||||
|
||||
</ul>
|
||||
|
||||
@@ -0,0 +1,220 @@
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html lang="fr">
|
||||
|
||||
<head>
|
||||
<!-- Global site tag (gtag.js) - Google Analytics -->
|
||||
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-98246968-7"></script>
|
||||
<script>
|
||||
window.dataLayer = window.dataLayer || [];
|
||||
|
||||
function gtag() {
|
||||
dataLayer.push(arguments);
|
||||
}
|
||||
gtag('js', new Date());
|
||||
gtag('config', 'UA-98246968-7');
|
||||
</script>
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
||||
<link href="https://fonts.googleapis.com/css2?family=Roboto:wght@100;400;500;700;900&display=swap" rel="stylesheet">
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>{% block title %}{% endblock %}</title>
|
||||
|
||||
<link rel="shortcut icon" href="/landing/img/talentstubeIco.svg" type="image/x-icon">
|
||||
<link rel="icon" href="/landing/img/favicon.ico" type="image/x-icon">
|
||||
<link href="/landing/css/bootstrap.min.css" rel="stylesheet">
|
||||
<link href="/landing/css/owl.carousel.css" rel="stylesheet">
|
||||
<link href="/landing/css/main.css" rel="stylesheet">
|
||||
<link href="/landing/css/fontawesome.min.css" rel="stylesheet">
|
||||
<!-- Latest compiled and minified CSS -->
|
||||
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
|
||||
<!-- Optional theme -->
|
||||
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap-theme.min.css">
|
||||
<script src="/landing/js/modernizr.min.js"></script>
|
||||
<!--Ajout pour le référencement-->
|
||||
{# <link rel="canonical" href="" /> #}
|
||||
{% block meta %}
|
||||
<meta name="description"
|
||||
content="Créez des vidéos d’offres d’emploi originales avec Talents Tube. Réalisez vos vidéos rapidement avec un smartphone et recrutez">
|
||||
<meta property="og:locale" content="fr_FR" />
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:title" content="Réalisez une offre d’emploi originale vous-même" />
|
||||
<meta property="og:description"
|
||||
content="Créez des vidéos d’offres d’emploi originales avec Talents Tube. Réalisez vos vidéos rapidement avec un smartphone et recrutez" />
|
||||
<meta property="og:url" content="https://recruteur.talentstube.com/offre-emploi-originale" />
|
||||
<meta property="og:site_name" content="Talents Tube" />
|
||||
<meta property="og:image"
|
||||
content="https://recruteur.talentstube.com/landing/img/offre-emploi-originale-en-video.jpg" />
|
||||
<meta name="twitter:card" content="summary_large_image" />
|
||||
{% endblock %}
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
{% block modalCallToAction %}
|
||||
<!-- Modal : Formulaire -->
|
||||
<div class="modal fade" id="exampleModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel"
|
||||
aria-hidden="true">
|
||||
<div class="modal-dialog" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="container-fluid">
|
||||
<div class="row" id="demandeRdvContainer">
|
||||
<div class="col-sm-12">
|
||||
<h2>Demandez votre rendez-vous</h2>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-12 col-sm-12">
|
||||
<div class="form-group">
|
||||
<label for="exampleInputPrenom>">Prénom</label>
|
||||
<input type="text" class="form-control" id="prenom" placeholder="Votre prénom">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
|
||||
<div class="col-12 col-sm-12">
|
||||
<div class="form-group">
|
||||
<label for="exampleInputNom">Nom</label>
|
||||
<input type="text" class="form-control" id="nom" placeholder="Votre nom">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
|
||||
<div class="col-12 col-sm-12">
|
||||
<div class="form-group">
|
||||
<label for="exampleInputEmail1">E-mail</label>
|
||||
<input type="email" class="form-control" id="email" placeholder="Votre email">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
|
||||
<div class="col-12 col-sm-12">
|
||||
<div class="form-group">
|
||||
<label for="exampleInputPhone">Téléphone</label>
|
||||
<input type="phone" class="form-control" id="telephone" placeholder="Votre téléphone">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<p class="text-danger" id="erreur">Veuillez compléter l'ensemble des champs ci-dessus pour
|
||||
demander un rendez-vous</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row" id="felicitationRdvContainer" class="text-center">
|
||||
<div class="text-center">
|
||||
<img src="/landing/img/demande-rendez-vous.svg">
|
||||
<h2>Merci!</h2>
|
||||
<p>Votre demande a bien été envoyée. Un conseiller vous contactera <strong>sous 48h</strong>.
|
||||
En attendant, nous allons vous rediriger vers notre blog afin de vous faire découvrir tous nos
|
||||
conseils pour un recrutement réussi.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button class="bttn" onClick="demanderRdv();" id="boutonDemandeRdv">Demander un rendez-vous</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!--Modal : Formulaire End -->
|
||||
{% endblock %}
|
||||
|
||||
{% block main %}
|
||||
|
||||
{% endblock %}
|
||||
|
||||
<script src="/landing/js/jquery-2.1.3.min.js"></script>
|
||||
<script src="/landing/js/bootstrap.min.js"></script>
|
||||
<script src="/landing/js/waypoints.min.js"></script>
|
||||
<!--Ordre important-->
|
||||
<script src="/landing/js/waypoints-sticky.min.js"></script> <!-- Nécessaire header sticky -->
|
||||
<script src="/landing/js/retina.min.js"></script> <!-- Nécessaire logo header (à voir pour l'enlever) -->
|
||||
<script src="/landing/js/owl.carousel.min.js"></script> <!-- Nécessaire avec les avantages (+de 3 avantages) -->
|
||||
<script src="/landing/js/jquery.ajaxchimp.min.js"></script> <!-- Nécessaire FAQ-->
|
||||
<script src="/landing/js/jquery.validate.min.js"></script>
|
||||
<script src="/landing/js/main.js"></script>
|
||||
<!--<script src="js/jquery.animateNumber.min.js"></script>-->
|
||||
<!--<script src="js/jquery.form.min.js"></script>-->
|
||||
{% block javascripts %}
|
||||
|
||||
{% endblock %}
|
||||
<script>
|
||||
$("#erreur").hide();
|
||||
$("#felicitationRdvContainer").hide();
|
||||
|
||||
|
||||
function demanderRdv() {
|
||||
if ($("#nom").val() == "" || $("#prenom").val() == "" || $("#email").val() == "" || $("#telephone").val() == "") {
|
||||
$("#erreur").show();
|
||||
} else {
|
||||
$("#erreur").hide();
|
||||
$("#boutonDemandeRdv").hide();
|
||||
$("#felicitationRdvContainer").show();
|
||||
$("#demandeRdvContainer").hide();
|
||||
|
||||
$.ajax({
|
||||
//L'URL de la requête
|
||||
|
||||
url: "/app_dev.php/api/demanderRdv?nom=" + $("#nom").val() + "&prenom=" + $("#prenom").val() + "&email=" +
|
||||
$("#email").val() + "&telephone=" + $("#telephone").val() + "&page=Demande rdv module vidéo",
|
||||
method: "GET",
|
||||
//La méthode d'envoi (type de requête)
|
||||
|
||||
|
||||
//Le format de réponse attendu
|
||||
dataType: "json",
|
||||
})
|
||||
//Ce code sera exécuté en cas de succès - La réponse du serveur est passée à done()
|
||||
/*On peut par exemple convertir cette réponse en chaine JSON et insérer
|
||||
* cette chaine dans un div id="res"*/
|
||||
.done(function (response) {
|
||||
console.log("Requête demande rdv done");
|
||||
setTimeout(function () {
|
||||
document.location.href = "https://blog.talentstube.com/articles-entreprise/";
|
||||
}, 8000);
|
||||
|
||||
})
|
||||
|
||||
//Ce code sera exécuté en cas d'échec - L'erreur est passée à fail()
|
||||
//On peut afficher les informations relatives à la requête et à l'erreur
|
||||
.fail(function (error) {
|
||||
console.log("Requête demande rdvfail");
|
||||
console.log(error);
|
||||
})
|
||||
|
||||
//Ce code sera exécuté que la requête soit un succès ou un échec
|
||||
.always(function () {
|
||||
console.log("Requête demande rdv effectuée");
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
function fermerVideo() {
|
||||
var videoURL = $('#player').prop('src');
|
||||
videoURL = videoURL.replace("&autoplay=1", "");
|
||||
$('#player').prop('src', '');
|
||||
$('#player').prop('src', videoURL);
|
||||
|
||||
}
|
||||
$('#exampleModalCenter').on('hidden.bs.modal', function (e) {
|
||||
console.log("exampleModalCenter11");
|
||||
fermerVideo();
|
||||
})
|
||||
</script>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
@@ -103,8 +103,148 @@ Au plaisir d’échanger avec vous,
|
||||
</div>
|
||||
</div> #}
|
||||
|
||||
<div class="col-xl-12">
|
||||
<div class="card card-borderless col-xl-12 col-sm-12 p-b-20">
|
||||
<div class="row profil-candidature">
|
||||
<div class="col-xl-6 col-md-12 p-t-10">
|
||||
<h5>{{ ad.title }}</h5>
|
||||
<h6>Publiée le {{ ad.publishedAt|date("d/m/Y") }}</h6>
|
||||
</div>
|
||||
<div class="col-xl-6 col-md-12 p-t-20 text-right">
|
||||
<a href="#" class="" data-toggle="tooltip"
|
||||
title="Cochez une ou plusieurs candidatures avant de pouvoir les partager.">
|
||||
<button type="button" class="btn btn-primary m-b-10 btn-lg " disabled data-toggle="modal"
|
||||
data-target="#partageModal" id="partageCandidats">
|
||||
Partager les
|
||||
candidatures
|
||||
</button>
|
||||
</a>
|
||||
<!--<button type="button" aria-label="" class="btn btn-default btn-lg m-b-10">
|
||||
<span class="material-icons fs-16 m-r-5">delete</span>
|
||||
<span class="">Clôturer</span>
|
||||
</button>-->
|
||||
<a href="{{ path('company_ad_soft_edit', { 'id': ad.id }) }}" >
|
||||
<button type="button" aria-label="" class="btn btn-default btn-lg m-b-10">
|
||||
<span class="material-icons fs-16 m-r-5">create</span>
|
||||
<span class="">Éditer l'offre</span>
|
||||
</button>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<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>
|
||||
|
||||
<div class="row bg-bordered p-20">
|
||||
</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>
|
||||
|
||||
|
||||
<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>
|
||||
|
||||
|
||||
<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>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
{# <div class="row bg-bordered p-20">
|
||||
|
||||
|
||||
|
||||
@@ -213,7 +353,7 @@ Au plaisir d’échanger avec vous,
|
||||
</div>
|
||||
<!-- END CONTAINER FLUID -->
|
||||
|
||||
</div>
|
||||
</div> #}
|
||||
|
||||
<div id="note-modal"></div>
|
||||
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
{# {% extends 'company/base_dashboard_company.html.twig' %} #}
|
||||
{% extends 'admin/base_dashboard.html.twig' %}
|
||||
|
||||
{% block javascriptSupl %}
|
||||
<style>
|
||||
.saisie thead tr th,
|
||||
@@ -10,9 +9,6 @@
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
.modalCompetences {
|
||||
height: 600px;
|
||||
}
|
||||
@@ -49,16 +45,19 @@
|
||||
<div class="modal-dialog modal-lg" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title" id="competencesModalLabel">Souhaitez-vous sélectionner le métier <span class="metierPopup"></span>?</h5>
|
||||
<h5 class="modal-title" id="competencesModalLabel">Souhaitez-vous sélectionner le métier <span
|
||||
class="metierPopup"></span>?</h5>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<h5> </h5>
|
||||
<h5> </h5>
|
||||
<p>
|
||||
|
||||
Si vous aviez précédemment sélectionné des compétences en lien avec l'ancien métier de rattachement, celles-ci seront remplacées par les nouvelles compétences, correspondant au métier <span class="metierPopup"></span>.
|
||||
|
||||
Si vous aviez précédemment sélectionné des compétences en lien avec l'ancien métier de rattachement,
|
||||
celles-ci seront remplacées par les nouvelles compétences, correspondant au métier <span
|
||||
class="metierPopup"></span>.
|
||||
</p>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
@@ -78,8 +77,9 @@
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h6 class="modal-title">Sélectionnez les compétences recherchées pour le poste à pourvoir </h6>
|
||||
<h7 class="modal-title">Vous pouvez sélectionner jusqu’à 10 compétences à afficher dans votre offre d’emploi. </h7>
|
||||
</div>
|
||||
<h7 class="modal-title">Vous pouvez sélectionner jusqu’à 10 compétences à afficher dans votre offre
|
||||
d’emploi. </h7>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
|
||||
{# <p>Etes vous sur de charger les compétences du métier <span id="metierPopup"></span></p> #}
|
||||
@@ -87,18 +87,19 @@
|
||||
<div class="card-body">
|
||||
<div class="scrollable">
|
||||
<div class="demo-card-scrollable">
|
||||
|
||||
|
||||
|
||||
|
||||
<div id="competencesAdPopup"></div>
|
||||
|
||||
|
||||
</div>
|
||||
</div><br/>
|
||||
</div><br />
|
||||
<div id="competencesAdMessagePopup" class="text-danger"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" id="ajouterCompetenceButtonMdal" class="btn btn-secondary" data-dismiss="modal" onclick="" >Ajouter ces compétences</button>
|
||||
<button type="button" id="ajouterCompetenceButtonMdal" class="btn btn-secondary" data-dismiss="modal"
|
||||
onclick="">Ajouter ces compétences</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -107,7 +108,24 @@
|
||||
|
||||
<!-- START CONTAINER FLUID -->
|
||||
<div class=" container-fluid container-fixed-lg">
|
||||
<div id="rootwizard" class="m-t-50">
|
||||
<div class="col-lg-8 bloc-header">
|
||||
<div class="card card-default container">
|
||||
<div class="card-body">
|
||||
<div class="row" style="min-height:10rem;">
|
||||
<div class="col-8">
|
||||
<h4 class="header-title" style="font-size:2em;line-height:1.5em;">Création d'une offre d'emploi
|
||||
vidéo</h4>
|
||||
<p>Pour trouver le bon profil, renseignez et personnalisez votre annonce. <br>Plus votre annonce
|
||||
est précise et attractive, plus les candidatures seront ciblées.</p>
|
||||
</div>
|
||||
<div class="col-4"
|
||||
style="background-repeat: no-repeat; background-image: url('https://blog.talentstube.com/wp-content/uploads/2021/02/creer-offre-emploi-video.svg');background-size: contain;background-position: center;">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="rootwizard" class="col-lg-8 m-t-50">
|
||||
{% if type is defined and type == 'update' %}
|
||||
{% include 'company/ad_stepsV2.html.twig' with {'tab':1, 'type':'update'} %}
|
||||
{% else %}
|
||||
@@ -119,89 +137,105 @@
|
||||
|
||||
<div class="tab-pane padding-20 sm-no-padding active slide-left" id="tab1">
|
||||
<div class="row row-same-height">
|
||||
<div class="col-md-5 b-r b-dashed b-grey sm-b-b">
|
||||
<div class="padding-30 sm-padding-5 sm-m-t-15 m-t-50">
|
||||
<i class="material-icons hint-text">info</i>
|
||||
<h2>Etape 1 : Je crée une annonce</h2>
|
||||
<p>Pour trouver le bon profil, renseignez et personnalisez votre annonce.
|
||||
Plus votre annonce est précise et attractive, plus les candidatures seront ciblées.
|
||||
Afin de créer votre annonce, renseignez l’ensemble des champs relatifs au poste proposé.
|
||||
</p>
|
||||
{# <p class="small hint-text">Below is a sample page for your cart , Created using pages design
|
||||
UI Elementes</p> #}
|
||||
|
||||
<div class="col-md">
|
||||
<h4>À propos du poste</h4>
|
||||
<br>
|
||||
{% if form.title is defined%}
|
||||
<div class="form-group form-group-default required">
|
||||
{# <label for="ad_title" class="required active">Intitulé du poste</label><input type="text"
|
||||
id="ad_title" name="ad[title]" required="required" placeholder="Ex: Commercial (H/F)"
|
||||
class="form-control"> #}
|
||||
{{ form_row(form.title) }}
|
||||
</div>
|
||||
{% endif %}
|
||||
{% if form.reference is defined%}
|
||||
<div class="form-group form-group-default required">
|
||||
{# <label for="ad_reference" class="required active">Référence de l'offre
|
||||
d'emploi</label><input type="text" id="ad_reference" name="ad[reference]"
|
||||
required="required" placeholder="Ex : BTH567" class="form-control"> #}
|
||||
{{ form_row(form.reference) }}
|
||||
</div>
|
||||
{% endif %}
|
||||
<div class="form-group form-group-default required" style="min-height:250px;">
|
||||
{# <label for="ad_description" class="required active">Description du poste</label>
|
||||
<textarea id="ad_description" name="ad[description]" required="required"
|
||||
class="form-control"
|
||||
placeholder="Décrivez le poste, les missions, le profil recherché..."></textarea> #}
|
||||
{{ form_row(form.description) }}
|
||||
</div>
|
||||
<div class="form-group form-group-default required">
|
||||
{# <label for="ad_location_gmap" class="required active">Localisation du poste</label><input
|
||||
type="text" id="ad_location_gmap" name="ad[location_gmap]" required="required" value=""
|
||||
class="form-control pac-target-input"
|
||||
placeholder="Ex : 3 Rue Louis de Broglie, Vannes, France" autocomplete="off"> #}
|
||||
{{ form_row(form.location_gmap) }}
|
||||
{{ form_row(form.location) }}
|
||||
</div>
|
||||
{# <input type="hidden" id="ad_location" name="ad[location]" value="null"> #}
|
||||
<br>
|
||||
<h6>Organisation cliente (facultatif)</h6>
|
||||
<div class="form-group form-group-default">
|
||||
{# <label for="ad_beneficiaire" class="active">Nom de l'organisation</label>
|
||||
<input type="text" id="ad_beneficiaire" name="ad[beneficiaire]" placeholder=""
|
||||
class="form-control"> #}
|
||||
{{ form_row(form.beneficiaire) }}
|
||||
</div>
|
||||
<p class="fs-12 bold">Vous souhaitez recruter pour l'un de vos clients ? Veuillez renseigner le
|
||||
champ ci-dessus</p>
|
||||
<br>
|
||||
<h4>Critères de l'offre d'emploi</h4>
|
||||
<br>
|
||||
<div class="form-group form-group-default required">
|
||||
{# <label for="ad_contract_type" class="required">Type de contrat:</label>
|
||||
<select id="ad_contract_type" name="ad[contract_type]" class="form-control">
|
||||
<option value="CDI">CDI</option>
|
||||
<option value="CDD">CDD</option>
|
||||
<option value="Apprentissage">Apprentissage</option>
|
||||
<option value="professionnalisation">Contrat de professionnalisation</option>
|
||||
<option value="Stage">Stage</option>
|
||||
<option value="Indépendant">Indépendant</option>
|
||||
<option value="Interim">Interim</option>
|
||||
</select> #}
|
||||
{{ form_row(form.contract_type) }}
|
||||
</div>
|
||||
<div class="form-group form-group-default disabled" id="ad_duree_contrat_div">
|
||||
{# <label for="ad_duree_contrat" class="active">Durée du contrat en mois</label>
|
||||
<input type="number" id="ad_duree_contrat" name="ad[duree_contrat]" value="0"
|
||||
class="form-control" placeholder="Ex : 6" min="0" max="36" disabled=""> #}
|
||||
{{ form_row(form.duree_contrat) }}
|
||||
</div>
|
||||
<div class="form-group form-group-default required">
|
||||
{# <label for="ad_temps_type" class="required">Type d'emploi</label>
|
||||
<select id="ad_temps_type" name="ad[temps_type]" class="form-control">
|
||||
<option value="FULL_TIME">Temps plein </option>
|
||||
<option value="PART_TIME">Temps partiel </option>
|
||||
<option value="MIX_TIME">Temps plein ou temps partiel</option>
|
||||
</select> #}
|
||||
{{ form_row(form.temps_type) }}
|
||||
</div>
|
||||
<div class="form-group form-group-default disabled" id="ad_nombre_heure_div">
|
||||
{# <label for="ad_nombre_heure" class="active">Temps de travail (Le nombre saisi correspond au
|
||||
nombre d'heures/semaine.)</label>
|
||||
<input type="number" id="ad_nombre_heure" name="ad[nombre_heure]" value="0"
|
||||
class="form-control" placeholder="Ex : 20" min="0" max="35" disabled=""> #}
|
||||
{{ form_row(form.nombre_heure) }}
|
||||
</div>
|
||||
<div class="form-group form-group-default required">
|
||||
{# <label for="ad_teletravail" class="required">Possibilité de faire du Télétravail?</label>
|
||||
<select id="ad_teletravail" name="ad[teletravail]" class="form-control">
|
||||
<option value="tele_occasionel">Occasionnel </option>
|
||||
<option value="tele_partiel">Partiel </option>
|
||||
<option value="tele_total">Total</option>
|
||||
<option value="tele_non">Non</option>
|
||||
</select> #}
|
||||
{{ form_row(form.teletravail) }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-7">
|
||||
<div class="padding-30 sm-padding-5">
|
||||
|
||||
<table class="table table-condensed ">
|
||||
{% if form_errors(form) %}
|
||||
<tr>
|
||||
<td class="col-lg-12 col-md-12 col-sm-12 ">
|
||||
|
||||
<span class="red-text text-darken-2">{{ form_errors(form) }}</span>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
<tr>
|
||||
<td class="col-lg-12 col-md-12 col-sm-12 ">
|
||||
{{ form_row(form.reference) }}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="col-lg-12 col-md-12 col-sm-12 ">
|
||||
{{ form_row(form.title) }}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="col-lg-12 col-md-12 col-sm-12">
|
||||
{{ form_row(form.beneficiaire) }}
|
||||
<br />
|
||||
Vous souhaitez recruter pour l'un de vos clients, renseignez ce champ
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="col-lg-12 col-md-12 col-sm-12">
|
||||
{{ form_row(form.location_gmap) }}
|
||||
{{ form_row(form.location) }}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="col-lg-12 col-md-12 col-sm-12">
|
||||
{{ form_row(form.description) }}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="col-lg-12 col-md-12 col-sm-12">
|
||||
{{ form_row(form.contract_type) }}
|
||||
</td>
|
||||
</tr>
|
||||
{# US 380 : Mise en place du temps de contrat (CDD) #}
|
||||
<tr id="ligneDureeContrat">
|
||||
<td class="col-lg-12 col-md-12 col-sm-12">
|
||||
{{ form_row(form.duree_contrat) }}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="col-lg-12 col-md-12 col-sm-12">
|
||||
{{ form_row(form.temps_type) }}
|
||||
</td>
|
||||
</tr>
|
||||
{# US 329 : Mise en place du temps de travail #}
|
||||
<tr id='ligneNbHeure'>
|
||||
<td class="col-lg-12 col-md-12 col-sm-12">
|
||||
{{ form_row(form.nombre_heure) }}
|
||||
</td>
|
||||
</tr>
|
||||
{# US 295 : Mise en place du télétravail #}
|
||||
<tr>
|
||||
<td class="col-lg-12 col-md-12 col-sm-12">
|
||||
{{ form_row(form.teletravail) }}
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br>
|
||||
<h4 class="no-margin p-b-5">Compétences recherchées</h4>
|
||||
<br>
|
||||
<div class="col bg-contrast-lower">
|
||||
<br>
|
||||
<table>
|
||||
<tr class='bg-contrast-lower'>
|
||||
<td class="col-lg-12 col-md-12 col-sm-12 bg-contrast-lower">
|
||||
@@ -246,15 +280,16 @@
|
||||
<tr class='bg-contrast-lower'>
|
||||
<td class="col-lg-12 col-md-12 col-sm-12 bg-contrast-lower">
|
||||
<div id="competencesAd"></div><br />
|
||||
<div id="competencesAdMessage" class="text-danger">Veuillez choisir un métier de rattachement pour votre annonce.</div><br />
|
||||
<div id="loadingDiv" >Patientez...</div><br />
|
||||
<div id="competencesAdMessage" class="text-danger">Veuillez choisir un métier de
|
||||
rattachement pour votre annonce.</div><br />
|
||||
<div id="loadingDiv">Patientez...</div><br />
|
||||
<div class="text-center" id="competencesButtonAd">
|
||||
<button type="button" class="btn btn-primary" data-toggle="modal"
|
||||
<button type="button" class="btn btn-info btn-lg" data-toggle="modal"
|
||||
data-target="#ajoutCompetencesModal" id="ajoutCompetences">
|
||||
Ajouter des compétences
|
||||
</button>
|
||||
<input type="hidden" id ="nbCompetences">
|
||||
<span id= "nbCompetencesText"></span>
|
||||
<input type="hidden" id="nbCompetences">
|
||||
<span id="nbCompetencesText"></span>
|
||||
</div>
|
||||
</td>
|
||||
{{ form_row(form.appellationId) }}
|
||||
@@ -262,120 +297,43 @@
|
||||
{{ form_row(form.codeRome) }}
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
{# <tr>
|
||||
<td class="col-lg-12 col-md-12 col-sm-12">
|
||||
{{ form_row(form.status) }}
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="col-lg-12 col-md-12 col-sm-12">
|
||||
{{ form_row(form.publicTag) }}
|
||||
{{ form_row(form.competences) }}
|
||||
</td>
|
||||
</tr> #}
|
||||
|
||||
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="col-lg-12 col-md-12 col-sm-12">
|
||||
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="col-lg-12 col-md-12 col-sm-12 ">
|
||||
<button aria-label="" type="submit"
|
||||
class="btn btn-primary btn-cons btn-animated from-left pull-right"
|
||||
type="button" id="saveAdButton">
|
||||
<span>{% if type is defined and type == 'update' %}Sauvegarde et
|
||||
étape
|
||||
suivante {% else %}Je crée mon annonce{% endif %}</span>
|
||||
<span class="hidden-block">
|
||||
<i class="material-icons fs-16">videocam</i>
|
||||
</span>
|
||||
</button>
|
||||
<br />
|
||||
|
||||
{# <button class="btn btn-default" type="submit">Je crée mon annonce!</button> #}
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
|
||||
|
||||
</div>
|
||||
<br>
|
||||
|
||||
<button aria-label="" type="submit"
|
||||
class="btn btn-lg btn-primary btn-cons btn-animated from-left" id="saveAdButton"
|
||||
disabled="">
|
||||
<span>Suivant</span>
|
||||
<span class="hidden-block">
|
||||
<i class="material-icons tab-icon">videocam</i>
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
{{ form_end(form) }}
|
||||
<div class="tab-pane slide-left padding-20 sm-no-padding disabled" id="tab2">
|
||||
<div class="row row-same-height">
|
||||
<div class="col-md-5 b-r b-dashed b-grey ">
|
||||
<div class="padding-30 sm-padding-5 sm-m-t-15 m-t-50">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-7">
|
||||
<div class="padding-30 sm-padding-5">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="padding-20 sm-padding-5 sm-m-b-20 sm-m-t-20 bg-white clearfix">
|
||||
{# <ul class="pager wizard no-style">
|
||||
<li class="next">
|
||||
<button aria-label="" class="btn btn-primary btn-cons btn-animated from-left pull-right"
|
||||
type="button">
|
||||
<span>Je crée mon annonce</span>
|
||||
<span class="hidden-block">
|
||||
<i class="material-icons fs-16">local_shipping</i>
|
||||
</span>
|
||||
</button>
|
||||
</li>
|
||||
<li class="next finish hidden">
|
||||
<button aria-label="" class="btn btn-primary btn-cons btn-animated from-left pull-right"
|
||||
type="button">
|
||||
<span>Finish</span>
|
||||
<span class="hidden-block">
|
||||
<i class="material-icons fs-16">settings</i>
|
||||
</span>
|
||||
</button>
|
||||
</li>
|
||||
<li class="previous first hidden">
|
||||
<button aria-label="" class="btn btn-default btn-cons btn-animated from-left pull-right"
|
||||
type="button">
|
||||
<span>First</span>
|
||||
<span class="hidden-block">
|
||||
<i class="material-icons fs-16">settings</i>
|
||||
</span>
|
||||
</button>
|
||||
</li>
|
||||
<li class="previous">
|
||||
<button aria-label="" class="btn btn-default btn-cons btn-animated from-left pull-right"
|
||||
type="button">
|
||||
<span>Previous</span>
|
||||
<span class="hidden-block">
|
||||
<i class="material-icons fs-14">settings</i>
|
||||
</span>
|
||||
</button>
|
||||
</li>
|
||||
</ul> #}
|
||||
</div>
|
||||
<div class="wizard-footer padding-20 bg-contrast-low">
|
||||
<p class="small hint-text pull-left no-margin">
|
||||
|
||||
</p>
|
||||
<div class="pull-right">
|
||||
|
||||
</div>
|
||||
<div class="clearfix"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- END CONTAINER FLUID -->
|
||||
|
||||
{% endblock %}
|
||||
@@ -387,9 +345,11 @@
|
||||
if ($("#ad_temps_type").val() == "PART_TIME") {
|
||||
//$("#ligneNbHeure").show();
|
||||
$("#ad_nombre_heure").prop("disabled", false);
|
||||
$("#ad_nombre_heure_div").removeClass("disabled");
|
||||
} else {
|
||||
//$("#ligneNbHeure").hide().prop('required',false) ;;
|
||||
$("#ad_nombre_heure").prop("disabled", true);
|
||||
$("#ad_nombre_heure_div").addClass("disabled");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -399,9 +359,11 @@
|
||||
if ($("#ad_contract_type").val() == "CDD") {
|
||||
//$("#ligneDureeContrat").show();
|
||||
$("#ad_duree_contrat").prop("disabled", false);
|
||||
$("#ad_duree_contrat_div").removeClass("disabled");
|
||||
} else {
|
||||
//$("#ligneDureeContrat").hide().prop('required',false) ;
|
||||
$("#ad_duree_contrat").prop("disabled", true);
|
||||
$("#ad_duree_contrat_div").addClass("disabled");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -432,62 +394,65 @@
|
||||
console.log(this.value);
|
||||
//competences.push(competence);
|
||||
//on remplace la virgule par un esapce car sinon bug (les compétences sont séparés par une virgule)
|
||||
var chaine = this.value.replace(",", " ");
|
||||
|
||||
var chaine = this.value.replace("'", " ");
|
||||
chaine = chaine.replace(",", " ");
|
||||
//On limite a 10 compétences, au dela, on les enregistre pas dans le champ ad_competences
|
||||
if(nbCompetencesSelect<11){
|
||||
if (nbCompetencesSelect < 11) {
|
||||
competences += chaine + ",";
|
||||
nbCompetencesSelect++;
|
||||
}
|
||||
|
||||
$("#nbCompetencesText").html(nbCompetencesSelect+" compétences sélectionnées");
|
||||
$("#ajouterCompetenceButtonMdal").html("Ajouter (+"+nbCompetencesSelect+")");
|
||||
|
||||
$("#nbCompetencesText").html(nbCompetencesSelect + " compétences sélectionnées");
|
||||
$("#ajouterCompetenceButtonMdal").html("Ajouter (+" + nbCompetencesSelect + ")");
|
||||
$("#nbCompetences").val(nbCompetencesSelect);
|
||||
//return competence;
|
||||
}
|
||||
|
||||
}).get();
|
||||
console.log(competences);
|
||||
// on renseigne le champ ad_competences
|
||||
$("#ad_competences").val(competences);
|
||||
//Gestion des erreurs si aucune compétence
|
||||
if(nbCompetencesSelect==0){
|
||||
if (nbCompetencesSelect == 0) {
|
||||
$("#nbCompetencesText").html("");
|
||||
$("#competencesAdMessage").html(
|
||||
"Vous devez sélectionner au minimum une compétence "
|
||||
"Vous devez sélectionner au minimum une compétence "
|
||||
);
|
||||
$("#competencesAdMessagePopup").html(
|
||||
"Vous devez sélectionner au minimum une compétence "
|
||||
"Vous devez sélectionner au minimum une compétence "
|
||||
);
|
||||
$("#ajouterCompetenceButtonMdal").html("Ajouter (+0)");
|
||||
$("#ajouterCompetenceButtonMdal").hide();
|
||||
$("#saveAdButton").prop("disabled", true);
|
||||
}else if(nbCompetencesSelect>9){
|
||||
} else if (nbCompetencesSelect > 9) {
|
||||
//Gestion des erreurs si plusde 10 compétences
|
||||
$("#saveAdButton").prop("disabled", false);
|
||||
$("#competencesAdMessage").html(
|
||||
"Vous avez atteint le nombre maximum de compétences. "
|
||||
"Vous avez atteint le nombre maximum de compétences. "
|
||||
);
|
||||
$("#competencesAdMessagePopup").html(
|
||||
"Vous avez atteint le nombre maximum de compétences. "
|
||||
"Vous avez atteint le nombre maximum de compétences. "
|
||||
);
|
||||
if(nbCompetencesSelect>10){
|
||||
if (nbCompetencesSelect > 10) {
|
||||
$("#ajouterCompetenceButtonMdal").hide();
|
||||
|
||||
|
||||
}
|
||||
}else{
|
||||
} else {
|
||||
//cas standards, on reinitialise les champs a vide
|
||||
|
||||
$("#competencesAdMessage").html( " ");
|
||||
|
||||
$("#competencesAdMessage").html(" ");
|
||||
$("#competencesAdMessagePopup").html(" ");
|
||||
$("#saveAdButton").prop("disabled", false);
|
||||
$("#ajouterCompetenceButtonMdal").show();
|
||||
}
|
||||
console.log("valeur saiisie");
|
||||
if($("#saisie").val() =="" || !$("#saisie").val() ){
|
||||
if ($("#saisie").val() == "" || !$("#saisie").val()) {
|
||||
$("#competencesAdMessage").html(
|
||||
"Veuillez choisir un métier de rattachement pour votre annonce. "
|
||||
"Veuillez choisir un métier de rattachement pour votre annonce. "
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
$(document).ready(function () {
|
||||
@@ -503,7 +468,7 @@
|
||||
// renseignement du champ visible (init du métier)
|
||||
$("#saisie").val($("#ad_appellationLibelle").val());
|
||||
$("#competences_origine").val($("#ad_competences").val());
|
||||
if ($("#ad_competences").val() !='null' ){
|
||||
if ($("#ad_competences").val() != 'null') {
|
||||
$("#saveAdButton").prop("disabled", false);
|
||||
}
|
||||
//charger les compétences en fonction du métier d'origine
|
||||
@@ -557,10 +522,12 @@
|
||||
suggestion: function (data) {
|
||||
//comment sont formaté les suggestion de l'auto completion
|
||||
$(".tt-dataset-metiers").show();
|
||||
var chaine = data.metier_libelle.replace("'", "\\'");
|
||||
var chaine = data.metier_libelle.replace("'", " ");
|
||||
var chaine = chaine.replace("'", ",");
|
||||
return '<div onclick="chargerDonneesTemp(' + data.metier_id + ',\'' +
|
||||
chaine +
|
||||
'\')" data-toggle="modal" data-target="#competencesModal" id="competences"><a href="#" >' + data.metier_libelle +
|
||||
'\')" data-toggle="modal" data-target="#competencesModal" id="competences"><a href="#" >' +
|
||||
data.metier_libelle +
|
||||
'</a></div>'
|
||||
},
|
||||
footer: function (query) {
|
||||
@@ -631,14 +598,20 @@
|
||||
checked = "checked";
|
||||
}
|
||||
var chaine = object.libelle.replace("'", " ");
|
||||
var chaine = chaine.replace(",", " ");
|
||||
$("#competencesAd").append("<div id='competence_ad_"+object.code+"' name='competences_ad[]'><input type='checkbox' "+checked+" onChange='genererCompetences(this);' id='competence_" + object
|
||||
.code + "' value='" +chaine+"_"+ object.code + "'> " + object.libelle + "<br/></div>");
|
||||
chaine = chaine.replace(",", " ");
|
||||
chaine = chaine.replace('"', " ");
|
||||
$("#competencesAd").append('<div id="competence_ad_' + object.code +
|
||||
'" name="competences_ad[]"><input type="checkbox" ' + checked +
|
||||
' onChange="genererCompetences(this);" id="competence_' + object
|
||||
.code + '" value="' + chaine + "_" + object.code + '"> ' + object.libelle +
|
||||
'<br/></div>');
|
||||
|
||||
$("#competencesAdPopup").append("<div id='competence_ad_popup_"+object.code+"'><input type='checkbox' "+checked+" onChange='genererCompetences(this);' id='competencepopup_" + object
|
||||
.code + "' value='" + object.code + "'> " + object.libelle + "<br/></div>");
|
||||
$("#competencesAdPopup").append('<div id="competence_ad_popup_' + object.code +
|
||||
'"><input type="checkbox" ' + checked +
|
||||
' onChange="genererCompetences(this);" id="competencepopup_' + object
|
||||
.code + '" value="' + object.code + '"> ' + object.libelle + '<br/></div>');
|
||||
if (object.competenceCle == false) {
|
||||
$("#competence_ad_"+object.code).hide();
|
||||
$("#competence_ad_" + object.code).hide();
|
||||
}
|
||||
});
|
||||
|
||||
@@ -653,18 +626,26 @@
|
||||
var checked = "";
|
||||
//On on ne coche pas ces competences clé (uniquement les compétences de base) sur le formulaire de base
|
||||
//if (competence.competenceCle == true && type != "init") {
|
||||
//checked = "checked";
|
||||
//checked = "checked";
|
||||
//}
|
||||
var chaine = competence.libelle.replace("'", " ");
|
||||
var chaine = chaine.replace(",", " ");
|
||||
$("#competencesAd").append("<div id='competence_ad_"+competence.code+"' name='competences_ad[]'><input type='checkbox' "+checked+" onChange='genererCompetences(this);' id='competence_" + competence
|
||||
.code + "' value='" +chaine+"_"+ competence.code + "'> " + competence.libelle + "<br/></div>");
|
||||
chaine = chaine.replace(",", " ");
|
||||
$("#competencesAd").append("<div id='competence_ad_" + competence.code +
|
||||
"' name='competences_ad[]'><input type='checkbox' " + checked +
|
||||
" onChange='genererCompetences(this);' id='competence_" +
|
||||
competence
|
||||
.code + "' value='" + chaine + "_" + competence.code + "'> " +
|
||||
competence.libelle + "<br/></div>");
|
||||
|
||||
$("#competencesAdPopup").append("<div id='competence_ad_popup_"+competence.code+"'><input type='checkbox' "+checked+" onChange='genererCompetences(this);' id='competencepopup_" + competence
|
||||
.code + "' value='" + competence.code + "'> " + competence.libelle + "<br/></div>");
|
||||
$("#competencesAdPopup").append("<div id='competence_ad_popup_" + competence
|
||||
.code + "'><input type='checkbox' " + checked +
|
||||
" onChange='genererCompetences(this);' id='competencepopup_" +
|
||||
competence
|
||||
.code + "' value='" + competence.code + "'> " + competence.libelle +
|
||||
"<br/></div>");
|
||||
//On n'affiche pas ces competences (meme les competences clé) sur le formulaire de base
|
||||
//if (competence.competenceCle == false) {
|
||||
$("#competence_ad_"+competence.code).hide();
|
||||
$("#competence_ad_" + competence.code).hide();
|
||||
//}
|
||||
});
|
||||
});
|
||||
@@ -700,10 +681,11 @@
|
||||
$("#competencesAdMessage").html(
|
||||
"Une erreur est survenue dans la recherche du métier de rattachement. <a href='#' onclick='chargerCompetences();'><br/><i class='fa fa-refresh fa-spin fa-fw'></i>Cliquez ici pour relancer la recherche</a> "
|
||||
);
|
||||
|
||||
|
||||
}
|
||||
$('#loadingDiv').hide();
|
||||
console.log("La requête s'est terminée en échec q= "+ $("#id_appellation_temporaire").val()+" Infos : " + JSON.stringify(error));
|
||||
console.log("La requête s'est terminée en échec q= " + $("#id_appellation_temporaire").val() +
|
||||
" Infos : " + JSON.stringify(error));
|
||||
})
|
||||
//Ce code sera exécuté que la requête soit un succès ou un échec
|
||||
.always(function () {
|
||||
@@ -717,7 +699,7 @@
|
||||
console.log("Clicked, target = " + cb.id);
|
||||
var id = cb.id.split('_');
|
||||
id = id[1];
|
||||
if($("#nbCompetences").val()<10){
|
||||
if ($("#nbCompetences").val() < 10) {
|
||||
$("#competence_" + id).prop("checked", cb.checked);
|
||||
$("#competencepopup_" + id).prop("checked", cb.checked);
|
||||
if (cb.checked) {
|
||||
@@ -727,7 +709,7 @@
|
||||
console.log("hidden de div #competence_ad_" + id);
|
||||
$("#competence_ad_" + id).hide();
|
||||
}
|
||||
}else{
|
||||
} else {
|
||||
$("#competence_" + id).prop("checked", false);
|
||||
$("#competence_ad_" + id).hide();
|
||||
//$("#competence_" + id).hide();
|
||||
|
||||
@@ -9,8 +9,8 @@
|
||||
|
||||
}
|
||||
|
||||
.modalCompetences{
|
||||
height:600px;
|
||||
.modalCompetences {
|
||||
height: 600px;
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -27,10 +27,10 @@
|
||||
<ol class="breadcrumb">
|
||||
<li class="breadcrumb-item"><a href="/entreprise/me/">Accueil</a></li>
|
||||
<li class="breadcrumb-item"><a href="{{ path('company_ad') }}">Offres d'emploi</a></li>
|
||||
|
||||
|
||||
</ol>
|
||||
<!-- END BREADCRUMB -->
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -44,16 +44,19 @@
|
||||
<div class="modal-dialog modal-lg" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title" id="competencesModalLabel">Souhaitez-vous sélectionner le métier <span class="metierPopup"></span>?</h5>
|
||||
<h5 class="modal-title" id="competencesModalLabel">Souhaitez-vous sélectionner le métier <span
|
||||
class="metierPopup"></span>?</h5>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<h5> </h5>
|
||||
<h5> </h5>
|
||||
<p>
|
||||
|
||||
Si vous aviez précédemment sélectionné des compétences en lien avec l'ancien métier de rattachement, celles-ci seront remplacées par les nouvelles compétences, correspondant au métier <span class="metierPopup"></span>.
|
||||
|
||||
Si vous aviez précédemment sélectionné des compétences en lien avec l'ancien métier de rattachement,
|
||||
celles-ci seront remplacées par les nouvelles compétences, correspondant au métier <span
|
||||
class="metierPopup"></span>.
|
||||
</p>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
@@ -73,10 +76,11 @@
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h6 class="modal-title">Sélectionnez les compétences recherchées pour le poste à pourvoir </h6>
|
||||
<h7 class="modal-title">Vous pouvez sélectionner jusqu’à 10 compétences à afficher dans votre offre d’emploi. </h7>
|
||||
</div>
|
||||
<h7 class="modal-title">Vous pouvez sélectionner jusqu’à 10 compétences à afficher dans votre offre
|
||||
d’emploi. </h7>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
|
||||
|
||||
{# <p>Etes vous sur de charger les compétences du métier <span id="metierPopup"></span></p> #}
|
||||
<div class="card card-default">
|
||||
<div class="card-body">
|
||||
@@ -85,12 +89,13 @@
|
||||
<div id="competencesAdPopup"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="competencesAdMessagePopup" class="text-danger"></div>
|
||||
<div id="competencesAdMessagePopup" class="text-danger"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" id="ajouterCompetenceButtonMdal" class="btn btn-secondary" data-dismiss="modal" onclick="" >Ajouter ces compétences</button>
|
||||
<button type="button" id="ajouterCompetenceButtonMdal" class="btn btn-secondary" data-dismiss="modal"
|
||||
onclick="">Ajouter ces compétences</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -100,100 +105,135 @@
|
||||
|
||||
<!-- START CONTAINER FLUID -->
|
||||
<div class=" container-fluid container-fixed-lg">
|
||||
<div id="rootwizard" class="m-t-50">
|
||||
<div class="col-lg-8 bloc-header">
|
||||
<div class="card card-default container">
|
||||
<div class="card-body">
|
||||
<div class="row" style="min-height:10rem;">
|
||||
<div class="col-8">
|
||||
<h4 class="header-title" style="font-size:2em;line-height:1.5em;">Création d'une offre d'emploi
|
||||
vidéo</h4>
|
||||
<p>Pour trouver le bon profil, renseignez et personnalisez votre annonce. <br>Plus votre annonce
|
||||
est précise et attractive, plus les candidatures seront ciblées.</p>
|
||||
</div>
|
||||
<div class="col-4"
|
||||
style="background-repeat: no-repeat; background-image: url('https://blog.talentstube.com/wp-content/uploads/2021/02/creer-offre-emploi-video.svg');background-size: contain;background-position: center;">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="rootwizard" class="col-lg-8 m-t-50">
|
||||
{% if type is defined and type == 'update' %}
|
||||
{% include 'company/ad_stepsV2.html.twig' with {'tab':1, 'type':'update'} %}
|
||||
{% else %}
|
||||
{% include 'company/ad_stepsV2.html.twig' with {'tab':1} %}
|
||||
|
||||
{% endif %}
|
||||
|
||||
<div class="tab-content">
|
||||
{{ form_start(form, {'attr': {'class': ''}}) }}
|
||||
|
||||
<div class="tab-pane padding-20 sm-no-padding active slide-left" id="tab1">
|
||||
<div class="row row-same-height">
|
||||
<div class="col-md-5 b-r b-dashed b-grey sm-b-b">
|
||||
<div class="padding-30 sm-padding-5 sm-m-t-15 m-t-50">
|
||||
<i class="material-icons hint-text">shopping_cart</i>
|
||||
<h2>Etape 1 : Je modifie une annonce</h2>
|
||||
<p>Pour trouver le bon profil, renseignez et personnalisez votre annonce.
|
||||
Plus votre annonce est précise et attractive, plus les candidatures seront ciblées.
|
||||
Afin de créer votre annonce, renseignez l’ensemble des champs relatifs au poste proposé.</p>
|
||||
{# <p class="small hint-text">Below is a sample page for your cart , Created using pages design
|
||||
UI Elementes</p> #}
|
||||
<div class="col-md">
|
||||
<h4>À propos du poste</h4>
|
||||
<br>
|
||||
{% if form.title is defined%}
|
||||
<div class="form-group form-group-default required">
|
||||
{# <label for="ad_title" class="required active">Intitulé du poste</label><input type="text"
|
||||
id="ad_title" name="ad[title]" required="required" placeholder="Ex: Commercial (H/F)"
|
||||
class="form-control"> #}
|
||||
{{ form_row(form.title) }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-7">
|
||||
<div class="padding-30 sm-padding-5">
|
||||
{{ form_start(form, {'attr': {'class': 'form-horizontal'}}) }}
|
||||
<table class="table table-condensed form-horizontal">
|
||||
{% if form_errors(form) %}<tr>
|
||||
<td class="col-lg-12 col-md-12 col-sm-12 ">
|
||||
|
||||
<span class="red-text text-darken-2">{{ form_errors(form) }}</span>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
{% if form.reference is defined%}
|
||||
<tr>
|
||||
<td class="col-lg-12 col-md-12 col-sm-12 ">
|
||||
|
||||
{{ form_row(form.reference) }}
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
<tr>
|
||||
<td class="col-lg-12 col-md-12 col-sm-12 ">
|
||||
{% if form.title is defined%}
|
||||
{{ form_row(form.title) }}
|
||||
{% endif %}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="col-lg-12 col-md-12 col-sm-12">
|
||||
{{ form_row(form.beneficiaire) }}
|
||||
<br/>
|
||||
Vous souhaitez recruter pour l'un de vos clients, renseignez ce champ
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
||||
<tr>
|
||||
<td class="col-lg-12 col-md-12 col-sm-12">
|
||||
{{ form_row(form.location_gmap) }}
|
||||
{{ form_row(form.location) }}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="col-lg-12 col-md-12 col-sm-12">
|
||||
{{ form_row(form.description) }}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="col-lg-12 col-md-12 col-sm-12">
|
||||
{{ form_row(form.contract_type) }}
|
||||
</td>
|
||||
</tr>
|
||||
{# US 380 : Mise en place du temps de contrat (CDD) #}
|
||||
<tr id="ligneDureeContrat">
|
||||
<td class="col-lg-12 col-md-12 col-sm-12">
|
||||
{{ form_row(form.duree_contrat) }}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="col-lg-12 col-md-12 col-sm-12">
|
||||
{{ form_row(form.temps_type) }}
|
||||
</td>
|
||||
</tr>
|
||||
{# US 329 : Mise en place du temps de travail #}
|
||||
<tr id="ligneNbHeure">
|
||||
<td class="col-lg-12 col-md-12 col-sm-12">
|
||||
{{ form_row(form.nombre_heure) }}
|
||||
</td>
|
||||
</tr>
|
||||
{# US 295 : Mise en place du télétravail #}
|
||||
<tr>
|
||||
<td class="col-lg-12 col-md-12 col-sm-12">
|
||||
{{ form_row(form.teletravail) }}
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
{% endif %}
|
||||
{% if form.reference is defined%}
|
||||
<div class="form-group form-group-default required">
|
||||
{# <label for="ad_reference" class="required active">Référence de l'offre
|
||||
d'emploi</label><input type="text" id="ad_reference" name="ad[reference]"
|
||||
required="required" placeholder="Ex : BTH567" class="form-control"> #}
|
||||
{{ form_row(form.reference) }}
|
||||
</div>
|
||||
{% endif %}
|
||||
<div class="form-group form-group-default required" style="min-height:250px;">
|
||||
{# <label for="ad_description" class="required active">Description du poste</label>
|
||||
<textarea id="ad_description" name="ad[description]" required="required"
|
||||
class="form-control"
|
||||
placeholder="Décrivez le poste, les missions, le profil recherché..."></textarea> #}
|
||||
{{ form_row(form.description) }}
|
||||
</div>
|
||||
<div class="form-group form-group-default required">
|
||||
{# <label for="ad_location_gmap" class="required active">Localisation du poste</label><input
|
||||
type="text" id="ad_location_gmap" name="ad[location_gmap]" required="required" value=""
|
||||
class="form-control pac-target-input"
|
||||
placeholder="Ex : 3 Rue Louis de Broglie, Vannes, France" autocomplete="off"> #}
|
||||
{{ form_row(form.location_gmap) }}
|
||||
{{ form_row(form.location) }}
|
||||
</div>
|
||||
{# <input type="hidden" id="ad_location" name="ad[location]" value="null"> #}
|
||||
<br>
|
||||
<h6>Organisation cliente (facultatif)</h6>
|
||||
<div class="form-group form-group-default">
|
||||
{# <label for="ad_beneficiaire" class="active">Nom de l'organisation</label>
|
||||
<input type="text" id="ad_beneficiaire" name="ad[beneficiaire]" placeholder=""
|
||||
class="form-control"> #}
|
||||
{{ form_row(form.beneficiaire) }}
|
||||
</div>
|
||||
<p class="fs-12 bold">Vous souhaitez recruter pour l'un de vos clients ? Veuillez renseigner le
|
||||
champ ci-dessus</p>
|
||||
<br>
|
||||
<h4>Critères de l'offre d'emploi</h4>
|
||||
<br>
|
||||
<div class="form-group form-group-default required">
|
||||
{# <label for="ad_contract_type" class="required">Type de contrat:</label>
|
||||
<select id="ad_contract_type" name="ad[contract_type]" class="form-control">
|
||||
<option value="CDI">CDI</option>
|
||||
<option value="CDD">CDD</option>
|
||||
<option value="Apprentissage">Apprentissage</option>
|
||||
<option value="professionnalisation">Contrat de professionnalisation</option>
|
||||
<option value="Stage">Stage</option>
|
||||
<option value="Indépendant">Indépendant</option>
|
||||
<option value="Interim">Interim</option>
|
||||
</select> #}
|
||||
{{ form_row(form.contract_type) }}
|
||||
</div>
|
||||
<div class="form-group form-group-default disabled" id="ad_duree_contrat_div">
|
||||
{# <label for="ad_duree_contrat" class="active">Durée du contrat en mois</label>
|
||||
<input type="number" id="ad_duree_contrat" name="ad[duree_contrat]" value="0"
|
||||
class="form-control" placeholder="Ex : 6" min="0" max="36" disabled=""> #}
|
||||
{{ form_row(form.duree_contrat) }}
|
||||
</div>
|
||||
<div class="form-group form-group-default required">
|
||||
{# <label for="ad_temps_type" class="required">Type d'emploi</label>
|
||||
<select id="ad_temps_type" name="ad[temps_type]" class="form-control">
|
||||
<option value="FULL_TIME">Temps plein </option>
|
||||
<option value="PART_TIME">Temps partiel </option>
|
||||
<option value="MIX_TIME">Temps plein ou temps partiel</option>
|
||||
</select> #}
|
||||
{{ form_row(form.temps_type) }}
|
||||
</div>
|
||||
<div class="form-group form-group-default disabled" id="ad_nombre_heure_div">
|
||||
{# <label for="ad_nombre_heure" class="active">Temps de travail (Le nombre saisi correspond au
|
||||
nombre d'heures/semaine.)</label>
|
||||
<input type="number" id="ad_nombre_heure" name="ad[nombre_heure]" value="0"
|
||||
class="form-control" placeholder="Ex : 20" min="0" max="35" disabled=""> #}
|
||||
{{ form_row(form.nombre_heure) }}
|
||||
</div>
|
||||
<div class="form-group form-group-default required">
|
||||
{# <label for="ad_teletravail" class="required">Possibilité de faire du Télétravail?</label>
|
||||
<select id="ad_teletravail" name="ad[teletravail]" class="form-control">
|
||||
<option value="tele_occasionel">Occasionnel </option>
|
||||
<option value="tele_partiel">Partiel </option>
|
||||
<option value="tele_total">Total</option>
|
||||
<option value="tele_non">Non</option>
|
||||
</select> #}
|
||||
{{ form_row(form.teletravail) }}
|
||||
{{ form_row(form.status) }}
|
||||
</div>
|
||||
|
||||
<br>
|
||||
<h4 class="no-margin p-b-5">Compétences recherchées</h4>
|
||||
<br>
|
||||
<div class="col bg-contrast-lower">
|
||||
<br>
|
||||
<table>
|
||||
<tr class='bg-contrast-lower'>
|
||||
<td class="col-lg-12 col-md-12 col-sm-12 bg-contrast-lower">
|
||||
@@ -238,165 +278,99 @@ Afin de créer votre annonce, renseignez l’ensemble des champs relatifs au pos
|
||||
<tr class='bg-contrast-lower'>
|
||||
<td class="col-lg-12 col-md-12 col-sm-12 bg-contrast-lower">
|
||||
<div id="competencesAd"></div><br />
|
||||
<div id="competencesAdMessage" class="text-danger">Vous devez
|
||||
sélectionner au minimum une compétence</div><br />
|
||||
<div id="loadingDiv" >Patientez...</div><br />
|
||||
<div id="competencesAdMessage" class="text-danger">Veuillez choisir un métier de
|
||||
rattachement pour votre annonce.</div><br />
|
||||
<div id="loadingDiv">Patientez...</div><br />
|
||||
<div class="text-center" id="competencesButtonAd">
|
||||
<button type="button" class="btn btn-primary" data-toggle="modal"
|
||||
<button type="button" class="btn btn-info btn-lg" data-toggle="modal"
|
||||
data-target="#ajoutCompetencesModal" id="ajoutCompetences">
|
||||
Ajouter des compétences
|
||||
</button>
|
||||
<input type="hidden" id ="nbCompetences">
|
||||
<span id= "nbCompetencesText"></span>
|
||||
<input type="hidden" id="nbCompetences">
|
||||
<span id="nbCompetencesText"></span>
|
||||
</div>
|
||||
</td>
|
||||
{{ form_row(form.appellationId) }}
|
||||
{{ form_row(form.appellationLibelle) }}
|
||||
{{ form_row(form.codeRome) }}
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
|
||||
{# <tr>
|
||||
<td class="col-lg-12 col-md-12 col-sm-12">
|
||||
{{ form_row(form.status) }}
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="col-lg-12 col-md-12 col-sm-12">
|
||||
{{ form_row(form.publicTag) }}
|
||||
{{ form_row(form.competences) }}
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="col-lg-12 col-md-12 col-sm-12">
|
||||
|
||||
{{ form_row(form.status) }}
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="col-lg-12 col-md-12 col-sm-12 ">
|
||||
<button aria-label="" type="submit" id="saveAdButton" class="btn btn-primary btn-cons btn-animated from-left pull-right"
|
||||
type="button">
|
||||
<span>Je crée mon annonce</span>
|
||||
<span class="hidden-block">
|
||||
<i class="material-icons fs-16">local_shipping</i>
|
||||
</span>
|
||||
</button>
|
||||
{# <button class="btn btn-default" type="submit">Je crée mon annonce!</button> #}
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
|
||||
</tr> #}
|
||||
|
||||
|
||||
|
||||
|
||||
</table>
|
||||
{{ form_end(form) }}
|
||||
|
||||
</div>
|
||||
<br>
|
||||
|
||||
<button aria-label="" type="submit"
|
||||
class="btn btn-lg btn-primary btn-cons btn-animated from-left" id="saveAdButton"
|
||||
disabled="">
|
||||
<span>Suivant</span>
|
||||
<span class="hidden-block">
|
||||
<i class="material-icons tab-icon">videocam</i>
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="tab-pane slide-left padding-20 sm-no-padding disabled" id="tab2">
|
||||
<div class="row row-same-height">
|
||||
<div class="col-md-5 b-r b-dashed b-grey ">
|
||||
<div class="padding-30 sm-padding-5 sm-m-t-15 m-t-50">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-7">
|
||||
<div class="padding-30 sm-padding-5">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="padding-20 sm-padding-5 sm-m-b-20 sm-m-t-20 bg-white clearfix">
|
||||
{# <ul class="pager wizard no-style">
|
||||
<li class="next">
|
||||
<button aria-label="" class="btn btn-primary btn-cons btn-animated from-left pull-right"
|
||||
type="button">
|
||||
<span>Je crée mon annonce</span>
|
||||
<span class="hidden-block">
|
||||
<i class="material-icons fs-16">local_shipping</i>
|
||||
</span>
|
||||
</button>
|
||||
</li>
|
||||
<li class="next finish hidden">
|
||||
<button aria-label="" class="btn btn-primary btn-cons btn-animated from-left pull-right"
|
||||
type="button">
|
||||
<span>Finish</span>
|
||||
<span class="hidden-block">
|
||||
<i class="material-icons fs-16">settings</i>
|
||||
</span>
|
||||
</button>
|
||||
</li>
|
||||
<li class="previous first hidden">
|
||||
<button aria-label="" class="btn btn-default btn-cons btn-animated from-left pull-right"
|
||||
type="button">
|
||||
<span>First</span>
|
||||
<span class="hidden-block">
|
||||
<i class="material-icons fs-16">settings</i>
|
||||
</span>
|
||||
</button>
|
||||
</li>
|
||||
<li class="previous">
|
||||
<button aria-label="" class="btn btn-default btn-cons btn-animated from-left pull-right"
|
||||
type="button">
|
||||
<span>Previous</span>
|
||||
<span class="hidden-block">
|
||||
<i class="material-icons fs-14">settings</i>
|
||||
</span>
|
||||
</button>
|
||||
</li>
|
||||
</ul> #}
|
||||
</div>
|
||||
<div class="wizard-footer padding-20 bg-contrast-low">
|
||||
<p class="small hint-text pull-left no-margin">
|
||||
|
||||
</p>
|
||||
<div class="pull-right">
|
||||
|
||||
</div>
|
||||
<div class="clearfix"></div>
|
||||
</div>
|
||||
{{ form_end(form) }}
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- END CONTAINER FLUID -->
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block javascriptsSecondaire %}
|
||||
<script type="application/javascript">
|
||||
//Methode permettant d'afficher le bloc nb d'heure si est en temps partiel
|
||||
function afficherTempsType(){
|
||||
if( $( "#ad_soft_temps_type" ).val()=="PART_TIME" ){
|
||||
//$("#ligneNbHeure").show();
|
||||
$("#ad_soft_nombre_heure").prop("disabled", false);
|
||||
}else{
|
||||
//$("#ligneNbHeure").hide();
|
||||
$("#ad_soft_nombre_heure").prop("disabled", true);
|
||||
}
|
||||
<script type="application/javascript">
|
||||
function afficherTempsType() {
|
||||
if ($("#ad_temps_type").val() == "PART_TIME") {
|
||||
//$("#ligneNbHeure").show();
|
||||
$("#ad_nombre_heure").prop("disabled", false);
|
||||
$("#ad_nombre_heure_div").removeClass("disabled");
|
||||
} else {
|
||||
//$("#ligneNbHeure").hide().prop('required',false) ;;
|
||||
$("#ad_nombre_heure").prop("disabled", true);
|
||||
$("#ad_nombre_heure_div").addClass("disabled");
|
||||
}
|
||||
//Methode permettant d'afficher le bloc durée de contrat si le contrat est un CDI
|
||||
function afficherDureeContrat(){
|
||||
if( $( "#ad_soft_contract_type" ).val()=="CDD" ){
|
||||
//$("#ligneDureeContrat").show();
|
||||
$("#ad_soft_duree_contrat").prop("disabled", false);
|
||||
}else{
|
||||
//$("#ligneDureeContrat").hide();
|
||||
$("#ad_soft_duree_contrat").prop("disabled", true);
|
||||
}
|
||||
}
|
||||
|
||||
//Methode permettant d'afficher le bloc durée de contrat si le contrat est un CDI
|
||||
function afficherDureeContrat() {
|
||||
console.log("type de contrat =" + $("#ad_contract_type").val());
|
||||
if ($("#ad_contract_type").val() == "CDD") {
|
||||
//$("#ligneDureeContrat").show();
|
||||
$("#ad_duree_contrat").prop("disabled", false);
|
||||
$("#ad_duree_contrat_div").removeClass("disabled");
|
||||
} else {
|
||||
//$("#ligneDureeContrat").hide().prop('required',false) ;
|
||||
$("#ad_duree_contrat").prop("disabled", true);
|
||||
$("#ad_duree_contrat_div").addClass("disabled");
|
||||
}
|
||||
}
|
||||
|
||||
$( "#ad_soft_temps_type" ).change(function() {
|
||||
afficherTempsType();
|
||||
});
|
||||
$("#ad_soft_temps_type").change(function () {
|
||||
afficherTempsType();
|
||||
});
|
||||
|
||||
$( "#ad_soft_contract_type" ).change(function() {
|
||||
afficherDureeContrat();
|
||||
});
|
||||
$("#ad_soft_contract_type").change(function () {
|
||||
afficherDureeContrat();
|
||||
});
|
||||
|
||||
//methode qui permet de générer le json des competences.
|
||||
// c'est le champ ad_competences qui sert à l'enregistrement en base
|
||||
@@ -417,13 +391,13 @@ Afin de créer votre annonce, renseignez l’ensemble des champs relatifs au pos
|
||||
//on remplace la virgule par un esapce car sinon bug (les compétences sont séparés par une virgule)
|
||||
var chaine = this.value.replace(",", " ");
|
||||
//On limite a 10 compétences, au dela, on les enregistre pas dans le champ ad_competences
|
||||
if(nbCompetencesSelect<11){
|
||||
if (nbCompetencesSelect < 11) {
|
||||
competences += chaine + ",";
|
||||
nbCompetencesSelect++;
|
||||
}
|
||||
|
||||
$("#nbCompetencesText").html(nbCompetencesSelect+" compétences sélectionnées");
|
||||
$("#ajouterCompetenceButtonMdal").html("Ajouter (+"+nbCompetencesSelect+")");
|
||||
|
||||
$("#nbCompetencesText").html(nbCompetencesSelect + " compétences sélectionnées");
|
||||
$("#ajouterCompetenceButtonMdal").html("Ajouter (+" + nbCompetencesSelect + ")");
|
||||
$("#nbCompetences").val(nbCompetencesSelect);
|
||||
//return competence;
|
||||
}
|
||||
@@ -432,42 +406,42 @@ Afin de créer votre annonce, renseignez l’ensemble des champs relatifs au pos
|
||||
// on renseigne le champ ad_competences
|
||||
$("#ad_soft_competences").val(competences);
|
||||
//Gestion des erreurs si aucune compétence
|
||||
if(nbCompetencesSelect==0){
|
||||
if (nbCompetencesSelect == 0) {
|
||||
$("#nbCompetencesText").html("");
|
||||
$("#competencesAdMessage").html(
|
||||
"Vous devez sélectionner au minimum une compétence. "
|
||||
"Vous devez sélectionner au minimum une compétence. "
|
||||
);
|
||||
$("#competencesAdMessagePopup").html(
|
||||
"Vous devez sélectionner au minimum une compétence. "
|
||||
"Vous devez sélectionner au minimum une compétence. "
|
||||
);
|
||||
$("#ajouterCompetenceButtonMdal").html("Ajouter (+0)");
|
||||
$("#ajouterCompetenceButtonMdal").hide();
|
||||
$("#saveAdButton").prop("disabled", true);
|
||||
}else if(nbCompetencesSelect>9){
|
||||
} else if (nbCompetencesSelect > 9) {
|
||||
$("#saveAdButton").prop("disabled", false);
|
||||
//Gestion des erreurs si plusde 10 compétences
|
||||
$("#competencesAdMessage").html(
|
||||
"Vous avez atteint le nombre maximum de compétences. "
|
||||
"Vous avez atteint le nombre maximum de compétences. "
|
||||
);
|
||||
$("#competencesAdMessagePopup").html(
|
||||
"Vous avez atteint le nombre maximum de compétences. "
|
||||
"Vous avez atteint le nombre maximum de compétences. "
|
||||
);
|
||||
if(nbCompetencesSelect>10){
|
||||
if (nbCompetencesSelect > 10) {
|
||||
$("#ajouterCompetenceButtonMdal").hide();
|
||||
}
|
||||
}else{
|
||||
} else {
|
||||
//cas standards, on reinitialise les champs a vide
|
||||
$("#saveAdButton").prop("disabled", false);
|
||||
$("#competencesAdMessage").html( " ");
|
||||
$("#competencesAdMessage").html(" ");
|
||||
$("#competencesAdMessagePopup").html(" ");
|
||||
$("#ajouterCompetenceButtonMdal").show();
|
||||
}
|
||||
if($("#saisie").val() =="" || !$("#saisie").val() ){
|
||||
if ($("#saisie").val() == "" || !$("#saisie").val()) {
|
||||
$("#competencesAdMessage").html(
|
||||
"Veuillez choisir un métier de rattachement pour votre annonce. "
|
||||
"Veuillez choisir un métier de rattachement pour votre annonce. "
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
$(document).ready(function () {
|
||||
@@ -487,9 +461,9 @@ Afin de créer votre annonce, renseignez l’ensemble des champs relatifs au pos
|
||||
//cocher les cases par rapport aux compétences d'origine
|
||||
|
||||
});
|
||||
</script>
|
||||
</script>
|
||||
|
||||
<script>
|
||||
<script>
|
||||
$(document)
|
||||
.ready(function () {
|
||||
// Construction du champ typeahead d'auto compléetion de métier
|
||||
@@ -540,7 +514,8 @@ Afin de créer votre annonce, renseignez l’ensemble des champs relatifs au pos
|
||||
var chaine = data.metier_libelle.replace("'", " ");
|
||||
return '<div onclick="chargerDonneesTemp(' + data.metier_id + ',\'' +
|
||||
chaine +
|
||||
'\')" data-toggle="modal" data-target="#competencesModal" id="competences"><a href="#" >' + data.metier_libelle +
|
||||
'\')" data-toggle="modal" data-target="#competencesModal" id="competences"><a href="#" >' +
|
||||
data.metier_libelle +
|
||||
'</a></div>'
|
||||
},
|
||||
footer: function (query) {
|
||||
@@ -609,18 +584,23 @@ Afin de créer votre annonce, renseignez l’ensemble des champs relatifs au pos
|
||||
//console.log(object.competenceCle);
|
||||
var hidden = "";
|
||||
var checked = "";
|
||||
if (object.competenceCle == true && type!="init") {
|
||||
checked = "checked";
|
||||
if (object.competenceCle == true && type != "init") {
|
||||
checked = "checked";
|
||||
}
|
||||
var chaine = object.libelle.replace("'", " ");
|
||||
var chaine = chaine.replace(",", " ");
|
||||
$("#competencesAd").append("<div id='competence_ad_"+object.code+"' name='competences_ad[]'><input type='checkbox' "+checked+" onChange='genererCompetences(this);' id='competence_" + object
|
||||
.code + "' value='" +chaine+"_"+ object.code + "'> " + object.libelle + "<br/></div>");
|
||||
$("#competencesAd").append("<div id='competence_ad_" + object.code +
|
||||
"' name='competences_ad[]'><input type='checkbox' " + checked +
|
||||
" onChange='genererCompetences(this);' id='competence_" + object
|
||||
.code + "' value='" + chaine + "_" + object.code + "'> " + object.libelle +
|
||||
"<br/></div>");
|
||||
|
||||
$("#competencesAdPopup").append("<div id='competence_ad_popup_"+object.code+"'><input type='checkbox' "+checked+" onChange='genererCompetences(this);' id='competencepopup_" + object
|
||||
.code + "' value='" + object.code + "'> " + object.libelle + "<br/></div>");
|
||||
$("#competencesAdPopup").append("<div id='competence_ad_popup_" + object.code +
|
||||
"'><input type='checkbox' " + checked +
|
||||
" onChange='genererCompetences(this);' id='competencepopup_" + object
|
||||
.code + "' value='" + object.code + "'> " + object.libelle + "<br/></div>");
|
||||
if (object.competenceCle == false) {
|
||||
$("#competence_ad_"+object.code).hide();
|
||||
$("#competence_ad_" + object.code).hide();
|
||||
}
|
||||
});
|
||||
|
||||
@@ -635,34 +615,42 @@ Afin de créer votre annonce, renseignez l’ensemble des champs relatifs au pos
|
||||
var checked = "";
|
||||
//On on ne coche pas ces competences clé (uniquement les compétences de base) sur le formulaire de base
|
||||
//if (competence.competenceCle == true && type != "init") {
|
||||
//checked = "checked";
|
||||
//checked = "checked";
|
||||
//}
|
||||
var chaine = competence.libelle.replace("'", " ");
|
||||
var chaine = chaine.replace(",", " ");
|
||||
$("#competencesAd").append("<div id='competence_ad_"+competence.code+"' name='competences_ad[]'><input type='checkbox' "+checked+" onChange='genererCompetences(this);' id='competence_" + competence
|
||||
.code + "' value='" +chaine+"_"+ competence.code + "'> " + competence.libelle + "<br/></div>");
|
||||
$("#competencesAd").append("<div id='competence_ad_" + competence.code +
|
||||
"' name='competences_ad[]'><input type='checkbox' " + checked +
|
||||
" onChange='genererCompetences(this);' id='competence_" +
|
||||
competence
|
||||
.code + "' value='" + chaine + "_" + competence.code + "'> " +
|
||||
competence.libelle + "<br/></div>");
|
||||
|
||||
$("#competencesAdPopup").append("<div id='competence_ad_popup_"+competence.code+"'><input type='checkbox' "+checked+" onChange='genererCompetences(this);' id='competencepopup_" + competence
|
||||
.code + "' value='" + competence.code + "'> " + competence.libelle + "<br/></div>");
|
||||
$("#competencesAdPopup").append("<div id='competence_ad_popup_" + competence
|
||||
.code + "'><input type='checkbox' " + checked +
|
||||
" onChange='genererCompetences(this);' id='competencepopup_" +
|
||||
competence
|
||||
.code + "' value='" + competence.code + "'> " + competence.libelle +
|
||||
"<br/></div>");
|
||||
//On n'affiche pas ces competences (meme les competences clé) sur le formulaire de base
|
||||
//if (competence.competenceCle == false) {
|
||||
$("#competence_ad_"+competence.code).hide();
|
||||
$("#competence_ad_" + competence.code).hide();
|
||||
//}
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
$("#competencesButtonAd").show();
|
||||
if(type=="init"){
|
||||
if (type == "init") {
|
||||
const obj = JSON.parse($("#ad_soft_competences").val());
|
||||
for (var key in obj) {
|
||||
for (var key2 in obj[key]) {
|
||||
//console.log(obj[key][key2]);
|
||||
console.log(key2);
|
||||
|
||||
$("#competencepopup_"+key2).prop("checked", true);
|
||||
$("#competence_"+key2).prop("checked", true);
|
||||
$("#competence_ad_"+key2).show();
|
||||
|
||||
$("#competencepopup_" + key2).prop("checked", true);
|
||||
$("#competence_" + key2).prop("checked", true);
|
||||
$("#competence_ad_" + key2).show();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -682,7 +670,7 @@ Afin de créer votre annonce, renseignez l’ensemble des champs relatifs au pos
|
||||
"Une erreur est survenue dans la recherche du métier de rattachement. <a href='#' onclick='chargerCompetences();'><br/><i class='fa fa-refresh fa-spin fa-fw'></i>Cliquez ici pour relancer la recherche</a> "
|
||||
);
|
||||
}
|
||||
$('#loadingDiv').hide();
|
||||
$('#loadingDiv').hide();
|
||||
console.log("La requête s'est terminée en échec. Infos : " + JSON.stringify(error));
|
||||
})
|
||||
|
||||
@@ -699,7 +687,7 @@ Afin de créer votre annonce, renseignez l’ensemble des champs relatifs au pos
|
||||
console.log("Clicked, target = " + cb.id);
|
||||
var id = cb.id.split('_');
|
||||
id = id[1];
|
||||
if($("#nbCompetences").val()<10){
|
||||
if ($("#nbCompetences").val() < 10) {
|
||||
$("#competence_" + id).prop("checked", cb.checked);
|
||||
$("#competencepopup_" + id).prop("checked", cb.checked);
|
||||
if (cb.checked) {
|
||||
@@ -709,13 +697,13 @@ Afin de créer votre annonce, renseignez l’ensemble des champs relatifs au pos
|
||||
console.log("hidden de div #competence_ad_" + id);
|
||||
$("#competence_ad_" + id).hide();
|
||||
}
|
||||
}else{
|
||||
} else {
|
||||
$("#competence_" + id).prop("checked", false);
|
||||
$("#competence_ad_" + id).hide();
|
||||
$("#competencepopup_" + id).prop("checked", false);
|
||||
}
|
||||
// on génere le json a chaque fois
|
||||
genererJson();
|
||||
// on génere le json a chaque fois
|
||||
genererJson();
|
||||
}
|
||||
</script>
|
||||
{% endblock %}
|
||||
@@ -1,5 +1,29 @@
|
||||
{# {% extends 'company/base_dashboard_company.html.twig' %} #}
|
||||
{% extends 'admin/base_dashboard.html.twig' %}
|
||||
{% extends 'admin/base_dashboard_candidatures.html.twig' %}
|
||||
{% block javascriptSupl %}
|
||||
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/1.10.22/css/jquery.dataTables.min.css">
|
||||
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/buttons/1.6.4/css/buttons.dataTables.min.css">
|
||||
{# <script type="text/javascript" language="javascript" src="https://code.jquery.com/jquery-3.5.1.js"></script>
|
||||
<script type="text/javascript" language="javascript" src="https://cdn.datatables.net/1.10.22/js/jquery.dataTables.min.js"></script>
|
||||
|
||||
<script type="text/javascript" language="javascript" src="https://cdn.datatables.net/buttons/1.6.4/js/dataTables.buttons.min.js"></script>
|
||||
<script type="text/javascript" language="javascript" src="https://cdn.datatables.net/buttons/1.6.4/js/buttons.flash.min.js"></script> #}
|
||||
|
||||
<script type="text/javascript" src="https://code.jquery.com/jquery-3.5.1.js"></script>
|
||||
<script type="text/javascript" src="https://cdn.datatables.net/1.10.22/js/jquery.dataTables.min.js"></script>
|
||||
<script type="text/javascript" src="https://cdn.datatables.net/buttons/1.6.4/js/dataTables.buttons.min.js"></script>
|
||||
<script type="text/javascript" language="javascript"
|
||||
src="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.1.3/jszip.min.js"></script>
|
||||
<script type="text/javascript" language="javascript"
|
||||
src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.53/pdfmake.min.js"></script>
|
||||
<script type="text/javascript" language="javascript"
|
||||
src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.53/vfs_fonts.js"></script>
|
||||
<script type="text/javascript" language="javascript"
|
||||
src="https://cdn.datatables.net/buttons/1.6.4/js/buttons.html5.min.js"></script>
|
||||
|
||||
<script type="text/javascript" language="javascript"
|
||||
src="https://cdn.datatables.net/buttons/1.6.4/js/buttons.print.min.js"></script>
|
||||
{% endblock %}
|
||||
{% block dashContent %}
|
||||
|
||||
|
||||
@@ -22,7 +46,7 @@
|
||||
|
||||
|
||||
<!-- START CONTAINER FLUID -->
|
||||
<div class=" container-fluid container-fixed-lg bg-white">
|
||||
{# <div class=" container-fluid container-fixed-lg bg-white">
|
||||
<!-- START card -->
|
||||
<div class="card card-transparent">
|
||||
<div class="card-header ">
|
||||
@@ -59,15 +83,7 @@
|
||||
href="{{ path('company_answer_show',{'id':answer.id }) }}">
|
||||
<i class="pg-icon">eye</i>
|
||||
</a>
|
||||
<a href="#" class="note-action c-pointer" data-func="add" data-answer="{{ answer.id }}">
|
||||
<i class="pg-icon">note</i>
|
||||
</a>
|
||||
{% for note in answer.notes %}
|
||||
<a class="tooltipped note-action c-pointer" data-position="top" data-delay="50"
|
||||
data-tooltip="{{ note.content }}" data-note="{{ note.id }}" data-func="edit">
|
||||
<i class="pg-icon">comment</i>
|
||||
</a>
|
||||
{% endfor %}
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
@@ -80,62 +96,161 @@
|
||||
</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="EMBAUCHE">Embauché</option>
|
||||
<option value="REFUSE">Refusé</option>
|
||||
<option value="ENTRETIEN">Entretien programmé</option>
|
||||
<option value="A_TRAITER">À traiter</option>
|
||||
<option value="CONTACTE">Contacté</option>
|
||||
|
||||
</select>
|
||||
</th>
|
||||
|
||||
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<br />
|
||||
<table id="candidatures_dt_table" width="100%" class="table table-hover ">
|
||||
{# Add a tfoot which will actually be used to place the individual search boxes #}
|
||||
|
||||
<thead>
|
||||
<tr>
|
||||
<th width="4%">Vidéo</th>
|
||||
<th width="6%">Nom</th>
|
||||
<th width="6%">Prénom</th>
|
||||
<th width="11%">Date de reception</th>
|
||||
<th width="11%">Intitulé de l'offre</th>
|
||||
<th width="25%">Localisation</th>
|
||||
<th width="15%">Statut</th>
|
||||
</tr>
|
||||
|
||||
</thead>
|
||||
<tbody></tbody>
|
||||
</table>
|
||||
|
||||
{#
|
||||
<table class="table table-hover " id="">
|
||||
<thead>
|
||||
<tr>
|
||||
<!-- NOTE * : Inline Style Width For Table Cell is Required as it may differ from user to user
|
||||
Comman Practice Followed
|
||||
-->
|
||||
<th style="width:33%">{{ 'profile.talent.lastname'|trans }}
|
||||
<th style="width:15%">{{ 'profile.talent.video'|trans }}
|
||||
</th>
|
||||
<th style="width:15%">{{ 'profile.talent.lastname'|trans }}
|
||||
{{ 'profile.talent.firstname'|trans }}</th>
|
||||
<th style="width:33%">{{ 'global.datereception.label'|trans }}</th>
|
||||
<th style="width:33%" class="center-align">{{ 'ad.company.list.actions'|trans }}</th>
|
||||
<th style="width:15%">{{ 'global.datereception.label'|trans }}</th>
|
||||
<th style="width:15%">{{ 'ad.company.list.title'|trans }}</th>
|
||||
<th style="width:15%">{{ 'ad.company.list.location'|trans }}</th>
|
||||
<th style="width:15%" class="center-align">{{ 'ad.company.list.statut'|trans }}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for answer in spontaneous %}
|
||||
<tr>
|
||||
<td>
|
||||
<a href="{{ path('company_answer_show',{'id':answer.id }) }}">
|
||||
{% if answer.video.thumbnails.0 is defined %}
|
||||
{% set img = answer.video.thumbnails.0.sizes.1.link %}
|
||||
{% else %}
|
||||
{% set img = " " %}
|
||||
{% endif %}
|
||||
<img src="{{ img }}">
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="{{ path('company_answer_show',{'id':answer.id }) }}">{{ answer.user.lastname }}
|
||||
{{ answer.user.firstname }}</a>
|
||||
</td>
|
||||
<td>{{ answer.sendTime()|date('d/m/Y') }}</td>
|
||||
<td class="center-align">
|
||||
<a title="" href="{{ path('company_answer_show',{'id':answer.id }) }}">
|
||||
<i class="pg-icon">eye</i>
|
||||
</a>
|
||||
<a href="#" class="note-action c-pointer" data-func="add" data-answer="{{ answer.id }}">
|
||||
<i class="pg-icon">note</i>
|
||||
</a>
|
||||
{% for note in answer.notes %}
|
||||
<a class="tooltipped note-action c-pointer" data-position="top" data-delay="50"
|
||||
data-tooltip="{{ note.content }}" data-note="{{ note.id }}" data-func="edit">
|
||||
<i class="pg-icon">comment</i>
|
||||
</a>
|
||||
<td>
|
||||
|
||||
{% if answer.ad %}
|
||||
{{ answer.ad.title }}
|
||||
{% else %}
|
||||
Candidature spontanée
|
||||
{% endif %}
|
||||
</td>
|
||||
<td>
|
||||
{% if answer.user.getGeoloc %}
|
||||
{% for adress in answer.user.getGeoloc %}
|
||||
|
||||
{{ adress["locality"] }}, {{ adress["postal_code"] }}
|
||||
{% endfor %}
|
||||
|
||||
{% else %}
|
||||
Non renseignée
|
||||
{% endif %}
|
||||
</td>
|
||||
<td class="center-align">
|
||||
{% if answer.statusReponse =="EMBAUCHE" %}
|
||||
<span class="label label-success">Embauché</span>
|
||||
{% elseif answer.statusReponse =="REFUSE"%}
|
||||
<span class="label label-important">Refusé</span>
|
||||
{% elseif answer.statusReponse =="ENTRETIEN"%}
|
||||
<span class="label label-warning">Entretien programmé</span>
|
||||
{% elseif answer.statusReponse =="A_TRAITER"%}
|
||||
<span class="label label-info">À traiter</span>
|
||||
{% elseif answer.statusReponse =="CONTACTE"%}
|
||||
<span class="label">Contacté</span>
|
||||
{% else %}
|
||||
<span class="label label-info">À traiter</span>
|
||||
{% endif %}
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
{% if spontaneous|length == 0 %}
|
||||
<tr><th colspan="3" class="text-center">Aucune candidature pour le moment</th></tr>
|
||||
<tr>
|
||||
<th colspan="5" class="text-center">Aucune candidature pour le moment</th>
|
||||
</tr>
|
||||
{% endif %}
|
||||
</tbody>
|
||||
</table>
|
||||
</table> #}
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -145,4 +260,132 @@
|
||||
|
||||
|
||||
<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,
|
||||
|
||||
},
|
||||
{
|
||||
"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": true
|
||||
},
|
||||
{
|
||||
"name": "localisation",
|
||||
"targets": 5,
|
||||
"searchable": true,
|
||||
"orderable": true
|
||||
},
|
||||
{
|
||||
"name": "statusReponse",
|
||||
"targets": 6,
|
||||
"searchable": true,
|
||||
"orderable": true
|
||||
},
|
||||
],
|
||||
"processing": true,
|
||||
"serverSide": true,
|
||||
|
||||
"ajax": {
|
||||
"url": '{{ path('alimenterCandidaturesCompany') }}',
|
||||
"type": 'POST',
|
||||
},
|
||||
"paging": true,
|
||||
"info": true,
|
||||
"searching": true,
|
||||
"bFilter": true,
|
||||
"responsive": true,
|
||||
"pageLength": 10,
|
||||
"order": [
|
||||
[0, 'desc']
|
||||
],
|
||||
"language": {
|
||||
"sProcessing": "En cours de chargement...",
|
||||
"sSearch": "Rechercher :",
|
||||
"sLengthMenu": "Afficher _MENU_ candidatures",
|
||||
"sInfo": "Candidature de _START_ à _END_ sur _TOTAL_ candidatures",
|
||||
"sInfoEmpty": "Candidature 0 à 0 sur 0 candidature",
|
||||
"sInfoFiltered": "",
|
||||
"sInfoPostFix": "",
|
||||
"sLoadingRecords": "Chargement en cours...",
|
||||
"sZeroRecords": "Aucune candidature ne correspond à votre recherche",
|
||||
"sEmptyTable": "Aucune candidature disponible dans le tableau",
|
||||
"oPaginate": {
|
||||
"sFirst": "Premier",
|
||||
"sPrevious": "Précédent",
|
||||
"sNext": "Suivant",
|
||||
"sLast": "Dernier"
|
||||
},
|
||||
"oAria": {
|
||||
"sSortAscending": ": activer pour trier la colonne par ordre croissant",
|
||||
"sSortDescending": ": activer pour trier la colonne par ordre décroissant"
|
||||
}
|
||||
},
|
||||
|
||||
});
|
||||
|
||||
|
||||
|
||||
// Apply the search
|
||||
pos = 1;
|
||||
table.columns().every(function () {
|
||||
var that = this;
|
||||
|
||||
$("#input" + pos).on('keyup change', function () {
|
||||
console.log(this);
|
||||
if (that.search() !== this.value) {
|
||||
that
|
||||
.search(this.value)
|
||||
.draw();
|
||||
}
|
||||
});
|
||||
pos++;
|
||||
});
|
||||
|
||||
$('#candidatures_dt_table_filter').hide();
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
});
|
||||
|
||||
|
||||
|
||||
</script>
|
||||
{% endblock %}
|
||||
@@ -19,9 +19,13 @@
|
||||
<ol class="breadcrumb">
|
||||
<li class="breadcrumb-item"><a href="/entreprise/me/">Accueil</a></li>
|
||||
<li class="breadcrumb-item "><a href="{{ path('company_answer_list') }}">Candidatures</a></li>
|
||||
<li class="breadcrumb-item"><a
|
||||
href="{{ path('company_ad_answer_list',{'id':answer.ad.id}) }}">{{ answer.ad.title }}
|
||||
<li class="breadcrumb-item">
|
||||
{% if answer.ad%}
|
||||
<a href="{{ path('company_ad_answer_list',{'id':answer.ad.id}) }}">{{ answer.ad.title }}
|
||||
</a>
|
||||
{% else %}
|
||||
<a href="{{ path('company_answer_list') }}">Candidature spontanée</a>
|
||||
{% endif %}
|
||||
</li>
|
||||
<li class="breadcrumb-item active"><a href="#"> candidat {{ answer.user.firstname }}
|
||||
{{ answer.user.lastname }}</a>
|
||||
@@ -34,50 +38,116 @@
|
||||
</div>
|
||||
</div>
|
||||
<!-- END JUMBOTRON -->
|
||||
|
||||
<div class="col-lg-12">
|
||||
<div class="card card-borderless">
|
||||
<ul class="nav nav-tabs nav-tabs-simple" role="tablist" data-init-reponsive-tabs="dropdownfx">
|
||||
<li class="nav-item">
|
||||
<a class="active" data-toggle="tab" role="tab" data-target="#candidature" href="#"
|
||||
id="candidatureLien">Candidature</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a href="#" data-toggle="tab" role="tab" data-target="#messagerieVideo"
|
||||
id="messagerieVideoLien">Messagerie vidéo</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a href="#" data-toggle="tab" role="tab" data-target="#messagerie"
|
||||
id="messagerieLien">Messagerie
|
||||
texte</a>
|
||||
</li>
|
||||
|
||||
{# <li class="nav-item">
|
||||
<a href="#" data-toggle="tab" role="tab" data-target="#comment" id="commentLien">Commentaire</a>
|
||||
</li> #}
|
||||
</ul>
|
||||
</div>
|
||||
<div class="tab-content">
|
||||
<!-- ========== bloc candidature ========== -->
|
||||
|
||||
{% include 'company/answer_show_candidature.html.twig' %}
|
||||
|
||||
<!-- ========== bloc message video ========== -->
|
||||
|
||||
{% include 'company/answer_show_message_video.html.twig' %}
|
||||
|
||||
<!-- ========== bloc message texte ========== -->
|
||||
|
||||
{% include 'company/answer_show_message_texte.html.twig' %}
|
||||
|
||||
<!-- ========== bloc commentaire ========== -->
|
||||
|
||||
{# {% include 'company/answer_show_comment.html.twig' %} #}
|
||||
|
||||
|
||||
|
||||
<div class="row">
|
||||
<div class="col-xl-12">
|
||||
<div class="card-body">
|
||||
<div class="col-xl-10 col-sm-12">
|
||||
{% if answer.ad%}
|
||||
<h5> <a href="{{ path('company_ad_answer_list',{'id':answer.ad.id}) }}">{{ answer.ad.title }}</a></h5>
|
||||
{% else %}
|
||||
|
||||
<h5><a href="{{ path('company_answer_list') }}">Candidature spontanée</a></h5>
|
||||
{% endif %}
|
||||
<h6>Candidature reçue le {{ answer.cTime|date('d/m/Y') }}</h6>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xl-12 ">
|
||||
<div class="card card-borderless col-xl-12 col-sm-12">
|
||||
<div class="row profil-candidature">
|
||||
<div class="col-xl-8 col-md-12 p-t-10">
|
||||
<h4 class="bold">{{ answer.user.firstname }} {{ answer.user.lastname }}</h4>
|
||||
<p>
|
||||
{% if answer.user.getGeoloc %}
|
||||
{% for adress in answer.user.getGeoloc %}
|
||||
<i class="material-icons fs-16 tab-icon icons-candidatures">home</i>
|
||||
{{ adress["locality"] }}, {{ adress["postal_code"] }}
|
||||
{% endfor %}
|
||||
|
||||
{% endif %}
|
||||
</p>
|
||||
{% if answer.user.company.extra["phoneTalent"] is defined %}
|
||||
<i class="material-icons fs-16 tab-icon icons-candidatures">phone</i><span id="telBouton"
|
||||
class="visible"><a href="#" onClick="afficherNumero()">Afficher le numéro de
|
||||
téléphone</a></span>{% if answer.user.company.extra["phoneTalent"] is defined %} <span
|
||||
id="telSpan" class="invisible">Tel : {{ answer.user.company.extra["phoneTalent"] }}<span>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="col-xl-4 col-md-12 profil-candidature-action">
|
||||
<div class="dropdown candidature-action">
|
||||
<button class="btn btn-primary btn-lg dropdown-toggle" type="button" id="dropdownMenu2"
|
||||
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
||||
<span id="libelleBouton">
|
||||
{% if answer.statusReponse =='CONTACTE' %}
|
||||
Contacté
|
||||
{% elseif answer.statusReponse =='REFUSE' %}
|
||||
Refusé
|
||||
{% elseif answer.statusReponse =='EMBAUCHE' %}
|
||||
Embauché
|
||||
{% elseif answer.statusReponse =='ENTRETIEN' %}
|
||||
Entretien programmé
|
||||
{% elseif answer.statusReponse =='A_TRAITER' %}
|
||||
À traiter
|
||||
{% else %}
|
||||
À traiter
|
||||
{% endif %}
|
||||
|
||||
</span>
|
||||
</button>
|
||||
<div class="dropdown-menu" aria-labelledby="dropdownMenu2">
|
||||
<button class="dropdown-item" type="button" onClick="changerStatutAnswer('A_TRAITER', 'A traiter')">A traiter</button>
|
||||
<button class="dropdown-item" type="button"
|
||||
onClick="changerStatutAnswer('CONTACTE', 'Contacté')">Contacté</button>
|
||||
<button class="dropdown-item" type="button"
|
||||
onClick="changerStatutAnswer('REFUSE', 'Refusé')">Refusé</button>
|
||||
<button class="dropdown-item" type="button" onClick="changerStatutAnswer('ENTRETIEN', 'Entretien programmé')">Entretien programmé</button>
|
||||
<button class="dropdown-item" type="button"
|
||||
onClick="changerStatutAnswer('EMBAUCHE', 'Embauché')">Embauché</button>
|
||||
</div>
|
||||
</div>
|
||||
<a href="#" data-toggle="tab" role="tab"
|
||||
data-target="#messagerieVideo" onClick="switcherMenu()">
|
||||
<button aria-label="" type="button" class="btn btn-lg btn-seconday btn-cons">Contacter le candidat</button></a>
|
||||
</div>
|
||||
</div>
|
||||
<ul class="nav nav-tabs nav-tabs-simple d-none d-md-flex d-lg-flex d-xl-flex" role="tablist"
|
||||
data-init-reponsive-tabs="dropdownfx">
|
||||
<li class="nav-item">
|
||||
<a class="active" data-toggle="tab" role="tab" data-target="#candidature"
|
||||
href="#" id="candidatureLien">Candidature</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a href="#" data-toggle="tab" role="tab"
|
||||
data-target="#messagerieVideo" id="messagerieVideoLien">Messagerie</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
<div class="col-xl-12 bg-white details-candidature">
|
||||
<div class="tab-content">
|
||||
<!-- ========== bloc candidature ========== -->
|
||||
|
||||
{% include 'company/answer_show_candidature.html.twig' %}
|
||||
|
||||
<!-- ========== bloc message video ========== -->
|
||||
|
||||
{% include 'company/answer_show_message_video.html.twig' %}
|
||||
|
||||
<!-- ========== bloc message texte ========== -->
|
||||
|
||||
{# {% include 'company/answer_show_message_texte.html.twig' %} #}
|
||||
|
||||
<!-- ========== bloc commentaire ========== -->
|
||||
|
||||
{# {% include 'company/answer_show_comment.html.twig' %} #}
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
@@ -89,6 +159,11 @@
|
||||
{% block javascripts %}
|
||||
{{ parent() }}
|
||||
<script type="text/javascript">
|
||||
function switcherMenu(){
|
||||
$("#messagerieVideoLien").addClass("active");
|
||||
$("#candidatureLien").removeClass("active");
|
||||
console.log("messagerie active");
|
||||
}
|
||||
var urlDropzone = '{{ path("upload_media_message", {"id": message.getId()}) }}';
|
||||
var urlDelete = '{{ path("delete_media_message", {"id": message.getId() }) }}'
|
||||
var idObject = null;
|
||||
@@ -105,6 +180,46 @@
|
||||
<script src="{{ asset('/js/demo.js') }}"></script>
|
||||
<script src="{{ asset('/js/scripts.js') }}"></script>
|
||||
<script type="text/javascript">
|
||||
function changerStatutAnswer(item, valeurBouton) {
|
||||
console.log(item);
|
||||
console.log({{answer.id}});
|
||||
$("#libelleBouton").text(valeurBouton);
|
||||
$.ajax({
|
||||
//L'URL de la requête
|
||||
url: "/app_dev.php/anwser/updateStatus/{{answer.id}}",
|
||||
//url: '{{ path("anwser_share", {"id":'+id+'}) }}',
|
||||
//La méthode d'envoi (type de requête)
|
||||
method: "GET",
|
||||
data: 'status=' + item,
|
||||
//Le format de réponse attendu
|
||||
dataType: "json",
|
||||
})
|
||||
//Ce code sera exécuté en cas de succès - La réponse du serveur est passée à done()
|
||||
/*On peut par exemple convertir cette réponse en chaine JSON et insérer
|
||||
* cette chaine dans un div id="res"*/
|
||||
.done(function (response) {
|
||||
console.log("La requête s'est terminée avec succes. Infos : " + JSON.stringify(response));
|
||||
})
|
||||
|
||||
//Ce code sera exécuté en cas d'échec - L'erreur est passée à fail()
|
||||
//On peut afficher les informations relatives à la requête et à l'erreur
|
||||
.fail(function (error) {
|
||||
console.log("La requête s'est terminée en échec. Infos : " + JSON.stringify(error));
|
||||
})
|
||||
|
||||
//Ce code sera exécuté que la requête soit un succès ou un échec
|
||||
.always(function () {
|
||||
console.log("Requête effectuée");
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
|
||||
function afficherNumero() {
|
||||
$("#telBouton").hide();
|
||||
$("#telSpan").removeClass("invisible").addClass("visible");
|
||||
|
||||
}
|
||||
$(".card-action").click(function () {
|
||||
var idVideo = $(this).data("id");
|
||||
var titleVideo = $(this).data("title");
|
||||
|
||||
+105
-8
@@ -1,4 +1,97 @@
|
||||
<!-- ========== bloc candidature ========== -->
|
||||
<div class="tab-pane active" id="candidature">
|
||||
<div class="row ">
|
||||
<div class="col-xl-7 col-lg-6">
|
||||
|
||||
<!-- START card -->
|
||||
|
||||
<div class="full-height">
|
||||
<div class="card-body">
|
||||
<h5><i class="material-icons fs-18 tab-icon icons-candidatures">videocam</i>Candidature vidéo</h5>
|
||||
<iframe src="https://player.vimeo.com/video/{{ answer.video.cdnUrl|replace({ "/videos/": ""}) }}"
|
||||
width="100%" height="300px" frameborder="0" webkitallowfullscreen mozallowfullscreen
|
||||
allowfullscreen></iframe>
|
||||
|
||||
</div>
|
||||
<div class="card-body row">
|
||||
{% if answer.user.company.cv %}
|
||||
<div class="col-8">
|
||||
<h5><i class="material-icons fs-18 tab-icon icons-candidatures">text_snippet</i>Curriculum vitae
|
||||
</h5>
|
||||
</div>
|
||||
|
||||
<div class="col-4">
|
||||
<a href="/uploads/cv/{{ answer.user.company.cv }}" target="_blank">
|
||||
<button aria-label="" type="button" class="btn btn-lg btn-seconday btn-cons m-b-10">Télécharger
|
||||
le CV</button>
|
||||
</a>
|
||||
</div>
|
||||
{% if extension=="doc" or extension=="docx" %}
|
||||
<iframe width="100%" height="600"
|
||||
src="http://docs.google.com/gview?url=https://www.recruteur.talentstube.com/uploads/cv/{{ answer.user.company.cv }}"></iframe>
|
||||
|
||||
{% else %}
|
||||
<iframe width="100%" height="600"
|
||||
src="/uploads/cv/{{ answer.user.company.cv }}"></iframe>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
<!--<iframe width="100%" height="600" src="http://docs.google.com/gview?url=http://qualite-en-recherche.cnrs.fr/IMG/doc/pr-m1-09-ressources_humaines-30-1.doc&embedded=true"></iframe>-->
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<!-- END card -->
|
||||
</div>
|
||||
<div class="col-xl-5 col-lg-6">
|
||||
<!-- START card -->
|
||||
<div class="card-body">
|
||||
{{ form_start(formNote) }}
|
||||
<div class="form-group form-group-default required">
|
||||
<h5><i class="material-icons fs-18 tab-icon icons-candidatures">comment</i>Commentaires</h5>
|
||||
{# <textarea class="form-control" id="exampleFormControlTextarea1"
|
||||
placeholder="Ce commentaire sera visible uniquement par vous et les autres utilisateurs de l’espace recruteur."
|
||||
rows="5"></textarea> #}
|
||||
<label for="note_ajax_content" >Ajouter un commentaire</label>
|
||||
{{ form_widget(formNote.content) }}
|
||||
</div>
|
||||
<button class="btn btn btn-lg btn-outline-primary" type="submit">Valider le commentaire</button>
|
||||
{{ form_end(formNote) }}
|
||||
|
||||
|
||||
{% for note in answer.notes|reverse %}
|
||||
<div class="card card-body">
|
||||
<h6 class="card-title">{{ note.author.firstname }} {{ note.author.lastname }}</h6>
|
||||
<p class="card-text">{{ note.content }}</p>
|
||||
</div>
|
||||
|
||||
{% endfor %}
|
||||
|
||||
|
||||
</div>
|
||||
<!-- === Début : Bloc aide - À garder pour la prochaine v2
|
||||
<div class="card-body">
|
||||
<div class="form-group">
|
||||
<i class="material-icons fs-18 tab-icon icons-candidatures">help_center</i><label for="">
|
||||
<h5>Besoin d'aide</h5>
|
||||
</label>
|
||||
</div>
|
||||
<div class="lien-aide">
|
||||
<a href="">Comment répondre aux candidats en vidéo ?</a>
|
||||
</div>
|
||||
<div class="lien-aide">
|
||||
<a href="">Comment contacter un candidat ?</a>
|
||||
</div>
|
||||
</div>-->
|
||||
<!-- === Début : Bloc aide - À garder pour la prochaine v2-->
|
||||
|
||||
</div>
|
||||
<!-- END card -->
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- ========== bloc message texte + video ========== -->
|
||||
{#
|
||||
|
||||
<div class="tab-pane active" id="">
|
||||
<div class="row ">
|
||||
<div class="col-xl-7 col-lg-6 bg-white">
|
||||
<!-- START card -->
|
||||
@@ -16,8 +109,9 @@
|
||||
<div class="card card-transparent">
|
||||
<div class="card-header ">
|
||||
<div class="card-title">
|
||||
|
||||
{% if answer.ad%}
|
||||
<a href="{{ path('company_ad_answer_list',{'id':answer.ad.id}) }}">{{ answer.ad.title }}</a>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
@@ -40,11 +134,12 @@
|
||||
{{ answer.user.lastname }}
|
||||
</p>
|
||||
<p class="small hint-text m-t-5">
|
||||
{% if answer.user.company %}
|
||||
{% if answer.user.company %}
|
||||
{% if answer.user.company.cv %}
|
||||
<a href="/uploads/cv/{{ answer.user.company.cv }}" target="_blank"><button aria-label="" type="button" class="btn btn-outline-primary">Télécharger le cv</button></a>
|
||||
<a href="/uploads/cv/{{ answer.user.company.cv }}" target="_blank"><button aria-label=""
|
||||
type="button" class="btn btn-outline-primary">Télécharger le cv</button></a>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
@@ -87,7 +182,7 @@
|
||||
<!-- NOTE * : Inline Style Width For Table Cell is Required as it may differ from user to user
|
||||
Comman Practice Followed
|
||||
-->
|
||||
|
||||
|
||||
<th style="width:15%">Objet</th>
|
||||
<th style="width:15%">Envoyé le</th>
|
||||
<th style="width:70%">Message</th>
|
||||
@@ -124,14 +219,16 @@
|
||||
</tr>
|
||||
{% endfor %}
|
||||
{% if answer.messages|length == 0 %}
|
||||
<tr><th colspan="3" class="text-center">Aucun message pour le moment</th></tr>
|
||||
<tr>
|
||||
<th colspan="3" class="text-center">Aucun message pour le moment</th>
|
||||
</tr>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div> #}
|
||||
+1
-1
@@ -93,7 +93,7 @@
|
||||
</div> #}
|
||||
</div>
|
||||
<div class="form-group form-group-default required">
|
||||
{{ form_row(form.status) }}
|
||||
{# {{ form_row(form.status) }} #}
|
||||
</div>
|
||||
<div class="form-group required">
|
||||
{{ form_row(form.message) }}
|
||||
|
||||
+175
-48
@@ -1,62 +1,189 @@
|
||||
<div class="tab-pane fondBlanc" id="messagerieVideo">
|
||||
<div class="row fondBlanc">
|
||||
<div class="tab-pane" id="messagerieVideo">
|
||||
<div class="row">
|
||||
<div class="col-xl-7 col-lg-6">
|
||||
<div class="full-height">
|
||||
<div class="card-body">
|
||||
<h5><i
|
||||
class="material-icons fs-18 tab-icon icons-candidatures">message</i>Envoyer
|
||||
un message au candidat</h5>
|
||||
{{ form_start(formVideo) }}
|
||||
{{ form_widget(formVideo._token, { 'id': 'token_video' }) }}
|
||||
<div class="form-group form-group-default">
|
||||
<label class="active">De : </label>
|
||||
<input name="to" data-role="tagsinput" disabled
|
||||
class="form-control tagsinput" type="text"
|
||||
value="{{ app.user.firstname }} {{ app.user.lastname }}" />
|
||||
</div>
|
||||
|
||||
<!-- START ITEM -->
|
||||
<div class="col-lg-4 fondBlanc">
|
||||
<div class="card card-default bg-success">
|
||||
<div class="card-header separator">
|
||||
<div class="card-title">Réponse vidéo
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<h3>
|
||||
<span class="semi-bold">Et si vous répondiez à </span> {{ answer.user.firstname }} {{ answer.user.lastname }} <b>en vidéo</b></h3>
|
||||
<p>Découvrez <a href="https://blog.talentstube.com/articles-entreprise/comment-faire-une-video-avec-une-webcam/" target="_blank">nos conseils</a> pour réaliser une vidéo de réponse.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- END ITEM -->
|
||||
<div class="form-group form-group-default required" style="min-height:250px;">
|
||||
<label for="contact_talent_message" class="active">Message</label>
|
||||
{# <textarea id="contact_talent_message"
|
||||
name="contact_talent[message]" required="required"
|
||||
class="form-control"
|
||||
placeholder="Rédigez un message de réponse"></textarea> #}
|
||||
{{ form_widget(formVideo.message) }}
|
||||
</div>
|
||||
<!--<h6>Et si vous répondiez à [Nom du candidat] en vidéo ?</h6>-->
|
||||
<p class="m-l-10 bold">Vous pouvez joindre une vidéo de réponse</p>
|
||||
<p class="m-l-10">Pour une meilleure expérience candidat, motivez les
|
||||
raisons de votre choix en vidéo.</p>
|
||||
{% include 'message/message_create_import.twig' %}
|
||||
<div class="form-group m-t-20" ;>
|
||||
<button type="submit" aria-label=""
|
||||
class="btn btn-primary btn-lg disabled">Envoyer le
|
||||
message</button>
|
||||
</div>
|
||||
<div class="m-t-30">
|
||||
<div class="row fondBlanc">
|
||||
<h5><i
|
||||
class="material-icons fs-18 tab-icon icons-candidatures">inbox</i>Historique
|
||||
des messages envoyés</h5>
|
||||
</div>
|
||||
<div class="row fondBlanc">
|
||||
<div class="card-body">
|
||||
<div class="table-responsive">
|
||||
<table class="table table-hover" id="basicTable">
|
||||
<thead>
|
||||
<tr>
|
||||
<!-- NOTE * : Inline Style Width For Table Cell is Required as it may differ from user to user
|
||||
Comman Practice Followed
|
||||
-->
|
||||
<th style="width:20%">Envoyé le</th>
|
||||
<th style="width:30%">Expéditeur</th>
|
||||
<th style="width:50%">Message</th>
|
||||
</tr>
|
||||
{% if answer.messages %}
|
||||
{% for message in answer.messages if message.status != "DRAFT" %}
|
||||
{% set class = '' %}
|
||||
{% if loop.index > 1 %}
|
||||
{% set class = 'history-hidden' %}
|
||||
{% endif %}
|
||||
<tr>
|
||||
<td class="v-align-middle">
|
||||
|
||||
{{ message.uTime|date('d-m-Y h:m') }}
|
||||
|
||||
</td>
|
||||
<td class="v-align-middle ">
|
||||
{% if message.sender.company.type =="COMPANY" %}
|
||||
Recruteur
|
||||
{% elseif message.sender.company.type =="TALENT" %}
|
||||
Talent
|
||||
{% endif %}
|
||||
</td>
|
||||
<td class="v-align-middle">
|
||||
{% if message.video %}
|
||||
<div
|
||||
class="embed-responsive embed-responsive-16by9">
|
||||
<iframe
|
||||
src="https://player.vimeo.com/video/{{ message.video.cdnUrl|replace({ "/videos/": ""}) }}"
|
||||
width="100%" height="300"
|
||||
frameborder="0"
|
||||
webkitallowfullscreen
|
||||
mozallowfullscreen
|
||||
allowfullscreen></iframe>
|
||||
</div>
|
||||
{% endif %}
|
||||
{{ message.content|nl2br }}
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
{% endfor %}
|
||||
{% if answer.messages|length == 0 %}
|
||||
<tr>
|
||||
<th colspan="3" class="text-center">Aucun
|
||||
message pour le moment</th>
|
||||
</tr>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
|
||||
</thead>
|
||||
<tbody>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- END COMPOSE EMAIL -->
|
||||
|
||||
{{ form_end(formVideo) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="tab-pane fondBlanc" id="">
|
||||
<div class="row fondBlanc">
|
||||
|
||||
<!-- START ITEM -->
|
||||
<div class="col-lg-4 fondBlanc">
|
||||
<div class="card card-default bg-success">
|
||||
<div class="card-header separator">
|
||||
<div class="card-title">Réponse vidéo
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<h3>
|
||||
<span class="semi-bold">Et si vous répondiez à </span> Celia Machin
|
||||
Auriol <b>en vidéo</b>
|
||||
</h3>
|
||||
<p>Découvrez <a
|
||||
href="https://blog.talentstube.com/articles-entreprise/comment-faire-une-video-avec-une-webcam/"
|
||||
target="_blank">nos conseils</a> pour réaliser une vidéo de
|
||||
réponse.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- END ITEM -->
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="col-md-12 col-lg-8 col-xlg-8 md-m-t-10">
|
||||
<!-- START WIDGET widget_weatherWidget-->
|
||||
<div class="widget-17 card no-border no-margin widget-loader-circle">
|
||||
<div class="widget-16-header p-r-20 p-l-20 p-t-10 d-flex">
|
||||
<span class="icon-thumbnail bg-contrast-low pull-left text-color pg-icon">M</span>
|
||||
<div class="flex-1 full-width overflow-ellipsis">
|
||||
<p class="hint-text all-caps font-montserrat small no-margin overflow-ellipsis ">
|
||||
Contacter
|
||||
</p>
|
||||
<h6 class="no-margin overflow-ellipsis ">par vidéo</h6>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
{{ form_start(formVideo) }}
|
||||
{{ form_widget(formVideo._token, { 'id': 'token_video' }) }}
|
||||
<div class="col-md-12 col-lg-8 col-xlg-8 md-m-t-10">
|
||||
<!-- START WIDGET widget_weatherWidget-->
|
||||
<div class="widget-17 card no-border no-margin widget-loader-circle">
|
||||
<div class="widget-16-header p-r-20 p-l-20 p-t-10 d-flex">
|
||||
<span
|
||||
class="icon-thumbnail bg-contrast-low pull-left text-color pg-icon">M</span>
|
||||
<div class="flex-1 full-width overflow-ellipsis">
|
||||
<p
|
||||
class="hint-text all-caps font-montserrat small no-margin overflow-ellipsis ">
|
||||
Contacter
|
||||
</p>
|
||||
<h6 class="no-margin overflow-ellipsis ">par vidéo</h6>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
{{ form_start(formVideo) }}
|
||||
{{ form_widget(formVideo._token, { 'id': 'token_video' }) }}
|
||||
|
||||
|
||||
|
||||
{% include 'message/message_create_import.twig' %}
|
||||
<br />
|
||||
{{ form_widget(formVideo.status, { 'id': 'contact_talent_status_video' }) }}
|
||||
{{ form_rest(formVideo) }}
|
||||
<br />
|
||||
<div class="bottom-form">
|
||||
<button type="submit" class="btn btn-default disabled">Envoyer</button>
|
||||
</div>
|
||||
{% include 'message/message_create_import.twig' %}
|
||||
<br />
|
||||
{# {{ form_widget(formVideo.status, { 'id': 'contact_talent_status_video' }) }} #}
|
||||
{{ form_rest(formVideo) }}
|
||||
<br />
|
||||
<div class="bottom-form">
|
||||
<button type="submit" class="btn btn-default disabled">Envoyer</button>
|
||||
</div>
|
||||
|
||||
{{ form_end(formVideo) }}
|
||||
</div>
|
||||
</div>
|
||||
<!-- END WIDGET -->
|
||||
</div>
|
||||
{{ form_end(formVideo) }}
|
||||
</div>
|
||||
</div>
|
||||
<!-- END WIDGET -->
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
{% extends 'base_dashboard_temporaire.html.twig' %}
|
||||
{% extends 'admin/base_dashboard.html.twig' %}
|
||||
|
||||
|
||||
{% block content %}
|
||||
|
||||
@@ -62,40 +62,34 @@
|
||||
</div>
|
||||
<!-- END JUMBOTRON -->
|
||||
<div class=" container-fluid container-fixed-lg">
|
||||
<div id="rootwizard" class="m-t-50">
|
||||
<div class="col-lg-8 bloc-header">
|
||||
<div class="card card-default container">
|
||||
<div class="card-body">
|
||||
<div class="row" style="min-height:10rem;">
|
||||
<div class="col-8">
|
||||
<h4 class="header-title" style="font-size:2em;line-height:1.5em;">Création d'une offre d'emploi vidéo</h4>
|
||||
<p>Pour trouver le bon profil, renseignez et personnalisez votre annonce. <br>Plus votre annonce est précise et attractive, plus les candidatures seront ciblées.</p>
|
||||
</div>
|
||||
<div class="col-4" style="background-repeat: no-repeat; background-image: url('https://blog.talentstube.com/wp-content/uploads/2021/02/creer-offre-emploi-video.svg');background-size: contain;background-position: center;">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="rootwizard" class="col-lg-10 m-t-50">
|
||||
{% include 'company/ad_stepsV2.html.twig' with {'tab':2} %}
|
||||
|
||||
<div class="tab-content">
|
||||
<div class="tab-pane padding-20 sm-no-padding slide-left disabled" id="tab1">
|
||||
<div class="row row-same-height">
|
||||
<div class="col-md-5 b-r b-dashed b-grey sm-b-b">
|
||||
<div class="padding-30 sm-padding-5 sm-m-t-15 m-t-50">
|
||||
<i class="material-icons hint-text">shopping_cart</i>
|
||||
<h2>Etape 1 : détail de l'annonce</h2>
|
||||
<p>Pour trouver le bon profil, renseignez et personnalisez votre annonce.
|
||||
Plus votre annonce est précise et attractive, plus les candidatures seront ciblées.
|
||||
Afin de créer votre annonce, renseignez l’ensemble des champs relatifs au poste proposé.</p>
|
||||
{# <p class="small hint-text">Below is a sample page for your cart , Created using pages design
|
||||
UI Elementes</p> #}
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-7">
|
||||
<div class="padding-30 sm-padding-5">
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="tab-pane slide-left padding-20 sm-no-padding active" id="tab2">
|
||||
<div class="row row-same-height">
|
||||
<div class="col-md-6 b-r b-dashed b-grey ">
|
||||
<div class="col-md-12 col-xl-6 ">
|
||||
<div class="container-envoi-videos">
|
||||
<div class="titre-bloc-envoi-videos">
|
||||
<img src='https://www.talentstube.com/statique/images/capture.svg'class="image-envoi-video"/img>
|
||||
<div class="texte-envoi-video">
|
||||
<h4>Choix n°1</h4>
|
||||
<h5>J’<span class="underline">envoie</span> mes séquences vidéos à Talents Tube</h5>
|
||||
<h5>J’<span class="underline">envoie</span> mes séquences vidéo à Talents Tube</h5>
|
||||
</div>
|
||||
</div>
|
||||
<div class="contenu-bloc-envoi-videos">
|
||||
@@ -103,7 +97,7 @@ Afin de créer votre annonce, renseignez l’ensemble des champs relatifs au pos
|
||||
{# {{ form_row(form.brochure) }}
|
||||
{{ form_row(form.brochure1) }}
|
||||
{{ form_row(form.brochure2) }} #}
|
||||
<p>Envoyez les séquences vidéos et Talents Tube s’occupe pour vous du montage complet de votre offre d’emploi sous <span class="underline">48h</span></p>
|
||||
<p>Envoyez les séquences vidéo et Talents Tube s’occupe pour vous du montage complet de votre offre d’emploi sous <span class="underline">48h</span></p>
|
||||
<label for="etape-import-video">Vidéo 1 : Présentation de l’entreprise</label>
|
||||
{{ form_row(formFile.file1) }}
|
||||
{# <input type="file" id="avatar" name="avatar" accept="image/png, image/jpeg"> #}
|
||||
@@ -113,13 +107,14 @@ Afin de créer votre annonce, renseignez l’ensemble des champs relatifs au pos
|
||||
<label for="etape-import-video">Vidéo 3 : Témoignage d’un collaborateur</label>
|
||||
{{ form_row(formFile.file3) }}
|
||||
{# <input type="file" id="avatar" name="avatar" accept="image/png, image/jpeg"> #}
|
||||
<button aria-label class="btn btn-primary" type="submit" onClick='$("#encours").show();'>Envoyer les séquences vidéos</button>
|
||||
{# <button aria-label="" class="btn btn-info btn-lg btn-icon-right m-b-10" type="submit"><span class="">Envoyer les séquences vidéo</span><i class="pg-icon" onclick="$("#encours").show();">send</i></button> #}
|
||||
<button aria-label class="btn btn-info btn-lg m-b-10" type="submit" onClick='$("#encours").show();'><span class="">Envoyer les séquences vidéo</span></button>
|
||||
|
||||
{{ form_end(formFile) }}
|
||||
{% if message !="" %}
|
||||
<div class="green center-align" style="border-radius:10px;padding:20px;color:#FFF;">{{ message }}</div>
|
||||
{% else %}
|
||||
<div class=" center-align" id="encours">Vos séquences vidéos sont en cours d’envoi...
|
||||
<div class=" center-align" id="encours">Vos séquences vidéo sont en cours d’envoi...
|
||||
Veuillez rester sur la page pendant le chargement qui peut durer plusieurs minutes.
|
||||
</div>
|
||||
|
||||
@@ -134,7 +129,7 @@ Talents Tube peut vous accompagner dans la réalisation de votre
|
||||
vidéo d'offre d'emploi. <a href="https://blog.talentstube.com/contact" target="_blank">Contactez-nous</a></p>
|
||||
</div>-->
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="col-md-12 col-xl-6">
|
||||
<div class="padding sm-padding-5" id="tab-video-new">
|
||||
<div class="container-envoi-videos">
|
||||
<div class="titre-bloc-envoi-videos">
|
||||
@@ -152,23 +147,24 @@ vidéo d'offre d'emploi. <a href="https://blog.talentstube.com/contact" target="
|
||||
{{ form_row(form.brochure1) }}
|
||||
{{ form_row(form.brochure2) }} #}
|
||||
<br/>
|
||||
<a href="{{ path('company_ad_edit',{"id": ad.getId()}) }}" class="btn btn-round btn-dark">
|
||||
<button aria-label="" class="btn btn-primary btn-cons btn-animated from-left pull-right"
|
||||
type="button">
|
||||
<span>Retour au détail de l'annonce </span>
|
||||
<span class="hidden-block">
|
||||
<i class="material-icons fs-16">info</i>
|
||||
</span>
|
||||
</button>
|
||||
</a>
|
||||
<button aria-label="" id="submit" type="submit" class="btn btn-primary btn-cons btn-animated from-left pull-right hide"
|
||||
type="button">
|
||||
<span>Valider l'annonce</span>
|
||||
<span class="hidden-block">
|
||||
<i class="material-icons fs-16">save</i>
|
||||
</span>
|
||||
</button>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-6">
|
||||
<a href="{{ path('company_ad_edit',{"id": ad.getId()}) }}" >
|
||||
<button aria-label="" class="btn btn-default btn-lg m-b-10"
|
||||
type="button">
|
||||
<span>Retour </span>
|
||||
|
||||
</button>
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-6">
|
||||
<button aria-label="" id="submit" type="submit" class="btn btn-primary btn-lg m-b-10 hide"
|
||||
type="button">
|
||||
<span>Publier l'offre</span>
|
||||
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
{{ form_end(form) }}
|
||||
</div>
|
||||
</div>
|
||||
@@ -253,10 +249,7 @@ vidéo d'offre d'emploi. <a href="https://blog.talentstube.com/contact" target="
|
||||
</li>
|
||||
</ul> #}
|
||||
</div>
|
||||
<div class="wizard-footer padding-20 bg-contrast-low">
|
||||
|
||||
<div class="clearfix"></div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -52,6 +52,7 @@
|
||||
<script>
|
||||
document.location.href = "/entreprise/me/profil";
|
||||
</script>
|
||||
|
||||
{# {{ render("/entreprise/me/profil") }} #}
|
||||
</div>
|
||||
{% endif %}
|
||||
@@ -69,39 +70,126 @@
|
||||
<!-- START JUMBOTRON -->
|
||||
<div class="jumbotron" data-pages="parallax">
|
||||
<div class=" container-fluid container-fixed-lg sm-p-l-0 sm-p-r-0">
|
||||
<div class="inner">
|
||||
<div class="inner" style="transform: translateY(0px); opacity: 1;">
|
||||
<!-- START BREADCRUMB -->
|
||||
<ol class="breadcrumb">
|
||||
<li class="breadcrumb-item"><a href="/entreprise/me/">Accueil</a></li>
|
||||
<li class="breadcrumb-item"><a href="https://recruteur.talentstube.com/entreprise/me/">Accueil</a></li>
|
||||
</ol>
|
||||
<!-- END BREADCRUMB -->
|
||||
<div class="row">
|
||||
<div class="col-xl-12 col-lg-12 ">
|
||||
<!-- START card -->
|
||||
<div class="card card-transparent">
|
||||
<div class="card-header ">
|
||||
</div>
|
||||
<div class="card-body">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- END JUMBOTRON -->
|
||||
<!--Boutons actions Tableau de bord -->
|
||||
|
||||
<a class="btn-square" target="_self" href="{{ path('company_ad_create') }}">
|
||||
<button aria-label=""
|
||||
class="btn btn-primary btn-cons">{{ 'ad.company.add.label'|trans }}</button>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<!-- END card -->
|
||||
<div class=" container-fluid container-fixed-lg bloc-tdb">
|
||||
<!-- START card -->
|
||||
<div class="col-lg-12">
|
||||
<div class="card card-default container">
|
||||
<div class="row">
|
||||
<div class="col-md">
|
||||
<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>
|
||||
</div>
|
||||
<div class="col-md" type="button">
|
||||
|
||||
<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>
|
||||
</div>
|
||||
<div class="col-md" type="button">
|
||||
<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>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- END JUMBOTRON -->
|
||||
|
||||
<!--Fin Boutons actions Tableau de bord -->
|
||||
|
||||
<!--Blocs statistiques Tableau de bord -->
|
||||
<div class=" container-fluid container-fixed-lg bloc-tdb">
|
||||
<!-- START card -->
|
||||
<div class="col-lg-12">
|
||||
<div class="card card-default container">
|
||||
<div class="row">
|
||||
<div class="col-lg text-card">
|
||||
<div class="bloc-stats">
|
||||
<span class="font-montserrat fs-11 all-caps">Nombre total de candidats</span>
|
||||
<h3 class="bold no-margin p-b-5"><a class="bold no-margin p-b-5"
|
||||
href="{{ path('company_answer_list') }}">{{nbAnswersSended}}</a></h3>
|
||||
<span class="fs-12 ">Nouveaux candidats</span>
|
||||
<h4 class="bold no-margin" class=""><a class="bold no-margin"
|
||||
href="{{ path('company_answer_list') }}">+{{nbAnswersSended}}</a></h4>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg text-card">
|
||||
<div class="bloc-stats">
|
||||
<span class="font-montserrat fs-11 all-caps">Visites de la page entreprise</span>
|
||||
<h3 class="bold no-margin p-b-5">{{ records.totalRecordsCompany }}</h3>
|
||||
<div class="row">
|
||||
<div class="col-sm vertical-border" border-right: 1px solid white;>
|
||||
<span class="fs-12">7 derniers jours</span>
|
||||
<h4 class="bold no-margin">+{{ records7days.totalRecordsCompany }}</h4>
|
||||
</div>
|
||||
<div class="col-sm">
|
||||
<span class="fs-12">30 derniers jours</span>
|
||||
<h4 class="bold no-margin" style="opacity:0.75">+{{ records30days.totalRecordsCompany }}
|
||||
</h4>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg text-card">
|
||||
<div class="bloc-stats">
|
||||
<span class="font-montserrat fs-11 all-caps">Vues globales des offres d’emploi</span>
|
||||
<h3 class="bold no-margin p-b-5">{{ records.totalRecords-records.totalRecordsCompany }}</h3>
|
||||
<div class="row">
|
||||
<div class="col-sm vertical-border">
|
||||
<span class="fs-12">7 derniers jours</span>
|
||||
<h4 class="bold no-margin">
|
||||
+{{ records7days.totalRecords-records7days.totalRecordsCompany }}</h4>
|
||||
</div>
|
||||
<div class="col-sm">
|
||||
<span class="fs-12">30 derniers jours</span>
|
||||
<h4 class="bold no-margin" style="opacity:0.75">+{{ records30days.totalRecordsCompany }}
|
||||
</h4>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!--Fin Blocs statistiques Tableau de bord -->
|
||||
|
||||
|
||||
<!-- START CONTAINER FLUID -->
|
||||
<!-- START CONTAINER FLUID -->
|
||||
<div class=" container-fluid container-fixed-lg bg-white">
|
||||
{# <div class=" container-fluid container-fixed-lg bg-white">
|
||||
<!-- START card -->
|
||||
<div class="card card-transparent">
|
||||
<div class="card-header ">
|
||||
@@ -130,7 +218,10 @@
|
||||
<div class="col-xs-height col-top relative">
|
||||
<div class="row full-height">
|
||||
<div class="col-sm-12 text-card">
|
||||
<h3 class="bold no-margin p-b-5 text-card"><a class="bold no-margin p-b-5 text-card" href="{{ path('company_answer_list') }}">{{nbAnswersSended}}</a></h3>
|
||||
<h3 class="bold no-margin p-b-5 text-card"><a
|
||||
class="bold no-margin p-b-5 text-card"
|
||||
href="{{ path('company_answer_list') }}">{{nbAnswersSended}}</a>
|
||||
</h3>
|
||||
</div>
|
||||
<div class="col-sm-8">
|
||||
<div
|
||||
@@ -138,7 +229,9 @@
|
||||
<p class="small m-t-5 m-b-0">
|
||||
<span class="fs-12 ">Nouveaux candidats</span>
|
||||
</p>
|
||||
<h4 class="bold no-margin"><a class="bold no-margin" href="{{ path('company_answer_list') }}">+{{nbAnswersSended}}</a></h4>
|
||||
<h4 class="bold no-margin"><a class="bold no-margin"
|
||||
href="{{ path('company_answer_list') }}">+{{nbAnswersSended}}</a>
|
||||
</h4>
|
||||
</div>
|
||||
</div>
|
||||
<!--<div class="col-sm-5">
|
||||
@@ -176,7 +269,8 @@
|
||||
<div class="col-xs-height col-top relative">
|
||||
<div class="row full-height">
|
||||
<div class="col-sm-12 text-card">
|
||||
<h3 class="bold no-margin p-b-5 text-card">{{ records.totalRecordsCompany }}</h3>
|
||||
<h3 class="bold no-margin p-b-5 text-card">{{ records.totalRecordsCompany }}
|
||||
</h3>
|
||||
</div>
|
||||
<div class="col-sm-5 vertical-border">
|
||||
<div
|
||||
@@ -193,7 +287,8 @@
|
||||
<p class="small m-t-5 m-b-0">
|
||||
<span class="fs-12 ">30 derniers jours</span>
|
||||
</p>
|
||||
<h4 class="bold no-margin" style="opacity:0.75">+{{ records30days.totalRecordsCompany }}</h4>
|
||||
<h4 class="bold no-margin" style="opacity:0.75">
|
||||
+{{ records30days.totalRecordsCompany }}</h4>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -224,7 +319,8 @@
|
||||
<div class="col-xs-height col-top relative">
|
||||
<div class="row full-height">
|
||||
<div class="col-sm-12 text-card">
|
||||
<h3 class="bold no-margin p-b-5 text-card">{{ records.totalRecords-records.totalRecordsCompany }}</h3>
|
||||
<h3 class="bold no-margin p-b-5 text-card">
|
||||
{{ records.totalRecords-records.totalRecordsCompany }}</h3>
|
||||
</div>
|
||||
<div class="col-sm-5 vertical-border">
|
||||
<div
|
||||
@@ -232,7 +328,9 @@
|
||||
<p class="small m-t-5 m-b-0">
|
||||
<span class="fs-12 ">7 derniers jours</span>
|
||||
</p>
|
||||
<h4 class="bold no-margin">+{{ records7days.totalRecords-records7days.totalRecordsCompany }}</h4>
|
||||
<h4 class="bold no-margin">
|
||||
+{{ records7days.totalRecords-records7days.totalRecordsCompany }}
|
||||
</h4>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-5">
|
||||
@@ -241,7 +339,9 @@
|
||||
<p class="small m-t-5 m-b-0">
|
||||
<span class="fs-12 ">30 derniers jours</span>
|
||||
</p>
|
||||
<h4 class="bold no-margin" style="opacity:0.75">+{{ records30days.totalRecords-records30days.totalRecordsCompany }}</h4>
|
||||
<h4 class="bold no-margin" style="opacity:0.75">
|
||||
+{{ records30days.totalRecords-records30days.totalRecordsCompany }}
|
||||
</h4>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -266,7 +366,7 @@
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div> #}
|
||||
<!-- END card -->
|
||||
|
||||
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,230 @@
|
||||
{% extends "baseLanding.html.twig" %}
|
||||
{% 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.">
|
||||
<meta property="og:locale" content="fr_FR">
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:title" content="Valorisez votre métier d'aide à domicile et recrutez grâce à la vidéo">
|
||||
<meta property="og:description"
|
||||
content="Vous souhaitez améliorer l'attractivité de votre métier ? Avec le recrutement vidéo, valorisez sa richesse réelle et recrutez des aides à domicile en vidéo.">
|
||||
<meta property="og:url" content="https://recruteur.talentstube.com/recrutement-aide-a-domicile">
|
||||
<meta property="og:site_name" content="Talents Tube">
|
||||
<meta property="og:image"
|
||||
content="https://recruteur.talentstube.com/landing/img/reussir-son-recrutement-aide-a-domicile-avec-la-video.jpg" />
|
||||
<meta name="twitter:card" content="summary_large_image" />
|
||||
{% endblock %}
|
||||
{% block modalCallToAction %}
|
||||
{{ parent() }}
|
||||
{% endblock %}
|
||||
{% block main %}
|
||||
<main>
|
||||
|
||||
<!--Header : Menu et Vidéo en fond test corentin-->
|
||||
<header class="hero-section-aide-domicile">
|
||||
<!--HTML5 Video-->
|
||||
<video autoplay loop muted id="bgvid" poster="">
|
||||
<source src="/landing/video/recrutement-aide-a-domicile.mp4" type="video/mp4" alt="Recrutement d'aide à domicile">
|
||||
<!--Prévoir une image fixe pour la version mobile : main.css : 102-->
|
||||
</video>
|
||||
|
||||
<!--HTML5 Video end-->
|
||||
<div class="overlay"></div>
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="logo-header" style="display:inline-block;">
|
||||
<img src="/landing/img/talentstube-logo-blanc.svg" data-at2x="/landing/img/talentstube-logo-blanc@2x.svg"
|
||||
alt="Talents Tube" class="logo-talentstube" style="width:150px">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!--nav-->
|
||||
<nav class="navbar-default">
|
||||
<!-- clas="navbar"-->
|
||||
<div class="container">
|
||||
<div class="logo-brand">
|
||||
<img src="https://blog.talentstube.com/wp-content/uploads/2021/02/TalentsTube-logo-blanc.svg"
|
||||
data-at2x="https://blog.talentstube.com/wp-content/uploads/2021/02/TalentsTube-logo-blanc.svg"
|
||||
alt="Talents Tube, plateforme de recrutement en vidéo" class="logo-head">
|
||||
</div>
|
||||
<!--<div class="navbar-header">
|
||||
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-navbar-collapse-1">
|
||||
<span class="sr-only">Toggle navigation</span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
</div>-->
|
||||
<div class="collapse navbar-collapse" id="bs-navbar-collapse-1">
|
||||
<div class="row">
|
||||
<div class="logo-header" style="display:inline-block;">
|
||||
<img src="https://blog.talentstube.com/wp-content/uploads/2021/02/talents-tube-logo-color.svg'"
|
||||
data-at2x="https://blog.talentstube.com/wp-content/uploads/2021/02/talents-tube-logo-color.svg"
|
||||
alt="Talents Tube" class="logo-nav">
|
||||
</div>
|
||||
<ul class="nav navbar-nav navbar-right">
|
||||
<li>
|
||||
<div class="mj-w-button mj-w-btn bttn" data-toggle="modal" data-target="#exampleModal">Demander un
|
||||
rendez-vous</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
<!--nav end-->
|
||||
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<!--welcome-message-->
|
||||
<div class="welcome-message">
|
||||
<h1>Comment réussir son recrutement d'aide à domicile ?</h1>
|
||||
<p>Vous recevez des candidatures qui ne répondent pas à votre besoin ?</p>
|
||||
<p>Vous en avez assez de refuser des prises en charge, faute de salariés ?</p>
|
||||
<p>Vous voulez recruter vos aides à domicile autrement ?</p><br>
|
||||
<p>Choisissez Talents Tube, la plateforme pour l'emploi 100% vidéo !</p>
|
||||
</div>
|
||||
<!--welcome-message end-->
|
||||
<div class=" video-header">
|
||||
<button class="bttn" data-toggle="modal" data-target="#exampleModal">Demander un rendez-vous</button>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
<!--Header end-->
|
||||
<!--about 1-->
|
||||
<section class="about section-spacing-little" style="margin-top:20px">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-md-5 bloc-gauche-1"> <img src="/landing/img/secteur-aide-domicile-peine-a-recruter.jpg"
|
||||
alt="Le secteur de l'aide à domicile peine à recruter" data-no-retina> </div>
|
||||
<div class="col-md-7 bloc-droit-1" style="padding: 2em 4em;">
|
||||
<h2>Les difficultés de recrutement d'aide à domicile freinent votre développement ?</h2>
|
||||
<p>Vous n'êtes pas les seuls à chercher des solutions originales pour attirer et recruter de nouveaux
|
||||
candidats, c'est un constat partagé : l'aide à domicile peine à recruter. <strong>Une structure sur cinq
|
||||
doit refuser des prises en charge, faute de salariés</strong> !
|
||||
Sous financée et avec des besoins en recrutement d'aide à domicile de plus en plus importants, votre
|
||||
structure déplore <strong>des emplois qui ne trouvent pas de candidats</strong>. Pour cause, votre
|
||||
<strong>métier méconnu, souvent dévalorisé</strong> ne séduit pas les candidats potentiels. Il existe un
|
||||
décalage entre les préjugés et la réalité du métier.
|
||||
|
||||
<p><b>Mais comment recruter des aides à domicile ?</b></p>
|
||||
|
||||
<p>Pour attirer et réussir vos recrutements d'aide à domicile, <strong>vous devez communiquer, valoriser
|
||||
votre métier</strong> : un métier varié, riche humainement et qui a du sens.</p>
|
||||
<p>Et pour cela, quoi de mieux que <strong>la vidéo</strong> ?</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<!--about end-->
|
||||
|
||||
<!--about 2-->
|
||||
<section class="about section-spacing-little">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-md-7 bloc-droit-2" style="padding: 2em 4em;">
|
||||
<h2>Publiez une offre d'emploi attractive pour réussir vos recrutements d'aide à domicile</h2>
|
||||
<p>L'offre d'emploi vidéo est un projet fédérateur qui permet d'<strong>impliquer vos
|
||||
collaborateurs</strong>. Ils sont <strong>fiers de pouvoir présenter le métier d'aide à
|
||||
domicile</strong> et leur quotidien. Cette dynamique de recrutement <strong>participe à la valorisation
|
||||
et à la reconnaissance</strong> de vos équipes.
|
||||
|
||||
<p><b>L'offre d'emploi vidéo pour attirer et recruter des aides à domicile</b> :</p>
|
||||
|
||||
<ul class="list-puces">
|
||||
<li>Une occasion en or de <strong>montrer votre métier dans sa vérité</strong>, au dela des mots et des
|
||||
descriptions convenues</li>
|
||||
<li>Pas besoin d’une super video pour donner du corps et du sens à votre futur candidat</li>
|
||||
<li><strong>Montrez votre entreprise et votre équipe</strong>, affichez votre esprit d’entreprise dans
|
||||
une video dont votre équipe sera fière</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="col-md-5 bloc-gauche-2"> <img
|
||||
src="/landing/img/reussir-son-recrutement-aide-a-domicile-avec-la-video.jpg"
|
||||
alt="Réussir son recrutement d'aide à domicile avec la vidéo" data-no-retina> </div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<!--about end-->
|
||||
|
||||
<!--about 3-->
|
||||
<section class="about section-spacing-little">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-md-5 bloc-gauche-1"> <img src="/landing/img/candidatures-aide-a-domicile-en-video.jpg"
|
||||
alt="Candidatures d'aide à domicile en vidéo" data-no-retina> </div>
|
||||
<div class="col-md-7 bloc-droit-1" style="padding: 2em 4em;">
|
||||
<h2>Recevez des candidatures d'aide à domicile uniques et authentiques </h2>
|
||||
<p>Les compétences techniques ne sont pas le seul critère de recrutement.
|
||||
Pour exercer le métier d'aide à domicile, <strong>les compétences humaines sont primordiales</strong> afin
|
||||
d'assurer le bien-être et la satisfaction des bénéficiaires.</p>
|
||||
<p><b>Mais comment détecter ces compétences sur un CV papier ? Impossible !</b></p>
|
||||
<p>Ce qui différencie les candidats c'est l'amour des gens, une recherche de sens dans l'emploi et l'envie
|
||||
de s'épanouir dans l'aide de l'autre. Autant d'<strong>éléments qui ne peuvent être exprimés sur une
|
||||
feuille de papier</strong>.
|
||||
|
||||
<p><strong>Grâce à la candidature vidéo</strong>, découvrez qui se cache derrière le CV papier. Au déla
|
||||
des compétences, <strong>rencontrez des personnalités</strong> !</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<!--about end-->
|
||||
|
||||
<!--sponsor-->
|
||||
<section class="sponsor section-spacing text-center">
|
||||
<div class="container">
|
||||
<header>
|
||||
<h2>Ils ont recruté en vidéo, pourquoi pas vous ?</h2>
|
||||
<h3>Ces entreprises des services à la personne, ont choisi Talents Tube pour recruter autrement !</h3>
|
||||
</header>
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<figure><img
|
||||
src="https://recruteur.talentstube.com/media/cache/profile_thumb/uploads/img/58d59033851aa9d4d633cd895d794fcf.jpeg"
|
||||
data-at2x="https://recruteur.talentstube.com/media/cache/profile_thumb/uploads/img/58d59033851aa9d4d633cd895d794fcf.jpeg"
|
||||
alt="admr difficulté à recruter aide à domicile " width="100" height="32"></figure>
|
||||
<figure><img
|
||||
src="https://recruteur.talentstube.com/media/cache/profile_thumb/uploads/img/62206ab199713e2828e409f705b9ec9d.png"
|
||||
data-at2x="https://recruteur.talentstube.com/media/cache/profile_thumb/uploads/img/62206ab199713e2828e409f705b9ec9d.png"
|
||||
alt="onela difficultsé à recruter aide à domicile" width="100" height="100"></figure>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</section>
|
||||
<!--sponsor end-->
|
||||
<!--venue-->
|
||||
<section class="venue section-spacing" id="venue_aideADomicile">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="container text-center">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<!--goodbye-message-->
|
||||
<div class="appel-action">
|
||||
<h2>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>Osez recruter autrement !</p>
|
||||
<button class="bttn" data-toggle="modal" data-target="#exampleModal" style="margin-top:30px;">Demander
|
||||
un rendez-vous</button>
|
||||
</div>
|
||||
<!--goodbye-message end-->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</main>
|
||||
{% endblock %}
|
||||
|
||||
{% block javascripts %}
|
||||
|
||||
{% endblock %}
|
||||
@@ -0,0 +1,242 @@
|
||||
{% extends "baseLanding.html.twig" %}
|
||||
{% block title %}Valorisez votre métier en tension et recrutez des candidats grâce à la vidéo{% endblock %}
|
||||
{% block meta %}
|
||||
<meta name="description" content="Votre métier est en tension ? Vous souhaitez améliorer son attractivité ? Avec le recrutement vidéo, valorisez votre métier et recevez des candidatures vidéo.">
|
||||
<meta property="og:locale" content="fr_FR">
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:title" content="Valorisez votre métier en tension et recrutez des candidats grâce à la vidéo">
|
||||
<meta property="og:description" content="Votre métier est en tension ? Vous souhaitez améliorer son attractivité ? Avec le recrutement vidéo, valorisez votre métier et recevez des candidatures vidéo.">
|
||||
<meta property="og:url" content="https://recruteur.talentstube.com/metier-en-tension">
|
||||
<meta property="og:site_name" content="Talents Tube">
|
||||
<meta property="og:image" content="https://recruteur.talentstube.com/landing/img/secteur-aide-domicile-peine-a-recruter.jpg">
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
{% endblock %}
|
||||
{% block modalCallToAction %}
|
||||
{{ parent() }}
|
||||
{% endblock %}
|
||||
{% block main %}
|
||||
<main>
|
||||
|
||||
<!--Header : Menu et Vidéo en fond-->
|
||||
<header class="hero-section-metier-tension">
|
||||
<!--HTML5 Video-->
|
||||
<video autoplay loop muted id="bgvid" poster="">
|
||||
<source src="/landing/video/metier-en-tension-montrez-vous.mp4" type="video/mp4"
|
||||
alt="Métier en tension, montrez-vous !">
|
||||
<!--Prévoir une image fixe pour la version mobile : main.css : 102-->
|
||||
</video>
|
||||
|
||||
<!--HTML5 Video end-->
|
||||
<div class="overlay"></div>
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="logo-header" style="display:inline-block;">
|
||||
<img src="/landing/img/talentstube-logo-blanc.svg" data-at2x="/landing/img/talentstube-logo-blanc@2x.svg"
|
||||
alt="Talents Tube" class="logo-talentstube" style="width:150px">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!--nav-->
|
||||
<nav class="navbar-default">
|
||||
<!-- clas="navbar"-->
|
||||
<div class="container">
|
||||
<div class="logo-brand">
|
||||
<img src="https://blog.talentstube.com/wp-content/uploads/2021/02/TalentsTube-logo-blanc.svg"
|
||||
data-at2x="https://blog.talentstube.com/wp-content/uploads/2021/02/TalentsTube-logo-blanc.svg"
|
||||
alt="Talents Tube, plateforme de recrutement en vidéo" class="logo-head">
|
||||
</div>
|
||||
<!--<div class="navbar-header">
|
||||
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-navbar-collapse-1">
|
||||
<span class="sr-only">Toggle navigation</span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
</div>-->
|
||||
<div class="collapse navbar-collapse" id="bs-navbar-collapse-1">
|
||||
<div class="row">
|
||||
<div class="logo-header" style="display:inline-block;">
|
||||
<img src="https://blog.talentstube.com/wp-content/uploads/2021/02/talents-tube-logo-color.svg'"
|
||||
data-at2x="https://blog.talentstube.com/wp-content/uploads/2021/02/talents-tube-logo-color.svg"
|
||||
alt="Talents Tube" class="logo-nav">
|
||||
</div>
|
||||
<ul class="nav navbar-nav navbar-right">
|
||||
<li>
|
||||
<div class="mj-w-button mj-w-btn bttn" data-toggle="modal" data-target="#exampleModal">Demander un
|
||||
rendez-vous</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
<!--nav end-->
|
||||
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<!--welcome-message-->
|
||||
<div class="welcome-message">
|
||||
<h1>Métier en tension : Montrez-vous pour attirer et recruter de nouveaux collaborateurs !</h1>
|
||||
<p>Votre métier est en tension et souffre d'un déficit d'image ?
|
||||
Vous n'arrivez plus à recruter et cela freine le développement de votre activité ?</p>
|
||||
<p>Et si Talents Tube avait la solution idéale pour réussir vos recrutements !</p>
|
||||
</div>
|
||||
<!--welcome-message end-->
|
||||
<div class=" video-header">
|
||||
<button class="bttn" data-toggle="modal" data-target="#exampleModal">Demander un rendez-vous</button>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
<!--Header end-->
|
||||
<!--about 1-->
|
||||
<section class="about section-spacing-little" style="margin-top:20px">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-md-5 bloc-gauche-1"> <img src="/landing/img/secteur-aide-domicile-peine-a-recruter.jpg"
|
||||
alt="Les métiers en tension peinent à recruter" data-no-retina> </div>
|
||||
<div class="col-md-7 bloc-droit-1" style="padding: 2em 4em;">
|
||||
<h2>Votre métier est en tension et les difficultés de recrutement freinent votre développement ?</h2>
|
||||
<p>Vous rencontrez des <strong>difficultés à recruter</strong> de nouveaux collaborateurs.
|
||||
<strong>Votre métier est peu valorisé, méconnu et souffre d'un déficit d'image</strong>. Il
|
||||
n'attire plus et encore moins les nouvelles générations. Et pourtant, votre métier a considérablement
|
||||
évolué ces dernières années. L'image que les candidats s'en font n'est pas en adéquation avec la réalité.
|
||||
Sachez que votre métier n'est pas le seul dans ce cas, plusieurs secteurs sont touchés par une pénurie de
|
||||
candidats. </p>
|
||||
<p><strong>Mais comment réussir à recruter ?</strong></p>
|
||||
|
||||
<p>Pour attirer et réussir vos recrutements sur un métier en tension, vous devez <strong>communiquer</strong>
|
||||
!
|
||||
Donnez la parole à vos collaborateurs pour <strong>dévoiler votre métier</strong> aux
|
||||
candidats.
|
||||
Et pour cela, <strong>quoi de mieux que la vidéo</strong> ?</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<!--about end-->
|
||||
|
||||
<!--about 2-->
|
||||
<section class="about section-spacing-little">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-md-7 bloc-droit-2" style="padding: 2em 4em;">
|
||||
<h2>Publiez une offre d'emploi attractive pour faire connaître votre métier</h2>
|
||||
<p>Votre offre d'emploi mérite un coup de jeune <strong>pour attirer de nouveaux
|
||||
candidats</strong>. Grâce à l'<strong>offre d'emploi vidéo</strong>, vous allez mettre des
|
||||
images sur votre métier afin de le faire connaître au public. Votre offre d'emploi sera mieux expliquée,
|
||||
portée par des vrais visages de l'entreprise.</p>
|
||||
|
||||
<p>Faites vivre une <strong>expérience unique</strong> à vos candidats. Ils pourront ainsi
|
||||
<strong>découvrir, bien au-delà des mots, votre métier</strong>, leur future équipe,
|
||||
l'ambiance et l'environnement de travail que vous proposez. </p>
|
||||
|
||||
<p>Cette offre d'emploi plus attractive vous permettra de <strong>capter l'attention de
|
||||
candidats que vous n'auriez pas réussi à atteindre autrement</strong>.</p>
|
||||
</div>
|
||||
<div class="col-md-5 bloc-gauche-2"> <img src="/landing/img/candidatures-metier-en-tension-en-video.jpg"
|
||||
alt="Recruter sur un métier en tension grâce à la vidéo" data-no-retina> </div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<!--about end-->
|
||||
|
||||
<!--about 3-->
|
||||
<section class="about section-spacing-little">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-md-5 bloc-gauche-1"> <img src="/landing/img/candidatures-aide-a-domicile-en-video.jpg"
|
||||
alt="Candidatures métier en tension en vidéo" data-no-retina> </div>
|
||||
<div class="col-md-7 bloc-droit-1" style="padding: 2em 4em;">
|
||||
<h2>Recevez des candidatures que vous n'auriez pas eu autrement</h2>
|
||||
<p>Parce que la <strong>personnalité des candidats est un élément primordial</strong> dans
|
||||
vos recrutements, avec Talents Tube découvrez-les au-delà du CV papier. Grâce à la <strong>candidature
|
||||
vidéo</strong>, les candidats s'adressent directement à vous et expriment
|
||||
en toute authenticité, pourquoi ils souhaitent rejoindre VOTRE entreprise. Et parce que vous avez dévoilé
|
||||
votre métier en vidéo, le candidat peut davantage se projeter dans votre entreprise. Il peut
|
||||
<strong>exprimer bien plus que ce qu'il n'aurait pu présenter sur une simple feuille de
|
||||
papier</strong>.</p>
|
||||
<p><strong>Moins de CV, plus de talent grâce à la candidature vidéo</strong> :</p>
|
||||
<ul class="list-puces">
|
||||
<li>Gagnez du temps de pré-sélection et rencontrez uniquement les candidats réellement impliqués</li>
|
||||
<li>Découvrez des candidats « pépite » qui ne seraient pas sortis du lot dans la pile des candidatures
|
||||
papier</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<!--about end-->
|
||||
|
||||
<!--sponsor-->
|
||||
<section class="sponsor section-spacing text-center">
|
||||
<div class="container">
|
||||
<header>
|
||||
<h2>Ils ont recruté en vidéo, pourquoi pas vous ?</h2>
|
||||
<h3>Ces entreprises ont choisi Talents Tube pour recruter en vidéo ! </h3>
|
||||
</header>
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<figure><img
|
||||
src="https://recruteur.talentstube.com/media/cache/profile_thumb/uploads/img/58d59033851aa9d4d633cd895d794fcf.jpeg"
|
||||
alt="admr secteur aide à domicile en tension"
|
||||
data-at2x="https://recruteur.talentstube.com/media/cache/profile_thumb/uploads/img/58d59033851aa9d4d633cd895d794fcf.jpeg"
|
||||
width="100" height="32"></figure>
|
||||
<figure><img
|
||||
src="https://recruteur.talentstube.com//media/cache/profile_thumb/uploads/img/0dc350ae6a639b3671b7a262e51ad581.jpeg"
|
||||
data-at2x="https://recruteur.talentstube.com//media/cache/profile_thumb/uploads/img/0dc350ae6a639b3671b7a262e51ad581.jpeg"
|
||||
alt="tpc ouest secteur btp en tension" width="100" height="100"></figure>
|
||||
<figure><img
|
||||
src="https://recruteur.talentstube.com//media/cache/profile_thumb/uploads/img/7700369aae83d9b84ac0f42a0e63277f.jpeg"
|
||||
data-at2x="https://recruteur.talentstube.com//media/cache/profile_thumb/uploads/img/7700369aae83d9b84ac0f42a0e63277f.jpeg"
|
||||
alt="la centrale des ramoneurs, difficulté de recrutement" width="100" height="100"></figure>
|
||||
<figure><img
|
||||
src="https://recruteur.talentstube.com//media/cache/profile_thumb/uploads/img/60ac27698d9f443a1acc4fbdebd07a9e.png"
|
||||
data-at2x="https://recruteur.talentstube.com//media/cache/profile_thumb/uploads/img/60ac27698d9f443a1acc4fbdebd07a9e.png"
|
||||
alt="intermarché, métier en tension" width="100" height="100"></figure>
|
||||
</div>
|
||||
</div>
|
||||
<!--<div class="row">
|
||||
<div class="col-md-12">
|
||||
<figure><img src="https://recruteur.talentstube.com//media/cache/profile_thumb/uploads/img/c99c8a1e7cd4b9bf249053774d72e0c9.jpeg" data-at2x="https://recruteur.talentstube.com//media/cache/profile_thumb/uploads/img/c99c8a1e7cd4b9bf249053774d72e0c9.jpeg" alt="sponsor"></figure>
|
||||
<figure><img src="https://recruteur.talentstube.com//media/cache/profile_thumb/uploads/img/0dc350ae6a639b3671b7a262e51ad581.jpeg" data-at2x="https://recruteur.talentstube.com//media/cache/profile_thumb/uploads/img/0dc350ae6a639b3671b7a262e51ad581.jpeg" alt="sponsor"></figure>
|
||||
<figure><img src="https://recruteur.talentstube.com//media/cache/profile_thumb/uploads/img/0a4c111bc35a4b2ab654ab8fce9f1d53.png" data-at2x="https://recruteur.talentstube.com//media/cache/profile_thumb/uploads/img/0a4c111bc35a4b2ab654ab8fce9f1d53.png" alt="sponsor"></figure>
|
||||
<figure><img src="https://recruteur.talentstube.com//media/cache/profile_thumb/uploads/img/4f3dba583fea12c01a9c708772b1e0ac.jpeg" data-at2x="https://recruteur.talentstube.com//media/cache/profile_thumb/uploads/img/4f3dba583fea12c01a9c708772b1e0ac.jpeg" alt="sponsor"></figure>
|
||||
</div>
|
||||
</div>-->
|
||||
</div>
|
||||
</section>
|
||||
<!--sponsor end-->
|
||||
<!--venue-->
|
||||
<section class="venue section-spacing" id="venue_metierTension">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="container text-center">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<!--goodbye-message-->
|
||||
<div class="appel-action">
|
||||
<h2>Demandez un RDV gratuitement</h2>
|
||||
<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>
|
||||
</div>
|
||||
<!--goodbye-message end-->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</main>
|
||||
{% endblock %}
|
||||
|
||||
{% block javascripts %}
|
||||
|
||||
{% endblock %}
|
||||
@@ -1,37 +1,8 @@
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html lang="fr">
|
||||
|
||||
<head>
|
||||
<!-- Global site tag (gtag.js) - Google Analytics -->
|
||||
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-98246968-7"></script>
|
||||
<script>
|
||||
window.dataLayer = window.dataLayer || [];
|
||||
function gtag(){dataLayer.push(arguments);}
|
||||
gtag('js', new Date());
|
||||
gtag('config', 'UA-98246968-7');
|
||||
</script>
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
||||
<link href="https://fonts.googleapis.com/css2?family=Roboto:wght@100;400;500;700;900&display=swap" rel="stylesheet">
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>Réalisez une offre d’emploi originale vous-même</title>
|
||||
<meta name="description" content="Créez des vidéos d’offres d’emploi originales avec Talents Tube. Réalisez vos vidéos rapidement avec un smartphone et recrutez">
|
||||
<link rel="shortcut icon" href="/landing/img/talentstubeIco.svg" type="image/x-icon">
|
||||
<link rel="icon" href="/landing/img/favicon.ico" type="image/x-icon">
|
||||
<link href="/landing/css/bootstrap.min.css" rel="stylesheet">
|
||||
<link href="/landing/css/owl.carousel.css" rel="stylesheet">
|
||||
<link href="/landing/css/main.css" rel="stylesheet">
|
||||
<link href="/landing/css/fontawesome.min.css" rel="stylesheet">
|
||||
<!-- Latest compiled and minified CSS -->
|
||||
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
|
||||
<!-- Optional theme -->
|
||||
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap-theme.min.css">
|
||||
<script src="/landing/js/modernizr.min.js"></script>
|
||||
<!--Ajout pour le référencement-->
|
||||
{# <link rel="canonical" href="" /> #}
|
||||
<meta property="og:locale" content="fr_FR" />
|
||||
{% extends "baseLanding.html.twig" %}
|
||||
{% block title %}Réalisez une offre d’emploi originale vous-même{% endblock %}
|
||||
{% block meta %}
|
||||
<meta name="description" content="Créez des vidéos d’offres d’emploi originales avec Talents Tube. Réalisez vos vidéos rapidement avec un smartphone et recrutez">
|
||||
<meta property="og:locale" content="fr_FR" />
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:title" content="Réalisez une offre d’emploi originale vous-même" />
|
||||
<meta property="og:description" content="Créez des vidéos d’offres d’emploi originales avec Talents Tube. Réalisez vos vidéos rapidement avec un smartphone et recrutez" />
|
||||
@@ -39,114 +10,13 @@
|
||||
<meta property="og:site_name" content="Talents Tube" />
|
||||
<meta property="og:image" content="https://recruteur.talentstube.com/landing/img/offre-emploi-originale-en-video.jpg" />
|
||||
<meta name="twitter:card" content="summary_large_image" />
|
||||
</head>
|
||||
{% endblock %}
|
||||
{% block modalCallToAction %}
|
||||
{{ parent() }}
|
||||
{% endblock %}
|
||||
{% block main %}
|
||||
<main>
|
||||
|
||||
<body>
|
||||
<!-- 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 -->
|
||||
|
||||
<!-- Modal : Formulaire -->
|
||||
<div class="modal fade" id="exampleModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel"
|
||||
aria-hidden="true">
|
||||
<div class="modal-dialog" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="container-fluid">
|
||||
<div class="row" id="demandeRdvContainer">
|
||||
<div class="col-sm-12">
|
||||
<h2>Demandez votre rendez-vous</h2>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-12 col-sm-12">
|
||||
<div class="form-group">
|
||||
<label for="exampleInputPrenom>">Prénom</label>
|
||||
<input type="text" class="form-control" id="prenom" placeholder="Votre prénom">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
|
||||
<div class="col-12 col-sm-12">
|
||||
<div class="form-group">
|
||||
<label for="exampleInputNom">Nom</label>
|
||||
<input type="text" class="form-control" id="nom" placeholder="Votre nom">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
|
||||
<div class="col-12 col-sm-12">
|
||||
<div class="form-group">
|
||||
<label for="exampleInputEmail1">E-mail</label>
|
||||
<input type="email" class="form-control" id="email" placeholder="Votre email">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
|
||||
<div class="col-12 col-sm-12">
|
||||
<div class="form-group">
|
||||
<label for="exampleInputPhone">Téléphone</label>
|
||||
<input type="phone" class="form-control" id="telephone" placeholder="Votre téléphone">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<p class="text-danger" id="erreur">Veuillez compléter l'ensemble des champs ci-dessus pour
|
||||
demander un rendez-vous</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row" id="felicitationRdvContainer" class="text-center">
|
||||
<div class="text-center">
|
||||
<img src="/landing/img/demande-rendez-vous.svg">
|
||||
<h2>Merci!</h2>
|
||||
<p>Votre demande a bien été envoyée. Un conseiller vous contactera <b>sous 48h</b>.
|
||||
En attendant, nous allons vous rediriger vers notre blog afin de vous faire découvrir tous nos
|
||||
conseils pour un recrutement réussi.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button class="bttn" onClick="demanderRdv();" id="boutonDemandeRdv">Demander un rendez-vous</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!--Modal : Formulaire End -->
|
||||
|
||||
<main>
|
||||
<data id="mj-w-res-data" data-token="3ff0355b417f4f6e84deb70f12fcbca8" class="mj-w-data" data-apikey="2jWA"
|
||||
data-w-id="HpL" data-lang="fr_FR" data-base="https://app.mailjet.com" data-width="640" data-height="588"
|
||||
data-statics="statics"></data>
|
||||
<!--Header : Menu et Vidéo en fond-->
|
||||
<header class="hero-section">
|
||||
<!--HTML5 Video-->
|
||||
@@ -278,7 +148,7 @@
|
||||
<ul class="list-puces">
|
||||
<li>Rédigez votre scénario pour préparer le tournage de votre vidéo</li>
|
||||
<li>Réalisez votre offre d’emploi vidéo avec un smartphone</li>
|
||||
<li>Envoyez-nous vos séquences vidéos</li>
|
||||
<li>Envoyez-nous vos séquences vidéo</li>
|
||||
<li>Pour vous, nous réalisons le montage de votre vidéo</li>
|
||||
<li>Et nous vous accompagnons dans votre recherche du candidat idéal</li>
|
||||
</ul>
|
||||
@@ -350,85 +220,8 @@
|
||||
</div>
|
||||
</section>
|
||||
</main>
|
||||
<script type="text/javascript" src="https://app.mailjet.com/statics/js/widget.modal.js"></script>
|
||||
<script src="/landing/js/jquery-2.1.3.min.js"></script>
|
||||
<script src="/landing/js/bootstrap.min.js"></script>
|
||||
<script src="/landing/js/waypoints.min.js"></script>
|
||||
<!--Ordre important-->
|
||||
<script src="/landing/js/waypoints-sticky.min.js"></script> <!-- Nécessaire header sticky -->
|
||||
<script src="/landing/js/retina.min.js"></script> <!-- Nécessaire logo header (à voir pour l'enlever) -->
|
||||
<script src="/landing/js/owl.carousel.min.js"></script> <!-- Nécessaire avec les avantages (+de 3 avantages) -->
|
||||
<script src="/landing/js/jquery.ajaxchimp.min.js"></script> <!-- Nécessaire FAQ-->
|
||||
<script src="/landing/js/jquery.validate.min.js"></script>
|
||||
<script src="/landing/js/main.js"></script>
|
||||
<!--<script src="js/jquery.animateNumber.min.js"></script>-->
|
||||
<!--<script src="js/jquery.form.min.js"></script>-->
|
||||
<script>
|
||||
$("#erreur").hide();
|
||||
$("#felicitationRdvContainer").hide();
|
||||
{% endblock %}
|
||||
|
||||
{% block javascripts %}
|
||||
|
||||
function demanderRdv() {
|
||||
if ($("#nom").val() == "" || $("#prenom").val() == "" || $("#email").val() == "" || $("#telephone").val() == "") {
|
||||
$("#erreur").show();
|
||||
} else {
|
||||
$("#erreur").hide();
|
||||
$("#boutonDemandeRdv").hide();
|
||||
$("#felicitationRdvContainer").show();
|
||||
$("#demandeRdvContainer").hide();
|
||||
|
||||
$.ajax({
|
||||
//L'URL de la requête
|
||||
|
||||
url: "/app_dev.php/api/demanderRdv?nom=" + $("#nom").val() + "&prenom=" + $("#prenom").val() + "&email=" +
|
||||
$("#email").val() + "&telephone=" + $("#telephone").val() + "&page=Demande rdv module vidéo",
|
||||
method: "GET",
|
||||
//La méthode d'envoi (type de requête)
|
||||
|
||||
|
||||
//Le format de réponse attendu
|
||||
dataType: "json",
|
||||
})
|
||||
//Ce code sera exécuté en cas de succès - La réponse du serveur est passée à done()
|
||||
/*On peut par exemple convertir cette réponse en chaine JSON et insérer
|
||||
* cette chaine dans un div id="res"*/
|
||||
.done(function (response) {
|
||||
console.log("Requête demande rdv done");
|
||||
setTimeout(function () {
|
||||
document.location.href = "https://blog.talentstube.com/articles-entreprise/";
|
||||
}, 8000);
|
||||
|
||||
})
|
||||
|
||||
//Ce code sera exécuté en cas d'échec - L'erreur est passée à fail()
|
||||
//On peut afficher les informations relatives à la requête et à l'erreur
|
||||
.fail(function (error) {
|
||||
aconsole.log("Requête demande rdvfail");
|
||||
console.log(error);
|
||||
})
|
||||
|
||||
//Ce code sera exécuté que la requête soit un succès ou un échec
|
||||
.always(function () {
|
||||
console.log("Requête demande rdv effectuée");
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
function fermerVideo() {
|
||||
var videoURL = $('#player').prop('src');
|
||||
videoURL = videoURL.replace("&autoplay=1", "");
|
||||
$('#player').prop('src', '');
|
||||
$('#player').prop('src', videoURL);
|
||||
|
||||
}
|
||||
$('#exampleModalCenter').on('hidden.bs.modal', function (e) {
|
||||
console.log("exampleModalCenter11");
|
||||
fermerVideo();
|
||||
})
|
||||
</script>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
{% endblock %}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{% block dropzone %}
|
||||
<div id="dropzone-row" class="row">
|
||||
<div class="col s12">
|
||||
<div class="dropzone dz-clickable" id="my-awesome-dropzone">
|
||||
<div class="dropzone dz-clickable text-center" id="my-awesome-dropzone">
|
||||
<div id="template-container-dz">
|
||||
<div id="template" class="file-row">
|
||||
<div class="dz-preview">
|
||||
|
||||
@@ -1,221 +1,241 @@
|
||||
{% if is_granted('ROLE_COMPANY') %}
|
||||
{% set extendTemplate='company/base_dashboard_company_V2.html.twig' %}
|
||||
{% set extendTemplate='company/base_dashboard_company_V2.html.twig' %}
|
||||
{% elseif is_granted('ROLE_TERRITORY') %}
|
||||
{% set extendTemplate='territory/base_dashboard_territory.html.twig' %}
|
||||
{% set extendTemplate='territory/base_dashboard_territory.html.twig' %}
|
||||
{% else %}
|
||||
{% set extendTemplate='talent/base_dashboard_talent.html.twig' %}
|
||||
{% set extendTemplate='talent/base_dashboard_talent.html.twig' %}
|
||||
{% endif %}
|
||||
|
||||
{% extends extendTemplate %}
|
||||
|
||||
{% block dashContent %}
|
||||
<div class="row">
|
||||
<div class="col s12">
|
||||
|
||||
{% if medias|length == 0 and is_granted('ROLE_TALENT') %}
|
||||
<div class="col s12 center-align">
|
||||
<br/><br/>
|
||||
<strong class="color-grey3">Vous ne possédez pas encore de CV vidéo!</strong><br/>
|
||||
<span class="color-grey2">Cliquez sur le bouton pour ajouter votre première vidéo.</span>
|
||||
<br/><br/>
|
||||
<a class="btn btn-default modal-trigger" href="#addVideo">Ajouter une
|
||||
vidéo</a>
|
||||
</div>
|
||||
{% else %}
|
||||
{% if app.user.company.presentationVideo %}
|
||||
{% set media = app.user.company.presentationVideo %}
|
||||
{% endif %}
|
||||
<div class="video_premier card z-depth-3">
|
||||
<div class="card-content">
|
||||
<h4> Vous souhaitez booster vos recrutements ?</h4>
|
||||
<p>Ajoutez une vidéo marque employeur pour présenter
|
||||
votre entreprise et attirer de nouveaux talents.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="video_premier card z-depth-3">
|
||||
<div class="card-image">
|
||||
{% if app.user.company.presentationVideo %}
|
||||
<div class="embed-responsive embed-responsive-16by9">
|
||||
<iframe src="https://player.vimeo.com{{ media.getCdnUrl()|replace({ "videos": "video"}) }}"
|
||||
width="100%" height="550" frameborder="0" webkitallowfullscreen
|
||||
mozallowfullscreen allowfullscreen></iframe>
|
||||
</div>
|
||||
{# {% else %}
|
||||
<div class="no-presentation-video">
|
||||
<strong>
|
||||
Vous ne disposez pas de vidéo de présentation !
|
||||
</strong><br/>
|
||||
Cliquez sur le bouton ci-dessous pour la sélectionner dans votre bibliothèque.
|
||||
</div> #}
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
<div class="card-content">
|
||||
<p>
|
||||
{# {% if app.user.getCompany().hasCompanyVideo() != true and is_granted('ROLE_COMPANY') %}
|
||||
{% set storePath = path('company_process_cart_video_corporate') %}
|
||||
{% set message = "Vous ne disposez pas de l'option présentation vidéo pour votre entreprise, il est nécessaire de vous procurer
|
||||
l'option sur la boutique talents tube.<br /><br /><a class='btn btn-default' href='"~storePath~"'>boutique Talents Tube</a>" %}
|
||||
{{ message|raw }}
|
||||
{% else %} #}
|
||||
{% if app.user.company.presentationVideo %}
|
||||
<div><strong><span data-id="{{ media.id }}"
|
||||
class="titleVideo">{{ media.title }}</span></strong></div>
|
||||
{% else %}
|
||||
{% set label_title_video = "" %}
|
||||
{% if is_granted('ROLE_COMPANY') %}
|
||||
{% set label_title_video = "Mon entreprise en vidéo" %}
|
||||
{% elseif is_granted('ROLE_TALENT') %}
|
||||
{% set label_title_video = "Mon CV Générique" %}
|
||||
{% endif %}
|
||||
<strong>{{ label_title_video }}</strong>
|
||||
{% endif %}
|
||||
<a class="btn btn-cancel-premier red tooltipped btn-round right" href="#!"
|
||||
data-position="top" data-tooltip="Annuler">Annuler</a>
|
||||
|
||||
<a class="btn btn-default btn-video-premier right btn-orange">
|
||||
{% if app.user.company.presentationVideo %}
|
||||
Remplacer ma vidéo marque employeur
|
||||
{% else %}
|
||||
Choisir une vidéo marque employeur
|
||||
{% endif %}
|
||||
</a>
|
||||
<div class="jumbotron" data-pages="parallax">
|
||||
<div class=" container-fluid container-fixed-lg sm-p-l-0 sm-p-r-0">
|
||||
<div class="inner">
|
||||
<!-- START BREADCRUMB -->
|
||||
<ol class="breadcrumb">
|
||||
<li class="breadcrumb-item"><a href="/entreprise/me/">Accueil</a></li>
|
||||
<li class="breadcrumb-item"><a href="#">Marque Employeur</a></li>
|
||||
|
||||
|
||||
</ol>
|
||||
<!-- END BREADCRUMB -->
|
||||
|
||||
<div class="clearfix"></div>
|
||||
<div class="">
|
||||
<strong>
|
||||
Guide
|
||||
</strong><br/>
|
||||
Pour choisir votre vidéo marque employeur, cliquer sur le bouton remplacer et choisissez une vidéo dans la liste ci dessous </div>
|
||||
{# {% endif %} #}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="divider"></div>
|
||||
<br />
|
||||
<div class="row">
|
||||
<div class="col s12 center-align"><h4>Gestion de mes vidéos</h4>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col s12">
|
||||
{% if medias|length > 0 or is_granted('ROLE_COMPANY') or is_granted('ROLE_TERRITORY')%}
|
||||
<div class="col s12 col-actions">
|
||||
<a class="waves-effect waves-light btn btn-default modal-trigger" href="#addVideo">Ajouter une vidéo</a>
|
||||
<a class="btn btn-delete-video btn-round tooltipped red right" href="#!" data-position="top"
|
||||
data-tooltip="Supprimer des vidéos"><i class="fa fa-trash" aria-hidden="true"></i></a>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% for media in medias %}
|
||||
{% set classVideo = "" %}
|
||||
{% if app.user.company.presentationVideo %}
|
||||
{% set idPresentationVideo = app.user.company.presentationVideo.id %}
|
||||
{% else %}
|
||||
{% set idPresentationVideo = false %}
|
||||
{% endif %}
|
||||
{% if idPresentationVideo != media.id %}
|
||||
|
||||
<div class="col s12 m6 l4 col-card">
|
||||
<div class="card card-video-action z-depth-1">
|
||||
<div class="card-image">
|
||||
<div class="embed-responsive embed-responsive-16by9">
|
||||
<iframe src="https://player.vimeo.com{{ media.getCdnUrl()|replace({ "videos": "video"}) }}"
|
||||
width="100%" height="230px" frameborder="0" webkitallowfullscreen
|
||||
mozallowfullscreen allowfullscreen></iframe>
|
||||
</div>
|
||||
<div class="card-fog choice-fog">
|
||||
<div class="card-fog-container">
|
||||
<a data-id="{{ media.getId() }}"
|
||||
class="btn btn-default btn-default-video {{ classVideo }} tooltipped"
|
||||
data-position="top"
|
||||
data-tooltip="{{ 'global.video.defaultaction.label'|trans }}">
|
||||
Choisir cette vidéo
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
{% set classFog ="" %}
|
||||
{% set messageTooltipFog ="" %}
|
||||
{% if media.getAds().toArray() %}
|
||||
{% set classFog = "fogLight" %}
|
||||
{% set messageTooltipFog ="Vidéo associée à une annonce" %}
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
{% if media.getAnswers().toArray() %}
|
||||
{% set classFog = "fogLight" %}
|
||||
{% set messageTooltipFog ="Vidéo associée à une réponse" %}
|
||||
{% endif %}
|
||||
<div class="card-fog delete-fog {{ classFog }}">
|
||||
<div class="card-fog-container">
|
||||
{% if media.getAds().toArray() or media.getAnswers().toArray() %}
|
||||
<div class="card-fog-message">
|
||||
Vous ne pouvez pas supprimer cette vidéo.<br/>
|
||||
<i data-position="top" data-tooltip="{{ messageTooltipFog }}"
|
||||
class="fa fa-question-circle tooltipped" aria-hidden="true"></i>
|
||||
</div>
|
||||
{% else %}
|
||||
<a class="btn btn-default halfway-fab waves-effect waves-light red delete_unattached_media tooltipped"
|
||||
href="{{ path("delete_unattached_media",{"id" : media.getId()}) }}"
|
||||
data-position="top" data-tooltip="{{ 'media.delete.video.label'|trans }}">Supprimer</a>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-content">
|
||||
<p>
|
||||
<strong><span data-id="{{ media.id }}" class="titleVideo truncate tooltipped"
|
||||
data-position="top"
|
||||
data-tooltip="{{ media.title }}">{{ media.title }}</span></strong>
|
||||
</p>
|
||||
</div>
|
||||
{% set video = null %}
|
||||
|
||||
<div class=" container-fluid container-fixed-lg">
|
||||
<div class="col-lg-8 bloc-header">
|
||||
<div class="card card-default container">
|
||||
<div class="card-body">
|
||||
<div class="row" style="min-height:10rem;">
|
||||
<div class="col-8">
|
||||
<h4 class="header-title" style="font-size:2em;line-height:1.5em;">Vous souhaitez booster vos
|
||||
recrutements ?</h4>
|
||||
<p>Ajoutez une vidéo marque employeur pour présenter votre entreprise et attirer de nouveaux
|
||||
talents.</p>
|
||||
</div>
|
||||
<div class="col-4"
|
||||
style="background-repeat: no-repeat; background-image: url('https://blog.talentstube.com/wp-content/uploads/2021/02/marque-employeur-entreprise.svg');background-size: contain;background-position: center;">
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
{% set video = null %}
|
||||
<div id="addVideo" class="modal modal-fixed-footer">
|
||||
<div class="modal-content">
|
||||
<div class="row">
|
||||
{{ form_start(form, {'attr': { 'id': 'form_media' } }) }}
|
||||
<div class="input-field col s8">
|
||||
{{ form_rest(form) }}
|
||||
</div>
|
||||
<div class="col s4 right-align">
|
||||
<button id="submit" class="btn btn-default disabled" type="submit">Enregistrer</button>
|
||||
{% set messageTooltiped = "Votre vidéo ne doit pas dépasser les 500Mo.\n
|
||||
Les formats de vidéo acceptés sont les suivants : .mp4, .mov, .qt, .mkv, .avi, .m4v, .webm." %}
|
||||
<i class="fa fa-question-circle tooltipped" data-position="top" data-delay="50"
|
||||
data-tooltip="{{ messageTooltiped }}" aria-hidden="true"></i>
|
||||
</div>
|
||||
{{ form_end(form) }}
|
||||
<div class="col s12">
|
||||
{% include 'media/dropzone.html.twig' with {'deleting': 'false'} %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<a href="#!" class="modal-action modal-close btn btn-default btn-round">Fermer</a>
|
||||
</div>
|
||||
<div class="col-lg-8">
|
||||
<div id="addVideo">
|
||||
<div class="card col p-t-20 p-b-15">
|
||||
<div class="row m-b-20">
|
||||
<div class="col">
|
||||
<div class="col">
|
||||
<h4>Importer une vidéo Marque Employeur</h4>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row ">
|
||||
<div class="col ">
|
||||
{% include 'media/dropzone.html.twig' with {'deleting': 'false'} %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col m-t-20">
|
||||
{{ form_start(form, {'attr': { 'id': 'form_media' } }) }}
|
||||
<div class="input-field col">
|
||||
<div>
|
||||
{{ form_rest(form) }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="col m-t-20">
|
||||
<button id="submit" class="btn btn-lg btn-primary disabled" type="submit">Définir comme
|
||||
vidéo marque employeur</button>
|
||||
{% set messageTooltiped = "Votre vidéo ne doit pas dépasser les 500Mo.\n
|
||||
Les formats de vidéo acceptés sont les suivants : .mp4, .mov, .qt, .mkv, .avi, .m4v, .webm." %}
|
||||
<i class="fa fa-question-circle tooltipped" data-position="top" data-delay="50"
|
||||
data-tooltip="{{ messageTooltiped }}" aria-hidden="true"></i>
|
||||
</div>
|
||||
{{ form_end(form) }}
|
||||
</div>
|
||||
</div>
|
||||
{% if app.user.company.presentationVideo %}
|
||||
{% set media = app.user.company.presentationVideo %}
|
||||
<div class="col video_premier z-depth-3 m-t-30 m-b-30">
|
||||
<div class="card-image">
|
||||
<div class="embed-responsive embed-responsive-16by9">
|
||||
{% if app.user.company.presentationVideo %}
|
||||
<div><strong><span data-id="{{ media.id }}"
|
||||
class="titleVideo">{{ media.title }}</span></strong>
|
||||
</div>
|
||||
{% else %}
|
||||
{% set label_title_video = "" %}
|
||||
{% if is_granted('ROLE_COMPANY') %}
|
||||
{% set label_title_video = "Mon entreprise en vidéo" %}
|
||||
{% elseif is_granted('ROLE_TALENT') %}
|
||||
{% set label_title_video = "Mon CV Générique" %}
|
||||
{% endif %}
|
||||
<strong>{{ label_title_video }}</strong>
|
||||
{% endif %}
|
||||
|
||||
{% set media = app.user.company.presentationVideo %}
|
||||
<iframe src="https://player.vimeo.com{{ media.getCdnUrl()|replace({ "videos": "video"}) }}"
|
||||
width="100%" height="550" frameborder="0" webkitallowfullscreen mozallowfullscreen
|
||||
allowfullscreen></iframe>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="col-lg-8">
|
||||
<div class="card card-default card-body">
|
||||
<div class="card-body">
|
||||
<h4>Gestion de mes vidéos</h4>
|
||||
{% set iteration = 0 %}
|
||||
{% set nbMedias = medias|length%}
|
||||
{% for media in medias %}
|
||||
{% set classVideo = "" %}
|
||||
{% if app.user.company.presentationVideo %}
|
||||
{% set idPresentationVideo = app.user.company.presentationVideo.id %}
|
||||
{% else %}
|
||||
{% set idPresentationVideo = false %}
|
||||
{% endif %}
|
||||
{% if idPresentationVideo != media.id %}
|
||||
{# {% if iteration is divisible by(2) or iteration==0%}
|
||||
<div class="row p-t-10 p-b-10">
|
||||
{% endif %} #}
|
||||
|
||||
<div class="col">
|
||||
<div class="card-image">
|
||||
<div class="embed-responsive embed-responsive-16by9">
|
||||
<iframe
|
||||
src="https://player.vimeo.com{{ media.getCdnUrl()|replace({ "videos": "video"}) }}"
|
||||
width="100%" height="230px" frameborder="0" webkitallowfullscreen mozallowfullscreen
|
||||
allowfullscreen></iframe>
|
||||
</div>
|
||||
<div class="row m-t-10 m-b-10">
|
||||
<div class="col card-fog choice-fog">
|
||||
<div class="card-fog-container">
|
||||
<a data-id="{{ media.getId() }}"
|
||||
class="btn btn-default btn-default-video tooltipped"
|
||||
data-position="top"
|
||||
data-tooltip="{{ 'global.video.defaultaction.label'|trans }}">
|
||||
Choisir cette vidéo
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
{% set classFog ="" %}
|
||||
{% set messageTooltipFog ="" %}
|
||||
{% if media.getAds().toArray() %}
|
||||
{% set classFog = "fogLight" %}
|
||||
{% set messageTooltipFog ="Vidéo associée à une annonce" %}
|
||||
{% endif %}
|
||||
|
||||
{% if media.getAnswers().toArray() %}
|
||||
{% set classFog = "fogLight" %}
|
||||
{% set messageTooltipFog ="Vidéo associée à une réponse" %}
|
||||
{% endif %}
|
||||
<div class="card-fog delete-fog ">
|
||||
<div class="card-fog-container">
|
||||
{% if media.getAds().toArray() or media.getAnswers().toArray() %}
|
||||
{# <div class="card-fog-message">
|
||||
Vous ne pouvez pas supprimer cette vidéo.<br />
|
||||
<i data-position="top" data-tooltip="{{ messageTooltipFog }}"
|
||||
class="fa fa-question-circle tooltipped" aria-hidden="true"></i>
|
||||
</div> #}
|
||||
{% else %}
|
||||
<a class="btn btn-default halfway-fab waves-effect waves-light red delete_unattached_media tooltipped"
|
||||
href="{{ path("delete_unattached_media",{"id" : media.getId()}) }}"
|
||||
target="_blank">Supprimer</a>
|
||||
{% endif %}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{# <div class="card-content">
|
||||
<p>
|
||||
<strong><span data-id="{{ media.id }}" class="titleVideo truncate tooltipped"
|
||||
data-position="top" data-tooltip="{{ media.title }}">{{ media.title }}</span></strong>
|
||||
</p>
|
||||
</div> #}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
{# cas d'un nombre impair de video #}
|
||||
{# {% if nbMedias == iteration+1 and iteration is divisible by(2)%}
|
||||
<div class="col">
|
||||
<div class="card-image">
|
||||
<div class="embed-responsive embed-responsive-16by9">
|
||||
|
||||
</div>
|
||||
<div class="row m-t-10 m-b-10">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %} #}
|
||||
{# fermeture de div pour aller à la ligne quand le nombre de video est un multiple de deux et par défaut au début iteration==0 #}
|
||||
{# {% if iteration+1 is divisible by(2) or nbMedias==1%}
|
||||
</div>
|
||||
{% endif %}
|
||||
{% set iteration = iteration+1 %} #}
|
||||
{% else %}
|
||||
{# {% set nbMedias = nbMedias-1%} #}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
{% endblock %}
|
||||
{% block javascripts %}
|
||||
{{ parent() }}
|
||||
<script type="text/javascript">
|
||||
var urlDropzone = '{{ path("upload_media_default", {"id": app.user.id }) }}';
|
||||
var urlDelete = '';
|
||||
var idObject = null;
|
||||
var typeObject = null;
|
||||
var videoExist = false;
|
||||
var mediaDefaultUrl = '{{ path("media_default") }}';
|
||||
var idUser = '{{ app.user.id }}';
|
||||
var mediaEditTitleUrl = "{{ path('media_edit_title', {'id': 'id_video'})|escape('js') }}";
|
||||
</script>
|
||||
<script src="{{ asset('/js/mediaListing.js') }}"></script>
|
||||
<script src="{{ asset('/js/dropzone.js') }}"></script>
|
||||
{{ parent() }}
|
||||
<script type="text/javascript">
|
||||
var urlDropzone = '{{ path("upload_media_default", {"id": app.user.id }) }}';
|
||||
var urlDelete = '';
|
||||
var idObject = null;
|
||||
var typeObject = null;
|
||||
var videoExist = false;
|
||||
var mediaDefaultUrl = '{{ path("media_default") }}';
|
||||
var idUser = '{{ app.user.id }}';
|
||||
var mediaEditTitleUrl = "{{ path('media_edit_title', {'id': 'id_video'})|escape('js') }}";
|
||||
</script>
|
||||
<script src="{{ asset('/js/mediaListing.js') }}"></script>
|
||||
<script src="{{ asset('/js/dropzone.js') }}"></script>
|
||||
{% endblock %}
|
||||
@@ -3,22 +3,18 @@
|
||||
<div class="errors"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="profile_picture_upload">
|
||||
{{ form_start(form, { 'action': path('profile_logo'), 'attr': { 'class': 'fos_user_profile_edit' } }) }}
|
||||
<div class="col s6">
|
||||
<label for="profile_logo_file" class="btn btn-default custom-file-upload">
|
||||
<i class="fa fa-cloud-upload"></i> Importer une photo
|
||||
</label>
|
||||
{{ form_widget(form.file) }}
|
||||
{{ form_rest(form) }}
|
||||
</div>
|
||||
<div class="col s6" style="text-align: center;">
|
||||
<div id="preview_profile_picture">
|
||||
<img src="" class="resize-image responsive-img">
|
||||
</div>
|
||||
<button class="hide btn btn-default btn-save-profile-picture" type="submit">
|
||||
<i class="fa fa-floppy-o" aria-hidden="true"></i> Sauvegarder
|
||||
</button>
|
||||
</div>
|
||||
{{ form_end(form) }}
|
||||
{{ form_start(formLogo, { 'action': path('profile_logo'), 'attr': { 'class': 'fos_user_profile_edit' } }) }}
|
||||
|
||||
|
||||
|
||||
<div class="input-group">
|
||||
{# {{ form_widget(formLogo.file) }} #}
|
||||
{# {{ form_rest(formLogo) }} #}
|
||||
<button aria-label="" type="button" class="btn btn-outline-primary btn-lg m-r-10" onclick="profile_logo_file.click()">Choisir votre logo</button>
|
||||
<button class="btn btn-primary btn-lg" type="submit" id="inputGroupFileAddon04">Valider le logo</button>
|
||||
</div>
|
||||
|
||||
{{ form_end(formLogo) }}
|
||||
</div>
|
||||
@@ -80,7 +80,7 @@ twig:
|
||||
globals:
|
||||
push_public_key: "%push_params.public_key%"
|
||||
fairlane_cookie_consent: '@fairlane_cookie_consent.twig'
|
||||
version: '2.6.1'
|
||||
version: '2.7.5'
|
||||
|
||||
|
||||
|
||||
@@ -160,7 +160,7 @@ doctrine_mongodb:
|
||||
liip_imagine :
|
||||
resolvers :
|
||||
default :
|
||||
web_path : ~
|
||||
web_path: ~
|
||||
filter_sets :
|
||||
cache : ~
|
||||
profile_thumb :
|
||||
|
||||
@@ -4,6 +4,8 @@ namespace AppBundle\Controller;
|
||||
|
||||
use AppBundle\Entity\Ad;
|
||||
use AppBundle\Entity\Answer;
|
||||
use AppBundle\Entity\Note;
|
||||
use AppBundle\Form\NoteAjaxType;
|
||||
use AppBundle\Entity\Company;
|
||||
use AppBundle\Entity\Message;
|
||||
use AppBundle\Form\AnswerType;
|
||||
@@ -48,6 +50,22 @@ class AnswerController extends Controller
|
||||
return new JsonResponse(array('success' => "true", 'code' => $ad->getCode()));
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/anwser/updateStatus/{id}", name="anwser_update_status")
|
||||
*/
|
||||
public function anwserUpdateStatusAction(Request $request, Answer $answer)
|
||||
{
|
||||
if ($answer) {
|
||||
$em = $this->getDoctrine()->getManager();
|
||||
$answer->setStatusReponse($request->query->get('status'));
|
||||
|
||||
$em->persist($answer);
|
||||
$em->flush();
|
||||
}
|
||||
|
||||
return new JsonResponse(array('success' => "true", 'code' => ""));
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -385,7 +403,7 @@ class AnswerController extends Controller
|
||||
if ($this->container->get( 'kernel' )->getEnvironment() == "dev") {
|
||||
$contactMail = "dev@talentstube.com";
|
||||
}
|
||||
if($message->getVideo() == null){
|
||||
// if($message->getVideo() == null){
|
||||
$body = [
|
||||
'FromEmail' => "noreply@talentstube.io",
|
||||
'FromName' => "Talents Tube",
|
||||
@@ -402,37 +420,36 @@ class AnswerController extends Controller
|
||||
]
|
||||
]
|
||||
];
|
||||
}else{
|
||||
$thumbnailsArray = $message->getVideo()->getThumbnails();
|
||||
$img="";
|
||||
if($thumbnailsArray){
|
||||
if($thumbnailsArray[0]){
|
||||
if($thumbnailsArray[0]['sizes']){
|
||||
$img = $thumbnailsArray[0]['sizes'][4]['link'];
|
||||
}
|
||||
}
|
||||
}
|
||||
// }else{
|
||||
// $thumbnailsArray = $message->getVideo()->getThumbnails();
|
||||
// $img="";
|
||||
// if($thumbnailsArray){
|
||||
// if($thumbnailsArray[0]){
|
||||
// if($thumbnailsArray[0]['sizes']){
|
||||
// $img = $thumbnailsArray[0]['sizes'][4]['link'];
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
$body = [
|
||||
'FromEmail' => "noreply@talentstube.io",
|
||||
'FromName' => "Talents tube",
|
||||
'Subject' => "Découvrez la réponse de l’entreprise pour votre candidature",
|
||||
'MJ-TemplateID' =>2196010 ,
|
||||
'MJ-TemplateLanguage' => true,
|
||||
'Recipients' => [
|
||||
[
|
||||
'Email' => $contactMail,
|
||||
'Vars' => [
|
||||
'prenom' => $answer->getUser()->getFirstname(),
|
||||
'entreprise' => $this->getUser()->getCompany()->getBrandName(),
|
||||
'imgReponseEntreprise' => $img,
|
||||
]
|
||||
]
|
||||
]
|
||||
];
|
||||
}
|
||||
$response = $mj->post(Resources::$Email, ['body' => $body]);
|
||||
$response->success() && var_dump($response->getData());
|
||||
// $body = [
|
||||
// 'FromEmail' => "noreply@talentstube.io",
|
||||
// 'FromName' => "Talents tube",
|
||||
// 'Subject' => "Découvrez la réponse de l’entreprise pour votre candidature.",
|
||||
// 'MJ-TemplateID' =>2196010 ,
|
||||
// 'MJ-TemplateLanguage' => true,
|
||||
// 'Recipients' => [
|
||||
// [
|
||||
// 'Email' => $contactMail,
|
||||
// 'Vars' => [
|
||||
// 'prenom' => $answer->getUser()->getFirstname(),
|
||||
// 'entreprise' => $this->getUser()->getCompany()->getBrandName(),
|
||||
// 'imgReponseEntreprise' => $img,
|
||||
// ]
|
||||
// ]
|
||||
// ]
|
||||
// ];
|
||||
// }
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -470,20 +487,42 @@ class AnswerController extends Controller
|
||||
$em = $this->getDoctrine()->getManager();
|
||||
$message->setSubject('Candidature : ' . $title);
|
||||
$message->setContent($messageText);
|
||||
$message->setStatus($form['status']->getData());
|
||||
$message->setAnswer($answer);
|
||||
$message->setStatus('CONTACTED');
|
||||
$em->persist($message);
|
||||
$em->flush();
|
||||
|
||||
$response = $mj->post(Resources::$Email, ['body' => $body]);
|
||||
$response->success() && var_dump($response->getData());
|
||||
return $this->redirectToRoute('company_answer_show', ['id' => $answer->getId()]);
|
||||
}
|
||||
|
||||
$formMessage = $form->createView();
|
||||
$formVideo = $form;
|
||||
$formVideo->remove('message');
|
||||
|
||||
//$formVideo->remove('message');
|
||||
$note = new Note($user);
|
||||
$formNote = $this->createForm(NoteAjaxType::class, $note);
|
||||
$formNote->handleRequest($request);
|
||||
if ($formNote->isSubmitted() && $formNote->isValid()) {
|
||||
$answer->addNote($note);
|
||||
$em->persist($answer);
|
||||
$em->flush();
|
||||
$referer = $request->headers->get('referer');
|
||||
return $this->redirect($referer);
|
||||
}
|
||||
$extension="";
|
||||
if($answer->getUser()->getCompany()->getCv()){
|
||||
//$fichier = new SplFileInfo($answer->getUser()->getCompany()->getCv());
|
||||
|
||||
$fichier = explode(".", $answer->getUser()->getCompany()->getCv());
|
||||
$extension=$fichier[1];
|
||||
}
|
||||
return $this->render('company/answer_show.html.twig', [
|
||||
'answer' => $answer,
|
||||
'extension' => $extension,
|
||||
'form' => $formMessage,
|
||||
'formVideo' => $formVideo->createView(),
|
||||
'formNote' => $formNote->createView(),
|
||||
'type' => $type,
|
||||
'videos' => $videos,
|
||||
'message' => $message
|
||||
@@ -495,27 +534,259 @@ 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)
|
||||
{
|
||||
// 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
|
||||
$companyId = $this->getUser()->getCompany()->getId();
|
||||
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 = $companyId;
|
||||
|
||||
// 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 'video':
|
||||
{
|
||||
if ($answer->getVideo()->getThumbnails()){
|
||||
$img= $answer->getVideo()->getThumbnails()[0]['sizes'][1]['link'];
|
||||
}else{
|
||||
$img= "";
|
||||
|
||||
|
||||
|
||||
}
|
||||
$link = $this->generateUrl('company_answer_show', array('id' => $answer->getId()), UrlGeneratorInterface::ABSOLUTE_URL);
|
||||
$responseTemp = "<a href='".$link."'><img src='".$img."'></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->getCompany()){
|
||||
if($answer->getAd()){
|
||||
$responseTemp = $answer->getAd()->getTitle();
|
||||
}else{
|
||||
$responseTemp = "Candidature spontanée";
|
||||
}
|
||||
}else{
|
||||
$responseTemp = "ND";
|
||||
}
|
||||
|
||||
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")
|
||||
*/
|
||||
|
||||
@@ -68,8 +68,9 @@ class SecurityController extends FOSRestController
|
||||
$email = htmlspecialchars($request->get('email'));
|
||||
$password = htmlspecialchars($request->get('password'));
|
||||
$adId = htmlspecialchars($request->get('adId'));
|
||||
|
||||
if (!isset($firstname) || !isset($lastname) || !isset($email) || !isset($password))
|
||||
$phoneTalent = htmlspecialchars($request->get('phone'));
|
||||
|
||||
if (!isset($firstname) || !isset($lastname) || !isset($email) || !isset($password) )
|
||||
$status = array('status' => "failure", 'message' => 'empty parameters');
|
||||
else {
|
||||
$userManager = $this->get('fos_user.user_manager');
|
||||
@@ -89,7 +90,8 @@ class SecurityController extends FOSRestController
|
||||
$user->setEnabled(false);
|
||||
|
||||
$user->setRoles(array('ROLE_TALENT'));
|
||||
|
||||
|
||||
|
||||
$tokengen = $this->get('fos_user.util.token_generator');
|
||||
$user->setConfirmationToken($tokengen->generateToken());
|
||||
|
||||
@@ -101,11 +103,27 @@ class SecurityController extends FOSRestController
|
||||
$company->setAlias($alias);
|
||||
$company->setType("TALENT");
|
||||
$company->setDescription("Annonce consultée : ".$adId);
|
||||
|
||||
$company->setWebsite("");
|
||||
$company->setLinkedin("");
|
||||
$company->setTwitter("");
|
||||
$company->setTitleTalent("");
|
||||
|
||||
$extra['twitter']=" ";
|
||||
$extra['linkedin']=" ";
|
||||
$extra['phoneTalent']=$phoneTalent;
|
||||
$extra['titleTalent']=" ";
|
||||
$extra['situationTalent']=" ";
|
||||
$extra['descriptionTalent']=" ";
|
||||
|
||||
$company->setExtra($extra);
|
||||
$user->setCompany($company);
|
||||
|
||||
$userManager->updateUser($user);
|
||||
|
||||
}
|
||||
// $userManager->updatePassword($user);//pas besoin car fait dans updateUser , vraiment bizarre....
|
||||
$status = array('status' => "success", 'confirmationToken' => $user->getConfirmationToken(), 'email' => $user->getEmail(), 'firstname' => $user->getFirstname(), 'lastname' => $user->getLastname(), 'adId' => $adId);
|
||||
$status = array('status' => "success", 'confirmationToken' => $user->getConfirmationToken(), 'email' => $user->getEmail(), 'firstname' => $user->getFirstname(), 'lastname' => $user->getLastname(), 'phone' => $company->getPhoneTalent(), 'adId' => $adId);
|
||||
}
|
||||
}
|
||||
return new JsonResponse($status);
|
||||
|
||||
@@ -6,6 +6,7 @@ use AppBundle\Entity\Company;
|
||||
use AppBundle\Entity\User;
|
||||
use AppBundle\Form\AdSearchType;
|
||||
use AppBundle\Form\CompanyProfileType;
|
||||
use AppBundle\Form\ProfileLogoType;
|
||||
use AppBundle\Form\UserType;
|
||||
use AppBundle\Form\UserTypeCreate;
|
||||
use Edeclic\PrestashopBridgeBundle\Event\PrestashopBridgeEvents;
|
||||
@@ -101,15 +102,38 @@ class CompanyController extends Controller
|
||||
if ($form->isSubmitted() && $form->isValid()) {
|
||||
$companyManager = $this->get('app.company_manager');
|
||||
$companyManager->updateCompany($company);
|
||||
$event = new UserEvent($user);
|
||||
$this->get('event_dispatcher')->dispatch(PrestashopBridgeEvents::USER_PROFIL_EDIT_SUCCESS, $event);
|
||||
//$event = new UserEvent($user);
|
||||
//$this->get('event_dispatcher')->dispatch(PrestashopBridgeEvents::USER_PROFIL_EDIT_SUCCESS, $event);
|
||||
|
||||
$this->addFlash(
|
||||
'notice',
|
||||
$this->get('translator')->trans('company.profile.save.title')
|
||||
);
|
||||
return $this->redirectToRoute('company_dashboard');
|
||||
}
|
||||
|
||||
|
||||
|
||||
$formMedia = $this->createForm(ProfileLogoType::class, $company);
|
||||
$formMedia->handleRequest($request);
|
||||
if ($formMedia->isSubmitted() && $formMedia->isValid()) {
|
||||
$companyManager = $this->get('app.company_manager');
|
||||
$companyManager->updateLogo($company);
|
||||
|
||||
$this->addFlash(
|
||||
'notice',
|
||||
$this->get('translator')->trans('Le logo de votre entreprise a bien été modifié')
|
||||
);
|
||||
return $this->redirect($this->generateUrl('company_profile'));
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
return $this->render('company/profile.html.twig', [
|
||||
'company'=>$company,
|
||||
'form' => $form->createView(),
|
||||
'formMedia' => $formMedia->createView(),
|
||||
]);
|
||||
}
|
||||
|
||||
|
||||
@@ -411,20 +411,32 @@ class DefaultController extends Controller
|
||||
if(isset($_SERVER['HTTP_REFERER'])) {
|
||||
$previous = $_SERVER['HTTP_REFERER']." / ".$_SERVER['REQUEST_URI'];
|
||||
}
|
||||
//return $this->render('page_static/marque_employeur.html.twig');
|
||||
//return $this->render('page_static/offre_emploi.html.twig');
|
||||
//return $this->render('page_static/accompagnement_video_company.html.twig');
|
||||
//return $this->render('page_static/reussir_video_company.html.twig');
|
||||
//return $this->render('page_static/accompagnement_video_talent.html.twig');
|
||||
//return $this->render('page_static/cvvideo.html.twig');
|
||||
//return $this->render('page_static/reussir_video_talent.html.twig');
|
||||
//return $this->render('page_static/video_territoire.html.twig');
|
||||
|
||||
return $this->render('landing/offreEmploiOriginal.html.twig', [
|
||||
'previous' => $previous,
|
||||
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/metier-en-tension", name="metier_en_tension")
|
||||
*/
|
||||
public function metierTensionAction()
|
||||
{
|
||||
return $this->render('landing/metierTension.html.twig', [
|
||||
]);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @Route("/recrutement-aide-a-domicile", name="recrutement_aide_a_domicile")
|
||||
*/
|
||||
public function aideADomicileAction()
|
||||
{
|
||||
return $this->render('landing/aideADomicile.html.twig', [
|
||||
]);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @param Request $request
|
||||
|
||||
@@ -36,6 +36,7 @@ class MediaController extends Controller
|
||||
public function companyMediaAction(Request $request)
|
||||
{
|
||||
$event = new UserEvent($this->getUser());
|
||||
$company = $this->getUser()->getCompany();
|
||||
$this->get('event_dispatcher')->dispatch(PrestashopBridgeEvents::USER_PROD_UPDATE, $event);
|
||||
$em = $this->getDoctrine()->getManager();
|
||||
$medias = $em->getRepository('AppBundle:Media')->findBy(array('creator' => $this->getUser()));
|
||||
@@ -48,8 +49,10 @@ class MediaController extends Controller
|
||||
$media->setTitle($title);
|
||||
$em->persist($media);
|
||||
$em->flush();
|
||||
|
||||
return $this->redirectToRoute('company_ad');
|
||||
$company->setPresentationVideo($media);
|
||||
$em->persist($company);
|
||||
$em->flush();
|
||||
return $this->redirectToRoute('company_marque');
|
||||
}
|
||||
|
||||
return $this->render('media/media_list.html.twig', array(
|
||||
@@ -111,9 +114,9 @@ class MediaController extends Controller
|
||||
]);
|
||||
}
|
||||
public function convertKekab($string){
|
||||
$search = array('À', 'Á', 'Â', 'Ã', 'Ä', 'Å', 'Ç', 'È', 'É', 'Ê', 'Ë', 'Ì', 'Í', 'Î', 'Ï', 'Ò', 'Ó', 'Ô', 'Õ', 'Ö', 'Ù', 'Ú', 'Û', 'Ü', 'Ý', 'à', 'á', 'â', 'ã', 'ä', 'å', 'ç', 'è', 'é', 'ê', 'ë', 'ì', 'í', 'î', 'ï', 'ð', 'ò', 'ó', 'ô', 'õ', 'ö', 'ù', 'ú', 'û', 'ü', 'ý', 'ÿ', "/");
|
||||
$search = array('À', 'Á', 'Â', 'Ã', 'Ä', 'Å', 'Ç', 'È', 'É', 'Ê', 'Ë', 'Ì', 'Í', 'Î', 'Ï', 'Ò', 'Ó', 'Ô', 'Õ', 'Ö', 'Ù', 'Ú', 'Û', 'Ü', 'Ý', 'à', 'á', 'â', 'ã', 'ä', 'å', 'ç', 'è', 'é', 'ê', 'ë', 'ì', 'í', 'î', 'ï', 'ð', 'ò', 'ó', 'ô', 'õ', 'ö', 'ù', 'ú', 'û', 'ü', 'ý', 'ÿ', "/", "'");
|
||||
//Préférez str_replace à strtr car strtr travaille directement sur les octets, ce qui pose problème en UTF-8
|
||||
$replace = array('A', 'A', 'A', 'A', 'A', 'A', 'C', 'E', 'E', 'E', 'E', 'I', 'I', 'I', 'I', 'O', 'O', 'O', 'O', 'O', 'U', 'U', 'U', 'U', 'Y', 'a', 'a', 'a', 'a', 'a', 'a', 'c', 'e', 'e', 'e', 'e', 'i', 'i', 'i', 'i', 'o', 'o', 'o', 'o', 'o', 'o', 'u', 'u', 'u', 'u', 'y', 'y', "s");
|
||||
$replace = array('A', 'A', 'A', 'A', 'A', 'A', 'C', 'E', 'E', 'E', 'E', 'I', 'I', 'I', 'I', 'O', 'O', 'O', 'O', 'O', 'U', 'U', 'U', 'U', 'Y', 'a', 'a', 'a', 'a', 'a', 'a', 'c', 'e', 'e', 'e', 'e', 'i', 'i', 'i', 'i', 'o', 'o', 'o', 'o', 'o', 'o', 'u', 'u', 'u', 'u', 'y', 'y', "", "");
|
||||
|
||||
$string = str_replace($search, $replace, $string);
|
||||
$string = strtolower (str_replace(" ", "-", $string));
|
||||
@@ -324,7 +327,7 @@ class MediaController extends Controller
|
||||
];
|
||||
$response = $mj->post(Resources::$Email, ['body' => $body]);
|
||||
$response->success() && var_dump($response->getData());
|
||||
$message="Talents Tube a bien reçu vos séquences vidéos. Nous vous recontacterons par email pour finaliser la publication de votre annonce.";
|
||||
$message="Talents Tube a bien reçu vos séquences vidéo. Nous vous recontacterons par email pour finaliser la publication de votre annonce.";
|
||||
}
|
||||
|
||||
return $this->render('company/createMedia.html.twig', array(
|
||||
@@ -529,10 +532,10 @@ class MediaController extends Controller
|
||||
'notice',
|
||||
$this->get('translator')->trans('Le logo de votre entreprise a bien été modifié')
|
||||
);
|
||||
return $this->redirect($this->generateUrl('company_dashboard'));
|
||||
return $this->redirect($this->generateUrl('company_profile'));
|
||||
}
|
||||
return $this->render('profile/form_logo.html.twig', [
|
||||
'form' => $form->createView(),
|
||||
'formLogo' => $form->createView(),
|
||||
]);
|
||||
}
|
||||
|
||||
|
||||
@@ -105,6 +105,14 @@ class Answer
|
||||
*/
|
||||
private $vote;
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*
|
||||
* @ORM\Column(name="status_reponse", type="string", length=255, nullable=true, options={"default":"A_TRAITER"})
|
||||
*
|
||||
*/
|
||||
private $statusReponse ='A_TRAITER';
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*
|
||||
@@ -259,6 +267,54 @@ class Answer
|
||||
return $this->vote;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set status.
|
||||
*
|
||||
* @param int|null $status
|
||||
*
|
||||
* @return Answer
|
||||
*/
|
||||
public function setStatus($status = null)
|
||||
{
|
||||
$this->status = $status;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get status.
|
||||
*
|
||||
* @return int|null
|
||||
*/
|
||||
public function getStatus()
|
||||
{
|
||||
return $this->status;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set statusReponse.
|
||||
*
|
||||
* @param string|null $statusReponse
|
||||
*
|
||||
* @return Answer
|
||||
*/
|
||||
public function setStatusReponse($statusReponse = null)
|
||||
{
|
||||
$this->statusReponse = $statusReponse;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get status.
|
||||
*
|
||||
* @return string|null
|
||||
*/
|
||||
public function getStatusReponse()
|
||||
{
|
||||
return $this->statusReponse;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set ad.
|
||||
*
|
||||
|
||||
@@ -88,6 +88,7 @@ class User extends BaseUser
|
||||
* @Groups({"ad_detail", "ad_list", "answer_detail", "company_detail"})
|
||||
*/
|
||||
private $geoloc;
|
||||
private $geolocLocality;
|
||||
|
||||
/**
|
||||
* @ORM\ManyToOne(targetEntity="AppBundle\Entity\Company", inversedBy="users", cascade={"persist"})
|
||||
@@ -653,6 +654,18 @@ class User extends BaseUser
|
||||
return $this->geoloc;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get geolocLocality.
|
||||
*
|
||||
* @return json_document|null
|
||||
*/
|
||||
public function getGeolocLocality()
|
||||
{
|
||||
|
||||
$this->geolocLocality=$this->geoloc;
|
||||
return $this->geolocLocality;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set facebookId.
|
||||
*
|
||||
|
||||
@@ -82,15 +82,15 @@ class AdSoftType extends AbstractType
|
||||
'label' => 'Description du poste',
|
||||
'attr' => array(
|
||||
'class' => 'materialize-textarea',
|
||||
'placeholder' => 'Décrire votre annonce',
|
||||
'class' => 'form-control'
|
||||
'placeholder' => 'Décrire le poste, les missions, le profil recherché...',
|
||||
'class' => 'form-control',
|
||||
'style' => 'min-height:250px;'
|
||||
)
|
||||
))
|
||||
->add('beneficiaire', TextType::class, array(
|
||||
'label' => 'Organisation cliente (facultatif)',
|
||||
'label' => "Nom de l'organisation",
|
||||
'required' => false,
|
||||
'attr' => array(
|
||||
'placeholder' => 'Indiquer une organisation',
|
||||
'class' => 'form-control'
|
||||
)
|
||||
))
|
||||
@@ -110,6 +110,7 @@ class AdSoftType extends AbstractType
|
||||
'attr' => array(
|
||||
'class' => 'form-control',
|
||||
//'data-init-plugin' => 'cs-select'
|
||||
|
||||
)
|
||||
))
|
||||
->add('duree_contrat', IntegerType::class, array(
|
||||
@@ -190,25 +191,13 @@ class AdSoftType extends AbstractType
|
||||
|
||||
)
|
||||
))
|
||||
->add('status', ChoiceType::class, array(
|
||||
->add('status', HiddenType::class, array(
|
||||
'label' =>'Statut',
|
||||
'choices' => array(
|
||||
'Brouillon' => 'DRAFT',
|
||||
'A publier (Validation par Talents Tube)' => 'TO_PUBLISH',
|
||||
),
|
||||
'attr' => array(
|
||||
'class' => 'form-control',
|
||||
'value' => 'TO_PUBLISH',
|
||||
)
|
||||
|
||||
))
|
||||
->add('publicTag', TextType::class, array(
|
||||
'label' => 'profile.company.tags',
|
||||
'data' => $publicTags,
|
||||
'attr' => array(
|
||||
'class' => 'tag label label-info'
|
||||
)
|
||||
)
|
||||
)
|
||||
->add('competences', HiddenType::class, array(
|
||||
'mapped' => false,
|
||||
'label' => 'competences',
|
||||
|
||||
@@ -71,22 +71,21 @@ class AdType extends AbstractType
|
||||
->add('reference', TextType::class, array(
|
||||
'label' => 'Référence de l\'annonce',
|
||||
'attr' => array(
|
||||
'placeholder' => 'Indiquer une référence',
|
||||
'placeholder' => 'Ex : OFFRE_521',
|
||||
'class' => 'form-control'
|
||||
)
|
||||
))
|
||||
->add('title', TextType::class, array(
|
||||
'label' => 'Intitulé du poste',
|
||||
'attr' => array(
|
||||
'placeholder' => 'Indiquer un titre',
|
||||
'placeholder' => 'Ex : Commercial (H/F)',
|
||||
'class' => 'form-control'
|
||||
)
|
||||
))
|
||||
->add('beneficiaire', TextType::class, array(
|
||||
'label' => 'Organisation cliente (facultatif) ',
|
||||
'label' => "Nom de l'organisation",
|
||||
'required' => false,
|
||||
'attr' => array(
|
||||
'placeholder' => 'Indiquer une organisation',
|
||||
'class' => 'form-control'
|
||||
)
|
||||
))
|
||||
@@ -106,13 +105,14 @@ class AdType extends AbstractType
|
||||
'label' => 'Description du poste',
|
||||
'attr' => array(
|
||||
'class' => 'materialize-textarea',
|
||||
'placeholder' => 'Décrire votre annonce',
|
||||
'class' => 'form-control'
|
||||
'placeholder' => 'Décrire le poste, les missions, le profil recherché...',
|
||||
'class' => 'form-control',
|
||||
'style' => 'min-height:250px;'
|
||||
)
|
||||
))
|
||||
->add('contract_type', ChoiceType::class, array(
|
||||
'mapped' => false,
|
||||
'label' => 'Type de contrat:',
|
||||
'label' => 'Type de contrat',
|
||||
'data' => $contract_type,
|
||||
'choices' => array(
|
||||
'CDI' => 'CDI',
|
||||
@@ -206,27 +206,6 @@ class AdType extends AbstractType
|
||||
//'data-init-plugin' => 'cs-select'
|
||||
)
|
||||
))
|
||||
->add('publicTag', TextType::class, array(
|
||||
'label' => 'profile.company.tags',
|
||||
'data' => $publicTags,
|
||||
'attr' => array(
|
||||
'value' => $publicTags,
|
||||
'class' => 'tag label label-info',
|
||||
'data-role'=>"tagsinput"
|
||||
|
||||
)
|
||||
))
|
||||
->add('status', ChoiceType::class, array(
|
||||
'label' =>'Statut',
|
||||
'choices' => array(
|
||||
'Brouillon' => 'DRAFT',
|
||||
'A publier (Validation par Talents Tube)' => 'TO_PUBLISH',
|
||||
),
|
||||
'attr' => array(
|
||||
'class' => 'form-control',
|
||||
)
|
||||
|
||||
))
|
||||
->add('competences', HiddenType::class, array(
|
||||
'mapped' => false,
|
||||
'label' =>'Compétences',
|
||||
|
||||
@@ -75,13 +75,13 @@ class AdType extends AbstractType
|
||||
'class' => 'form-control'
|
||||
)
|
||||
))
|
||||
->add('publicTag', TextType::class, array(
|
||||
'label' => 'Tags de l\'annonce (séparés par une virgules)',
|
||||
'data' => $publicTags,
|
||||
'attr' => array(
|
||||
'class' => 'form-control'
|
||||
)
|
||||
))
|
||||
// ->add('publicTag', TextType::class, array(
|
||||
// 'label' => 'Tags de l\'annonce (séparés par une virgules)',
|
||||
// 'data' => $publicTags,
|
||||
// 'attr' => array(
|
||||
// 'class' => 'form-control'
|
||||
// )
|
||||
// ))
|
||||
->add('status', ChoiceType::class, array(
|
||||
'label' =>'Statut',
|
||||
'choices' => array(
|
||||
|
||||
@@ -45,7 +45,8 @@ class CompanyProfileType extends AbstractType
|
||||
->add('description', TextareaType::class, array(
|
||||
'label' => 'profile.company.description',
|
||||
'attr' => array(
|
||||
'class' => 'form-control'
|
||||
'class' => 'form-control',
|
||||
'style'=>"min-height:250px;"
|
||||
)
|
||||
))
|
||||
->add('website', UrlType::class, array(
|
||||
@@ -117,15 +118,15 @@ class CompanyProfileType extends AbstractType
|
||||
)
|
||||
));
|
||||
//Tags field
|
||||
$builder
|
||||
->add('tagsComma', TextType::class, array(
|
||||
'label' => 'profile.company.tags',
|
||||
'attr' => array(
|
||||
'data-role'=>"materialtags",
|
||||
'placeholder' => 'Insérez une virgule ou appuyez sur ENTRÉE pour séparer vos mots-clés.',
|
||||
'class' => 'form-control'
|
||||
)
|
||||
));
|
||||
// $builder
|
||||
// ->add('tagsComma', TextType::class, array(
|
||||
// 'label' => 'profile.company.tags',
|
||||
// 'attr' => array(
|
||||
// 'data-role'=>"materialtags",
|
||||
// 'placeholder' => 'Insérez une virgule ou appuyez sur ENTRÉE pour séparer vos mots-clés.',
|
||||
// 'class' => 'form-control'
|
||||
// )
|
||||
// ));
|
||||
// File fields
|
||||
/*$builder
|
||||
->add('file', FileType::class, array(
|
||||
|
||||
@@ -16,28 +16,29 @@ class ContactTalentType extends AbstractType
|
||||
'label' => false,
|
||||
'required' => true,
|
||||
'attr' => array(
|
||||
'placeholder' => 'Rédigez un message de réponse',
|
||||
'class' => 'form-control'
|
||||
'placeholder' => 'Rédigez un message de réponse.',
|
||||
'class' => 'form-control',
|
||||
'style'=>"min-height:250px;"
|
||||
)
|
||||
));
|
||||
if(!isset($options['data']['subject']) || ($options['data']['subject'] == true)){
|
||||
$arraySubjects = array(
|
||||
'Choisir un statut' => null,
|
||||
'POSITIVE' => 'POSITIVE',
|
||||
'INFOS' => 'INFOS',
|
||||
'CONTACTED.RDV' => 'CONTACTED.RDV',
|
||||
'NEGATIVE' => 'NEGATIVE'
|
||||
);
|
||||
$builder
|
||||
->add('status', ChoiceType::class, array(
|
||||
'label' => false,
|
||||
'required' => true,
|
||||
'choices' => $arraySubjects,
|
||||
'attr' => array(
|
||||
'id' => 'test',
|
||||
'class' => 'form-control'
|
||||
)
|
||||
));
|
||||
}
|
||||
// if(!isset($options['data']['subject']) || ($options['data']['subject'] == true)){
|
||||
// $arraySubjects = array(
|
||||
// 'Choisir un statut' => null,
|
||||
// 'POSITIVE' => 'POSITIVE',
|
||||
// 'INFOS' => 'INFOS',
|
||||
// 'CONTACTED.RDV' => 'CONTACTED.RDV',
|
||||
// 'NEGATIVE' => 'NEGATIVE'
|
||||
// );
|
||||
// $builder
|
||||
// ->add('status', ChoiceType::class, array(
|
||||
// 'label' => false,
|
||||
// 'required' => true,
|
||||
// 'choices' => $arraySubjects,
|
||||
// 'attr' => array(
|
||||
// 'id' => 'test',
|
||||
// 'class' => 'form-control'
|
||||
// )
|
||||
// ));
|
||||
// }
|
||||
}
|
||||
}
|
||||
@@ -3,7 +3,7 @@ namespace AppBundle\Form;
|
||||
|
||||
use AppBundle\Entity\Note;
|
||||
use Symfony\Component\Form\AbstractType;
|
||||
use Symfony\Component\Form\Extension\Core\Type\TextType;
|
||||
use Symfony\Component\Form\Extension\Core\Type\TextareaType;
|
||||
use Symfony\Component\Form\FormBuilderInterface;
|
||||
use Symfony\Component\OptionsResolver\OptionsResolver;
|
||||
|
||||
@@ -11,10 +11,18 @@ class NoteAjaxType extends AbstractType
|
||||
{
|
||||
public function buildForm(FormBuilderInterface $builder, array $options)
|
||||
{
|
||||
//
|
||||
$builder
|
||||
->add('content', TextType::class, array(
|
||||
->add('content', TextareaType::class, array(
|
||||
'label' => 'Note',
|
||||
'required' => true,
|
||||
|
||||
'attr' => array(
|
||||
'class' => 'form-control',
|
||||
'rows' =>"5",
|
||||
'style' =>"min-height:4em;",
|
||||
'placeholder' => 'Ce commentaire sera visible uniquement par vous et les autres utilisateurs de l’espace recruteur.',
|
||||
)
|
||||
));
|
||||
}
|
||||
|
||||
|
||||
@@ -15,6 +15,7 @@ namespace AppBundle\Form;
|
||||
use Symfony\Component\Form\AbstractType;
|
||||
use Symfony\Component\Form\FormBuilderInterface;
|
||||
use Symfony\Component\Form\Extension\Core\Type\FileType;
|
||||
use Symfony\Component\Validator\Constraints\File;
|
||||
|
||||
class ProfileLogoType extends AbstractType
|
||||
{
|
||||
@@ -22,11 +23,24 @@ class ProfileLogoType extends AbstractType
|
||||
{
|
||||
$builder
|
||||
->add('file', FileType::class, array(
|
||||
'label' => 'Logo de votre entreprise',
|
||||
'label' => ' ',
|
||||
'required' => false,
|
||||
|
||||
'attr' => array(
|
||||
'class' => 'file-path validate'
|
||||
)
|
||||
'accept' => "image/x-png,image/jpeg",
|
||||
'style' => 'display: none;',
|
||||
),
|
||||
'constraints' => [
|
||||
new File([
|
||||
'maxSize' => '5120k',
|
||||
'mimeTypes' => [
|
||||
'image/jpg',
|
||||
'image/jpeg',
|
||||
'image/png',
|
||||
],
|
||||
'mimeTypesMessage' => 'Votre fichier doit être un fichier image',
|
||||
])
|
||||
],
|
||||
));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -201,20 +201,20 @@ class AnswerRepository extends AbstractRepository
|
||||
// ->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);
|
||||
$query->where("company.id=".$otherConditions);
|
||||
$countQuery->where("company.id=".$otherConditions);
|
||||
$query->andWhere("a.status='SENDED'");
|
||||
$countQuery->andWhere("a.status='SENDED'");
|
||||
}else{
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
// Fields Search
|
||||
foreach ($columns as $key => $column)
|
||||
{
|
||||
@@ -231,25 +231,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':
|
||||
|
||||
@@ -64,6 +64,7 @@ class MediaManager
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
// TODO : THUNBNAIL A OPTIMISER
|
||||
if ($video) {
|
||||
$arrayThumb = $video->getThumbnails();
|
||||
if ($force == true || empty($arrayThumb[0])) {
|
||||
@@ -84,11 +85,12 @@ class MediaManager
|
||||
*/
|
||||
public function delete($entity)
|
||||
{
|
||||
if ($this->env != "dev") {
|
||||
|
||||
$video = $entity;
|
||||
if (unlink($this->mediaVideoDir . $video->getOriginalUrl())) {
|
||||
$response = $this->vimeo->request($video->getCdnUrl(), [], 'DELETE');
|
||||
|
||||
if ($this->env != "dev") {
|
||||
$response = $this->vimeo->request($video->getCdnUrl(), [], 'DELETE');
|
||||
}
|
||||
$this->em->remove($video);
|
||||
$this->em->flush();
|
||||
|
||||
@@ -96,9 +98,7 @@ class MediaManager
|
||||
} else {
|
||||
return array('success' => "false");
|
||||
}
|
||||
} else {
|
||||
return array('success' => "true");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -75,6 +75,7 @@ class StatsManager
|
||||
|
||||
}
|
||||
$date = $record->getCtime();
|
||||
if(!$date) $date=date('Y-m-d');
|
||||
$stringDate = $date->format('Y-m-d');
|
||||
$arrayRecords['company'][$stringDate][$idCompany] = 0;
|
||||
if (!isset($arrayRecords['ad'][$stringDate][$ad->getId()])) {
|
||||
@@ -176,6 +177,7 @@ class StatsManager
|
||||
public function getCompanyDashboard($idCompany, $dateArray)
|
||||
{
|
||||
$arrByAd = array();
|
||||
$stringDate =null;
|
||||
$arrDatasetsAd = array();
|
||||
$arrDatasetsCompany = array();
|
||||
$arrayRecords = array();
|
||||
|
||||
+2
-2
@@ -1,5 +1,5 @@
|
||||
liip_imagine_filter_runtime:
|
||||
path: /media/cache/resolve/{filter}/rc/{hash}/{path}
|
||||
path: /media/cache/{filter}/rc/{hash}/{path}
|
||||
defaults:
|
||||
_controller: '%liip_imagine.controller.filter_runtime_action%'
|
||||
methods:
|
||||
@@ -9,7 +9,7 @@ liip_imagine_filter_runtime:
|
||||
path: .+
|
||||
|
||||
liip_imagine_filter:
|
||||
path: /media/cache/resolve/{filter}/{path}
|
||||
path: /media/cache/{filter}/{path}
|
||||
defaults:
|
||||
_controller: '%liip_imagine.controller.filter_action%'
|
||||
methods:
|
||||
|
||||
@@ -3,23 +3,25 @@
|
||||
* Override Pages default styles or create your own styles here
|
||||
|
||||
*/
|
||||
.jumbotron h1.large-demo-text{
|
||||
.jumbotron h1.large-demo-text {
|
||||
font-size: 150px;
|
||||
}
|
||||
|
||||
.icon-text-search{
|
||||
.icon-text-search {
|
||||
font-size: 42px;
|
||||
width: 150%;
|
||||
}
|
||||
|
||||
.green{
|
||||
background-color: green;
|
||||
|
||||
.green {
|
||||
background-color: #21c87a;
|
||||
|
||||
}
|
||||
.fondBlanc{
|
||||
|
||||
.fondBlanc {
|
||||
background-color: #fff;
|
||||
|
||||
|
||||
}
|
||||
|
||||
.circle-letters {
|
||||
margin: 0 auto;
|
||||
width: 170px;
|
||||
@@ -29,75 +31,78 @@
|
||||
color: #fff;
|
||||
line-height: 170px;
|
||||
text-align: center;
|
||||
background: #155ee4;
|
||||
background: #155ee4;
|
||||
}
|
||||
|
||||
.font-2 {
|
||||
font-family: "Varela Round", sans-serif; }
|
||||
font-family: "Varela Round", sans-serif;
|
||||
}
|
||||
|
||||
.container-envoi-videos{
|
||||
width:100%;
|
||||
height:auto;
|
||||
border:1px solid #1689FB;
|
||||
border-radius:5px;
|
||||
margin-bottom:30px;
|
||||
}
|
||||
|
||||
.titre-bloc-envoi-videos{
|
||||
background-color:#1689FB;
|
||||
padding:15px;
|
||||
}
|
||||
|
||||
.image-envoi-video{
|
||||
display:inline-block;
|
||||
width:60px;
|
||||
height:60px;
|
||||
vertical-align: baseline;
|
||||
margin-right:20px;
|
||||
}
|
||||
|
||||
.texte-envoi-video{
|
||||
display:inline-block;
|
||||
}
|
||||
|
||||
.container-envoi-videos h4,.container-envoi-videos h5 {
|
||||
color:#fff;
|
||||
}
|
||||
|
||||
.container-envoi-videos h4{
|
||||
font-size:1.250em;
|
||||
}
|
||||
|
||||
.container-envoi-videos h5{
|
||||
font-size:1em;
|
||||
}
|
||||
|
||||
.contenu-bloc-envoi-videos{
|
||||
padding:15px;
|
||||
}
|
||||
|
||||
.contenu-bloc-envoi-videos p, .contenu-bloc-envoi-videos label{
|
||||
color:#000;
|
||||
font-weight: bold;
|
||||
font-size:1em;
|
||||
margin:10px 0;
|
||||
}
|
||||
|
||||
.contenu-bloc-envoi-videos button{
|
||||
display:block;
|
||||
margin :20px 0;
|
||||
}
|
||||
|
||||
.contenu-bloc-envoi-videos input{
|
||||
display:block;
|
||||
}
|
||||
|
||||
.underline{
|
||||
text-decoration : underline;
|
||||
|
||||
}
|
||||
.container-envoi-videos {
|
||||
width: 100%;
|
||||
height: auto;
|
||||
border: 1px solid #1689FB;
|
||||
border-radius: 5px;
|
||||
margin-bottom: 30px;
|
||||
}
|
||||
|
||||
.text-card h3, .text-card span, .text-card h4{
|
||||
.titre-bloc-envoi-videos {
|
||||
background-color: #1689FB;
|
||||
padding: 15px;
|
||||
}
|
||||
|
||||
.image-envoi-video {
|
||||
display: inline-block;
|
||||
width: 60px;
|
||||
height: 60px;
|
||||
vertical-align: baseline;
|
||||
margin-right: 20px;
|
||||
}
|
||||
|
||||
.texte-envoi-video {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.container-envoi-videos h4,
|
||||
.container-envoi-videos h5 {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.container-envoi-videos h4 {
|
||||
font-size: 1.250em;
|
||||
}
|
||||
|
||||
.container-envoi-videos h5 {
|
||||
font-size: 1em;
|
||||
}
|
||||
|
||||
.contenu-bloc-envoi-videos {
|
||||
padding: 15px;
|
||||
}
|
||||
|
||||
.contenu-bloc-envoi-videos p,
|
||||
.contenu-bloc-envoi-videos label {
|
||||
color: #000;
|
||||
font-weight: bold;
|
||||
font-size: 1em;
|
||||
margin: 10px 0;
|
||||
}
|
||||
|
||||
.contenu-bloc-envoi-videos button {
|
||||
display: block;
|
||||
margin: 20px 0;
|
||||
}
|
||||
|
||||
.contenu-bloc-envoi-videos input {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.underline {
|
||||
text-decoration: underline;
|
||||
|
||||
}
|
||||
|
||||
/* .text-card h3, .text-card span, .text-card h4{
|
||||
color:#fff;
|
||||
}
|
||||
|
||||
@@ -126,5 +131,123 @@
|
||||
|
||||
.vertical-border{
|
||||
border-right: 1px solid white;
|
||||
}
|
||||
|
||||
} */
|
||||
|
||||
/********************************************
|
||||
Statistiques
|
||||
Nombre total de candidatures /
|
||||
*******************************************/
|
||||
.text-card {
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
.text-card a {
|
||||
color: #1689fb;
|
||||
}
|
||||
|
||||
.vertical-border {
|
||||
border-right: 1px solid #e8e8e9;
|
||||
}
|
||||
|
||||
.bloc-stats {
|
||||
background-color: white;
|
||||
padding: 1.2em;
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
/********************************************
|
||||
Boutons d'action : Tableau de bord
|
||||
Créer une offre d'emploi vidéo / Gérer mes offres d'emploi / Gérer mes candidatures
|
||||
*******************************************/
|
||||
|
||||
.bloc-tdb .container {
|
||||
background-color: transparent;
|
||||
margin-top: 3em
|
||||
}
|
||||
|
||||
.card-action {
|
||||
margin-top: 10px;
|
||||
border: none;
|
||||
height: 8em;
|
||||
padding: 1.2em;
|
||||
width: 100%;
|
||||
background-color: #1689fb;
|
||||
text-align: left;
|
||||
border-radius: 20px;
|
||||
cursor: pointer;
|
||||
box-shadow: 0px 2px 5px rgb(30 35 39 / 5%);
|
||||
transition: background-color 0.3s;
|
||||
transition: box-shadow 0.5s;
|
||||
}
|
||||
|
||||
.card-action:hover {
|
||||
background: #2c94fb;
|
||||
}
|
||||
|
||||
.card-action span {
|
||||
color: #fff
|
||||
}
|
||||
|
||||
.card-action a {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.card-action:hover {
|
||||
box-shadow: 0px 6px 16px rgb(30 35 39 / 15%);
|
||||
}
|
||||
|
||||
.lien-fleche {
|
||||
align-items: center;
|
||||
justify-content: center
|
||||
}
|
||||
|
||||
.fleche {
|
||||
padding-left: 0;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.fleche-stats {
|
||||
color: #1689fb;
|
||||
text-align: right;
|
||||
}
|
||||
/******** Pages de liste de candidatures liées à une offre d'emploi ********/
|
||||
|
||||
|
||||
#reponses td{vertical-align:middle;}
|
||||
|
||||
|
||||
/****************
|
||||
Détails d'une candidature
|
||||
*****************/
|
||||
|
||||
.profil-candidature{
|
||||
min-height:150px;
|
||||
}
|
||||
|
||||
.profil-candidature-action{
|
||||
padding-top:45px;
|
||||
}
|
||||
|
||||
.candidature-action{
|
||||
margin-bottom:15px;
|
||||
}
|
||||
|
||||
|
||||
.details-candidature {
|
||||
padding-top:1em;
|
||||
padding-bottom:1em;
|
||||
}
|
||||
|
||||
.icons-candidatures{
|
||||
vertical-align: middle;margin-right:10px;
|
||||
}
|
||||
|
||||
.bloc-commentaire{
|
||||
margin-bottom:20px;
|
||||
}
|
||||
|
||||
.dropzone{
|
||||
border:2px dashed rgba(33, 33, 33, 0.14);
|
||||
border-radius:5px;
|
||||
padding:20px;
|
||||
}
|
||||
@@ -38,7 +38,7 @@ if ($("#dropzone-row").length) {
|
||||
// location.reload();
|
||||
// } else {
|
||||
if (response.success == 200) {
|
||||
$('#preview_video').html('<div class="green center-align" style="border-radius:10px;padding:20px;color:#FFF;">Votre vidéo a été bien enregistrée.</div>')
|
||||
$('#preview_video').html('<div class="green center-align" style="border-radius:10px;padding:20px;color:#FFF;">Votre vidéo est enregistrée.</div>')
|
||||
//CAS VIDEO NON ATTACHEE
|
||||
if ($("#form_media").length) {
|
||||
$("#form_media .id_media").attr('value', response.mediaId);
|
||||
|
||||
@@ -1,32 +1,33 @@
|
||||
var titleConfirmationDelete = "Comfirmation de suppression";
|
||||
var titleConfirmationDelete = "Confirmation de suppression";
|
||||
var texteConfirmationDelete = "Souhaitez-vous supprimer cette vidéo ?";
|
||||
|
||||
$(".delete_unattached_media").click(function(event){
|
||||
event.preventDefault();
|
||||
parentDiv = $(this).closest('.col');
|
||||
var url = $(this).attr('href');
|
||||
$.confirm({
|
||||
title: titleConfirmationDelete,
|
||||
content: texteConfirmationDelete,
|
||||
type: 'red',
|
||||
boxWidth: '30%',
|
||||
useBootstrap: false,
|
||||
buttons: {
|
||||
confirm: {
|
||||
text: 'Confirmer',
|
||||
action: function () {
|
||||
$.get(url,
|
||||
function(response){
|
||||
console.log(response);
|
||||
}, "json");
|
||||
parentDiv.fadeOut();
|
||||
}
|
||||
if (window.confirm(texteConfirmationDelete)) {
|
||||
|
||||
$.ajax({
|
||||
url : url,
|
||||
success : function(code_html, statut){ // success est toujours en place, bien sûr !
|
||||
console.log("SUPPRESSION EFFECTUE");
|
||||
location.reload();
|
||||
},
|
||||
cancel: {
|
||||
text: 'Annuler',
|
||||
|
||||
error : function(resultat, statut, erreur){
|
||||
console.log("SUPPRESSION KO")
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
return false;
|
||||
});
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Binary file not shown.
|
After Width: | Height: | Size: 16 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 17 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 85 KiB |
BIN
Binary file not shown.
|
After Width: | Height: | Size: 18 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 21 KiB |
Binary file not shown.
Binary file not shown.
@@ -5,8 +5,21 @@
|
||||
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/recrutement-aide-a-domicile</loc>
|
||||
<lastmod>2021-03-09T16:05:39+00:00</lastmod>
|
||||
<priority>1.00</priority>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://recruteur.talentstube.com/metier-en-tension</loc>
|
||||
<lastmod>2021-03-09T16:05:39+00:00</lastmod>
|
||||
<priority>1.00</priority>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://recruteur.talentstube.com/offre-emploi-originale</loc>
|
||||
<lastmod>2021-02-10T16:05:39+00:00</lastmod>
|
||||
<priority>1.00</priority>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://recruteur.talentstube.com/</loc>
|
||||
<lastmod>2020-11-18T16:05:39+00:00</lastmod>
|
||||
@@ -54,4 +67,4 @@
|
||||
</url>
|
||||
|
||||
|
||||
</urlset>
|
||||
</urlset>
|
||||
|
||||
Reference in New Issue
Block a user