Compare commits

...

18 Commits

Author SHA1 Message Date
llaniau 8808da8af1 params pre prod 2020-09-21 08:46:15 +02:00
llaniau 6ba0c4744e param prod 2020-09-21 08:38:17 +02:00
llaniau f8a03f317b parameter pre prod erreur 2020-09-21 08:36:25 +02:00
llaniau 8de926b22f Modif param mail et resolution de bugs mineur 2020-09-19 11:46:29 +02:00
llaniau eb70757671 Suppression d'un user (correction d'un bug) 2020-09-17 16:35:50 +02:00
llaniau 0c82a72da5 oubli de mdp 2020-09-16 18:08:01 +02:00
llaniau 719c6ae0ee erreur 404 2020-09-15 17:43:41 +02:00
llaniau ba84cc4859 changement d'adresse mail de ref 2020-09-15 14:11:25 +02:00
llaniau 09716c5b69 page tarifs 2020-09-15 12:45:26 +02:00
llaniau 5d593cf46c Page tarifs plus changement lien contact 2020-09-15 12:42:53 +02:00
llaniau 676317050a Modif adblock maj de ads->jobs 2020-09-15 11:46:38 +02:00
llaniau 3d64f000e0 Ajout d(une video marque employeur 2020-09-14 18:25:21 +02:00
llaniau 28de33c053 Ménage dans les twig 2020-09-10 09:29:00 +02:00
llaniau 35b49ac496 Résolution bug 9/11 2020-09-09 17:09:10 +02:00
llaniau c2d8aa85ec Mise en place video marque employeur mode dashboard v2 2020-09-09 15:26:58 +02:00
llaniau 93c7394c8e Correction ano 8 sept 2020-09-08 17:37:35 +02:00
llaniau b57f5e9de2 Résolution de bugs suite a la recette de Corentin 2020-09-08 10:32:54 +02:00
llaniau 07531fb0de Organisation cliente 2020-09-07 16:00:41 +02:00
88 changed files with 1437 additions and 1256 deletions
@@ -1,7 +1,9 @@
{% extends "base.html.twig" %}
{% trans_default_domain 'FOSUserBundle' %}
{% block menu %}
{% endblock %}
{% block content %}
<div class="container contentWrapper">
<div class="row">
@@ -2,6 +2,9 @@
{% block title %}Talents Tube : Le 1er job board 100% vidéo{% endblock %}
{% trans_default_domain 'FOSUserBundle' %}
{% block menu %}
{% endblock %}
{% block content %}
<main id="content">
<div class="container space-2 ">
@@ -1,7 +1,9 @@
{% extends "basetemporaire.html.twig" %}
{% trans_default_domain 'FOSUserBundle' %}
{% block menu %}
{% endblock %}
{% block content %}
<div class="container contentWrapper">
@@ -51,7 +51,7 @@
</div>
<div class="js-form-message mb-3">
<div class="input-field col s12">
<a href="mentions-legales">Lire les conditions générales d'utilisations</a>
<a href="/cgu">Lire les conditions générales d'utilisations</a>
<br /><br />
</div>
</div>
@@ -1,7 +1,9 @@
{% trans_default_domain 'FOSUserBundle' %}
{% extends "basev2.html.twig" %}
{% block menu %}
{% endblock %}
{% block content %}
<main id="content">
<div class="container space-2 ">
@@ -1,5 +1,7 @@
{% extends "basev2.html.twig" %}
{% block menu %}
{% endblock %}
{% block content %}
<main id="content">
<div class="container space-2 ">
@@ -7,7 +7,9 @@ Mot de passe oublié TalentsTube
{% block description %}
Mot de passe oublié TalentsTube
{% endblock %}
{% block menu %}
{% endblock %}
{% block content %}
<main id="content">
<div class="container space-2 ">
@@ -22,7 +22,9 @@
content="{{ url(app.request.attributes.get('_route'), app.request.attributes.get('_route_params')) }}" />
{% endblock %}
{% block menu %}
{% endblock %}
{% block content %}
<main id="content">
@@ -1,5 +1,6 @@
{% extends 'base.html.twig' %}
{% extends 'basev2.html.twig' %}
{% block content %}
<main id="content">
<div class="row">
<div class="col s12">
<h2 class="center-align m-t-100">Page introuvable</h2>
@@ -9,4 +10,5 @@
</p>
</div>
</div>
</main>
{% endblock %}
@@ -133,6 +133,14 @@
<source>company.menu.videotheque.label</source>
<target>Vidéothèque</target>
</trans-unit>
<trans-unit id="company.menu.candidature.label">
<source>company.menu.candidature.label</source>
<target>Candidatures</target>
</trans-unit>
<trans-unit id="company.menu.marque.label">
<source>company.menu.marque.label</source>
<target>Marque employeur</target>
</trans-unit>
<trans-unit id="company.menu.search.label">
<source>company.menu.search.label</source>
<target>Mes recherches</target>
@@ -518,7 +526,7 @@
<div style="margin:0 auto;max-width:600px;background:#FFFFFF;"><table class="" cellpadding="0" cellspacing="0" style="width:100%;font-size:0px;background:#FFFFFF;" align="center"><tbody><tr><td style="text-align:center;vertical-align:top;font-size:0;padding:0px;"><!--[if mso]>
<table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:600px;">
<![endif]--><div style="vertical-align:top;display:inline-block;font-size:13px;text-align:left;width:100%;" class="mj-column-per-100" aria-labelledby="mj-column-per-100"><table width="100%"><tbody><tr><td style="font-size:0;padding:20px 35px 20px 35px;" align="left"><div class="mj-content" style="cursor:auto;color:#534F4F;font-family:Trebuchet,Helvetica,sans-serif;font-size:14px;line-height:22px;"><p>*Ce lien ne peut être utilisé quune seule fois pour valider votre compte.</p>
<p>Si vous n’êtes pas à lorigine de linscription sur Talents Tube, veuillez contacter le <a href="https://blog.talentstube.com/contact.html" style="color:#155EE4;text-decoration:none;">support Talents Tube</a>.</p>
<p>Si vous n’êtes pas à lorigine de linscription sur Talents Tube, veuillez contacter le <a href="https://blog.talentstube.com/contact" style="color:#155EE4;text-decoration:none;">support Talents Tube</a>.</p>
<p>Merci de votre compréhension.</p>
<p>Talents Tube</p></div></td></tr></tbody></table></div><!--[if mso]>
</td></tr></table>
@@ -545,7 +553,7 @@
<div style="margin:0 auto;max-width:600px;background:#FFFFFF;"><table class="" cellpadding="0" cellspacing="0" style="width:100%;font-size:0px;background:#FFFFFF;" align="center"><tbody><tr><td style="text-align:center;vertical-align:top;font-size:0;padding:0px;"><!--[if mso]>
<table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:600px;">
<![endif]--><div style="vertical-align:top;display:inline-block;font-size:13px;text-align:left;width:100%;" class="mj-column-per-100" aria-labelledby="mj-column-per-100"><table width="100%"><tbody><tr><td style="font-size:0;padding:20px 35px 20px 35px;" align="left"><div class="mj-content" style="cursor:auto;color:#534F4F;font-family:Trebuchet,Helvetica,sans-serif;font-size:14px;line-height:22px;"><p>*Ce lien ne peut être utilisé quune seule fois pour valider votre compte.</p>
<p>Si vous n’êtes pas à lorigine de linscription sur Talents Tube, veuillez contacter le <a href="https://blog.talentstube.com/contact.html" style="color:#155EE4;text-decoration:none;">support Talents Tube</a>.</p>
<p>Si vous n’êtes pas à lorigine de linscription sur Talents Tube, veuillez contacter le <a href="https://blog.talentstube.com/contact" style="color:#155EE4;text-decoration:none;">support Talents Tube</a>.</p>
<p>Merci de votre compréhension.</p>
<p>Talents Tube</p></div></td></tr></tbody></table></div><!--[if mso]>
</td></tr></table>
@@ -29,6 +29,7 @@
{{ form_row(form.title) }}
{{ form_row(form.location) }}
{{ form_row(form.location_gmap) }}
{{ form_row(form.beneficiaire) }}
{{ form_row(form.description) }}
{{ form_row(form.publicTag) }}
@@ -75,6 +75,14 @@
</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">
@@ -0,0 +1,63 @@
<!DOCTYPE html>
<html>
<head>
<!-- Google Tag Manager -->
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-P4G65WJ');</script>
<!-- End Google Tag Manager -->
<script type="text/javascript" defer="defer" src="https://extend.vimeocdn.com/ga/64189815.js"></script>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>{% block title %}Talents Tube : Le 1er job board 100% vidéo{% endblock %}</title>
<link rel="icon" type="image/x-icon" href="{{ asset('favicon.ico') }}"/>
<meta name="robots" content="noindex,nofollow">
<meta name="description" content="{% block description %}
Talents Tube est la première plateforme réservée aux offres d'emploi et aux CV vidéos. Découvrez un nouvelle méthode de recrutement !
{% endblock %}">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
{% block ogtc %}{% endblock %}
{# Canonical #}
<link rel="canonical"
href="{% block urlCanonical %}{{ url(app.request.attributes.get('_route'), app.request.attributes.get('_route_params')) }}"{% endblock %}>
{# CSS #}
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<link href="https://fonts.googleapis.com/css?family=Raleway:100,100i,200,200i,300,300i,400,400i,500,500i,600,600i,700,700i,800,800i,900,900i|Varela+Round" rel="stylesheet">
<link rel="stylesheet" href="{{ asset('css/styles.css') }}">
{% block stylesheets %}
{% endblock %}
</head>
<body id="dashboard">
<!-- Google Tag Manager (noscript) -->
<noscript>
<iframe src="https://www.googletagmanager.com/ns.html?id=GTM-P4G65WJ"
height="0" width="0" style="display:none;visibility:hidden">
</iframe>
</noscript>
<!-- End Google Tag Manager (noscript) -->
{#{% include 'default/alert.html.twig' %}#}
{% include 'default/user_switch.html.twig' %}
{% include 'default/headertemporaire.html.twig' %}
{% block content %}
{% endblock %}
{% block javascripts %}
{% javascripts
'@vendors'
'@global'
output='assetic/main.base.dash.js' filter='?uglifyjs2' %}
<script src="{{ asset_url }}"></script>
<script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyDYV8IJGtIoWLfXJQQvIuDQ88n2aEuRgpg&libraries=places"></script>
{% endjavascripts %}
{% endblock %}
</body>
</html>
@@ -36,7 +36,9 @@
<!-- End Google Tag Manager (noscript) -->
{#{% include 'default/alert.html.twig' %}#}
{# {% include 'defaultv2/user_switch.html.twig' %}#}
{% block menu %}
{% include 'defaultv2/header.html.twig' %}
{% endblock %}
{#{% include 'defaultv2/props_settings.html.twig' %} #}
{% block content %}
{% endblock %}
@@ -35,11 +35,12 @@
<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</h2>
<p>Discover goods you'll love from brands that inspire. The easiest way to open your own
online store. Discover amazing stuff or open your own store for free!</p>
<p class="small hint-text">Below is a sample page for your cart , Created using pages design
UI Elementes</p>
<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 lensemble 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>
@@ -47,13 +48,15 @@
<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 ">
{% if form_errors(form) %}
<span class="red-text text-darken-2">{{ form_errors(form) }}</span>
{% endif %}
</td>
</tr>
{% endif %}
<tr>
<td class="col-lg-12 col-md-12 col-sm-12 ">
{{ form_row(form.reference) }}
@@ -67,6 +70,8 @@
<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>
@@ -29,31 +29,35 @@
<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</h2>
<p>Discover goods you'll love from brands that inspire. The easiest way to open your own
online store. Discover amazing stuff or open your own store for free!</p>
<p class="small hint-text">Below is a sample page for your cart , Created using pages design
UI Elementes</p>
<h2>Etape 1 : Je crée/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 lensemble 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">
{{ form_start(form, {'attr': {'class': 'form-horizontal'}}) }}
<table class="table table-condensed form-horizontal">
<tr>
{% if form_errors(form) %}<tr>
<td class="col-lg-12 col-md-12 col-sm-12 ">
{% if form_errors(form) %}
<span class="red-text text-darken-2">{{ form_errors(form) }}</span>
{% endif %}
</td>
</tr>
{% endif %}
{% if form.reference is defined%}
<tr>
<td class="col-lg-12 col-md-12 col-sm-12 ">
{% if form.reference is defined%}
{{ form_row(form.reference) }}
{% endif %}
</td>
</tr>
{% endif %}
<tr>
<td class="col-lg-12 col-md-12 col-sm-12 ">
{% if form.title is defined%}
@@ -64,8 +68,12 @@
<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) }}
@@ -18,7 +18,7 @@
<!-- START BREADCRUMB -->
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="#">Accueil</a></li>
<li class="breadcrumb-item ">Candidatures</li>
<li class="breadcrumb-item ">Candidatures!</li>
<li class="breadcrumb-item active"><a
href="{{ path('company_ad_answer_list',{'id':answer.ad.id}) }}">{{ answer.ad.title }}</a>
</li>
@@ -11,16 +11,20 @@
'tab' : 2
} %}
{% endif %} #}
<!-- 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">
<!-- START BREADCRUMB -->
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="#">Accueil</a></li>
<li class="breadcrumb-item ">Candidatures</li>
<li class="breadcrumb-item active"><a
href="{{ path('company_ad_answer_list',{'id':answer.ad.id}) }}">{{ answer.ad.title }}</a>
<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 }}
</a>
</li>
<li class="breadcrumb-item active"><a href="#"> candidat {{ answer.user.firstname }}
{{ answer.user.lastname }}</a>
</li>
</ol>
@@ -30,193 +34,203 @@
</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 class="tab-content">
<!-- ========== bloc candidature ========== -->
{% include 'company/answer_show_candidature.html.twig' %}
<!-- ========== bloc message video ========== -->
<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>
{% include 'company/answer_show_message_video.html.twig' %}
{# <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 ========== -->
<!-- ========== bloc message texte ========== -->
{% include 'company/answer_show_candidature.html.twig' %}
{% include 'company/answer_show_message_texte.html.twig' %}
<!-- ========== bloc message video ========== -->
<!-- ========== bloc commentaire ========== -->
{% include 'company/answer_show_message_video.html.twig' %}
{# {% include 'company/answer_show_comment.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>
</div>
{% endblock %}
{% block javascripts %}
{{ parent() }}
<script type="text/javascript">
var urlDropzone = '{{ path("upload_media_message", {"id": message.getId()}) }}';
var urlDelete = '{{ path("delete_media_message", {"id": message.getId() }) }}'
var idObject = null;
var typeObject = "answer";
var videoExist = false;
</script>
<script src="{{ asset('/js/dropzone.js') }}"></script>
<script src="{{ asset('/js/vendors/video.min.js') }}"></script>
<script src="{{ asset('/js/vendors/RecordRTC.js') }}"></script>
<script src="{{ asset('/js/vendors/videojs.record.js') }}"></script>
<script src="{{ asset('/js/vendors/jquery.browser.min.js') }}"></script>
<script src="{{ asset('/js/vendors/readmore.min.js') }}"></script>
<script src="{{ asset('/js/answer.js') }}"></script>
<script type="text/javascript">
$(".card-action").click(function () {
var idVideo = $(this).data("id");
var titleVideo = $(this).data("title");
var imgVideo = $(this).data("img");
var urlVideo = $(this).data("url");
var elem = $(this);
form['contact_talent_video'] = 1;
$.ajax({
type: 'POST',
url: '{{ path("link_media_message", {"id": message.getId()}) }}',
data: "idVideo=" + idVideo,
dataType: 'html',
success: function (response) {
$(".card-action").removeClass('active');
elem.addClass('active');
Materialize.toast('Vidéo bien associé à la réponse', 4000);
if ($("#submit").hasClass('disabled')) {
$("#submit").removeClass('disabled');
$("#submit").addClass('pulse');
}
},
error: function (response, xhr, ajaxOptions, thrownError) {
Materialize.toast('Erreur lors de l\'association de la vidéo!', 4000);
{% endblock %}
{% block javascripts %}
{{ parent() }}
<script type="text/javascript">
var urlDropzone = '{{ path("upload_media_message", {"id": message.getId()}) }}';
var urlDelete = '{{ path("delete_media_message", {"id": message.getId() }) }}'
var idObject = null;
var typeObject = "answer";
var videoExist = false;
</script>
<script src="{{ asset('/js/dropzone.js') }}"></script>
<script src="{{ asset('/js/vendors/video.min.js') }}"></script>
<script src="{{ asset('/js/vendors/RecordRTC.js') }}"></script>
<script src="{{ asset('/js/vendors/videojs.record.js') }}"></script>
<script src="{{ asset('/js/vendors/jquery.browser.min.js') }}"></script>
<script src="{{ asset('/js/vendors/readmore.min.js') }}"></script>
<script src="{{ asset('/js/answer.js') }}"></script>
<script src="{{ asset('/js/demo.js') }}"></script>
<script src="{{ asset('/js/scripts.js') }}"></script>
<script type="text/javascript">
$(".card-action").click(function () {
var idVideo = $(this).data("id");
var titleVideo = $(this).data("title");
var imgVideo = $(this).data("img");
var urlVideo = $(this).data("url");
var elem = $(this);
form['contact_talent_video'] = 1;
$.ajax({
type: 'POST',
url: '{{ path("link_media_message", {"id": message.getId()}) }}',
data: "idVideo=" + idVideo,
dataType: 'html',
success: function (response) {
$(".card-action").removeClass('active');
elem.addClass('active');
Materialize.toast('Vidéo bien associé à la réponse', 4000);
if ($("#submit").hasClass('disabled')) {
$("#submit").removeClass('disabled');
$("#submit").addClass('pulse');
}
});
});
$('.bnt-choice-message').on('click', function () {
var type = $(this).data('value');
$('.bnt-choice-message').removeClass('btn-active');
$('.bnt-choice-video').removeClass('active');
$(this).addClass('btn-active');
$(".panel-hide").removeClass('active');
$(".panel-hide").stop().fadeOut();
$('.blockanswer').stop().fadeOut('normal', function () {
$('.blockanswer-' + type).stop().fadeIn();
if (type == 'video') {
$('.bnt-choice-video:first').click();
}
});
});
$('.blockanswer-video').css('display', 'none');
$('.bnt-choice-video').on('click', function (e) {
e.preventDefault();
var type = $(this).data('value');
$('.bnt-choice-video').removeClass('active');
$(this).addClass('active');
$(".panel-hide").removeClass('active');
$('#blockanswer-video-' + type).addClass('active');
$(".panel-hide").not(".active").stop().fadeOut('normal', function () {
$('#blockanswer-video-' + type).stop().fadeIn('fast');
if (type == "webcam") {
$('#blockanswer-video-upload').stop().fadeIn('fast');
}
$('#validFormVideo').stop().fadeIn('fast');
});
});
$('.link-history-more').on('click', function (e) {
e.preventDefault();
$('.history-hidden').fadeIn();
$(this).fadeOut();
});
document.getElementsByName("contact_talent[message]")[0].addEventListener('change', verifySubmitButton);
$('#contact_talent_status').on('change', verifySubmitButton);
var form = [];
form['contact_talent_message'] = 0;
form['contact_talent_video'] = 0;
form['contact_talent_status_video'] = 0;
form['contact_talent_status'] = 0;
function verifySubmitButton() {
if (this.value && this.value != 0) {
form[this.id] = 1;
} else {
form[this.id] = 0;
},
error: function (response, xhr, ajaxOptions, thrownError) {
Materialize.toast('Erreur lors de l\'association de la vidéo!', 4000);
}
if (form['contact_talent_message'] + form['contact_talent_status'] >= 2) {
$('.blockanswer-message .btn').removeClass('disabled');
} else {
$('.blockanswer-message .btn').addClass('disabled');
});
});
$('.bnt-choice-message').on('click', function () {
var type = $(this).data('value');
$('.bnt-choice-message').removeClass('btn-active');
$('.bnt-choice-video').removeClass('active');
$(this).addClass('btn-active');
$(".panel-hide").removeClass('active');
$(".panel-hide").stop().fadeOut();
$('.blockanswer').stop().fadeOut('normal', function () {
$('.blockanswer-' + type).stop().fadeIn();
if (type == 'video') {
$('.bnt-choice-video:first').click();
}
});
});
$('.blockanswer-video').css('display', 'none');
$('.bnt-choice-video').on('click', function (e) {
e.preventDefault();
var type = $(this).data('value');
$('.bnt-choice-video').removeClass('active');
$(this).addClass('active');
$(".panel-hide").removeClass('active');
$('#blockanswer-video-' + type).addClass('active');
$(".panel-hide").not(".active").stop().fadeOut('normal', function () {
$('#blockanswer-video-' + type).stop().fadeIn('fast');
if (type == "webcam") {
$('#blockanswer-video-upload').stop().fadeIn('fast');
}
$('#validFormVideo').stop().fadeIn('fast');
});
});
$('.link-history-more').on('click', function (e) {
e.preventDefault();
$('.history-hidden').fadeIn();
$(this).fadeOut();
});
document.getElementsByName("contact_talent[message]")[0].addEventListener('change', verifySubmitButton);
$('#contact_talent_status').on('change', verifySubmitButton);
var form = [];
form['contact_talent_message'] = 0;
form['contact_talent_video'] = 0;
form['contact_talent_status_video'] = 0;
form['contact_talent_status'] = 0;
function verifySubmitButton() {
if (this.value && this.value != 0) {
form[this.id] = 1;
} else {
form[this.id] = 0;
}
if (form['contact_talent_message'] + form['contact_talent_status'] >= 2) {
$('.blockanswer-message .btn').removeClass('disabled');
} else {
$('.blockanswer-message .btn').addClass('disabled');
}
}
$('#contact_talent_status_video').on('change', verifyVideoSubmitButton);
function verifyVideoSubmitButton() {
if (this.value && this.value != 0) {
form[this.id] = 1;
} else {
form[this.id] = 0;
}
if (form['contact_talent_video'] + form['contact_talent_status_video'] >= 2) {
$('#validFormVideo .btn').removeClass('disabled');
} else {
$('#validFormVideo .btn').addClass('disabled');
}
}
$('.message-answer').readmore({
speed: 75,
lessLink: '<a href="#" class="link-message-more">Fermer</a>',
moreLink: '<a href="#" class="link-message-more">{% trans %}label.link.readmore{% endtrans %}</a>',
blockProcessed: function (element, collapsable) {
console.log(element);
console.log(collapsable);
if (collapsable == false) {
$('.message-answer').readmore('destroy');
}
}
$('#contact_talent_status_video').on('change', verifyVideoSubmitButton);
function verifyVideoSubmitButton() {
if (this.value && this.value != 0) {
form[this.id] = 1;
} else {
form[this.id] = 0;
}
if (form['contact_talent_video'] + form['contact_talent_status_video'] >= 2) {
$('#validFormVideo .btn').removeClass('disabled');
} else {
$('#validFormVideo .btn').addClass('disabled');
}
}
$('.message-answer').readmore({
speed: 75,
lessLink: '<a href="#" class="link-message-more">Fermer</a>',
moreLink: '<a href="#" class="link-message-more">{% trans %}label.link.readmore{% endtrans %}</a>',
blockProcessed: function (element, collapsable) {
console.log(element);
console.log(collapsable);
if (collapsable == false) {
$('.message-answer').readmore('destroy');
}
}
});
});
function changerActive(tabActive) {
//$("#comment").removeClass("active");
$("#candidature").removeClass("active");
$("#messagerieVideo").removeClass("active");
$("#messagerie").removeClass("active");
//$("#commentLien").removeClass("active");
$("#candidatureLien").removeClass("active");
$("#messagerieVideoLien").removeClass("active");
$("#messagerieLien").removeClass("active");
$("#" + tabActive).addClass("active");
$("#" + tabActive + "Lien").addClass("active");
function changerActive(tabActive) {
//$("#comment").removeClass("active");
$("#candidature").removeClass("active");
$("#messagerieVideo").removeClass("active");
$("#messagerie").removeClass("active");
//$("#commentLien").removeClass("active");
$("#candidatureLien").removeClass("active");
$("#messagerieVideoLien").removeClass("active");
$("#messagerieLien").removeClass("active");
$("#" + tabActive).addClass("active");
$("#" + tabActive + "Lien").addClass("active");
}
</script>
{% endblock %}
}
</script>
{% endblock %}
@@ -1,5 +1,5 @@
<div class="tab-pane active" id="candidature">
<div class="row m-md-0">
<div class="row ">
<div class="col-xl-7 col-lg-6 bg-white">
<!-- START card -->
<div class="full-height">
@@ -11,7 +11,7 @@
</div>
<!-- END card -->
</div>
<div class="col-xl-5 col-lg-6 col-top">
<div class="col-xl-5 col-lg-6 col-top fondBlanc">
<!-- START card -->
<div class="card card-transparent">
<div class="card-header ">
@@ -46,7 +46,7 @@
<!-- END card -->
</div>
</div>
<div class="row column-seperation">
<div class="row column-seperation fondBlanc">
<div class="col-lg-6">
<h3>
@@ -57,20 +57,20 @@
<p class="pull-right">
<a href="#" onClick="changerActive('messagerie')" data-toggle="tab" role="tab"
data-target="#messagerie">
<button aria-label="" type="button" class="btn btn-default btn-cons">Réponse en message
<button aria-label="" type="button" class="btn btn-primary btn-cons">Réponse en message
texte</button>
</a>
<a href="#" onClick="changerActive('messagerieVideo')" data-toggle="tab" role="tab"
data-target="#messagerieVideo">
<button aria-label="" type="button" class="btn btn-default btn-cons">Réponse en vidéo</button>
<button aria-label="" type="button" class="btn btn-primary btn-cons">Réponse en vidéo</button>
</a>
</p>
</div>
</div>
<div class="row">
<div class="row fondBlanc">
<h4 class="no-margin-top bordered">{% trans %}label.answer.history.title{% endtrans %}</h4>
</div>
<div class="row">
<div class="row fondBlanc">
<div class="card-body">
<div class="table-responsive">
@@ -116,11 +116,15 @@
</tr>
{% endfor %}
{% if answer.messages|length == 0 %}
<tr><th colspan="3" class="text-center">Aucun message pour le moment</th></tr>
{% endif %}
{% endif %}
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
@@ -1,8 +1,8 @@
<div class="tab-pane " id="messagerie">
<div class="row">
<div class="row fondBlanc">
<!-- START ITEM -->
<div class="col-lg-4">
<div class="col-lg-4 fondBlanc">
<div class="card card-default bg-success">
<div class="card-header separator">
<div class="card-title">Réponse par mail
@@ -10,12 +10,12 @@
</div>
<div class="card-body">
<h3>
<span class="semi-bold">Répondre par </span> message</h3>
<p>When it comes to digital design, the lines between functionality, aesthetics, and
psychology are inseparably blurred. Without the constraints of the physical world,
theres no natural form to fall back on, and every bit of constraint and affordance
must be introduced intentionally. Good design makes a product useful. A product is
bought to be used.</p>
<span class="semi-bold">Envoyez un message à </span> {{ answer.user.firstname }} {{ answer.user.lastname }}</h3>
<p>
Vous avez également la possibilité d'envoyer une réponse en vidéo. Je souhaite répondre <b><a href="#" onClick="changerActive('messagerieVideo')" data-toggle="tab" role="tab"
data-target="#messagerieVideo">en vidéo</a></b>.
</p>
</div>
</div>
</div>
@@ -113,7 +113,7 @@
</div>
<div class="col-md-1">
<button type="submit" aria-label="" class="btn btn-complete btn-lg pull-right btn-icon-left"><i
<button type="submit" aria-label="" class="btn btn-primary btn-lg pull-right btn-icon-left"><i
class="pg-icon">send</i>Envoyer</button>
</div>
</div>
@@ -1,8 +1,8 @@
<div class="tab-pane " id="messagerieVideo">
<div class="row">
<div class="tab-pane fondBlanc" id="messagerieVideo">
<div class="row fondBlanc">
<!-- START ITEM -->
<div class="col-lg-4">
<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
@@ -10,12 +10,9 @@
</div>
<div class="card-body">
<h3>
<span class="semi-bold">Répondre avec la </span> vidéo</h3>
<p>When it comes to digital design, the lines between functionality, aesthetics, and
psychology are inseparably blurred. Without the constraints of the physical world,
theres no natural form to fall back on, and every bit of constraint and affordance
must be introduced intentionally. Good design makes a product useful. A product is
bought to be used.</p>
<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>
@@ -0,0 +1,29 @@
{% extends 'base_dashboard_temporaire.html.twig' %}
{% block content %}
<div class="fluid-container bg-grey-3 dashboardWrapper dashboardCompanyWrapper">
<div class="container">
<div class="row flexcontainer">
{% include "company/menutemporaire.html.twig" ignore missing %}
<div class="col s12 m12 l8 xl9 col-padding-left" id="page-content">
{% block dashContent %}
Dashboard Company
{% endblock %}
</div>
</div>
</div>
</div>
{% endblock %}
{% block javascripts %}
<script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyDYV8IJGtIoWLfXJQQvIuDQ88n2aEuRgpg&libraries=places"></script>
{% javascripts
'@vendors'
'@global'
'@company'
output='assetic/main.dash.company.js' filter='?uglifyjs2' %}
<script src="{{ asset_url }}"></script>
{% endjavascripts %}
{% endblock %}
@@ -1,4 +1,4 @@
{% extends 'base.html.twig' %}
{% extends 'basetemporaire.html.twig' %}
{% block title %}Offres d'emploi et recrutement {{ company.brandName }} | TalentsTube{% endblock %}
@@ -71,11 +71,12 @@
<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</h2>
<p>Discover goods you'll love from brands that inspire. The easiest way to open your own
online store. Discover amazing stuff or open your own store for free!</p>
<p class="small hint-text">Below is a sample page for your cart , Created using pages design
UI Elementes</p>
<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 lensemble 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">
@@ -90,11 +91,13 @@
<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">
<h2>Your Information is safe with us!</h2>
<p>We respect your privacy and protect it with strong encryption, plus strict policies .
Two-step verification, which we encourage all our customers to use.</p>
<p class="small hint-text">Below is a sample page for your cart , Created using pages design
UI Elementes</p>
<h2>J'importe une vidéo</h2>
<p>Importez votre vidéo de recrutement et publiez votre annonce.
Vous ne possédez pas encore de vidéo ?
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>
{# <p class="small hint-text">Below is a sample page for your cart , Created using pages design
UI Elementes</p> #}
{# <ul id="tabs-video" class="tabs">
<li class="tab col s4"><a class="active" href="#tab-video-new">Ajouter une nouvelle vidéo</a>
</li>
@@ -0,0 +1,94 @@
<div class="col s12 m12 l4 xl3" id="sidebar">
<div class="inside-m">
<div class="profil center-align">
{% set company = app.user.company %}
<div class="profil-picture logo-picture">
{% if company.logo %}
<img class="responsive-img" src="{{ company.webPath | imagine_filter('profile_thumb') }}"
alt="{{ app.user.firstname }} {{ app.user.lastname }}"/>
<a href="#modalProfilePicture">
<i class="fa fa-pencil" aria-hidden="true"></i>
</a>
{% else %}
<div class="circle-letters square-letters font-2">{{ company.brandname|first|upper }}</div>
<a href="#modalProfilePicture">
<i class="fa fa-pencil" aria-hidden="true"></i>
</a>
{% endif %}
</div>
<p class="profil-name ">{{ app.user.firstname }} {{ app.user.lastname|first|upper }}</p>
{% if company.addresses %}
<p class="profil-city">{{ company.addresses.billing.city }}
- {{ company.addresses.billing.country|country }}</p>
{% endif %}
<p class="profil-job"><a
href="{{ path("company_show",{"alias":company.alias}) }}">{{ company.brandname }}</a></p>
</div>
<div class="profil-nav">
<ul class="font-2">
<li>
<a href="{{ path('company_dashboard') }}">
<i class="fa fa-bar-chart"></i>
{{ 'company.menu.dashboard.label'|trans }}
</a>
</li>
<li>
<a href="{{ path('company_profile') }}">
<i class="fa fa-user"></i>
{{ 'company.menu.profile.label'|trans }}</a>
</li>
<li>
<a href="{{ path('company_marque') }}">
<i class="fa fa-share"></i>
{{ 'company.menu.marque.label'|trans }}</a>
</li>
<li>
<a href="{{ path('company_ad') }}">
<i class="fa fa-search"></i>
{{ 'company.menu.ads.label'|trans }}</a></li>
<li>
<a href="{{ path('users') }}">
<i class="fa fa-search"></i>
{{ 'company.menu.users.label'|trans }}</a></li>
<li>
<a href="{{ path('company_answer_list') }}">
<i class="fa fa-user"></i>
{{ 'company.menu.candidature.label'|trans }}</a>
</li>
<li>
<a href="{{ path('company_my_account') }}">
<i class="fa fa-cog"></i>
{{ 'company.menu.account.label'|trans }}</a>
</li>
<li>
<a href="mailto:contact@talentstube.com">
<i class="fa fa-comment"></i>
{{ 'company.menu.account.contact'|trans }}</a>
</li>
<li>
<a class="chip center-align" href="{{ path('fos_user_security_logout') }}">Déconnexion <i class="fa fa-sign-out" aria-hidden="true"></i></a>
</li>
</ul>
</div>
</div>
</div>
<div id="modalProfilePicture" class="modal">
<div class="modal-content">
<h4>Edition du logo de votre entreprise</h4>
<div class="row">
{{ render(controller(
'AppBundle:Media:profileLogo'
)) }}
</div>
</div>
<div class="modal-footer">
<a href="#!" class="modal-action modal-close waves-effect waves-green btn-flat">Fermer</a>
</div>
</div>
@@ -33,55 +33,56 @@
<div class=" container-fluid container-fixed-lg bg-white">
<!-- START card -->
<div class="row">
<div class="col-lg-6">
<div class="col-lg-12s">
<div class="card card-transparent">
{{ form_start(form, { 'action': path('company_my_account'), 'attr': { 'class': 'fos_user_profile_edit' } }) }}
<div class="card-body">
{% if form_errors(form) %}
<span class="red-text text-darken-2">{{ form_errors(form) }}</span>
{% endif %}
<div class="row">
<div class="col-md-6">
<div class="form-group form-group-default required">
<div class="card-body">
{% if form_errors(form) %}
<span class="red-text text-darken-2">{{ form_errors(form) }}</span>
{% endif %}
{{ form_row(form.firstname) }}
<div class="row">
<div class="col-md-6">
<div class="form-group form-group-default required">
{{ form_row(form.firstname) }}
</div>
</div>
<div class="col-md-6">
<div class="form-group form-group-default">
{{ form_row(form.lastname) }}
</div>
</div>
</div>
<div class="col-md-6">
<div class="form-group form-group-default">
<div class="row">
<div class="col-md-12">
{{ form_row(form.lastname) }}
<div class="form-group ">
{{ form_row(form.gender) }}
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="form-group ">
<br />
<div style="text-align: right;">
<button class="btn btn-default" type="submit">Sauvegarde</button>
{{ form_row(form.gender) }}
</div>
</div>
</div>
<br />
<div style="text-align: right;">
<button class="btn btn-default" type="submit">Sauvegarde</button>
</div>
{{ form_end(form) }}
</div>
{{ form_end(form) }}
</div>
<!-- END card -->
</div>
<!-- END card -->
<div class="col-lg-6">
<div class="card card-transparent">
</div>
<div class="col-lg-12">
{# <div class="card card-transparent">
{{ form_start(formPw) }}
<div class="card-body">
{% if form_errors(formPw) %}
@@ -99,7 +100,17 @@
</div>
</div>
</div>
{{ form_end(formPw) }}
{{ form_end(formPw) }} #}
<div class="card card-transparent">
<div class="card-body">
<div class="row">
<div class="col-md-12">
<a href="/resetting/request" target="_blank">Réinitialisation de mot de passe</a>
</div>
</div>
</div>
</div>
</div>
<!-- END card -->
@@ -20,7 +20,7 @@
<a class="white-text" href="{{ path('territory_list') }}" title="Listes des territoires">Nos territoires</a>
</li>
<li>
<a class="white-text" href="https://blog.talentstube.com/contact.html" title="Talents Tube ">Contact</a>
<a class="white-text" href="https://blog.talentstube.com/contact" title="Talents Tube ">Contact</a>
</li>
</ul>
</div>
@@ -69,8 +69,7 @@
</div>
<div class="col-6 text-right">
<a class="js-animation-link float-right" href="resetting/request" data-target="#forgotPassword"
data-link-group="idForm" data-animation-in="fadeIn">Mot de passe oublié?</a>
<a href="resetting/request" target="_blank">Mot de passe oublié?</a>
</div>
</div>
@@ -51,7 +51,7 @@
<p class="text-white-70 mb-4">Guillaume Lesdos, Co-fondateur et Président</p>
<a class="js-fancybox text-white" href="javascript:;"
data-src="https://www.youtube.com/watch?v=CZDfD2ugXtg&t" data-speed="700"
data-src="https://www.youtube.com/watch?v=Em3niStNutA" data-speed="700"
data-animate-in="zoomIn" data-animate-out="zoomOut" data-caption="Témoignage">
Voir le témoignage
<i class="u-icon u-icon--sm u-icon--white-soft rounded-circle ml-2">
@@ -25,10 +25,11 @@
<div class="list-group list-group-flush list-group-transparent">
<!-- Links -->
<ul class="list-unstyled">
<li><a class="list-group-item list-group-item-action" href="mentions-legales">Mentions légales</a></li>
<li><a class="list-group-item list-group-item-action" href="cgu">CGU</a></li>
<li><a class="list-group-item list-group-item-action" href="politique-confidentialite">Politique de confidentialité</a></li>
<li><a class="list-group-item list-group-item-action" href="https://blog.talentstube.com/contact.html
<li><a class="list-group-item list-group-item-action" href="mentions-legales" target="_blank">Mentions légales</a></li>
<li><a class="list-group-item list-group-item-action" href="cgu" target="_blank">CGU</a></li>
<li><a class="list-group-item list-group-item-action" href="politique-confidentialite" target="_blank">Politique de confidentialité</a></li>
<li><a class="list-group-item list-group-item-action" href="abonnement" >Tarifs</a></li>
<li><a class="list-group-item list-group-item-action" href="https://blog.talentstube.com/contact" target="_blank"
">Contact</a></li>
</ul>
<!-- End Links -->
@@ -71,7 +72,7 @@
<div class="col-lg-4 order-lg-1 d-flex align-items-start flex-column">
<!-- Logo -->
<a class="d-inline-block mb-5" href="index.html" aria-label="Space">
<a class="d-inline-block mb-5" href="/" aria-label="Space">
<img src="{{ asset('v2/svg/logos/talentstube-logo-mobile.svg') }}" alt="Logo" style="width: 40px; max-width: 100%;">
</a>
<!-- End Logo -->
@@ -1,61 +0,0 @@
{% for a in ads if a.isPrivate != true %}
<div class="col s12">
<div class="card z-depth-3">
<div class="card-image">
{% if a.video %}
{% if a.video.thumbnails.0.sizes is defined %}
<a href="{{ path('ad_show',{'alias': a.alias }) }}" title="{{ a.title }}">
<img src="{{ a.video.thumbnails.0.sizes.4.link }}" alt="{{ a.company.brandName }}"/>
<span class="playerbtn"></span>
</a>
{% endif %}
{% endif %}
{% if a.isPromoted %}
<div class="isPromoted"><img src="{{asset('/img/offre-pourvue-droite.png')}}" alt="promoted"></div>
{% endif %}
</div>
<div class="card-content-wrapper">
<div class="card-content card-content-company">
<div class="row company-infos row-noMargin">
<div class="col-infos">
<p class="item-list-name color-blue1">
<a href="{{ path('company_show',{'alias': a.company.alias }) }}" title="{{ a.company.brandName }}">
{{ a.company.brandName }}
</a>
</p>
{% if a.location is iterable %}
{% if a.location.gmap_address %}
<p class="item-list-city">{{ a.location.gmap_address.address_components.0.long_name }}</p>
{% endif %}
{% endif %}
</div>
<div class="col-logo">
{% if a.company.webPath %}
<img class="responsive-img" src="{{ a.company.webPath | imagine_filter('profile_thumb') }}"/>
{% endif %}
</div>
</div>
</div>
<div class="card-content card-content-ad">
<a class="link-job left-align truncate" href="{{ path('ad_show',{'alias': a.alias }) }}" title="{{ a.title }}">{{ a.title }}</a>
</div>
<div class="card-action">
<a class="btn-tags" href="#">Les mots clés<i class="fa fa-chevron-up right" aria-hidden="true"></i></a>
<span class="clearfix"></span>
<div class="keywords">
{% if a.publicTag %}
{% for tag in a.publicTag %}
<div class="chip">
<a href="{{ path('ad_search_result',{'tag':tag }) }}">{{ tag }}</a>
</div>
{% endfor %}
{% endif %}
</div>
</div>
</div>
<div class="borderList"></div>
</div>
</div>
{% endfor %}
@@ -1,69 +0,0 @@
{% for a in ads if a.isPrivate != true %}
<div id="adRow" class="row item-list-bis z-depth-2 row-noMargin">
<div class="col s12 m4 col-noPadding ad-picture">
<a href="{{ path('ad_show',{'alias': a.alias }) }}" title="{{ a.title }}" class="item-list-media">
{% if a.video %}
{% if a.video.thumbnails.0.sizes is defined %}
<img class="thumbnail_list" src="{{ a.video.thumbnails.0.sizes.4.link }}"
alt="{{ a.company.brandName }}"/>
{% endif %}
<span class="playerbtn"></span>
{% endif %}
</a>
{% if a.isPromoted %}
<div class="isPromoted">
OFFRE POURVUE
</div>
{% endif %}
</div>
<div class="col s12 m8 col-noPadding">
<div class="row row-infos row-noMargin">
<div class="col s4 m4 l5 company-infos col-noPadding">
<h2 class="no-margin-top">
<a href="{{ path('ad_show',{'alias': a.alias }) }}"
title="{{ a.title }}" class="hover-blue1">{{ a.title }}</a>
</h2>
{% if a.extra.contract_type is defined %}
<span>{{ a.extra.contract_type }}</span>
{% endif %}
</div>
<div class="col s4 m3 l3 col-noPadding col-logo">
{% if (a.company.logo is defined) and (a.company.webPath is not null) %}
<a href="{{ path('company_show',{'alias':a.company.alias}) }}">
<img src="{{ a.company.webPath | imagine_filter('profile_thumb') }}"/>
</a>
{% endif %}
</div>
<div class="hide-on-small-only col s4 m5 l4 col-noPadding company-infos m-l-30">
<p class="item-list-website">
<a href="{{ path('company_show',{'alias': a.company.alias }) }}" class="hover-blue2">
{{ a.company.brandName }}
</a>
<br/>
{% if a.location is iterable %}
<span>{{ a.location.gmap_address.address_components.0.long_name }}</span>
{% endif %}
</p>
</div>
</div>
<div class="row row-tags row-noMargin">
<div class="col s11 col-noPadding" style="position:relative;">
<div class="frame" id="basic">
<ul class="slidee">{% for tag in a.publicTag %}
<li class="chip">
<a href="{{ path('ad_search_result',{'tag':tag }) }}" class="hover-blue2">{{ tag }}</a>
</li>{% endfor %}</ul>
</div>
<div class="controls center">
<a class="prev"><i class="fa fa-arrow-circle-left" aria-hidden="true"></i></a>
<a class="next"><i class="fa fa-arrow-circle-right" aria-hidden="true"></i></a>
</div>
</div>
</div>
</div>
<div class="borderList"></div>
<div class="clearfix"></div>
</div>
{% endfor %}
@@ -1,80 +0,0 @@
{% extends 'base.html.twig' %}
{% block title %}Découvrez toutes les offres d'emploi en vidéo sur Talents Tube{% endblock %}
{% block description %}Découvrez toutes les offres d'emploi en vidéo dans votre région sur Talents Tube. Postulez rapidement en vidéo et trouvez votre futur job !{% endblock %}
{% block ogtc %}
{#Twitter Card data pour les données enrichies sur Twitter#}
<meta name="twitter:card" content="summary">
<meta name="twitter:site" content="@TalentsTube">
<meta name="twitter:title" content="Découvrez toutes les offres d'emploi en vidéo sur Talents Tube">
<meta name="twitter:description" content="Découvrez toutes les offres d'emploi en vidéo dans votre région sur Talents Tube. Postulez rapidement en vidéo et trouvez votre futur job !">
<meta name="twitter:image" content="{{ absolute_url(asset('img/mail/logo-talents-tube.png')) }}">
{#Open Graph data pour le partage sur les réseaux sociaux (ex Facebook..)#}
<meta property="og:title" content="Découvrez toutes les offres d'emploi en vidéo sur Talents Tube" />
<meta property="og:type" content="article" />
<meta property="og:image" content="{{ absolute_url(asset('img/mail/logo-talents-tube.png')) }}" />
<meta property="og:description" content="Découvrez toutes les offres d'emploi en vidéo dans votre région sur Talents Tube. Postulez rapidement en vidéo et trouvez votre futur job !" />
<meta property="og:site_name" content="Talents Tube" />
<meta property="og:url" content="{{ url(app.request.attributes.get('_route'), app.request.attributes.get('_route_params')) }}" />
{% endblock %}
{% block content %}
{{ render(controller('AppBundle:Ad:adSearchRender',{'type': 'lite' })) }}
<div class="fluid-container bg-grey-3 contentPage">
<div id="searchResultWrapper" class="container">
<div class="row">
<div class="col s12 center-align">
<h1 class="alttitle">Les offres demploi en vidéo</h1>
</div>
</div>
<div class="row m-b-0 p-b-30">
<div class="col s12 m12">
<div id="header-resultats">
{% if isPromotedAds %}
<div><span class="color-blue2">{{ ads|length }}</span> offres d'emploi pourvues</div>
<div><span><a href="{{ path('ad_search_result') }}">Voir les offres d'emploi en cours</a></span></div>
{% else %}
<div><span class="color-blue2">{{ ads|length }}</span> offres d'emploi en cours</div>
<div><span><a href="{{ path('ad_search_result', {'promoted': true }) }}">Voir les offres d'emploi pourvues</a></span></div>
{% endif %}
</div>
<div id="liste-resultats">
{% if ads|length > 0 and noResults == false %}
{% include 'default/ad_listing.html.twig' with {'ads':ads} %}
{% else %}
<h2 class="center-align">Il n'y a pas de résultats directs à votre recherche</h2>
<h4 class="center-align">Mais vous pourriez être intéressé(e) par</h4>
<br/>
{% include 'default/ad_listing.html.twig' with {'ads':ads} %}
{% endif %}
</div>
</div>
</div>
</div>
</div>
{% endblock %}
{% block javascripts %}
{{ parent() }}
<script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyDYV8IJGtIoWLfXJQQvIuDQ88n2aEuRgpg&libraries=places"></script>
<script type="text/javascript">
$(document).ready(function () {
var input = /** @type {!HTMLInputElement} */(document.getElementById('ad_search_location_gmap'));
var autocomplete = new google.maps.places.Autocomplete(input);
autocomplete.addListener('place_changed', onPlaceChanged);
function onPlaceChanged() {
var place = autocomplete.getPlace();
var gmap_address = {'gmap_address': place}
if (place.geometry) {
$("#ad_search_location").val(JSON.stringify(gmap_address));
}
}
});
</script>
{% endblock %}
@@ -1,218 +0,0 @@
{% extends 'base.html.twig' %}
{% block title %}{{ ad.htmlTitle|raw }}{% endblock %}
{% block description %}{{ ad.htmlDescription|raw }}{% endblock %}
{% block ogtc %}
{#Twitter Card data pour les données enrichies sur Twitter#}
<meta name="twitter:card" content="summary">
<meta name="twitter:site" content="@TalentsTube">
<meta name="twitter:title" content="{{ ad.htmlTitle|raw }}">
<meta name="twitter:description" content="{{ ad.htmlDescription|raw }}">
<meta name="twitter:image"
content="{% if ad.video %}{% if ad.video.thumbnails.0.sizes is defined %}{{ ad.video.thumbnails.0.sizes.4.link }}{% endif %}{% endif %}
">
{#Open Graph data pour le partage sur les réseaux sociaux (ex Facebook..)#}
<meta property="og:title" content="{{ ad.htmlTitle|raw }}"/>
<meta property="og:type" content="article"/>
<meta property="og:url" content="{{ app.request.uri }}"/>
<meta property="og:image"
content="{% if ad.video %}{% if ad.video.thumbnails.0.sizes is defined %}{{ ad.video.thumbnails.0.sizes.4.link }}{% endif %}{% endif %}"/>
<meta property="og:description" content="{{ ad.htmlDescription|raw }}"/>
<meta property="og:site_name" content="Talents Tube"/>
{% endblock %}
{% block content %}
{% include 'default/flash_message.html.twig' %}
<div class="fluid-container bg-grey-3 button-plus">
<div id="ad_show" class="container contentWrapper contentPage">
<div class="row">
<div class="col s12 m12 l4 xl3 hide-on-med-and-down" id="sidebar">
{% include 'default/ad_sidebar.html.twig' with {'ad': ad, 'showBrand': true} %}
</div>
<div class="col s12 m12 l8 xl9">
{% if ad.video and ad.status != "CLOSED" %}
<div class="row m-b-0" id="adVideo">
{#{% if ad.id == 38 %}
<img class="responsive-img" src="{{asset('/img/GROUPE-ROCHER-TT.jpg')}}">
{% else %}#}
<div class="embed-responsive embed-responsive-16by9">
<div class="col s12">
<iframe src="https://player.vimeo.com/video/{{ ad.video.cdnUrl|replace({ "/videos/": ""}) }}?texttrack=fr"
width="100%" height="640" frameborder="0" webkitallowfullscreen mozallowfullscreen
allowfullscreen></iframe>
</div>
</div>
{#{% endif %}#}
{% if ad.isPromoted %}
<div class="isPromoted">
OFFRE POURVUE
</div>
{% endif %}
{% if ad.id == 53 %}
<div class="isPromoted">
Traitement des candidatures vidéos
</div>
{% endif %}
</div>
{% endif %}
<div class="row bg-bordered">
<div class="row row-title-ad">
<div class="col s6 col-title-ad">
<h1>{%- spaceless -%}{{ ad.title}}{%- endspaceless -%}</h1>
</div>
<div class="col s6 col-type-ad">
<h2>
{% if ad.extra.contract_type is defined %}
<i class="fa fa-suitcase" aria-hidden="true"></i>&nbsp;{{ ad.extra.contract_type }}
{% endif %}
{% if ad.location is iterable %}
{% if ad.location.gmap_address %}
<i class="fa fa-map-marker" aria-hidden="true"></i>&nbsp;{{ ad.location.gmap_address.address_components.0.long_name }}
{% endif %}
{% endif %}
</h2>
</div>
</div>
<div class="col s12">
{% for tag in ad.publicTag %}
<p class="chip"><a href="{{ path('ad_search_result',{'tag':tag }) }}" class="hover-blue2">{{ tag }}</a></p>
{% endfor %}
<div class="item-detail-description">
<h3 class="blue-text">Détails de l'offre d'emploi</h3>
<p>{{ ad.description|nl2br }}</p>
</div>
<h3 class="blue-text">Informations complémentaires</h3>
<p class="item-detail-reference">Référence : <span>{{ ad.reference }}</span></p>
<p class="item-detail-date">Publié le : <span>{{ ad.publishedAt|date('d/m/Y') }}</span></p>
</div>
<div class="col s12 center-align">
{% if ad.status == "CLOSED" %}
<div class="card-panel orange lighten-1 whiteColor">
{{ 'Offre cloturée'|trans }}
</div>
{% else %}
{% if is_granted('ROLE_TALENT') and alreadyAnswered == TRUE %}
<div class="card-panel green lighten-1 whiteColor">
{{ 'ad.talent.isAnswer.label'|trans }}
</div>
{% elseif not is_granted('ROLE_COMPANY') %}
{% if not ad.isPromoted %}
{% if ad.id != 53 %}
<p class="item-detail-reply">
<a title="postuler-bottom" href="{{ path('talent_answer_create',{'id': ad.getId()}) }}"
class="btn btn-default">
Postuler
</a>
</p>
{% endif %}
{% endif %}
{% endif %}
{% endif %}
</div>
</div>
{% if ad.isPromoted %}
<div class="row bg-bordered row-promoted">
<div class="col s12 center-align">
<h3>Vous souhaitez rejoindre <span class="color-blue1">{{ ad.company.brandname }}</span> ?</h3>
<a href="{{ path('talent_spontaneous_application_create',{'id': ad.company.getId()}) }}"
class="btn btn-default">
Candidature spontanée
</a>
</div>
</div>
{% endif %}
<div class="col s12 hide-on-large-only m-b-50">
{% include 'default/ad_sidebar.html.twig' with {'ad': ad, 'showBrand': true} %}
</div>
</div>
<div class="row">
{% if companyAds|length > 0 %}
<div class="col s12">
<h2>Autres offres demploi pour {{ ad.company.brandname }}</h2>
<div id="liste-resultats">
{% include 'default/ad_listing.html.twig' with {'ads':companyAds} %}
</div>
</div>
{% endif %}
</div>
</div>
</div>
</div>
{% if ad.territories|length %}
{% include 'ad/carrousel_territory.html.twig' with {'territories': ad.territories } %}
{% elseif ad.company.territories|length %}
{% include 'ad/carrousel_territory.html.twig' with {'territories': ad.company.territories } %}
{% endif %}
{% set popup_answer_send = app.session.flashbag.get('popup_answer_send') %}
{% set popup_answer_already_send = app.session.flashbag.get('popup_answer_already_send') %}
{% if popup_answer_send is not empty %}
{% if popup_answer_send[0] == true %}
<div id="modal-answer" class="modal">
<div class="modal-content">
<div class="row">
<div class="col s12">
<div class="col-content p-30">
{% if popup_answer_already_send is not empty and popup_answer_already_send[0] == true %}
<h3 class="color-blue1 center-align">Candidature pour {{ ad.company.brandname }} !</h3>
<div class="col offset-s2 s8 center-align">
<p>Vous avez déjà répondu à cette annonce.</p>
<a href="{{ path('talent_dashboard') }}" class="btn btn-default m-t-20">Accéder à mon profil</a>
<br /><br />
<a class="text modal-action modal-close">Fermer</a>
</div>
{% else %}
<h3 class="color-blue1 center-align">Votre candidature a bien été envoyée à {{ ad.company.brandname }} !</h3>
<div class="col offset-s2 s8 center-align">
<div class="embed-responsive embed-responsive-16by9">
<div class="col s12">
<iframe src="https://player.vimeo.com/video/249822507"
width="100%" height="640" frameborder="0"></iframe>
</div>
</div>
<a href="{{ path('talent_dashboard') }}" class="btn btn-default m-t-20">Accéder à mon profil</a>
<br /><br />
<a class="text modal-action modal-close">Fermer</a>
</div>
{% endif %}
</div>
</div>
</div>
</div>
</div>
{% endif %}
{% endif %}
{% endblock %}
{% block javascripts %}
{{ parent() }}
<script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyDYV8IJGtIoWLfXJQQvIuDQ88n2aEuRgpg&libraries=places"></script>
<script type="text/javascript">
$(document).ready(function(){
//asking for push
EdeclicLib = window.EdeclicLib || {};
EdeclicLib.delayedAsk();
//
$('.tooltipped').tooltip();
$.get( "{{ path('ad_ajaxRecStat',{'id': ad.id }) }}", function( data ) {});
if ($('#modal-answer').length > 0) {
$('#modal-answer').modal({
dismissible: false,
ready: function(modal, trigger) {}
});
$('#modal-answer').modal('open');
}
});
</script>
{% endblock %}
{% block stylesheets %}
<script type="application/ld+json">
{{- ad.structuredData|raw -}}
</script>
<script type="text/javascript" src="//s7.addthis.com/js/300/addthis_widget.js#pubid=ra-5a095d2dd3cf90df"></script>
{% endblock %}
@@ -1,75 +0,0 @@
<div class="profil-company center-align">
{% set company = ad.company %}
<a href="{{ path('company_show',{'alias': ad.company.alias }) }}" title="{{ ad.company.brandName }}" class="profil-picture logo-picture">
{% if company.logo %}
<img class="responsive-img" src="{{ company.webPath | imagine_filter('profile_thumb') }}"
alt="{{ company.brandname }}"/>
{% else %}
<div class="circle-letters square-letters font-2">{{ company.brandname|first|upper }}</div>
{% endif %}
</a>
{% if showBrand is defined %}
{% if company.presentationVideo %}
<div class="brandImage">
<a href="{{ path('company_show',{'alias': ad.company.alias }) }}" title="{{ ad.company.brandName }}">
<img class="" src="{{ company.presentationVideo.thumbnails.0.sizes.4.link }}">
<span class="filter"></span>
<span class="playerbtn"></span>
</a>
</div>
{% endif %}
{% endif %}
<a href="{{ path('company_show',{'alias': ad.company.alias }) }}" title="{{ ad.company.brandName }}" class="btn btn-default btn-small-grey">
Découvrir l'employeur
</a>
<p class="profil-name">
<a href="{{ path('company_show',{'alias': company.alias }) }}" title="{{ company.brandName }}">
<b>{{ company.brandname }}</b>
</a>
</p>
{% if company.addresses.billing is defined %}
<p class="profil-city">{{ company.addresses.billing.city }}
- {{ company.addresses.billing.country|country }}</p>
{% endif %}
</div>
{#<div class="col s12 profil-links">
{% if company.website %}
<a target="_blank" href="{{ company.website }}" class="td-none">
<span class="fa-stack fa-lg">
<i class="fa fa-circle fa-stack-2x z-depth-2"></i>
<i class="fa fa-link fa-stack-1x fa-inverse"></i>
</span>
</a>
{% endif %}
</div>#}
<div class="col s12 center-align">
<div class="divider"></div>
<br />
{% if ad.status == "CLOSED" %}
<div class="card-panel orange lighten-1 whiteColor">
{{ 'Offre cloturée'|trans }}
</div>
{% else %}
{% if is_granted('ROLE_TALENT') and alreadyAnswered == TRUE %}
<div class="card-panel green lighten-1 whiteColor">
{{ 'ad.talent.isAnswer.label'|trans }}
</div>
{% elseif not is_granted('ROLE_COMPANY') %}
{% if not ad.isPromoted %}
{% if ad.id != 53 %}
<p class="item-detail-reply">
<a title="postuler-side" href="{{ path('talent_answer_create',{'id': ad.getId()}) }}"
class="btn btn-default">
Postuler
</a>
</p>
{% endif %}
{% else %}
<div class="item-detail-ispromoted">
Offre pourvue
</div>
{% endif %}
{% endif %}
{% endif %}
</div>
@@ -1,7 +0,0 @@
{% for type, flash_messages in app.session.flashBag.all %}
{% for flash_message in flash_messages %}
<div class="flash-{{ type }}">
{{ flash_message }}
</div>
{% endfor %}
{% endfor %}
@@ -1,31 +0,0 @@
{% if not app.user or is_granted('ROLE_TALENT_TMP')%}
<div class="header-link header-link-signin right-align">
{% if app.request.get('_route') == "fos_user_security_login" %}
{% set href = "" %}
{% else %}
{% set href = "#modal_login" %}
{% endif %}
<a class="btn button-round-small" href="{{ href }}">
<i class="fa fa-power-off" aria-hidden="true"></i>
<span>Connexion</span>
</a>
</div>
{% else %}
<div class="header-link header-link-signin right-align">
{% if is_granted('ROLE_TALENT') %}
{% set pathDash = path('talent_dashboard') %}
{% elseif is_granted('ROLE_COMPANY') %}
{% set pathDash = path('company_dashboard') %}
{% elseif is_granted('ROLE_TERRITORY') %}
{% set pathDash = path('territory_dashboard') %}
{% elseif is_granted('ROLE_ADMIN') %}
{% set pathDash = path('admin_dashboard') %}
{% else %}
{% set pathDash = path('talent_dashboard') %}
{% endif %}
<a class="btn button-round-small" href="{{ pathDash }}">
<i class="material-icons">perm_identity</i>
<span>Mon compte</span>
</a>
</div>
{% endif %}
@@ -4,7 +4,7 @@
<div class="card-deck d-block d-lg-flex">
<div class="card card-frame mb-5">
<!-- Listing -->
<a class="card-body p-4" href="#">
<a class="card-body p-4" href="#atouts">
<div class="media">
<img class="max-width-9 mb-2" src="{{ asset('v2/svg/components/multi-support.svg') }}" alt="Les candidats consultent et postulent aux offres demploi vidéo depuis leur smartphone, tablette ou ordinateur.">
<div class="media-body px-4">
@@ -8,7 +8,7 @@
</div>
</div>
<div class=" text-center space-3-bottom">
<a class="btn btn-sm btn-contact" href="https://blog.talentstube.com/contact.html" target="_blank" role="button" >
<a class="btn btn-sm btn-contact" href="https://blog.talentstube.com/contact" target="_blank" role="button" >
<i class="fa fa-user-circle mr-1"></i>
Contactez nous
</a>
@@ -1,60 +0,0 @@
{% for company in companies if company.isPrivate != true %}
<div class="col s12">
<div class="card z-depth-3 card-company">
<div class="card-content card-content-company">
<div class="row row-noMargin">
<div class="col s4 col-logo">
{% if company.logo is not null %}
<img class="responsive-img" src="{{ company.webPath | imagine_filter('profile_thumb') }}"/>
{% endif %}
</div>
<div class="col s8 col-infos">
<p class="item-list-name color-blue1">
<a href="{{ path('company_show',{'alias': company.alias }) }}"
title="{{ company.brandName }}">
{{ company.brandName }}
</a>
</p>
{% if company.addresses %}
<span class="truncate">{{ company.addresses.billing.city }}</span>
{% endif %}
</div>
</div>
</div>
<div class="card-image">
{% if company.presentationVideo is defined %}
{% if company.presentationVideo.thumbnails.0.sizes is defined %}
<a href="{{ path('company_show',{'alias': company.alias }) }}" title="{{ company.brandName }}">
<img src="{{ company.presentationVideo.thumbnails.0.sizes.4.link }}"
alt="{{ company.brandName }}"/>
<span class="playerbtn"></span>
</a>
{% endif %}
{% endif %}
</div>
<div class="card-content-wrapper">
<div class="card-content">
<div class="row">
<div class="col s12 card-infos-company">
<div class="chip center-align">
<a class="td-none color-grey3" href="{{ path('company_show',{'alias': company.alias, '_fragment':'offers' }) }}">
{% set nbAds = company.getPublishedAds|length %}
{% if nbAds > 1 %}
<strong>{{company.getPublishedAds|length}} offres d'emploi en cours</strong>
{% else %}
<strong>{{company.getPublishedAds|length}} offre d'emploi en cours</strong>
{% endif %}
</a>
</div>
</div>
</div>
</div>
</div>
<div class="borderList"></div>
</div>
</div>
{% endfor %}
@@ -1,48 +0,0 @@
{% extends 'base.html.twig' %}
{% block title %}Les entreprises qui recrutent en vidéo | TalentsTube{% endblock %}
{% block description %}Découvrez les entreprises qui recrutent en vidéo, elles dévoilent leurs marques employeur et leurs offres d'emploi en vidéo. Postulez rapidement à l'offre qui vous convient.{% endblock %}
{% block ogtc %}
{#Twitter Card data pour les données enrichies sur Twitter#}
<meta name="twitter:card" content="summary">
<meta name="twitter:site" content="@TalentsTube">
<meta name="twitter:title" content="Les entreprises qui recrutent en vidéo | TalentsTube">
<meta name="twitter:description"
content="Découvrez les entreprises qui recrutent en vidéo, elles dévoilent leurs marques employeur et leurs offres d'emploi en vidéo. Postulez rapidement à l'offre qui vous convient.">
<meta name="twitter:image" content="{{ absolute_url(asset('img/mail/logo-talents-tube.png')) }}">
{#Open Graph data pour le partage sur les réseaux sociaux (ex Facebook..)#}
<meta property="og:title" content="Les entreprises qui recrutent en vidéo | TalentsTube"/>
<meta property="og:type" content="article"/>
<meta property="og:image" content="{{ absolute_url(asset('img/mail/logo-talents-tube.png')) }}"/>
<meta property="og:description"
content="Découvrez les entreprises qui recrutent en vidéo, elles dévoilent leurs marques employeur et leurs offres d'emploi en vidéo. Postulez rapidement à l'offre qui vous convient."/>
<meta property="og:site_name" content="Talents Tube"/>
<meta property="og:url"
content="{{ url(app.request.attributes.get('_route'), app.request.attributes.get('_route_params')) }}"/>
{% endblock %}
{% block content %}
{{ render(controller('AppBundle:Ad:adSearchRender',{'type': 'lite' })) }}
<div class="fluid-container bg-grey-3 contentPage">
<div id="searchResultWrapper" class="container">
<div class="row">
<div class="col s12 center-align">
<h1 class="alttitle">Les entreprises de talents</h1>
</div>
</div>
<div class="row m-b-0 p-b-30">
<div class="col s12 m12">
<div id="liste-resultats">
{% include 'default/company_listing.html.twig' with {'companies':companies} %}
</div>
</div>
</div>
</div>
</div>
{% endblock %}
@@ -1,81 +0,0 @@
{% for c in companies if c.isPrivate != true %}
{% if (c.presentationVideo is not null or c.getPublishedAds|length > 0 ) %}
<div class="row item-list-bis z-depth-2 row-noMargin">
<div class="col s12 m2 ad-picture col-logo-lg">
<a href="{{ path('company_show',{'alias': c.alias }) }}"
title="{{ c.brandname }}">
{% if c.logo is not null %}
<img src="{{ c.webPath | imagine_filter('profile_thumb') }}"/>
{% endif %}
</a>
</div>
<div class="col s12 m6 col-noPadding">
<div class="row row-infos row-noMargin">
<div class="col s4 m5 l4 col-noPadding company-infos m-l-30">
<div class="item-list-website">
<h2>
<a href="{{ path('company_show',{'alias': c.alias }) }}"
class="hover-blue2">
<b>{{ c.brandName }}</b>
</a>
</h2>
<br/>
{{ c.init }}
{% if c.city != null %}
{{ c.city }}
{% endif %}
</div>
</div>
</div>
<div class="row row-tags row-noMargin">
<div class="col s11 col-noPadding" style="position:relative;">
<div class="chip center-align">
{% set nbAds = c.getPublishedAds|length %}
{% set fragment = "" %}
{% if nbAds > 0 %}
{% set fragment = "offers" %}
{% endif %}
<a class="td-none color-grey3"
href="{{ path('company_show',{'alias': c.alias, '_fragment': fragment }) }}">
{% set nbAds = c.getPublishedAds|length %}
{% if nbAds > 1 %}
<strong>{{ c.getPublishedAds|length }} offres d'emploi en
cours</strong>
{% elseif nbAds == 1 %}
<strong>{{ c.getPublishedAds|length }} offre d'emploi en
cours</strong>
{% else %}
<strong>candidature spontanée</strong>
{% endif %}
</a>
</div>
</div>
</div>
</div>
<div class="col s12 m4 col-noPadding ad-picture">
<a href="{{ path('company_show',{'alias': c.alias }) }}"
title="{{ c.brandname }}"
class="item-list-media">
{% if c.presentationVideo %}
{% if c.presentationVideo.thumbnails.0.sizes is defined %}
<img class="thumbnail_list"
src="{{ c.presentationVideo.thumbnails.0.sizes.4.link }}"
alt="{{ c.brandName }}"/>
{% endif %}
<span class="playerbtn"></span>
{% else %}
<img class="thumbnail_list"
src="{{ asset('/img/default_picture_company.svg') }}"
alt="{{ c.brandName }}"/>
{% endif %}
</a>
</div>
<div class="borderList"></div>
<div class="clearfix"></div>
</div>
{% endif %}
{% endfor %}
@@ -1,15 +0,0 @@
{% if destination_login is defined %}
{% set destination = destination_login %}
{% else %}
{% set destination = path('redirect_dashboard') %}
{% endif %}
<a class="btn btn-default btn-facebook z-depth-2" href="{{ url("hwi_oauth_service_redirect", {service: "facebook"}) }}?_destination={{ destination }}">Connexion avec Facebook</a>
{# <a class="btn btn-default btn-linkedin z-depth-2" href="{{ url("hwi_oauth_service_redirect", {service: "linkedin"}) }}?_destination={{ destination }}">Connexion avec Linkedin</a> #}
<div class="row">
<div class="col s12">
<div class="separator-with-label">
<hr>
<label><span>ou</span></label>
</div>
</div>
</div>
@@ -1,11 +0,0 @@
<script type="text/javascript">
document.addEventListener("DOMContentLoaded", function(event) {
{% for flashMessage in app.session.flashbag.get('notice') %}
var message = "{{ flashMessage }}";
{% endfor %}
if(typeof(message) !== "undefined"){
var $toastContent = $('<span>'+message+'</span>');
Materialize.toast($toastContent, 5000);
}
});
</script>
@@ -20,7 +20,7 @@
<a class="white-text" href="{{ path('territory_list') }}" title="Listes des territoires">Nos territoires</a>
</li>
<li>
<a class="white-text" href="https://blog.talentstube.com/contact.html" title="Talents Tube ">Contact</a>
<a class="white-text" href="https://blog.talentstube.com/contact" title="Talents Tube ">Contact</a>
</li>
</ul>
</div>
@@ -28,13 +28,13 @@
<h5 class="white-text">Informations</h5>
<ul>
<li>
<a class="white-text" href="{{ path('service_legals') }}">Mentions légales</a>
<a class="white-text" href="{{ path('service_legals') }}" target="_blank">Mentions légales</a>
</li>
<li>
<a class="white-text" href="{{ path('service_cgu') }}">Conditions générales d'utilisation</a>
<a class="white-text" href="{{ path('service_cgu') }}" target="_blank">Conditions générales d'utilisation</a>
</li>
<li>
<a class="white-text" href="{{ path('page_Confidentialite') }}">Politique de confidentialité et protection des données</a>
<a class="white-text" href="{{ path('page_Confidentialite') }}" target="_blank">Politique de confidentialité et protection des données</a>
</li>
</ul>
</div>
@@ -1,7 +1,9 @@
{% extends 'basev2.html.twig' %}
{% block title %}Talents Tube : Conditions générales dutilisation - {% endblock %}
{% block menu %}
{% endblock %}
{% block content %}
<main id="content">
<!-- Terms Section -->
@@ -473,7 +475,7 @@
<div id="2.0" class="space-2">
<div class="mb-3">
<span class="d-block text-secondary font-weight-medium">2.0</span>
<h3>Using our servicesChamp d'application</h3>
<h3>Champ d'application</h3>
</div>
<p>Les présentes Conditions Générales d'Utilisation et de Vente ont pour objet de définir les modalités et les
@@ -1,7 +1,9 @@
{% extends 'basev2.html.twig' %}
{% block title %}Talentts tube : Politique de confidentialité et protection des données{% endblock %}
{% block title %}Talents tube : Politique de confidentialité et protection des données{% endblock %}
{% block menu %}
{% endblock %}
{% block content %}
<main id="content">
<!-- Privacy Section -->
@@ -19,7 +21,7 @@
<p>Nous vous invitons à lire avec attention le présent document. Pour toute question concernant ce document
et, dune manière générale, sur la collecte et le traitement de vos informations personnelles par la société
talentstube.com, nhésitez pas à nous contacter via le formulaire présent sur la page contact :
https://blog.talentstube.com/contact.html
<a href="https://blog.talentstube.com/contact" target="_blank">https://blog.talentstube.com/contact</a>
</p>
<div class="mb-3">
<h2 class="h4">Données personnelles</h2>
@@ -134,7 +136,7 @@
<p>Vous pouvez demander une limitation du traitement des données collectées. Lexercice de ces droits peut
exercer ce droit auprès de TALENTS TUBE en adressant une requête soit par voie postale à l'adresse suivante
: 3 Rue Louis de Broglie, Village By CA 56000 Vannes, soit par courrier électronique via le formulaire
présent sur la page Contact https://blog.talentstube.com/contact.html. Cette requête devra être accompagnée
présent sur la page Contact <a href="https://blog.talentstube.com/contact" target="_blank"> https://blog.talentstube.com/contact</a>. Cette requête devra être accompagnée
d'une pièce d'identité revêtant la signature de l'Utilisateur et devra préciser l'adresse et le moyen par
lesquelles une réponse pourra être envoyée.</p>.
@@ -1,7 +1,9 @@
{% extends 'basev2.html.twig' %}
{% block title %}Mentions légales - Talents Tube{% endblock %}
{% block menu %}
{% endblock %}
{% block content %}
<main id="content">
<!-- Privacy Section -->
@@ -93,7 +93,7 @@
<!-- Button -->
<li class="nav-item u-header__nav-item-btn">
<a class="btn btn-sm btn-contact" href="https://blog.talentstube.com/contact.html" target="_blank" role="button">
<a class="btn btn-sm btn-contact" href="https://blog.talentstube.com/contact" target="_blank" role="button">
{# <i class="fa fa-user-circle mr-1"></i> #}
Contactez-nous
</a>
@@ -6,7 +6,7 @@
<h2 class="text-white text-center"> Envie de dévoiler votre marque employeur en vidéo ? </h2>
</div>
<a class="btn btn-sm btn-contact" href="https://blog.talentstube.com/contact.html"
<a class="btn btn-sm btn-contact" href="https://blog.talentstube.com/contact"
data-overlay-color="#151b26">
Contactez-nous
@@ -15,7 +15,7 @@ et qui vous permet de présenter en quelques minutes et en toute
authenticité votre équipe, vos valeurs, votre environnement de
travail et le quotidien de vos métiers.
</p>
<a class="btn btn-sm btn-primary btn-wide" href="https://www.talentstube.com/offres-emploi" target="_blank">Voir la plateforme</a>
<a class="btn btn-sm btn-primary btn-wide" href="https://www.talentstube.com/Offres" target="_blank">Voir la plateforme</a>
</div>
</div>
@@ -15,7 +15,7 @@
collaborateurs sont fiers de présenter leur métier.
</p>
<a class="btn btn-sm btn-primary btn-wide" href="https://www.talentstube.com/offres-emploi"
<a class="btn btn-sm btn-primary btn-wide" href="https://www.talentstube.com/Offres"
target="_blank">Voir la plateforme</a>
</div>
@@ -1,20 +0,0 @@
{% extends 'base.html.twig' %}
{% block metarobot %}
{% if robot is defined and robot == 0 %}
<meta name="robots" content="noindex,nofollow">
{% else %}
<meta name="robots" content="index,follow">
{% endif %}
{% endblock %}
{% block title %}{{ page.title }}{% endblock %}
{% block description %}{{ page.description }}{% endblock %}
{% block content %}
{{ page.content|raw }}
{% if isTestimony is defined %}
{% include 'testimony/testimony_list.html.twig' %}
{% endif %}
{% endblock %}
@@ -1,9 +0,0 @@
<div class="bg-grey-3" style="height:1px;padding-top:150px;padding-bottom:10px;"></div>
<div class="triggerSearch"></div>
<div class="fluid-container bg-grey-3 searchBarWrapper">
<div id="homeSearch" class="searchBar container" style="top:0;">
{% include 'form/search_form.html.twig' with {'searchform': searchform } %}
</div>
</div>
@@ -1,31 +0,0 @@
{% for talent in talents %}
{% if talent.users[0] is defined %}
{% set user = talent.users[0] %}
<div class="item">
<a href="{{ path('talent_show',{'alias': talent.alias }) }}"
title="{{ user.firstname }} {{ user.lastname }}">
{% if user.socialPicture is not null and user.photo is null %}
<img class="circle z-depth-3" src="{{ user.socialPicture }}" alt="{{ user.firstname }} {{ user.lastname }}"/>
{% elseif user.photo %}
<img class="circle z-depth-3" src="{{ user.webPath | imagine_filter('profile_square') }}" alt="{{ user.firstname }} {{ user.lastname }}"/>
{% else %}
<div class="circle-letters font-2">{{ user.firstname|first|upper }}{{ user.lastname|first|upper }}</div>
{% endif %}
</a>
<p class="item-list-job item-list-name center-align">
<a href="{{ path('talent_show',{'alias': talent.alias }) }}"
title="{{ user.firstname }} {{ user.lastname }}">
{{ user.firstname }} {{ user.lastname }}
</a>
</p>
{#{% if talent.publicTag %}
{% for keyword in talent.publicTag %}
{% if keyword != "" %}
<div class="chip">{{ keyword }}</div>
{% endif %}
{% endfor %}
{% endif %}#}
</div>
{% endif %}
{% endfor %}
@@ -0,0 +1,364 @@
{% extends 'basev2.html.twig' %}
{% block title %}Offres demploi - Recrutez des candidats en vidéo - Talents Tube{% endblock %}
{% block meta %}
<meta name="description" content="Attirez les meilleurs candidats avec des offres demploi en vidéo. Présentez le poste recherché, les missions, les locaux et les collaborateurs de votre entreprise.">
<meta name="twitter:card" content="summary">
<meta name="twitter:site" content="@TalentsTube">
<meta name="twitter:title" content="Offres demploi - Recrutez des candidats en vidéo - Talents Tube">
<meta name="twitter:description" content="Attirez les meilleurs candidats avec des offres demploi en vidéo. Présentez le poste recherché, les missions, les locaux et les collaborateurs de votre entreprise.">
<meta name="twitter:image" content="{{ absolute_url(asset('img/mail/logo-talents-tube.png')) }}">
{#Open Graph data pour le partage sur les réseaux sociaux (ex Facebook..)#}
<meta property="og:title" content="Offres demploi - Recrutez des candidats en vidéo - Talents Tube" />
<meta property="og:type" content="article" />
<meta property="og:image" content="{{ absolute_url(asset('img/mail/logo-talents-tube.png')) }}" />
<meta property="og:description" content="Attirez les meilleurs candidats avec des offres demploi en vidéo. Présentez le poste recherché, les missions, les locaux et les collaborateurs de votre entreprise." />
<meta property="og:site_name" content="Talents Tube" />
<meta property="og:url" content="{{ url(app.request.attributes.get('_route'), app.request.attributes.get('_route_params')) }}" />
{% endblock %}
{% block content %}
<main id="content">
<!-- Hero Section -->
<div class="gradient-half-primary-v1">
<div class="bg-img-hero" style="background-image: url(../../assets/img/bg/bg2.png);">
<div class="container space-2 space-4-top--lg space-3-bottom--lg">
<div class="w-md-80 w-lg-60 text-center mx-auto">
<!-- Title -->
<div class="mb-9">
<h1 class="display-4 text-white">Abonnement</h1>
<p class="lead text-white">Choisissez l'offre qui vous correspond pour diffuser vos vidéos de recrutement</p>
</div>
<!-- End Title -->
</div>
</div>
</div>
</div>
<!-- End Hero Section -->
<!-- Pricing Section -->
<div class="container">
<div class="bg-gray-100 shadow-lg rounded mt-n9">
<!-- Individual -->
<div id="pricingIndividual" data-target-group="idPricing">
<div class="js-slick-carousel u-slick u-slick--gutters"
data-slides-show="3"
data-slides-scroll="1"
data-pagi-classes="d-lg-none text-center u-slick__pagination mt-7 mb-0"
data-responsive='[{
"breakpoint": 1200,
"settings": {
"slidesToShow": 3
}
}, {
"breakpoint": 992,
"settings": {
"slidesToShow": 2
}
}, {
"breakpoint": 768,
"settings": {
"slidesToShow": 1
}
}, {
"breakpoint": 554,
"settings": {
"slidesToShow": 1
}
}]'>
<div class="js-slide">
<!-- Pricing -->
<div class="card border-0">
<!-- Header -->
<header class="card-header text-center p-5">
<h4 class="h4">Jusqu'à 3 vidéos</h4>
<span class="d-block">
<span class="display-4 text-dark">
99€
</span>
<span class="d-block text-secondary font-size-14">par mois HT</span>
</span>
</header>
<!-- End Header -->
<!-- Content -->
<div class="card-body p-5">
<ul class="list-unstyled mb-4">
<li class="font-size-14 py-2">- Création page entreprise</li>
<li class="font-size-14 py-2">- Accès espace recruteur</li>
<li class="font-size-14 py-2">- Mise en ligne de 1 à 3 vidéos
offre demploi et Marque employeur</li>
<li class="font-size-14 py-2">- Réception des candidatures en vidéo</li>
<li class="font-size-14 py-2">- Gestion des candidatures</li>
<li class="font-size-14 py-2">- Échanges vidéos avec les candidats</li>
<li class="font-size-14 py-2">- Suivi Statistiques</li>
</ul>
</div>
<!-- End Content -->
</div>
<!-- End Pricing -->
</div>
<div class="js-slide">
<!-- Pricing -->
<div class="card border-0">
<!-- Header -->
<header class="card-header text-center p-5">
<h4 class="h4">De 4 à 9 vidéos</h4>
<span class="d-block">
<span class="display-4 text-dark">
199€
</span>
<span class="d-block text-secondary font-size-14">par mois HT</span>
</span>
</header>
<!-- End Header -->
<!-- Content -->
<div class="card-body p-5">
<ul class="list-unstyled mb-4">
<li class="font-size-14 py-2">- Création page entreprise</li>
<li class="font-size-14 py-2">- Accès espace recruteur</li>
<li class="font-size-14 py-2">- Mise en ligne de 4 à 9 vidéos
offre demploi et Marque employeur</li>
<li class="font-size-14 py-2">- Réception des candidatures en vidéo</li>
<li class="font-size-14 py-2">- Gestion des candidatures</li>
<li class="font-size-14 py-2">- Échanges vidéos avec les candidats</li>
<li class="font-size-14 py-2">- Suivi Statistiques</li>
</ul>
</div>
<!-- End Content -->
</div>
<!-- End Pricing -->
</div>
<div class="js-slide">
<!-- Pricing -->
<div class="card border-0">
<!-- Header -->
<header class="card-header text-center p-5">
<h4 class="h4">Plus de 10 vidéos</h4>
<span class="d-block">
<span class="display-4 text-dark">
Sur devis
</span>
<span class="d-block text-secondary font-size-14">&nbsp;</span>
</span>
</header>
<!-- End Header -->
<!-- Content -->
<div class="card-body p-5">
<ul class="list-unstyled mb-4">
<li class="font-size-14 py-2">- Création page entreprise</li>
<li class="font-size-14 py-2">- Accès espace recruteur</li>
<li class="font-size-14 py-2">- Mise en ligne de 10 vidéos
offre demploi et Marque employeur</li>
<li class="font-size-14 py-2">- Réception des candidatures en vidéo</li>
<li class="font-size-14 py-2">- Gestion des candidatures</li>
<li class="font-size-14 py-2">- Échanges vidéos avec les candidats</li>
<li class="font-size-14 py-2">- Suivi Statistiques</li>
</ul>
</div>
<!-- End Content -->
</div>
<!-- End Pricing -->
</div>
</div>
</div>
<!-- End Individual -->
</div>
</div>
<!-- End Pricing Section -->
<!-- Divider -->
<div class="container space-2-bottom">
<hr class="my-0">
</div>
<!-- End Divider -->
<!-- FAQ Section -->
<div class="container space-2-bottom">
<!-- Title -->
<div class="w-md-80 w-lg-60 text-center mx-md-auto mb-9">
<h3 class="h4">Vous souhaitez en savoir plus sur notre solution?</h3>
</div>
<!-- End Title -->
<div class="w-md-80 w-lg-60 text-center mx-md-auto mb-9">
<a href="https://blog.talentstube.com/contact" target="_blank"><button type="button" class="btn btn-block btn-primary" >Contactez-nous</button></a>
</div>
</div>
<!-- End FAQ Section -->
<!-- Divider -->
<div class="w-50 w-lg-35 mx-auto">
<hr class="my-0">
</div>
<!-- End Divider -->
</main>
<!-- ========== END MAIN CONTENT ========== -->
{% include 'defaultv2/accueil/footer.html.twig' %}
<!-- Begin Panel Login -->
{% include 'defaultv2/accueil/blocLogin.html.twig'
with {
'csrf_token': csrf_token,
'error' : error
} %}
<!-- End Panel Login -->
<!-- Go to Top -->
<a class="js-go-to u-go-to" href="javascript:;" data-position='{"bottom": 30, "right": 100 }' data-type="fixed"
data-offset-top="400" data-compensation="#header" data-show-effect="slideInUp" data-hide-effect="slideOutDown">
<i class="fa fa-arrow-up u-go-to__inner"></i>
</a>
<!-- End Go to Top -->
<!-- JS Global Compulsory -->
<script src="{{ asset('v2/vendor/jquery/dist/jquery.min.js') }}"></script>
<script src="{{ asset('v2/vendor/jquery-migrate/dist/jquery-migrate.min.js') }}"></script>
<script src="{{ asset('v2/vendor/popper.js/dist/umd/popper.min.js') }}"></script>
<script src="{{ asset('v2/vendor/bootstrap/bootstrap.min.js') }}"></script>
<!-- JS Implementing Plugins -->
<script src="{{ asset('v2/vendor/hs-megamenu/src/hs.megamenu.js') }}"></script>
<script src="{{ asset('v2/vendor/jquery-validation/dist/jquery.validate.min.js') }}"></script>
<script src="{{ asset('v2/vendor/malihu-custom-scrollbar-plugin/jquery.mCustomScrollbar.concat.min.js') }}"></script>
<script src="{{ asset('v2/vendor/custombox/dist/custombox.min.js') }}"></script>
<script src="{{ asset('v2/vendor/custombox/dist/custombox.legacy.min.js') }}"></script>
<script src="{{ asset('v2/vendor/typed.js/lib/typed.min.js') }}"></script>
<script src="{{ asset('v2/vendor/slick-carousel/slick/slick.js') }}"></script>
<script src="{{ asset('v2/vendor/cubeportfolio/js/jquery.cubeportfolio.min.js') }}"></script>
<script src="{{ asset('v2/vendor/fancybox/jquery.fancybox.min.js') }}"></script>
<!-- JS Space -->
<script src="{{ asset('v2/js/hs.core.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.header.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.unfold.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.validation.js') }}"></script>
<script src="{{ asset('v2/js/helpers/hs.focus-state.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.malihu-scrollbar.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.fancybox.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.modal-window.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.show-animation.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.slick-carousel.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.cubeportfolio.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.g-map.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.go-to.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.video-player.js') }}"></script>
<!-- JS Plugins Init. -->
<script>
// initialization of google map
{# function initMap() {
$.HSCore.components.HSGMap.init('.js-g-map');
} #}
$(window).on('load', function () {
// initialization of HSMegaMenu component
$('.js-mega-menu').HSMegaMenu({
event: 'hover',
pageContainer: $('.container'),
breakpoint: 767,
hideTimeOut: 0
});
});
$(document).on('ready', function () {
// initialization of header
$.HSCore.components.HSHeader.init($('#header'));
// initialization of fancybox
$.HSCore.components.HSFancyBox.init('.js-fancybox');
// initialization of unfold component
$.HSCore.components.HSUnfold.init($('[data-unfold-target]'), {
afterOpen: function () {
if (!$('body').hasClass('IE11')) {
$(this).find('input[type="search"]').focus();
}
}
});
// initialization of form validation
$.HSCore.components.HSValidation.init('.js-validate', {
rules: {
confirmPassword: {
equalTo: '#password'
}
}
});
// initialization of forms
$.HSCore.helpers.HSFocusState.init();
// initialization of malihu scrollbar
$.HSCore.components.HSMalihuScrollBar.init($('.js-scrollbar'));
// initialization of autonomous popups
$.HSCore.components.HSModalWindow.init('[data-modal-target]', '.js-signup-modal', {
autonomous: true
});
// initialization of show animations
$.HSCore.components.HSShowAnimation.init('.js-animation-link');
// initialization of slick carousel
$.HSCore.components.HSSlickCarousel.init('.js-slick-carousel');
// initialization of video player
$.HSCore.components.HSVideoPlayer.init('.js-inline-video-player');
// initialization of text animation (typing)
$('.u-text-animation.u-text-animation').html("");
// initialization of text animation (typing)
var typed = new Typed(".u-text-animation.u-text-animation--typing", {
strings: ["Attirez des talents", "Valorisez vos collaborateurs", "Dévoilez vos métiers "],
typeSpeed: 60,
loop: true,
backSpeed: 25,
backDelay: 3000
});
// initialization of cubeportfolio
$.HSCore.components.HSCubeportfolio.init('.cbp');
// initialization of go to
$.HSCore.components.HSGoTo.init('.js-go-to');
});
$(document).ready(function () {
$(window).scroll(function () { // check if scroll event happened
if ($(document).scrollTop() > 50) { // check if user scrolled more than 50 from top of the browser window
$("#logoAndNav").css("background-color","#000"); // if yes, then change the color of class "navbar-fixed-top" to white (#f8f8f8)
$("#sidebarNavToggler").css("color","#fff");
} else {
$("#logoAndNav").css("background-color", "transparent"); // if not, change it back to transparent
$("#sidebarNavToggler").css("color", "#000");
}
});
});
</script>
{% endblock %}
{% block javascripts %}
{{ parent() }}
<script src="https://player.vimeo.com/api/player.js"></script>
{% endblock %}
@@ -1,26 +0,0 @@
{% for vid in videos %}
<div class="col s3">
<div class="card z-depth-1 card-video">
{#<div class="card-title-video">#}
{#<div class="row row-noMargin">#}
{#<div class="col s12 col-infos">#}
{#<div class="truncate">#}
{#{{ vid.title }}#}
{#</div>#}
{#</div>#}
{#</div>#}
{#</div>#}
<div class="card-image">
<iframe src="https://player.vimeo.com{{ vid.getCdnUrl()|replace({ "videos": "video"}) }}"
width="100%" height="auto" frameborder="0" webkitallowfullscreen
mozallowfullscreen allowfullscreen></iframe>
</div>
<a class="card-button addExistingVideo tooltipped" data-position="top"
data-tooltip="Choisir cette vidéo" href="#" data-title="{{ vid.getTitle() }}"
data-id="{{ vid.getId() }}">
{#<div class="w-100">Sélectionner</div>#}
<div class="w-100 truncate"><i class="fa fa-angle-double-right" aria-hidden="true"></i> {{ vid.title }}</div>
</a>
</div>
</div>
{% endfor %}
@@ -0,0 +1,250 @@
{% if is_granted('ROLE_COMPANY') %}
{% set extendTemplate='company/base_dashboard_company.html.twig' %}
{% elseif is_granted('ROLE_TERRITORY') %}
{% set extendTemplate='territory/base_dashboard_territory.html.twig' %}
{% else %}
{% set extendTemplate='talent/base_dashboard_talent.html.twig' %}
{% endif %}
{% extends extendTemplate %}
{% block dashContent %}
<div class=" container-fluid container-fixed-lg bg-white">
<div class="card card-transparent">
<div class="card-header ">
<div class="card-title">Vidéo de présentation
</div>
</div>
{% if app.user.company.presentationVideo %}
{% set media = app.user.company.presentationVideo %}
{% endif %}
<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.company.presentationVideo %}
<strong><span data-id="{{ media.id }}"
class="titleVideo">{{ media.title }}</span></strong>
{% 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"><i class="fa fa-ban"
aria-hidden="true"></i></a>
<a class="btn btn-default btn-video-premier right btn-orange">
{% if app.user.company.presentationVideo %}
Modifier ma vidéo de présentation
{% else %}
Ajouter une vidéo de présentation
{% endif %}
</a>
<div class="clearfix"></div>
</p>
</div>
</div>
</div>
</div>
<div class=" container-fluid container-fixed-lg bg-white">
<div class="card card-transparent">
{% if medias|length > 0 or is_granted('ROLE_COMPANY') or is_granted('ROLE_TERRITORY')%}
<div class="col s12 col-actions">
<button aria-label="" type="button" class="btn btn-primary">Ajouter une vidéo</button>
<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 %}
<div class="row">
{# {% 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 %}
{% 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>
</div>
</div>
{% endif %}
{% endfor %} #}
</div>
</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> #}
<!-- MODAL STICK UP -->
<div class="modal fade stick-up" id="myModal" tabindex="-1" role="dialog" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header clearfix text-left">
<button aria-label="" type="button" class="close" data-dismiss="modal" aria-hidden="true"><i class="pg-icon">close</i>
</button>
<h5>Payment <span class="semi-bold">Information</span></h5>
<p>We need payment information inorder to process your order</p>
</div>
<div class="modal-body">
<form role="form">
<div class="form-group-attached">
<div class="row">
<div class="col-md-12">
<div class="form-group form-group-default">
<label>Company Name</label>
<input type="email" class="form-control">
</div>
</div>
</div>
<div class="row">
<div class="col-md-8">
<div class="form-group form-group-default">
<label>Card Number</label>
<input type="text" class="form-control">
</div>
</div>
<div class="col-md-4">
<div class="form-group form-group-default">
<label>Card Holder</label>
<input type="text" class="form-control">
</div>
</div>
</div>
</div>
</form>
<div class="row">
<div class="col-md-8">
<div class="p-t-20 clearfix p-l-10 p-r-10">
<div class="pull-left">
<p class="bold font-montserrat text-uppercase">TOTAL</p>
</div>
<div class="pull-right">
<p class="bold font-montserrat text-uppercase">$20.00</p>
</div>
</div>
</div>
<div class="col-md-4 m-t-10 sm-m-t-10">
<button aria-label="" type="button" class="btn btn-primary btn-block m-t-5">Pay Now</button>
</div>
</div>
</div>
</div>
<!-- /.modal-content -->
</div>
<!-- /.modal-dialog -->
</div>
<!-- END MODAL STICK UP -->
{% 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>
{% endblock %}
@@ -1,5 +1,5 @@
{% if is_granted('ROLE_COMPANY') %}
{% set extendTemplate='company/base_dashboard_company.html.twig' %}
{% set extendTemplate='company/base_dashboard_company_V2.html.twig' %}
{% elseif is_granted('ROLE_TERRITORY') %}
{% set extendTemplate='territory/base_dashboard_territory.html.twig' %}
{% else %}
@@ -11,6 +11,7 @@
{% 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/>
@@ -24,6 +25,13 @@
{% 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 %}
@@ -32,26 +40,27 @@
width="100%" height="550" frameborder="0" webkitallowfullscreen
mozallowfullscreen allowfullscreen></iframe>
</div>
{% else %}
{# {% 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>
</div> #}
{% endif %}
</div>
<div class="card-content">
<p>
{% if app.user.getCompany().hasCompanyVideo() != true and is_granted('ROLE_COMPANY') %}
{# {% 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 %}
{% else %} #}
{% if app.user.company.presentationVideo %}
<strong><span data-id="{{ media.id }}"
class="titleVideo">{{ media.title }}</span></strong>
<div><strong><span data-id="{{ media.id }}"
class="titleVideo">{{ media.title }}</span></strong></div>
{% else %}
{% set label_title_video = "" %}
{% if is_granted('ROLE_COMPANY') %}
@@ -62,30 +71,45 @@
<strong>{{ label_title_video }}</strong>
{% endif %}
<a class="btn btn-cancel-premier red tooltipped btn-round right" href="#!"
data-position="top" data-tooltip="Annuler"><i class="fa fa-ban"
aria-hidden="true"></i></a>
data-position="top" data-tooltip="Annuler">Annuler</a>
<a class="btn btn-default btn-video-premier right btn-orange">
{% if app.user.company.presentationVideo %}
Modifier ma vidéo de présentation
Remplacer ma vidéo marque employeur
{% else %}
Ajouter une vidéo de présentation
Choisir une vidéo marque employeur
{% endif %}
</a>
<div class="clearfix"></div>
{% endif %}
</p>
<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>
data-tooltip="Supprimer des vidéos"><i class="fa fa-trash" aria-hidden="true"></i></a>
</div>
{% endif %}
{% for media in medias %}
{% set classVideo = "" %}
@@ -95,6 +119,7 @@
{% 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">
@@ -152,6 +177,7 @@
{% endif %}
{% endfor %}
</div>
</div>
{% set video = null %}
<div id="addVideo" class="modal modal-fixed-footer">
<div class="modal-content">
@@ -12,25 +12,25 @@
<div class="row">
<div class="col s12">
{#<a class="waves-effect waves-light btn btn-default modal-trigger left m-r-10" href="#addVideo">Créer une vidéo</a>#}
{% if medias|length > 0 %}
{# {% if medias|length > 0 %} #}
<a class="waves-effect waves-light btn btn-default modal-trigger left" 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>
{% endif %}
{# {% endif %} #}
</div>
</div>
{% if medias|length == 0 %}
<div class="col s12 col-actions center-align" id="no-video-talents">
{# <div class="col s12 col-actions center-align" id="no-video-talents">
<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="waves-effect waves-light btn btn-default modal-trigger" href="#addVideo">Ajouter une
vidéo</a>
</div>
</div> #}
{% else %}
{% if app.user.company.presentationVideo %}
{% set media = app.user.company.presentationVideo %}
@@ -102,7 +102,7 @@
dès aujourdhui !
</p>
<br /><br />
<a class="btn btn-default" title="contactez nous" href="https://blog.talentstube.com/contact.html">Contactez nous dès aujourdhui !</a>
<a class="btn btn-default" title="contactez nous" href="https://blog.talentstube.com/contact">Contactez nous dès aujourdhui !</a>
<br />
</div>
</div>
@@ -168,7 +168,7 @@
<div class="card-title"><h4>Réalisation vidéo</h4></div>
<div class="price blue-text">Sur devis</div>
<div class="center-align">
<a href="https://blog.talentstube.com/contact.html" class="btn btn-default">Demander un devis</a>
<a href="https://blog.talentstube.com/contact" class="btn btn-default">Demander un devis</a>
</div>
<div class="divider"></div>
<p>Nos équipes vous aident à <strong>écrire le scénario RH et/ou Marque Employeur</strong>.</p>
@@ -91,7 +91,7 @@
!
</div>
<div class="col s12 center-align m-t-50 m-b-50">
<a class="btn btn-default" title="contactez nous" href="https://blog.talentstube.com/contact.html">Demander un devis</a>
<a class="btn btn-default" title="contactez nous" href="https://blog.talentstube.com/contact">Demander un devis</a>
<br />
</div>
</div>
@@ -102,7 +102,7 @@
</div>
<div class="row center-align m-t-100">
<p>
<a href="https://blog.talentstube.com/contact.html" class="btn btn-default">Nous contacter</a>
<a href="https://blog.talentstube.com/contact" class="btn btn-default">Nous contacter</a>
</p>
</div>
</div>
@@ -117,7 +117,7 @@
</div>
<div class="row center-align m-t-50">
<p>
<a href="https://blog.talentstube.com/contact.html" class="btn btn-default white">Demander un devis</a>
<a href="https://blog.talentstube.com/contact" class="btn btn-default white">Demander un devis</a>
</p>
</div>
</div>
@@ -134,7 +134,7 @@
</div>
<div class="row center-align m-t-50 m-b-50">
<p>
<a class="btn btn-default" title="contactez nous" href="https://blog.talentstube.com/contact.html">Demander votre vidéo marque employeur</a>
<a class="btn btn-default" title="contactez nous" href="https://blog.talentstube.com/contact">Demander votre vidéo marque employeur</a>
</p>
</div>
</div>
@@ -121,7 +121,7 @@
</div>
<div class="row center-align">
<p>
<a class="btn btn-default" title="contactez nous" href="https://blog.talentstube.com/contact.html">Contactez nous dès aujourdhui !</a>
<a class="btn btn-default" title="contactez nous" href="https://blog.talentstube.com/contact">Contactez nous dès aujourdhui !</a>
</p>
</div>
</div>
@@ -192,7 +192,7 @@
<div class="row center-align">
<p>
<br />
<a href="https://blog.talentstube.com/contact.html" class="btn btn-default">Demander une vidéo offre emploi</a>
<a href="https://blog.talentstube.com/contact" class="btn btn-default">Demander une vidéo offre emploi</a>
</p>
</div>
</div>
@@ -90,7 +90,7 @@
</div>
<div class="row center-align m-t-100">
<p>
<a href="https://blog.talentstube.com/contact.html" class="btn btn-default">Demander une vidéo territoire</a>
<a href="https://blog.talentstube.com/contact" class="btn btn-default">Demander une vidéo territoire</a>
</p>
</div>
</div>
@@ -6,7 +6,28 @@
{% block description %}Découvrez le CV vidéo de
{{ user.firstname }}. Trouvez le prochain talent de votre équipe sur Talents Tube.{% endblock %}
{% block ogtc %}
{#Twitter Card data pour les données enrichies sur Twitter#}
<meta name="twitter:card" content="summary">
<meta name="twitter:site" content="@TalentsTube">
<meta name="twitter:title" content="Découvrez le CV vidéo de
{{ user.firstname }} sur Talents Tube">
<meta name="twitter:description" content="Découvrez le CV vidéo de
{{ user.firstname }}. Trouvez le prochain talent de votre équipe sur Talents Tube.">
<meta name="twitter:image" content="{{ absolute_url(asset('img/mail/logo-talents-tube.png')) }}">
{#Open Graph data pour le partage sur les réseaux sociaux (ex Facebook..)#}
<meta property="og:title" content="Découvrez le CV vidéo de
{{ user.firstname }} sur Talents Tube" />
<meta property="og:type" content="article" />
<meta property="og:image" content="{{ absolute_url(asset('img/mail/logo-talents-tube.png')) }}" />
<meta property="og:description" content="Découvrez le CV vidéo de
{{ user.firstname }}. Trouvez le prochain talent de votre équipe sur Talents Tube." />
<meta property="og:site_name" content="Talents Tube" />
<meta property="og:url" content="{{ url(app.request.attributes.get('_route'), app.request.attributes.get('_route_params')) }}" />
{% endblock %}
{% block content %}
{% include 'default/flash_message.html.twig' %}
@@ -201,8 +222,8 @@
<h4 class="no-margin-top">
Contacter le talent
</h4>
Ex <p>
péditeur :
<p>
Expéditeur :
{{ app.user.firstname }}
{{ app.user.lastname }}
</p>
View File
@@ -3,8 +3,8 @@ parameters:
onurb_yuml.extension: jpg
mailer_transport: smtp
mailer_host: mail.gandi.net
mailer_user: noreply@talentstube.com
mailer_password: zfYwOGBHweCQ8OI9ghF6lUyo
mailer_user: noreply@talentstube.io
mailer_password: eaV76D3AEhRbLxNVwfuz9
secret: 416157a2389cec970df2a46fa8ffd361b76516d1
database_host: tt-website.postgres.dev
database_port: '5432'
@@ -25,7 +25,7 @@ parameters:
media_photo_dir: '%kernel.root_dir%/../web/uploads/photos/'
elastic_host: tt-website.elasticsearch.dev
elastic_port: 9200
delivery_addresses: thomas.berrod@e-declic.com
delivery_addresses: l.laniau@talentstube.com
push_params:
push_notification_file_path: '%kernel.root_dir%/../web/push/'
push_network_config:
@@ -1,15 +1,17 @@
parameters:
mailer_transport: smtp
mailer_host: mail.gandi.net
mailer_user: noreply@talentstube.com
mailer_password: zfYwOGBHweCQ8OI9ghF6lUyo
# mailer_user: noreply@talentstube.io
# mailer_password: zfYwOGBHweCQ8OI9ghF6lUyo
mailer_user: noreply@talentstube.io
mailer_password: eaV76D3AEhRbLxNVwfuz9
secret: 416157a2389cec970df2a46fa8ffd361b76516d1
database_host: 'tt-website.postgres.preprod'
database_port: '5432'
database_name: database
database_user: user
database_password: 7C|Uk2B[.>"6{QO{
#database_password: b|RN:iR<g,TNMqM6
#database_password: 7C|Uk2B[.>"6{QO{
database_password: b|RN:iR<g,TNMqM6
#Mongo
mongodb_server: "mongodb://tt-website.mongo.preprod:27017"
#Prestashop
@@ -28,7 +30,7 @@ parameters:
elastic_host: tt-website.elasticsearch.preprod
elastic_port: 9200
delivery_addresses: thomas.berrod@e-declic.com
delivery_addresses: l.laniau@talentstube.com
push_params:
push_notification_file_path: '%kernel.root_dir%/../web/push/'
push_network_config:
@@ -1,8 +1,10 @@
parameters:
mailer_transport: smtp
mailer_host: mail.gandi.net
mailer_user: noreply@talentstube.com
mailer_password: zfYwOGBHweCQ8OI9ghF6lUyo
#mailer_user: noreply@talentstube.com
#mailer_password: zfYwOGBHweCQ8OI9ghF6lUyo
mailer_user: noreply@talentstube.io
mailer_password: eaV76D3AEhRbLxNVwfuz9
secret: 416157a2389cec970df2a46fa8ffd361b76516d1
database_host: 'tt-website.postgres.prod'
database_port: '5432'
@@ -27,15 +29,15 @@ parameters:
elastic_host: tt-website.elasticsearch.prod
elastic_port: 9200
delivery_addresses: thomas.berrod@e-declic.com
delivery_addresses: l.laniau@talentstube.com
push_params:
push_notification_file_path: '%kernel.root_dir%/../web/push/'
push_network_config:
public_key: '%push_params.public_key%'
private_key: g2Yimi3AK1ppvRqwikPyTTWcEEsTdRPxoBJ2Vi9bOWw
service_mail_subject: 'mailto:looping@talentstube.com'
ttl: 300
urgency: high
topic: Emploi
push_notification_file_path: '%kernel.root_dir%/../web/push/'
push_network_config:
public_key: '%push_params.public_key%'
private_key: g2Yimi3AK1ppvRqwikPyTTWcEEsTdRPxoBJ2Vi9bOWw
service_mail_subject: 'mailto:looping@talentstube.com'
ttl: 300
urgency: high
topic: Emploi
push_params.public_key: BG2lV673DvB67dzEwX9GKfds3sXaEdtZo2oWO1cO2xUdTJAFZ_rV_UrP1nHQz-F8LJNO9HxG0kmQRIb54JL1ZCA
@@ -90,7 +90,7 @@ class AdController extends Controller
/**
* @Route("/entreprise/me/espace-oe/annonce/{id}/editer", name="company_ad_edit")
* @Security("(ad.getStatus() == 'DRAFT' or ad.getStatus() == 'DECLINED') and ad.getCompany() == user.getCompany()")
* @Security("(ad.getStatus() == 'DRAFT' or ad.getStatus() == 'DECLINED' or ad.getStatus() == 'TO_PUBLISH') and ad.getCompany() == user.getCompany()")
*/
public function companyEditAdAction(Request $request, Ad $ad)
{
@@ -108,19 +108,19 @@ class UserController extends Controller
}
\assert(!\is_null($user));
$company = $user->getCompany();
if ($company) {
$company->setPresentationVideo(null);
$em->persist($company);
$em->flush();
}
// $company = $user->getCompany();
// if ($company) {
// $company->setPresentationVideo(null);
// $em->persist($company);
// $em->flush();
// }
$this->deleteRelation($user);
$em->remove($user);
$em->flush();
if ($company) {
$em->remove($company);
$em->flush();
}
// if ($company) {
// $em->remove($company);
// $em->flush();
// }
// if ($company) {
// $em->remove($company);
@@ -20,7 +20,7 @@ use Symfony\Component\HttpFoundation\JsonResponse;
class AdController extends FOSRestController
{
/**
* @Rest\Get(path="/api/ads/{id}", name="api_ad_show", requirements={"id"="\d+"})
* @Rest\Get(path="/api/jobs/{id}", name="api_ad_show", requirements={"id"="\d+"})
* @Rest\View
*
*/
@@ -34,7 +34,7 @@ class AdController extends FOSRestController
}
/**
* @Rest\Get("/api/ads", name="api_ad_list")
* @Rest\Get("/api/jobs", name="api_ad_list")
*
* @Rest\QueryParam(
* name="keyword",
@@ -101,7 +101,7 @@ class AdController extends FOSRestController
}
/**
* @Rest\Post("/api/ads", name="api_ad_create")
* @Rest\Post("/api/jobs", name="api_ad_create")
* @Rest\View(StatusCode = 201)
* @ParamConverter("ad", converter="fos_rest.request_body")
*/
@@ -121,7 +121,13 @@ class SecurityController extends FOSRestController
if ($usr !== null){
$newLastName = htmlspecialchars($request->get('lastname'));
$newFirstName = htmlspecialchars($request->get('firstname'));
$phoneTalent = htmlspecialchars($request->get('phone'));
if ($request->get('phone')){
$phoneTalent = htmlspecialchars($request->get('phone'));
}
else{
$phoneTalent = "";
}
if ($request->get('address1')){
$address1Talent = htmlspecialchars($request->get('address1'));
}
@@ -111,20 +111,20 @@ class CompanyController extends Controller
);
}
$formFactory = $this->container->get('fos_user.change_password.form.factory');
$formPw = $formFactory->createForm();
$formPw->setData($user);
$formPw->handleRequest($request);
if ($formPw->isSubmitted() && $formPw->isValid()) {
$userManager->updateUser($user);
$this->addFlash(
'notice',
$this->get('translator')->trans('company.account.save.title')
);
}
// $formFactory = $this->container->get('fos_user.change_password.form.factory');
// $formPw = $formFactory->createForm();
// $formPw->setData($user);
// $formPw->handleRequest($request);
// if ($formPw->isSubmitted() && $formPw->isValid()) {
// $userManager->updateUser($user);
// $this->addFlash(
// 'notice',
// $this->get('translator')->trans('company.account.save.title')
// );
// }
return $this->render('company/my_account.html.twig', [
'form' => $form->createView(),
'formPw' => $formPw->createView(),
// 'formPw' => $formPw->createView(),
]);
}
@@ -51,7 +51,8 @@ class DefaultController extends Controller
}
$form = $this->createForm(AdSearchType::class);
return $this->render(
'default/index.html.twig', [
'ads' => $ads,
@@ -110,6 +111,8 @@ class DefaultController extends Controller
$csrfToken = $params["csrfToken"];
$error = $params["error"];
$destination_login = "admin/dashboard";
//var_dump($mailManager);
return $this->render(
'defaultv2/accueil/index.html.twig', [
'last_username' => $usename,
@@ -252,6 +255,28 @@ class DefaultController extends Controller
);
}
/**
* @Route("/abonnement", name="abonnement")
*/
public function tarifsAction(Request $request)
{
$params = $this->getParams($request);
$usename = $params["lastUsername"];
$csrfToken = $params["csrfToken"];
$error = $params["error"];
$destination_login = "admin/dashboard";
return $this->render(
'defaultv2/tarifs/index.html.twig', [
'last_username' => $usename,
'csrf_token' => $csrfToken,
'error' => $error,
'destination_login' => $destination_login
]
);
}
/**
* @Route("/cgu", name="cgu")
*/
@@ -23,7 +23,7 @@ use Symfony\Component\HttpFoundation\Session\Session;
class MediaController extends Controller
{
/**
* @Route("/entreprise/me/videotheque", name="company_media")
* @Route("/entreprise/me/videotheque", name="company_marque")
*/
public function companyMediaAction(Request $request)
{
@@ -122,27 +122,14 @@ class MediaController extends Controller
->add('title', TextType::class, array(
'label' => 'Titre de la vidéo',
'required' => true,
'attr' => array(
'class' => 'form-control'
)
))
->getForm();
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
$media = $form->getData();
$em->persist($media);
// Modif de la date de publication à la date du jour
$now = new \DateTime('now');
$ad->setPublishedAt($now);
$numberOfMonth = 6;
$unpublishedDate = new \DateTime('now');
$unpublishedDate = $unpublishedDate->add(new \DateInterval('P' . $numberOfMonth . 'M'));
$ad->setUnpublishedAt($unpublishedDate);
$em->persist($ad);
$em->flush();
//return $this->redirectToRoute('company_ad_step3', array('id' => $ad->getId()));
return $this->redirectToRoute('company_ad_step3', array('id' => $ad->getId()));
}
return $this->render('company/createMedia.html.twig', array(
@@ -182,13 +169,7 @@ class MediaController extends Controller
$mediaManager = $this->get('media_manager');
$message = $mediaManager->upload($ad, $uploadedFile, $ad->getCreator());
}
$em = $this->getDoctrine()->getManager();
$ad->setIsVerified(true);
$ad->setPrivate(false);
$ad->setPromoted(true);
$em->persist($ad);
dump($ad);
$em->flush();
return new JsonResponse($message);
}
@@ -293,7 +274,7 @@ class MediaController extends Controller
$user = $em->getRepository('AppBundle:User')->findOneBy(array('id' => $idUser));
$video = $em->getRepository('AppBundle:Media')->findOneBy(array('id' => $idVideo));
$company = $user->getCompany();
if ($user->hasRole('ROLE_TALENT') || $user->hasRole('ROLE_TERRITORY') || ($user->hasRole('ROLE_COMPANY') && $company->hasCompanyVideo())) {
if ($user->hasRole('ROLE_TALENT') || $user->hasRole('ROLE_TERRITORY') || ($user->hasRole('ROLE_COMPANY') )) {
$company->setPresentationVideo($video);
}
}
@@ -389,4 +370,4 @@ class MediaController extends Controller
return $res;
}
}
}
@@ -402,6 +402,27 @@ class User extends BaseUser
$country = $addr1['country'];
}
$phone="";
$linkedin="";
$twitter="";
if($this->getCompany()->getExtra()){
if(array_key_exists("phoneTalent", $this->getCompany()->getExtra())){
if($this->getCompany()->getExtra()["phoneTalent"]){
$phone= $this->getCompany()->getExtra()["phoneTalent"];
}
}
if(array_key_exists("linkedin", $this->getCompany()->getExtra())){
if($this->getCompany()->getExtra()["linkedin"]){
$linkedin= $this->getCompany()->getExtra()["linkedin"];
}
}
if(array_key_exists("twitter", $this->getCompany()->getExtra())){
if($this->getCompany()->getExtra()["twitter"]){
$twitter= $this->getCompany()->getExtra()["twitter"];
}
}
}
}
$card = array(
@@ -410,10 +431,11 @@ class User extends BaseUser
"email" => $this->getEmail(),
"picture" => $this->getPhoto(),
"socialPicture" => $this->getSocialPicture(),
"phone" => $this->getCompany()->getExtra()["phoneTalent"],
"linkedin" => $this->getCompany()->getExtra()["linkedin"],
"twitter" => $this->getCompany()->getExtra()["twitter"],
"phone" => $phone,
"linkedin" => $linkedin,
"twitter" => $twitter,
"videoPres" => $pres,
"alias" => $this->getCompany()->getAlias(),
"cv" => $cv,
"address1" => $address1,
"address2" => $address2,
@@ -61,10 +61,10 @@ class AdSoftType extends AbstractType
)
))
->add('beneficiaire', TextType::class, array(
'label' => 'Client ',
'label' => 'Organisation cliente ',
'required' => false,
'attr' => array(
'placeholder' => 'Indiquer un client',
'placeholder' => 'Indiquer une organisation',
'class' => 'form-control'
)
))
@@ -85,12 +85,10 @@ class AdSoftType extends AbstractType
)
))
->add('status', ChoiceType::class, array(
'label' =>'Status',
'label' =>'Statut',
'choices' => array(
'Brouillon' => 'DRAFT',
'A publier' => 'TO_PUBLISH',
'Fermée' => 'CLOSED',
'Publié' => 'PUBLISHED',
),
'attr' => array(
'class' => 'form-control'
@@ -53,10 +53,10 @@ class AdType extends AbstractType
)
))
->add('beneficiaire', TextType::class, array(
'label' => 'Client',
'label' => 'Organisation cliente ',
'required' => false,
'attr' => array(
'placeholder' => 'Indiquer un client',
'placeholder' => 'Indiquer une organisation',
'class' => 'form-control'
)
))
@@ -108,8 +108,6 @@ class AdType extends AbstractType
'choices' => array(
'Brouillon' => 'DRAFT',
'A publier' => 'TO_PUBLISH',
'Fermée' => 'CLOSED',
'Publié' => 'PUBLISHED',
),
'attr' => array(
'class' => 'form-control'
@@ -59,6 +59,14 @@ class AdType extends AbstractType
'class' => 'form-control'
)
))
->add('beneficiaire', TextType::class, array(
'label' => 'Organisation cliente ',
'required' => false,
'attr' => array(
'placeholder' => 'Indiquer une organisation',
'class' => 'form-control'
)
))
->add('description', TextareaType::class, array(
'label' => 'Description de l\'annonce',
'attr' => array(
@@ -74,7 +82,7 @@ class AdType extends AbstractType
)
))
->add('status', ChoiceType::class, array(
'label' =>'Status',
'label' =>'Statut',
'choices' => array(
'Brouillon' => 'DRAFT',
'A publier' => 'TO_PUBLISH',
@@ -128,13 +128,17 @@ class CompanyManager
}
$publicTags = explode(',', $talent->getTagsComma());
$talent->setPublicTag($publicTags);
$phone ="";
if($talent->getPhoneTalent() != null){
$phone = $talent->getPhoneTalent();
}
$extra = array(
'linkedin' => $talent->getLinkedin(),
'twitter' => $talent->getTwitter(),
'titleTalent' => $talent->getTitleTalent(),
'situationTalent' => $talent->getSituationTalent(),
'descriptionTalent' => $talent->getDescriptionTalent(),
'phoneTalent' => $talent->getPhoneTalent(),
'phoneTalent' => $phone,
);
$talent->setExtra($extra);
@@ -58,7 +58,7 @@ class MailManager
));
$email = \Swift_Message::newInstance()
->setSubject($subject)
->setFrom('noreply@talentstube.com')
->setFrom('noreply@talentstube.io')
->setTo($user->getEmail())
->setBody($htmlView, 'text/html')
->addPart($plainView, 'text/plain');
@@ -72,4 +72,41 @@ class MailManager
return $message;
}
/**
* @param $subject
* @param $message
* @param $user
* @param $templateName
* @return array
*/
public function sendMailSimple($subject, $message, $user, $templateName)
{
$htmlView = $this->twig->render('email/' . $templateName . '.html.twig', array(
'type' => 'html',
'message' => $message,
'user' => $user,
));
$plainView = $this->twig->render('email/' . $templateName . '_plain.html.twig', array(
'type' => 'plain',
'message' => $message,
'user' => $user,
));
$email = \Swift_Message::newInstance()
->setSubject($subject)
->setFrom('noreply@talentstube.io')
->setTo('l.laniau@talentstube.com')
->setBody($message, 'text/html')
;
if ($this->mailer->send($email)) {
// $spool = $this->mailer->getTransport()->getSpool();
// $spool->flushQueue($this->transport);
$message = array('success' => 200);
} else {
$message = array('success' => 500);
}
//var_dump($message);
return $message;
}
}
@@ -162,7 +162,7 @@ class MediaManager
$linkVimeo = $response['body']['link'];
}
//TODO : gerer le cas d'erreur
//COMENTER POUR TESTER LA PRE PROD
//COMENTER POUR TESTER LA PRE PROD
}
//SAVE MEDIA
+7 -4
View File
@@ -15413,6 +15413,7 @@ select {
background: #d32f2f;
padding: 0px 17px;
width: 48px;
margin:10px;
color: #FFF; }
.btn-delete-video:hover {
color: #FFF; }
@@ -15675,25 +15676,27 @@ select {
position: relative; }
.video_premier .btn-video-premier {
border-radius: 0;
width: 100%;
width: 40%;
padding: 0;
display: flex;
display: inline-block;
justify-content: center;
align-items: center;
font-weight: 200;
margin:10px;
font-size: 13px; }
.video_premier .btn-video-premier i {
line-height: 40px;
margin-left: 10px; }
.video_premier .btn-cancel-premier {
border-radius: 0;
width: 100%;
width: 40%;
font-size: 12px;
height: 48px;
line-height: 48px;
padding: 0;
display: flex;
display: inline-block;
justify-content: center;
margin:10px;
align-items: center; }
.video_premier .btn-cancel-premier i {
line-height: 40px;
@@ -15,6 +15,10 @@
.green{
background-color: green;
}
.fondBlanc{
background-color: #fff;
}
.circle-letters {
margin: 0 auto;
@@ -29,4 +33,6 @@
}
.font-2 {
font-family: "Varela Round", sans-serif; }
font-family: "Varela Round", sans-serif; }