Compare commits
54 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| b3135e62f5 | |||
| dc2872e178 | |||
| cf057c9c63 | |||
| e5c46b2985 | |||
| 47d571baae | |||
| f5f0c39dd7 | |||
| c83b71853b | |||
| 8bc3165995 | |||
| dffcf66ce3 | |||
| 41c046392e | |||
| e81e2dce9d | |||
| 3ffc3c8d3b | |||
| e35cb0c461 | |||
| db084707bb | |||
| 1a9fff778a | |||
| 90a38edb29 | |||
| fc1b4a3e2a | |||
| 94a946e36d | |||
| f06cbe296f | |||
| e2a98aaed3 | |||
| beee2c5635 | |||
| bca29b9547 | |||
| 823a781d3a | |||
| 2a9e728354 | |||
| 074c125f8c | |||
| 0b2898d170 | |||
| 12525dbf16 | |||
| 4a17adf687 | |||
| f4e412d792 | |||
| 61786797c8 | |||
| 57587a4a97 | |||
| fd048d5a0e | |||
| 229893dc95 | |||
| 26c6e2103d | |||
| 8830b5ccde | |||
| 2bc2d87b8c | |||
| 278c558c9e | |||
| 98545707b3 | |||
| 52d105efb4 | |||
| 027c3fd2d1 | |||
| 824ff9f1ec | |||
| 606e29280b | |||
| 3a29c647dd | |||
| 57dd053693 | |||
| e57173f835 | |||
| 8f4ef35ddf | |||
| 346b788f83 | |||
| edf35c74e8 | |||
| 75f2bbf6a7 | |||
| 0cbe670c90 | |||
| 2d595c1c3a | |||
| 98ebde7e72 | |||
| d607962523 | |||
| b4ae35f4a6 |
@@ -14,7 +14,28 @@
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
{{ form_start(formUser, {'id': 'formUser'}) }}
|
||||
<div class="row">
|
||||
<div class="col-xs-8">
|
||||
<div class="box box-primary">
|
||||
<div class="box-header">
|
||||
<h3 class="box-title">Compte utilisateur</h3>
|
||||
</div>
|
||||
<div class="box-body">
|
||||
{{ form_errors(formUser) }}
|
||||
{{ form_label(formUser.email, 'Email') }}
|
||||
{{ form_widget(formUser.email, {'attr': {'class': 'form-control'}}) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-xs-6">
|
||||
<button class="btn btn-success edit-email-user" data-toggle="tooltip" type="submit">Enregistrer</button>
|
||||
</div>
|
||||
</div>
|
||||
{{ form_end(formUser) }}
|
||||
<br/>
|
||||
{{ form_start(form) }}
|
||||
<div class="row">
|
||||
<div class="col-xs-8">
|
||||
@@ -37,7 +58,6 @@
|
||||
{{ form_row(form.website) }}
|
||||
{{ form_row(form.tagsComma) }}
|
||||
{{ form_row(form.file) }}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -66,3 +86,33 @@
|
||||
{{ form_end(form) }}
|
||||
|
||||
{% endblock %}
|
||||
|
||||
|
||||
{% block javascripts %}
|
||||
<script>
|
||||
$(document).ready(function () {
|
||||
$('[data-toggle="popover"]').popover();
|
||||
|
||||
$(".edit-email-user").confirm({
|
||||
title: "Êtes vous sûr de modifier l'adresse mail de cet utilisateur ?",
|
||||
content: "Si une erreur de saisie est présente, l'utilisateur ne pourra plus recevoir vos mails.",
|
||||
type: 'ored',
|
||||
boxWidth: '30%',
|
||||
useBootstrap: false,
|
||||
buttons: {
|
||||
confirm: {
|
||||
text: 'Confirmer',
|
||||
action: function() {
|
||||
$("[name='user_company']").submit();
|
||||
return true;
|
||||
}
|
||||
},
|
||||
cancel: {
|
||||
text: 'Annuler'
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
{% endblock %}
|
||||
@@ -24,7 +24,7 @@
|
||||
<div class="col-content bg-arrow z-depth-2 p-20">
|
||||
<div class="row">
|
||||
<div class="col s12">
|
||||
<h4 class="color-blue1 p-0"><span class="title-bubble">1</span> Enregistrez votre cv vidéo</h4>
|
||||
<h4 class="color-blue1 p-0"><span class="title-bubble">1/3</span> Enregistrez votre cv vidéo</h4>
|
||||
</div>
|
||||
<div class="col m4 offset-m1 s12">
|
||||
<video id="myCvVideo" class="video-js vjs-default-skin"></video>
|
||||
@@ -60,7 +60,7 @@
|
||||
<div class="col-content bg-arrow z-depth-2 p-20">
|
||||
<div class="row">
|
||||
<div class="col s12">
|
||||
<h4 class="color-blue1 p-0"><span class="title-bubble">2</span> Importez votre CV Vidéo</h4>
|
||||
<h4 class="color-blue1 p-0"><span class="title-bubble">2/3</span> Importez votre CV Vidéo</h4>
|
||||
</div>
|
||||
<div class="col s10 offset-s1 answer-dropzone">
|
||||
{% include 'media/dropzone.html.twig' with {'deleting': true } %}
|
||||
@@ -72,7 +72,7 @@
|
||||
{{ form_row(form.status) }}
|
||||
<div class="row">
|
||||
<div class="col s12">
|
||||
<h4 class="color-blue1 p-0"><span class="title-bubble">3</span> Ajoutez votre commentaire</h4>
|
||||
<h4 class="color-blue1 p-0"><span class="title-bubble">3/3</span> Ajoutez votre commentaire</h4>
|
||||
</div>
|
||||
<div class="col s10 offset-s1">
|
||||
<div class="row">
|
||||
|
||||
@@ -56,6 +56,7 @@ j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
|
||||
'@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>
|
||||
|
||||
@@ -0,0 +1,43 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="fr">
|
||||
<head>
|
||||
<!-- Title -->
|
||||
<title>Creative Agency | Space - Responsive Website Template</title>
|
||||
|
||||
<!-- Required Meta Tags Always Come First -->
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||
<!-- Google Fonts -->
|
||||
<link href="//fonts.googleapis.com/css?family=Roboto:300,400,500,700" rel="stylesheet">
|
||||
|
||||
<!-- CSS Implementing Plugins -->
|
||||
<link rel="stylesheet" href="{{ asset('v2/vendor/font-awesome/css/all.min.css') }}">
|
||||
<link rel="stylesheet" href="{{ asset('v2/vendor/hs-megamenu/src/hs.megamenu.css') }}">
|
||||
<link rel="stylesheet" href="{{ asset('v2/vendor/malihu-custom-scrollbar-plugin/jquery.mCustomScrollbar.css') }}">
|
||||
<link rel="stylesheet" href="{{ asset('v2/vendor/custombox/dist/custombox.min.css') }}">
|
||||
<link rel="stylesheet" href="{{ asset('v2/vendor/animate.css/animate.min.css') }}">
|
||||
<link rel="stylesheet" href="{{ asset('v2/vendor/slick-carousel/slick/slick.css') }}">
|
||||
<link rel="stylesheet" href="{{ asset('v2/vendor/cubeportfolio/css/cubeportfolio.min.css') }}">
|
||||
<link rel="stylesheet" href="{{ asset('v2/vendor/fancybox/jquery.fancybox.css') }}">
|
||||
|
||||
<!-- CSS Space Template -->
|
||||
<link rel="stylesheet" href="{{ asset('v2/css/theme.css') }}">
|
||||
<script type="text/javascript"> window.$crisp=[];window.CRISP_WEBSITE_ID="78ec5756-1cd5-4f3f-b0db-cb408c8171da";(function(){ d=document;s=d.createElement("script"); s.src="https://client.crisp.chat/l.js"; s.async=1;d.getElementsByTagName("head")[0].appendChild(s);})(); </script>
|
||||
</head>
|
||||
<body>
|
||||
<!-- 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 'defaultv2/user_switch.html.twig' %}#}
|
||||
{% include 'defaultv2/header.html.twig' %}
|
||||
{#{% include 'defaultv2/props_settings.html.twig' %} #}
|
||||
{% block content %}
|
||||
{% endblock %}
|
||||
{# {% include 'defaultv2/footer.html.twig' %} #}
|
||||
{{ include('FairlaneCookieConsentBundle::cookie-info.html.twig') }}
|
||||
</body>
|
||||
</html>
|
||||
@@ -86,7 +86,7 @@
|
||||
<div id="newApp" class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="col s12 m12">
|
||||
<p>"Nouveau ! Trouvez un job plus facilement avec notre <a href="https://app.talentstube.com">web application</a>.📲"</p>
|
||||
<p>"Nouveau ! Trouvez un job plus facilement avec notre <a href="http://app.talentstube.com">web application</a>.📲"</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -100,10 +100,10 @@
|
||||
<a class="collapsible-header" title="Talents">Talents</a>
|
||||
<div class="collapsible-body">
|
||||
<ul>
|
||||
<li><ahref="{{ path('ad_search_result') }}" title="Offres d'emploi vidéos">Offres d'emploi</a></li>
|
||||
<li><ahref="{{ path('page_cvVideo') }}" title="Le Cv vidéo">Le CV vidéo</a></li>
|
||||
<li><ahref="{{ path('page_reussirCVvideo') }}" title="Comment faire son CV Vidéo ?">Comment faire son CV Vidéo ?</a></li>
|
||||
<li><ahref="{{ path('page_accompagnementTalent') }}" title="Accompagnement talent">Accompagnement</a></li>
|
||||
<li><a href="{{ path('ad_search_result') }}" title="Offres d'emploi vidéos">Offres d'emploi</a></li>
|
||||
<li><a href="{{ path('page_cvVideo') }}" title="Le Cv vidéo">Le CV vidéo</a></li>
|
||||
<li><a href="{{ path('page_reussirCVvideo') }}" title="Comment faire son CV Vidéo ?">Comment faire son CV Vidéo ?</a></li>
|
||||
<li><a href="{{ path('page_accompagnementTalent') }}" title="Accompagnement talent">Accompagnement</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</li>
|
||||
@@ -114,11 +114,11 @@
|
||||
<a class="collapsible-header" title="Les entreprises de talents">Entreprises</a>
|
||||
<div class="collapsible-body">
|
||||
<ul>
|
||||
<li><ahref="{{ path('company_list') }}" title="Listes entreprises">Listes entreprises</a></li>
|
||||
<li><ahref="{{ path('page_OffreEmploi') }}" title="L'offre d'emploi en vidéo">L'offre d'emploi en vidéo</a></li>
|
||||
<li><ahref="{{ path('page_reussirOffrevideo') }}" title="Comment faire une offre en vidéo">Comment faire une offre en vidéo</a></li>
|
||||
<li><ahref="{{ path('page_MarqueEmployeur') }}" title="Vidéo Marque Employeur">Vidéo Marque Employeur</a></li>
|
||||
<li><ahref="{{ path('page_accompagnementEntreprise') }}" title="Conseils & accompagnement">Conseils & accompagnement</a></li>
|
||||
<li><a href="{{ path('company_list') }}" title="Listes entreprises">Listes entreprises</a></li>
|
||||
<li><a href="{{ path('page_OffreEmploi') }}" title="L'offre d'emploi en vidéo">L'offre d'emploi en vidéo</a></li>
|
||||
<li><a href="{{ path('page_reussirOffrevideo') }}" title="Comment faire une offre en vidéo">Comment faire une offre en vidéo</a></li>
|
||||
<li><a href="{{ path('page_MarqueEmployeur') }}" title="Vidéo Marque Employeur">Vidéo Marque Employeur</a></li>
|
||||
<li><a href="{{ path('page_accompagnementEntreprise') }}" title="Conseils & accompagnement">Conseils & accompagnement</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</li>
|
||||
@@ -126,9 +126,9 @@
|
||||
<a class="collapsible-header" title="Les territoires">Territoires</a>
|
||||
<div class="collapsible-body">
|
||||
<ul>
|
||||
<li><ahref="{{ path('territory_list') }}">Liste des territoires</a></li>
|
||||
<li><ahref="{{ path('page_VideoTerritory') }}">La vidéo territoire</a></li>
|
||||
<li><ahref="{{ path('page_AccompagnementTerritory') }}">Conseils et accompagnement</a></li>
|
||||
<li><a href="{{ path('territory_list') }}">Liste des territoires</a></li>
|
||||
<li><a href="{{ path('page_VideoTerritory') }}">La vidéo territoire</a></li>
|
||||
<li><a href="{{ path('page_AccompagnementTerritory') }}">Conseils et accompagnement</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
<!-- Candidat DEBUT -->
|
||||
<div class="space-1-bottom accueilFondNoir">
|
||||
<div class="container space-2 ">
|
||||
<div class="row align-items-lg-center">
|
||||
<div class="col-md-6 order-md-2 mb-5 mb-md-0">
|
||||
<!-- Title -->
|
||||
<div class="mb-4">
|
||||
<h2 class="h3"> Recevez les candidatures en vidéo</h2>
|
||||
<p> Depuis leur webcam, smartphone ou tablette, les candidats postulent aux vidéos de votre entreprise, en
|
||||
toute confidentialité, grâce à notre outil d’enregistrement vidéo simple, rapide et gratuit.
|
||||
|
||||
Vous recevez des vidéos de motivation, c’est-à-dire des candidatures qui répondent à votre vidéo de
|
||||
recrutement. Le candidat expose son parcours en illustrant ses expériences. Il met en avant ses
|
||||
motivations à vous rejoindre et les compétences qu’il peut apporter à votre entreprise.
|
||||
|
||||
<strong>Découvrez la personnalité du candidat et son projet professionnel en quelques instants.</strong>
|
||||
</p>
|
||||
<a class="btn btn-sm btn-primary btn-wide" href="#">En savoir plus</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-6 order-md-1">
|
||||
<div class="pr-lg-4">
|
||||
<img class="img-fluid" src="{{ asset('v2/png/candidature-en-video.png') }}" alt="Image Description">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Candidat FIN -->
|
||||
@@ -0,0 +1,40 @@
|
||||
<!-- Ils nous font confiance DEBUT -->
|
||||
<div class="container space-2 space-3--lg accueilFondBlanc">
|
||||
<div class=" text-center mx-md-auto mb-12">
|
||||
<!-- Title -->
|
||||
<h2 class="h1"> Ils nous font confiance</h2>
|
||||
<!-- Slick Carousel -->
|
||||
<div class="js-slick-carousel u-slick" data-autoplay="true" data-speed="5000" data-infinite="true"
|
||||
data-slides-show="5">
|
||||
<div class="js-slide">
|
||||
<img src="{{ asset('v2/logos/Albea-logo.png') }}" alt="Image Description">
|
||||
</div>
|
||||
<div class="js-slide">
|
||||
<img src="{{ asset('v2/logos/Bouyer-leroux-logo.png') }}" alt="Image Description">
|
||||
</div>
|
||||
<div class="js-slide">
|
||||
<img src="{{ asset('v2/logos/Eiffage-logo.png') }}" alt="Image Description">
|
||||
</div>
|
||||
<div class="js-slide">
|
||||
<img src="{{ asset('v2/logos/groupe-mousset-logo.png') }}" alt="Image Description">
|
||||
</div>
|
||||
<div class="js-slide">
|
||||
<img src="{{ asset('v2/logos/Groupe-rocher-logo.png') }}" alt="Image Description">
|
||||
</div>
|
||||
<div class="js-slide">
|
||||
<img src="{{ asset('v2/logos/intermarche.png') }}" alt="Image Description">
|
||||
</div>
|
||||
<div class="js-slide">
|
||||
<img src="{{ asset('v2/logos/Mazars-logo.png') }}" alt="Image Description">
|
||||
</div>
|
||||
<div class="js-slide">
|
||||
<img src="{{ asset('v2/logos/Mma-logo.png') }}" alt="Image Description">
|
||||
</div>
|
||||
<div class="js-slide">
|
||||
<img src="{{ asset('v2/logos/Square-habitat-logo.png') }}" alt="Image Description">
|
||||
</div>
|
||||
</div>
|
||||
<!-- End Slick Carousel -->
|
||||
</div>
|
||||
</div>
|
||||
<!-- Ils nous font confiance FIN -->
|
||||
@@ -0,0 +1,87 @@
|
||||
<!-- Degradé avec Stats Section -->
|
||||
<div class="gradient-overlay-half-primary-v1">
|
||||
<div class="bg-img-hero" style="background-image: url({{ asset('v2/img/bg/bg2.png')}} ">
|
||||
<div class="container space-2 space-3--lg ">
|
||||
<div class="container position-relative z-index-2 containerStat">
|
||||
<div class="bg-gray-100 shadow-lg rounded mt-n9">
|
||||
<div class="card-deck d-block d-lg-flex">
|
||||
<div class="card card-frame mb-4 mb-lg-0">
|
||||
<!-- Listing -->
|
||||
<div class="card-body p-4">
|
||||
<div class="media">
|
||||
|
||||
<div class="media-body px-4">
|
||||
<h2 class="statChiffre">1500+</h2>
|
||||
<p class="statTexte">Talents connectés</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- End Listing -->
|
||||
</div>
|
||||
|
||||
<div class="card card-frame mb-4 mb-lg-0">
|
||||
<!-- Listing -->
|
||||
<div class="card-body p-4">
|
||||
<div class="media">
|
||||
<div class="media-body px-4">
|
||||
<h2 class="statChiffre">900+</h2>
|
||||
<p class="statTexte">Vues par vidéo</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- End Listing -->
|
||||
</div>
|
||||
|
||||
<div class="card card-frame mb-4 mb-lg-0">
|
||||
<!-- Listing -->
|
||||
<div class="card-body p-4">
|
||||
<div class="media">
|
||||
|
||||
<div class="media-body px-4">
|
||||
<h2 class="statChiffre">350</h2>
|
||||
<p class="statTexte">Candidatures vidéo</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- End Listing -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Icon Blocks Section -->
|
||||
<div class="container ">
|
||||
<div class="row">
|
||||
<div class="col-md-4 mb-7 mb-md-0">
|
||||
<!-- Icon Blocks -->
|
||||
<div class="text-center px-lg-3">
|
||||
<img src="{{ asset('v2/svg/components/Diffusion-offres-emploi-video-marque-employeur.svg') }}" alt="Logo">
|
||||
<h3 class="h4 text-white">Diffusez vos offres d'emploi et marque employeur en <a href="#">vidéo</a></h3>
|
||||
</div>
|
||||
<!-- End Icon Blocks -->
|
||||
</div>
|
||||
|
||||
<div class="col-md-4 mb-7 mb-md-0">
|
||||
<!-- Icon Blocks -->
|
||||
<div class="text-center px-lg-3">
|
||||
<img src="{{ asset('v2/svg/components/Gestion-des-candidatures-video.svg') }}" alt="Logo">
|
||||
<h3 class="h4 text-white">Recevez les candidatures en <a href="#">vidéo</a></h3>
|
||||
</div>
|
||||
<!-- End Icon Blocks -->
|
||||
</div>
|
||||
|
||||
<div class="col-md-4">
|
||||
<!-- Icon Blocks -->
|
||||
<div class="text-center px-lg-3">
|
||||
<img src="{{ asset('v2/svg/components/candidature-en-video.svg') }}" alt="Logo">
|
||||
<h3 class="h4 text-white">Gérez vos candidatures en <a href="#">vidéo</a></h3>
|
||||
</div>
|
||||
<!-- End Icon Blocks -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- End Icon Blocks Section -->
|
||||
</div>
|
||||
</div>
|
||||
<!-- Degradé avec Stats FIN-->
|
||||
@@ -0,0 +1,32 @@
|
||||
<!-- Marque employeur DEBUT -->
|
||||
<div class="space-1-bottom accueilFondBlanc">
|
||||
<div class="container space-2 ">
|
||||
<div class="row align-items-lg-center">
|
||||
<div class="col-md-6 order-md-2 mb-5 mb-md-0">
|
||||
<!-- Title -->
|
||||
<div class="mb-4">
|
||||
<h2 class="h3"> Révélez votre Marque Employeur en vidéo</h2>
|
||||
<p> Talents Tube offre une visibilité essentielle à votre marque employeur.
|
||||
|
||||
Grâce à la vidéo, votre entreprise replace l’humain au cœur du recrutement. Vous disposez d’un levier
|
||||
concret et efficace pour parfaire votre réputation. Développez l’attractivité de votre entreprise pour
|
||||
séduire de nouveaux talents.
|
||||
|
||||
<strong>Donnez vie à votre marque employeur en plaçant la vidéo au coeur de votre stratégie de
|
||||
communication
|
||||
et de votre gestion des ressources humaines.</strong>
|
||||
</p>
|
||||
<a class="btn btn-sm btn-primary btn-wide" href="#">Voir la plateforme</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-6 order-md-1">
|
||||
<div class="pr-lg-4">
|
||||
<img class="img-fluid" src="{{ asset('v2/png/marque-employeur-en-video.png') }}" alt="Image Description">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Marque employeur FIN -->
|
||||
@@ -0,0 +1,20 @@
|
||||
<!-- Accueil Photo Haut Section -->
|
||||
<div class="bg-img-hero-center" style="background-image: url({{ asset('v2/img/1920x800/recrutement-video.jpg')}} ">
|
||||
<div class="container space-2 space-5-top--lg space-4-bottom--lg">
|
||||
<div class="w-md-75">
|
||||
<!-- Title -->
|
||||
<div class="mb-7">
|
||||
<span class="d-block text-white text-uppercase mb-2">Talents tube</span>
|
||||
<h1 class="display-4 font-size-48--md-down text-white mb-4">
|
||||
<strong class="u-text-animation u-text-animation--typing"></strong>
|
||||
<br>avec la vidéo
|
||||
</h1>
|
||||
|
||||
</div>
|
||||
<!-- End Title -->
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<!-- End Accueil Photo Haut Section -->
|
||||
@@ -0,0 +1,33 @@
|
||||
<!-- Plateforme DEBUT -->
|
||||
<div class="space-1-bottom accueilFondBleute">
|
||||
<div class="container space-2 ">
|
||||
<div class="row align-items-lg-center">
|
||||
<div class="col-lg-5 mb-9 mb-lg-0">
|
||||
<!-- Title <div class="col-md-6 order-md-2 mb-5 mb-md-0">-->
|
||||
<div class="mb-4">
|
||||
<h2 class="h3"> Plateforme pour l’emploi 100% vidéo</h2>
|
||||
<p> Talents Tube met à votre disposition un outil de diffusion de vos vidéos d’offres d’emploi & marque
|
||||
employeur pour attirer les meilleurs talents en vidéo.
|
||||
|
||||
Notre plateforme rassemble l’entreprise et les talents qui se présentent en vidéo pour un recrutement
|
||||
réussi.
|
||||
|
||||
Si vous ne possédez pas de vidéos, nous pouvons vous accompagner dans la réalisation.
|
||||
|
||||
<strong>Diffusez vos vidéos de recrutement et augmentez votre visibilité.</strong>
|
||||
</p>
|
||||
<a class="btn btn-sm btn-primary btn-wide" href="#">Voir la plateforme</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-6 order-md-1">
|
||||
<div class="pr-lg-4">
|
||||
<img class="img-fluid" src="{{ asset('v2/png/plateforme-de-recrutement-en-video.png') }}"
|
||||
alt="Image Description">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Plateforme FIN -->
|
||||
@@ -0,0 +1,32 @@
|
||||
<!-- Recrutez DEBUT -->
|
||||
<div class="space-1-bottom accueilFondBleute">
|
||||
<div class="container space-2 ">
|
||||
<div class="row align-items-lg-center">
|
||||
<div class="col-lg-5 mb-9 mb-lg-0">
|
||||
<!-- Title <div class="col-md-6 order-md-2 mb-5 mb-md-0">-->
|
||||
<div class="mb-4">
|
||||
<h2 class="h3"> Recrutez avec des offres d’emploi vidéo</h2>
|
||||
<p> alents Tube peut vous accompagner dans la réalisation de vidéos d’offres d’emploi captivantes et à votre
|
||||
image.
|
||||
|
||||
L’offre d’emploi en vidéo, média engageant, vous donne l’opportunité de recruter les meilleurs talents. Le
|
||||
principe est de donner une image moderne et innovante en présentant votre entreprise, votre équipe,
|
||||
l’environnement de travail et le poste à pourvoir en quelques minutes.
|
||||
|
||||
<strong>Faites place à l’innovation pour capter l’attention des candidats et recruter le talent qu’il vous
|
||||
faut.</strong>
|
||||
</p>
|
||||
<a class="btn btn-sm btn-primary btn-wide" href="#">Voir la plateforme</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-6 order-md-1">
|
||||
<div class="pr-lg-4">
|
||||
<img class="img-fluid" src="{{ asset('v2/png/offres-emploi-en-video.png') }}" alt="Image Description">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Recrutez FIN -->
|
||||
@@ -0,0 +1,162 @@
|
||||
<!-- Témoignage DEBUT -->
|
||||
<div class="space-2-top space-1-bottom space-3-top--lg accueilFondNoir">
|
||||
<div class="container">
|
||||
<!-- Title -->
|
||||
<div class="w-md-80 w-lg-60 mx-md-auto text-md-center mb-8">
|
||||
<h6 class="text-uppercase text-gray-700 font-weight-medium letter-spacing-0_06 mb-3"> Ils ont choisi Talents Tube pour recruter différemment.</h6>
|
||||
<h2 class="text-lh-xs mb-0">Témoignages de nos clients</h2>
|
||||
</div>
|
||||
<!-- End Title -->
|
||||
|
||||
<!-- Stories -->
|
||||
<div id="sliderSyncingNav2" class="js-slick-carousel u-slick u-slick--rounded mb-2" data-infinite="true"
|
||||
data-arrows-classes="d-none d-md-inline-block u-slick__arrow-classic u-slick__arrow-centered--y rounded-circle shadow"
|
||||
data-arrow-left-classes="fa fa-arrow-left u-slick__arrow-classic-inner bg-white text-dark left-0 ml-md-n9"
|
||||
data-arrow-right-classes="fa fa-arrow-right u-slick__arrow-classic-inner bg-white text-dark right-0 mr-md-n9"
|
||||
data-nav-for="#sliderSyncingThumb2">
|
||||
<div class="js-slide bg-img-hero bg-img-hero-center gradient-overlay-half-black-v1"
|
||||
style="background-image: url({{ asset('v2/temoignages/mgdis-temoignage-image.jpg') }});">
|
||||
<div class="w-md-80 w-lg-50 text-white space-2 px-9">
|
||||
<h3 class="h2 text-lh-xs mb-4">MGDIS</h3>
|
||||
<p class="text-white-70 mb-4">Simona Vasile-Martin, Responsable Marketing</p>
|
||||
|
||||
<a class="js-fancybox text-white" href="javascript:;"
|
||||
data-src="https://www.youtube.com/watch?v=E62HUkaPEkk&t?autoplay=1"
|
||||
data-speed="700"
|
||||
data-animate-in="zoomIn"
|
||||
data-animate-out="zoomOut"
|
||||
data-caption="MGDIS"
|
||||
data-is-infinite=true>
|
||||
Voir le témoignage
|
||||
<i class="u-icon u-icon--sm u-icon--white-soft rounded-circle ml-2">
|
||||
<i class="u-icon__inner svg-icon svg-icon-xs text-white">
|
||||
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<rect x="0" y="0" width="24" height="24"></rect>
|
||||
<path d="M9.82866499,18.2771971 L16.5693679,12.3976203 C16.7774696,12.2161036 16.7990211,11.9002555 16.6175044,11.6921539 C16.6029128,11.6754252 16.5872233,11.6596867 16.5705402,11.6450431 L9.82983723,5.72838979 C9.62230202,5.54622572 9.30638833,5.56679309 9.12422426,5.7743283 C9.04415337,5.86555116 9,5.98278612 9,6.10416552 L9,17.9003957 C9,18.1765381 9.22385763,18.4003957 9.5,18.4003957 C9.62084305,18.4003957 9.73759731,18.3566309 9.82866499,18.2771971 Z" fill="#000000"></path>
|
||||
</g>
|
||||
</svg>
|
||||
</i>
|
||||
</i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="js-slide bg-img-hero bg-img-hero-center gradient-overlay-half-black-v1"
|
||||
style="background-image: url({{ asset('v2/temoignages/medaviz-temoignage-image.jpg') }});">
|
||||
<div class="w-md-80 w-lg-50 text-white space-2 px-9">
|
||||
<h3 class="h2 text-lh-xs mb-4">Medaviz</h3>
|
||||
<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=Em3niStNutA?autoplay=1"
|
||||
data-speed="700"
|
||||
data-animate-in="zoomIn"
|
||||
data-animate-out="zoomOut"
|
||||
data-caption="Medaviz"
|
||||
data-is-infinite=true>
|
||||
Voir le témoignage
|
||||
<i class="u-icon u-icon--sm u-icon--white-soft rounded-circle ml-2">
|
||||
<i class="u-icon__inner svg-icon svg-icon-xs text-white">
|
||||
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<rect x="0" y="0" width="24" height="24"></rect>
|
||||
<path d="M9.82866499,18.2771971 L16.5693679,12.3976203 C16.7774696,12.2161036 16.7990211,11.9002555 16.6175044,11.6921539 C16.6029128,11.6754252 16.5872233,11.6596867 16.5705402,11.6450431 L9.82983723,5.72838979 C9.62230202,5.54622572 9.30638833,5.56679309 9.12422426,5.7743283 C9.04415337,5.86555116 9,5.98278612 9,6.10416552 L9,17.9003957 C9,18.1765381 9.22385763,18.4003957 9.5,18.4003957 C9.62084305,18.4003957 9.73759731,18.3566309 9.82866499,18.2771971 Z" fill="#000000"></path>
|
||||
</g>
|
||||
</svg>
|
||||
</i>
|
||||
</i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="js-slide bg-img-hero bg-img-hero-center gradient-overlay-half-black-v1"
|
||||
style="background-image: url({{ asset('v2/temoignages/thalazur-carnac1-temoignage-image.jpg') }});">
|
||||
<div class="w-md-80 w-lg-50 text-white space-2 px-9">
|
||||
<h3 class="h2 text-lh-xs mb-4">Thalazur Carnac</h3>
|
||||
<p class="text-white-70 mb-4">Adeline Lautredou, Responsable Ressources Humaines</p>
|
||||
|
||||
<a class="js-fancybox text-white" href="javascript:;"
|
||||
data-src="https://www.youtube.com/watch?v=hWYae9V-YWM&t=8s?autoplay=1"
|
||||
data-speed="700"
|
||||
data-animate-in="zoomIn"
|
||||
data-animate-out="zoomOut"
|
||||
data-caption="Thalazur Carnac"
|
||||
data-is-infinite=true>
|
||||
Voir le témoignage
|
||||
<i class="u-icon u-icon--sm u-icon--white-soft rounded-circle ml-2">
|
||||
<i class="u-icon__inner svg-icon svg-icon-xs text-white">
|
||||
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<rect x="0" y="0" width="24" height="24"></rect>
|
||||
<path d="M9.82866499,18.2771971 L16.5693679,12.3976203 C16.7774696,12.2161036 16.7990211,11.9002555 16.6175044,11.6921539 C16.6029128,11.6754252 16.5872233,11.6596867 16.5705402,11.6450431 L9.82983723,5.72838979 C9.62230202,5.54622572 9.30638833,5.56679309 9.12422426,5.7743283 C9.04415337,5.86555116 9,5.98278612 9,6.10416552 L9,17.9003957 C9,18.1765381 9.22385763,18.4003957 9.5,18.4003957 C9.62084305,18.4003957 9.73759731,18.3566309 9.82866499,18.2771971 Z" fill="#000000"></path>
|
||||
</g>
|
||||
</svg>
|
||||
</i>
|
||||
</i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- End Stories -->
|
||||
|
||||
<!-- Stories.Authors -->
|
||||
<div id="sliderSyncingThumb2"
|
||||
class="js-slick-carousel u-slick u-slick--gutters-2 u-slick--video w-50 w-lg-30 mx-auto" data-infinite="true"
|
||||
data-slides-show="3" data-is-thumbs="true" data-center-mode="true" data-nav-for="#sliderSyncingNav2">
|
||||
<div class="js-slide rounded overflow-hidden">
|
||||
<img class="img-fluid" src="{{ asset('v2/temoignages/mgdis-temoignage-vignette.jpg') }}" alt="Image Description">
|
||||
<i class="u-icon u-icon--sm u-icon--dark-soft rounded-circle u-slick--video__player">
|
||||
<i class="u-icon__inner svg-icon svg-icon-xs text-white">
|
||||
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<rect x="0" y="0" width="24" height="24"></rect>
|
||||
<path
|
||||
d="M9.82866499,18.2771971 L16.5693679,12.3976203 C16.7774696,12.2161036 16.7990211,11.9002555 16.6175044,11.6921539 C16.6029128,11.6754252 16.5872233,11.6596867 16.5705402,11.6450431 L9.82983723,5.72838979 C9.62230202,5.54622572 9.30638833,5.56679309 9.12422426,5.7743283 C9.04415337,5.86555116 9,5.98278612 9,6.10416552 L9,17.9003957 C9,18.1765381 9.22385763,18.4003957 9.5,18.4003957 C9.62084305,18.4003957 9.73759731,18.3566309 9.82866499,18.2771971 Z"
|
||||
fill="#000000"></path>
|
||||
</g>
|
||||
</svg>
|
||||
</i>
|
||||
</i>
|
||||
</div>
|
||||
|
||||
<div class="js-slide rounded overflow-hidden">
|
||||
<img class="img-fluid" src="{{ asset('v2/temoignages/medaviz-temoignage-vignette.jpg') }}" alt="Image Description">
|
||||
<i class="u-icon u-icon--sm u-icon--dark-soft rounded-circle u-slick--video__player">
|
||||
<i class="u-icon__inner svg-icon svg-icon-xs text-white">
|
||||
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<rect x="0" y="0" width="24" height="24"></rect>
|
||||
<path
|
||||
d="M9.82866499,18.2771971 L16.5693679,12.3976203 C16.7774696,12.2161036 16.7990211,11.9002555 16.6175044,11.6921539 C16.6029128,11.6754252 16.5872233,11.6596867 16.5705402,11.6450431 L9.82983723,5.72838979 C9.62230202,5.54622572 9.30638833,5.56679309 9.12422426,5.7743283 C9.04415337,5.86555116 9,5.98278612 9,6.10416552 L9,17.9003957 C9,18.1765381 9.22385763,18.4003957 9.5,18.4003957 C9.62084305,18.4003957 9.73759731,18.3566309 9.82866499,18.2771971 Z"
|
||||
fill="#000000"></path>
|
||||
</g>
|
||||
</svg>
|
||||
</i>
|
||||
</i>
|
||||
</div>
|
||||
|
||||
<div class="js-slide rounded overflow-hidden">
|
||||
<img class="img-fluid" src="{{ asset('v2/temoignages/thalazur-carnac-temoignage-vignette.jpg') }}" alt="Image Description">
|
||||
<i class="u-icon u-icon--sm u-icon--dark-soft rounded-circle u-slick--video__player">
|
||||
<i class="u-icon__inner svg-icon svg-icon-xs text-white">
|
||||
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<rect x="0" y="0" width="24" height="24"></rect>
|
||||
<path
|
||||
d="M9.82866499,18.2771971 L16.5693679,12.3976203 C16.7774696,12.2161036 16.7990211,11.9002555 16.6175044,11.6921539 C16.6029128,11.6754252 16.5872233,11.6596867 16.5705402,11.6450431 L9.82983723,5.72838979 C9.62230202,5.54622572 9.30638833,5.56679309 9.12422426,5.7743283 C9.04415337,5.86555116 9,5.98278612 9,6.10416552 L9,17.9003957 C9,18.1765381 9.22385763,18.4003957 9.5,18.4003957 C9.62084305,18.4003957 9.73759731,18.3566309 9.82866499,18.2771971 Z"
|
||||
fill="#000000"></path>
|
||||
</g>
|
||||
</svg>
|
||||
</i>
|
||||
</i>
|
||||
</div>
|
||||
</div>
|
||||
<!-- End Stories.Authors -->
|
||||
</div>
|
||||
</div>
|
||||
<!-- End Success stories -->
|
||||
<!-- Témoignage FIN -->
|
||||
@@ -0,0 +1,634 @@
|
||||
{% extends 'basev2.html.twig' %}
|
||||
|
||||
{% block title %}Talents Tube : Le 1er job board 100% vidéo{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<main id="content">
|
||||
{% include 'defaultv2/accueil/blocPhoto.html.twig' %}
|
||||
|
||||
{% include 'defaultv2/accueil/blocDegrade.html.twig' %}
|
||||
|
||||
{% include 'defaultv2/accueil/blocPlateforme.html.twig' %}
|
||||
|
||||
{% include 'defaultv2/accueil/blocCandidat.html.twig' %}
|
||||
|
||||
{% include 'defaultv2/accueil/blocRecrutez.html.twig' %}
|
||||
|
||||
{% include 'defaultv2/accueil/blocEmployeur.html.twig' %}
|
||||
|
||||
{% include 'defaultv2/accueil/blocTemoignages.html.twig' %}
|
||||
|
||||
{% include 'defaultv2/accueil/blocConfiance.html.twig' %}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</main>
|
||||
<!-- ========== END MAIN CONTENT ========== -->
|
||||
|
||||
<!-- ========== FOOTER ========== -->
|
||||
<footer class="bg-dark">
|
||||
<div class="container space-2">
|
||||
<div class="row justify-content-md-between">
|
||||
<div class="col-6 col-md-3 col-lg-2 order-lg-3 mb-7 mb-lg-0">
|
||||
<h3 class="h6 text-white mb-3">About</h3>
|
||||
|
||||
<!-- List Group -->
|
||||
<div class="list-group list-group-flush list-group-transparent">
|
||||
|
||||
</div>
|
||||
<!-- End List Group -->
|
||||
</div>
|
||||
|
||||
<div class="col-6 col-md-3 col-lg-2 order-lg-4 mb-7 mb-lg-0">
|
||||
<h3 class="h6 text-white mb-3">Company</h3>
|
||||
|
||||
<!-- List Group -->
|
||||
<div class="list-group list-group-flush list-group-transparent">
|
||||
|
||||
</div>
|
||||
<!-- End List Group -->
|
||||
</div>
|
||||
|
||||
<div class="col-6 col-md-3 col-lg-2 order-lg-5 mb-7 mb-lg-0">
|
||||
<h3 class="h6 text-white mb-3">Blog</h3>
|
||||
|
||||
<!-- List Group -->
|
||||
<div class="list-group list-group-flush list-group-transparent">
|
||||
|
||||
</div>
|
||||
<!-- End List Group -->
|
||||
</div>
|
||||
|
||||
<div class="col-6 col-md-3 col-lg-2 order-lg-6 mb-7 mb-lg-0">
|
||||
<h3 class="h6 text-white mb-3">Social</h3>
|
||||
|
||||
<!-- List -->
|
||||
<div class="list-group list-group-flush list-group-transparent">
|
||||
<a class="list-group-item list-group-item-action" href="#">
|
||||
<i class="fab fa-facebook-f min-width-3 text-center mr-2"></i>
|
||||
Facebook
|
||||
</a>
|
||||
|
||||
</div>
|
||||
<!-- End List -->
|
||||
</div>
|
||||
|
||||
<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">
|
||||
<img src="{{ asset('v2/svg/logos/talentstube-logo-mobile.svg') }}" alt="Logo" style="width: 40px; max-width: 100%;">
|
||||
</a>
|
||||
<!-- End Logo -->
|
||||
|
||||
|
||||
|
||||
<p class="small text-muted">Tous droits réservés. © Space. 2020 Talents Tube.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
<!-- ========== END FOOTER ========== -->
|
||||
|
||||
<!-- ========== SECONDARY CONTENTS ========== -->
|
||||
<!-- Panel Sidebar Navigation -->
|
||||
<aside id="sidebarContent" class="u-sidebar u-unfold--css-animation u-unfold--hidden"
|
||||
aria-labelledby="sidebarNavToggler">
|
||||
<div class="u-sidebar__scroller">
|
||||
<div class="u-sidebar__container">
|
||||
<div class="u-sidebar--panel__footer-offset">
|
||||
<!-- Toggle Button -->
|
||||
<div class="d-flex align-items-center border-bottom py-4 px-5">
|
||||
<h4 class="h5 mb-0">Mon compte</h4>
|
||||
|
||||
<button type="button" class="close u-sidebar__close ml-auto" aria-controls="sidebarContent"
|
||||
aria-haspopup="true" aria-expanded="false" data-unfold-event="click" data-unfold-hide-on-scroll="false"
|
||||
data-unfold-target="#sidebarContent" data-unfold-type="css-animation" data-unfold-animation-in="fadeInRight"
|
||||
data-unfold-animation-out="fadeOutRight" data-unfold-duration="500">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
<!-- End Toggle Button -->
|
||||
|
||||
<!-- Content -->
|
||||
<div class="js-scrollbar u-sidebar__body">
|
||||
<div class="u-sidebar__content py-5">
|
||||
<!-- Title -->
|
||||
<div class="py-2 px-5">
|
||||
<h4 class="text-uppercase text-muted font-size-13 mb-0">Mon menu</h4>
|
||||
</div>
|
||||
<!-- End Title -->
|
||||
|
||||
<!-- List -->
|
||||
<ul class="list-unstyled font-size-14 mb-5">
|
||||
<li>
|
||||
<a class="media align-items-center u-sidebar--panel__link py-2 px-5" href="#">
|
||||
<img class="max-width-4 mr-3" src="{{ asset('v2/svg/components/finance-dark-icon.svg') }}"
|
||||
alt="Image Description">
|
||||
<div class="media-body">
|
||||
<span>Dashboard</span>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="media align-items-center u-sidebar--panel__link py-2 px-5" href="#">
|
||||
<img class="max-width-4 mr-3" src="{{ asset('v2/svg/components/touch-dark-icon.svg') }}"
|
||||
alt="Image Description">
|
||||
<div class="media-body">
|
||||
<span>Activity</span>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="media align-items-center u-sidebar--panel__link py-2 px-5" href="#">
|
||||
<img class="max-width-4 mr-3" src="{{ asset('v2/svg/components/team-dark-icon.svg') }}"
|
||||
alt="Image Description">
|
||||
<div class="media-body">
|
||||
<span>Team</span>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="media align-items-center u-sidebar--panel__link py-2 px-5" href="#">
|
||||
<img class="max-width-4 mr-3" src="{{ asset('v2/svg/components/email-dark-icon.svg') }}"
|
||||
alt="Image Description">
|
||||
<div class="media-body">
|
||||
<span>Mailbox</span>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="media align-items-center u-sidebar--panel__link py-2 px-5" href="#">
|
||||
<img class="max-width-4 mr-3" src="{{ asset('v2/svg/components/projects-dark-icon.svg') }}"
|
||||
alt="Image Description">
|
||||
<div class="media-body">
|
||||
<span>Projects</span>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
<!-- End List -->
|
||||
|
||||
<!-- Title -->
|
||||
<div class="py-2 px-5">
|
||||
<h4 class="text-uppercase text-muted font-size-13 mb-0">Sub level</h4>
|
||||
</div>
|
||||
<!-- End Title -->
|
||||
|
||||
<!-- List -->
|
||||
<ul class="list-unstyled font-size-14 mb-0">
|
||||
<li>
|
||||
<a class="media align-items-center u-sidebar--panel__link py-2 px-5" href="#">
|
||||
<img class="max-width-4 mr-3" src="{{ asset('v2/svg/components/calendar-dark-icon.svg') }}"
|
||||
alt="Image Description">
|
||||
<div class="media-body">
|
||||
<span>Calendar</span>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="media align-items-center u-sidebar--panel__link py-2 px-5" href="#">
|
||||
<img class="max-width-4 mr-3" src="{{ asset('v2/svg/components/cog-dark-icon.svg') }}"
|
||||
alt="Image Description">
|
||||
<div class="media-body">
|
||||
<span>Tools</span>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="media align-items-center u-sidebar--panel__link py-2 px-5" href="#">
|
||||
<img class="max-width-4 mr-3" src="{{ asset('v2/svg/components/archive-dark-icon.svg') }}"
|
||||
alt="Image Description">
|
||||
<div class="media-body">
|
||||
<span>Archive</span>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
<!-- End List -->
|
||||
</div>
|
||||
</div>
|
||||
<!-- End Content -->
|
||||
</div>
|
||||
|
||||
<!-- Footer -->
|
||||
<footer class="u-sidebar__footer u-sidebar__footer--panel py-4 px-5">
|
||||
<!-- List -->
|
||||
<ul class="list-inline font-size-14 mb-0">
|
||||
<li class="list-inline-item">
|
||||
<a class="u-sidebar--panel__link pr-2" href="../pages/privacy.html">Privacy</a>
|
||||
</li>
|
||||
<li class="list-inline-item">
|
||||
<a class="u-sidebar--panel__link px-2" href="../pages/terms.html">Terms</a>
|
||||
</li>
|
||||
<li class="list-inline-item">
|
||||
<a class="u-sidebar--panel__link pl-2" href="../pages/help.html">
|
||||
<i class="fa fa-info-circle"></i>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
<!-- End List -->
|
||||
</footer>
|
||||
<!-- End Footer -->
|
||||
</div>
|
||||
</div>
|
||||
</aside>
|
||||
<!-- End Panel Sidebar Navigation -->
|
||||
|
||||
<!-- Signup Modal Window -->
|
||||
<div id="signupModal" class="js-signup-modal u-modal-window" style="width: 500px;">
|
||||
<!-- Modal Close Button -->
|
||||
<button class="btn btn-sm btn-icon btn-text-secondary u-modal-window__close" type="button"
|
||||
onclick="Custombox.modal.close();">
|
||||
<i class="fas fa-times"></i>
|
||||
</button>
|
||||
<!-- End Modal Close Button -->
|
||||
|
||||
<!-- Content -->
|
||||
<div class="p-5 bg-white rounded">
|
||||
<form class="js-validate">
|
||||
<!-- Signin -->
|
||||
<div id="signin" data-target-group="idForm">
|
||||
<!-- Title -->
|
||||
<header class="text-center mb-5">
|
||||
<h2 class="h4 mb-0">Please sign in</h2>
|
||||
<p>Signin to manage your account.</p>
|
||||
</header>
|
||||
<!-- End Title -->
|
||||
|
||||
<!-- Input -->
|
||||
<div class="js-form-message mb-3">
|
||||
<div class="js-focus-state input-group form">
|
||||
<div class="input-group-prepend form__prepend">
|
||||
<span class="input-group-text form__text">
|
||||
<i class="fa fa-user form__text-inner"></i>
|
||||
</span>
|
||||
</div>
|
||||
<input type="email" class="form-control form__input" name="email" required placeholder="Email"
|
||||
aria-label="Email" data-msg="Please enter a valid email address." data-error-class="u-has-error"
|
||||
data-success-class="u-has-success">
|
||||
</div>
|
||||
</div>
|
||||
<!-- End Input -->
|
||||
|
||||
<!-- Input -->
|
||||
<div class="js-form-message mb-3">
|
||||
<div class="js-focus-state input-group form">
|
||||
<div class="input-group-prepend form__prepend">
|
||||
<span class="input-group-text form__text">
|
||||
<i class="fa fa-lock form__text-inner"></i>
|
||||
</span>
|
||||
</div>
|
||||
<input type="password" class="form-control form__input" name="password" required placeholder="Password"
|
||||
aria-label="Password" data-msg="Your password is invalid. Please try again."
|
||||
data-error-class="u-has-error" data-success-class="u-has-success">
|
||||
</div>
|
||||
</div>
|
||||
<!-- End Input -->
|
||||
|
||||
<div class="row mb-3">
|
||||
<div class="col-6">
|
||||
<!-- Checkbox -->
|
||||
<div class="custom-control custom-checkbox d-flex align-items-center text-muted">
|
||||
<input type="checkbox" class="custom-control-input" id="rememberMeCheckbox">
|
||||
<label class="custom-control-label" for="rememberMeCheckbox">
|
||||
Remember Me
|
||||
</label>
|
||||
</div>
|
||||
<!-- End Checkbox -->
|
||||
</div>
|
||||
|
||||
<div class="col-6 text-right">
|
||||
<a class="js-animation-link float-right" href="javascript:;" data-target="#forgotPassword"
|
||||
data-link-group="idForm" data-animation-in="fadeIn">Mot de passe oublié?</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<button type="submit" class="btn btn-block btn-primary">Connexion</button>
|
||||
</div>
|
||||
|
||||
<div class="text-center mb-3">
|
||||
<p class="text-muted">
|
||||
Do not have an account?
|
||||
<a class="js-animation-link" href="javascript:;" data-target="#signup" data-link-group="idForm"
|
||||
data-animation-in="fadeIn">Signup
|
||||
</a>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<!-- Divider -->
|
||||
<div class="text-center u-divider-wrapper my-3">
|
||||
<span class="u-divider u-divider--xs u-divider--text">OR</span>
|
||||
</div>
|
||||
<!-- End Divider -->
|
||||
|
||||
<!-- Signin Social Buttons -->
|
||||
<div class="row mx-gutters-2 mb-4">
|
||||
<div class="col-sm-6 mb-2 mb-sm-0">
|
||||
<button type="button" class="btn btn-block btn-facebook text-nowrap">
|
||||
<i class="fab fa-facebook-f mr-2"></i>
|
||||
Signin with Facebook
|
||||
</button>
|
||||
</div>
|
||||
<div class="col-sm-6">
|
||||
<button type="button" class="btn btn-block btn-twitter">
|
||||
<i class="fab fa-twitter mr-2"></i>
|
||||
Signin with Twitter
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<!-- End Signin Social Buttons -->
|
||||
</div>
|
||||
<!-- End Signin -->
|
||||
|
||||
<!-- Signup -->
|
||||
<div id="signup" style="display: none; opacity: 0;" data-target-group="idForm">
|
||||
<!-- Title -->
|
||||
<header class="text-center mb-5">
|
||||
<h2 class="h4 mb-0">Please sign up</h2>
|
||||
<p>Fill out the form to get started.</p>
|
||||
</header>
|
||||
<!-- End Title -->
|
||||
|
||||
<!-- Input -->
|
||||
<div class="js-form-message mb-3">
|
||||
<div class="js-focus-state input-group form">
|
||||
<div class="input-group-prepend form__prepend">
|
||||
<span class="input-group-text form__text">
|
||||
<i class="fa fa-user form__text-inner"></i>
|
||||
</span>
|
||||
</div>
|
||||
<input type="email" class="form-control form__input" name="email" required placeholder="Email"
|
||||
aria-label="Email" data-msg="Please enter a valid email address." data-error-class="u-has-error"
|
||||
data-success-class="u-has-success">
|
||||
</div>
|
||||
</div>
|
||||
<!-- End Input -->
|
||||
|
||||
<!-- Input -->
|
||||
<div class="js-form-message mb-3">
|
||||
<div class="js-focus-state input-group form">
|
||||
<div class="input-group-prepend form__prepend">
|
||||
<span class="input-group-text form__text">
|
||||
<i class="fa fa-lock form__text-inner"></i>
|
||||
</span>
|
||||
</div>
|
||||
<input type="password" class="form-control form__input" name="password" id="password" required
|
||||
placeholder="Password" aria-label="Password" data-msg="Your password is invalid. Please try again."
|
||||
data-error-class="u-has-error" data-success-class="u-has-success">
|
||||
</div>
|
||||
</div>
|
||||
<!-- End Input -->
|
||||
|
||||
<!-- Input -->
|
||||
<div class="js-form-message mb-3">
|
||||
<div class="js-focus-state input-group form">
|
||||
<div class="input-group-prepend form__prepend">
|
||||
<span class="input-group-text form__text">
|
||||
<i class="fa fa-key form__text-inner"></i>
|
||||
</span>
|
||||
</div>
|
||||
<input type="password" class="form-control form__input" name="confirmPassword" required
|
||||
placeholder="Confirm Password" aria-label="Confirm Password"
|
||||
data-msg="Password does not match the confirm password." data-error-class="u-has-error"
|
||||
data-success-class="u-has-success">
|
||||
</div>
|
||||
</div>
|
||||
<!-- End Input -->
|
||||
|
||||
<div class="mb-3">
|
||||
<button type="submit" class="btn btn-block btn-primary">Signup</button>
|
||||
</div>
|
||||
|
||||
<div class="text-center mb-3">
|
||||
<p class="text-muted">
|
||||
Have an account?
|
||||
<a class="js-animation-link" href="javascript:;" data-target="#signin" data-link-group="idForm"
|
||||
data-animation-in="fadeIn">Conenxion Recruteur
|
||||
</a>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<!-- Divider -->
|
||||
<div class="text-center u-divider-wrapper my-3">
|
||||
<span class="u-divider u-divider--xs u-divider--text">OR</span>
|
||||
</div>
|
||||
<!-- End Divider -->
|
||||
|
||||
<!-- Signup Social Buttons -->
|
||||
<div class="row mx-gutters-2 mb-4">
|
||||
<div class="col-sm-6 mb-2 mb-sm-0">
|
||||
<button type="button" class="btn btn-block btn-facebook text-nowrap">
|
||||
<i class="fab fa-facebook-f mr-2"></i>
|
||||
Signup with Facebook
|
||||
</button>
|
||||
</div>
|
||||
<div class="col-sm-6">
|
||||
<button type="button" class="btn btn-block btn-twitter">
|
||||
<i class="fab fa-twitter mr-2"></i>
|
||||
Signup with Twitter
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<!-- End Signup Social Buttons -->
|
||||
</div>
|
||||
<!-- End Signup -->
|
||||
|
||||
<!-- Forgot Password -->
|
||||
<div id="forgotPassword" style="display: none; opacity: 0;" data-target-group="idForm">
|
||||
<!-- Title -->
|
||||
<header class="text-center mb-5">
|
||||
<h2 class="h4 mb-0">Recover account</h2>
|
||||
<p>Enter your email address and an email with instructions will be sent to you.</p>
|
||||
</header>
|
||||
<!-- End Title -->
|
||||
|
||||
<!-- Input -->
|
||||
<div class="js-form-message mb-3">
|
||||
<div class="js-focus-state input-group form">
|
||||
<div class="input-group-prepend form__prepend">
|
||||
<span class="input-group-text form__text">
|
||||
<i class="fa fa-user form__text-inner"></i>
|
||||
</span>
|
||||
</div>
|
||||
<input type="email" class="form-control form__input" name="email" required placeholder="Email"
|
||||
aria-label="Email" data-msg="Please enter a valid email address." data-error-class="u-has-error"
|
||||
data-success-class="u-has-success">
|
||||
</div>
|
||||
</div>
|
||||
<!-- End Input -->
|
||||
|
||||
<div class="mb-3">
|
||||
<button type="submit" class="btn btn-block btn-primary">Recover Account</button>
|
||||
</div>
|
||||
<div class="text-center mb-3">
|
||||
<p class="text-muted">
|
||||
Have an account?
|
||||
<a class="js-animation-link" href="javascript:;" data-target="#signin" data-link-group="idForm"
|
||||
data-animation-in="fadeIn">Contactez nous
|
||||
</a>
|
||||
</p>
|
||||
</div>
|
||||
<div class="text-center mb-3">
|
||||
<p class="text-muted">
|
||||
Have an account?
|
||||
<a class="js-animation-link" href="javascript:;" data-target="#signin" data-link-group="idForm"
|
||||
data-animation-in="fadeIn">Connexion Recruteur.
|
||||
</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<!-- End Forgot Password -->
|
||||
</form>
|
||||
</div>
|
||||
<!-- End Content -->
|
||||
</div>
|
||||
<!-- End Signup Modal Window -->
|
||||
<!-- ========== END SECONDARY CONTENTS ========== -->
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- Go to Top -->
|
||||
<a class="js-go-to u-go-to" href="javascript:;" data-position='{"bottom": 15, "right": 15 }' data-type="fixed"
|
||||
data-offset-top="400" data-compensation="#header" data-show-effect="slideInUp" data-hide-effect="slideOutDown">
|
||||
<i class="fa fa-arrow-up u-go-to__inner"></i>
|
||||
</a>
|
||||
<!-- End Go to Top -->
|
||||
|
||||
<!-- JS Global Compulsory -->
|
||||
<script src="{{ asset('v2/vendor/jquery/dist/jquery.min.js') }}"></script>
|
||||
<script src="{{ asset('v2/vendor/jquery-migrate/dist/jquery-migrate.min.js') }}"></script>
|
||||
<script src="{{ asset('v2/vendor/popper.js/dist/umd/popper.min.js') }}"></script>
|
||||
<script src="{{ asset('v2/vendor/bootstrap/bootstrap.min.js') }}"></script>
|
||||
|
||||
<!-- JS Implementing Plugins -->
|
||||
<script src="{{ asset('v2/vendor/hs-megamenu/src/hs.megamenu.js') }}"></script>
|
||||
<script src="{{ asset('v2/vendor/jquery-validation/dist/jquery.validate.min.js') }}"></script>
|
||||
<script src="{{ asset('v2/vendor/malihu-custom-scrollbar-plugin/jquery.mCustomScrollbar.concat.min.js') }}"></script>
|
||||
<script src="{{ asset('v2/vendor/custombox/dist/custombox.min.js') }}"></script>
|
||||
<script src="{{ asset('v2/vendor/custombox/dist/custombox.legacy.min.js') }}"></script>
|
||||
<script src="{{ asset('v2/vendor/typed.js/lib/typed.min.js') }}"></script>
|
||||
<script src="{{ asset('v2/vendor/slick-carousel/slick/slick.js') }}"></script>
|
||||
<script src="{{ asset('v2/vendor/cubeportfolio/js/jquery.cubeportfolio.min.js') }}"></script>
|
||||
<script src="{{ asset('v2/vendor/fancybox/jquery.fancybox.min.js') }}"></script>
|
||||
|
||||
<!-- JS Space -->
|
||||
<script src="{{ asset('v2/js/hs.core.js') }}"></script>
|
||||
<script src="{{ asset('v2/js/components/hs.header.js') }}"></script>
|
||||
<script src="{{ asset('v2/js/components/hs.unfold.js') }}"></script>
|
||||
<script src="{{ asset('v2/js/components/hs.validation.js') }}"></script>
|
||||
<script src="{{ asset('v2/js/helpers/hs.focus-state.js') }}"></script>
|
||||
<script src="{{ asset('v2/js/components/hs.malihu-scrollbar.js') }}"></script>
|
||||
<script src="{{ asset('v2/js/components/hs.fancybox.js') }}"></script>
|
||||
<script src="{{ asset('v2/js/components/hs.modal-window.js') }}"></script>
|
||||
<script src="{{ asset('v2/js/components/hs.show-animation.js') }}"></script>
|
||||
<script src="{{ asset('v2/js/components/hs.slick-carousel.js') }}"></script>
|
||||
<script src="{{ asset('v2/js/components/hs.cubeportfolio.js') }}"></script>
|
||||
<script src="{{ asset('v2/js/components/hs.g-map.js') }}"></script>
|
||||
<script src="{{ asset('v2/js/components/hs.go-to.js') }}"></script>
|
||||
|
||||
|
||||
|
||||
<!-- JS Plugins Init. -->
|
||||
<script>
|
||||
// initialization of google map
|
||||
{# function initMap() {
|
||||
$.HSCore.components.HSGMap.init('.js-g-map');
|
||||
} #}
|
||||
|
||||
$(window).on('load', function () {
|
||||
// initialization of HSMegaMenu component
|
||||
$('.js-mega-menu').HSMegaMenu({
|
||||
event: 'hover',
|
||||
pageContainer: $('.container'),
|
||||
breakpoint: 767,
|
||||
hideTimeOut: 0
|
||||
});
|
||||
});
|
||||
|
||||
$(document).on('ready', function () {
|
||||
// initialization of header
|
||||
$.HSCore.components.HSHeader.init($('#header'));
|
||||
|
||||
// initialization of fancybox
|
||||
$.HSCore.components.HSFancyBox.init('.js-fancybox');
|
||||
|
||||
// initialization of unfold component
|
||||
$.HSCore.components.HSUnfold.init($('[data-unfold-target]'), {
|
||||
afterOpen: function () {
|
||||
if (!$('body').hasClass('IE11')) {
|
||||
$(this).find('input[type="search"]').focus();
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
// initialization of form validation
|
||||
$.HSCore.components.HSValidation.init('.js-validate', {
|
||||
rules: {
|
||||
confirmPassword: {
|
||||
equalTo: '#password'
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
// initialization of forms
|
||||
$.HSCore.helpers.HSFocusState.init();
|
||||
|
||||
// initialization of malihu scrollbar
|
||||
$.HSCore.components.HSMalihuScrollBar.init($('.js-scrollbar'));
|
||||
|
||||
// initialization of autonomous popups
|
||||
$.HSCore.components.HSModalWindow.init('[data-modal-target]', '.js-signup-modal', {
|
||||
autonomous: true
|
||||
});
|
||||
|
||||
// initialization of show animations
|
||||
$.HSCore.components.HSShowAnimation.init('.js-animation-link');
|
||||
|
||||
// initialization of slick carousel
|
||||
$.HSCore.components.HSSlickCarousel.init('.js-slick-carousel');
|
||||
|
||||
// initialization of text animation (typing)
|
||||
var typed = new Typed(".u-text-animation.u-text-animation--typing", {
|
||||
strings: ["Recrutez les candidats", "Boostez vos recrutements", "Valorisez vos collaborateurs"],
|
||||
typeSpeed: 60,
|
||||
loop: true,
|
||||
backSpeed: 25,
|
||||
backDelay: 3000
|
||||
});
|
||||
|
||||
// initialization of cubeportfolio
|
||||
$.HSCore.components.HSCubeportfolio.init('.cbp');
|
||||
|
||||
// initialization of go to
|
||||
$.HSCore.components.HSGoTo.init('.js-go-to');
|
||||
|
||||
|
||||
});
|
||||
|
||||
|
||||
$(document).ready(function () {
|
||||
$(window).scroll(function () { // check if scroll event happened
|
||||
if ($(document).scrollTop() > 50) { // check if user scrolled more than 50 from top of the browser window
|
||||
$("#logoAndNav").css("background-color",
|
||||
"#000"); // if yes, then change the color of class "navbar-fixed-top" to white (#f8f8f8)
|
||||
console.log("test");
|
||||
} else {
|
||||
$("#logoAndNav").css("background-color", "transparent"); // if not, change it back to transparent
|
||||
console.log("test2");
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block javascripts %}
|
||||
{{ parent() }}
|
||||
<script src="https://player.vimeo.com/api/player.js"></script>
|
||||
{% endblock %}
|
||||
@@ -0,0 +1,61 @@
|
||||
{% 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 %}
|
||||
@@ -0,0 +1,69 @@
|
||||
{% 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 %}
|
||||
@@ -0,0 +1,80 @@
|
||||
{% 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 d’emploi 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 %}
|
||||
@@ -0,0 +1,218 @@
|
||||
{% 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> {{ 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> {{ 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 d’emploi 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 %}
|
||||
@@ -0,0 +1,75 @@
|
||||
<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>
|
||||
@@ -0,0 +1,7 @@
|
||||
{% for type, flash_messages in app.session.flashBag.all %}
|
||||
{% for flash_message in flash_messages %}
|
||||
<div class="flash-{{ type }}">
|
||||
{{ flash_message }}
|
||||
</div>
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
@@ -0,0 +1,31 @@
|
||||
{% 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 %}
|
||||
@@ -0,0 +1,60 @@
|
||||
{% 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 %}
|
||||
@@ -0,0 +1,48 @@
|
||||
{% 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 %}
|
||||
|
||||
@@ -0,0 +1,81 @@
|
||||
{% 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 %}
|
||||
@@ -0,0 +1,15 @@
|
||||
{% 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>
|
||||
@@ -0,0 +1,11 @@
|
||||
<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>
|
||||
@@ -0,0 +1,86 @@
|
||||
<footer class="page-footer">
|
||||
<div class="container">
|
||||
<div class="row footer-info">
|
||||
<div class="col xl2 l2 m6 s12 col-footer-logo">
|
||||
<img src="{{ asset('/img/logo-mini-white.svg') }}" alt="Talents Tube 1er job board 100% vidéo">
|
||||
</div>
|
||||
<div class="col xl3 l3 m6 s6">
|
||||
<h5 class="white-text">Talents Tube</h5>
|
||||
<ul>
|
||||
<li>
|
||||
<a class="white-text" href="{{ path('homepage') }}">Accueil</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="white-text" href="{{ path('ad_search_result') }}" title="Offres d'emploi vidéos">Nos offres d'emploi</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="white-text" href="{{ path('company_list') }}" title="Listes entreprises">Nos entreprises</a>
|
||||
</li>
|
||||
<li>
|
||||
<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>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="col xl4 l4 m6 s6">
|
||||
<h5 class="white-text">Informations</h5>
|
||||
<ul>
|
||||
<li>
|
||||
<a class="white-text" href="{{ path('service_legals') }}">Mentions légales</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="white-text" href="{{ path('service_cgu') }}">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>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="col xl3 l3 m6 s12 left-align">
|
||||
<h5 class="white-text">Suivez-nous !</h5>
|
||||
<p class="footer-socials">
|
||||
<a class="white-text td-none" href="https://www.facebook.com/TalentsTuber/" title="Facebook" target="_blank">
|
||||
<i class="fa fa-facebook" aria-hidden="true"></i>
|
||||
</a>
|
||||
<a class="white-text td-none" href="https://twitter.com/TalentsTuber" title="Twitter" target="_blank">
|
||||
<i class="fa fa-twitter" aria-hidden="true"></i>
|
||||
</a>
|
||||
<a class="white-text td-none" href="https://www.youtube.com/channel/UCRNqiJCLAorO0aCzNQu-8ww" title="Youtube" target="_blank">
|
||||
<i class="fa fa-youtube" aria-hidden="true"></i>
|
||||
</a>
|
||||
<a class="white-text td-none" href="https://www.linkedin.com/company/talentstube" title="Linkedin" target="_blank">
|
||||
<i class="fa fa-linkedin-square" aria-hidden="true"></i>
|
||||
</a>
|
||||
</p>
|
||||
<h5 class="white-text">Contactez-nous !</h5>
|
||||
<a class="white-text" href="mailto:bonjour@talentstube.com">Par mail</a>
|
||||
<p class="white-text">02 30 05 06 31</p>
|
||||
<p class="footer-newsletter">
|
||||
<a class="btn-large btn-round" href="#" title="Newsletter" data-token="ecea5416671e97e3abfa8195848a9140" onclick="mjOpenPopin(event, this)">
|
||||
<i class="fa fa-envelope-open-o left" aria-hidden="true"></i>
|
||||
Newsletter</a>
|
||||
<data data-token="ecea5416671e97e3abfa8195848a9140" class="mj-w-data" data-apikey="2jWA" data-w-id="31E" data-lang="fr_FR" data-base="https://app.mailjet.com" data-width="640" data-height="420" data-statics="statics"></data>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row footer-more-links">
|
||||
<div class="col s12 center-align">
|
||||
<p class="text-center white-text">Entreprise soutenue par</p>
|
||||
<a href="https://www.bretagne.bzh/"><img src="{{ asset('img/RB_monochrome_blanc.svg')}}" alt="Region Bretagne"></a><br>
|
||||
</div>
|
||||
<div class="col s12 center-align m-t-30">
|
||||
<a class="text-center white-text" href="https://www.e-declic.com" target="_blank" title="Agence Web">© 2018 Talents Tube</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
{# Modal Login#}
|
||||
{% if app.request.get('_route') != "fos_user_security_login" %}
|
||||
<div id="modal_login" class="modal ">
|
||||
<div class="modal-content">
|
||||
{{ render(controller('AppBundle:SecurityModal:loginModal')) }}
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
@@ -0,0 +1,161 @@
|
||||
<!-- Skippy -->
|
||||
<a id="skippy" class="sr-only sr-only-focusable u-skippy" href="#content">
|
||||
<div class="container">
|
||||
<span class="u-skiplink-text">Skip to main content</span>
|
||||
</div>
|
||||
</a>
|
||||
<!-- End Skippy -->
|
||||
|
||||
<!-- ========== HEADER ========== -->
|
||||
<header id="header" class="u-header u-header--modern u-header--bordered u-header--bg-transparent u-header--white-nav-links u-header--sticky-top-lg">
|
||||
<div class="u-header__section">
|
||||
<div id="logoAndNav" class="container-fluid">
|
||||
<!-- Nav -->
|
||||
<nav class="js-mega-menu navbar navbar-expand-lg u-header__navbar">
|
||||
<!-- Logo -->
|
||||
<div class="u-header__navbar-brand-wrapper">
|
||||
<a class="navbar-brand u-header__navbar-brand" href="#" aria-label="TT">
|
||||
<img class="u-header__navbar-brand-default" src="{{ asset('v2/svg/logos/talents-tube-logo.svg') }}" alt="Logo">
|
||||
<img class="u-header__navbar-brand-mobile" src="{{ asset('v2/svg/logos/talentstube-logo-mobile.svg') }}" alt="Logo">
|
||||
<img class="u-header__navbar-brand-on-scroll" src="{{ asset('v2/svg/logos/talents-tube-logo.svg') }}" alt="Logo">
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Responsive Toggle Button -->
|
||||
<button type="button" class="navbar-toggler btn u-hamburger u-header__hamburger"
|
||||
aria-label="Toggle navigation"
|
||||
aria-expanded="false"
|
||||
aria-controls="navBar"
|
||||
data-toggle="collapse"
|
||||
data-target="#navBar">
|
||||
<span class="d-none d-sm-inline-block">Menu</span>
|
||||
<span id="hamburgerTrigger" class="u-hamburger__box ml-3">
|
||||
<span class="u-hamburger__inner"></span>
|
||||
</span>
|
||||
</button>
|
||||
<!-- End Responsive Toggle Button -->
|
||||
|
||||
<!-- Navigation -->
|
||||
<div id="navBar" class="collapse navbar-collapse u-header__navbar-collapse py-0">
|
||||
<ul class="navbar-nav u-header__navbar-nav">
|
||||
<!-- Home -->
|
||||
<li class="nav-item hs-has-sub-menu u-header__nav-item"
|
||||
data-event="hover"
|
||||
data-animation-in="fadeInUp"
|
||||
data-animation-out="fadeOut">
|
||||
<a id="homeMegaMenu" class="nav-link u-header__nav-link" href="javascript:;"
|
||||
aria-haspopup="true"
|
||||
aria-expanded="false"
|
||||
aria-labelledby="homeSubMenu">
|
||||
Offres d'emploi vidéo
|
||||
<i class="fa fa-angle-down u-header__nav-link-icon"></i>
|
||||
</a>
|
||||
</li>
|
||||
<!-- End Home -->
|
||||
|
||||
<!-- Pages -->
|
||||
<li class="nav-item hs-has-mega-menu u-header__nav-item"
|
||||
data-event="hover"
|
||||
data-animation-in="fadeInUp"
|
||||
data-animation-out="fadeOut"
|
||||
data-position="right">
|
||||
<a id="PagesMegaMenu" class="nav-link u-header__nav-link" href="javascript:;"
|
||||
aria-haspopup="true"
|
||||
aria-expanded="false">
|
||||
Marque employeur Vidéo
|
||||
<i class="fa fa-angle-down u-header__nav-link-icon"></i>
|
||||
</a>
|
||||
</li>
|
||||
<!-- End Pages -->
|
||||
|
||||
<!-- Works -->
|
||||
<li class="nav-item hs-has-sub-menu u-header__nav-item"
|
||||
data-event="hover"
|
||||
data-animation-in="fadeInUp"
|
||||
data-animation-out="fadeOut">
|
||||
<a id="worksMegaMenu" class="nav-link u-header__nav-link" href="javascript:;"
|
||||
aria-haspopup="true"
|
||||
aria-expanded="false"
|
||||
aria-labelledby="worksSubMenu">
|
||||
Candidatures vidéo
|
||||
<i class="fa fa-angle-down u-header__nav-link-icon"></i>
|
||||
</a>
|
||||
|
||||
|
||||
</li>
|
||||
<!-- End Works -->
|
||||
|
||||
<!-- Blog -->
|
||||
<li class="nav-item hs-has-sub-menu u-header__nav-item"
|
||||
data-event="hover"
|
||||
data-animation-in="fadeInUp"
|
||||
data-animation-out="fadeOut">
|
||||
<a id="blogMegaMenu" class="nav-link u-header__nav-link" href="javascript:;"
|
||||
aria-haspopup="true"
|
||||
aria-expanded="false"
|
||||
aria-labelledby="blogSubMenu">
|
||||
Blog
|
||||
<i class="fa fa-angle-down u-header__nav-link-icon"></i>
|
||||
</a>
|
||||
|
||||
|
||||
</li>
|
||||
<!-- End Blog -->
|
||||
|
||||
|
||||
<!-- Button -->
|
||||
<li class="nav-item u-header__nav-item-btn">
|
||||
<a class="btn btn-sm btn-contact" href="#signupModal" role="button"
|
||||
data-modal-target="#signupModal"
|
||||
data-overlay-color="#151b26">
|
||||
<i class="fa fa-user-circle mr-1"></i>
|
||||
Contactez nous
|
||||
</a>
|
||||
</li>
|
||||
<!-- End Button -->
|
||||
<!-- Button -->
|
||||
<li class="nav-item u-header__nav-item-btn">
|
||||
<a class="btn btn-sm btn-primary" href="#signupModal" role="button"
|
||||
data-modal-target="#signupModal"
|
||||
data-overlay-color="#151b26">
|
||||
<i class="fa fa-user-circle mr-1"></i>
|
||||
Connexion recruteurs
|
||||
</a>
|
||||
</li>
|
||||
<!-- End Button -->
|
||||
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
<!-- End Navigation -->
|
||||
|
||||
<ul class="navbar-nav flex-row u-header__secondary-nav">
|
||||
|
||||
|
||||
<!-- Account Signin -->
|
||||
<li class="nav-item u-header__navbar-icon">
|
||||
<!-- Account Sidebar Toggle Button -->
|
||||
<a id="sidebarNavToggler" class="btn btn-xs btn-icon btn-text-dark" href="javascript:;" role="button"
|
||||
aria-controls="sidebarContent"
|
||||
aria-haspopup="true"
|
||||
aria-expanded="false"
|
||||
data-unfold-event="click"
|
||||
data-unfold-hide-on-scroll="false"
|
||||
data-unfold-target="#sidebarContent"
|
||||
data-unfold-type="css-animation"
|
||||
data-unfold-animation-in="fadeInRight"
|
||||
data-unfold-animation-out="fadeOutRight"
|
||||
data-unfold-duration="500">
|
||||
<i class="fa fa-bars btn-icon__inner font-size-13"></i>
|
||||
</a>
|
||||
<!-- End Account Sidebar Toggle Button -->
|
||||
</li>
|
||||
<!-- End Account Signin -->
|
||||
</ul>
|
||||
</nav>
|
||||
<!-- End Nav -->
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
<!-- ========== END HEADER ========== -->
|
||||
@@ -0,0 +1,240 @@
|
||||
{% extends 'base.html.twig' %}
|
||||
|
||||
{% block title %}Talents Tube : Le 1er job board 100% vidéo{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<div id="wrapper" class="no-padding-top no-padding-bottom">
|
||||
<div class="fluid-container">
|
||||
<div class="row flexcontainer row-noMargin">
|
||||
{# VIDEO #}
|
||||
<div class="col l12 m12 s12 home-content col-noPadding">
|
||||
<div id="homeTeaser" class="valign-wrapper">
|
||||
<h1 class="white-text center-align">1ère plateforme pour l’emploi
|
||||
<span>100% vidéo</span></h1><br/>
|
||||
<div class="link-home-head">
|
||||
<a data-target="modal_concept" href="#!" class="btn btn-default btn-round btn-concept modal-trigger">
|
||||
Le concept en vidéo
|
||||
<img src="{{asset('img/bouton-play.png')}}"/>
|
||||
</a>
|
||||
</div>
|
||||
<div class="header-video-inner">
|
||||
<video loop="" preload="metadata" autoplay="" id="vid" muted="muted">
|
||||
<source src="/img/home_video.mp4" type="video/mp4">
|
||||
</video>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
{# RECHERCHE #}
|
||||
<div class="fluid-container bg-grey-3 homeSearchWrapper">
|
||||
<div id="homeSearch" class="container">
|
||||
{% include 'form/search_form.html.twig' with {
|
||||
'searchform' : searchform
|
||||
} %}
|
||||
</div>
|
||||
</div>
|
||||
{# BLOC OFFRE EMPLOI CARDS #}
|
||||
<div id="liste-jobs" class="fuild-container bg-grey-3 button-plus">
|
||||
<div class="container">
|
||||
<div class="row center-align">
|
||||
<div class="col s12">
|
||||
<h2 class="blue-text no-margin-top">Les offres d'emploi</h2>
|
||||
<h3 class="subtitles-homepage">Postulez en CV vidéo ou vidéo de motivation</h3>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col s12 col-noPadding">
|
||||
<div class="owl-carousel owl-carousel-home">
|
||||
{% if ads | length > 0 %}
|
||||
{% include 'default/ad_card.html.twig' with {
|
||||
'ads' : ads
|
||||
} %}
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row center-align">
|
||||
<div class="col s12">
|
||||
<a href="{{ path('ad_search_result') }}" title="Découvrir toutes les offres d'emploi" class="btn btn-default btn-round btn-all-jobs">Voir les offres
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{# COMPANY #}
|
||||
|
||||
<div id="liste-company" class="bg-white button-plus">
|
||||
<div class="container">
|
||||
<div class="row center-align">
|
||||
<div class="col s12">
|
||||
<h2 class="blue-text no-margin-top">Ils recrutent</h2>
|
||||
<h3 class="subtitles-homepage">Ils méritent votre candidature spontanée, découvrez leur réalité, leur marque employeur.</h3>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col s12 col-noPadding">
|
||||
<div class="owl-carousel owl-carousel-home home-company-carousel">
|
||||
{% if companies | length > 0 %}
|
||||
{% include 'default/company_card.html.twig' with {
|
||||
'companies' : companies
|
||||
} %}
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row center-align">
|
||||
<div class="col s12">
|
||||
<a href="{{ path('company_list') }}" title="Toutes les entreprise" class="btn btn-default btn-round btn-all-talents">Voir les entreprises</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{# TALENTS #}
|
||||
<div id="liste-talents" class="bg-dark2 button-plus">
|
||||
<div class="container">
|
||||
<div class="row center-align">
|
||||
<div class="col s12">
|
||||
<h2 class="blue-text no-margin-top">Les talents à la une</h2>
|
||||
</div>
|
||||
<h3 class="subtitles-homepage">Découvrez leur CV vidéo et vidéo de motivation.</h3>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="owl-carousel owl-carousel-home home-talent-carousel">
|
||||
{% if talents | length > 0 %}
|
||||
{% include 'default/talent_card.html.twig' with {
|
||||
'talents' : talents
|
||||
} %}
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="row center-align">
|
||||
<h2>Rejoignez une communauté de plus de <strong>1000</strong> candidats</h2>
|
||||
<div class="col s12 m-t-50">
|
||||
<a href="#!" title="Créer Mon profil" class="btn btn-default btn-round btn-create-account">Créer mon profil</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{# TERRITOIRE #}
|
||||
<div id="liste-territoires" class="bg-dark1 button-plus">
|
||||
<div class="container">
|
||||
<div class="row center-align">
|
||||
<div class="col s12">
|
||||
<h2 class="blue-text no-margin-top">Les territoires</h2>
|
||||
<h3 class="subtitles-homepage">Venez vivre et travailler chez nous.</h3>
|
||||
{% if territories %}
|
||||
<div class="owl-carousel owl-carousel-home territory-carousel">
|
||||
{% for t in territories if t.presentationVideo and t.isPrivate != true %}
|
||||
<div class="item">
|
||||
{% if t.presentationVideo.thumbnails.0. sizes is defined %}
|
||||
<a href="{{ path('territory_show',{'alias': t.alias }) }}" title="{{ t.brandname }}">
|
||||
<img src="{{ t.presentationVideo.thumbnails.0.sizes.4.link }}" alt="{{ t.brandName }}" class="overlay-hover"/>
|
||||
<span class="playerbtn" style="margin-top: -55px;"></span>
|
||||
</a>
|
||||
{% endif %}
|
||||
{% if t.extra.terType is defined %}
|
||||
<div class="m-t-15 fs-12 text-100">{{ t.extra.terType|upper }}</div>
|
||||
{% endif %}
|
||||
<div class="m-t-5 hover-none">
|
||||
<a href="{{ path('territory_show',{'alias': t.alias }) }}" class="color-white td-none">{{ t.brandName|upper }}</a>
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
<div class="m-t-30">
|
||||
<a title="Voir les territoires" class="btn btn-default" href="{{ path('territory_list') }}">
|
||||
<span>
|
||||
Voir les territoires</span>
|
||||
</a>
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{# BLOC contenu vidéo #}
|
||||
<div class="fluid-container bg-grey-3">
|
||||
<div class="container">
|
||||
<div class="blocs-texte-video">
|
||||
<div class="row center-align">
|
||||
<div class="col s12">
|
||||
<h2 class="blue-text no-margin-top no-margin-bottom">Les conseils de votre
|
||||
<span>talentstubeuse</span></h2>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row flexcontainer row-bloc-video-1 row-noMargin">
|
||||
<div class="col l6 m12 s12 col-noPadding">
|
||||
<a href="#!" data-video="#video2" class="img_content embed-responsive embed-responsive-16by9" style="background:url(/img-cnt/cv_video.jpg);background-size:cover;">
|
||||
<span class="playerbtn"></span>
|
||||
</a>
|
||||
<iframe style="display:block;" class="hide" id="video2" src="https://player.vimeo.com/video/286344340?title=0&byline=0&portrait=0" width="100%" height="344" frameborder="0" webkitallowfullscreen="webkitallowfullscreen" mozallowfullscreen="mozallowfullscreen" allowfullscreen="allowfullscreen"></iframe>
|
||||
</div>
|
||||
<div class="col l6 m12 s12 valign-wrapper">
|
||||
<div class="inside-m valign">
|
||||
<h2 class="no-margin-top">CV vidéo
|
||||
</h2>
|
||||
<p>Devenez acteur de vos talents, montrez qui vous êtes !</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="clearfix"></div>
|
||||
</div>
|
||||
<div class="row flexcontainer row-bloc-video-2 row-noMargin">
|
||||
<div class="col l6 m12 s12 valign-wrapper">
|
||||
<div class="inside-m valign">
|
||||
<h2 class="no-margin-top">
|
||||
Marque Employeur et Offre d'emploi en vidéo
|
||||
</h2>
|
||||
<p>Développez votre Marque Employeur !</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col l6 m12 s12 col-noPadding">
|
||||
<a href="#!" data-video="#video1" class="img_content embed-responsive embed-responsive-16by9" style="background:url(/img-cnt/offre_emploi.jpg);background-size:cover;">
|
||||
<span class="playerbtn"></span>
|
||||
</a>
|
||||
<iframe style="display:block;" class="hide" id="video1" src="https://player.vimeo.com/video/215657499?title=0&byline=0&portrait=0" width="100%" height="344" frameborder="0" webkitallowfullscreen="webkitallowfullscreen" mozallowfullscreen="mozallowfullscreen" allowfullscreen="allowfullscreen"></iframe>
|
||||
</div>
|
||||
<div class="clearfix"></div>
|
||||
</div>
|
||||
<div class="row flexcontainer row-bloc-video-3 row-noMargin">
|
||||
<div class="col l6 m12 s12 col-noPadding">
|
||||
<a href="#!" data-video="#video3" class="img_content embed-responsive embed-responsive-16by9" style="background:url(https://i.vimeocdn.com/video/653721887_1024x573.jpg);background-size:cover;">
|
||||
<span class="playerbtn"></span>
|
||||
</a>
|
||||
<iframe style="display:block;" class="hide" id="video3" src="https://player.vimeo.com/video/232618030" width="100%" height="344" frameborder="0" webkitallowfullscreen="webkitallowfullscreen" mozallowfullscreen="mozallowfullscreen" allowfullscreen="allowfullscreen"></iframe>
|
||||
</div>
|
||||
<div class="col l6 m12 s12 valign-wrapper">
|
||||
<div class="inside-m valign">
|
||||
<h2 class="no-margin-top">
|
||||
Le territoire en vidéo
|
||||
</h2>
|
||||
<p>Développez votre Marque Territoire !</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="clearfix"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% include 'testimony/testimony_list.html.twig' %}
|
||||
</div>
|
||||
<div id="modal_concept" class="modal modal-fixed-footer">
|
||||
<div class="modal-content">
|
||||
<div class="video-container">
|
||||
<iframe id="iframe_concept" src="https://player.vimeo.com/video/215638758?title=0&byline=0&portrait=0" frameborder="0" webkitallowfullscreen="webkitallowfullscreen" mozallowfullscreen="mozallowfullscreen" allowfullscreen="allowfullscreen"></iframe>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<a href="#!" class="modal-action modal-close btn btn-default button-round-small">Fermer</a>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
{% block javascripts %}
|
||||
{{ parent() }}
|
||||
<script src="https://player.vimeo.com/api/player.js"></script>
|
||||
<script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyDYV8IJGtIoWLfXJQQvIuDQ88n2aEuRgpg&libraries=places"></script>
|
||||
{% endblock %}
|
||||
@@ -0,0 +1,20 @@
|
||||
{% 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 %}
|
||||
@@ -0,0 +1,10 @@
|
||||
|
||||
<!-- props_settings.html.twig Parameters used in EdeclicPushAndNotificationClient.js -->
|
||||
<div id="pushParams"
|
||||
data-service-worker-url="{{ app.request.uriForPath('/Edeclic-service-worker.js') | replace({'/app_dev.php': ''}) }}"
|
||||
data-analytics-helper-url="{{ app.request.uriForPath('js/analytics-helper.js') | replace({'/app_dev.php': ''}) }}"
|
||||
data-delete-subscription-url="{{ url('delete-subscription') }}"
|
||||
data-save-subscription-url="{{ url('save-subscription') }}"
|
||||
data-push-public-key="{{ push_public_key }}"
|
||||
>
|
||||
</div>
|
||||
@@ -0,0 +1,9 @@
|
||||
|
||||
<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>
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
{% 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,9 @@
|
||||
{% if is_granted('ROLE_PREVIOUS_ADMIN') %}
|
||||
<div class="fab tooltipped" data-position="left"
|
||||
data-tooltip="Quitter (Connecté en tant que {{ app.user.firstname }} {{ app.user.lastname }})">
|
||||
<a href="{{ path('admin_dashboard', {'_switch_user': '_exit'}) }}"
|
||||
class="btn">
|
||||
<i class="fa fa-sign-out" aria-hidden="true"></i>
|
||||
</a>
|
||||
</div>
|
||||
{% endif %}
|
||||
@@ -0,0 +1,26 @@
|
||||
{% 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 %}
|
||||
@@ -16,7 +16,11 @@
|
||||
<br/>
|
||||
<br/>
|
||||
<div style="text-align:center;">
|
||||
<a class="btn btn-default" href="{{ absolute_url(path('talent_ad_detail',{'alias': answer.ad.alias,'id': answer.id })) }}">Visionner la réponse vidéo</a>
|
||||
{% if answer.ad.alias is null %}
|
||||
<a class="btn btn-default" href="{{ absolute_url(path('talent_ad_detail',{'alias': aliasCompany,'id': answer.id })) }}">Visionner la réponse</a>
|
||||
{% else %}
|
||||
<a class="btn btn-default" href="{{ absolute_url(path('talent_ad_detail',{'alias': answer.ad.alias,'id': answer.id })) }}">Visionner la réponse</a>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% else %}
|
||||
<br />
|
||||
@@ -26,7 +30,11 @@
|
||||
<br/>
|
||||
<br/>
|
||||
<div style="text-align:center;">
|
||||
<a class="btn btn-default" href="{{ absolute_url(path('talent_ad_detail',{'alias': answer.ad.alias,'id': answer.id })) }}">Consulter la réponse</a>
|
||||
{% if answer.ad.alias is null %}
|
||||
<a class="btn btn-default" href="{{ absolute_url(path('talent_ad_detail',{'alias': aliasCompany,'id': answer.id })) }}">Consulter la réponse</a>
|
||||
{% else %}
|
||||
<a class="btn btn-default" href="{{ absolute_url(path('talent_ad_detail',{'alias': answer.ad.alias,'id': answer.id })) }}">Consulter la réponse</a>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endif %}
|
||||
<br>
|
||||
|
||||
@@ -18,11 +18,3 @@
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
{% block javascripts %}
|
||||
<script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyDYV8IJGtIoWLfXJQQvIuDQ88n2aEuRgpg&libraries=places"></script>
|
||||
{% javascripts
|
||||
'@talents'
|
||||
output='assetic/main.dashboard.talent.js' filter='?uglifyjs2' %}
|
||||
<script src="{{ asset_url }}"></script>
|
||||
{% endjavascripts %}
|
||||
{% endblock %}
|
||||
@@ -106,7 +106,7 @@ fos_user:
|
||||
email:
|
||||
template: email/password_resetting.email.twig
|
||||
from_email:
|
||||
address: noreply@talentstube.com
|
||||
address: noreply@talentstube.io
|
||||
sender_name: talentstube.com
|
||||
service:
|
||||
mailer: fos_user.mailer.twig_swift
|
||||
@@ -250,6 +250,7 @@ fos_rest:
|
||||
serialize_null: true
|
||||
format_listener:
|
||||
rules:
|
||||
- { path: '^/api/talent', priorities: ['html'], fallback_format: 'html' }
|
||||
- { path: '^/api/', priorities: ['json'], fallback_format: 'json' }
|
||||
param_fetcher_listener: true
|
||||
exception:
|
||||
@@ -264,6 +265,22 @@ lexik_jwt_authentication:
|
||||
public_key: '%kernel.root_dir%/../app/config/jwt/public.pem' # required for token verification
|
||||
pass_phrase: 'talentstubeforever' # required for token creation, usage of an environment variable is recommended
|
||||
token_ttl: 3600000
|
||||
token_extractors:
|
||||
# look for a token as Authorization Header
|
||||
authorization_header:
|
||||
enabled: true
|
||||
prefix: Bearer
|
||||
name: Authorization
|
||||
|
||||
# check token in a cookie
|
||||
cookie:
|
||||
enabled: false
|
||||
name: BEARER
|
||||
|
||||
# check token in query string parameter
|
||||
query_parameter:
|
||||
enabled: true
|
||||
name: bearer
|
||||
|
||||
nelmio_cors:
|
||||
paths:
|
||||
|
||||
@@ -15,9 +15,9 @@ services:
|
||||
class: AppBundle\Utils\Services\AfterLoginRedirection
|
||||
arguments: ['@router']
|
||||
|
||||
#app.ad_searcher:
|
||||
# class: AppBundle\Utils\Services\AdSearcher
|
||||
# arguments: ['@fos_elastica.finder.ads.adfr']
|
||||
app.ad_searcher:
|
||||
class: AppBundle\Utils\Services\AdSearcher
|
||||
arguments: ['@fos_elastica.finder.ads.adfr']
|
||||
|
||||
app.ad_tags_searcher:
|
||||
class: AppBundle\Utils\Services\AdSearcher
|
||||
|
||||
@@ -10,7 +10,7 @@ use Symfony\Component\Console\Input\InputOption;
|
||||
|
||||
class SendPushCommand extends ContainerAwareCommand
|
||||
{
|
||||
private const defaultEmail = 'thomas.berrod@e-declic.com';
|
||||
private const defaultEmail = 'lognone.gregoire@hotmail.fr';
|
||||
|
||||
|
||||
protected function configure()
|
||||
|
||||
@@ -309,8 +309,8 @@ class AdController extends Controller
|
||||
} else {
|
||||
$session->remove('contratSearch');
|
||||
}
|
||||
//$adSearcher = $this->get('app.ad_searcher');
|
||||
$ads = array();//$adSearcher->process($data);
|
||||
$adSearcher = $this->get('app.ad_searcher');
|
||||
$ads = $adSearcher->process($data);
|
||||
if(empty($ads)){
|
||||
$ads = $this->getPublishedAds($promoted);
|
||||
$noResults = true;
|
||||
|
||||
@@ -5,6 +5,7 @@ namespace AppBundle\Controller\Admin;
|
||||
use AppBundle\Entity\Company;
|
||||
use AppBundle\Entity\Product;
|
||||
use AppBundle\Form\Admin\CompanyAdminType;
|
||||
use AppBundle\Form\Admin\UserCompanyType;
|
||||
use AppBundle\Form\TokenAddType;
|
||||
use Edeclic\PrestashopBridgeBundle\Event\PrestashopBridgeEvents;
|
||||
use Edeclic\PrestashopBridgeBundle\Event\UserEvent;
|
||||
@@ -36,14 +37,26 @@ class CompanyController extends Controller
|
||||
$user = $company->getUsers()->first();
|
||||
$form = $this->createForm(CompanyAdminType::class, $company);
|
||||
$form->handleRequest($request);
|
||||
|
||||
$formUser = $this->createForm(UserCompanyType::class, $user);
|
||||
$formUser->handleRequest($request);
|
||||
|
||||
if ($form->isSubmitted() && $form->isValid()) {
|
||||
$companyManager = $this->get('app.company_manager');
|
||||
$companyManager->updateCompany($company);
|
||||
$event = new UserEvent($user);
|
||||
$this->get('event_dispatcher')->dispatch(PrestashopBridgeEvents::USER_PROFIL_EDIT_SUCCESS, $event);
|
||||
}
|
||||
|
||||
if ($formUser->isSubmitted() && $formUser->isValid()) {
|
||||
$em = $this->getDoctrine()->getManager();
|
||||
$em->persist($user);
|
||||
$em->flush();
|
||||
}
|
||||
|
||||
return $this->render('admin/company_edit.html.twig', array(
|
||||
'form' => $form->createView(),
|
||||
'formUser' => $formUser->createView(),
|
||||
'company' => $company,
|
||||
));
|
||||
}
|
||||
|
||||
@@ -327,9 +327,11 @@ class AnswerController extends Controller
|
||||
if ($answer->getAd() == null) {
|
||||
$type = 'spontaneous';
|
||||
$title = $answer->getCompany()->getBrandName();
|
||||
$aliasCompany = $answer->getCompany()->getAlias();
|
||||
} else {
|
||||
$type = 'answer';
|
||||
$title = $answer->getAd()->getTitle();
|
||||
$aliasCompany = '';
|
||||
}
|
||||
$user = $this->getUser();
|
||||
$form = $this->createForm(ContactTalentType::class);
|
||||
@@ -365,6 +367,7 @@ class AnswerController extends Controller
|
||||
'user' => $answer->getUser(),
|
||||
'video' => $message->getVideo(),
|
||||
'message' => $message,
|
||||
'aliasCompany' => $aliasCompany
|
||||
));
|
||||
|
||||
$plainView = $this->renderView('email/contact_talent_plain.html.twig', array(
|
||||
|
||||
@@ -116,4 +116,21 @@ class AdController extends FOSRestController
|
||||
['Location' => $this->generateUrl('api_ad_show', ['id' => $ad->getId(), UrlGeneratorInterface::ABSOLUTE_URL])]
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Rest\Get("/api/adAjaxRecStat/{id}", name="adAjaxRecStat")
|
||||
* @Rest\View(statusCode=200)
|
||||
*/
|
||||
public function adAjaxRecStatAction(Ad $ad)
|
||||
{
|
||||
$history = $this->get('edeclic.history.record');
|
||||
if ($this->getUser()) {
|
||||
$idUser = $this->getUser()->getId();
|
||||
$history->recordIt($idUser, "r", get_class($ad), $ad->getId(), serialize($ad));
|
||||
} else {
|
||||
$history->recordIt("Anonymous", "r", get_class($ad), $ad->getId(), serialize($ad));
|
||||
}
|
||||
|
||||
return new JsonResponse(array('code' => "ok"));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,6 +22,7 @@ use Symfony\Component\Routing\Generator\UrlGeneratorInterface;
|
||||
use JMS\Serializer\SerializationContext;
|
||||
use AppBundle\Exception\ResourceValidationException;
|
||||
use AppBundle\Exception\UnknownUserException;
|
||||
use \DateTime;
|
||||
|
||||
class AnswerController extends FOSRestController
|
||||
{
|
||||
@@ -33,7 +34,7 @@ class AnswerController extends FOSRestController
|
||||
public function showAction(Answer $answer)
|
||||
{
|
||||
$usr = $this->getUser();
|
||||
$userAnswer = $this->getDoctrine()->getRepository('AppBundle:Answer')->findOneBy(array('user' => $usr, 'id' => $answer->getId()));
|
||||
$userAnswer = $this->getDoctrine()->getRepository('AppBundle:Answer')->findOneByWithCorrespondences($usr, $answer->getId());
|
||||
if ($userAnswer) {
|
||||
$data = $this->get('jms_serializer')->serialize($answer, 'json', SerializationContext::create()->setGroups(array('answer_detail')));
|
||||
return new JsonResponse($data, 200, [], true);
|
||||
@@ -136,21 +137,21 @@ class AnswerController extends FOSRestController
|
||||
$ad = $em->getRepository('AppBundle:Ad')->find($adId);
|
||||
$answer->setAd($ad);
|
||||
}
|
||||
|
||||
$answer->setVideo($video)
|
||||
->setCompany($company);
|
||||
$answer ->setVideo($video)
|
||||
->setCompany($company)
|
||||
->setSendTime(new \DateTime());
|
||||
|
||||
$em->persist($answer);
|
||||
$em->flush();
|
||||
|
||||
$userCompany = $company->getUsers();
|
||||
|
||||
$message = new Message('Candidature', 'Video', $usr, $userCompany{
|
||||
/*$message = new Message('Candidature', 'Video', $usr, $userCompany{
|
||||
0}, 'CONTACT_TALENT', $answer);
|
||||
$message->setVideo($video);
|
||||
$em->persist($message);
|
||||
$em->flush();
|
||||
$status = array('status' => "success", "idAnswer" => $answer->getId(), "idMessage" => $message->getId());
|
||||
$em->flush();*/
|
||||
$status = array('status' => "success", "idAnswer" => $answer->getId()/*, "idMessage" => $message->getId()*/);
|
||||
}
|
||||
} else {
|
||||
$message = 'Vous n\'êtes pas connecté en tant qu\'utilisateur.';
|
||||
@@ -225,7 +226,7 @@ class AnswerController extends FOSRestController
|
||||
throw new ResourceValidationException($message, $status);
|
||||
}
|
||||
|
||||
if (!isset($messageText)) {
|
||||
if (empty($messageText)) {
|
||||
$message = 'Le message est vide.';
|
||||
$status = 'failure';
|
||||
throw new ResourceValidationException($message, $status);
|
||||
@@ -234,7 +235,7 @@ class AnswerController extends FOSRestController
|
||||
$answerReceipiant = $existAnswer->getAd() !== null ? $existAnswer->getAd()->getCreator()
|
||||
: $existAnswer->getCompany()->getUsers(){ 0 };
|
||||
|
||||
$message = new message('Chat', $messageText, $this->getUser(), $answerReceipiant, 'CHAT', $existAnswer);
|
||||
$message = new message('Chat', $messageText, $this->getUser(), $answerReceipiant, 'Message du talent', $existAnswer);
|
||||
$em->persist($message);
|
||||
$em->flush();
|
||||
|
||||
@@ -248,6 +249,7 @@ class AnswerController extends FOSRestController
|
||||
*/
|
||||
public function fetchMessageAction(Answer $answer)
|
||||
{
|
||||
$em = $this->getDoctrine()->getManager();
|
||||
$usr = $this->get('security.token_storage')->getToken()->getUser();
|
||||
|
||||
if ($answer->getUser()->getId() !== $usr->getId()) {
|
||||
@@ -256,7 +258,7 @@ class AnswerController extends FOSRestController
|
||||
throw new ResourceValidationException($message, $status);
|
||||
}
|
||||
|
||||
$messages = $answer->getMessages();
|
||||
$messages = $em->getRepository('AppBundle:Message')->searchCorrespondences($answer);
|
||||
//
|
||||
$status = array('status' => "success", "messages" => $messages);
|
||||
//
|
||||
|
||||
@@ -16,6 +16,7 @@ use Symfony\Component\HttpFoundation\Response;
|
||||
use Symfony\Component\Routing\Generator\UrlGeneratorInterface;
|
||||
use JMS\Serializer\SerializationContext;
|
||||
use Symfony\Component\HttpFoundation\JsonResponse;
|
||||
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
|
||||
|
||||
class CompanyController extends FOSRestController
|
||||
{
|
||||
@@ -93,4 +94,23 @@ class CompanyController extends FOSRestController
|
||||
Response::HTTP_CREATED,
|
||||
['Location' => $this->generateUrl('api_company_show', ['id' => $company->getId(), UrlGeneratorInterface::ABSOLUTE_URL])]);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @Rest\Get(path="/api/companyAjaxRecStat/{id}", name="companyAjaxRecStat", requirements={"id"="\d+"})
|
||||
* @Rest\View(statusCode=200)
|
||||
*/
|
||||
public function companyAjaxRecStatAction(Company $company)
|
||||
{
|
||||
$history = $this->get('edeclic.history.record');
|
||||
if ($this->getUser() && $this->getUser()->getCompany() != null) {
|
||||
if ($this->getUser()->getCompany()->getId() !== $company->getId()) {
|
||||
$history->recordIt($this->getUser()->getId(), "r", get_class($company), $company->getId(), serialize($company));
|
||||
}
|
||||
} else {
|
||||
$history->recordIt("Anonymous", "r", 'AppBundle\Entity\Company', $company->getId(), serialize($company));
|
||||
}
|
||||
|
||||
return new JsonResponse(array('code' => "ok"));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,59 @@
|
||||
<?php
|
||||
|
||||
namespace AppBundle\Controller\Api;
|
||||
|
||||
use AppBundle\Entity\User;
|
||||
use FOS\RestBundle\Controller\Annotations as Rest;
|
||||
use FOS\RestBundle\Controller\Annotations\Get;
|
||||
use FOS\RestBundle\Controller\Annotations\Post;
|
||||
use FOS\RestBundle\Controller\Annotations\View;
|
||||
use FOS\RestBundle\Controller\FOSRestController;
|
||||
use FOS\RestBundle\Request\ParamFetcherInterface;
|
||||
use Sensio\Bundle\FrameworkExtraBundle\Configuration\ParamConverter;
|
||||
use Symfony\Component\HttpFoundation\Response;
|
||||
use Symfony\Component\Routing\Generator\UrlGeneratorInterface;
|
||||
use JMS\Serializer\SerializationContext;
|
||||
use Symfony\Component\HttpFoundation\JsonResponse;
|
||||
use Symfony\Component\HttpKernel\Exception\BadRequestHttpException;
|
||||
use Symfony\Component\HttpFoundation\Request;
|
||||
|
||||
class PushController extends FOSRestController
|
||||
{
|
||||
/**
|
||||
* @Rest\Get("/api/userSubscriptionToPush", name="getUserSubscriptionToPush")
|
||||
* @Rest\View(statusCode=200)
|
||||
*/
|
||||
public function getUserSubscriptionToPush()
|
||||
{
|
||||
$user = $this->getUser();
|
||||
$managerPush = $this->get('app.user_subscription_manager');
|
||||
$isUserSubscribed = ($managerPush->findByUser($user))? true : false;
|
||||
|
||||
return new JsonResponse(array('isUserSubscribed' => $isUserSubscribed));
|
||||
}
|
||||
|
||||
/**
|
||||
* @Rest\Post("/api/userSubscriptionToPush", name="postUserSubscriptionToPush")
|
||||
* @Rest\View(statusCode=200)
|
||||
*/
|
||||
public function saveSubscription(Request $request)
|
||||
{
|
||||
$user = $this->getUser();
|
||||
$subscription = json_decode($request->getContent(), true);
|
||||
|
||||
if (JSON_ERROR_NONE !== json_last_error()) {
|
||||
throw new BadRequestHttpException(json_last_error_msg());
|
||||
}
|
||||
if (!isset($subscription['endpoint'])) {
|
||||
throw new BadRequestHttpException('Invalid subscription object.');
|
||||
}
|
||||
|
||||
$manager = $this->container->get("app.user_subscription_manager");
|
||||
$subscriptionHash = $manager->hash($subscription['endpoint']);
|
||||
$userSubscription = $manager->getUserSubscription($user, $subscriptionHash)
|
||||
or $userSubscription = $manager->factory($user, $subscriptionHash, $subscription);
|
||||
$manager->save($userSubscription);
|
||||
|
||||
return new JsonResponse(array('success' => true),200);
|
||||
}
|
||||
}
|
||||
@@ -15,6 +15,14 @@ use FOS\UserBundle\Model\UserInterface;
|
||||
use AppBundle\Entity\Company;
|
||||
use AppBundle\Exception\ResourceValidationException;
|
||||
use Symfony\Component\Security\Core\Authentication\Token\UsernamePasswordToken;
|
||||
use AppBundle\Form\ContactTalentType;
|
||||
use AppBundle\Form\MediaType;
|
||||
use AppBundle\Form\TalentProfileType;
|
||||
use AppBundle\Form\TalentType;
|
||||
use AppBundle\Form\CareersType;
|
||||
use AppBundle\Form\FormationsType;
|
||||
use AppBundle\Form\LanguagesType;
|
||||
use Symfony\Component\Security\Http\Event\InteractiveLoginEvent;
|
||||
|
||||
class SecurityController extends FOSRestController
|
||||
{
|
||||
@@ -107,24 +115,58 @@ class SecurityController extends FOSRestController
|
||||
*/
|
||||
public function UpdateUser(Request $request)
|
||||
{
|
||||
$userManager = $this->get('fos_user.user_manager');
|
||||
$companyManager = $this->get('app.company_manager');
|
||||
$usr = $this->getUser();
|
||||
$talent = $usr->getCompany();
|
||||
if ($usr !== null){
|
||||
$newLastName = htmlspecialchars($request->request->get('lastname'));
|
||||
$newFirstName = htmlspecialchars($request->request->get('firstname'));
|
||||
$newLastName = htmlspecialchars($request->get('lastname'));
|
||||
$newFirstName = htmlspecialchars($request->get('firstname'));
|
||||
$phoneTalent = htmlspecialchars($request->get('phone'));
|
||||
$titleTalent = htmlspecialchars($request->get('currentJob'));
|
||||
$newLinkedin = htmlspecialchars($request->get('linkedin'));
|
||||
$newTwitter = htmlspecialchars($request->get('twitter'));
|
||||
$newWebsite = htmlspecialchars($request->get('website'));
|
||||
|
||||
if (!isset($newLastName) || !isset($newFirstName) || $newLastName == null || $newFirstName == null){
|
||||
$message = 'Vous devez rentrer votre nom et votre prénom pour continuer';
|
||||
throw new ResourceValidationException($message,'');
|
||||
} else {
|
||||
$file = $request->files->get('file');
|
||||
|
||||
$usr->setLastName($newLastName);
|
||||
$usr->setFirstName($newFirstName);
|
||||
|
||||
$talent->setWebsite($newWebsite);
|
||||
$talent->setLinkedin($newLinkedin);
|
||||
$talent->setTwitter($newTwitter);
|
||||
$talent->setTitleTalent($titleTalent);
|
||||
$talent->setPhoneTalent($phoneTalent);
|
||||
$companyManager->updateTalent($usr);
|
||||
|
||||
$status = array('status' => "success");
|
||||
}
|
||||
} else {
|
||||
$status = array('status' => "failure", 'message' => "Vous n'êtes pas connecté.");
|
||||
}
|
||||
return new JsonResponse($status);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Rest\post(path="/api/update_profile_picture", name="api_update_profile_picture")
|
||||
* @Rest\View
|
||||
*/
|
||||
public function UpdateProfilPicture(Request $request)
|
||||
{
|
||||
$userManager = $this->get('fos_user.user_manager');
|
||||
$usr = $this->getUser();
|
||||
if ($usr !== null){
|
||||
|
||||
$file = $request->files->get('file');
|
||||
$usr->setFile($file);
|
||||
$usr->upload();
|
||||
|
||||
$userManager->updateUser($usr);
|
||||
$status = array('status' => "success", 'file' => $usr->getFile(), 'id' => $usr->getId());
|
||||
}
|
||||
$status = array('status' => "success", 'file' => $usr->getPhoto());
|
||||
|
||||
} else {
|
||||
$status = array('status' => "failure", 'message' => "Vous n'êtes pas connecté.");
|
||||
}
|
||||
@@ -520,4 +562,25 @@ class SecurityController extends FOSRestController
|
||||
$data = json_decode($response);
|
||||
return $data;
|
||||
}
|
||||
|
||||
/**
|
||||
* @Rest\Get(path="/api/talent", name="api_talent")
|
||||
* @Rest\View
|
||||
*/
|
||||
public function goToMonCompte(Request $request)
|
||||
{
|
||||
$user = $this->getUser();
|
||||
$token = new UsernamePasswordToken($user, null, 'main', $user->getRoles());
|
||||
$this->get('security.token_storage')->setToken($token);
|
||||
|
||||
$this->get('session')->set('_security_main', serialize($token));
|
||||
|
||||
$event = new InteractiveLoginEvent($request, $token);
|
||||
$this->get("event_dispatcher")->dispatch("security.interactive_login", $event);
|
||||
|
||||
$view = $this->redirectView($this->generateUrl('talent_dashboard'), 301);
|
||||
|
||||
return $this->handleView($view);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -187,7 +187,13 @@ class CompanyController extends Controller
|
||||
$history->recordIt("Anonymous", "r", 'AppBundle\Entity\Company', $company->getId(), serialize($company));
|
||||
}
|
||||
|
||||
return new JsonResponse(array('code' => "ok"));
|
||||
|
||||
if(!$this->getUser() == null){
|
||||
return new JsonResponse(array('code' => "ok", "user" => $this->getUser()->getUsername()));
|
||||
} else{
|
||||
return new JsonResponse(array('code' => "ok"));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/***********************
|
||||
|
||||
@@ -17,7 +17,7 @@ class DefaultController extends Controller
|
||||
$ads = $em->getRepository('AppBundle:Ad')->findBy(array("status" => "PUBLISHED", "isPromoted" => false), array('id' => 'DESC'));
|
||||
}
|
||||
$talents = $em->getRepository('AppBundle:Company')->findBy(array("type" => "TALENT", "emphasis" => true), array('emphasisOrder' => 'DESC'));
|
||||
$companies = $em->getRepository('AppBundle:Company')->findBy(array("type" => "COMPANY", "emphasis" => true), array('emphasisOrder' => 'ASC'));
|
||||
$companies = $em->getRepository('AppBundle:Company')->findBy(array("type" => "COMPANY", "emphasis" => true), array('emphasisOrder' => 'DESC'));
|
||||
$territories = $em->getRepository('AppBundle:Company')->findBy(array("type" => "TERRITORY", "emphasis" => true), array('emphasisOrder' => 'ASC'));
|
||||
|
||||
$arrayTalents = array();
|
||||
@@ -60,6 +60,60 @@ class DefaultController extends Controller
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/indexv2", name="homepagev2")
|
||||
*/
|
||||
public function homepagev2Action()
|
||||
{
|
||||
$em = $this->getDoctrine()->getManager();
|
||||
$ads = $em->getRepository('AppBundle:Ad')->findBy(array("status" => "PUBLISHED", "emphasis" => true, "isPromoted" => false), array('emphasisOrder' => 'DESC'));
|
||||
if (!$ads) {
|
||||
$ads = $em->getRepository('AppBundle:Ad')->findBy(array("status" => "PUBLISHED", "isPromoted" => false), array('id' => 'DESC'));
|
||||
}
|
||||
$talents = $em->getRepository('AppBundle:Company')->findBy(array("type" => "TALENT", "emphasis" => true), array('emphasisOrder' => 'DESC'));
|
||||
$companies = $em->getRepository('AppBundle:Company')->findBy(array("type" => "COMPANY", "emphasis" => true), array('emphasisOrder' => 'DESC'));
|
||||
$territories = $em->getRepository('AppBundle:Company')->findBy(array("type" => "TERRITORY", "emphasis" => true), array('emphasisOrder' => 'ASC'));
|
||||
|
||||
$arrayTalents = array();
|
||||
foreach ($talents as $talent) {
|
||||
if ($talent->getPresentationVideo()) {
|
||||
$arrayTalents[] = $talent;
|
||||
}
|
||||
}
|
||||
|
||||
$arrayCompany = array();
|
||||
foreach ($companies as $company) {
|
||||
if ($company->getPresentationVideo()) {
|
||||
$arrayCompany[] = $company;
|
||||
}
|
||||
}
|
||||
|
||||
$mediaManager = $this->get('media_manager');
|
||||
foreach ($ads as $ad) {
|
||||
$mediaManager->getThumbnails($ad);
|
||||
}
|
||||
|
||||
foreach ($companies as $company) {
|
||||
$mediaManager->getThumbnails($company);
|
||||
}
|
||||
|
||||
foreach ($territories as $t) {
|
||||
$mediaManager->getThumbnails($t);
|
||||
}
|
||||
|
||||
$form = $this->createForm(AdSearchType::class);
|
||||
|
||||
return $this->render(
|
||||
'defaultv2/accueil/index.html.twig', [
|
||||
'ads' => $ads,
|
||||
'companies' => $arrayCompany,
|
||||
'talents' => $arrayTalents,
|
||||
'territories' => $territories,
|
||||
'searchform' => $form->createView(),
|
||||
]
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/redirect_dashboard", name="redirect_dashboard")
|
||||
*/
|
||||
|
||||
@@ -49,6 +49,7 @@ class PushController extends Controller
|
||||
|
||||
return new JsonResponse(array('success' => true),200);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/push/delete-subscription/", name="delete-subscription")
|
||||
*/
|
||||
|
||||
@@ -160,7 +160,7 @@ class Ad
|
||||
*
|
||||
* @ORM\Column(name="public_tag", type="json_document", nullable=true, options={"jsonb":true})
|
||||
*
|
||||
*
|
||||
* @Groups({"ad_detail", "answer_detail"})
|
||||
*/
|
||||
private $publicTag;
|
||||
|
||||
@@ -249,11 +249,14 @@ class Ad
|
||||
|
||||
/**
|
||||
* @ORM\OneToMany(targetEntity="AppBundle\Entity\TerritoryAd", mappedBy="ad", cascade={"persist", "remove"})
|
||||
*
|
||||
* @Groups({"ad_detail" , "answer_detail"})
|
||||
*/
|
||||
private $territories;
|
||||
|
||||
/**
|
||||
* @ORM\OneToMany(targetEntity="AppBundle\Entity\BookmarkAd", mappedBy="ad", cascade={"persist", "remove"})
|
||||
*
|
||||
*/
|
||||
private $bookmarkAds;
|
||||
|
||||
|
||||
@@ -177,7 +177,7 @@ class Answer
|
||||
$criteria = Criteria::create()
|
||||
->where(Criteria::expr()->neq('status', "DRAFT"));
|
||||
|
||||
return $this->messages->matching($criteria)->last();
|
||||
return $this->messages->matching($criteria)->first();
|
||||
}
|
||||
|
||||
public function getIsViewed(){
|
||||
|
||||
@@ -38,7 +38,7 @@ class BookmarkAd
|
||||
private $bookmark;
|
||||
|
||||
/**
|
||||
* @ORM\ManyToOne(targetEntity="AppBundle\Entity\Ad")
|
||||
* @ORM\ManyToOne(targetEntity="AppBundle\Entity\Ad" , inversedBy="bookmarkAds")
|
||||
*/
|
||||
private $ad;
|
||||
|
||||
|
||||
@@ -203,7 +203,14 @@ class Company
|
||||
* @Groups({"ad_list", "company_list", "company_detail"})
|
||||
*/
|
||||
private $countAds;
|
||||
|
||||
|
||||
/**
|
||||
* @var string $test
|
||||
* @ORM\Column(name="test", type="string", nullable=true)
|
||||
*/
|
||||
private $test;
|
||||
|
||||
/***********************
|
||||
* Constructor
|
||||
***********************/
|
||||
@@ -213,6 +220,9 @@ class Company
|
||||
$this->products = new \Doctrine\Common\Collections\ArrayCollection();
|
||||
$this->users = new \Doctrine\Common\Collections\ArrayCollection();
|
||||
$this->ads = new \Doctrine\Common\Collections\ArrayCollection();
|
||||
//$this->territories = new \Doctrine\Common\Collections\ArrayCollection();
|
||||
// $this->children = new \Doctrine\Common\Collections\ArrayCollection();
|
||||
// $this->parent = new \Doctrine\Common\Collections\ArrayCollection();
|
||||
$this->emphasis = false;
|
||||
}
|
||||
|
||||
@@ -351,7 +361,7 @@ class Company
|
||||
if (empty($this->publicTag))
|
||||
$empty++;
|
||||
|
||||
if ($this->presentation_video === null)
|
||||
if ($this->presentationVideo == null)
|
||||
$empty++;
|
||||
|
||||
if (is_array($this->ad) && empty($this->ad))
|
||||
@@ -929,4 +939,28 @@ class Company
|
||||
{
|
||||
return count($this->getPublishedAds());
|
||||
}
|
||||
|
||||
/**
|
||||
* Get $test
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function getTest()
|
||||
{
|
||||
return $this->test;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set $test
|
||||
*
|
||||
* @param string $test $test
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
public function setTest(string $test)
|
||||
{
|
||||
$this->test = $test;
|
||||
|
||||
return $this;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -24,26 +24,28 @@ class TerritoryAd
|
||||
* @ORM\Column(name="id", type="integer")
|
||||
* @ORM\Id
|
||||
* @ORM\GeneratedValue(strategy="AUTO")
|
||||
* @Groups({"company_detail"})
|
||||
* @Groups({"ad_detail" , "company_detail"})
|
||||
*/
|
||||
private $id;
|
||||
|
||||
/**
|
||||
* @ORM\ManyToOne(targetEntity="AppBundle\Entity\Company", inversedBy="territoryAds")
|
||||
* @ORM\JoinColumn(nullable=false)
|
||||
* @Groups({"company_detail"})
|
||||
* @Groups({"ad_detail" , "company_detail"})
|
||||
*/
|
||||
private $territory;
|
||||
|
||||
/**
|
||||
* @ORM\ManyToOne(targetEntity="AppBundle\Entity\Ad", inversedBy="territories")
|
||||
* @ORM\JoinColumn(nullable=true)
|
||||
* @Groups({"ad_detail" , "company_detail"})
|
||||
*/
|
||||
private $ad;
|
||||
|
||||
/**
|
||||
* @ORM\ManyToOne(targetEntity="AppBundle\Entity\Company", inversedBy="territoryAds")
|
||||
* @ORM\ManyToOne(targetEntity="AppBundle\Entity\Company", inversedBy="territories")
|
||||
* @ORM\JoinColumn(nullable=true)
|
||||
* @Groups({"ad_detail" , "company_detail"})
|
||||
*/
|
||||
private $company;
|
||||
|
||||
|
||||
@@ -229,6 +229,7 @@ class User extends BaseUser
|
||||
$name = md5(uniqid()) . '.' . $this->file->guessExtension();
|
||||
$this->file->move($this->getUploadRootDir(), $name);
|
||||
$this->photo = $name;
|
||||
|
||||
}
|
||||
|
||||
public function getUploadDir()
|
||||
@@ -373,7 +374,12 @@ class User extends BaseUser
|
||||
"lastname" => $this->getLastname(),
|
||||
"email" => $this->getEmail(),
|
||||
"picture" => $this->getPhoto(),
|
||||
"socialPicture" => $this->getSocialPicture()
|
||||
"socialPicture" => $this->getSocialPicture(),
|
||||
"phone" => $this->getCompany()->getExtra()["phoneTalent"],
|
||||
"linkedin" => $this->getCompany()->getExtra()["linkedin"],
|
||||
"twitter" => $this->getCompany()->getExtra()["twitter"],
|
||||
"currentJob" => $this->getCompany()->getExtra()["titleTalent"],
|
||||
"website" => $this->getCompany()->getWebsite(),
|
||||
);
|
||||
return $card;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
<?php
|
||||
|
||||
namespace AppBundle\Form\Admin;
|
||||
|
||||
use AppBundle\Entity\User;
|
||||
use Symfony\Component\Form\AbstractType;
|
||||
use Symfony\Component\Form\Extension\Core\Type\CheckboxType;
|
||||
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
|
||||
use Symfony\Component\Form\FormBuilderInterface;
|
||||
use Symfony\Component\OptionsResolver\OptionsResolver;
|
||||
|
||||
class UserCompanyType extends AbstractType
|
||||
{
|
||||
public function buildForm(FormBuilderInterface $builder, array $options)
|
||||
{
|
||||
$builder->add('email', null, array('required' => true, 'label' => 'Email'));
|
||||
}
|
||||
|
||||
public function configureOptions(OptionsResolver $resolver)
|
||||
{
|
||||
$resolver->setDefaults(array(
|
||||
'data_class' => User::class,
|
||||
));
|
||||
}
|
||||
}
|
||||
@@ -16,7 +16,7 @@ use Symfony\Component\Form\AbstractType;
|
||||
use Symfony\Component\Form\FormBuilderInterface;
|
||||
|
||||
|
||||
use Symfony\Component\Form\Extension\Core\Type\DateType;
|
||||
use Symfony\Component\Form\Extension\Core\Type\DateTimeType;
|
||||
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
|
||||
use Symfony\Component\OptionsResolver\OptionsResolver;
|
||||
|
||||
@@ -33,13 +33,13 @@ class UserType extends AbstractType
|
||||
'label' => 'Nom',
|
||||
'required' => true,
|
||||
))
|
||||
->add('birthday', DateType::class, array(
|
||||
/*->add('birthday', DateTimeType::class, array(
|
||||
'widget' => 'single_text',
|
||||
'label' => 'Date de naissance',
|
||||
'attr' => array(
|
||||
'class' => 'calendar'
|
||||
)
|
||||
))
|
||||
))*/
|
||||
->add('gender', ChoiceType::class, array(
|
||||
'expanded' => true,
|
||||
'multiple' => false,
|
||||
|
||||
@@ -25,6 +25,27 @@ class AnswerRepository extends AbstractRepository
|
||||
return $this->paginate($qb, $limit, $offset);
|
||||
}
|
||||
|
||||
// Query to find messages excluding Draft message and talent video for chat
|
||||
public function findOneByWithCorrespondences($user, $answerId)
|
||||
{
|
||||
$qb = $this
|
||||
->createQueryBuilder('a')
|
||||
->select(['a','m','ad'])
|
||||
->where('a.user = :user')
|
||||
->andWhere('a.id = :id')
|
||||
->setParameter('user', $user)
|
||||
->setParameter('id', $answerId)
|
||||
->leftJoin('a.messages', 'm','WITH', 'm.status NOT IN(\'DRAFT\',\'CONTACT_TALENT\')')
|
||||
// ->setParameter(':status', array('DRAFT','CONTACT_TALENT'))
|
||||
->leftJoin('a.ad', 'ad')
|
||||
->leftJoin('a.company', 'company')
|
||||
|
||||
;
|
||||
return $qb
|
||||
->getQuery()
|
||||
->getResult();
|
||||
}
|
||||
|
||||
public function getAnswerByCompany($id)
|
||||
{
|
||||
$qb = $this
|
||||
|
||||
@@ -10,4 +10,21 @@ namespace AppBundle\Repository;
|
||||
*/
|
||||
class MessageRepository extends \Doctrine\ORM\EntityRepository
|
||||
{
|
||||
public function searchCorrespondences($answer)
|
||||
{
|
||||
$qb = $this
|
||||
->createQueryBuilder('m')
|
||||
->select('m')
|
||||
->where('m.answer = :answer')
|
||||
->setParameter('answer', $answer)
|
||||
->andWhere('m.status <> :status')
|
||||
->setParameter(':status', 'DRAFT')
|
||||
|
||||
;
|
||||
return $qb
|
||||
->getQuery()
|
||||
->getResult();
|
||||
}
|
||||
}
|
||||
|
||||
// add status = SENDED;
|
||||
@@ -67,18 +67,18 @@ class UserSubscriptionRepository extends \Doctrine\ORM\EntityRepository
|
||||
) AS decimal) / 15) * 100 ) >= :percent')
|
||||
->setParameters(array('percent' => $completenessPercentage));
|
||||
|
||||
dump($qb->getQuery()->getSql());
|
||||
//dump($qb->getQuery()->getSql());
|
||||
|
||||
$result = $qb->getQuery()->getResult();
|
||||
|
||||
dump($result);
|
||||
//dump($result);
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
public function findByTagMatching($tags)
|
||||
{
|
||||
dump($tags);
|
||||
//dump($tags);
|
||||
$config = $this->_em->getConfiguration();
|
||||
$config->addCustomNumericFunction('CAST', 'AppBundle\Repository\Query\CastAs');
|
||||
|
||||
@@ -96,11 +96,11 @@ class UserSubscriptionRepository extends \Doctrine\ORM\EntityRepository
|
||||
}
|
||||
}
|
||||
|
||||
dump($qb->getQuery()->getSql());
|
||||
//dump($qb->getQuery()->getSql());
|
||||
|
||||
$result = $qb->getQuery()->getResult();
|
||||
|
||||
dump($result);
|
||||
//dump($result);
|
||||
return $result;
|
||||
}
|
||||
|
||||
|
||||
@@ -106,6 +106,7 @@ class RegistrationListener implements EventSubscriberInterface
|
||||
$company->setType("TALENT");
|
||||
} elseif ($user->hasRole('ROLE_COMPANY')) {
|
||||
$company->setType("COMPANY");
|
||||
$company->setIsPrivate(true);
|
||||
} elseif ($user->hasRole('ROLE_TERRITORY')) {
|
||||
$company->setType("TERRITORY");
|
||||
} else {
|
||||
|
||||
@@ -91,6 +91,7 @@ class CompanyManager
|
||||
'titleTalent' => $talent->getTitleTalent(),
|
||||
'situationTalent' => $talent->getSituationTalent(),
|
||||
'descriptionTalent' => $talent->getDescriptionTalent(),
|
||||
'phoneTalent' => $talent->getPhoneTalent(),
|
||||
);
|
||||
$talent->setExtra($extra);
|
||||
|
||||
|
||||
@@ -105,9 +105,9 @@ class NotificationSender implements ContainerAwareInterface
|
||||
$user = $this->userManager->findUserBy(array('email' => $email));
|
||||
$output->writeln('$user : ' . $user->getFirstname());
|
||||
|
||||
$users = $this->subscriptionManager->getAll();
|
||||
$subscriptions = $this->subscriptionManager->findByEmails(array($email));
|
||||
|
||||
foreach ($users as $subscription) {
|
||||
foreach ($subscriptions as $subscription) {
|
||||
$this->sendNotification($output, $subscription);
|
||||
}
|
||||
|
||||
@@ -142,6 +142,8 @@ class NotificationSender implements ContainerAwareInterface
|
||||
|
||||
private function sendNotification(OutputInterface $output, $subscription)
|
||||
{
|
||||
$output->writeln(' ====== subscription ======');
|
||||
$output->writeln($subscription->getEndpoint());
|
||||
!$output->isVerbose()?:$output->writeln('send to user ---> ' . $subscription->getEndpoint());
|
||||
|
||||
$this->sender->sendNotification(
|
||||
|
||||
@@ -12,7 +12,7 @@ trait ExtraJsonTrait
|
||||
*
|
||||
* @ORM\Column(name="extra", type="json_document", nullable=true)
|
||||
*
|
||||
* @Groups({"company_detail", "company_list"})
|
||||
* @Groups({"ad_detail" , "company_detail", "company_list"})
|
||||
*/
|
||||
private $extra;
|
||||
|
||||
@@ -24,6 +24,7 @@ trait ExtraJsonTrait
|
||||
private $size;
|
||||
private $siren;
|
||||
|
||||
private $phoneTalent;
|
||||
private $titleTalent;
|
||||
private $situationTalent;
|
||||
private $descriptionTalent;
|
||||
@@ -41,6 +42,7 @@ trait ExtraJsonTrait
|
||||
isset($extra['linkedin']) ? $this->linkedin = $extra['linkedin'] : null;
|
||||
isset($extra['size']) ? $this->size = $extra['size'] : null;
|
||||
isset($extra['siren']) ? $this->siren = $extra['siren'] : null;
|
||||
isset($extra['phoneTalent']) ? $this->phoneTalent = $extra['phoneTalent'] : null;
|
||||
isset($extra['titleTalent']) ? $this->titleTalent = $extra['titleTalent'] : null;
|
||||
isset($extra['situationTalent']) ? $this->situationTalent = $extra['situationTalent'] : null;
|
||||
isset($extra['descriptionTalent']) ? $this->descriptionTalent = $extra['descriptionTalent'] : null;
|
||||
@@ -115,6 +117,18 @@ trait ExtraJsonTrait
|
||||
return $this->siren;
|
||||
}
|
||||
|
||||
public function setPhoneTalent($phoneTalent)
|
||||
{
|
||||
$this->phoneTalent = $phoneTalent;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getPhoneTalent()
|
||||
{
|
||||
return $this->phoneTalent;
|
||||
}
|
||||
|
||||
public function setTitleTalent($titleTalent)
|
||||
{
|
||||
$this->titleTalent = $titleTalent;
|
||||
|
||||
@@ -2912,3 +2912,5 @@ a.link-white-underline {
|
||||
|
||||
/*Modules
|
||||
---------------------------------------------------*/
|
||||
|
||||
/*# sourceMappingURL=admin.css.map */
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
<title>Step_arrow</title>
|
||||
<desc>Created with Sketch.</desc>
|
||||
<defs></defs>
|
||||
<g id="Interactions" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" stroke-linecap="square">
|
||||
<g id="Réponse-offre-d'emploi-:-module_camera" transform="translate(-179.000000, -491.000000)" stroke="#E3E3E3">
|
||||
<g id="Interactions" stroke="none" stroke-width="3" fill="none" fill-rule="evenodd" stroke-linecap="square">
|
||||
<g id="Réponse-offre-d'emploi-:-module_camera" transform="translate(-179.000000, -491.000000)" stroke="#D7D7D7">
|
||||
<g id="Réponse-offre" transform="translate(80.000000, 176.000000)">
|
||||
<g id="001-camera" transform="translate(30.200000, 21.700000)">
|
||||
<g id="Group-4">
|
||||
|
||||
|
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
@@ -1,9 +1,7 @@
|
||||
{
|
||||
"parameters": {
|
||||
"pushType": "tags",
|
||||
"keywords": "surf;voile",
|
||||
"profilCompletenessPercentage": "10",
|
||||
"users": "thomas.berrod@e-declic.com;thomas.berrod@e-declic.com;thomas.berrod@e-declic.com"
|
||||
"keywords": "trytodev"
|
||||
},
|
||||
"notification": {
|
||||
"title": "Coriolis composites",
|
||||
@@ -12,7 +10,7 @@
|
||||
"image": "https://i.vimeocdn.com/video/668043830.webp?mw=1100&mh=619&q=70",
|
||||
"tag": "open-window",
|
||||
"data": {
|
||||
"link": "http://localhost/app_dev.php/annonce/7-composites-studies-engineer"
|
||||
"link": "http://localhost/annonce/7-composites-studies-engineer"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"parameters": {
|
||||
"pushType": "tags",
|
||||
"keywords": "surf;voile"
|
||||
"keywords": "trytodev"
|
||||
},
|
||||
"notification": {
|
||||
"title": "D'après vous",
|
||||
|
||||
@@ -20,7 +20,7 @@ $grey6 : #999CA2;
|
||||
$grey7 : #1E2327;
|
||||
|
||||
$orange: #ff9800;
|
||||
$orangeNewApp: #ffe600;
|
||||
$orangeNewApp: #FFCE00;
|
||||
|
||||
$font-1: 'Raleway', sans-serif;
|
||||
$font-2: "Varela Round", sans-serif;
|
||||
|
||||
@@ -127,7 +127,7 @@
|
||||
}
|
||||
}
|
||||
.col-content{
|
||||
margin-bottom: 100px;
|
||||
margin-bottom: 50px;
|
||||
background: $white;
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,164 @@
|
||||
<!-- Item -->
|
||||
<div class="cbp-item graphic">
|
||||
<div class="cbp-caption">
|
||||
<div class="cbp-caption-defaultWrap">
|
||||
<img src="../../assets/img/500x330/img15.jpg" alt="Image Description">
|
||||
</div>
|
||||
<div class="cbp-caption-activeWrap">
|
||||
<div class="cbp-l-caption-alignCenter d-flex align-items-start">
|
||||
<div class="mb-auto p-3">
|
||||
<h4 class="h5 mb-0">Remind me more</h4>
|
||||
<p class="small mb-0">
|
||||
by Tiberiu Neamu
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<ul class="list-inline mt-auto ml-auto p-3 mb-0">
|
||||
<li class="list-inline-item">
|
||||
<a class="u-icon u-icon--primary rounded-circle" href="single-page-simple.html">
|
||||
<span class="fa fa-link u-icon__inner"></span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="list-inline-item">
|
||||
<a class="cbp-lightbox u-icon u-icon--primary rounded-circle" href="../../assets/img/1920x1080/img26.jpg">
|
||||
<span class="fa fa-images u-icon__inner"></span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- End Item -->
|
||||
|
||||
<!-- Item -->
|
||||
<div class="cbp-item branding">
|
||||
<div class="cbp-caption">
|
||||
<div class="cbp-caption-defaultWrap">
|
||||
<img src="../../assets/img/500x330/img16.jpg" alt="Image Description">
|
||||
</div>
|
||||
<div class="cbp-caption-activeWrap">
|
||||
<div class="cbp-l-caption-alignCenter d-flex align-items-start">
|
||||
<div class="mb-auto p-3">
|
||||
<h4 class="h5 mb-0">Workout buddy</h4>
|
||||
<p class="small mb-0">
|
||||
by Tiberiu Neamu
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<ul class="list-inline mt-auto ml-auto p-3 mb-0">
|
||||
<li class="list-inline-item">
|
||||
<a class="u-icon u-icon--primary rounded-circle" href="single-page-simple.html">
|
||||
<span class="fa fa-link u-icon__inner"></span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="list-inline-item">
|
||||
<a class="cbp-lightbox u-icon u-icon--primary rounded-circle" href="../../assets/img/1920x1080/img8.jpg">
|
||||
<span class="fa fa-images u-icon__inner"></span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- End Item -->
|
||||
|
||||
<!-- Item -->
|
||||
<div class="cbp-item abstract">
|
||||
<div class="cbp-caption">
|
||||
<div class="cbp-caption-defaultWrap">
|
||||
<img src="../../assets/img/500x330/img17.jpg" alt="Image Description">
|
||||
</div>
|
||||
<div class="cbp-caption-activeWrap">
|
||||
<div class="cbp-l-caption-alignCenter d-flex align-items-start">
|
||||
<div class="mb-auto p-3">
|
||||
<h4 class="h5 mb-0">Easy note</h4>
|
||||
<p class="small mb-0">
|
||||
by Cosmin Capitanu
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<ul class="list-inline mt-auto ml-auto p-3 mb-0">
|
||||
<li class="list-inline-item">
|
||||
<a class="u-icon u-icon--primary rounded-circle" href="single-page-simple.html">
|
||||
<span class="fa fa-link u-icon__inner"></span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="list-inline-item">
|
||||
<a class="cbp-lightbox u-icon u-icon--primary rounded-circle" href="../../assets/img/1920x1080/img28.jpg">
|
||||
<span class="fa fa-images u-icon__inner"></span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- End Item -->
|
||||
|
||||
<!-- Item -->
|
||||
<div class="cbp-item graphic illustration">
|
||||
<div class="cbp-caption">
|
||||
<div class="cbp-caption-defaultWrap">
|
||||
<img src="../../assets/img/500x330/img18.jpg" alt="Image Description">
|
||||
</div>
|
||||
<div class="cbp-caption-activeWrap">
|
||||
<div class="cbp-l-caption-alignCenter d-flex align-items-start">
|
||||
<div class="mb-auto p-3">
|
||||
<h4 class="h5 mb-0">Designing</h4>
|
||||
<p class="small mb-0">
|
||||
by Cosmin Capitanu
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<ul class="list-inline mt-auto ml-auto p-3 mb-0">
|
||||
<li class="list-inline-item">
|
||||
<a class="u-icon u-icon--primary rounded-circle" href="single-page-simple.html">
|
||||
<span class="fa fa-link u-icon__inner"></span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="list-inline-item">
|
||||
<a class="cbp-lightbox u-icon u-icon--primary rounded-circle" href="../../assets/img/1920x1080/img29.jpg">
|
||||
<span class="fa fa-images u-icon__inner"></span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- End Item -->
|
||||
|
||||
<!-- Item -->
|
||||
<div class="cbp-item graphic illustration">
|
||||
<div class="cbp-caption">
|
||||
<div class="cbp-caption-defaultWrap">
|
||||
<img src="../../assets/img/500x330/img19.jpg" alt="Image Description">
|
||||
</div>
|
||||
<div class="cbp-caption-activeWrap">
|
||||
<div class="cbp-l-caption-alignCenter d-flex align-items-start">
|
||||
<div class="mb-auto p-3">
|
||||
<h4 class="h5 mb-0">Designing</h4>
|
||||
<p class="small mb-0">
|
||||
by Cosmin Capitanu
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<ul class="list-inline mt-auto ml-auto p-3 mb-0">
|
||||
<li class="list-inline-item">
|
||||
<a class="u-icon u-icon--primary rounded-circle" href="single-page-simple.html">
|
||||
<span class="fa fa-link u-icon__inner"></span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="list-inline-item">
|
||||
<a class="cbp-lightbox u-icon u-icon--primary rounded-circle" href="../../assets/img/1920x1080/img27.jpg">
|
||||
<span class="fa fa-images u-icon__inner"></span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- End Item -->
|
||||
@@ -0,0 +1,163 @@
|
||||
<!-- Item -->
|
||||
<div class="cbp-item graphic illustration">
|
||||
<div class="cbp-caption">
|
||||
<div class="cbp-caption-defaultWrap">
|
||||
<img src="../../assets/img/500x330/img12.jpg" alt="Image Description">
|
||||
</div>
|
||||
<div class="cbp-caption-activeWrap">
|
||||
<div class="cbp-l-caption-alignCenter d-flex align-items-start">
|
||||
<ul class="mb-auto list-inline mt-auto ml-auto p-3 mb-0">
|
||||
<li class="list-inline-item">
|
||||
<a class="u-icon u-icon--primary rounded-circle" href="../portfolio/single-page-simple.html">
|
||||
<span class="fa fa-link u-icon__inner"></span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="list-inline-item">
|
||||
<a class="cbp-lightbox u-icon u-icon--primary rounded-circle" href="../../assets/img/1920x1080/img23.jpg">
|
||||
<span class="fa fa-images u-icon__inner"></span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="p-4">
|
||||
<h4 class="h5 mb-0">Designing</h4>
|
||||
<p class="small mb-0">
|
||||
by Cosmin Capitanu
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<!-- End Item -->
|
||||
|
||||
<!-- Item -->
|
||||
<div class="cbp-item branding">
|
||||
<div class="cbp-caption">
|
||||
<div class="cbp-caption-defaultWrap">
|
||||
<img src="../../assets/img/500x250/img2.jpg" alt="Image Description">
|
||||
</div>
|
||||
<div class="cbp-caption-activeWrap">
|
||||
<div class="cbp-l-caption-alignCenter d-flex align-items-start">
|
||||
<div class="mb-auto p-3">
|
||||
<h4 class="h5 mb-0">Workout buddy</h4>
|
||||
<p class="small mb-0">
|
||||
by Tiberiu Neamu
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<ul class="list-inline mt-auto ml-auto p-3 mb-0">
|
||||
<li class="list-inline-item">
|
||||
<a class="u-icon u-icon--primary rounded-circle" href="single-page-simple.html">
|
||||
<span class="fa fa-link u-icon__inner"></span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="list-inline-item">
|
||||
<a class="cbp-lightbox u-icon u-icon--primary rounded-circle" href="../../assets/img/1920x1080/img8.jpg">
|
||||
<span class="fa fa-images u-icon__inner"></span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- End Item -->
|
||||
|
||||
<!-- Item -->
|
||||
<div class="cbp-item abstract">
|
||||
<div class="cbp-caption">
|
||||
<div class="cbp-caption-defaultWrap">
|
||||
<img src="../../assets/img/500x330/img17.jpg" alt="Image Description">
|
||||
</div>
|
||||
<div class="cbp-caption-activeWrap">
|
||||
<div class="cbp-l-caption-alignCenter d-flex align-items-start">
|
||||
<div class="mb-auto p-3">
|
||||
<h4 class="h5 mb-0">Easy note</h4>
|
||||
<p class="small mb-0">
|
||||
by Cosmin Capitanu
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<ul class="list-inline mt-auto ml-auto p-3 mb-0">
|
||||
<li class="list-inline-item">
|
||||
<a class="u-icon u-icon--primary rounded-circle" href="single-page-simple.html">
|
||||
<span class="fa fa-link u-icon__inner"></span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="list-inline-item">
|
||||
<a class="cbp-lightbox u-icon u-icon--primary rounded-circle" href="../../assets/img/1920x1080/img28.jpg">
|
||||
<span class="fa fa-images u-icon__inner"></span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- End Item -->
|
||||
|
||||
<!-- Item -->
|
||||
<div class="cbp-item graphic illustration">
|
||||
<div class="cbp-caption">
|
||||
<div class="cbp-caption-defaultWrap">
|
||||
<img src="../../assets/img/500x250/img3.jpg" alt="Image Description">
|
||||
</div>
|
||||
<div class="cbp-caption-activeWrap">
|
||||
<div class="cbp-l-caption-alignCenter d-flex align-items-start">
|
||||
<div class="mb-auto p-3">
|
||||
<h4 class="h5 mb-0">Designing</h4>
|
||||
<p class="small mb-0">
|
||||
by Cosmin Capitanu
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<ul class="list-inline mt-auto ml-auto p-3 mb-0">
|
||||
<li class="list-inline-item">
|
||||
<a class="u-icon u-icon--primary rounded-circle" href="single-page-simple.html">
|
||||
<span class="fa fa-link u-icon__inner"></span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="list-inline-item">
|
||||
<a class="cbp-lightbox u-icon u-icon--primary rounded-circle" href="../../assets/img/1920x1080/img29.jpg">
|
||||
<span class="fa fa-images u-icon__inner"></span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- End Item -->
|
||||
|
||||
<!-- Item -->
|
||||
<div class="cbp-item graphic illustration">
|
||||
<div class="cbp-caption">
|
||||
<div class="cbp-caption-defaultWrap">
|
||||
<img src="../../assets/img/500x330/img19.jpg" alt="Image Description">
|
||||
</div>
|
||||
<div class="cbp-caption-activeWrap">
|
||||
<div class="cbp-l-caption-alignCenter d-flex align-items-start">
|
||||
<div class="mb-auto p-3">
|
||||
<h4 class="h5 mb-0">Designing</h4>
|
||||
<p class="small mb-0">
|
||||
by Cosmin Capitanu
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<ul class="list-inline mt-auto ml-auto p-3 mb-0">
|
||||
<li class="list-inline-item">
|
||||
<a class="u-icon u-icon--primary rounded-circle" href="single-page-simple.html">
|
||||
<span class="fa fa-link u-icon__inner"></span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="list-inline-item">
|
||||
<a class="cbp-lightbox u-icon u-icon--primary rounded-circle" href="../../assets/img/1920x1080/img27.jpg">
|
||||
<span class="fa fa-images u-icon__inner"></span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- End Item -->
|
||||
@@ -0,0 +1,22 @@
|
||||
/*------------------------------------
|
||||
Signin Form
|
||||
------------------------------------*/
|
||||
|
||||
html,
|
||||
body {
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
body {
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
-ms-flex-align: center;
|
||||
align-items: center;
|
||||
background-color: #f5f8fb;
|
||||
}
|
||||
|
||||
.form-signin {
|
||||
width: 100%;
|
||||
max-width: 480px;
|
||||
margin: auto;
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
/*------------------------------------
|
||||
Sticky Footer Styles
|
||||
------------------------------------*/
|
||||
html {
|
||||
position: relative;
|
||||
min-height: 100%;
|
||||
}
|
||||
|
||||
body {
|
||||
/* Margin bottom by footer height */
|
||||
height: 100%;
|
||||
margin-bottom: 72px;
|
||||
}
|
||||
|
||||
.u-sticky-footer {
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
width: 100%;
|
||||
/* Set the fixed height of the footer here */
|
||||
height: 72px;
|
||||
}
|
||||
|
After Width: | Height: | Size: 2.4 KiB |
|
After Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 1.4 KiB |
|
After Width: | Height: | Size: 1.3 KiB |
|
After Width: | Height: | Size: 2.2 KiB |
|
After Width: | Height: | Size: 2.3 KiB |
|
After Width: | Height: | Size: 2.3 KiB |
|
After Width: | Height: | Size: 2.2 KiB |
|
After Width: | Height: | Size: 3.3 KiB |
|
After Width: | Height: | Size: 2.3 KiB |
|
After Width: | Height: | Size: 2.0 KiB |
|
After Width: | Height: | Size: 2.8 KiB |
|
After Width: | Height: | Size: 1.3 KiB |
|
After Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 1.5 KiB |
|
After Width: | Height: | Size: 7.6 KiB |
|
After Width: | Height: | Size: 1.2 KiB |
|
After Width: | Height: | Size: 95 KiB |