Compare commits

...

113 Commits

Author SHA1 Message Date
llaniau 47fdf752b1 effet de bord US 340 et US64 (modal) 2020-11-10 13:54:29 +01:00
llaniau f5008ea3de US340 : Modif texte bouton ajout comp 2020-11-09 21:31:53 +01:00
llaniau fc3d9d71a7 US340 : corect bugs sur l'affichage du bouton save 2020-11-09 21:11:51 +01:00
llaniau a3212a5b17 US240 : Mise en page de l'ajout de compétences 2020-11-09 19:38:07 +01:00
llaniau 6760343163 US 340 : suite 2020-11-05 13:13:17 +01:00
llaniau 720e112d3c US340 : Suite (api pole emploi competence) 2020-11-04 15:03:02 +01:00
llaniau 383b129317 US 340 : Suite dev ajour competence Pole emploi 2020-11-03 13:42:45 +01:00
llaniau 886a931221 US340 : Mise en place api pole emploi 2020-11-02 23:13:25 +01:00
llaniau 8cfeb2906b Ajout du champ temps de travail 2020-10-28 17:03:32 +01:00
llaniau f2d8e569a2 Multipage ajax pour candidatures 2020-10-27 18:23:15 +01:00
llaniau d03c1615b1 Mise en place du multi page ajax 2020-10-26 18:19:13 +01:00
llaniau 36fdf82d18 Partage de candidature vue anonyme 2020-10-22 12:23:06 +02:00
llaniau 3bdc692f5d partage de candidat vue anonyme 2020-10-20 18:32:58 +02:00
llaniau 1e81d2835d Mise en place du partage de condidat 2020-10-20 17:32:58 +02:00
llaniau c76645669d Possibilité de faire du Télétravail? 2020-10-20 11:03:09 +02:00
llaniau 5f29e076e6 Nofollow pour pre prod 2020-10-20 09:17:24 +02:00
llaniau c48ec26bc4 Mise en place teletravail 2020-10-20 09:13:59 +02:00
llaniau 18d07463ab Suppression balise meta pour MEP et analytics 2020-10-15 15:12:29 +02:00
llaniau 9f58cf7f58 Correction mineure graphique 2020-10-15 14:45:27 +02:00
llaniau 40688feb88 correction suite a modif de pole emploi 2020-10-14 21:47:08 +02:00
llaniau 2275c6aadd Correction bug suite recette du 14_10 2020-10-14 17:36:33 +02:00
llaniau 6e4f718fe0 Cas du doublon d'utilisateur 2020-10-13 17:24:29 +02:00
llaniau b19eb227b5 Mise en place API pole emploi 2020-10-12 18:28:16 +02:00
llaniau f35dcbbeba US 439,
US466 modif terme,
US462 num assistance,
US461 crisp
US 464 copyright
2020-10-07 16:11:41 +02:00
llaniau 6860dee286 Evoi de mail lors de creation multi util 2020-10-06 16:39:27 +02:00
llaniau a93d58e119 Bug push git 2020-10-05 23:58:07 +02:00
llaniau 6babd6976c Amélioration employmentType 2020-10-05 17:55:50 +02:00
llaniau 468f5baed6 Changement stat page accueil recruteur 2020-10-05 15:18:11 +02:00
llaniau 6a1c231fcb Ajout unpublished dans le groupe ad_detail 2020-10-05 14:05:01 +02:00
llaniau 6b25e5b5e7 Correction de fautes d'orthographe 2020-10-01 17:01:44 +02:00
llaniau bb231fbeb3 Ajout d'un commentaire dans Answerrepo 2020-09-29 11:02:19 +02:00
llaniau cae04bc8d7 Modification de libellés 2020-09-29 09:58:40 +02:00
llaniau 4fa83f1c51 Envoi de mail apres candidature 2020-09-24 17:10:16 +02:00
llaniau 15c9e8811d MEP 21 sept 2020-09-21 16:08:35 +02:00
llaniau be62f29fb9 version stabilisé pre prod avant mise en prod 2020-09-21 15:52:14 +02:00
llaniau 439362bda4 Recette avant mise en prod 2020-09-21 13:16:16 +02:00
llaniau 1866008c84 Redirection vers web app lors de message 2020-09-21 11:38:19 +02:00
llaniau 4e8d3b8a9d mediaController 2020-09-21 11:02:39 +02:00
llaniau b21946500a Correction bug offre d'emploi sur la crea 2020-09-21 10:49:10 +02:00
llaniau 8808da8af1 params pre prod 2020-09-21 08:46:15 +02:00
llaniau 6ba0c4744e param prod 2020-09-21 08:38:17 +02:00
llaniau f8a03f317b parameter pre prod erreur 2020-09-21 08:36:25 +02:00
llaniau 8de926b22f Modif param mail et resolution de bugs mineur 2020-09-19 11:46:29 +02:00
llaniau eb70757671 Suppression d'un user (correction d'un bug) 2020-09-17 16:35:50 +02:00
llaniau 0c82a72da5 oubli de mdp 2020-09-16 18:08:01 +02:00
llaniau 719c6ae0ee erreur 404 2020-09-15 17:43:41 +02:00
llaniau ba84cc4859 changement d'adresse mail de ref 2020-09-15 14:11:25 +02:00
llaniau 09716c5b69 page tarifs 2020-09-15 12:45:26 +02:00
llaniau 5d593cf46c Page tarifs plus changement lien contact 2020-09-15 12:42:53 +02:00
llaniau 676317050a Modif adblock maj de ads->jobs 2020-09-15 11:46:38 +02:00
llaniau 3d64f000e0 Ajout d(une video marque employeur 2020-09-14 18:25:21 +02:00
llaniau 28de33c053 Ménage dans les twig 2020-09-10 09:29:00 +02:00
llaniau 35b49ac496 Résolution bug 9/11 2020-09-09 17:09:10 +02:00
llaniau c2d8aa85ec Mise en place video marque employeur mode dashboard v2 2020-09-09 15:26:58 +02:00
llaniau 93c7394c8e Correction ano 8 sept 2020-09-08 17:37:35 +02:00
llaniau b57f5e9de2 Résolution de bugs suite a la recette de Corentin 2020-09-08 10:32:54 +02:00
llaniau 07531fb0de Organisation cliente 2020-09-07 16:00:41 +02:00
llaniau e4cd963ffd cv theque 2020-09-03 18:49:58 +02:00
llaniau 96367dd0af cv videotheque 2020-09-03 17:34:07 +02:00
llaniau 857e32e574 base temporaire pour avoir des pages en mode V1 meme en V2 2020-09-02 18:40:24 +02:00
llaniau 6b4581bd5d Amelioration dashboard entreprise sur la gestion des offres 2020-09-01 16:57:24 +02:00
llaniau 52ec51b973 Fix : dashboard entreprise - ajout ad 2020-09-01 14:24:44 +02:00
llaniau 1b5a4ff368 Dashboard / gestion annonce 2020-09-01 13:03:27 +02:00
llaniau b9b93ee8f1 modif user dashboard entreprise 2020-09-01 12:04:04 +02:00
llaniau 5bcc995f81 Modif inscription 2020-09-01 11:33:16 +02:00
llaniau 36d67ead43 Mise a jour video de test 216125621 2020-09-01 09:01:04 +02:00
llaniau 34cffed212 Test vimeo avec la video 217844541 2020-09-01 08:45:26 +02:00
llaniau 45e9031268 Mise au point de CSS 2020-08-31 17:25:50 +02:00
llaniau af0e1db407 dashboard V2 (inscription, login, candidatures) 2020-08-31 16:12:13 +02:00
llaniau f12b6f16a9 Dashboard entreprise : reponse texte et video en mode V2 2020-08-27 16:59:32 +02:00
llaniau 301a0c4496 Prise en compte des remarques de Corentins + Dashboard Entreoprise V2 2020-08-26 18:34:45 +02:00
llaniau fd8226ab33 Mise en place dashboard entreprise V2 - Espace offre d'emploi 2020-08-25 17:47:36 +02:00
llaniau a937a21150 Mise en place template dashboard 2020-08-24 18:27:29 +02:00
llaniau f19baff135 modif user 2020-08-20 17:55:55 +02:00
llaniau 6a5bbdcd84 multi utilisateur 2020-08-20 17:44:04 +02:00
llaniau bc15ae214e Fix : connexion avec address json qui ne fonctionnait pas 2020-08-19 18:34:37 +02:00
llaniau 10fcbc2c2e upload en pre prod 2020-08-19 14:55:16 +02:00
llaniau 74385e0791 cas cabinet recrutement (champ entreprise) 2020-08-18 18:15:35 +02:00
llaniau aaafc20e54 Prise en compte remarques suite Pre prod V2 2020-08-17 18:34:48 +02:00
llaniau ca485d04ab Modif du referencement pour priorise Web app 2020-08-17 11:29:31 +02:00
llaniau e17cbd0537 referencement espace recruteur 2020-08-13 17:30:23 +02:00
llaniau e5d4cb1223 Ajout de date pubmished pour web app pour joposting 2020-08-13 17:13:40 +02:00
llaniau 6a1aebb22c Mise a jour adresse Webapp 2020-08-13 11:38:17 +02:00
llaniau 1cc7fb2622 indexV1 a la place de indexV2 2020-08-11 17:33:11 +02:00
llaniau 8be4b1ad36 Mise en place page marque employeur et inscription 2020-07-22 17:40:01 +02:00
llaniau bde583e14e Mise en place mentions, cgu et connexion V2 2020-07-22 08:34:05 +02:00
llaniau d803cb4bdd cgu v2.0.1 2020-07-20 18:14:30 +02:00
llaniau 1a987283b7 Mise en place api pour upload CV ds web app 2020-07-20 14:39:02 +02:00
llaniau d72095f615 SQL a passer en pre prod/prod4 2020-07-15 18:08:50 +02:00
llaniau 90be4bfea7 update bug company 2020-07-15 16:26:36 +02:00
llaniau de07e5f26c Mise à jour témoignage V2.0.1 2020-07-15 16:07:29 +02:00
llaniau 910f9645d8 Mise en place upload video presentation cote Symfony 2020-07-08 19:49:57 +02:00
llaniau 227fe09a94 Push de fin de journée du 07/07 : Mise en place connection plateforme V2 2020-07-07 17:14:00 +02:00
llaniau c660c11879 Commit de mise en place page offre d'emploi video V2 2020-07-06 17:04:18 +02:00
llaniau 8899a93ea5 mise a jour du menu du haut 2020-07-06 16:21:39 +02:00
llaniau 305bf4deb3 Mise en place candidature video Design V2 2020-07-06 16:12:06 +02:00
llaniau d564ca1b85 Modif template V2 2020-07-06 10:26:23 +02:00
llaniau b3135e62f5 modif Company 2020-06-30 14:52:15 +02:00
llaniau dc2872e178 modif entity company 2020-06-30 14:46:40 +02:00
llaniau cf057c9c63 V2.0.1 2020-06-29 17:15:02 +02:00
llaniau e5c46b2985 Mise en place bootstrap V2.0.1 2020-06-29 15:44:07 +02:00
Sébastien 47d571baae Fix : Button disabled 2020-02-12 09:26:05 +01:00
Sébastien f5f0c39dd7 Feat : Update style of answer page 2020-02-04 08:15:33 +01:00
Grégoire c83b71853b feat and fix : statut of answer last message / add no empty message / delete statut CHAT 2020-01-14 16:05:31 +01:00
Grégoire 8bc3165995 fix : ajaxRecStat on user null for google robot (3) 2020-01-03 11:13:20 +01:00
Grégoire dffcf66ce3 fix : ajaxRecStat on user null for google robot (2) 2020-01-03 11:09:31 +01:00
Grégoire 41c046392e fix : ajaxRecStat on user null for google robot 2020-01-03 10:59:25 +01:00
Grégoire e81e2dce9d fix : problem saving company user parameters
hide birthday field (date issue) /entreprise/me/mon_compte
2020-01-03 10:25:26 +01:00
Grégoire 3ffc3c8d3b fix : sendtime + message video + contact_talent 2020-01-02 15:29:55 +01:00
Grégoire e35cb0c461 fix : link mail answer spontaneous 2019-12-30 16:22:13 +01:00
Grégoire db084707bb fix : search bar v2 2019-12-30 13:20:11 +01:00
Grégoire 1a9fff778a fix : search bar 2019-12-30 12:27:11 +01:00
Sébastien 90a38edb29 Fix: Add new noreply email 2019-11-28 08:31:58 +01:00
4767 changed files with 734069 additions and 1146 deletions
+5 -1
View File
@@ -11,4 +11,8 @@ volume/www/website/.idea
/volume/www/website/store/themes/talentstube-20170413/cache/*
/volume/www/website/store/img/tmp/*
volume/www/website/www/app/Resources/views/default/index.html.twig
TODO
volume/www/website/www/.vscode/settings.json
volume/www/website/www/app/config/jwt/private.pem
volume/www/website/www/app/config/jwt/public.pem
volume/www/website/www/web/sql/upload.pgsql
@@ -0,0 +1,29 @@
<?php declare(strict_types=1);
namespace Application\Migrations;
use Doctrine\DBAL\Schema\Schema;
use Doctrine\Migrations\AbstractMigration;
/**
* Auto-generated Migration: Please modify to your needs!
*/
final class Version20200715123752 extends AbstractMigration
{
public function up(Schema $schema) : void
{
// this up() migration is auto-generated, please modify it to your needs
$this->abortIf($this->connection->getDatabasePlatform()->getName() !== 'postgresql', 'Migration can only be executed safely on \'postgresql\'.');
$this->addSql('ALTER TABLE company ADD cv VARCHAR(255) DEFAULT NULL');
}
public function down(Schema $schema) : void
{
// this down() migration is auto-generated, please modify it to your needs
$this->abortIf($this->connection->getDatabasePlatform()->getName() !== 'postgresql', 'Migration can only be executed safely on \'postgresql\'.');
$this->addSql('CREATE SCHEMA public');
$this->addSql('ALTER TABLE company DROP cv');
}
}
@@ -0,0 +1,29 @@
<?php declare(strict_types=1);
namespace Application\Migrations;
use Doctrine\DBAL\Schema\Schema;
use Doctrine\Migrations\AbstractMigration;
/**
* Auto-generated Migration: Please modify to your needs!
*/
final class Version20200818075231 extends AbstractMigration
{
public function up(Schema $schema) : void
{
// this up() migration is auto-generated, please modify it to your needs
$this->abortIf($this->connection->getDatabasePlatform()->getName() !== 'postgresql', 'Migration can only be executed safely on \'postgresql\'.');
$this->addSql('ALTER TABLE ad ADD beneficiaire TEXT DEFAULT NULL');
}
public function down(Schema $schema) : void
{
// this down() migration is auto-generated, please modify it to your needs
$this->abortIf($this->connection->getDatabasePlatform()->getName() !== 'postgresql', 'Migration can only be executed safely on \'postgresql\'.');
$this->addSql('CREATE SCHEMA public');
$this->addSql('ALTER TABLE ad DROP beneficiaire');
}
}
@@ -1,6 +1,9 @@
{% extends "base.html.twig" %}
{% extends "basev2.html.twig" %}
{% block menu %}
{% endblock %}
{% block content %}
<main id="content">
<div class="container contentWrapper">
<div class="row">
<div class="col push-s3 s6">
@@ -8,8 +11,10 @@
</div>
</div>
</div>
</div>
{% endblock %}
{% block metarobot %}
<meta name="robots" content="noindex,nofollow">
<meta http-equiv="refresh" content="1;URL=/">
{% endblock %}
@@ -1,6 +1,7 @@
{% trans_default_domain 'FOSUserBundle' %}
<div class="fos_user_user_show">
Votre mot de passe a bien été modifié<br/>
<p>{{ 'profile.show.username'|trans }}: {{ user.username }}</p>
<p>{{ 'profile.show.email'|trans }}: {{ user.email }}</p>
</div>
@@ -1,7 +1,9 @@
{% extends "base.html.twig" %}
{% trans_default_domain 'FOSUserBundle' %}
{% block menu %}
{% endblock %}
{% block content %}
<div class="container contentWrapper">
<div class="row">
@@ -0,0 +1,186 @@
{% extends 'basev2.html.twig' %}
{% block title %}Talents Tube : Le 1er job board 100% vidéo{% endblock %}
{% trans_default_domain 'FOSUserBundle' %}
{% block menu %}
{% endblock %}
{% block content %}
<main id="content">
<div class="container space-2 ">
<div class="row row justify-content-lg-end ">
<div class="col-md-12 ">
<div class="text-center mb-4">
<h1 class="h3 mb-0"></h1>
<p></p>
</div>
<!-- End Title -->
<div class="container contentWrapper">
<div class="row">
<div class="col push-s3 s6">
<h1 class="m-t-20 alttitle center-align">{{'user.register.title'|trans({},"messages") }}</h1>
<p>{{ 'registration.check_email'|trans({'%email%': user.email}) }}</p>
</div>
</div>
</div>
</div>
</div>
</div>
</main>
<!-- ========== END MAIN CONTENT ========== -->
{% include 'defaultv2/accueil/footer.html.twig' %}
<!-- Begin Panel Login -->
{% include 'defaultv2/accueil/blocLogin.html.twig'
with {
'csrf_token': csrf_token,
'error' : error
} %}
<!-- Go to Top -->
<a class="js-go-to u-go-to" href="javascript:;" data-position='{"bottom": 30, "right": 100 }' data-type="fixed"
data-offset-top="400" data-compensation="#header" data-show-effect="slideInUp" data-hide-effect="slideOutDown">
<i class="fa fa-arrow-up u-go-to__inner"></i>
</a>
<!-- End Go to Top -->
<!-- JS Global Compulsory -->
<script src="{{ asset('v2/vendor/jquery/dist/jquery.min.js') }}"></script>
<script src="{{ asset('v2/vendor/jquery-migrate/dist/jquery-migrate.min.js') }}"></script>
<script src="{{ asset('v2/vendor/popper.js/dist/umd/popper.min.js') }}"></script>
<script src="{{ asset('v2/vendor/bootstrap/bootstrap.min.js') }}"></script>
<!-- JS Implementing Plugins -->
<script src="{{ asset('v2/vendor/hs-megamenu/src/hs.megamenu.js') }}"></script>
<script src="{{ asset('v2/vendor/jquery-validation/dist/jquery.validate.min.js') }}"></script>
<script src="{{ asset('v2/vendor/malihu-custom-scrollbar-plugin/jquery.mCustomScrollbar.concat.min.js') }}"></script>
<script src="{{ asset('v2/vendor/custombox/dist/custombox.min.js') }}"></script>
<script src="{{ asset('v2/vendor/custombox/dist/custombox.legacy.min.js') }}"></script>
<script src="{{ asset('v2/vendor/typed.js/lib/typed.min.js') }}"></script>
<script src="{{ asset('v2/vendor/slick-carousel/slick/slick.js') }}"></script>
<script src="{{ asset('v2/vendor/cubeportfolio/js/jquery.cubeportfolio.min.js') }}"></script>
<script src="{{ asset('v2/vendor/fancybox/jquery.fancybox.min.js') }}"></script>
<!-- JS Space -->
<script src="{{ asset('v2/js/hs.core.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.header.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.unfold.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.validation.js') }}"></script>
<script src="{{ asset('v2/js/helpers/hs.focus-state.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.malihu-scrollbar.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.fancybox.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.modal-window.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.show-animation.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.slick-carousel.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.cubeportfolio.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.g-map.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.go-to.js') }}"></script>
<!-- JS Plugins Init. -->
<script>
// initialization of google map
{
#
function initMap() {
$.HSCore.components.HSGMap.init('.js-g-map');
}#
}
$(window).on('load', function () {
// initialization of HSMegaMenu component
$('.js-mega-menu').HSMegaMenu({
event: 'hover',
pageContainer: $('.container'),
breakpoint: 767,
hideTimeOut: 0
});
});
$(document).on('ready', function () {
// initialization of header
$.HSCore.components.HSHeader.init($('#header'));
// initialization of fancybox
$.HSCore.components.HSFancyBox.init('.js-fancybox');
// initialization of unfold component
$.HSCore.components.HSUnfold.init($('[data-unfold-target]'), {
afterOpen: function () {
if (!$('body').hasClass('IE11')) {
$(this).find('input[type="search"]').focus();
}
}
});
// initialization of form validation
$.HSCore.components.HSValidation.init('.js-validate', {
rules: {
confirmPassword: {
equalTo: '#password'
}
}
});
// initialization of forms
$.HSCore.helpers.HSFocusState.init();
// initialization of malihu scrollbar
$.HSCore.components.HSMalihuScrollBar.init($('.js-scrollbar'));
// initialization of autonomous popups
$.HSCore.components.HSModalWindow.init('[data-modal-target]', '.js-signup-modal', {
autonomous: true
});
// initialization of show animations
$.HSCore.components.HSShowAnimation.init('.js-animation-link');
// initialization of slick carousel
$.HSCore.components.HSSlickCarousel.init('.js-slick-carousel');
$('.u-text-animation.u-text-animation').html("");
// initialization of text animation (typing)
var typed = new Typed(".u-text-animation.u-text-animation--typing", {
strings: ["Recrutez les candidats", "Boostez vos recrutements", "Valorisez vos collaborateurs"],
typeSpeed: 60,
loop: true,
backSpeed: 25,
backDelay: 3000
});
// initialization of cubeportfolio
$.HSCore.components.HSCubeportfolio.init('.cbp');
// initialization of go to
$.HSCore.components.HSGoTo.init('.js-go-to');
});
$(document).ready(function () {
$(window).scroll(function () { // check if scroll event happened
if ($(document).scrollTop() > 50) { // check if user scrolled more than 50 from top of the browser window
$("#logoAndNav").css("background-color",
"#000"); // if yes, then change the color of class "navbar-fixed-top" to white (#f8f8f8)
$("#sidebarNavToggler").css("color", "#fff");
} else {
$("#logoAndNav").css("background-color", "transparent"); // if not, change it back to transparent
$("#sidebarNavToggler").css("color", "#000");
}
});
});
</script>
{% endblock %}
{% block javascripts %}
{{ parent() }}
<script src="https://player.vimeo.com/api/player.js"></script>
{% endblock %}
@@ -1,7 +1,9 @@
{% extends "base.html.twig" %}
{% extends "basetemporaire.html.twig" %}
{% trans_default_domain 'FOSUserBundle' %}
{% block menu %}
{% endblock %}
{% block content %}
<div class="container contentWrapper">
@@ -27,4 +29,5 @@
{% block metarobot %}
<meta name="robots" content="noindex,nofollow">
<meta http-equiv="refresh" content="3; URL=/">
{% endblock %}
@@ -2,67 +2,68 @@
<div class="row">
<div class="col s8 offset-s2">
{#<h3>Je suis ?</h3>#}
<h3>Merci de sélectionner votre profil :</h3>
{# <h3>Merci de sélectionner votre profil :</h3>
<button class="waves-effect waves-light btn btn-dark roleUser active" data-value="TALENT">Je suis un talent</button>
<button class="waves-effect waves-light btn btn-dark roleUser" data-value="COMPANY">Je suis une entreprise</button>
<button class="waves-effect waves-light btn btn-dark roleUser" data-value="COMPANY">Je suis une entreprise</button> #}
<h3>Mes informations</h3>
{{ form_start(form, {'method': 'post', 'action': path('fos_user_registration_register'), 'attr': {'class': 'fos_user_registration_register'}}) }}
{{ form_errors(form) }}
<div class="row">
<div class="js-form-message mb-3">
<div class="input-field col s12">
{{ form_row(form.firstname, {'label': 'Prénom'}) }}
{{ form_row(form.firstname, {'label': 'Prénom', 'attr': {'class': 'form-control'}}) }}
</div>
</div>
<div class="row">
<div class="js-form-message mb-3">
<div class="input-field col s12">
{{ form_row(form.lastname, {'label': 'Nom'}) }}
{{ form_row(form.lastname, {'label': 'Nom', 'attr': {'class': 'form-control'}}) }}
</div>
</div>
<div class="row">
<div class="js-form-message mb-3">
<div class="input-field col s12">
{{ form_row(form.email, {'label': 'E-mail'}) }}
{{ form_row(form.email, {'label': 'E-mail', 'attr': {'class': 'form-control'}}) }}
</div>
</div>
<div class="row">
<div class="js-form-message mb-3">
<div class="input-field col s12">
{{ form_row(form.username, {'label': 'Nom d\'utilisateur'}) }}
{{ form_row(form.username, {'label': 'Nom d\'utilisateur', 'attr': {'class': 'form-control'}}) }}
</div>
</div>
<div class="row">
<div class="js-form-message mb-3">
<div class="input-field col s12">
{{ form_row(form.plainPassword.first, {'label': 'Mot de passe'}) }}
{{ form_row(form.plainPassword.first, {'label': 'Mot de passe', 'attr': {'class': 'form-control'}}) }}
</div>
</div>
<div class="row">
<div class="js-form-message mb-3">
<div class="input-field col s12">
{{ form_row(form.plainPassword.second, {'label': 'Répéter le mot de passe'}) }}
{{ form_row(form.plainPassword.second, {'label': 'Répéter le mot de passe', 'attr': {'class': 'form-control'}}) }}
</div>
</div>
{% if destination_login is defined %}
<input type="hidden" name="_target_path" value="{{ destination_login }}" />
{% endif %}
<div class="row">
<div class="js-form-message mb-3">
<div class="input-field col s12">
{% set label = 'user.cgu.label'|trans({'%link_start%' : '<a href="'~path('service_cgu')~'">', '%link_end%' : '</a>'}, 'messages') | raw %}
{{ form_errors(form.cgu) }}
{{ form_widget(form.cgu) }}
{{ form_label(form.cgu) }}
{# {{ form_label(form.cgu) }} #}
<label>Je déclare avoir pris connaissance et accepté les termes et les <a target="_blank"
href="/politique-confidentialite">conditions générales dutilisation</a></label>
</div>
</div>
<div class="row">
{# <div class="js-form-message mb-3">
<div class="input-field col s12">
Lire les conditions générales d'utilisations</a>
<a href="/cgu">Lire les conditions générales d'utilisations</a>
<br /><br />
</div>
</div>
<div class="row">
</div> #}
<div class="js-form-message mb-3">
<div class="input-field col s12">
{{ form_rest(form) }}
</div>
</div>
<div>
<input class="btn btn-default" type="submit" value="{{ 'registration.submit'|trans }}" />
{% if is_granted("IS_AUTHENTICATED_REMEMBERED") %}
<div class="js-form-message mb-3">
<button type="submit" class="btn btn-block btn-primary">{{ 'registration.submit'|trans }}</button>
{# {% if is_granted("IS_AUTHENTICATED_REMEMBERED") %}
{{ 'layout.logged_in_as'|trans({'%username%': app.user.username}, 'FOSUserBundle') }} |
<a href="{{ path('fos_user_security_logout') }}">
{{ 'layout.logout'|trans({}, 'FOSUserBundle') }}
@@ -73,7 +74,7 @@
Je possède déjà un compte Talents Tube
</span>
</a>
{% endif %}
{% endif %} #}
</div>
{{ form_end(form) }}
</div>
@@ -1,20 +1,24 @@
{% trans_default_domain 'FOSUserBundle' %}
{% extends "base.html.twig" %}
{% extends "basev2.html.twig" %}
{% block menu %}
{% endblock %}
{% block content %}
<div class="container contentWrapper">
<div class="row">
<div class="col push-s3 s6">
<h1 class="m-t-18 alttitle center-align">{{'user.resetpassword.title'|trans({},"messages") }}</h1>
<p>
<main id="content">
<div class="container space-2 ">
<div class="row row justify-content-lg-end ">
<div class="col-md-12 ">
<h1 class="m-t-18 alttitle center-align">{{'user.resetpassword.title'|trans({},"messages") }}</h1>
<p>
{{ 'resetting.check_email'|trans({'%tokenLifetime%': tokenLifetime})|nl2br }}
</p>
</div>
</p>
</div>
</div>
</div>
</div>
</main>
{% endblock %}
{% block metarobot %}
<meta name="robots" content="noindex,nofollow">
{% endblock %}
<meta name="robots" content="noindex,nofollow">
{% endblock %}
@@ -1,16 +1,20 @@
{% extends "base.html.twig" %}
{% extends "basev2.html.twig" %}
{% block menu %}
{% endblock %}
{% block content %}
<div class="container contentWrapper">
<div class="row">
<div class="col push-s3 s6">
<h1 class="m-t-18 alttitle center-align">{{'user.resetpassword.title'|trans({},"messages") }}</h1>
{% include "@FOSUser/Resetting/request_content.html.twig" %}
</div>
<main id="content">
<div class="container space-2 ">
<div class="row row justify-content-lg-end ">
<div class="col-md-12 ">
<h1 class="m-t-18 alttitle center-align">{{'user.resetpassword.title'|trans({},"messages") }}</h1>
{% include "@FOSUser/Resetting/request_content.html.twig" %}
</div>
</div>
</div>
</div>
</main>
{% endblock %}
{% block metarobot %}
<meta name="robots" content="noindex,nofollow">
{% endblock %}
<meta name="robots" content="noindex,nofollow">
{% endblock %}
@@ -1,11 +1,13 @@
{% trans_default_domain 'FOSUserBundle' %}
<form action="{{ path('fos_user_resetting_send_email') }}" method="POST" class="fos_user_resetting_request">
<div>
<div class="col-md-12 ">
<label for="username">{{ 'resetting.request.username'|trans }}</label>
<input type="text" id="username" name="username" required="required" />
<input type="text" id="username" name="username" required="required" class="form-control" />
</div>
<div>
<input class="btn btn-default" type="submit" value="{{ 'resetting.request.submit'|trans }}" />
<div class="col-md-6 ">&nbsp;
</div>
<div class="col-md-5 ">
<button type="submit" class="btn btn-block btn-primary">{{ 'resetting.request.submit'|trans }}</button>
</div>
</form>
<br /><br />
@@ -1,24 +1,29 @@
{% extends "base.html.twig" %}
{% extends "basev2.html.twig" %}
{% block title %}
Mot de passe oublié TalentsTube
Mot de passe oublié TalentsTube
{% endblock %}
{% block description %}
Mot de passe oublié TalentsTube
Mot de passe oublié TalentsTube
{% endblock %}
{% block menu %}
{% endblock %}
{% block content %}
<div class="container contentWrapper">
<div class="row">
<div class="col push-s3 s6">
<h1 class="m-t-18 alttitle center-align">{{'user.resetpassword.title'|trans({},"messages") }}</h1>
{% include "@FOSUser/Resetting/reset_content.html.twig" %}
<main id="content">
<div class="container space-2 ">
<div class="row row justify-content-lg-end ">
<div class="col-md-12 ">
<h1 class="m-t-18 alttitle center-align">
{{'user.resetpassword.title'|trans({},"messages") }}</h1>
{% include "@FOSUser/Resetting/reset_content.html.twig" %}
</div>
</div>
</div>
</div>
</main>
{% endblock %}
{% block metarobot %}
<meta name="robots" content="noindex,nofollow">
{% endblock %}
<meta name="robots" content="noindex,nofollow">
{% endblock %}
@@ -0,0 +1,33 @@
{% extends "base.html.twig" %}
{% block title %}
Login TalentsTube
{% endblock %}
{% block description %}
Login TalentsTube
{% endblock %}
{% block content %}
<div class="container contentWrapper">
<div class="row">
<div class="col s4 offset-s1">
<h3>Connexion</h3>
{% block fos_user_content %}
{{ include('@FOSUser/Security/login_content.html.twig') }}
{% endblock fos_user_content %}
<br />
</div>
<div class="col s4 offset-s2">
<h3>Devenez Talents Tubeur(se) !</h3>
<p><a class="btn btn-default" href="{{ path('fos_user_registration_register') }}" title="inscription Talents Tube">Inscrivez-vous, c'est gratuit !</a></p>
</div>
</div>
</div>
{% endblock %}
{% block metarobot %}
<meta name="robots" content="noindex,nofollow">
{% endblock %}
@@ -1,32 +1,197 @@
{% extends "base.html.twig" %}
{% extends 'basev2.html.twig' %}
{% block title %}
Login TalentsTube
{% block title %}Espace recruteur - Solution de recrutement en vidéo | Talents Tube{% endblock %}
{% block meta %}
<meta name="description" content="Vous souhaitez recruter en vidéo ? Talents Tube diffuse vos vidéos doffres demploi et marque employeur pour attirer les meilleurs talents en vidéo.">
<meta name="twitter:card" content="summary">
<meta name="twitter:site" content="@TalentsTube">
<meta name="twitter:title" content="Espace recruteur - Solution de recrutement en vidéo | Talents Tube">
<meta name="twitter:description" content="Vous souhaitez recruter en vidéo ? Talents Tube diffuse vos vidéos doffres demploi et marque employeur pour attirer les meilleurs talents en vidéo.">
<meta name="twitter:image" content="{{ absolute_url(asset('img/mail/logo-talents-tube.png')) }}">
{#Open Graph data pour le partage sur les réseaux sociaux (ex Facebook..)#}
<meta property="og:title" content="Espace recruteur - Solution de recrutement en vidéo | Talents Tube" />
<meta property="og:type" content="article" />
<meta property="og:image" content="{{ absolute_url(asset('img/mail/logo-talents-tube.png')) }}" />
<meta property="og:description" content="Vous souhaitez recruter en vidéo ? Talents Tube diffuse vos vidéos doffres demploi et marque employeur pour attirer les meilleurs talents en vidéo." />
<meta property="og:site_name" content="Talents Tube" />
<meta property="og:url" content="{{ url(app.request.attributes.get('_route'), app.request.attributes.get('_route_params')) }}" />
<meta http-equiv="refresh" content="1;URL=/">
{% endblock %}
{% block description %}
Login TalentsTube
{% endblock %}
{% block content %}
<div class="container contentWrapper">
<div class="row">
<div class="col s4 offset-s1">
<h3>Connexion</h3>
{% block fos_user_content %}
{{ include('@FOSUser/Security/login_content.html.twig') }}
{% endblock fos_user_content %}
<br />
</div>
<div class="col s4 offset-s2">
<h3>Devenez Talents Tubeur(se) !</h3>
<p><a class="btn btn-default" href="{{ path('fos_user_registration_register') }}" title="inscription Talents Tube">Inscrivez-vous, c'est gratuit !</a></p>
</div>
</div>
</div>
{% endblock %}
{% block metarobot %}
<meta name="robots" content="noindex,nofollow">
<main id="content">
{% include 'defaultv2/accueil/blocPhoto.html.twig'
with {
'urlImage': 'v2/img/1920x800/recrutement-video.jpg',
'textParDefaut' : 'Recrutez les candidats',
'textVideo' : 'avec la vidéo'
} %}
{% include 'defaultv2/accueil/blocDegrade.html.twig' %}
{% include 'defaultv2/accueil/blocPlateforme.html.twig' %}
{% include 'defaultv2/accueil/blocCandidat.html.twig' %}
{% include 'defaultv2/accueil/blocRecrutez.html.twig' %}
{% include 'defaultv2/accueil/blocEmployeur.html.twig' %}
{% include 'defaultv2/accueil/blocTemoignages.html.twig' %}
{% include 'defaultv2/accueil/blocConfiance.html.twig' %}
</main>
<!-- ========== END MAIN CONTENT ========== -->
{% include 'defaultv2/accueil/footer.html.twig' %}
<!-- Begin Panel Login -->
{% include 'defaultv2/accueil/blocLogin.html.twig'
with {
'csrf_token': csrf_token,
'error' : error
} %}
<!-- Go to Top -->
<a class="js-go-to u-go-to" href="javascript:;" data-position='{"bottom": 30, "right": 100 }' data-type="fixed"
data-offset-top="400" data-compensation="#header" data-show-effect="slideInUp" data-hide-effect="slideOutDown">
<i class="fa fa-arrow-up u-go-to__inner"></i>
</a>
<!-- End Go to Top -->
<!-- JS Global Compulsory -->
<script src="{{ asset('v2/vendor/jquery/dist/jquery.min.js') }}"></script>
<script src="{{ asset('v2/vendor/jquery-migrate/dist/jquery-migrate.min.js') }}"></script>
<script src="{{ asset('v2/vendor/popper.js/dist/umd/popper.min.js') }}"></script>
<script src="{{ asset('v2/vendor/bootstrap/bootstrap.min.js') }}"></script>
<!-- JS Implementing Plugins -->
<script src="{{ asset('v2/vendor/hs-megamenu/src/hs.megamenu.js') }}"></script>
<script src="{{ asset('v2/vendor/jquery-validation/dist/jquery.validate.min.js') }}"></script>
<script src="{{ asset('v2/vendor/malihu-custom-scrollbar-plugin/jquery.mCustomScrollbar.concat.min.js') }}"></script>
<script src="{{ asset('v2/vendor/custombox/dist/custombox.min.js') }}"></script>
<script src="{{ asset('v2/vendor/custombox/dist/custombox.legacy.min.js') }}"></script>
<script src="{{ asset('v2/vendor/typed.js/lib/typed.min.js') }}"></script>
<script src="{{ asset('v2/vendor/slick-carousel/slick/slick.js') }}"></script>
<script src="{{ asset('v2/vendor/cubeportfolio/js/jquery.cubeportfolio.min.js') }}"></script>
<script src="{{ asset('v2/vendor/fancybox/jquery.fancybox.min.js') }}"></script>
<!-- JS Space -->
<script src="{{ asset('v2/js/hs.core.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.header.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.unfold.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.validation.js') }}"></script>
<script src="{{ asset('v2/js/helpers/hs.focus-state.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.malihu-scrollbar.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.fancybox.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.modal-window.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.show-animation.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.slick-carousel.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.cubeportfolio.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.g-map.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.go-to.js') }}"></script>
<!-- JS Plugins Init. -->
<script>
// initialization of google map
{# function initMap() {
$.HSCore.components.HSGMap.init('.js-g-map');
} #}
$(window).on('load', function () {
// initialization of HSMegaMenu component
$('.js-mega-menu').HSMegaMenu({
event: 'hover',
pageContainer: $('.container'),
breakpoint: 767,
hideTimeOut: 0
});
});
$(document).on('ready', function () {
// initialization of header
$.HSCore.components.HSHeader.init($('#header'));
// initialization of fancybox
$.HSCore.components.HSFancyBox.init('.js-fancybox');
// initialization of unfold component
$.HSCore.components.HSUnfold.init($('[data-unfold-target]'), {
afterOpen: function () {
if (!$('body').hasClass('IE11')) {
$(this).find('input[type="search"]').focus();
}
}
});
// initialization of form validation
$.HSCore.components.HSValidation.init('.js-validate', {
rules: {
confirmPassword: {
equalTo: '#password'
}
}
});
// initialization of forms
$.HSCore.helpers.HSFocusState.init();
// initialization of malihu scrollbar
$.HSCore.components.HSMalihuScrollBar.init($('.js-scrollbar'));
// initialization of autonomous popups
$.HSCore.components.HSModalWindow.init('[data-modal-target]', '.js-signup-modal', {
autonomous: true
});
// initialization of show animations
$.HSCore.components.HSShowAnimation.init('.js-animation-link');
// initialization of slick carousel
$.HSCore.components.HSSlickCarousel.init('.js-slick-carousel');
$('.u-text-animation.u-text-animation').html("");
// initialization of text animation (typing)
var typed = new Typed(".u-text-animation.u-text-animation--typing", {
strings: ["Recrutez les candidats", "Boostez vos recrutements", "Valorisez vos collaborateurs"],
typeSpeed: 60,
loop: true,
backSpeed: 25,
backDelay: 3000
});
// initialization of cubeportfolio
$.HSCore.components.HSCubeportfolio.init('.cbp');
// initialization of go to
$.HSCore.components.HSGoTo.init('.js-go-to');
});
$(document).ready(function () {
$(window).scroll(function () { // check if scroll event happened
if ($(document).scrollTop() > 50) { // check if user scrolled more than 50 from top of the browser window
$("#logoAndNav").css("background-color","#000"); // if yes, then change the color of class "navbar-fixed-top" to white (#f8f8f8)
$("#sidebarNavToggler").css("color","#fff");
} else {
$("#logoAndNav").css("background-color", "transparent"); // if not, change it back to transparent
$("#sidebarNavToggler").css("color", "#000");
}
});
});
</script>
{% endblock %}
{% block javascripts %}
{{ parent() }}
<script src="https://player.vimeo.com/api/player.js"></script>
{% endblock %}
@@ -60,9 +60,10 @@
{{ form_widget(register_form.cgu) }}
{% block form_label %}
{% spaceless %}
<label for="fos_user_registration_form_cgu">
Je déclare avoir pris connaissance et accepté les termes et les <a target="_blank" href="{{ path("service_cgu") }}">conditions générales dutilisation</a>
</label>
<label for="fos_user_registration_form_cgu">
Je déclare avoir pris connaissance et accepté les termes et les <a target="_blank"
href="{{ path("service_cgu") }}">conditions générales dutilisation</a>
</label>
{% endspaceless %}
{% endblock %}
</div>
@@ -0,0 +1,198 @@
<div>
{% if is_granted("IS_AUTHENTICATED_REMEMBERED") %}
{{ 'layout.logged_in_as'|trans({'%username%': app.user.username}, 'FOSUserBundle') }} |
<a href="{{ path('fos_user_security_logout') }}">
{{ 'layout.logout'|trans({}, 'FOSUserBundle') }}
</a>
{% else %}
<a href="{{ path('fos_user_security_login') }}">{{ 'layout.login'|trans({}, 'FOSUserBundle') }}</a>
{% endif %}
</div>
{% for type, messages in app.session.flashBag.all %}
{% for message in messages %}
<div class="{{ type }}">
{{ message|trans({}, 'FOSUserBundle') }}
</div>
{% endfor %}
{% endfor %}
{% block fos_user_content %}
<div>
{{ form_start(register_form, {'method': 'post', 'action': path('fos_user_registration_register'), 'attr': {'class': 'fos_user_registration_register'}})
}}
{{ form_errors(register_form) }}
<!-- 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">Créer un compte entreprise</h2>
<p>Remplissez tous les champs.</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>
{# {{ form_row(register_form.firstname, {'label': 'Prénom'}) }} #}
{{ form_widget(register_form.firstname, { 'attr': {'class': "form-control form__input",
'placeholder': 'Prénom' , 'aria-label':'Prénom', 'data-error-class' : 'u-has-error', 'data-success-class' : 'u-has-success', 'data-msg' : 'Entrez un prénom valide'} }) }}
{# <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-user form__text-inner"></i>
</span>
</div>
{# {{ form_row(register_form.lastname, {'label': 'Nom'}) }} #}
{{ form_widget(register_form.lastname, { 'attr': {'class': "form-control form__input",
'placeholder': 'Nom' , 'aria-label':'Nom', 'data-error-class' : 'u-has-error', 'data-success-class' : 'u-has-success', 'data-msg' : 'Entrez un nom valide'} }) }}
{# <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-envelope form__text-inner"></i>
</span>
</div>
{# {{ form_row(register_form.email, {'label': 'E-mail'}) }} #}
{{ form_widget(register_form.email, { 'attr': {'class': "form-control form__input",
'placeholder': 'Email' , 'aria-label':'Email', 'data-error-class' : 'u-has-error', 'data-success-class' : 'u-has-success', 'data-msg' : 'Entrez un email valide'} }) }}
{# <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-star form__text-inner"></i>
</span>
</div>
{# {{ form_row(register_form.username, {'label': 'Username'}) }} #}
{{ form_widget(register_form.username, { 'attr': {'class': "form-control form__input",
'placeholder': 'Identifiant' , 'aria-label':'username', 'data-error-class' : 'u-has-error', 'data-success-class' : 'u-has-success', 'data-msg' : 'Entrez un email valide'} }) }}
{# <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>
{# {{ form_row(register_form.plainPassword.first, {'label': 'Mot de passe'}) }} #}
{{ form_widget(register_form.plainPassword.first, { 'attr': {'class': "form-control form__input",
'placeholder': 'Mot de passe' , 'aria-label':'Mot de passe', 'data-error-class' : 'u-has-error', 'data-success-class' : 'u-has-success', 'data-msg' : 'Mot de passe invalide'} }) }}
</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>
{# {{ form_row(register_form.plainPassword.second, {'label': 'Répéter le mot de passe'}) }} #}
{{ form_widget(register_form.plainPassword.second, { 'attr': {'class': "form-control form__input",
'placeholder': 'Répéter le mot de passe' , 'aria-label':'Répéter le mot de passe', 'data-error-class' : 'u-has-error', 'data-success-class' : 'u-has-success', 'data-msg' : 'Mot de passe invalide'} }) }}
</div>
</div>
{% if destination_login is defined %}
<input type="hidden" name="_target_path" value="{{ destination_login }}" />
{% endif %}
<!-- End Input -->
<div class="mb-3">
{% set label = 'user.cgu.label'|trans({'%link_start%' : '<a style="margin-bottom:25px;" target="_blank" href="'~path('service_cgu')~'">', '%link_end%' : '</a>'}, 'messages') | raw %}
{{ form_errors(register_form.cgu) }}
{{ form_widget(register_form.cgu) }}
{% block form_label %}
{% spaceless %}
<label for="fos_user_registration_form_cgu">
Je déclare avoir pris connaissance et accepté les termes et les <a target="_blank"
href="{{ path("service_cgu") }}">conditions générales dutilisation</a>
</label>
{% endspaceless %}
{% endblock %}
</div>
<div class="mb-3">
{% if csrf_token %}
<input type="hidden" name="_csrf_token" ID="_csrf_token" value="{{ csrf_token }}" />
{% endif %}
<input class="btn btn-default btn-round" type="submit" id="_submit_register" name="_submit_register"
value="Créer un compte" />
<button type="submit" class="btn btn-block btn-primary">S'inscrire</button>
</div>
<div class="text-center mb-3">
<p class="text-muted">
Vous avez déjà un compte? {{ csrf_token }}!!
<a class="js-animation-link" href="javascript:;" data-target="#signin" data-link-group="idForm"
data-animation-in="fadeIn">Connexion Recruteur
</a>
</p>
</div>
<!-- Divider -->
<div class="text-center u-divider-wrapper my-3">
</div>
<div class="text-center mb-3">
<p class="text-muted">
<!-- End Divider -->
{% if destination_login is defined %}
<input type="hidden" name="_target_path" value="{{ destination_login }}" />
{% endif %}
</p>
</div>
</div>
<!-- End Signup -->
{{ form_rest(register_form) }}
{{ form_end(register_form) }}
</div>
{% endblock fos_user_content %}
@@ -1,27 +1,59 @@
{% extends "base.html.twig" %}
{% extends "basev2.html.twig" %}
{% block title %}
Inscription à TalentsTube
{% endblock %}
{% block title %}Inscription à la première solution de recrutement en vidéo{% endblock %}
{% block meta %}
<meta name="description" content="Inscrivez-vous à TalentsTube la première plateforme de recrutement vidéo.">
<meta name="twitter:card" content="summary">
<meta name="twitter:site" content="@TalentsTube">
<meta name="twitter:title" content="Espace recruteur - Solution de recrutement en vidéo | Talents Tube">
<meta name="twitter:description"
content="Vous souhaitez recruter en vidéo ? Talents Tube diffuse vos vidéos doffres demploi et marque employeur pour attirer les meilleurs talents en vidéo.">
<meta name="twitter:image" content="{{ absolute_url(asset('img/mail/logo-talents-tube.png')) }}">
{#Open Graph data pour le partage sur les réseaux sociaux (ex Facebook..)#}
<meta property="og:title" content="Espace recruteur - Solution de recrutement en vidéo | Talents Tube" />
<meta property="og:type" content="article" />
<meta property="og:image" content="{{ absolute_url(asset('img/mail/logo-talents-tube.png')) }}" />
<meta property="og:description"
content="Vous souhaitez recruter en vidéo ? Talents Tube diffuse vos vidéos doffres demploi et marque employeur pour attirer les meilleurs talents en vidéo." />
<meta property="og:site_name" content="Talents Tube" />
<meta property="og:url"
content="{{ url(app.request.attributes.get('_route'), app.request.attributes.get('_route_params')) }}" />
{% endblock %}
{% block menu %}
{% block description %}
Inscrivez-vous à TalentsTube la première plateforme de recrutement vidéo.
{% endblock %}
{% block content %}
{% for type, messages in app.session.flashBag.all %}
{% for message in messages %}
{% block content %}
<main id="content">
<div class="container space-2 ">
<div class="row row justify-content-lg-end ">
<div class="col-md-12 ">
{% for type, messages in app.session.flashBag.all %}
{% for message in messages %}
<div class="{{ type }}">
{{ message|trans({}, 'FOSUserBundle') }}
</div>
{% endfor %}
{% endfor %}
<div>
{% block fos_user_content %}
{% endblock fos_user_content %}
{% endfor %}
{% endfor %}
<div>
{% block fos_user_content %}
{% endblock fos_user_content %}
</div>
</div>
</div>
{% endblock %}
</div>
</main>
{% endblock %}
{% block metarobot %}
<meta name="robots" content="noindex,nofollow">
{% block javascripts %}
{% javascripts
'@vendors'
'@global'
output='assetic/main.js' filter='?uglifyjs2' %}
<script src="{{ asset_url }}"></script>
{% endjavascripts %}
{% endblock %}
@@ -10,7 +10,7 @@
{% endif %}
<div id="fairlane-cookie-consent" {% if fairlane_cookie_consent.useBootstrap == true %}class="navbar navbar-fixed-top"{% endif %}>
<div class="container">
<div class="row">
<div class="">
<div class="col s8">
<p>{{ text_info }}
{% if fairlane_cookie_consent.twig.url_additional_info| length > 1 and text_additional_info_link | length > 1 %}
@@ -1,4 +1,4 @@
{% extends 'base.html.twig' %}
{% extends 'basetemporaire.html.twig' %}
{% block urlCanonical %}
#!
@@ -1,5 +1,6 @@
{% extends 'base.html.twig' %}
{% extends 'basev2.html.twig' %}
{% block content %}
<main id="content">
<div class="row">
<div class="col s12">
<h2 class="center-align m-t-100">Page introuvable</h2>
@@ -9,4 +10,5 @@
</p>
</div>
</div>
</main>
{% endblock %}
@@ -109,6 +109,10 @@
<source>company.menu.ads.label</source>
<target>Espace offres d'emploi</target>
</trans-unit>
<trans-unit id="company.menu.users.label">
<source>company.menu.users.label</source>
<target>Utilisateurs</target>
</trans-unit>
<trans-unit id="company.title.ads.label">
<source>company.title.ads.label</source>
<target>Mes offres d'emploi</target>
@@ -129,6 +133,14 @@
<source>company.menu.videotheque.label</source>
<target>Vidéothèque</target>
</trans-unit>
<trans-unit id="company.menu.candidature.label">
<source>company.menu.candidature.label</source>
<target>Candidatures</target>
</trans-unit>
<trans-unit id="company.menu.marque.label">
<source>company.menu.marque.label</source>
<target>Marque employeur</target>
</trans-unit>
<trans-unit id="company.menu.search.label">
<source>company.menu.search.label</source>
<target>Mes recherches</target>
@@ -228,7 +240,7 @@
</trans-unit>
<trans-unit id="profile.company.tags">
<source>profile.company.tags</source>
<target>Mots clés : merci de séparer vos mots clés par une virgule</target>
<target>Mots clés</target>
</trans-unit>
<trans-unit id="profile.company.logo">
<source>profile.company.logo</source>
@@ -259,6 +271,10 @@
<target>Mon profil</target>
</trans-unit>
<!-- ANNONCE-->
<trans-unit id="ad.company.list.label">
<source>ad.company.list.label</source>
<target>Liste de mes offres</target>
</trans-unit>
<trans-unit id="ad.company.add.label">
<source>ad.company.add.label</source>
<target>Ajouter une offre</target>
@@ -307,6 +323,36 @@
<source>ad.save.extension.title</source>
<target>La prolongation pour l'annonce a bien été pris en compte.</target>
</trans-unit>
<!-- USERS-->
<trans-unit id="user.add.label">
<source>user.add.label</source>
<target>Ajouter un utilisateur</target>
</trans-unit>
<trans-unit id="label.users">
<source>label.users</source>
<target>Utilisateurs</target>
</trans-unit>
<trans-unit id="user.list.nom">
<source>user.list.nom</source>
<target>Nom</target>
</trans-unit>
<trans-unit id="user.list.prenom">
<source>user.list.prenom</source>
<target>Prénom</target>
</trans-unit>
<trans-unit id="user.list.email">
<source>user.list.email</source>
<target>Mail</target>
</trans-unit>
<trans-unit id="user.list.actions">
<source>user.list.actions</source>
<target>Actions</target>
</trans-unit>
<trans-unit id="user.edit.label">
<source>user.edit.label</source>
<target>Editer</target>
</trans-unit>
<!-- FIN USERS-->
<!-- MEDIA -->
<trans-unit id="media.delete.video.label">
<source>media.delete.video.label</source>
@@ -480,7 +526,7 @@
<div style="margin:0 auto;max-width:600px;background:#FFFFFF;"><table class="" cellpadding="0" cellspacing="0" style="width:100%;font-size:0px;background:#FFFFFF;" align="center"><tbody><tr><td style="text-align:center;vertical-align:top;font-size:0;padding:0px;"><!--[if mso]>
<table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:600px;">
<![endif]--><div style="vertical-align:top;display:inline-block;font-size:13px;text-align:left;width:100%;" class="mj-column-per-100" aria-labelledby="mj-column-per-100"><table width="100%"><tbody><tr><td style="font-size:0;padding:20px 35px 20px 35px;" align="left"><div class="mj-content" style="cursor:auto;color:#534F4F;font-family:Trebuchet,Helvetica,sans-serif;font-size:14px;line-height:22px;"><p>*Ce lien ne peut être utilisé quune seule fois pour valider votre compte.</p>
<p>Si vous n’êtes pas à lorigine de linscription sur Talents Tube, veuillez contacter le <a href="https://blog.talentstube.com/contact.html" style="color:#155EE4;text-decoration:none;">support Talents Tube</a>.</p>
<p>Si vous n’êtes pas à lorigine de linscription sur Talents Tube, veuillez contacter le <a href="https://blog.talentstube.com/contact" style="color:#155EE4;text-decoration:none;">support Talents Tube</a>.</p>
<p>Merci de votre compréhension.</p>
<p>Talents Tube</p></div></td></tr></tbody></table></div><!--[if mso]>
</td></tr></table>
@@ -507,7 +553,7 @@
<div style="margin:0 auto;max-width:600px;background:#FFFFFF;"><table class="" cellpadding="0" cellspacing="0" style="width:100%;font-size:0px;background:#FFFFFF;" align="center"><tbody><tr><td style="text-align:center;vertical-align:top;font-size:0;padding:0px;"><!--[if mso]>
<table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:600px;">
<![endif]--><div style="vertical-align:top;display:inline-block;font-size:13px;text-align:left;width:100%;" class="mj-column-per-100" aria-labelledby="mj-column-per-100"><table width="100%"><tbody><tr><td style="font-size:0;padding:20px 35px 20px 35px;" align="left"><div class="mj-content" style="cursor:auto;color:#534F4F;font-family:Trebuchet,Helvetica,sans-serif;font-size:14px;line-height:22px;"><p>*Ce lien ne peut être utilisé quune seule fois pour valider votre compte.</p>
<p>Si vous n’êtes pas à lorigine de linscription sur Talents Tube, veuillez contacter le <a href="https://blog.talentstube.com/contact.html" style="color:#155EE4;text-decoration:none;">support Talents Tube</a>.</p>
<p>Si vous n’êtes pas à lorigine de linscription sur Talents Tube, veuillez contacter le <a href="https://blog.talentstube.com/contact" style="color:#155EE4;text-decoration:none;">support Talents Tube</a>.</p>
<p>Merci de votre compréhension.</p>
<p>Talents Tube</p></div></td></tr></tbody></table></div><!--[if mso]>
</td></tr></table>
@@ -29,6 +29,7 @@
{{ form_row(form.title) }}
{{ form_row(form.location) }}
{{ form_row(form.location_gmap) }}
{{ form_row(form.beneficiaire) }}
{{ form_row(form.description) }}
{{ form_row(form.publicTag) }}
@@ -0,0 +1,268 @@
{% extends 'admin/base_admin.html.twig' %}
{% block js %}
{# <link rel="stylesheet" href="//cdn.datatables.net/1.10.16/css/jquery.dataTables.min.css">
<link rel="stylesheet" href="https://cdn.datatables.net/buttons/1.4.1/css/buttons.dataTables.min.css"> #}
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/1.10.22/css/jquery.dataTables.min.css">
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/buttons/1.6.4/css/buttons.dataTables.min.css">
{# <script type="text/javascript" language="javascript" src="https://code.jquery.com/jquery-3.5.1.js"></script>
<script type="text/javascript" language="javascript" src="https://cdn.datatables.net/1.10.22/js/jquery.dataTables.min.js"></script>
<script type="text/javascript" language="javascript" src="https://cdn.datatables.net/buttons/1.6.4/js/dataTables.buttons.min.js"></script>
<script type="text/javascript" language="javascript" src="https://cdn.datatables.net/buttons/1.6.4/js/buttons.flash.min.js"></script> #}
<script type="text/javascript" src="https://code.jquery.com/jquery-3.5.1.js"></script>
<script type="text/javascript" src="https://cdn.datatables.net/1.10.22/js/jquery.dataTables.min.js"></script>
<script type="text/javascript" src="https://cdn.datatables.net/buttons/1.6.4/js/dataTables.buttons.min.js"></script>
<script type="text/javascript" language="javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.1.3/jszip.min.js"></script>
<script type="text/javascript" language="javascript" src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.53/pdfmake.min.js"></script>
<script type="text/javascript" language="javascript" src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.53/vfs_fonts.js"></script>
<script type="text/javascript" language="javascript" src="https://cdn.datatables.net/buttons/1.6.4/js/buttons.html5.min.js"></script>
<script type="text/javascript" language="javascript" src="https://cdn.datatables.net/buttons/1.6.4/js/buttons.print.min.js"></script>
{# <script type="text/javascript" src="https://cdn.datatables.net/buttons/1.6.4/js/buttons.flash.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.1.3/jszip.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.53/pdfmake.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.53/vfs_fonts.js"></script>
<script type="text/javascript" src="https://cdn.datatables.net/buttons/1.6.4/js/buttons.html5.min.js"></script>
<script type="text/javascript" src="https://cdn.datatables.net/buttons/1.6.4/js/buttons.print.min.js"></script> #}
{% endblock %}
{% block contentHeader %}
<h1>
Liste des Candidatures
</h1>
<ol class="breadcrumb">
<li><a href="{{ path('admin_dashboard') }}"><i class="fa fa-dashboard"></i> Dashboard</a></li>
<li class="active">Annonces</li>
</ol>
{% endblock %}
{% block content %}
<style type="text/css">
/* Hide default search box */
.dataTables_filter {
display: none;
}
</style>
<div class="box box-primary">
<div class="box-body">
<table width="100%" class="table " style="background-color: #3c8dbc">
<thead>
<tr>
<th colspan="5" class="text-center">RECHERCHE</th>
</tr>
</thead>
<tr>
<th width="4%"><input id='input1' type='text' class='form-control' placeholder='par id' style='font-family:Arial, FontAwesome; width:100%'/></th>
<th width="11%"><input id='input3' type='text' class='form-control' placeholder='par nom' style='font-family:Arial, FontAwesome; width:100%'/></th>
<th width="11%"><input id='input4' type='text' class='form-control' placeholder='par prénom' style='font-family:Arial, FontAwesome; width:100%'/></th>
<th width="25%"><input id='input5' type='text' class='form-control' placeholder='par entreprise / offre' style='font-family:Arial, FontAwesome; width:100%'/></th>
<th width="15%"><input id='input7' type='text' class='form-control' placeholder='par statut' style='font-family:Arial, FontAwesome; width:100%'/></th>
</tr>
</table>
<br/>
<table id="towns_dt_table" width="100%" class="table table-hover table-bordered">
{# Add a tfoot which will actually be used to place the individual search boxes #}
<tfoot>
<tr>
<th width="4%">id</th>
<th width="6%">Date d'envoi</th>
<th width="11%">Nom</th>
<th width="11%">Prénom</th>
<th width="25%">Annonce / entreprise</th>
<th width="28%">Vidéo</th>
<th width="15%">Statut</th>
<th width="10%">Actions</th>
</tr>
{# <tr>
<th><input id='input1' type='text' class='form-control' placeholder='' style='font-family:Arial, FontAwesome; width:100%'/></th>
<th></th>
<th><input id='input3' type='text' class='form-control' placeholder='' style='font-family:Arial, FontAwesome; width:100%'/></th>
<th><input id='input4' type='text' class='form-control' placeholder='' style='font-family:Arial, FontAwesome; width:100%'/></th>
<th></th>
<th><input id='input5' type='text' class='form-control' placeholder='' style='font-family:Arial, FontAwesome; width:100%'/></th>
</tr> #}
</tfoot>
<thead>
<tr>
<th>Id</th>
<th>Date d'envoi</th>
<th>Nom</th>
<th>Prénom</th>
<th>Annonce / entreprise</th>
<th>Vidéo</th>
<th>Statut</th>
<th>Actions</th>
</tr>
</thead>
<tbody></tbody>
</table>
{# <table id="answer_list_table" class="table table-hover table-bordered">
<thead>
<tr>
<th class="col-xs-2">Date d'envoi</th>
<th>Utilisateur</th>
<th>Annonce / Entreprise</th>
<th>video</th>
<th>Status</th>
<th>action</th>
</tr>
</thead>
<tbody>
{% for answer in answers if answer.status != "DRAFT" %}
<tr>
<td data-order="{{ answer.sendTime|date('U') }}">{{ answer.sendTime|date('d/m/Y') }}</td>
<td>{{ answer.user.firstname }} {{ answer.user.lastname }}</td>
{% if answer.ad %}
<td>{{ answer.ad.company.brandname }} - {{ answer.ad.title }}</td>
{% else %}
<td>{{ answer.company.brandname }}</td>
{% endif %}
<td>
ID Candidature : {{ answer.id }}<br />
{% if answer.video.cdnUrl is defined %}
<iframe src="https://player.vimeo.com/video/{{ answer.video.cdnUrl|replace({ "/videos/": ""}) }}"
width="auto" height="auto" frameborder="0" webkitallowfullscreen mozallowfullscreen
allowfullscreen></iframe>
{% endif %}
</td>
<td class="status">{{ answer.status }}</td>
<td>
Actions :
<select class="changeStatus" name="changeStatus" data-id="{{ answer.id }}">
<option value="null">choisir</option>
<option value="SENDED">Envoyé</option>
<option value="DRAFT">Brouillon</option>
<option value="REFUSED">Refuser</option>
</select>
<br />
<a class="delete-answer" href='{{ path("admin_answer_delete",{'id':answer.id }) }}' data-toggle="tooltip" title="Supprimer">
Supprimer <i class="fa fa-trash"></i>
</a>
</td>
</tr>
{% endfor %}
</tbody>
</table> #}
</div>
</div>
{% endblock %}
{% block javascripts %}
<script>
$(document).ready(function(){
// Add a text input to each footer cell
var pos = 1;
$('#towns_dt_table tfoot th').each( function () {
var title = $(this).text();
//$(this).html( "<input id='input" + pos + "' type='text' class='form-control' placeholder='' style='font-family:Arial, FontAwesome; width:100%'/>" );
pos ++;
});
var table = $('#towns_dt_table').DataTable({
buttons: [
'copy', 'csv', 'excel', 'pdf', 'print'
],
"columnDefs": [
{ "name": "ad_id", "targets": 0 , "searchable": true, "orderable": true},
{ "name": "date_envoi", "targets": 1 , "searchable": true, "orderable": true},
{ "name": "nom", "targets": 2 , "searchable": true, "orderable": true},
{ "name": "prenom", "targets": 3 , "searchable": true, "orderable": true},
{ "name": "entreprise", "targets": 4, "searchable": true, "orderable": true },
{ "name": "video", "targets": 5 },
{ "name": "status", "targets": 6 , "searchable": true, "orderable": true},
{ "name": "actions", "targets": 7 },
],
"processing": true,
"serverSide": true,
"ajax": {
"url": '{{ path('alimenterCandidatures') }}',
"type": 'POST'
},
"paging" : true,
"info" : true,
"searching": true,
"bFilter":true,
"responsive": true,
"pageLength": 10,
"order": [[0, 'desc']],
"language": {
"url": "http://cdn.datatables.net/plug-ins/1.10.11/i18n/French.json"
},
});
// Apply the search
pos = 1;
table.columns().every( function () {
var that = this;
$("#input"+pos).on( 'keyup change', function () {
if ( that.search() !== this.value )
{
that
.search( this.value )
.draw();
}
});
pos++;
});
$('#towns_dt_table_filter').hide();
});
function changerStatut(value, id){
var idAnswer = id;
var route = '/app_dev.php/admin/config/answer/' + idAnswer + '/status/' + value;
var select = $(this);
$.ajax({
type: "POST",
url: route,
dataType: "json",
success: function (msg) {
console.log("ok");
$("#status_"+id).text(value);
}
});
}
</script>
{% endblock %}
@@ -3,6 +3,7 @@
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="robots" content="noindex,nofollow">
<title>TT | Admin</title>
<meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport">
<link rel="stylesheet" href="{{ asset('css/admin.css') }}">
@@ -14,10 +15,12 @@
<link rel="stylesheet" href="{{ asset('admin/AdminLTE/dist/css/skins/skin-blue.min.css') }}">
<link rel="stylesheet" href="{{ asset('admin/AdminLTE/plugins/datatables/dataTables.bootstrap.css') }}">
<link rel="stylesheet" href="{{ asset('admin/AdminLTE/plugins/datatables/dataTables.bootstrap.css') }}">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jquery-confirm/3.3.2/jquery-confirm.min.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/confirm/3.3.2/jquery-confirm.min.css">
<script type="text/javascript" defer="defer" src="https://extend.vimeocdn.com/ga/64189815.js"></script>
<link href="https://gitcdn.github.io/bootstrap-toggle/2.2.2/css/bootstrap-toggle.min.css" rel="stylesheet">
{% block js %}
{% endblock %}
{% block css %}
{% endblock %}
@@ -0,0 +1,143 @@
<!DOCTYPE html>
<html lang="fr">
<head>
<meta http-equiv="content-type" content="text/html;charset=UTF-8" />
<meta charset="utf-8" />
<title>Pages - Admin Dashboard UI Kit - Dashboard</title>
<meta name="viewport"
content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no, shrink-to-fit=no" />
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-touch-fullscreen" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="default">
<meta content="Meet pages - The simplest and fastest way to build web UI for your dashboard or app."
name="description" />
<meta content="Ace" name="author" />
<link href="{{ asset('dashboard/plugins/pace/pace-theme-flash.css') }}" rel="stylesheet" type="text/css" />
<link href="{{ asset('dashboard/plugins/bootstrap/css/bootstrap.min.css') }}" rel="stylesheet" type="text/css" />
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<link href="{{ asset('dashboard/plugins/jquery-scrollbar/jquery.scrollbar.css') }}" rel="stylesheet" type="text/css"
media="screen" />
<link href="{{ asset('dashboard/plugins/select2/css/select2.min.css') }}" rel="stylesheet" type="text/css"
media="screen" />
<link href="{{ asset('dashboard/plugins/nvd3/nv.d3.min.css') }}" rel="stylesheet" type="text/css" media="screen" />
<link href="{{ asset('dashboard/plugins/mapplic/css/mapplic.css') }}" rel="stylesheet" type="text/css" />
<link href="{{ asset('dashboard/plugins/rickshaw/rickshaw.min.css') }}" rel="stylesheet" type="text/css" />
<link class="main-stylesheet" href="{{ asset('dashboard/pages/css/themes/corporate.css') }}" rel="stylesheet"
type="text/css" />
<!-- Please remove the file below for production: Contains demo classes -->
<link class="main-stylesheet" href="{{ asset('dashboard/css/style.css') }}" rel="stylesheet" type="text/css" />
<script type="text/javascript">window.$crisp=[];window.CRISP_WEBSITE_ID="08e9d301-ba14-4d69-8b1a-53685114c5af";(function(){d=document;s=d.createElement("script");s.src="https://client.crisp.chat/l.js";s.async=1;d.getElementsByTagName("head")[0].appendChild(s);})();</script>
<!-- BEGIN VENDOR JS -->
<script src="{{ asset('dashboard/plugins/pace/pace.min.js') }}" type="text/javascript"></script>
<!-- A polyfill for browsers that don't support ligatures: remove liga.js if not needed-->
<script src="{{ asset('dashboard/plugins/liga.js') }}" type="text/javascript"></script>
<script src="{{ asset('dashboard/plugins/jquery/jquery-3.2.1.min.js') }}" type="text/javascript"></script>
{# <script type="text/javascript" src="http://code.jquery.com/jquery-3.2.1.min.js"></script> #}
<script src="{{ asset('dashboard/plugins/modernizr.custom.js') }}" type="text/javascript"></script>
<script src="{{ asset('dashboard/plugins/jquery-ui/jquery-ui.min.js') }}" type="text/javascript"></script>
<script src="{{ asset('dashboard/plugins/popper/umd/popper.min.js') }}" type="text/javascript"></script>
<script src="{{ asset('dashboard/plugins/bootstrap/js/bootstrap.min.js') }}" type="text/javascript"></script>
<script src="{{ asset('dashboard/plugins/jquery/jquery-easy.js') }}" type="text/javascript"></script>
<script src="{{ asset('dashboard/plugins/jquery-unveil/jquery.unveil.min.js') }}" type="text/javascript"></script>
<script src="{{ asset('dashboard/plugins/jquery-ios-list/jquery.ioslist.min.js') }}" type="text/javascript"></script>
<script src="{{ asset('dashboard/plugins/jquery-actual/jquery.actual.min.js') }}"></script>
<script src="{{ asset('dashboard/plugins/jquery-scrollbar/jquery.scrollbar.min.js') }}"></script>
<script type="text/javascript" src="{{ asset('dashboard/plugins/select2/js/select2.full.min.js') }}"></script>
<script type="text/javascript" src="{{ asset('dashboard/plugins/classie/classie.js') }}"></script>
<script src="{{ asset('dashboard/plugins/nvd3/lib/d3.v3.js') }}" type="text/javascript"></script>
<script src="{{ asset('dashboard/plugins/nvd3/nv.d3.min.js') }}" type="text/javascript"></script>
<script src="{{ asset('dashboard/plugins/nvd3/src/utils.js') }}" type="text/javascript"></script>
<script src="{{ asset('dashboard/plugins/nvd3/src/tooltip.js') }}" type="text/javascript"></script>
<script src="{{ asset('dashboard/plugins/nvd3/src/interactiveLayer.js') }}" type="text/javascript"></script>
<script src="{{ asset('dashboard/plugins/nvd3/src/models/axis.js') }}" type="text/javascript"></script>
<script src="{{ asset('dashboard/plugins/nvd3/src/models/line.js') }}" type="text/javascript"></script>
<script src="{{ asset('dashboard/plugins/nvd3/src/models/lineWithFocusChart.js') }}" type="text/javascript"></script>
<script src="{{ asset('dashboard/plugins/mapplic/js/hammer.min.js') }}"></script>
<script src="{{ asset('dashboard/plugins/mapplic/js/jquery.mousewheel.js') }}"></script>
<script src="{{ asset('dashboard/plugins/mapplic/js/mapplic.js') }}"></script>
{# <script src="{{ asset('dashboard/plugins/rickshaw/rickshaw.min.js') }}"></script> #}
<script src="{{ asset('dashboard/plugins/jquery-sparkline/jquery.sparkline.min.js') }}" type="text/javascript">
</script>
<script src="{{ asset('dashboard/plugins/skycons/skycons.js') }}" type="text/javascript"></script>
{# <script src="{{ asset('dashboard/plugins/quill/quill.min.js') }}" type="text/javascript"></script> #}
<!-- END VENDOR JS -->
<!-- BEGIN CORE TEMPLATE JS -->
<!-- BEGIN CORE TEMPLATE JS -->
<script src="{{ asset('dashboard/pages/js/pages.js') }}"></script>
<script src="{{ asset('dashboard/pages/js/pages.email.js') }}"></script>
<!-- END CORE TEMPLATE JS -->
<!-- BEGIN PAGE LEVEL JS -->
<script src="{{ asset('dashboard/js/scripts.js') }}" type="text/javascript"></script>
<!-- END PAGE LEVEL JS -->
<!-- END CORE TEMPLATE JS -->
<!-- BEGIN PAGE LEVEL JS -->
<script src="{{ asset('dashboard/js/dashboard.js') }}" type="text/javascript"></script>
<!-- END PAGE LEVEL JS -->
{% block javascriptSupl %}
{% endblock %}
<!-- END PAGE LEVEL JS -->
</head>
<body class="fixed-header dashboard menu-pin menu-behind">
{# {{ include('default/user_switch.html.twig') }} #}
{{ include('admin/navigation_gauche.html.twig')}} }}
<!-- START PAGE-CONTAINER -->
<div class="page-container ">
{{ include('admin/base_dashboard_header.html.twig') }}
<!-- START PAGE CONTENT WRAPPER -->
<div class="page-content-wrapper ">
<div class="content ">
{% block dashContent %}
Dashboard Company
{% endblock %}
</div>
<!-- START COPYRIGHT -->
<!-- START CONTAINER FLUID -->
<!-- START CONTAINER FLUID -->
<div class=" container-fluid container-fixed-lg footer">
<div class="copyright sm-text-center">
<p class="small-text no-margin pull-left sm-pull-reset">
©2017-2020 Talents Tube
</p>
<p class="small no-margin pull-right sm-pull-reset">
Besoin d'aide ? 02 30 05 06 31
</p>
<div class="clearfix"></div>
</div>
</div>
<!-- END COPYRIGHT -->
</div>
<!-- END PAGE CONTENT WRAPPER -->
</div>
<!-- END PAGE CONTAINER -->
{% block javascripts %}
<script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyDYV8IJGtIoWLfXJQQvIuDQ88n2aEuRgpg&libraries=places">
</script>
{% javascripts
'@vendors'
'@global'
'@company'
output='assetic/main.dash.company.js' filter='?uglifyjs2' %}
<script src="{{ asset_url }}"></script>
{% endjavascripts %}
{% endblock %}
{% block javascriptsSecondaire %}
{% endblock %}
{% block javascriptsEnd %}
{% endblock %}
</body>
</html>
@@ -0,0 +1,33 @@
<!-- START HEADER -->
<div class="header ">
<!-- START MOBILE SIDEBAR TOGGLE -->
<a href="#" class="btn-link toggle-sidebar d-lg-none pg-icon btn-icon-link" data-toggle="sidebar">
menu</a>
<!-- END MOBILE SIDEBAR TOGGLE -->
<div class="">
<div class="brand inline m-l-10">
<img src="{{ asset('/img/Logo-header.png') }}" alt="logo" data-src="{{ asset('/img/Logo-header.png') }}" data-src-retina="{{ asset('/img/Logo-header.png') }}" width="78" height="22">
</div>
</div>
<div class="d-flex align-items-center">
<!-- START User Info-->
<div class="dropdown pull-right d-lg-block d-none">
<button class="profile-dropdown-toggle" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" aria-label="profile dropdown">
<span class="thumbnail-wrapper d32 circular inline">
<img src="{{ asset('dashboard/img/profiles/account-avatar-default.svg') }}" alt="" data-src="{{ asset('dashboard/img/profiles/account-avatar-default.svg') }}"
data-src-retina="{{ asset('dashboard/img/profiles/account-avatar-default.svg') }}" width="32" height="32">
</span>
</button>
<div class="dropdown-menu dropdown-menu-right profile-dropdown" role="menu">
<a href="/logout" class="dropdown-item">Se déconnecter</a>
</div>
</div>
<!-- END User Info-->
<a href="#" class="header-icon m-l-5 sm-no-margin d-inline-block" data-toggle="quickview" data-toggle-element="#quickview">
<i class="pg-icon btn-icon-link">menu_add</i>
</a>
</div>
</div>
<!-- END HEADER -->
@@ -0,0 +1,169 @@
<!-- BEGIN SIDEBPANEL-->
<nav class="page-sidebar" data-pages="sidebar">
<!-- BEGIN SIDEBAR MENU TOP TRAY CONTENT-->
{# <div class="sidebar-overlay-slide from-top" id="appMenu">
<div class="row">
<div class="col-xs-6 no-padding">
<a href="#" class="p-l-40"><img src="{{ asset('dashboard/img/demo/social_app.svg') }}" alt="socail">
</a>
</div>
<div class="col-xs-6 no-padding">
<a href="#" class="p-l-10"><img src="{{ asset('dashboard/img/demo/email_app.svg') }}" alt="socail">
</a>
</div>
</div>
<div class="row">
<div class="col-xs-6 m-t-20 no-padding">
<a href="#" class="p-l-40"><img src="{{ asset('dashboard/img/demo/calendar_app.svg') }}" alt="socail">
</a>
</div>
<div class="col-xs-6 m-t-20 no-padding">
<a href="#" class="p-l-10"><img src="{{ asset('dashboard/img/demo/add_more.svg') }}" alt="socail">
</a>
</div>
</div>
</div> #}
<!-- END SIDEBAR MENU TOP TRAY CONTENT-->
<!-- BEGIN SIDEBAR MENU HEADER-->
<div class="sidebar-header">
{# <img src="{{ asset('dashboard/img/logo_white.png') }}" alt="logo" class="brand"
data-src="{{ asset('dashboard/img/logo_white.png') }}"
data-src-retina="{{ asset('dashboard/img/logo_white_2x.png') }}" width="78" height="22"> #}
{# <div class="sidebar-header-controls">
<button aria-label="Toggle Drawer" type="button"
class="btn btn-icon-link invert sidebar-slide-toggle m-l-20 m-r-10" data-pages-toggle="#appMenu">
<i class="pg-icon">chevron_down</i>
</button>
<button aria-label="Pin Menu" type="button"
class="btn btn-icon-link invert d-lg-inline-block d-xlg-inline-block d-md-inline-block d-sm-none d-none"
data-toggle-pin="sidebar">
<i class="pg-icon"></i>
</button>
</div> #}
</div>
<!-- END SIDEBAR MENU HEADER-->
<!-- START SIDEBAR MENU -->
<div class="sidebar-menu">
<!-- BEGIN SIDEBAR MENU ITEMS-->
<ul class="menu-items">
<li class="m-t-20 ">
<a href="{{ path('company_dashboard') }}" class="detailed">
<span class="">Tableau de bord</span>
<span class="details"></span>
</a>
<span class="icon-thumbnail"><span class="material-icons">
home
</span>
</span>
</li>
<li>
<a href="javascript:;"><span class="principal">Entreprise</span>
<span class=" arrow"></span></a>
<span class="icon-thumbnail">
<span class="material-icons">
business
</span>
</span>
<ul class="sub-menu">
<li class="">
<a href="{{ path('company_profile') }}">Profil de l'Entreprise</a>
<span class="icon-thumbnail">
<span class="material-icons">
store_mall_directory
</span>
</span>
</li>
<li class="">
<a href="{{ path('company_marque') }}">Vidéo marque employeur</a>
<span class="icon-thumbnail">
<span class="material-icons">
store_mall_directory
</span>
</span>
</li>
<li class="">
<a href="{{ path('users') }}">Utilisateurs</a>
<span class="icon-thumbnail">
<span class="material-icons">
group
</span>
</span>
</li>
{# <li class="">
<a href="{{ path('users') }}">Informations juridiques</a>
<span class="icon-thumbnail">
<span class="material-icons">
gavel
</span>
</span>
</li> #}
</ul>
</li>
<li class="">
<a href="{{ path('company_ad') }}">
<span class="">Offres d'emploi</span>
</a>
<span class="icon-thumbnail">
<span class="material-icons">
work
</span>
</span>
</li>
<li class="">
<a href="{{ path('company_answer_list') }}">
<span class="">Candidatures</span>
</a>
<span class="icon-thumbnail">
<span class="material-icons">
face
</span>
</span>
</li>
<li class="">
<a href="{{ path('company_my_account') }}">
<span class="">Mes paramètres</span>
</a>
<span class="icon-thumbnail">
<span class="material-icons">
settings
</span>
</span>
</li>
<li class="">
<a href="mailto:contact@talentstube.com">
<span class="principal">Contacter Talents Tube</span>
</a>
<span class="icon-thumbnail"><i class="pg-icon">mail</i></span>
</li>
{% if is_granted('ROLE_PREVIOUS_ADMIN') %}
<li class="">
<a href="{{ path('admin_dashboard', {'_switch_user': '_exit'}) }}">
<span class="principal">Se déconnecter</span>
</a>
<span class="icon-thumbnail">
<i class="pg-icon m-20">exit</i>
</span>
</li>
<li class="">
<small>
(Connecté en tant que {{ app.user.firstname }} {{ app.user.lastname }})
</small>
</li>
{% endif %}
</ul>
<div class="clearfix"></div>
</div>
<!-- END SIDEBAR MENU -->
</nav>
<!-- END SIDEBAR -->
<!-- END SIDEBPANEL-->
@@ -0,0 +1,3 @@
{% extends 'admin/base_dashboard.html.twig' %}
@@ -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">
@@ -12,18 +12,21 @@ j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
<script type="text/javascript" defer="defer" src="https://extend.vimeocdn.com/ga/64189815.js"></script>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<meta name="robots" content="noindex,nofollow">
<title>{% block title %}Talents Tube : La 1ère plateforme pour lemploi 100% vidéo{% endblock %}</title>
<link rel="icon" type="image/x-icon" href="{{ asset('favicon.ico') }}"/>
{% block metarobot %}<meta name="robots" content="index,follow">{% endblock %}
{% block metarobot %} <meta name="robots" content="noindex,nofollow">{% endblock %}
<meta name="description" content="{% block description %}
Talents Tube est la première plateforme réservée aux offres d'emploi et aux CV vidéos. Découvrez un nouvelle méthode de recrutement !
{% endblock %}">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<meta name="robots" content="index,follow">
{# OG et TC #}
{% if app.request.attributes.get('_route') != null %}
{% 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="Talents Tube : Le 1er job board 100% vidéo">
@@ -0,0 +1,49 @@
<!DOCTYPE html>
<html lang="fr">
<head>
<!-- Title -->
<title>{% block title %}{% endblock %}</title>
<!-- Required Meta Tags Always Come First -->
<meta charset="utf-8">
<meta name="robots" content="noindex,nofollow">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
{% block meta %}
{% endblock %}
<!-- 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/props_settings.html.twig' %} #}
{% block content %}
{% endblock %}
{% block javascripts %}
{% endblock %}
{# {% include 'defaultv2/footer.html.twig' %} #}
{{ include('FairlaneCookieConsentBundle::cookie-info.html.twig') }}
</body>
</html>
@@ -15,7 +15,7 @@ j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
<title>{% block title %}Talents Tube : Le 1er job board 100% vidéo{% endblock %}</title>
<link rel="icon" type="image/x-icon" href="{{ asset('favicon.ico') }}"/>
<meta name="robots" content="index,follow">
<meta name="robots" content="noindex,nofollow">
<meta name="description" content="{% block description %}
Talents Tube est la première plateforme réservée aux offres d'emploi et aux CV vidéos. Découvrez un nouvelle méthode de recrutement !
{% endblock %}">
@@ -0,0 +1,63 @@
<!DOCTYPE html>
<html>
<head>
<!-- Google Tag Manager -->
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-P4G65WJ');</script>
<!-- End Google Tag Manager -->
<script type="text/javascript" defer="defer" src="https://extend.vimeocdn.com/ga/64189815.js"></script>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>{% block title %}Talents Tube : Le 1er job board 100% vidéo{% endblock %}</title>
<link rel="icon" type="image/x-icon" href="{{ asset('favicon.ico') }}"/>
<meta name="robots" content="noindex,nofollow">
<meta name="description" content="{% block description %}
Talents Tube est la première plateforme réservée aux offres d'emploi et aux CV vidéos. Découvrez un nouvelle méthode de recrutement !
{% endblock %}">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
{% block ogtc %}{% endblock %}
{# Canonical #}
<link rel="canonical"
href="{% block urlCanonical %}{{ url(app.request.attributes.get('_route'), app.request.attributes.get('_route_params')) }}"{% endblock %}>
{# CSS #}
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<link href="https://fonts.googleapis.com/css?family=Raleway:100,100i,200,200i,300,300i,400,400i,500,500i,600,600i,700,700i,800,800i,900,900i|Varela+Round" rel="stylesheet">
<link rel="stylesheet" href="{{ asset('css/styles.css') }}">
{% block stylesheets %}
{% endblock %}
</head>
<body id="dashboard">
<!-- Google Tag Manager (noscript) -->
<noscript>
<iframe src="https://www.googletagmanager.com/ns.html?id=GTM-P4G65WJ"
height="0" width="0" style="display:none;visibility:hidden">
</iframe>
</noscript>
<!-- End Google Tag Manager (noscript) -->
{#{% include 'default/alert.html.twig' %}#}
{% include 'default/user_switch.html.twig' %}
{% include 'default/headertemporaire.html.twig' %}
{% block content %}
{% endblock %}
{% block javascripts %}
{% javascripts
'@vendors'
'@global'
output='assetic/main.base.dash.js' filter='?uglifyjs2' %}
<script src="{{ asset_url }}"></script>
<script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyDYV8IJGtIoWLfXJQQvIuDQ88n2aEuRgpg&libraries=places"></script>
{% endjavascripts %}
{% endblock %}
</body>
</html>
@@ -0,0 +1,82 @@
<!DOCTYPE html>
<html lang="fr">
<head>
<!-- Google Tag Manager -->
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-P4G65WJ');</script>
<!-- End Google Tag Manager -->
<script type="text/javascript" defer="defer" src="https://extend.vimeocdn.com/ga/64189815.js"></script>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<meta name="robots" content="noindex,nofollow">
<title>{% block title %}Talents Tube : La 1ère plateforme pour lemploi 100% vidéo{% endblock %}</title>
<link rel="icon" type="image/x-icon" href="{{ asset('favicon.ico') }}"/>
{% block metarobot %} <meta name="robots" content="noindex,nofollow">{% endblock %}
<meta name="description" content="{% block description %}
Talents Tube est la première plateforme réservée aux offres d'emploi et aux CV vidéos. Découvrez un nouvelle méthode de recrutement !
{% endblock %}">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<meta name="robots" content="index,follow">
{# OG et TC #}
{% if app.request.attributes.get('_route') != null %}
{% 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="Talents Tube : Le 1er job board 100% vidéo">
<meta name="twitter:description" content="Talents Tube est la première plateforme réservée aux offres d'emploi et aux CV vidéos. Découvrez un nouvelle méthode de recrutement !">
<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="Talents Tube : Le 1er job board 100% vidéo" />
<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="Talents Tube est la première plateforme réservée aux offres d'emploi et aux CV vidéos. Découvrez un nouvelle méthode de recrutement !" />
<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 %}
{# Canonical #}
<link rel="canonical"
href="{% block urlCanonical %}{{ url(app.request.attributes.get('_route'), app.request.attributes.get('_route_params')) }}{% endblock %}">
{% endif %}
{# CSS #}
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<link href="https://fonts.googleapis.com/css?family=Raleway:100,100i,200,200i,300,300i,400,400i,500,500i,600,600i,700,700i,800,800i,900,900i|Varela+Round" rel="stylesheet">
<link rel="stylesheet" href="{{ asset('css/styles.css') }}">
{% block stylesheets %}
{% endblock %}
<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 'default/user_switch.html.twig' %}
{% include 'default/headertemporaire.html.twig' %}
{% include 'default/props_settings.html.twig' %}
{% block content %}
{% endblock %}
{# {% include 'default/footertemporaire.html.twig' %} #}
{% block javascripts %}
{% javascripts
'@vendors'
'@global'
output='assetic/main.js' filter='?uglifyjs2' %}
<script src="{{ asset_url }}"></script>
{% endjavascripts %}
{% endblock %}
{{ include('FairlaneCookieConsentBundle::cookie-info.html.twig') }}
</body>
</html>
@@ -0,0 +1,61 @@
<!DOCTYPE html>
<html lang="fr">
<head>
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-98246968-7"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-98246968-7');
</script>
<!-- Title -->
<title>{% block title %}{% endblock %}</title>
<!-- Required Meta Tags Always Come First -->
<meta charset="utf-8">
<meta name="robots" content="noindex,nofollow">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
{% block meta %}
{% endblock %}
<!-- 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="08e9d301-ba14-4d69-8b1a-53685114c5af";(function(){ d=document;s=d.createElement("script"); s.src="https://client.crisp.chat/l.js"; s.async=1;d.getElementsByTagName("head")[0].appendChild(s);})(); </script>
</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' %}#}
{% block menu %}
{% include 'defaultv2/header.html.twig' %}
{% endblock %}
{#{% include 'defaultv2/props_settings.html.twig' %} #}
{% block content %}
{% endblock %}
{% block javascripts %}
{% endblock %}
{# {% include 'defaultv2/footer.html.twig' %} #}
{{ include('FairlaneCookieConsentBundle::cookie-info.html.twig') }}
</body>
</html>
@@ -1,66 +1,331 @@
{% extends 'company/base_dashboard_company.html.twig' %}
{# {% extends 'company/base_dashboard_company.html.twig' %} #}
{% extends 'admin/base_dashboard.html.twig' %}
{% block dashContent %}
{% if type == "spontaneous" %}
{% include 'company/job_submenu.html.twig' with {
'tab' : 3
} %}
{% else %}
{% include 'company/job_submenu.html.twig' with {
'tab' : 2
} %}
{% endif %}
<div class="row bg-bordered p-20">
{% include 'company/ad_breadcrumb.html.twig' with {'step': 2,'ad': ad} %}
<div id="reponses" class="col s12">
<table id="table-answers" class="bordered highlight responsive-table">
<thead>
<tr>
<th>{{ 'profile.talent.lastname'|trans }} {{ 'profile.talent.firstname'|trans }}</th>
<th>{{ 'global.datereception.label'|trans }}</th>
<th>{{ 'ad.company.list.status'|trans }}</th>
<th class="center-align">{{ 'ad.company.list.actions'|trans }}</th>
</tr>
</thead>
<tbody>
{% for answer in answers %}
<tr>
<td>
<a href="{{ path('company_answer_show',{'id':answer.id }) }}">{{ answer.user.lastname }} {{ answer.user.firstname }}</a>
</td>
<td>{{ answer.sendTime()|date('d/m/Y') }}</td>
{% if answer.firstMessage %}
<td>{{ answer.firstMessage.status|trans }}</td>
{% else %}
{% if answer.isViewed %}
{% if answer.isViewed.status == "DRAFT" %}
<td>{{ 'VIEWED'|trans }}</td>
{% endif %}
{% else %}
<td>{{ 'NEW'|trans }}</td>
{% endif %}
{% endif %}
<td class="center-align">
<a title="{{ad.title}}" href="{{ path('company_answer_show',{'id':answer.id }) }}">
<i class="fa fa-eye"></i>
</a>
<a href="#" class="note-action c-pointer" data-func="add" data-answer="{{ answer.id }}">
<i class="fa fa-sticky-note"></i>
</a>
{% for note in answer.notes %}
<a class="tooltipped note-action c-pointer" data-position="top" data-delay="50"
data-tooltip="{{ note.content }}" data-note="{{ note.id }}" data-func="edit">
<i class="fa fa-commenting" aria-hidden="true"></i>
</a>
{% endfor %}
</td>
</tr>
{% endfor %}
</table>
<!-- START JUMBOTRON -->
<div class="jumbotron" data-pages="parallax">
<div class=" container-fluid container-fixed-lg sm-p-l-0 sm-p-r-0">
<div class="inner">
<!-- START BREADCRUMB -->
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="/entreprise/me/">Accueil</a></li>
<li class="breadcrumb-item"><a href="{{ path('company_ad') }}">Offres d'emploi</a></li>
<li class="breadcrumb-item"><a href="{{ path('company_ad_answer_list',{'id':ad.id}) }}">{{ ad.title }}
</a></li>
</ol>
<!-- END BREADCRUMB -->
</div>
</div>
</div>
{# {% if type == "spontaneous" %}
{% include 'company/job_submenu.html.twig' with {
'tab' : 3
} %}
{% else %}
{% include 'company/job_submenu.html.twig' with {
'tab' : 2
} %}
{% endif %} #}
<div id="note-modal"></div>
<!-- Modal 1 -->
<div class="modal fade in bd-example-modal-lg" id="partageModal" tabindex="-1" role="dialog"
aria-labelledby="partageModalLabel" aria-hidden="false" data-show="false">
<div class="modal-dialog modal-lg" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="partageModalLabel">Vous souhaitez partager les candidatures sélectionnées
dans lespace visiteurs ?</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
<h5>&nbsp;</h5>
<p>Pour transmettre les informations aux personnes de votre choix, nous vous invitons à copier-coller le
texte présent dans lencadré ci-dessous dans votre messagerie mail.</p>
<label class="h6 small d-block text-uppercase" for="exampleFormControlTextarea1">texte a copier</label>
<textarea class="form-control" id="codeShare" rows="11">Bonjour,
Dans le cadre du recrutement pour le poste de {{ ad.title }}, nous avons reçu plusieurs candidatures en vidéo.
Parmi ces différentes candidatures, nous souhaitons vous partager notre sélection.
Pour visionner les candidatures vidéo, cliquez sur le lien ci-dessous, puis saisissez le mot de passe indiqué.
Lien : https://recruteur.talentstube.com/partage/{{ ad.id }}
Mot de passe : ######
Au plaisir d’échanger avec vous,
</textarea>
<br/>
<p>* Les données collectées dans les candidatures vidéo sont strictement confidentielles et entrent dans le champ de la protection des données personnelles dun candidat. Les vidéos peuvent être partagées uniquement dans le cadre du processus de recrutement.
</p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Fermer</button>
</div>
</div>
</div>
</div>
<!-- Modal 2 -->
<div class="modal fade in bd-example-modal-lg" id="decocheModal" tabindex="-1" role="dialog"
aria-labelledby="decocheModalLabel" aria-hidden="false" data-show="false">
<div class="modal-dialog modal-lg" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="decocheModalLabel">Cette candidature est actuellement partagée</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
<h5>&nbsp;</h5>
<p>En cliquant sur confirmer, cette candidature ne sera plus accessible dans lespace visiteurs.</p>
</div>
<div class="modal-footer">
<input type="hidden" id="caseRecocher">
<button type="button" class="btn btn-secondary" data-dismiss="modal" onClick="annulerCheckbox()">Annuler</button>
<button type="button" class="btn btn-secondary" data-dismiss="modal">Confirmer</button>
</div>
</div>
</div>
</div>
{#
<a href="#" data-toggle="tooltip" title="Some tooltip text!">Hover over me</a>
<!-- Generated markup by the plugin -->
<div class="tooltip bs-tooltip-top" role="tooltip">
<div class="arrow"></div>
<div class="tooltip-inner">
Some tooltip text!
</div>
</div> #}
<div class="row bg-bordered p-20">
<!-- START CONTAINER FLUID -->
<div class=" container-fluid container-fixed-lg bg-white">
<!-- START card -->
<div class="card card-transparent">
<div class="card-header ">
<div class="card-title">Candidatures de l'offre {{ ad.title }}
<br /><br />
<button type="button" class="btn btn-primary" disabled data-toggle="modal"
data-target="#partageModal" id="partageCandidats">
<a href="#" data-toggle="tooltip"
title="Cochez une ou plusieurs candidatures avant de pouvoir les partager.">Partager les
candidatures</a>
</button>
<div class="tooltip bs-tooltip-top" role="tooltip">
<div class="arrow"></div>
<div class="tooltip-inner">
</div>
</div>
</div>
</div>
<div class="card-body">
<div id="reponses" class="table-responsive">
<table class="table table-hover" id="basicTable">
<thead>
<tr>
<!-- NOTE * : Inline Style Width For Table Cell is Required as it may differ from user to user
Comman Practice Followed
-->
<th></th>
<th>{{ 'profile.talent.lastname'|trans }} {{ 'profile.talent.firstname'|trans }}</th>
<th>{{ 'global.datereception.label'|trans }}</th>
<th>{{ 'ad.company.list.status'|trans }}</th>
<th class="center-align">{{ 'ad.company.list.actions'|trans }}</th>
</tr>
</thead>
<tbody>
{% for answer in answers %}
<tr>
<td>
<input type="checkbox" id="answer_{{answer.id}}" name="answers" class="nav-trigger"
onChange="verifierIsChecked({{answer.id}})" {% if answer.isShared %} checked
{% endif %} />
<label for="nav-trigger" class="navicon-button x">
<div class="navicon"></div>
</label>
</td>
<td>
<a href="{{ path('company_answer_show',{'id':answer.id }) }}">{{ answer.user.lastname }}
{{ answer.user.firstname }}</a>
</td>
<td>
{{ answer.sendTime()|date('d/m/Y') }}
</td>
{% if answer.firstMessage %}
<td>{{ answer.firstMessage.status|trans }}</td>
{% else %}
{% if answer.isViewed %}
{% if answer.isViewed.status == "DRAFT" %}
<td>{{ 'VIEWED'|trans }}</td>
{% endif %}
{% else %}
<td>{{ 'NEW'|trans }}</td>
{% endif %}
{% endif %}
<td class="v-align-middle">
<a title="{{ad.title}}" href="{{ path('company_answer_show',{'id':answer.id }) }}">
<i class="pg-icon">eye</i>
</a>
<a href="#" class="note-action c-pointer" data-func="add"
data-answer="{{ answer.id }}">
<i class="pg-icon">note</i>
</a>
{% for note in answer.notes %}
<a class="tooltipped note-action c-pointer" data-position="top" data-delay="50"
data-tooltip="{{ note.content }}" data-note="{{ note.id }}" data-func="edit">
<i class="pg-icon">comment</i>
</a>
{% endfor %}
</td>
</tr>
{% endfor %}
{% if answers|length == 0 %}
<tr>
<th colspan="4" class="text-center">Aucune candidature pour le moment</th>
</tr>
{% endif %}
</tbody>
</table>
</div>
</div>
</div>
<!-- END card -->
</div>
<!-- END CONTAINER FLUID -->
</div>
<div id="note-modal"></div>
{% endblock %}
{% block javascriptsEnd %}
<!-- BEGIN VENDOR JS -->
<script src="{{ asset('dashboard/plugins/bootstrap/js/bootstrap.min.js') }}" type="text/javascript"></script>
<!-- END PAGE LEVEL JS -->
<script type="text/javascript">
function parcourirAllCheckbox() {
var allCheckboxes = $("input[type=checkbox]");
var allCheckboxes = $("input[type=checkbox]");
var auMoinUneCheckboxCoche = false;
// Put all the unique name attributes in an array.
allCheckboxes.each(function () {
var isChecked = $(this).prop('checked');
if (isChecked == true) {
auMoinUneCheckboxCoche = true
}
});
if (auMoinUneCheckboxCoche == true) {
console.log("au moins un checkbox est coché");
$("#partageCandidats").attr("disabled", false);
} else {
console.log("aucuncheckbox n'est coché");
$("#partageCandidats").attr("disabled", true);
}
}
function annulerCheckbox(){
//recuprer l'id de la checkbox
var checkboxId = $("#caseRecocher").val();
//$("#answer_" + checkboxId).prop(checked, true);
document.getElementById("answer_" + checkboxId).checked = true;
console.log("annuler action checkbox "+checkboxId);
verifierIsChecked(checkboxId);
}
function verifierIsChecked(id) {
var auMoinUneCheckboxCoche = false;
parcourirAllCheckbox();
if($("#answer_" + id).prop('checked')==false){
console.log("cette checkbox était cochée avant");
//$('#decocheModal').modal('open');
$('#decocheModal').modal('show');
$("#caseRecocher").val(id);
}
//recuperer la valeur de la case coché
// Appel Ajax pour modifier l'answer qui a l'id :id
// Si la case est decocher mettre le champ is_checked à false
// Sinon mettre à true
$.ajax({
//L'URL de la requête
url: "/anwser/share/" + id,
//url: '{{ path("anwser_share", {"id":'+id+'}) }}',
//La méthode d'envoi (type de requête)
method: "GET",
data: 'isShare=' + $("#answer_" + id).prop('checked'),
//Le format de réponse attendu
dataType: "json",
})
//Ce code sera exécuté en cas de succès - La réponse du serveur est passée à done()
/*On peut par exemple convertir cette réponse en chaine JSON et insérer
* cette chaine dans un div id="res"*/
.done(function (response) {
let data = JSON.stringify(response);
//$("div#res").append(data);
console.log(data);
const obj = JSON.parse(data);
console.log(obj.code);
var texteMail = $("#codeShare").val();
$("#codeShare").val(texteMail.replace('######', obj.code));
})
//Ce code sera exécuté en cas d'échec - L'erreur est passée à fail()
//On peut afficher les informations relatives à la requête et à l'erreur
.fail(function (error) {
console.log("La requête s'est terminée en échec. Infos : " + JSON.stringify(error));
})
//Ce code sera exécuté que la requête soit un succès ou un échec
.always(function () {
console.log("Requête effectuée");
});
}
$(document)
.ready(function () {
parcourirAllCheckbox();
console.log("ready");
//initialize all modals!!
$('.modal').modal({
dismissible: true
});
$('#partageModal').modal('hide');
$('#decocheModal').modal('hide');
}
);
$(window).load(function() {
$('#partageModal').modal('hide');
$('#decocheModal').modal('hide');
});
</script>
{% endblock %}
@@ -0,0 +1,229 @@
<!DOCTYPE html>
<html lang="fr">
<head>
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-98246968-7"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-98246968-7');
</script>
<!-- Title -->
<title>{% block title %}{% endblock %}</title>
<!-- Required Meta Tags Always Come First -->
<meta charset="utf-8">
<meta name="robots" content="noindex,nofollow">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
{% block meta %}
{% endblock %}
<!-- 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="08e9d301-ba14-4d69-8b1a-53685114c5af";(function(){ d=document;s=d.createElement("script"); s.src="https://client.crisp.chat/l.js"; s.async=1;d.getElementsByTagName("head")[0].appendChild(s);})(); </script>
</head>
<body>
{% block content %}
<main id="content">
<!-- Hero Section -->
<div class="gradient-half-primary-v1">
<div class="bg-img-hero" style="background-image: url('http://localhost/v2/img/partage/candidature-offre-emploi-video.jpg');">
<div class="container space-2 space-2-top--lg space-3-bottom--lg">
<div class=" text-center mx-auto">
<!-- Title -->
<div class="mb-9">
<h3 class="display-4 font-size-36--md-down text-white">Découvrez en vidéo les candidatures sélectionnées pour le poste de <br/><b>{{titreAnnonce}}</b></h3>
</div>
<!-- End Title -->
</div>
</div>
</div>
</div>
<!-- End Hero Section -->
<!-- Cubeportfolio -->
<div class="container u-cubeportfolio space-2 space-3--lg">
<!-- Filter -->
{# <ul id="filterControls" class="list-inline cbp-l-filters-alignCenter mb-5">
<li class="list-inline-item cbp-filter-item cbp-filter-item-active u-cubeportfolio__item" data-filter="*">All</li>
<li class="list-inline-item cbp-filter-item u-cubeportfolio__item" data-filter=".branding">Branding</li>
<li class="list-inline-item cbp-filter-item u-cubeportfolio__item" data-filter=".abstract">Abstract</li>
<li class="list-inline-item cbp-filter-item u-cubeportfolio__item" data-filter=".graphic">Graphic</li>
<li class="list-inline-item cbp-filter-item u-cubeportfolio__item" data-filter=".illustration">Illustration</li>
</ul> #}
<!-- End Filter -->
{% if answers|length == 0 %}
<div class="text-center">
<h1>Aucune candidature pour le moment</h1>
</div>
{% endif %}
<!-- Content -->
<div class="cbp mb-9"
data-controls="#filterControls"
data-animation="quicksand"
data-caption-animation="zoom"
data-x-gap="30"
data-y-gap="30"
data-load-more-selector="#cubeLoadMore"
data-load-more-action="click"
data-load-items-amount="2"
data-media-queries='[
{"width": 1500, "cols": 3},
{"width": 1100, "cols": 3},
{"width": 800, "cols": 3},
{"width": 580, "cols": 2},
{"width": 300, "cols": 1}
]'>
{% for answer in answers %}
<!-- Item -->
<div class="cbp-item branding">
<div class="cbp-caption">
<iframe src="https://player.vimeo.com/video/{{ answer.video.cdnUrl|replace({ "/videos/": ""}) }}"
width="100%" height="100%" frameborder="0" webkitallowfullscreen mozallowfullscreen
allowfullscreen></iframe>
</div>
<div class="p-4 text-center">
<h2 class="h5 mb-0">{{ answer.user.firstname }} {{ answer.user.lastname|slice(0, 1)|capitalize }}.</h2>
{# <p class="small mb-0">by Tiberiu Neamu</p> #}
</div>
</div>
<!-- End Item -->
{% endfor %}
</div>
<!-- End Content -->
<!-- Load More Button -->
<div id="cubeLoadMore" class="text-center">
{# <a href="../../assets/ajax/portfolio-grid-1/load-more.html" class="cbp-l-loadMore-link btn btn-dark btn-wide" rel="nofollow">
<span class="cbp-l-loadMore-defaultText">Load More</span>
<span class="cbp-l-loadMore-loadingText">Loading...</span>
<span class="cbp-l-loadMore-noMoreLoading">No more works</span>
</a> #}
</div>
<!-- End Load More Button -->
</div>
<!-- End Cubeportfolio -->
</main>
{% endblock %}
{% block javascriptsEnd %}
<!-- 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/cubeportfolio/js/jquery.cubeportfolio.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.modal-window.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.show-animation.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.cubeportfolio.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');
} #}
$(document).on('ready', function () {
// initialization of header
$.HSCore.components.HSHeader.init($('#header'));
// 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 cubeportfolio
$.HSCore.components.HSCubeportfolio.init('.cbp');
// initialization of go to
$.HSCore.components.HSGoTo.init('.js-go-to');
});
</script>
{% endblock %}
</body>
</html>
@@ -0,0 +1,284 @@
<!DOCTYPE html>
<html lang="fr">
<head>
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-98246968-7"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag() {
dataLayer.push(arguments);
}
gtag('js', new Date());
gtag('config', 'UA-98246968-7');
</script>
<!-- Title -->
<title>{% block title %}{% endblock %}</title>
<!-- Required Meta Tags Always Come First -->
<meta charset="utf-8">
<meta name="robots" content="noindex,nofollow">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
{% block meta %}
{% endblock %}
<!-- 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') }}">
<link class="main-stylesheet" href="{{ asset('dashboard/css/style.css') }}" rel="stylesheet" type="text/css" />
<!-- CSS Space Template -->
<link rel="stylesheet" href="{{ asset('v2/css/theme.css') }}">
<script type="text/javascript">
window.$crisp = [];
window.CRISP_WEBSITE_ID = "08e9d301-ba14-4d69-8b1a-53685114c5af";
(function () {
d = document;
s = d.createElement("script");
s.src = "https://client.crisp.chat/l.js";
s.async = 1;
d.getElementsByTagName("head")[0].appendChild(s);
})();
</script>
</head>
<body>
{% block content %}
<!-- ========== HEADER ========== -->
<header id="header" class="u-header u-header--abs-top">
<div class="u-header__section bg-transparent border-0">
<div id="logoAndNav" class="container-fluid">
<!-- Nav -->
<nav class="navbar navbar-expand justify-content-between u-header__navbar py-3">
<!-- Logo -->
<div class="col-4 col-sm-6">
<a class="navbar-brand u-header__navbar-brand" href="../home/index.html" aria-label="Space">
<img class="u-header__navbar-brand-default" src={{ asset('/v2/svg/logos/talents-tube-logo.svg') }} alt="Talents Tube">
<img class="u-header__navbar-brand-mobile" src={{ asset('/v2/svg/logos/talents-tube-logo.svg') }} alt="Talents Tube">
</a>
</div>
<!-- End Logo -->
<!-- End Button -->
</nav>
<!-- End Nav -->
</div>
</div>
</header>
<!-- ========== END HEADER ========== -->
<main id="content">
<!-- Hero Section -->
<div class="bg-img-hero"
style="background-image: url(/v2/img/partage/partage-candidature-video.jpg);">
<div class="d-sm-flex align-items-sm-center height-100vh--sm">
<div class="container text-center space-3-top space-2-bottom space-3-bottom--lg">
<div class="w-lg-60 text-center mx-lg-auto fondBlanc">
<form class="js-validate form-signin p-5">
<!-- Logo -->
<div class="text-center">
</div>
<!-- End Logo -->
<!-- Title -->
<div class="text-center">
<h1 class="h3 mb-0">Voir les candidatures</h1>
<p>Pour visionner la ou les candidatures, veuillez saisir le mot de passe qui vous a été communiqué.
</p>
</div>
<!-- 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-lock form__text-inner"></i>
</span>
</div>
<input type="hidden" id="adId" name="adId" value="{{adId}}">
<input type="password" class="form-control form__input" id="mdp" name="mdp" required placeholder="Saisissez votre mot de passe"
aria-label="mdp" data-msg="Saisissez votre mot de passe" data-error-class="u-has-error"
data-success-class="u-has-success">
</div>
<div>
{% if error %}
<br/><span class="text-danger">Le mot de passe est incorrect</span>
{% endif %}
</div>
</div>
<!-- End Input -->
<!-- Input -->
<div class="js-form-message mb-3">
</div>
<!-- End Input -->
<div class="row mb-3">
</div>
<div class="mb-3">
<a href="#" onClick="verifierMdp()">
<button type="button" class="btn btn-success">Valider</button>
</a>
</div>
</form>
</div>
<!-- End Countdown -->
</div>
</div>
</div>
</div>
<!-- End Hero Section -->
</main>
{% endblock %}
{% block javascriptsEnd %}
<!-- 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/cubeportfolio/js/jquery.cubeportfolio.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.modal-window.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.show-animation.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.cubeportfolio.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');
}
}
$(document).on('ready', function () {
// initialization of header
$.HSCore.components.HSHeader.init($('#header'));
// 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 cubeportfolio
$.HSCore.components.HSCubeportfolio.init('.cbp');
// initialization of go to
$.HSCore.components.HSGoTo.init('.js-go-to');
});
</script>
<script type="text/javascript">
function verifierMdp(){
$.ajax({
//L'URL de la requête
url: '{{ path("connectionpartage") }}',
//url: 'http://localhost/app_dev.php/connectionpartage',
//La méthode d'envoi (type de requête)
method: "GET",
data: 'adId=' + $("#adId").val()+"&mdp="+$("#mdp").val(),
//Le format de réponse attendu
dataType: "json",
})
//Ce code sera exécuté en cas de succès - La réponse du serveur est passée à done()
/*On peut par exemple convertir cette réponse en chaine JSON et insérer
* cette chaine dans un div id="res"*/
.done(function (response) {
//let data = JSON.stringify(response)JSON.stringify(response);
//$("div#res").append(data);=
var retour =JSON.stringify(response);
console.log(response);
var url = '{{ path("anwser_share_show", {"id": "id"}) }}';
url = url.replace("id", $("#adId").val());
window.location.replace(url);
})
//Ce code sera exécuté en cas d'échec - L'erreur est passée à fail()
//On peut afficher les informations relatives à la requête et à l'erreur
.fail(function (error) {
//alert(error)
console.log("La requête s'est terminée en échec. Infos : " + JSON.stringify(error));
})
//Ce code sera exécuté que la requête soit un succès ou un échec
.always(function () {
console.log("Requête effectuée");
});
}
</script>
{% endblock %}
</body>
</html>
@@ -1,7 +1,7 @@
<div class="col s12" id="breadcrumb">
<a href="{{ path('company_ad') }}">
{# <a href="{{ path('company_ad') }}">
<span>{% trans %}label.offers{% endtrans %}</span>
</a>
</a> #}
{% if step > 1 %}
<span class="sepa-breadcrumb">></span>
<a href="{{ path('company_ad_answer_list',{'id':ad.id}) }}">
@@ -17,3 +17,5 @@
@@ -1,23 +1,698 @@
{% extends 'company/base_dashboard_company.html.twig' %}
{# {% extends 'company/base_dashboard_company.html.twig' %} #}
{% extends 'admin/base_dashboard.html.twig' %}
{% block javascriptSupl %}
<style>
.saisie thead tr th,
.saisie tbody tr td,
.saisie tbody tr td *:not(.dropdown-default) .saisie tr td {
overflow: visible;
}
.modalCompetences {
height: 600px;
}
</style>
<script src="https://cdnjs.cloudflare.com/ajax/libs/corejs-typeahead/1.3.1/bloodhound.min.js" type="text/javascript">
</script>
<script src="{{ asset('dashboard/plugins/typeahead/typeahead.bundle.js') }}" type="text/javascript"></script>
{% endblock %}
{% block dashContent %}
<div class="row bg-bordered p-0">
{% include 'company/ad_steps.html.twig' with {'tab':1} %}
<div class="p-20">
<!-- START JUMBOTRON -->
<div class="jumbotron" data-pages="parallax">
<div class=" container-fluid container-fixed-lg sm-p-l-0 sm-p-r-0">
<div class="inner">
<!-- START BREADCRUMB -->
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="/entreprise/me/">Accueil</a></li>
<li class="breadcrumb-item"><a href="{{ path('company_ad') }}">Offres d'emploi</a></li>
{% if form_errors(form) %}
<span class="red-text text-darken-2">{{ form_errors(form) }}</span>
{% endif %}
{{ form_start(form) }}
{{ form_widget(form) }}
<br/>
<div style="text-align: right;">
<button class="btn btn-default" type="submit">Je crée mon annonce</button>
</ol>
<!-- END BREADCRUMB -->
</div>
{{ form_end(form) }}
</div>
</div>
</div>
<!-- END JUMBOTRON -->
<!-- MODALS-->
<!-- Modal 1 -->
<div class="modal fade bd-example-modal-lg" id="competencesModal" tabindex="-1" role="dialog"
aria-labelledby="competencesModalLabel" aria-hidden="false">
<div class="modal-dialog modal-lg" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="competencesModalLabel">Souhaitez-vous remplacer le métier <span class="metierAncienPopup">{aucun}</span> par <span class="metierPopup"></span></h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
<h5>&nbsp;</h5>
<p>
Les compétences que vous aviez précédemment sélectionnées en lien avec le métier <span class="metierAncienPopup">{aucun}</span> seront remplacées par de nouvelles compétences, correspondant au métier <span class="metierPopup">.
</p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Annuler</button>
<button type="button" class="btn btn-secondary" data-dismiss="modal"
onclick="chargerCompetences();">Remplacer</button>
</div>
</div>
</div>
</div>
<!-- Modal 2 -->
<div class="modal fade modalCompetences" id="ajoutCompetencesModal" tabindex="-1" role="dialog"
aria-labelledby="ajoutCompetencesModalLabel" aria-hidden="false">
<div class="modal-dialog modal-lg" role="document">
<div class="modal-content">
<div class="modal-body">
{# <p>Etes vous sur de charger les compétences du métier <span id="metierPopup"></span></p> #}
<div class="card card-default">
<div class="card-body">
<div class="scrollable">
<div class="demo-card-scrollable">
<div id="competencesAdPopup"></div>
</div>
</div><br/>
<div id="competencesAdMessagePopup" class="text-danger"></div>
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" id="ajouterCompetenceButtonMdal" class="btn btn-secondary" data-dismiss="modal" onclick="" >Ajouter ces compétences</button>
</div>
</div>
</div>
</div>
<!-- FIN MODALS-->
<!-- START CONTAINER FLUID -->
<div class=" container-fluid container-fixed-lg">
<div id="rootwizard" class="m-t-50">
{% if type is defined and type == 'update' %}
{% include 'company/ad_stepsV2.html.twig' with {'tab':1, 'type':'update'} %}
{% else %}
{% include 'company/ad_stepsV2.html.twig' with {'tab':1} %}
{% endif %}
<div class="tab-content">
{{ form_start(form, {'attr': {'class': ''}}) }}
<div class="tab-pane padding-20 sm-no-padding active slide-left" id="tab1">
<div class="row row-same-height">
<div class="col-md-5 b-r b-dashed b-grey sm-b-b">
<div class="padding-30 sm-padding-5 sm-m-t-15 m-t-50">
<i class="material-icons hint-text">info</i>
<h2>Etape 1 : Je crée une annonce</h2>
<p>Pour trouver le bon profil, renseignez et personnalisez votre annonce.
Plus votre annonce est précise et attractive, plus les candidatures seront ciblées.
Afin de créer votre annonce, renseignez lensemble des champs relatifs au poste proposé.
</p>
{# <p class="small hint-text">Below is a sample page for your cart , Created using pages design
UI Elementes</p> #}
</div>
</div>
<div class="col-md-7">
<div class="padding-30 sm-padding-5">
<table class="table table-condensed ">
{% if form_errors(form) %}
<tr>
<td class="col-lg-12 col-md-12 col-sm-12 ">
<span class="red-text text-darken-2">{{ form_errors(form) }}</span>
</td>
</tr>
{% endif %}
<tr>
<td class="col-lg-12 col-md-12 col-sm-12 ">
{{ form_row(form.reference) }}
</td>
</tr>
<tr>
<td class="col-lg-12 col-md-12 col-sm-12 ">
{{ form_row(form.title) }}
</td>
</tr>
<tr>
<td class="col-lg-12 col-md-12 col-sm-12">
{{ form_row(form.beneficiaire) }}
<br />
Vous souhaitez recruter pour l'un de vos clients, renseignez ce champ
</td>
</tr>
<tr>
<td class="col-lg-12 col-md-12 col-sm-12">
{{ form_row(form.location_gmap) }}
{{ form_row(form.location) }}
</td>
</tr>
<tr>
<td class="col-lg-12 col-md-12 col-sm-12">
{{ form_row(form.description) }}
</td>
</tr>
<tr>
<td class="col-lg-12 col-md-12 col-sm-12">
{{ form_row(form.contract_type) }}
</td>
</tr>
{# US 380 : Mise en place du temps de contrat (CDD) #}
<tr id="ligneDureeContrat">
<td class="col-lg-12 col-md-12 col-sm-12">
{{ form_row(form.duree_contrat) }}
</td>
</tr>
<tr>
<td class="col-lg-12 col-md-12 col-sm-12">
{{ form_row(form.temps_type) }}
</td>
</tr>
{# US 329 : Mise en place du temps de travail #}
<tr id='ligneNbHeure'>
<td class="col-lg-12 col-md-12 col-sm-12">
{{ form_row(form.nombre_heure) }}
</td>
</tr>
{# US 295 : Mise en place du télétravail #}
<tr>
<td class="col-lg-12 col-md-12 col-sm-12">
{{ form_row(form.teletravail) }}
</td>
</tr>
</table>
<table>
<tr class='bg-contrast-lower'>
<td class="col-lg-12 col-md-12 col-sm-12 bg-contrast-lower">
<h3 class="no-margin p-b-5">Compétences recherchées</h3>
<br />
Recherchez le métier de rattachement le plus proche de lintitulé de poste
que vous avez saisi.
</button>
</td>
</tr>
<tr class='bg-contrast-lower'>
<td class="col-lg-12 col-md-12 col-sm-12 bg-contrast-lower">
<table class='saisie'>
<tr class='saisie'>
<td class='saisie'>
<label for="saisie" class="required">Métier de
rattachement</label><br />
<input class="typeahead form-control sample-typehead tt-input"
id="saisie" type="text" placeholder="Saisir un métier"
autocomplete="off" spellcheck="false" dir="auto"
style="position: relative; vertical-align: top; background-color: transparent;">
<br />
<input type="hidden" name="id_appellation_temporaire"
id="id_appellation_temporaire">
<input type="hidden" name="metier_temporaire"
id="metier_temporaire">
<input type="hidden" name="competences_origine"
id="competences_origine">
<br />Le métier de rattachement sert uniquement à vous proposer des
compétences
et ne sera pas affiché sur votre offre demploi.
</td>
</tr>
</table>
</td>
</tr>
</table>
<table class="table table-condensed ">
<tr class='bg-contrast-lower'>
<td class="col-lg-12 col-md-12 col-sm-12 bg-contrast-lower">
<div id="competencesAd"></div><br />
<div id="competencesAdMessage" class="text-danger">Veuillez choisir un métier de rattachement pour votre annonce.</div><br />
<div class="text-center" id="competencesButtonAd">
<button type="button" class="btn btn-primary" data-toggle="modal"
data-target="#ajoutCompetencesModal" id="ajoutCompetences">
Ajouter des compétences
</button>
<input type="hidden" id ="nbCompetences">
<span id= "nbCompetencesText"></span>
</div>
</td>
{{ form_row(form.appellationId) }}
{{ form_row(form.appellationLibelle) }}
{{ form_row(form.codeRome) }}
</tr>
<tr>
<td class="col-lg-12 col-md-12 col-sm-12">
{{ form_row(form.status) }}
</td>
</tr>
<tr>
<td class="col-lg-12 col-md-12 col-sm-12">
{{ form_row(form.publicTag) }}
{{ form_row(form.competences) }}
</td>
</tr>
<tr>
<td class="col-lg-12 col-md-12 col-sm-12">
&nbsp;
</td>
</tr>
<tr>
<td class="col-lg-12 col-md-12 col-sm-12 ">
<button aria-label="" type="submit"
class="btn btn-primary btn-cons btn-animated from-left pull-right"
type="button" id="saveAdButton">
<span>{% if type is defined and type == 'update' %}Sauvegarde et
étape
suivante {% else %}Je crée mon annonce{% endif %}</span>
<span class="hidden-block">
<i class="material-icons fs-16">videocam</i>
</span>
</button>
<br />&nbsp;
{# <button class="btn btn-default" type="submit">Je crée mon annonce!</button> #}
</td>
</tr>
</table>
</div>
</div>
</div>
</div>
{{ form_end(form) }}
<div class="tab-pane slide-left padding-20 sm-no-padding disabled" id="tab2">
<div class="row row-same-height">
<div class="col-md-5 b-r b-dashed b-grey ">
<div class="padding-30 sm-padding-5 sm-m-t-15 m-t-50">
</div>
</div>
<div class="col-md-7">
<div class="padding-30 sm-padding-5">
</div>
</div>
</div>
</div>
<div class="padding-20 sm-padding-5 sm-m-b-20 sm-m-t-20 bg-white clearfix">
{# <ul class="pager wizard no-style">
<li class="next">
<button aria-label="" class="btn btn-primary btn-cons btn-animated from-left pull-right"
type="button">
<span>Je crée mon annonce</span>
<span class="hidden-block">
<i class="material-icons fs-16">local_shipping</i>
</span>
</button>
</li>
<li class="next finish hidden">
<button aria-label="" class="btn btn-primary btn-cons btn-animated from-left pull-right"
type="button">
<span>Finish</span>
<span class="hidden-block">
<i class="material-icons fs-16">settings</i>
</span>
</button>
</li>
<li class="previous first hidden">
<button aria-label="" class="btn btn-default btn-cons btn-animated from-left pull-right"
type="button">
<span>First</span>
<span class="hidden-block">
<i class="material-icons fs-16">settings</i>
</span>
</button>
</li>
<li class="previous">
<button aria-label="" class="btn btn-default btn-cons btn-animated from-left pull-right"
type="button">
<span>Previous</span>
<span class="hidden-block">
<i class="material-icons fs-14">settings</i>
</span>
</button>
</li>
</ul> #}
</div>
<div class="wizard-footer padding-20 bg-contrast-low">
<p class="small hint-text pull-left no-margin">
</p>
<div class="pull-right">
</div>
<div class="clearfix"></div>
</div>
</div>
</div>
</div>
<!-- END CONTAINER FLUID -->
{% endblock %}
{% block javascriptsSecondaire %}
<script type="application/javascript">
//Methode permettant d'afficher le bloc nb d'heure si est en temps partiel
function afficherTempsType() {
if ($("#ad_temps_type").val() == "PART_TIME") {
//$("#ligneNbHeure").show();
$("#ad_nombre_heure").prop("disabled", false);
} else {
//$("#ligneNbHeure").hide().prop('required',false) ;;
$("#ad_nombre_heure").prop("disabled", true);
}
}
//Methode permettant d'afficher le bloc durée de contrat si le contrat est un CDI
function afficherDureeContrat() {
console.log("type de contrat =" + $("#ad_contract_type").val());
if ($("#ad_contract_type").val() == "CDD") {
//$("#ligneDureeContrat").show();
$("#ad_duree_contrat").prop("disabled", false);
} else {
//$("#ligneDureeContrat").hide().prop('required',false) ;
$("#ad_duree_contrat").prop("disabled", true);
}
}
$("#ad_temps_type").change(function () {
afficherTempsType();
});
$("#ad_contract_type").change(function () {
afficherDureeContrat();
});
//methode qui permet de générer le json des competences.
// c'est le champ ad_competences qui sert à l'enregistrement en base
function genererJson() {
var competences = "";
//competences = [];
var nbCompetencesSelect = 0;
//on parcourt toutes les checkbox cochées
$(":checkbox:checked").map(function () {
//on recuperer l'input car l'id du champ est formaté comme suit competence_ ou competencepopup_
var input = this.id.split('_');
// on ne ored=nd que les input de la page pricnipale (pas ceux de la popup)
if (input[0] == "competence") {
var retour = this.value.split('_');
//var competence = [retour[0], parseInt(retour[1])];
console.log(this.value);
//competences.push(competence);
//on remplace la virgule par un esapce car sinon bug (les compétences sont séparés par une virgule)
var chaine = this.value.replace(",", " ");
//On limite a 10 compétences, au dela, on les enregistre pas dans le champ ad_competences
if(nbCompetencesSelect<11){
competences += chaine + ",";
nbCompetencesSelect++;
}
$("#nbCompetencesText").html(nbCompetencesSelect+" compétences sélectionnées");
$("#ajouterCompetenceButtonMdal").html("Ajouter (+"+nbCompetencesSelect+")");
$("#nbCompetences").val(nbCompetencesSelect);
//return competence;
}
}).get();
// on renseigne le champ ad_competences
$("#ad_competences").val(competences);
//Gestion des erreurs si aucune compétence
if(nbCompetencesSelect==0){
$("#nbCompetencesText").html("");
$("#competencesAdMessage").html(
"Vous devez sélectionner au minimum une compétence "
);
$("#ajouterCompetenceButtonMdal").show();
$("#saveAdButton").prop("disabled", true);
}else if(nbCompetencesSelect>9){
//Gestion des erreurs si plusde 10 compétences
$("#saveAdButton").prop("disabled", false);
$("#competencesAdMessage").html(
"Vous avez atteint le nombre maximum de compétences. "
);
$("#competencesAdMessagePopup").html(
"Vous avez atteint le nombre maximum de compétences. "
);
if(nbCompetencesSelect>10){
$("#ajouterCompetenceButtonMdal").hide();
}
}else{
//cas standards, on reinitialise les champs a vide
$("#competencesAdMessage").html(
" "
);
$("#saveAdButton").prop("disabled", false);
$("#ajouterCompetenceButtonMdal").show();
}
console.log("valeur saiisie");
if($("#saisie").val() =="" || !$("#saisie").val() ){
$("#competencesAdMessage").html(
"Veuillez choisir un métier de rattachement pour votre annonce. "
);
}
}
$(document).ready(function () {
afficherTempsType();
afficherDureeContrat();
$("#saveAdButton").prop("disabled", true);
//ad_appellationId
//ad_appellationLibelle
//ad_competences
// renseignement des champs temporaires (champ caché)
$("#id_appellation_temporaire").val($("#ad_appellationId").val());
$("#metier_temporaire").val($("#ad_appellationLibelle").val());
// renseignement du champ visible (init du métier)
$("#saisie").val($("#ad_appellationLibelle").val());
$("#competences_origine").val($("#ad_competences").val());
if ($("#ad_competences").val() !='null' ){
$("#saveAdButton").prop("disabled", false);
}
//charger les compétences en fonction du métier d'origine
chargerCompetences("init");
//cocher les cases par rapport aux compétences d'origine
});
</script>
<script>
$(document)
.ready(function () {
// Construction du champ typeahead d'auto compléetion de métier
$("#competencesButtonAd").hide();
var metiers = new Bloodhound({
datumTokenizer: Bloodhound.tokenizers.whitespace,
queryTokenizer: Bloodhound.tokenizers.whitespace,
remote: {
// Ajax qui appelle getAppellionsMetier (API TT qui appelle APi pole emploi)
url: '/app_dev.php/api/getAppelationsLibelle',
wildcar: '%QUERY',
filter: function (metiers) {
return $.map(metiers, function (metier) {
//console.log(metier);
return {
metier_id: metier.code,
metier_libelle: metier.libelle
}
})
},
prepare: function (query, settings) {
//ing%20agro
//query = query.replace(" ", "%20");
settings.url += '?q=' + query;
return settings;
}
},
});
metiers.initialize();
// Initializing the typeahead
$('#saisie').typeahead({
hint: true,
highlight: true
}, {
name: 'metiers',
source: metiers.ttAdapter(),
display: 'metier_libelle',
limit: 10,
templates: {
suggestion: function (data) {
//comment sont formaté les suggestion de l'auto completion
$(".tt-dataset-metiers").show();
var chaine = data.metier_libelle.replace("'", "\\'");
return '<div><a href="#" onclick="chargerDonneesTemp(' + data.metier_id + ',\'' +
chaine +
'\')" data-toggle="modal" data-target="#competencesModal" id="competences">' + data.metier_libelle +
'</a></div>'
},
footer: function (query) {
//return '<div class="text-center">Plus de résultats :' + query.query + '</div>';
},
empty: function (context) {
// cas ou l'on ne trpouve rien
$("#competencesAdMessage").html(
" Aucun résultat ne correspond à votre recherche. <br/>Saisissez un autre mot clé pour trouver votre métier de rattachement."
);
return '<div class="text-center">Aucun résultat</div>';
}
}
});
});
//methode qui charge métier temporaire (en attente validation de la popup)
//En effet, on demande a l'utilsiateur s'il est sur. C'est pour ca qu'on a a ces champs temporaires
function chargerDonneesTemp(codeRome, libelleMetier) {
$("#id_appellation_temporaire").val(codeRome);
console.log(codeRome);
$("#metier_temporaire").val(libelleMetier);
$(".metierPopup").text(libelleMetier);
console.log(libelleMetier);
}
//Charger les compétences, code Rome, d'un métier
//appel de l'api TT getDetailAppelaltion qui appelle une autre Api Pole emploi
function chargerCompetences(type) {
$.ajax({
//L'URL de la requête
url: "/app_dev.php/api/getDetailAppelation",
//url: '{{ path("anwser_share", {"id":'+id+'}) }}',
//La méthode d'envoi (type de requête)
method: "GET",
data: 'q=' + $("#id_appellation_temporaire").val(),
//Le format de réponse attendu
dataType: "json",
})
//Ce code sera exécuté en cas de succès - La réponse du serveur est passée à done()
/*On peut par exemple convertir cette réponse en chaine JSON et insérer
* cette chaine dans un div id="res"*/
.done(function (response) {
let data = JSON.stringify(response);
const obj = JSON.parse(data);
//chargement du code ROme
$("#ad_codeRome").val(obj.metier.code);
//Passage du l'id appelation et de son libelle temporaire
$("#ad_appellationId").val($("#id_appellation_temporaire").val());
$("#ad_appellationLibelle").val($("#metier_temporaire").val());
$('.metierAncienPopup').text($("#metier_temporaire").val());
//Init des champs de compétences
$("#competencesAd").text("");
$("#competencesAdPopup").text("");
$("#competencesAdMessage").html("");
//parcours de l'objet json renvoyé par l'api
obj.competencesDeBase.forEach(function (object) {
// Pour chaque compétences, on crée
//1 checkbox dans la page principal. iL est affiché par défaut si c'est une compétence clé. les compéetences clés sonr cochés
// 1 checkbox dans la popup d'ajout de competences. Par defaut, seul les compétences clé sont cochés
var hidden = "";
var checked = "";
if (object.competenceCle == true && type != "init") {
checked = "checked";
}
var chaine = object.libelle.replace("'", " ");
var chaine = chaine.replace(",", " ");
$("#competencesAd").append("<div id='competence_ad_"+object.code+"' name='competences_ad[]'><input type='checkbox' "+checked+" onChange='genererCompetences(this);' id='competence_" + object
.code + "' value='" +chaine+"_"+ object.code + "'> " + object.libelle + "<br/></div>");
$("#competencesAdPopup").append("<div id='competence_ad_popup_"+object.code+"'><input type='checkbox' "+checked+" onChange='genererCompetences(this);' id='competencepopup_" + object
.code + "' value='" + object.code + "'> " + object.libelle + "<br/></div>");
if (object.competenceCle == false) {
$("#competence_ad_"+object.code).hide();
}
});
$("#competencesButtonAd").show();
//lors de l'init, on affiche et coche les compétences récupérer en base. On désaffiche et decoche celle qui n'y sont plus
// Pareil pour la popup sauf qu'elles sont toutes affichées
if (type == "init") {
const obj = JSON.parse($("#ad_competences").val());
console.log(obj);
for (var key in obj) {
for (var key2 in obj[key]) {
//console.log(obj[key][key2]);
console.log(key2);
$("#competencepopup_" + key2).prop("checked", true);
$("#competence_" + key2).prop("checked", true);
$("#competence_ad_" + key2).show();
}
}
}
//on génere le json qui va remplir le champ ad_competences
genererJson();
})
//Ce code sera exécuté en cas d'échec - L'erreur est passée à fail()
//On peut afficher les informations relatives à la requête et à l'erreur
.fail(function (error) {
$("#competencesAd").text("");
$("#competencesAdPopup").text("");
if ($("#saisie").val() != "") {
// si il y a un pb avec l'api pole emploi, on affiche ce message
$("#competencesAdMessage").html(
"Une erreur est survenue dans la recherche du métier de rattachement. <a href='#' onclick='chargerCompetences();'><i class='fa fa-refresh fa-spin fa-fw'></i>Cliquez ici pour relancer la recherche</a> "
);
}
console.log("La requête s'est terminée en échec. Infos : " + JSON.stringify(error));
})
//Ce code sera exécuté que la requête soit un succès ou un échec
.always(function () {
console.log("Requête effectuée");
});
}
// function qui permet de synchroniser les compétences de la page et celles de la popup
// ca va dans les deux sens.
function genererCompetences(cb) {
console.log("Clicked, new value = " + cb.checked);
console.log("Clicked, target = " + cb.id);
var id = cb.id.split('_');
id = id[1];
if($("#nbCompetences").val()<10){
$("#competence_" + id).prop("checked", cb.checked);
$("#competencepopup_" + id).prop("checked", cb.checked);
if (cb.checked) {
console.log("reaffichage div #competence_ad_" + id);
$("#competence_ad_" + id).show();
} else {
console.log("hidden de div #competence_ad_" + id);
$("#competence_ad_" + id).hide();
}
}else{
$("#competence_" + id).prop("checked", false);
$("#competencepopup_" + id).prop("checked", false);
}
// on génere le json a chaque fois
genererJson();
}
</script>
{% endblock %}
@@ -1,29 +1,678 @@
{% extends 'company/base_dashboard_company.html.twig' %}
{# {% extends 'company/base_dashboard_company.html.twig' %} #}
{% extends 'admin/base_dashboard.html.twig' %}
{% block javascriptSupl %}
<style>
.saisie thead tr th,
.saisie tbody tr td,
.saisie tbody tr td *:not(.dropdown-default) .saisie tr td {
overflow: visible;
}
.modalCompetences{
height:600px;
}
</style>
<script src="https://cdnjs.cloudflare.com/ajax/libs/corejs-typeahead/1.3.1/bloodhound.min.js" type="text/javascript">
</script>
<script src="{{ asset('dashboard/plugins/typeahead/typeahead.bundle.js') }}" type="text/javascript"></script>
{% endblock %}
{% block dashContent %}
<div class="row bg-bordered p-0">
{% include 'company/ad_steps.html.twig' with {'tab':1} %}
<div class="p-20">
{% if form_errors(form) %}
<div class="card-panel">
<span class="red-text text-darken-2">
{{ form_errors(form) }}
</span>
</div>
{% endif %}
{{ form_start(form) }}
{{ form_rest(form) }}
<br/>
{% if type is defined and type == "soft" %}
<button class="btn btn-default" type="submit">Enregistrer</button>
{% else %}
<button class="btn btn-default" type="submit">Etape suivante</button>
{% endif %}
{{ form_end(form) }}
<!-- START JUMBOTRON -->
<div class="jumbotron" data-pages="parallax">
<div class=" container-fluid container-fixed-lg sm-p-l-0 sm-p-r-0">
<div class="inner">
<!-- START BREADCRUMB -->
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="/entreprise/me/">Accueil</a></li>
<li class="breadcrumb-item"><a href="{{ path('company_ad') }}">Offres d'emploi</a></li>
</ol>
<!-- END BREADCRUMB -->
</div>
</div>
</div>
<!-- END JUMBOTRON -->
<!-- MODALS-->
<!-- Modal 1 -->
<div class="modal fade bd-example-modal-lg" id="competencesModal" tabindex="-1" role="dialog"
aria-labelledby="competencesModalLabel" aria-hidden="false">
<div class="modal-dialog modal-lg" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="competencesModalLabel">Souhaitez-vous remplacer le métier <span class="metierAncienPopup">{aucun}</span> par <span class="metierPopup"></span></h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
<h5>&nbsp;</h5>
<p>
Les compétences que vous aviez précédemment sélectionnées en lien avec le métier <span class="metierAncienPopup">{aucun}</span> seront remplacées par de nouvelles compétences, correspondant au métier <span class="metierPopup">.
</p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Annuler</button>
<button type="button" class="btn btn-secondary" data-dismiss="modal"
onclick="chargerCompetences();">Remplacer</button>
</div>
</div>
</div>
</div>
<!-- Modal 2 -->
<div class="modal fade modalCompetences" id="ajoutCompetencesModal" tabindex="-1" role="dialog"
aria-labelledby="ajoutCompetencesModalLabel" aria-hidden="false">
<div class="modal-dialog modal-lg" role="document">
<div class="modal-content">
<div class="modal-body">
{# <p>Etes vous sur de charger les compétences du métier <span id="metierPopup"></span></p> #}
<div class="card card-default">
<div class="card-body">
<div class="scrollable">
<div class="demo-card-scrollable">
<div id="competencesAdPopup"></div>
</div>
</div>
<div id="competencesAdMessagePopup" class="text-danger"></div>
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" id="ajouterCompetenceButtonMdal" class="btn btn-secondary" data-dismiss="modal" onclick="" >Ajouter ces compétences</button>
</div>
</div>
</div>
</div>
<!-- FIN MODALS-->
<!-- START CONTAINER FLUID -->
<div class=" container-fluid container-fixed-lg">
<div id="rootwizard" class="m-t-50">
{% include 'company/ad_stepsV2.html.twig' with {'tab':1} %}
<div class="tab-content">
<div class="tab-pane padding-20 sm-no-padding active slide-left" id="tab1">
<div class="row row-same-height">
<div class="col-md-5 b-r b-dashed b-grey sm-b-b">
<div class="padding-30 sm-padding-5 sm-m-t-15 m-t-50">
<i class="material-icons hint-text">shopping_cart</i>
<h2>Etape 1 : Je modifie une annonce</h2>
<p>Pour trouver le bon profil, renseignez et personnalisez votre annonce.
Plus votre annonce est précise et attractive, plus les candidatures seront ciblées.
Afin de créer votre annonce, renseignez lensemble des champs relatifs au poste proposé.</p>
{# <p class="small hint-text">Below is a sample page for your cart , Created using pages design
UI Elementes</p> #}
</div>
</div>
<div class="col-md-7">
<div class="padding-30 sm-padding-5">
{{ form_start(form, {'attr': {'class': 'form-horizontal'}}) }}
<table class="table table-condensed form-horizontal">
{% if form_errors(form) %}<tr>
<td class="col-lg-12 col-md-12 col-sm-12 ">
<span class="red-text text-darken-2">{{ form_errors(form) }}</span>
</td>
</tr>
{% endif %}
{% if form.reference is defined%}
<tr>
<td class="col-lg-12 col-md-12 col-sm-12 ">
{{ form_row(form.reference) }}
</td>
</tr>
{% endif %}
<tr>
<td class="col-lg-12 col-md-12 col-sm-12 ">
{% if form.title is defined%}
{{ form_row(form.title) }}
{% endif %}
</td>
</tr>
<tr>
<td class="col-lg-12 col-md-12 col-sm-12">
{{ form_row(form.beneficiaire) }}
<br/>
Vous souhaitez recruter pour l'un de vos clients, renseignez ce champ
</td>
</tr>
<tr>
<td class="col-lg-12 col-md-12 col-sm-12">
{{ form_row(form.location_gmap) }}
{{ form_row(form.location) }}
</td>
</tr>
<tr>
<td class="col-lg-12 col-md-12 col-sm-12">
{{ form_row(form.description) }}
</td>
</tr>
<tr>
<td class="col-lg-12 col-md-12 col-sm-12">
{{ form_row(form.contract_type) }}
</td>
</tr>
{# US 380 : Mise en place du temps de contrat (CDD) #}
<tr id="ligneDureeContrat">
<td class="col-lg-12 col-md-12 col-sm-12">
{{ form_row(form.duree_contrat) }}
</td>
</tr>
<tr>
<td class="col-lg-12 col-md-12 col-sm-12">
{{ form_row(form.temps_type) }}
</td>
</tr>
{# US 329 : Mise en place du temps de travail #}
<tr id="ligneNbHeure">
<td class="col-lg-12 col-md-12 col-sm-12">
{{ form_row(form.nombre_heure) }}
</td>
</tr>
{# US 295 : Mise en place du télétravail #}
<tr>
<td class="col-lg-12 col-md-12 col-sm-12">
{{ form_row(form.teletravail) }}
</td>
</tr>
</table>
<table>
<tr class='bg-contrast-lower'>
<td class="col-lg-12 col-md-12 col-sm-12 bg-contrast-lower">
<h3 class="no-margin p-b-5">Compétences recherchées</h3>
<br />
Recherchez le métier de rattachement le plus proche de lintitulé de poste
que vous avez saisi.
</button>
</td>
</tr>
<tr class='bg-contrast-lower'>
<td class="col-lg-12 col-md-12 col-sm-12 bg-contrast-lower">
<table class='saisie'>
<tr class='saisie'>
<td class='saisie'>
<label for="saisie" class="required">Métier de
rattachement</label><br />
<input class="typeahead form-control sample-typehead tt-input"
id="saisie" type="text" placeholder="Saisir un métier"
autocomplete="off" spellcheck="false" dir="auto"
style="position: relative; vertical-align: top; background-color: transparent;">
<br />
<input type="hidden" name="id_appellation_temporaire"
id="id_appellation_temporaire">
<input type="hidden" name="metier_temporaire"
id="metier_temporaire">
<input type="hidden" name="competences_origine"
id="competences_origine">
<br />Le métier de rattachement sert uniquement à vous proposer des
compétences
et ne sera pas affiché sur votre offre demploi.
</td>
</tr>
</table>
</td>
</tr>
</table>
<table class="table table-condensed ">
<tr class='bg-contrast-lower'>
<td class="col-lg-12 col-md-12 col-sm-12 bg-contrast-lower">
<div id="competencesAd"></div><br />
<div id="competencesAdMessage" class="text-danger">Vous devez
sélectionner un minimum une compétence</div><br />
<div class="text-center" id="competencesButtonAd">
<button type="button" class="btn btn-primary" data-toggle="modal"
data-target="#ajoutCompetencesModal" id="ajoutCompetences">
Ajouter des compétences
</button>
<input type="hidden" id ="nbCompetences">
<span id= "nbCompetencesText"></span>
</div>
</td>
{{ form_row(form.appellationId) }}
{{ form_row(form.appellationLibelle) }}
{{ form_row(form.codeRome) }}
</tr>
<tr>
<td class="col-lg-12 col-md-12 col-sm-12">
{{ form_row(form.status) }}
</td>
</tr>
<tr>
<td class="col-lg-12 col-md-12 col-sm-12">
{{ form_row(form.publicTag) }}
{{ form_row(form.competences) }}
</td>
</tr>
<tr>
<td class="col-lg-12 col-md-12 col-sm-12">
&nbsp;
</td>
</tr>
<tr>
<td class="col-lg-12 col-md-12 col-sm-12 ">
<button aria-label="" type="submit" id="saveAdButton" class="btn btn-primary btn-cons btn-animated from-left pull-right"
type="button">
<span>Je crée mon annonce</span>
<span class="hidden-block">
<i class="material-icons fs-16">local_shipping</i>
</span>
</button>
{# <button class="btn btn-default" type="submit">Je crée mon annonce!</button> #}
</td>
</tr>
</table>
{{ form_end(form) }}
</div>
</div>
</div>
</div>
<div class="tab-pane slide-left padding-20 sm-no-padding disabled" id="tab2">
<div class="row row-same-height">
<div class="col-md-5 b-r b-dashed b-grey ">
<div class="padding-30 sm-padding-5 sm-m-t-15 m-t-50">
</div>
</div>
<div class="col-md-7">
<div class="padding-30 sm-padding-5">
</div>
</div>
</div>
</div>
<div class="padding-20 sm-padding-5 sm-m-b-20 sm-m-t-20 bg-white clearfix">
{# <ul class="pager wizard no-style">
<li class="next">
<button aria-label="" class="btn btn-primary btn-cons btn-animated from-left pull-right"
type="button">
<span>Je crée mon annonce</span>
<span class="hidden-block">
<i class="material-icons fs-16">local_shipping</i>
</span>
</button>
</li>
<li class="next finish hidden">
<button aria-label="" class="btn btn-primary btn-cons btn-animated from-left pull-right"
type="button">
<span>Finish</span>
<span class="hidden-block">
<i class="material-icons fs-16">settings</i>
</span>
</button>
</li>
<li class="previous first hidden">
<button aria-label="" class="btn btn-default btn-cons btn-animated from-left pull-right"
type="button">
<span>First</span>
<span class="hidden-block">
<i class="material-icons fs-16">settings</i>
</span>
</button>
</li>
<li class="previous">
<button aria-label="" class="btn btn-default btn-cons btn-animated from-left pull-right"
type="button">
<span>Previous</span>
<span class="hidden-block">
<i class="material-icons fs-14">settings</i>
</span>
</button>
</li>
</ul> #}
</div>
<div class="wizard-footer padding-20 bg-contrast-low">
<p class="small hint-text pull-left no-margin">
</p>
<div class="pull-right">
</div>
<div class="clearfix"></div>
</div>
</div>
</div>
</div>
<!-- END CONTAINER FLUID -->
{% endblock %}
{% block javascriptsSecondaire %}
<script type="application/javascript">
//Methode permettant d'afficher le bloc nb d'heure si est en temps partiel
function afficherTempsType(){
if( $( "#ad_soft_temps_type" ).val()=="PART_TIME" ){
//$("#ligneNbHeure").show();
$("#ad_soft_nombre_heure").prop("disabled", false);
}else{
//$("#ligneNbHeure").hide();
$("#ad_soft_nombre_heure").prop("disabled", true);
}
}
//Methode permettant d'afficher le bloc durée de contrat si le contrat est un CDI
function afficherDureeContrat(){
if( $( "#ad_soft_contract_type" ).val()=="CDD" ){
//$("#ligneDureeContrat").show();
$("#ad_soft_duree_contrat").prop("disabled", false);
}else{
//$("#ligneDureeContrat").hide();
$("#ad_soft_duree_contrat").prop("disabled", true);
}
}
$( "#ad_soft_temps_type" ).change(function() {
afficherTempsType();
});
$( "#ad_soft_contract_type" ).change(function() {
afficherDureeContrat();
});
//methode qui permet de générer le json des competences.
// c'est le champ ad_competences qui sert à l'enregistrement en base
function genererJson() {
var competences = "";
//competences = [];
var nbCompetencesSelect = 0;
//on parcourt toutes les checkbox cochées
$(":checkbox:checked").map(function () {
//on recuperer l'input car l'id du champ est formaté comme suit competence_ ou competencepopup_
var input = this.id.split('_');
// on ne ored=nd que les input de la page pricnipale (pas ceux de la popup)
if (input[0] == "competence") {
var retour = this.value.split('_');
//var competence = [retour[0], parseInt(retour[1])];
console.log(this.value);
//competences.push(competence);
//on remplace la virgule par un esapce car sinon bug (les compétences sont séparés par une virgule)
var chaine = this.value.replace(",", " ");
//On limite a 10 compétences, au dela, on les enregistre pas dans le champ ad_competences
if(nbCompetencesSelect<11){
competences += chaine + ",";
nbCompetencesSelect++;
}
$("#nbCompetencesText").html(nbCompetencesSelect+" compétences sélectionnées");
$("#ajouterCompetenceButtonMdal").html("Ajouter (+"+nbCompetencesSelect+")");
$("#nbCompetences").val(nbCompetencesSelect);
//return competence;
}
}).get();
// on renseigne le champ ad_competences
$("#ad_soft_competences").val(competences);
//Gestion des erreurs si aucune compétence
if(nbCompetencesSelect==0){
$("#nbCompetencesText").html("");
$("#competencesAdMessage").html(
"Vous devez sélectionner au minimum une compétence. "
);
$("#ajouterCompetenceButtonMdal").show();
$("#saveAdButton").prop("disabled", true);
}else if(nbCompetencesSelect>9){
$("#saveAdButton").prop("disabled", false);
//Gestion des erreurs si plusde 10 compétences
$("#competencesAdMessage").html(
"Vous avez atteint le nombre maximum de compétences. "
);
$("#competencesAdMessagePopup").html(
"Vous avez atteint le nombre maximum de compétences. "
);
if(nbCompetencesSelect>10){
$("#ajouterCompetenceButtonMdal").hide();
}
}else{
//cas standards, on reinitialise les champs a vide
$("#saveAdButton").prop("disabled", false);
$("#competencesAdMessage").html(
" "
);
$("#ajouterCompetenceButtonMdal").show();
}
if($("#saisie").val() =="" || !$("#saisie").val() ){
$("#competencesAdMessage").html(
"Veuillez choisir un métier de rattachement pour votre annonce. "
);
}
}
$(document).ready(function () {
afficherTempsType();
afficherDureeContrat();
//ad_appellationId
//ad_appellationLibelle
//ad_competences
// renseignement des champs temporaires (champ caché)
$("#id_appellation_temporaire").val($("#ad_soft_appellationId").val());
$("#metier_temporaire").val($("#ad_soft_appellationLibelle").val());
// renseignement du champ visible (init du métier)
$("#saisie").val($("#ad_soft_appellationLibelle").val());
$("#competences_origine").val($("#ad_soft_competences").val());
//charger les compétences en fonction du métier d'origine
chargerCompetences("init");
//cocher les cases par rapport aux compétences d'origine
});
</script>
<script>
$(document)
.ready(function () {
// Construction du champ typeahead d'auto compléetion de métier
$("#competencesButtonAd").hide();
console.log("metiers!!");
var metiers = new Bloodhound({
datumTokenizer: Bloodhound.tokenizers.whitespace,
queryTokenizer: Bloodhound.tokenizers.whitespace,
remote: {
// Ajax qui appelle getAppellionsMetier (API TT qui appelle APi pole emploi)
url: '/app_dev.php/api/getAppelationsLibelle',
wildcar: '%QUERY',
filter: function (metiers) {
console.log("metiers2");
return $.map(metiers, function (metier) {
//console.log(metier);
return {
metier_id: metier.code,
metier_libelle: metier.libelle
}
})
},
prepare: function (query, settings) {
//ing%20agro
//query = query.replace(" ", "%20");
settings.url += '?q=' + query;
return settings;
}
},
});
metiers.initialize();
// Initializing the typeahead
$('#saisie').typeahead({
hint: true,
highlight: true
}, {
name: 'metiers',
source: metiers.ttAdapter(),
display: 'metier_libelle',
limit: 10,
templates: {
suggestion: function (data) {
//comment sont formaté les suggestion de l'auto completion
$(".tt-dataset-metiers").show();
var chaine = data.metier_libelle.replace("'", " ");
return '<div><a href="#" onclick="chargerDonneesTemp(' + data.metier_id + ',\'' +
chaine +
'\')" data-toggle="modal" data-target="#competencesModal" id="competences">' + data.metier_libelle +
'</a></div>'
},
footer: function (query) {
//return '<div class="text-center">Plus de résultats :' + query.query + '</div>';
},
empty: function (context) {
// cas ou l'on ne trpouve rien
$("#competencesAdMessage").html(
" Aucun résultat ne correspond à votre recherche. <br/>Saisissez un autre mot clé pour trouver votre métier de rattachement."
);
return '<div class="text-center">Aucun résultat</div>';
}
}
});
});
//methode qui charge métier temporaire (en attente validation de la popup)
//En effet, on demande a l'utilsiateur s'il est sur. C'est pour ca qu'on a a ces champs temporaires
function chargerDonneesTemp(codeRome, libelleMetier) {
$("#id_appellation_temporaire").val(codeRome);
console.log(codeRome);
$("#metier_temporaire").val(libelleMetier);
$(".metierPopup").text(libelleMetier);
console.log(libelleMetier);
}
function chargerCompetences(type) {
$.ajax({
//L'URL de la requête
url: "/app_dev.php/api/getDetailAppelation",
//url: '{{ path("anwser_share", {"id":'+id+'}) }}',
//La méthode d'envoi (type de requête)
method: "GET",
data: 'q=' + $("#id_appellation_temporaire").val(),
//Le format de réponse attendu
dataType: "json",
})
//Ce code sera exécuté en cas de succès - La réponse du serveur est passée à done()
/*On peut par exemple convertir cette réponse en chaine JSON et insérer
* cette chaine dans un div id="res"*/
.done(function (response) {
let data = JSON.stringify(response);
//$("div#res").append(data);
//console.log(data);
const obj = JSON.parse(data);
//console.log("code ROME");
//console.log(obj.metier.code);
//Passage du l'id appelation et de son libelle temporaire
$("#ad_soft_codeRome").val(obj.metier.code);
$("#ad_soft_appellationId").val($("#id_appellation_temporaire").val());
$("#ad_soft_appellationLibelle").val($("#metier_temporaire").val());
//console.log("competences de base");
//console.log(obj.competencesDeBase);
//Init des champs de compétences
$("#competencesAd").text("");
$("#competencesAdPopup").text("");
$("#competencesAdMessage").html("");
obj.competencesDeBase.forEach(function (object) {
//console.log("Compétence de base");
//console.log(object.code);
//console.log(object.libelle);
//console.log(object.competenceCle);
var hidden = "";
var checked = "";
if (object.competenceCle == true && type!="init") {
checked = "checked";
}
var chaine = object.libelle.replace("'", " ");
var chaine = chaine.replace(",", " ");
$("#competencesAd").append("<div id='competence_ad_"+object.code+"' name='competences_ad[]'><input type='checkbox' "+checked+" onChange='genererCompetences(this);' id='competence_" + object
.code + "' value='" +chaine+"_"+ object.code + "'> " + object.libelle + "<br/></div>");
$("#competencesAdPopup").append("<div id='competence_ad_popup_"+object.code+"'><input type='checkbox' "+checked+" onChange='genererCompetences(this);' id='competencepopup_" + object
.code + "' value='" + object.code + "'> " + object.libelle + "<br/></div>");
if (object.competenceCle == false) {
$("#competence_ad_"+object.code).hide();
}
});
$("#competencesButtonAd").show();
if(type=="init"){
const obj = JSON.parse($("#ad_soft_competences").val());
for (var key in obj) {
for (var key2 in obj[key]) {
//console.log(obj[key][key2]);
console.log(key2);
$("#competencepopup_"+key2).prop("checked", true);
$("#competence_"+key2).prop("checked", true);
$("#competence_ad_"+key2).show();
}
}
}
//on génere le json qui va remplir le champ ad_soft_competences
genererJson();
})
//Ce code sera exécuté en cas d'échec - L'erreur est passée à fail()
//On peut afficher les informations relatives à la requête et à l'erreur
.fail(function (error) {
$("#competencesAd").text("");
$("#competencesAdPopup").text("");
if ($("#saisie").val() != "") {
// si il y a un pb avec l'api pole emploi, on affiche ce message
$("#competencesAdMessage").html(
"Une erreur est survenue dans la recherche du métier de rattachement. <a href='#' onclick='chargerCompetences();'><i class='fa fa-refresh fa-spin fa-fw'></i>Cliquez ici pour relancer la recherche</a> "
);
}
console.log("La requête s'est terminée en échec. Infos : " + JSON.stringify(error));
})
//Ce code sera exécuté que la requête soit un succès ou un échec
.always(function () {
console.log("Requête effectuée");
});
}
// function qui permet de synchroniser les compétences de la page et celles de la popup
// ca va dans les deux sens.
function genererCompetences(cb) {
console.log("Clicked, new value = " + cb.checked);
console.log("Clicked, target = " + cb.id);
var id = cb.id.split('_');
id = id[1];
if($("#nbCompetences").val()<10){
$("#competence_" + id).prop("checked", cb.checked);
$("#competencepopup_" + id).prop("checked", cb.checked);
if (cb.checked) {
console.log("reaffichage div #competence_ad_" + id);
$("#competence_ad_" + id).show();
} else {
console.log("hidden de div #competence_ad_" + id);
$("#competence_ad_" + id).hide();
}
}else{
$("#competence_" + id).prop("checked", false);
$("#competencepopup_" + id).prop("checked", false);
}
// on génere le json a chaque fois
genererJson();
}
</script>
{% endblock %}
@@ -1,8 +1,8 @@
{% extends 'company/base_dashboard_company.html.twig' %}
{% extends 'company/base_dashboard_company_V2.html.twig' %}
{% block dashContent %}
<div class="row bg-bordered p-0">
{% include 'company/ad_steps.html.twig' with {'tab':3} %}
{# {% include 'company/ad_steps.html.twig' with {'tab':3} %} #}
<div class="p-20">
<form>
<p>
@@ -3,7 +3,7 @@
{% block dashContent %}
{% include 'default/flash_message.html.twig' %}
<div class="row bg-bordered p-20">
<h1 class="alttitle">Prolongondation de mon annonce : {{ ad.title }}</h1>
<h1 class="alttitle">Prolongation de mon annonce : {{ ad.title }}</h1>
<div class="row">
<div class="col s12">
Date actuelle de fin de publication de votre annonce : {{ ad.unpublishedat|date('d-m-Y') }}
@@ -1,5 +1,5 @@
{% extends 'company/base_dashboard_company.html.twig' %}
{# {% extends 'company/base_dashboard_company.html.twig' %} #}
{% extends 'admin/base_dashboard.html.twig' %}
{% block title %}
Mes annonces
{% endblock %}
@@ -7,14 +7,14 @@
{% block dashContent %}
{% include 'default/flash_message.html.twig' %}
{% include 'company/job_submenu.html.twig' with {
{# {% include 'company/job_submenu.html.twig' with {
'tab' : 1
} %}
} %} #}
<div class="row bg-bordered p-20">
{# <div class="row bg-bordered p-20"> #}
{% include 'company/ad_breadcrumb.html.twig' with {'step': 1} %}
{% include 'company/ad_table_listing.html.twig' with {
'ads' : ads
} %}
</div>
{# </div> #}
{% endblock %}
@@ -5,7 +5,7 @@
<div class="tab col s4">
<a {% if tab == 1 %}class="active"{% endif %} href="#!">
<div class="btn btn-circle">1</div>
<div>Je <b>créer</b> mon annonce</div>
<div>Je <b>crée</b> mon annonce</div>
</a>
</div>
<div class="tab mid-border col s4">
@@ -14,14 +14,14 @@
<div>Je <b>télécharge</b> ma vidéo</div>
</a>
</div>
<div class="tab col s4">
{# <div class="tab col s4">
<a {% if tab == 3 %}class="active"{% endif %} href="#!">
<div class="btn btn-circle">3</div>
<div>
Je <b>planifie</b> et <b>commande</b> mon annonce
</div>
</a>
</div>
</div> #}
</div>
</div>
</div>
@@ -0,0 +1,19 @@
<!-- Nav tabs -->
<ul class="nav nav-tabs nav-tabs-linetriangle nav-tabs-separator nav-stack-sm" role="tablist"
data-init-reponsive-tabs="dropdownfx">
<li class="nav-item">
<a class="{% if tab == 1 %}active {% else %}disabled {% endif %} d-flex align-items-center" data-toggle="tab" href="#tab1"
data-target="#tab1" role="tab"><i class="material-icons fs-14 tab-icon">shopping_cart</i> <span>Je
<b>crée</b> mon annonce</span></a>
</li>
<li class="nav-item">
<a class="{% if tab == 2 %}active {% else %}disabled {% endif %} d-flex align-items-center" data-toggle="tab" href="#tab2"
data-target="#tab2" role="tab"><i class="material-icons fs-14 tab-icon">local_shipping</i> <span>Je
<b>télécharge</b> ma vidéo</span></a>
</li>
{# <li class="nav-item">
<a class="{% if tab == 3 %}active {% else %}disabled {% endif %} d-flex align-items-center" data-toggle="tab" href="#tab3"
data-target="#tab3" role="tab"><i class="material-icons fs-14 tab-icon">payment</i> <span>Je <b>planifie</b>
et <b>commande</b> mon annonce</span></a>
</li> #}
</ul>
@@ -1,89 +1,174 @@
<table id="ads-table" class="bordered highlight responsive-table">
<thead>
<tr>
<th>{{ 'ad.company.list.title'|trans }}</th>
<th class="tdCount">{{ 'ad.company.list.answers'|trans }}</th>
<th class="tdCount">{{ 'ad.company.list.views'|trans }}</th>
<th>{{ 'ad.company.list.status'|trans }}</th>
<th>{{ 'ad.company.list.actions'|trans }}</th>
</tr>
</thead>
<tbody>
{% for ad in ads %}
<tr>
<td>
{% if ad.countAnswers > 0 %}
<a href="{{ path('company_ad_answer_list',{'id':ad.id}) }}">
{{ ad.title }}
</a>
{% else %}
{{ ad.title }}
{% endif %}
</td>
<td class="tdCount">
{% if ad.countAnswers > 0 %}
<a href="{{ path('company_ad_answer_list',{'id':ad.id}) }}">
<i class="fa fa-eye"></i>&nbsp; {{ ad.countAnswers }}
</a>
{% else %}
0
{% endif %}
</td>
<td class="tdCount">
{% if arrayByAds is defined %}
{{ arrayByAds[ad.id]["count"] }}
{% endif %}
</td>
<td align="center" valign="center">
{% if ad.getStatus() == "DECLINED" %}
<div class="tooltipped" data-position="top" data-delay="50" data-tooltip="{{ ad.moderationText }}">
<span class="">{{ ad.getStatus()|trans }}</span>
<i class="c-pointer fa fa-info-circle color-red" aria-hidden="true"></i>
<!-- START JUMBOTRON -->
<div class="jumbotron" data-pages="parallax">
<div class=" container-fluid container-fixed-lg sm-p-l-0 sm-p-r-0">
<div class="inner">
<!-- START BREADCRUMB -->
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="/entreprise/me/">Accueil</a></li>
<li class="breadcrumb-item active">Offres d'emploi</li>
</ol>
<!-- END BREADCRUMB -->
<div class="row">
<div class="col-xl-12 col-lg-12 ">
<!-- START card -->
<div class="card card-transparent">
<div class="card-header ">
</div>
{% else %}
<span class="">{{ ad.getStatus()|trans }}</span>
{% endif %}
</td>
<td>
{% if ad.getStatus() == "DRAFT" or ad.getStatus() == "DECLINED" %}
{#Edit#}
<a class="tooltipped td-none" data-position="top" data-delay="0" data-tooltip="{{ 'ad.company.edit.label'|trans }}" href="{{ path('company_ad_edit', { 'id': ad.id }) }}" style="margin-right: 10px">
<i class="fa fa-pencil-square-o" aria-hidden="true"></i>
</a>
{% else %}
{#Soft Edit#}
<a class="tooltipped td-none" data-position="top" data-delay="0" data-tooltip="{{ 'ad.company.edit.label'|trans }}" href="{{ path('company_ad_soft_edit', { 'id': ad.id }) }}" style="margin-right: 10px">
<i class="fa fa-pencil-square-o" aria-hidden="true"></i>
</a>
{% endif %}
<div class="card-body">
{% if ad.getStatus() == "DRAFT" or ad.getStatus() == "DECLINED" %}
{#Video#}
<a class="tooltipped td-none" data-position="top" data-delay="0" data-tooltip="{{ 'ad.company.video.edit.label'|trans }}" href="{{ path('create_media', { 'id': ad.id }) }}">
<i class="fa fa-video-camera" aria-hidden="true"></i>
</a>
{% endif %}
<a class="btn-square" target="_self" href="{{ path('company_ad_create') }}">
<button aria-label=""
class="btn btn-primary btn-cons">{{ 'ad.company.add.label'|trans }}</button>
</a>
</div>
</div>
<!-- END card -->
</div>
</div>
</div>
</div>
</div>
<!-- END JUMBOTRON -->
{% if ad.getStatus() == "PUBLISHED" %}
{#Extension#}
<a class="tooltipped td-none" data-position="top" data-delay="0" data-tooltip="{{ 'ad.company.dates.extension.label'|trans }}" href="{{ path('company_ad_extension', { 'id': ad.id }) }}" style="margin-right: 10px">
<i class="fa fa-calendar" aria-hidden="true"></i>
</a>
{#Force ending#}
<a class="tooltipped td-none" data-position="top" data-delay="0" data-tooltip="{{ 'ad.company.closed.label'|trans }}" href="{{ path('company_ad_closed', { 'id': ad.id }) }}" style="margin-right: 10px">
<i class="fa fa-window-close-o" aria-hidden="true"></i>
</a>
{% endif %}
{% if ad.getStatus() == "TO_PUBLISH" or ad.getStatus() == "VALIDATED" or ad.getStatus() == "CLOSED" or ad.getStatus() == "EXPIRED" %}
{#Edit Dates#}
<a class="tooltipped td-none" data-position="top" data-delay="0" data-tooltip="{{ 'ad.company.dates.edit.label'|trans }}" href="{{ path('company_ad_step3', { 'id': ad.id }) }}" style="margin-right: 10px">
<i class="fa fa-calendar" aria-hidden="true"></i>
</a>
{% endif %}
</td>
</tr>
{% endfor %}
</tbody>
</table>
<!-- START CONTAINER FLUID -->
<div class=" container-fluid container-fixed-lg bg-white">
<!-- START card -->
<div class="card card-transparent">
<div class="card-header ">
<div class="card-title">Offres d'emploi
</div>
</div>
<div class="card-body">
<div class="table-responsive">
<table class="table table-hover" id="basicTable">
<thead>
<tr>
<!-- NOTE * : Inline Style Width For Table Cell is Required as it may differ from user to user
Comman Practice Followed
-->
<th style="width:20%">{{ 'ad.company.list.title'|trans }}</th>
<th style="width:20%">{{ 'ad.company.list.answers'|trans }}</th>
<th style="width:20%">{{ 'ad.company.list.views'|trans }}</th>
<th style="width:20%">{{ 'ad.company.list.status'|trans }}</th>
<th style="width:20%">{{ 'ad.company.list.actions'|trans }}</th>
</tr>
</thead>
<tbody>
{% for ad in ads %}
<tr>
<td class="v-align-middle ">
{% if ad.countAnswers > 0 %}
<a href="{{ path('company_ad_answer_list',{'id':ad.id}) }}">
{{ ad.title }}
</a>
{% else %}
{{ ad.title }}
{% endif %}
</td>
<td class="v-align-middle">
{% if ad.countAnswers > 0 %}
<a href="{{ path('company_ad_answer_list',{'id':ad.id}) }}">
<i class="fa fa-eye"></i>&nbsp; {{ ad.countAnswers }}
</a>
{% else %}
0
{% endif %}
</td>
<td class="v-align-middle">
{% if arrayByAds is defined %}
{{ arrayByAds[ad.id]["count"] }}
{% endif %}
</td>
<td class="v-align-middle">
{% if ad.getStatus() == "DECLINED" %}
<div class="">
<span class="">{{ ad.getStatus()|trans }}</span>
<i class="c-pointer fa fa-info-circle color-red" aria-hidden="true"></i>
</div>
{% else %}
<span class="">{{ ad.getStatus()|trans }}</span>
{% endif %}
</td>
<td class="v-align-middle">
{% if ad.getStatus() == "DRAFT" or ad.getStatus() == "DECLINED" %}
{#Edit#}
<a class=" td-none" href="{{ path('company_ad_edit', { 'id': ad.id }) }}"
style="margin-right: 10px">
<i class="pg-icon">pen</i>
</a>
{% else %}
{#Soft Edit#}
<a class=" td-none" href="{{ path('company_ad_soft_edit', { 'id': ad.id }) }}"
style="margin-right: 10px">
<i class="pg-icon">pen</i>
</a>
{% endif %}
{% if ad.getStatus() == "DRAFT" or ad.getStatus() == "DECLINED" %}
{#Video#}
<a class="tooltipped td-none" href="{{ path('create_media', { 'id': ad.id }) }}">
<i class="material-icons">
videocam
</i>
</a>
{% endif %}
{% if ad.getStatus() == "PUBLISHED" %}
{#Extension#}
{# ENLEVE LE 01/09 #}
{# <a class="tooltipped td-none" data-position="top" data-delay="0"
data-tooltip="{{ 'ad.company.dates.extension.label'|trans }}"
href="{{ path('company_ad_extension', { 'id': ad.id }) }}"
style="margin-right: 10px">
<i class="pg-icon">calendar</i>
</a> #}
{#Force ending#}
{# <a class="tooltipped td-none" data-position="top" data-delay="0"
data-tooltip="{{ 'ad.company.closed.label'|trans }}"
href="{{ path('company_ad_closed', { 'id': ad.id }) }}" style="margin-right: 10px">
<i class="material-icons">
close
</i>
</a> #}
{% endif %}
{% if ad.getStatus() == "TO_PUBLISH" or ad.getStatus() == "VALIDATED" or ad.getStatus() == "CLOSED" or ad.getStatus() == "EXPIRED" %}
{#Edit Dates#}
{# <a class="tooltipped td-none" data-position="top" data-delay="0"
data-tooltip="{{ 'ad.company.dates.edit.label'|trans }}"
href="{{ path('company_ad_step3', { 'id': ad.id }) }}" style="margin-right: 10px">
<i class="material-icons">
close
</i>
</a> #}
{% endif %}
</td>
</tr>
{% endfor %}
{% if ads|length == 0 %}
<tr>
<th colspan="5" class="text-center">Aucune offre pour le moment</th>
</tr>
{% endif %}
</tbody>
</table>
</div>
</div>
</div>
<!-- END card -->
</div>
<script type="text/javascript">
<!-- END CONTAINER FLUID
-->
</script>
@@ -1,86 +1,148 @@
{% extends 'company/base_dashboard_company.html.twig' %}
{# {% extends 'company/base_dashboard_company.html.twig' %} #}
{% extends 'admin/base_dashboard.html.twig' %}
{% block dashContent %}
{% include 'company/job_submenu.html.twig' with {'tab' : 2} %}
<div class="row bg-bordered p-20">
<div class="col s12">
<h4 class="title-table">{{ 'company.menu.answers.label'|trans }}</h4>
<!-- START JUMBOTRON -->
<div class="jumbotron" data-pages="parallax">
<div class=" container-fluid container-fixed-lg sm-p-l-0 sm-p-r-0">
<div class="inner">
<!-- START BREADCRUMB -->
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="/entreprise/me/">Accueil</a></li>
<li class="breadcrumb-item active">Candidatures</li>
</ol>
<!-- END BREADCRUMB -->
</div>
<div id="reponses" class="col s12">
<table id="table-answers" class="bordered highlight responsive-table">
</div>
</div>
<!-- END JUMBOTRON -->
<!-- START CONTAINER FLUID -->
<div class=" container-fluid container-fixed-lg bg-white">
<!-- START card -->
<div class="card card-transparent">
<div class="card-header ">
<div class="card-title">Candidatures
</div>
</div>
<div class="card-body">
<div class="table-responsive" id="reponses">
<table class="table table-hover" id="basicTable">
<thead>
<tr>
<th>{{ 'profile.talent.lastname'|trans }} {{ 'profile.talent.firstname'|trans }}</th>
<th>{{ 'global.datereception.label'|trans }}</th>
<th>{{ 'ad.company.list.title'|trans }}</th>
<th class="center-align">{{ 'ad.company.list.actions'|trans }}</th>
</tr>
<tr>
<!-- NOTE * : Inline Style Width For Table Cell is Required as it may differ from user to user
Comman Practice Followed
-->
<th style="width:25%">{{ 'profile.talent.lastname'|trans }}
{{ 'profile.talent.firstname'|trans }}</th>
<th style="width:25%">{{ 'global.datereception.label'|trans }}</th>
<th style="width:25%">{{ 'ad.company.list.title'|trans }}</th>
<th style="width:25%" class="center-align">{{ 'ad.company.list.actions'|trans }}</th>
</tr>
</thead>
<tbody>
{% for answer in answers %}
{% for answer in answers %}
<tr>
<td>
<a href="{{ path('company_answer_show',{'id':answer.id }) }}">{{ answer.user.lastname }} {{ answer.user.firstname }}</a>
<a href="{{ path('company_answer_show',{'id':answer.id }) }}">{{ answer.user.lastname }}
{{ answer.user.firstname }}</a>
</td>
<td>{{ answer.sendTime()|date('d/m/Y') }}</td>
<td>{{ answer.ad.title }}</td>
<td class="center-align">
<a title="{{answer.ad.title}}" href="{{ path('company_answer_show',{'id':answer.id }) }}">
<i class="fa fa-eye"></i>
<a title="{{answer.ad.title}}"
href="{{ path('company_answer_show',{'id':answer.id }) }}">
<i class="pg-icon">eye</i>
</a>
<a href="#" class="note-action c-pointer" data-func="add" data-answer="{{ answer.id }}">
<i class="fa fa-sticky-note"></i>
<i class="pg-icon">note</i>
</a>
{% for note in answer.notes %}
<a class="tooltipped note-action c-pointer" data-position="top" data-delay="50"
data-tooltip="{{ note.content }}" data-note="{{ note.id }}" data-func="edit">
<i class="fa fa-commenting" aria-hidden="true"></i>
</a>
<a class="tooltipped note-action c-pointer" data-position="top" data-delay="50"
data-tooltip="{{ note.content }}" data-note="{{ note.id }}" data-func="edit">
<i class="pg-icon">comment</i>
</a>
{% endfor %}
</td>
</tr>
{% endfor %}
{% endfor %}
{% if answers|length == 0 %}
<th colspan="4" class="text-center">Aucune candidature pour le moment</th>
{% endif %}
</tbody>
</table>
</div>
</div>
<div class="row bg-bordered p-20">
<div class="col s12">
<h4 class="title-table">{{ 'company.menu.spontaneous.label'|trans }}</h4>
</div>
<!-- END card -->
</div>
<!-- END CONTAINER FLUID -->
<!-- START CONTAINER FLUID -->
<div class=" container-fluid container-fixed-lg bg-white">
<!-- START card -->
<div class="card card-transparent">
<div class="card-header ">
<div class="card-title">Candidatures spontanées
</div>
<div id="spontaneous" class="col s12">
<table id="table-answers" class="bordered highlight responsive-table">
</div>
<div class="card-body">
<div class="table-responsive" id="spontaneous">
<table class="table table-hover" id="basicTable">
<thead>
<tr>
<th>{{ 'profile.talent.lastname'|trans }} {{ 'profile.talent.firstname'|trans }}</th>
<th>{{ 'global.datereception.label'|trans }}</th>
<th class="center-align">{{ 'ad.company.list.actions'|trans }}</th>
</tr>
<tr>
<!-- NOTE * : Inline Style Width For Table Cell is Required as it may differ from user to user
Comman Practice Followed
-->
<th style="width:33%">{{ 'profile.talent.lastname'|trans }}
{{ 'profile.talent.firstname'|trans }}</th>
<th style="width:33%">{{ 'global.datereception.label'|trans }}</th>
<th style="width:33%" class="center-align">{{ 'ad.company.list.actions'|trans }}</th>
</tr>
</thead>
<tbody>
{% for answer in spontaneous %}
{% for answer in spontaneous %}
<tr>
<td>
<a href="{{ path('company_answer_show',{'id':answer.id }) }}">{{ answer.user.lastname }} {{ answer.user.firstname }}</a>
<a href="{{ path('company_answer_show',{'id':answer.id }) }}">{{ answer.user.lastname }}
{{ answer.user.firstname }}</a>
</td>
<td>{{ answer.sendTime()|date('d/m/Y') }}</td>
<td class="center-align">
<a title="" href="{{ path('company_answer_show',{'id':answer.id }) }}">
<i class="fa fa-eye"></i>
<i class="pg-icon">eye</i>
</a>
<a href="#" class="note-action c-pointer" data-func="add" data-answer="{{ answer.id }}">
<i class="fa fa-sticky-note"></i>
<i class="pg-icon">note</i>
</a>
{% for note in answer.notes %}
<a class="tooltipped note-action c-pointer" data-position="top" data-delay="50"
data-tooltip="{{ note.content }}" data-note="{{ note.id }}" data-func="edit">
<i class="fa fa-commenting" aria-hidden="true"></i>
</a>
<a class="tooltipped note-action c-pointer" data-position="top" data-delay="50"
data-tooltip="{{ note.content }}" data-note="{{ note.id }}" data-func="edit">
<i class="pg-icon">comment</i>
</a>
{% endfor %}
</td>
</tr>
{% endfor %}
{% endfor %}
{% if answers|length == 0 %}
<tr><th colspan="3" class="text-center">Aucune candidature pour le moment</th></tr>
{% endif %}
</tbody>
</table>
</div>
</div>
<div id="note-modal"></div>
{% endblock %}
</div>
<!-- END card -->
</div>
<!-- END CONTAINER FLUID -->
<div id="note-modal"></div>
{% endblock %}
@@ -0,0 +1,343 @@
{# {% extends 'company/base_dashboard_company.html.twig' %} #}
{% extends 'admin/base_dashboard.html.twig' %}
{% block dashContent %}
{# {% if type == "spontaneous" %}
{% include 'company/job_submenu.html.twig' with {
'tab' : 3
} %}
{% else %}
{% include 'company/job_submenu.html.twig' with {
'tab' : 2
} %}
{% endif %} #}
<!-- START JUMBOTRON -->
<div class="jumbotron" data-pages="parallax">
<div class=" container-fluid container-fixed-lg sm-p-l-0 sm-p-r-0">
<div class="inner">
<!-- START BREADCRUMB -->
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="/entreprise/me/">Accueil</a></li>
<li class="breadcrumb-item ">Candidatures!</li>
<li class="breadcrumb-item active"><a
href="{{ path('company_ad_answer_list',{'id':answer.ad.id}) }}">{{ answer.ad.title }}</a>
</li>
</ol>
<!-- END BREADCRUMB -->
</div>
</div>
</div>
<!-- END JUMBOTRON -->
<div class="col-lg-12">
<div class="card card-borderless">
<ul class="nav nav-tabs nav-tabs-simple" role="tablist" data-init-reponsive-tabs="dropdownfx">
<li class="nav-item">
<a class="active" data-toggle="tab" role="tab" data-target="#candidature" href="#"
id="candidatureLien">Candidature</a>
</li>
<li class="nav-item">
<a href="#" data-toggle="tab" role="tab" data-target="#messagerieVideo"
id="messagerieVideoLien">Messagerie vidéo</a>
</li>
<li class="nav-item">
<a href="#" data-toggle="tab" role="tab" data-target="#messagerie"
id="messagerieLien">Messagerie texte</a>
</li>
<li class="nav-item">
<a href="#" data-toggle="tab" role="tab" data-target="#comment" id="commentLien">Commentaire</a>
</li>
</ul>
<div class="tab-content">
<!-- ========== bloc candidature ========== -->
{% include 'company/answer_show_candidature.html.twig' %}
<!-- ========== bloc message video ========== -->
{% include 'company/answer_show_message_video.html.twig' %}
<!-- ========== bloc message texte ========== -->
{% include 'company/answer_show_message_texte.html.twig' %}
<!-- ========== bloc commentaire ========== -->
{% include 'company/answer_show_comment.html.twig' %}
</div>
</div>
</div>
<p><br />&nbsp;</p>
<p><br />&nbsp;</p>
<p><br />&nbsp;</p>
<p><br />&nbsp;</p>
<p><br />&nbsp;</p>
<div class="card card-borderless">
<div class="row bg-bordered p-20">
{% include 'company/ad_breadcrumb.html.twig' with {'step': 3,'ad': answer.ad,'firstname':answer.user.firstname ,'lastname':answer.user.lastname} %}
<div class="col s12 m6">
<div id="mini-profil-block">
<a target="_blank" href="{{ path('talent_show',{'alias':answer.user.company.alias} ) }}">
{% include 'talent/talent_picture.html.twig' with {
'user' : answer.user
} %}
</a>
<div>
<div class="mini-profil-picture-name">
<a target="_blank" href="{{ path('talent_show',{'alias':answer.user.company.alias} ) }}">
{{ answer.user.firstname }} {{ answer.user.lastname }}
&nbsp;<i class="fa fa-user-circle"></i>
</a>
</div>
<div>Recu le {{ answer.sendTime|date('d/m/Y') }}</div>
</div>
</div>
<div class="embed-responsive embed-responsive-16by9">
<iframe src="https://player.vimeo.com/video/{{ answer.video.cdnUrl|replace({ "/videos/": ""}) }}"
width="100%" height="auto" frameborder="0" webkitallowfullscreen mozallowfullscreen
allowfullscreen></iframe>
</div>
</div>
<div class="col s12 m6">
{% if answer.comment %}
<strong>{% trans %}label.message{% endtrans %}</strong>
<p class="message-answer">{{ answer.comment }}</p>
{% else %}
{% trans %}label.noMessage{% endtrans %}
{% endif %}
</div>
<div class="col s12">
<h4 class="no-margin-top bordered">Contacter {{ answer.user.firstname }} {{ answer.user.lastname }} par :
</h4>
</div>
<div class="col s12 col-actions">
<a class="btn btn-default btn-active bnt-choice-message" data-value="message">Message</a><a
class="btn btn-default bnt-choice-message" data-value="video">Vidéo</a>
</div>
<div class="col s12">
<div class="col-bordered">
<div class="blockanswer blockanswer-video">
<a class="btn btn-default bnt-choice-video" data-value="webcam" href="#">Enregistrer une vidéo</a>
<a class="btn btn-default bnt-choice-video" data-value="upload" href="#">Importer une vidéo</a>
<a class="btn btn-default bnt-choice-video" data-value="videotheque" ref="#">Choisir depuis la
videothèque</a>
</div>
<div class="blockanswer blockanswer-message">
<div class="sender">De : {{ app.user.firstname }} {{ app.user.lastname }}</div>
{{ form_start(form) }}
{{ form_rest(form) }}
<div class="bottom-form">
<button type="submit" class="btn btn-default disabled">Envoyer</button>
</div>
{{ form_end(form) }}
</div>
{{ form_start(formVideo) }}
<div id="blockanswer-video-webcam" class="panel-hide">
{% include 'message/message_create_webcam.twig' %}
</div>
<div id="blockanswer-video-upload" class="panel-hide">
{% include 'message/message_create_import.twig' %}
</div>
<div id="blockanswer-video-videotheque" class="panel-hide">
{% include 'message/message_create_videotheque.twig' %}
</div>
<div id="validFormVideo" class="panel-hide">
{{ form_widget(formVideo._token, { 'id': 'token_video' }) }}
{{ form_widget(formVideo.status, { 'id': 'contact_talent_status_video' }) }}
{{ form_rest(formVideo) }}
<div class="bottom-form">
<button type="submit" class="btn btn-default disabled">Envoyer</button>
</div>
</div>
{{ form_end(formVideo) }}
</div>
</div>
<div class="col s12">
<h4 class="no-margin-top bordered">{% trans %}label.answer.history.title{% endtrans %}</h4>
</div>
<div class="col s12">
{% if answer.messages %}
{% for message in answer.messages if message.status != "DRAFT" %}
{% set class = '' %}
{% if loop.index > 1 %}
{% set class = 'history-hidden' %}
{% endif %}
<div class="blockanswer-answer {{class}}">
<div class="title-answer">
{% trans %}label.answer{% endtrans %}{{ message.status|trans }}
<span
class="date-answer">{% trans %}label.sended{% endtrans %}{{ message.uTime|date('d-m-Y') }}</span>
</div>
<div class="description-answer">
{% if message.video %}
<div class="embed-responsive embed-responsive-16by9">
<iframe
src="https://player.vimeo.com/video/{{ message.video.cdnUrl|replace({ "/videos/": ""}) }}"
width="100%" height="300" frameborder="0" webkitallowfullscreen mozallowfullscreen
allowfullscreen></iframe>
</div>
{% endif %}
{{ message.content|nl2br }}
</div>
</div>
{% endfor %}
{% endif %}
</div>
<div class="col s12 center-align m-t-30">
<a class="bnt btn-round btn-grey-2 link-history-more" href="#"
title="{% trans %}label.history.link{% endtrans %}">{% trans %}label.history.link{% endtrans %}</a>
</div>
</div>
{% endblock %}
{% block javascripts %}
{{ parent() }}
<script type="text/javascript">
var urlDropzone = '{{ path("upload_media_message", {"id": message.getId()}) }}';
var urlDelete = '{{ path("delete_media_message", {"id": message.getId() }) }}'
var idObject = null;
var typeObject = "answer";
var videoExist = false;
</script>
<script src="{{ asset('/js/dropzone.js') }}"></script>
<script src="{{ asset('/js/vendors/video.min.js') }}"></script>
<script src="{{ asset('/js/vendors/RecordRTC.js') }}"></script>
<script src="{{ asset('/js/vendors/videojs.record.js') }}"></script>
<script src="{{ asset('/js/vendors/jquery.browser.min.js') }}"></script>
<script src="{{ asset('/js/vendors/readmore.min.js') }}"></script>
<script src="{{ asset('/js/answer.js') }}"></script>
<script type="text/javascript">
$(".card-action").click(function () {
var idVideo = $(this).data("id");
var titleVideo = $(this).data("title");
var imgVideo = $(this).data("img");
var urlVideo = $(this).data("url");
var elem = $(this);
form['contact_talent_video'] = 1;
$.ajax({
type: 'POST',
url: '{{ path("link_media_message", {"id": message.getId()}) }}',
data: "idVideo=" + idVideo,
dataType: 'html',
success: function (response) {
$(".card-action").removeClass('active');
elem.addClass('active');
Materialize.toast('Vidéo bien associé à la réponse', 4000);
if ($("#submit").hasClass('disabled')) {
$("#submit").removeClass('disabled');
$("#submit").addClass('pulse');
}
},
error: function (response, xhr, ajaxOptions, thrownError) {
Materialize.toast('Erreur lors de l\'association de la vidéo!', 4000);
}
});
});
$('.bnt-choice-message').on('click', function () {
var type = $(this).data('value');
$('.bnt-choice-message').removeClass('btn-active');
$('.bnt-choice-video').removeClass('active');
$(this).addClass('btn-active');
$(".panel-hide").removeClass('active');
$(".panel-hide").stop().fadeOut();
$('.blockanswer').stop().fadeOut('normal', function () {
$('.blockanswer-' + type).stop().fadeIn();
if (type == 'video') {
$('.bnt-choice-video:first').click();
}
});
});
$('.blockanswer-video').css('display', 'none');
$('.bnt-choice-video').on('click', function (e) {
e.preventDefault();
var type = $(this).data('value');
$('.bnt-choice-video').removeClass('active');
$(this).addClass('active');
$(".panel-hide").removeClass('active');
$('#blockanswer-video-' + type).addClass('active');
$(".panel-hide").not(".active").stop().fadeOut('normal', function () {
$('#blockanswer-video-' + type).stop().fadeIn('fast');
if (type == "webcam") {
$('#blockanswer-video-upload').stop().fadeIn('fast');
}
$('#validFormVideo').stop().fadeIn('fast');
});
});
$('.link-history-more').on('click', function (e) {
e.preventDefault();
$('.history-hidden').fadeIn();
$(this).fadeOut();
});
document.getElementsByName("contact_talent[message]")[0].addEventListener('change', verifySubmitButton);
$('#contact_talent_status').on('change', verifySubmitButton);
var form = [];
form['contact_talent_message'] = 0;
form['contact_talent_video'] = 0;
form['contact_talent_status_video'] = 0;
form['contact_talent_status'] = 0;
function verifySubmitButton() {
if (this.value && this.value != 0) {
form[this.id] = 1;
} else {
form[this.id] = 0;
}
if (form['contact_talent_message'] + form['contact_talent_status'] >= 2) {
$('.blockanswer-message .btn').removeClass('disabled');
} else {
$('.blockanswer-message .btn').addClass('disabled');
}
}
$('#contact_talent_status_video').on('change', verifyVideoSubmitButton);
function verifyVideoSubmitButton() {
if (this.value && this.value != 0) {
form[this.id] = 1;
} else {
form[this.id] = 0;
}
if (form['contact_talent_video'] + form['contact_talent_status_video'] >= 2) {
$('#validFormVideo .btn').removeClass('disabled');
} else {
$('#validFormVideo .btn').addClass('disabled');
}
}
$('.message-answer').readmore({
speed: 75,
lessLink: '<a href="#" class="link-message-more">Fermer</a>',
moreLink: '<a href="#" class="link-message-more">{% trans %}label.link.readmore{% endtrans %}</a>',
blockProcessed: function (element, collapsable) {
console.log(element);
console.log(collapsable);
if (collapsable == false) {
$('.message-answer').readmore('destroy');
}
}
});
function changerActive(tabActive) {
$("#comment").removeClass("active");
$("#candidature").removeClass("active");
$("#messagerieVideo").removeClass("active");
$("#messagerie").removeClass("active");
$("#commentLien").removeClass("active");
$("#candidatureLien").removeClass("active");
$("#messagerieVideoLien").removeClass("active");
$("#messagerieLien").removeClass("active");
$("#" + tabActive).addClass("active");
$("#" + tabActive + "Lien").addClass("active");
}
</script>
{% endblock %}
@@ -1,8 +1,8 @@
{% extends 'company/base_dashboard_company.html.twig' %}
{# {% extends 'company/base_dashboard_company.html.twig' %} #}
{% extends 'admin/base_dashboard.html.twig' %}
{% block dashContent %}
{% if type == "spontaneous" %}
{# {% if type == "spontaneous" %}
{% include 'company/job_submenu.html.twig' with {
'tab' : 3
} %}
@@ -10,244 +10,227 @@
{% include 'company/job_submenu.html.twig' with {
'tab' : 2
} %}
{% endif %}
<div class="row bg-bordered p-20">
{% include 'company/ad_breadcrumb.html.twig' with {'step': 3,'ad': answer.ad,'firstname':answer.user.firstname ,'lastname':answer.user.lastname} %}
<div class="col s12 m6">
<div id="mini-profil-block">
<a target="_blank" href="{{ path('talent_show',{'alias':answer.user.company.alias} ) }}">
{% include 'talent/talent_picture.html.twig' with {
'user' : answer.user
} %}
</a>
<div>
<div class="mini-profil-picture-name">
<a target="_blank" href="{{ path('talent_show',{'alias':answer.user.company.alias} ) }}">
{{ answer.user.firstname }} {{ answer.user.lastname }}
&nbsp;<i class="fa fa-user-circle"></i>
</a>
</div>
<div>Recu le {{ answer.sendTime|date('d/m/Y') }}</div>
</div>
</div>
<div class="embed-responsive embed-responsive-16by9">
<iframe src="https://player.vimeo.com/video/{{ answer.video.cdnUrl|replace({ "/videos/": ""}) }}"
width="100%" height="auto" frameborder="0" webkitallowfullscreen mozallowfullscreen
allowfullscreen></iframe>
</div>
</div>
<div class="col s12 m6">
{% if answer.comment %}
<strong>{% trans %}label.message{% endtrans %}</strong>
<p class="message-answer">{{ answer.comment }}</p>
{% else %}
{% trans %}label.noMessage{% endtrans %}
{% endif %}
</div>
<div class="col s12">
<h4 class="no-margin-top bordered">Contacter {{ answer.user.firstname }} {{ answer.user.lastname }} par : </h4>
</div>
<div class="col s12 col-actions">
<a class="btn btn-default btn-active bnt-choice-message" data-value="message">Message</a><a class="btn btn-default bnt-choice-message" data-value="video">Vidéo</a>
</div>
<div class="col s12">
<div class="col-bordered">
<div class="blockanswer blockanswer-video">
<a class="btn btn-default bnt-choice-video" data-value="webcam" href="#">Enregistrer une vidéo</a>
<a class="btn btn-default bnt-choice-video" data-value="upload" href="#">Importer une vidéo</a>
<a class="btn btn-default bnt-choice-video" data-value="videotheque" ref="#">Choisir depuis la videothèque</a>
</div>
<div class="blockanswer blockanswer-message">
<div class="sender">De : {{ app.user.firstname }} {{ app.user.lastname }}</div>
{{ form_start(form) }}
{{ form_rest(form) }}
<div class="bottom-form">
<button type="submit" class="btn btn-default disabled">Envoyer</button>
</div>
{{ form_end(form) }}
</div>
{{ form_start(formVideo) }}
<div id="blockanswer-video-webcam" class="panel-hide">
{% include 'message/message_create_webcam.twig' %}
</div>
<div id="blockanswer-video-upload" class="panel-hide">
{% include 'message/message_create_import.twig' %}
</div>
<div id="blockanswer-video-videotheque" class="panel-hide">
{% include 'message/message_create_videotheque.twig' %}
</div>
<div id="validFormVideo" class="panel-hide">
{{ form_widget(formVideo._token, { 'id': 'token_video' }) }}
{{ form_widget(formVideo.status, { 'id': 'contact_talent_status_video' }) }}
{{ form_rest(formVideo) }}
<div class="bottom-form">
<button type="submit" class="btn btn-default disabled">Envoyer</button>
</div>
</div>
{{ form_end(formVideo) }}
</div>
</div>
<div class="col s12">
<h4 class="no-margin-top bordered">{% trans %}label.answer.history.title{% endtrans %}</h4>
</div>
<div class="col s12">
{% if answer.messages %}
{% for message in answer.messages if message.status != "DRAFT" %}
{% set class = '' %}
{% if loop.index > 1 %}
{% set class = 'history-hidden' %}
{% endif %}
<div class="blockanswer-answer {{class}}">
<div class="title-answer">
{% trans %}label.answer{% endtrans %}{{ message.status|trans }}
<span class="date-answer">{% trans %}label.sended{% endtrans %}{{ message.uTime|date('d-m-Y') }}</span>
</div>
<div class="description-answer">
{% if message.video %}
<div class="embed-responsive embed-responsive-16by9">
<iframe src="https://player.vimeo.com/video/{{ message.video.cdnUrl|replace({ "/videos/": ""}) }}"
width="100%" height="300" frameborder="0" webkitallowfullscreen mozallowfullscreen
allowfullscreen></iframe>
</div>
{% endif %}
{{ message.content|nl2br }}
</div>
</div>
{% endfor %}
{% endif %}
</div>
<div class="col s12 center-align m-t-30">
<a class="bnt btn-round btn-grey-2 link-history-more" href="#" title="{% trans %}label.history.link{% endtrans %}">{% trans %}label.history.link{% endtrans %}</a>
{% endif %} #}
<div class="jumbotron" data-pages="parallax">
<div class=" container-fluid container-fixed-lg sm-p-l-0 sm-p-r-0">
<div class="inner">
<!-- START BREADCRUMB -->
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="/entreprise/me/">Accueil</a></li>
<li class="breadcrumb-item "><a href="{{ path('company_answer_list') }}">Candidatures</a></li>
<li class="breadcrumb-item"><a
href="{{ path('company_ad_answer_list',{'id':answer.ad.id}) }}">{{ answer.ad.title }}
</a>
</li>
<li class="breadcrumb-item active"><a href="#"> candidat {{ answer.user.firstname }}
{{ answer.user.lastname }}</a>
</li>
</ol>
<!-- END BREADCRUMB -->
</div>
</div>
</div>
<!-- END JUMBOTRON -->
<div class="col-lg-12">
<div class="card card-borderless">
<ul class="nav nav-tabs nav-tabs-simple" role="tablist" data-init-reponsive-tabs="dropdownfx">
<li class="nav-item">
<a class="active" data-toggle="tab" role="tab" data-target="#candidature" href="#"
id="candidatureLien">Candidature</a>
</li>
<li class="nav-item">
<a href="#" data-toggle="tab" role="tab" data-target="#messagerieVideo"
id="messagerieVideoLien">Messagerie vidéo</a>
</li>
<li class="nav-item">
<a href="#" data-toggle="tab" role="tab" data-target="#messagerie"
id="messagerieLien">Messagerie
texte</a>
</li>
{# <li class="nav-item">
<a href="#" data-toggle="tab" role="tab" data-target="#comment" id="commentLien">Commentaire</a>
</li> #}
</ul>
</div>
<div class="tab-content">
<!-- ========== bloc candidature ========== -->
{% include 'company/answer_show_candidature.html.twig' %}
<!-- ========== bloc message video ========== -->
{% include 'company/answer_show_message_video.html.twig' %}
<!-- ========== bloc message texte ========== -->
{% include 'company/answer_show_message_texte.html.twig' %}
<!-- ========== bloc commentaire ========== -->
{# {% include 'company/answer_show_comment.html.twig' %} #}
</div>
</div>
{% endblock %}
{% block javascripts %}
{{ parent() }}
<script type="text/javascript">
var urlDropzone = '{{ path("upload_media_message", {"id": message.getId()}) }}';
var urlDelete = '{{ path("delete_media_message", {"id": message.getId() }) }}'
var idObject = null;
var typeObject = "answer";
var videoExist = false;
</script>
<script src="{{ asset('/js/dropzone.js') }}"></script>
<script src="{{ asset('/js/vendors/video.min.js') }}"></script>
<script src="{{ asset('/js/vendors/RecordRTC.js') }}"></script>
<script src="{{ asset('/js/vendors/videojs.record.js') }}"></script>
<script src="{{ asset('/js/vendors/jquery.browser.min.js') }}"></script>
<script src="{{ asset('/js/vendors/readmore.min.js') }}"></script>
<script src="{{ asset('/js/answer.js') }}"></script>
<script type="text/javascript">
$(".card-action").click(function(){
var idVideo = $(this).data("id");
var titleVideo = $(this).data("title");
var imgVideo = $(this).data("img");
var urlVideo = $(this).data("url");
var elem = $(this);
form['contact_talent_video'] = 1;
$.ajax({
type: 'POST',
url: '{{ path("link_media_message", {"id": message.getId()}) }}',
data: "idVideo="+idVideo,
dataType: 'html',
success: function (response) {
$(".card-action").removeClass('active');
elem.addClass('active');
Materialize.toast('Vidéo bien associé à la réponse', 4000);
if($("#submit").hasClass('disabled')){
$("#submit").removeClass('disabled');
$("#submit").addClass('pulse');
}
},
error: function (response, xhr, ajaxOptions, thrownError) {
Materialize.toast('Erreur lors de l\'association de la vidéo!', 4000);
{{ parent() }}
<script type="text/javascript">
var urlDropzone = '{{ path("upload_media_message", {"id": message.getId()}) }}';
var urlDelete = '{{ path("delete_media_message", {"id": message.getId() }) }}'
var idObject = null;
var typeObject = "answer";
var videoExist = false;
</script>
<script src="{{ asset('/js/dropzone.js') }}"></script>
<script src="{{ asset('/js/vendors/video.min.js') }}"></script>
<script src="{{ asset('/js/vendors/RecordRTC.js') }}"></script>
<script src="{{ asset('/js/vendors/videojs.record.js') }}"></script>
<script src="{{ asset('/js/vendors/jquery.browser.min.js') }}"></script>
<script src="{{ asset('/js/vendors/readmore.min.js') }}"></script>
<script src="{{ asset('/js/answer.js') }}"></script>
<script src="{{ asset('/js/demo.js') }}"></script>
<script src="{{ asset('/js/scripts.js') }}"></script>
<script type="text/javascript">
$(".card-action").click(function () {
var idVideo = $(this).data("id");
var titleVideo = $(this).data("title");
var imgVideo = $(this).data("img");
var urlVideo = $(this).data("url");
var elem = $(this);
form['contact_talent_video'] = 1;
$.ajax({
type: 'POST',
url: '{{ path("link_media_message", {"id": message.getId()}) }}',
data: "idVideo=" + idVideo,
dataType: 'html',
success: function (response) {
$(".card-action").removeClass('active');
elem.addClass('active');
Materialize.toast('Vidéo bien associé à la réponse', 4000);
if ($("#submit").hasClass('disabled')) {
$("#submit").removeClass('disabled');
$("#submit").addClass('pulse');
}
});
});
$('.bnt-choice-message').on('click',function(){
var type = $(this).data('value');
$('.bnt-choice-message').removeClass('btn-active');
$('.bnt-choice-video').removeClass('active');
$(this).addClass('btn-active');
$(".panel-hide").removeClass('active');
$(".panel-hide").stop().fadeOut();
$('.blockanswer').stop().fadeOut('normal',function(){
$('.blockanswer-'+type).stop().fadeIn();
if(type == 'video'){
$('.bnt-choice-video:first').click();
}
});
});
$('.blockanswer-video').css('display','none');
$('.bnt-choice-video').on('click',function(e){
e.preventDefault();
var type = $(this).data('value');
$('.bnt-choice-video').removeClass('active');
$(this).addClass('active');
$(".panel-hide").removeClass('active');
$('#blockanswer-video-'+type).addClass('active');
$(".panel-hide").not(".active").stop().fadeOut('normal',function(){
$('#blockanswer-video-'+type).stop().fadeIn('fast');
if(type=="webcam"){
$('#blockanswer-video-upload').stop().fadeIn('fast');
}
$('#validFormVideo').stop().fadeIn('fast');
});
});
$('.link-history-more').on('click',function(e) {
e.preventDefault();
$('.history-hidden').fadeIn();
$(this).fadeOut();
});
document.getElementsByName("contact_talent[message]")[0].addEventListener('change', verifySubmitButton);
$('#contact_talent_status').on('change',verifySubmitButton);
var form = [];
form['contact_talent_message'] = 0;
form['contact_talent_video'] = 0;
form['contact_talent_status_video'] = 0;
form['contact_talent_status'] = 0;
function verifySubmitButton(){
if(this.value && this.value != 0){
form[this.id] = 1;
} else {
form[this.id] = 0;
},
error: function (response, xhr, ajaxOptions, thrownError) {
Materialize.toast('Erreur lors de l\'association de la vidéo!', 4000);
}
if(form['contact_talent_message'] + form['contact_talent_status'] >= 2){
$('.blockanswer-message .btn').removeClass('disabled');
} else {
$('.blockanswer-message .btn').addClass('disabled');
});
});
$('.bnt-choice-message').on('click', function () {
var type = $(this).data('value');
$('.bnt-choice-message').removeClass('btn-active');
$('.bnt-choice-video').removeClass('active');
$(this).addClass('btn-active');
$(".panel-hide").removeClass('active');
$(".panel-hide").stop().fadeOut();
$('.blockanswer').stop().fadeOut('normal', function () {
$('.blockanswer-' + type).stop().fadeIn();
if (type == 'video') {
$('.bnt-choice-video:first').click();
}
});
});
$('.blockanswer-video').css('display', 'none');
$('.bnt-choice-video').on('click', function (e) {
e.preventDefault();
var type = $(this).data('value');
$('.bnt-choice-video').removeClass('active');
$(this).addClass('active');
$(".panel-hide").removeClass('active');
$('#blockanswer-video-' + type).addClass('active');
$(".panel-hide").not(".active").stop().fadeOut('normal', function () {
$('#blockanswer-video-' + type).stop().fadeIn('fast');
if (type == "webcam") {
$('#blockanswer-video-upload').stop().fadeIn('fast');
}
$('#validFormVideo').stop().fadeIn('fast');
});
});
$('.link-history-more').on('click', function (e) {
e.preventDefault();
$('.history-hidden').fadeIn();
$(this).fadeOut();
});
document.getElementsByName("contact_talent[message]")[0].addEventListener('change', verifySubmitButton);
$('#contact_talent_status').on('change', verifySubmitButton);
var form = [];
form['contact_talent_message'] = 0;
form['contact_talent_video'] = 0;
form['contact_talent_status_video'] = 0;
form['contact_talent_status'] = 0;
function verifySubmitButton() {
if (this.value && this.value != 0) {
form[this.id] = 1;
} else {
form[this.id] = 0;
}
if (form['contact_talent_message'] + form['contact_talent_status'] >= 2) {
$('.blockanswer-message .btn').removeClass('disabled');
} else {
$('.blockanswer-message .btn').addClass('disabled');
}
}
$('#contact_talent_status_video').on('change', verifyVideoSubmitButton);
function verifyVideoSubmitButton() {
if (this.value && this.value != 0) {
form[this.id] = 1;
} else {
form[this.id] = 0;
}
if (form['contact_talent_video'] + form['contact_talent_status_video'] >= 2) {
$('#validFormVideo .btn').removeClass('disabled');
} else {
$('#validFormVideo .btn').addClass('disabled');
}
}
$('.message-answer').readmore({
speed: 75,
lessLink: '<a href="#" class="link-message-more">Fermer</a>',
moreLink: '<a href="#" class="link-message-more">{% trans %}label.link.readmore{% endtrans %}</a>',
blockProcessed: function (element, collapsable) {
console.log(element);
console.log(collapsable);
if (collapsable == false) {
$('.message-answer').readmore('destroy');
}
}
});
$('#contact_talent_status_video').on('change',verifyVideoSubmitButton);
function verifyVideoSubmitButton(){
if(this.value && this.value != 0){
form[this.id] = 1;
} else {
form[this.id] = 0;
}
if(form['contact_talent_video'] + form['contact_talent_status_video'] >= 2){
$('#validFormVideo .btn').removeClass('disabled');
} else {
$('#validFormVideo .btn').addClass('disabled');
}
}
$('.message-answer').readmore({
speed: 75,
lessLink: '<a href="#" class="link-message-more">Fermer</a>',
moreLink: '<a href="#" class="link-message-more">{% trans %}label.link.readmore{% endtrans %}</a>',
blockProcessed: function(element,collapsable){
console.log(element);
console.log(collapsable);
if(collapsable == false){
$('.message-answer').readmore('destroy');
}
}
});
</script>
function changerActive(tabActive) {
//$("#comment").removeClass("active");
$("#candidature").removeClass("active");
$("#messagerieVideo").removeClass("active");
$("#messagerie").removeClass("active");
//$("#commentLien").removeClass("active");
$("#candidatureLien").removeClass("active");
$("#messagerieVideoLien").removeClass("active");
$("#messagerieLien").removeClass("active");
$("#" + tabActive).addClass("active");
$("#" + tabActive + "Lien").addClass("active");
}
</script>
{% endblock %}
@@ -0,0 +1,137 @@
<div class="tab-pane active" id="candidature">
<div class="row ">
<div class="col-xl-7 col-lg-6 bg-white">
<!-- START card -->
<div class="full-height">
<div class="card-body text-center">
<iframe src="https://player.vimeo.com/video/{{ answer.video.cdnUrl|replace({ "/videos/": ""}) }}"
width="100%" height="auto" frameborder="0" webkitallowfullscreen mozallowfullscreen
allowfullscreen></iframe>
</div>
</div>
<!-- END card -->
</div>
<div class="col-xl-5 col-lg-6 col-top fondBlanc">
<!-- START card -->
<div class="card card-transparent">
<div class="card-header ">
<div class="card-title">
<a href="{{ path('company_ad_answer_list',{'id':answer.ad.id}) }}">{{ answer.ad.title }}</a>
</div>
</div>
<div class="card-body">
<h3>Son dernier message (Recu le {{ answer.sendTime|date('d/m/Y') }})</h3>
<p>
{{ answer.comment }}
</p>
<br>
<div>
<div class="profile-img-wrapper m-t-5 inline">
<img alt="Avatar" width="35" height="35"
data-src-retina="{{ asset('dashboard/img/profiles/account-avatar-default.svg') }}"
data-src="{{ asset('dashboard/img/profiles/account-avatar-default.svg') }}"
src="{{ asset('dashboard/img/profiles/account-avatar-default.svg') }}">
<div class="chat-status available">
</div>
</div>
<div class="inline m-l-10">
<p class="small hint-text m-t-5">{{ answer.user.firstname }}
{{ answer.user.lastname }}
</p>
<p class="small hint-text m-t-5">
{% if answer.user.company %}
{% if answer.user.company.cv %}
<a href="/uploads/cv/{{ answer.user.company.cv }}" target="_blank"><button aria-label="" type="button" class="btn btn-outline-primary">Télécharger le cv</button></a>
{% endif %}
{% endif %}
</p>
</div>
</div>
</div>
</div>
<!-- END card -->
</div>
</div>
<div class="row column-seperation fondBlanc">
<div class="col-lg-6">
<h3>
</h3>
</div>
<div class="col-lg-6">
<p class="pull-right">
<a href="#" onClick="changerActive('messagerie')" data-toggle="tab" role="tab"
data-target="#messagerie">
<button aria-label="" type="button" class="btn btn-primary btn-cons">Réponse en message
texte</button>
</a>
<a href="#" onClick="changerActive('messagerieVideo')" data-toggle="tab" role="tab"
data-target="#messagerieVideo">
<button aria-label="" type="button" class="btn btn-primary btn-cons">Réponse en vidéo</button>
</a>
</p>
</div>
</div>
<div class="row fondBlanc">
<h4 class="no-margin-top bordered">{% trans %}label.answer.history.title{% endtrans %}</h4>
</div>
<div class="row fondBlanc">
<div class="card-body">
<div class="table-responsive">
<table class="table table-hover" id="basicTable">
<thead>
<tr>
<!-- NOTE * : Inline Style Width For Table Cell is Required as it may differ from user to user
Comman Practice Followed
-->
<th style="width:15%">Objet</th>
<th style="width:15%">Envoyé le</th>
<th style="width:70%">Message</th>
</tr>
</thead>
<tbody>
{% if answer.messages %}
{% for message in answer.messages if message.status != "DRAFT" %}
{% set class = '' %}
{% if loop.index > 1 %}
{% set class = 'history-hidden' %}
{% endif %}
<tr>
<td class="v-align-middle">
<div class="v-align-middle">
{{ message.status|trans }}
</div>
</td>
<td class="v-align-middle ">
<p>{{ message.uTime|date('d-m-Y') }}</p>
</td>
<td class="v-align-middle">
{% if message.video %}
<div class="embed-responsive embed-responsive-16by9">
<iframe
src="https://player.vimeo.com/video/{{ message.video.cdnUrl|replace({ "/videos/": ""}) }}"
width="100%" height="300" frameborder="0" webkitallowfullscreen
mozallowfullscreen allowfullscreen></iframe>
</div>
{% endif %}
{{ message.content|nl2br }}
</td>
</tr>
{% endfor %}
{% if answer.messages|length == 0 %}
<tr><th colspan="3" class="text-center">Aucun message pour le moment</th></tr>
{% endif %}
{% endif %}
</tbody>
</table>
</div>
</div>
</div>
</div>
@@ -0,0 +1,10 @@
<div class="tab-pane" id="comment">
<div class="row">
<div class="col-lg-12">
<h3>Follow us &amp; get updated!</h3>
<p>Instantly connect to what's most important to you. Follow your friends, experts, favorite
celebrities, and breaking news.</p>
<br>
</div>
</div>
</div>
@@ -0,0 +1,129 @@
<div class="tab-pane " id="messagerie">
<div class="row fondBlanc">
<!-- START ITEM -->
<div class="col-lg-4 fondBlanc">
<div class="card card-default bg-success">
<div class="card-header separator">
<div class="card-title">Réponse par mail
</div>
</div>
<div class="card-body">
<h3>
<span class="semi-bold">Envoyez un message à </span> {{ answer.user.firstname }} {{ answer.user.lastname }}</h3>
<p>
Vous avez également la possibilité d'envoyer une réponse en vidéo. Je souhaite répondre <b><a href="#" onClick="changerActive('messagerieVideo')" data-toggle="tab" role="tab"
data-target="#messagerieVideo">en vidéo</a></b>.
</p>
</div>
</div>
</div>
<!-- END ITEM -->
<div class="col-md-12 col-lg-8 col-xlg-8 md-m-t-10">
<!-- START WIDGET widget_weatherWidget-->
<div class="widget-17 card no-border no-margin widget-loader-circle">
<div class="card-body">
<!-- START COMPOSE EMAIL -->
{{ form_start(form) }}
<div class="email-composer container-fluid">
<div class="row">
<div class="col-md-12 no-padding">
{# <div class="wysiwyg5-wrapper email-toolbar-wrapper no-border" id="emailToolbar">
<span class="ql-formats">
<!-- Add a bold button -->
<button class="ql-bold"></button>
<!-- Add a italic button -->
<button class="ql-italic"></button>
<!-- Add a underline button -->
<button class="ql-underline"></button>
<!-- Add a strike button -->
<button class="ql-strike"></button>
</span>
<span class="ql-formats">
<!-- Add headings buttons -->
<button class="ql-header" value="1"></button>
<button class="ql-header" value="2"></button>
</span>
<span class="ql-formats">
<!-- Add list buttons -->
<button class="ql-list" value="ordered"></button>
<button class="ql-list" value="bullet"></button>
</span>
<span class="ql-formats">
<!-- Add indent buttons -->
<button class="ql-indent" value="-1"></button>
<button class="ql-indent" value="+1"></button>
</span>
<span class="ql-formats">
<!-- Add font size dropdown -->
<select class="ql-size">
<option value="small"></option>
<!-- Note a missing, thus falsy value, is used to reset to default -->
<option selected></option>
<option value="large"></option>
<option value="huge"></option>
</select>
</span>
<span class="ql-formats">
<!-- Add indent buttons -->
<button class="ql-clean"></button>
</span>
</div> #}
<div class="form-group-attached">
<div class="row clearfix">
<div class="col-md-12">
<div class="form-group form-group-default">
<label>De : </label>
<input name="to" data-role="tagsinput" disabled
class="form-control tagsinput" type="text" value="{{ app.user.firstname }} {{ app.user.lastname }}" />
</div>
</div>
</div>
{# <div class="form-group form-group-default">
<label>Subject</label>
<input type="text" class="form-control" name="subject">
</div> #}
</div>
<div class="form-group form-group-default required">
{{ form_row(form.status) }}
</div>
<div class="form-group required">
{{ form_row(form.message) }}
</div>
{# <div class="quill-wrapper email-body-wrapper">
<div id="quill-compose" style="height:250px" class="no-border">
</div>
<div class="form-group ">
</div> #}
</div>
</div>
<div class="row p-b-10">
<div class="col-md-11 d-md-flex d-lg-flex d-xl-flex d-block align-items-start">
</div>
<div class="col-md-1">
<button type="submit" aria-label="" class="btn btn-primary btn-lg pull-right btn-icon-left"><i
class="pg-icon">send</i>Envoyer</button>
</div>
</div>
</div>
<!-- END COMPOSE EMAIL -->
{{ form_end(form) }}
</div>
</div>
<!-- END WIDGET -->
</div>
</div>
</div>
@@ -0,0 +1,62 @@
<div class="tab-pane fondBlanc" id="messagerieVideo">
<div class="row fondBlanc">
<!-- START ITEM -->
<div class="col-lg-4 fondBlanc">
<div class="card card-default bg-success">
<div class="card-header separator">
<div class="card-title">Réponse vidéo
</div>
</div>
<div class="card-body">
<h3>
<span class="semi-bold">Et si vous répondiez à </span> {{ answer.user.firstname }} {{ answer.user.lastname }} <b>en vidéo</b></h3>
<p>Découvrez <a href="https://blog.talentstube.com/articles-entreprise/comment-faire-une-video-avec-une-webcam/" target="_blank">nos conseils</a> pour réaliser une vidéo de réponse.</p>
</div>
</div>
</div>
<!-- END ITEM -->
<div class="col-md-12 col-lg-8 col-xlg-8 md-m-t-10">
<!-- START WIDGET widget_weatherWidget-->
<div class="widget-17 card no-border no-margin widget-loader-circle">
<div class="widget-16-header p-r-20 p-l-20 p-t-10 d-flex">
<span class="icon-thumbnail bg-contrast-low pull-left text-color pg-icon">M</span>
<div class="flex-1 full-width overflow-ellipsis">
<p class="hint-text all-caps font-montserrat small no-margin overflow-ellipsis ">
Contacter
</p>
<h6 class="no-margin overflow-ellipsis ">par vidéo</h6>
</div>
</div>
<div class="card-body">
{{ form_start(formVideo) }}
{{ form_widget(formVideo._token, { 'id': 'token_video' }) }}
{% include 'message/message_create_import.twig' %}
<br />
{{ form_widget(formVideo.status, { 'id': 'contact_talent_status_video' }) }}
{{ form_rest(formVideo) }}
<br />
<div class="bottom-form">
<button type="submit" class="btn btn-default disabled">Envoyer</button>
</div>
{{ form_end(formVideo) }}
</div>
</div>
<!-- END WIDGET -->
</div>
</div>
</div>
@@ -0,0 +1,29 @@
{% extends 'base_dashboard_temporaire.html.twig' %}
{% block content %}
<div class="fluid-container bg-grey-3 dashboardWrapper dashboardCompanyWrapper">
<div class="container">
<div class="row flexcontainer">
{% include "company/menutemporaire.html.twig" ignore missing %}
<div class="col s12 m12 l8 xl9 col-padding-left" id="page-content">
{% block dashContent %}
Dashboard Company
{% endblock %}
</div>
</div>
</div>
</div>
{% endblock %}
{% block javascripts %}
<script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyDYV8IJGtIoWLfXJQQvIuDQ88n2aEuRgpg&libraries=places"></script>
{% javascripts
'@vendors'
'@global'
'@company'
output='assetic/main.dash.company.js' filter='?uglifyjs2' %}
<script src="{{ asset_url }}"></script>
{% endjavascripts %}
{% endblock %}
@@ -1,4 +1,4 @@
{% extends 'base.html.twig' %}
{% extends 'basetemporaire.html.twig' %}
{% block title %}Offres d'emploi et recrutement {{ company.brandName }} | TalentsTube{% endblock %}
@@ -1,26 +1,26 @@
{% extends 'company/base_dashboard_company.html.twig' %}
{# {% extends 'company/base_dashboard_company.html.twig' %} #}
{% extends 'admin/base_dashboard.html.twig' %}
{% block dashContent %}
<div class="row bg-bordered p-0">
{% include 'company/ad_steps.html.twig' with {'tab':2} %}
{# {% include 'company/ad_steps.html.twig' with {'tab':2} %} #}
<div class="p-20">
<div class="row">
<div class="col s12">
<ul id="tabs-video" class="tabs">
{# <ul id="tabs-video" class="tabs">
<li class="tab col s4"><a class="active" href="#tab-video-new">Ajouter une nouvelle vidéo</a>
</li>
<li class="tab col s4"><a href="#tab-video-select">Utiliser une vidéo existante</a></li>
</ul>
</ul> #}
</div>
<div id="tab-video-new" class="col s12">
{% include 'media/dropzone.html.twig' %}
{# {% include 'media/dropzone.html.twig' %}
{{ form_start(form, {'attr': { 'id': 'form_media' } }) }}
{{ form_widget(form) }}
<a href="{{ path('company_ad_edit',{"id": ad.getId()}) }}" class="btn btn-round btn-dark">Etape précédente</a>
<button id="submit" class="btn btn-default hide" type="submit">Etape suivante</button>
{{ form_end(form) }}
{{ form_end(form) }} #}
</div>
<div id="tab-video-select" class="col s12">
<div class="row">
@@ -36,14 +36,188 @@
{#mozallowfullscreen allowfullscreen></iframe>#}
{#</div>#}
{#{% endfor %}#}
{% if videos|length > 0 %}
{# {% if videos|length > 0 %}
{% include 'default/video_card.html.twig' %}
{% endif %}
{% endif %} #}
</div>
</div>
</div>
</div>
</div>
<!-- START CONTAINER FLUID -->
<!-- START JUMBOTRON -->
<div class="jumbotron" data-pages="parallax">
<div class=" container-fluid container-fixed-lg sm-p-l-0 sm-p-r-0">
<div class="inner">
<!-- START BREADCRUMB -->
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="/entreprise/me/">Accueil</a></li>
<li class="breadcrumb-item"><a href="{{ path('company_ad') }}">Offres d'emploi</a></li>
</ol>
<!-- END BREADCRUMB -->
</div>
</div>
</div>
<!-- END JUMBOTRON -->
<div class=" container-fluid container-fixed-lg">
<div id="rootwizard" class="m-t-50">
{% include 'company/ad_stepsV2.html.twig' with {'tab':2} %}
<div class="tab-content">
<div class="tab-pane padding-20 sm-no-padding slide-left disabled" id="tab1">
<div class="row row-same-height">
<div class="col-md-5 b-r b-dashed b-grey sm-b-b">
<div class="padding-30 sm-padding-5 sm-m-t-15 m-t-50">
<i class="material-icons hint-text">shopping_cart</i>
<h2>Etape 1 : détail de l'annonce</h2>
<p>Pour trouver le bon profil, renseignez et personnalisez votre annonce.
Plus votre annonce est précise et attractive, plus les candidatures seront ciblées.
Afin de créer votre annonce, renseignez lensemble des champs relatifs au poste proposé.</p>
{# <p class="small hint-text">Below is a sample page for your cart , Created using pages design
UI Elementes</p> #}
</div>
</div>
<div class="col-md-7">
<div class="padding-30 sm-padding-5">
</div>
</div>
</div>
</div>
<div class="tab-pane slide-left padding-20 sm-no-padding active" id="tab2">
<div class="row row-same-height">
<div class="col-md-5 b-r b-dashed b-grey ">
<div class="padding-30 sm-padding-5 sm-m-t-15 m-t-50">
<h2>J'importe une vidéo</h2>
<p>Importez votre vidéo de recrutement et publiez votre annonce.
Vous ne possédez pas encore de vidéo ?
Talents Tube peut vous accompagner dans la réalisation de votre
vidéo d'offre d'emploi. <a href="https://blog.talentstube.com/contact" target="_blank">Contactez-nous</a></p>
{# <p class="small hint-text">Below is a sample page for your cart , Created using pages design
UI Elementes</p> #}
{# <ul id="tabs-video" class="tabs">
<li class="tab col s4"><a class="active" href="#tab-video-new">Ajouter une nouvelle vidéo</a>
</li>
<li class="tab col s4"><a href="#tab-video-select">Utiliser une vidéo existante</a></li>
</ul> #}
</div>
</div>
<div class="col-md-7">
<div class="padding-30 sm-padding-5" id="tab-video-new">
{% include 'media/dropzoneV2.html.twig' %}
{{ form_start(form, {'attr': { 'id': 'form_media' } }) }}
{{ form_row(form.title) }}
<br/>
<a href="{{ path('company_ad_edit',{"id": ad.getId()}) }}" class="btn btn-round btn-dark">
<button aria-label="" class="btn btn-primary btn-cons btn-animated from-left pull-right"
type="button">
<span>Retour au détail de l'annonce </span>
<span class="hidden-block">
<i class="material-icons fs-16">info</i>
</span>
</button>
</a>
<button aria-label="" id="submit" type="submit" class="btn btn-primary btn-cons btn-animated from-left pull-right hide"
type="button">
<span>Valider l'annonce</span>
<span class="hidden-block">
<i class="material-icons fs-16">save</i>
</span>
</button>
{{ form_end(form) }}
</div>
<div id="tab-video-select" class="col s12">
<div class="row">
{#{% for vid in videos %}#}
{#<div class="col s4">#}
{#<a class="addExistingVideo tooltipped btn btn-default" data-position="top"#}
{#data-tooltip="Choisir cette vidéo" href="#" data-title="{{ vid.getTitle() }}"#}
{#data-id="{{ vid.getId() }}">#}
{#<span>{{ vid.getTitle() }}</span><br/>#}
{#</a>#}
{#<iframe src="https://player.vimeo.com{{ vid.getCdnUrl()|replace({ "videos": "video"}) }}"#}
{#width="90%" height="auto" frameborder="0" webkitallowfullscreen#}
{#mozallowfullscreen allowfullscreen></iframe>#}
{#</div>#}
{#{% endfor %}#}
{# {% if videos|length > 0 %}
{% include 'default/video_card.html.twig' %}
{% endif %} #}
</div>
</div>
</div>
</div>
</div>
<div class="tab-pane slide-left padding-20 sm-no-padding disabled" id="tab3">
<div class="row row-same-height">
<div class="col-md-5 b-r b-dashed b-grey ">
<div class="padding-30 sm-padding-5 sm-m-t-15 m-t-50">
</div>
</div>
<div class="col-md-7">
<div class="padding-30 sm-padding-5">
</div>
</div>
</div>
</div>
<div class="padding-20 sm-padding-5 sm-m-b-20 sm-m-t-20 bg-white clearfix">
{# <ul class="pager wizard no-style">
<li class="next">
<button aria-label="" class="btn btn-primary btn-cons btn-animated from-left pull-right"
type="button">
<span>Je crée mon annonce</span>
<span class="hidden-block">
<i class="material-icons fs-16">local_shipping</i>
</span>
</button>
</li>
<li class="next finish hidden">
<button aria-label="" class="btn btn-primary btn-cons btn-animated from-left pull-right"
type="button">
<span>Finish</span>
<span class="hidden-block">
<i class="material-icons fs-16">settings</i>
</span>
</button>
</li>
<li class="previous first hidden">
<button aria-label="" class="btn btn-default btn-cons btn-animated from-left pull-right"
type="button">
<span>First</span>
<span class="hidden-block">
<i class="material-icons fs-16">settings</i>
</span>
</button>
</li>
<li class="previous">
<button aria-label="" class="btn btn-default btn-cons btn-animated from-left pull-right"
type="button">
<span>Previous</span>
<span class="hidden-block">
<i class="material-icons fs-14">settings</i>
</span>
</button>
</li>
</ul> #}
</div>
<div class="wizard-footer padding-20 bg-contrast-low">
<div class="clearfix"></div>
</div>
</div>
</div>
</div>
<!-- END CONTAINER FLUID -->
{% endblock %}
{% block javascripts %}
{{ parent() }}
@@ -59,7 +233,7 @@
dataType: 'html',
success: function (response) {
Materialize.toast('Vidéo associé Merci', 4000);
document.location.href = stepDate;
//document.location.href = stepDate;
},
error: function (response, xhr, ajaxOptions, thrownError) {
@@ -85,5 +259,5 @@
{% endif %}
</script>
<script src="{{ asset('/js/dropzone.js') }}"></script>
<script src="{{ asset('/js/dropzoneV2.js') }}"></script>
{% endblock %}
@@ -1,242 +1,238 @@
{% extends 'company/base_dashboard_company.html.twig' %}
{# {% extends 'company/base_dashboard_company.html.twig' %} #}
{% extends 'admin/base_dashboard.html.twig' %}
{% block dashContent %}
<div class="row bg-bordered p-20">
{% if app.user.company.brandname == null %}
<div class="row flexcontainer">
<div class="col s12 m12 l12">
<div class="card-panel grey lighten-3 ">
<i class="fa fa-exclamation-triangle" aria-hidden="true"></i>
Vous n'avez pas encore complété le profil de votre entreprise. <br>
Ces informations sont importantes au bon fonctionnement de la plateforme, nous vous invitons
<a href="{{ path('company_profile') }}">à les remplir ici. <i class="fa fa-link"
aria-hidden="true"></i></a>
</div>
</div>
</div>
{% endif %}
<div class="col s3">
<h5 class="blue-text no-margin-top">Volumes des visites</h5>
</div>
<div class="col s9 choiceMonthWrapper right-align">
{% set thisYear = "now"|date("Y") %}
{% set thisMonth = "now"|date("m") %}
{% set thisDay = "now"|date("d") %}
{% set dateTextMoins = "now -1 Month"|date("d-m-Y") %}
{% set dateText = "now"|date("d-m-Y") %}
<input id="choiceMonth" type="text" name="daterange" value="{{ dateTextMoins }} au {{ dateText }}" />
<i class="fa fa-refresh fa-spin fa-fw"></i>
<span class="sr-only">Loading...</span>
</div>
<div class="col s12">
<canvas id="nb_visits" width="600" height="300"></canvas>
</div>
<div class="col s6 countLegend">
<p><span class="btn-countVisitsAds">&nbsp;</span>Nombre de visites de vos annonces</p>
<p><span class="btn-countVisitsCompany">&nbsp;</span>Nombre de visites de la page entreprise</p>
</div>
<div class="col s6 countBlock">
<span class="btn-countVisitsAds"><span class="countVisitsAds"></span>&nbsp;visites</span>
<span class="btn-countVisitsCompany"><span class="countVisitsCompany"></span>&nbsp;visites</span>
</div>
</div>
<div id="donutChart-wrapper" class="row bg-bordered p-20">
<div class="col s6">
<h5 class="blue-text no-margin-top">Répartition des visites</h5>
<canvas id="donught_visits" width="300" height="300"></canvas>
</div>
<div class="col s6 donutLegend countLegend">
<p><span class="btn-count btn-countVisitsTalentByCompany">&nbsp;</span>Visites de talents</p>
<p><span class="btn-count btn-countVisitsCompanyByCompany">&nbsp;</span>Visites d'entreprises</p>
<p><span class="btn-count btn-countVisitsAnonymByCompany">&nbsp;</span>Visites d'internautes non-inscrits</p>
</div>
</div>
<div class="row bg-bordered p-20">
<div class="col s12">
<h5 class="blue-text no-margin-top">Statistiques par offre d'emploi</h5>
{% include 'company/ad_table_listing.html.twig' with {'ads':ads} %}
<div class="row bg-bordered p-20">
{# <div class="col s3">
<h5 class="blue-text no-margin-top">Volumes des visites</h5>
</div>
<div class="col s9 choiceMonthWrapper right-align">
{% set thisYear = "now"|date("Y") %}
{% set thisMonth = "now"|date("m") %}
{% set thisDay = "now"|date("d") %}
{% set dateTextMoins = "now -1 Month"|date("d-m-Y") %}
{% set dateText = "now"|date("d-m-Y") %}
<input id="choiceMonth" type="text" name="daterange" value="{{ dateTextMoins }} au {{ dateText }}" />
<i class="fa fa-refresh fa-spin fa-fw"></i>
<span class="sr-only">Loading...</span>
</div>
<div class="col s12">
<canvas id="nb_visits" width="600" height="300"></canvas>
</div>
<div class="col s6 countLegend">
<p><span class="btn-countVisitsAds">&nbsp;</span>Nombre de visites de vos annonces</p>
<p><span class="btn-countVisitsCompany">&nbsp;</span>Nombre de visites de la page entreprise</p>
</div>
<div class="col s6 countBlock">
<span class="btn-countVisitsAds"><span class="countVisitsAds"></span>&nbsp;visites</span>
<span class="btn-countVisitsCompany"><span class="countVisitsCompany"></span>&nbsp;visites</span>
</div> #}
</div>
<div id="donutChart-wrapper" class="row bg-bordered p-20">
{# <div class="col s6">
<h5 class="blue-text no-margin-top">Répartition des visites</h5>
<canvas id="donught_visits" width="300" height="300"></canvas>
</div>
<div class="col s6 donutLegend countLegend">
<p><span class="btn-count btn-countVisitsTalentByCompany">&nbsp;</span>Visites de talents</p>
<p><span class="btn-count btn-countVisitsCompanyByCompany">&nbsp;</span>Visites d'entreprises</p>
<p><span class="btn-count btn-countVisitsAnonymByCompany">&nbsp;</span>Visites d'internautes non-inscrits</p>
</div> #}
</div>
{% if app.user.company.brandname == null %}
<div class=" container-fluid container-fixed-lg bg-white">
<div class="card card-transparent">
<div class="card-body">
<i class="fa fa-exclamation-triangle" aria-hidden="true"></i>
Vous n'avez pas encore complété le profil de votre entreprise. <br>
Ces informations sont importantes au bon fonctionnement de la plateforme, nous vous invitons
<a href="{{ path('company_profile') }}">à les remplir ici. <i class="fa fa-link" aria-hidden="true"></i></a>
</div>
</div>
</div>
{% endif %}
{% include 'company/ad_table_listing.html.twig' with {'ads':ads} %}
{% endblock %}
{% block javascripts %}
{{ parent() }}
<script src="{{ asset('/js/vendors/Chart.bundle.min.js') }}"></script>
<script type="text/javascript">
var currentMonth = '{{ "now"|date("m") }}';
var arrayRecords;
var ctx,myChart,arrayCurrentsLabel,arrayCurrentsAdsValues,arrayCurrentsCompanyValues,donughtRecords;
var sumVisitsAds = 0;
var sumCompanyValues = 0;
function loadChartData() {
setArrayValues();
myChart.update();
myDoughnutChart.update();
}
{{ parent() }}
<script src="{{ asset('/js/vendors/Chart.bundle.min.js') }}"></script>
<script type="text/javascript">
var currentMonth = '{{ "now"|date("m") }}';
var arrayRecords;
var ctx, myChart, arrayCurrentsLabel, arrayCurrentsAdsValues, arrayCurrentsCompanyValues, donughtRecords;
var sumVisitsAds = 0;
var sumCompanyValues = 0;
function getChartData(date1,date2) {
$.ajax({
type: "POST",
url: '{{ path("company_ajax_dashboard") }}',
data: 'date1='+date1+'&date2='+date2,
dataType: "json",
success: function (data) {
arrayRecords = data.lineRecords;
donughtRecords = data.donughtRecords;
myDoughnutChart.data.datasets[0].data = donughtRecords;
loadChartData();
$('.fa-refresh').hide();
},
error: function (data) {
$('.fa-refresh').hide();
}
});
}
function loadChartData() {
setArrayValues();
myChart.update();
myDoughnutChart.update();
}
document.addEventListener("DOMContentLoaded", function(event) {
$('.fa-refresh').hide();
getChartData(0, 0);
configDatePicker = {
applyBtnClass: 'btn btn-default',
format: 'DD-MM-YYYY',
separator: ' au ',
endDate: new Date(),
maxDays: 365
}
$('#choiceMonth').dateRangePicker(configDatePicker).bind('datepicker-apply',function(event,obj) {
$('.fa-refresh').show();
var month1 = obj.date1.getMonth();
var day1 = obj.date1.getDate();
var year1 = obj.date1.getFullYear();
var month2 = obj.date2.getMonth();
var day2 = obj.date2.getDate();
var year2 = obj.date2.getFullYear();
var date1 = (month1 + 1) + "/" + day1 + "/" + year1 +" 00:00:01";
var date2 = (month2 + 1) +"/" + day2 + "/" + year2 +" 23:59:59";
getChartData(date1, date2);
});
$('.apply-btn').attr('value','Valider');
function getChartData(date1, date2) {
$.ajax({
type: "POST",
url: '{{ path("company_ajax_dashboard") }}',
data: 'date1=' + date1 + '&date2=' + date2,
dataType: "json",
success: function (data) {
arrayRecords = data.lineRecords;
donughtRecords = data.donughtRecords;
myDoughnutChart.data.datasets[0].data = donughtRecords;
loadChartData();
$('.fa-refresh').hide();
},
error: function (data) {
$('.fa-refresh').hide();
}
});
}
function setArrayValues(){
arrayCurrentsLabel = [];
arrayCurrentsAdsValues = [];
arrayCurrentsCompanyValues = [];
arrayRecords['labels'].forEach(function(element, index) {
var date = element.split("-");
var dateAffiche = date[2]+"-"+date[1]+"-"+date[0];
arrayCurrentsLabel.push(dateAffiche);
arrayCurrentsAdsValues.push(arrayRecords['datasetsAd'][index]);
arrayCurrentsCompanyValues.push(arrayRecords['datasetsCompany'][index]);
document.addEventListener("DOMContentLoaded", function (event) {
$('.fa-refresh').hide();
getChartData(0, 0);
configDatePicker = {
applyBtnClass: 'btn btn-default',
format: 'DD-MM-YYYY',
separator: ' au ',
endDate: new Date(),
maxDays: 365
}
$('#choiceMonth').dateRangePicker(configDatePicker).bind('datepicker-apply', function (event, obj) {
$('.fa-refresh').show();
var month1 = obj.date1.getMonth();
var day1 = obj.date1.getDate();
var year1 = obj.date1.getFullYear();
var month2 = obj.date2.getMonth();
var day2 = obj.date2.getDate();
var year2 = obj.date2.getFullYear();
var date1 = (month1 + 1) + "/" + day1 + "/" + year1 + " 00:00:01";
var date2 = (month2 + 1) + "/" + day2 + "/" + year2 + " 23:59:59";
getChartData(date1, date2);
});
$('.apply-btn').attr('value', 'Valider');
});
function setArrayValues() {
arrayCurrentsLabel = [];
arrayCurrentsAdsValues = [];
arrayCurrentsCompanyValues = [];
arrayRecords['labels'].forEach(function (element, index) {
var date = element.split("-");
var dateAffiche = date[2] + "-" + date[1] + "-" + date[0];
arrayCurrentsLabel.push(dateAffiche);
arrayCurrentsAdsValues.push(arrayRecords['datasetsAd'][index]);
arrayCurrentsCompanyValues.push(arrayRecords['datasetsCompany'][index]);
});
myChart.data.labels = arrayCurrentsLabel;
myChart.data.datasets[0].data = arrayCurrentsAdsValues;
myChart.data.datasets[1].data = arrayCurrentsCompanyValues;
if (arrayCurrentsAdsValues.length > 0) {
sumVisitsAds = arrayCurrentsAdsValues.reduce(function (memo, val) {
let value = val || 0;
if (value != null) {
return memo + value;
}
});
myChart.data.labels = arrayCurrentsLabel;
myChart.data.datasets[0].data = arrayCurrentsAdsValues;
myChart.data.datasets[1].data = arrayCurrentsCompanyValues;
if (arrayCurrentsAdsValues.length > 0) {
sumVisitsAds = arrayCurrentsAdsValues.reduce(function(memo, val) {
let value = val || 0;
if (value != null) {
return memo + value;
}
});
} else {
sumVisitsAds = 0;
}
if (arrayCurrentsCompanyValues.length > 0) {
sumCompanyValues = arrayCurrentsCompanyValues.reduce(function(memo, val) {
let value = val || 0;
if (value != null) {
return memo + value;
}
});
} else {
sumCompanyValues = 0;
}
$('.countVisitsAds').html(sumVisitsAds);
$('.countVisitsCompany').html(sumCompanyValues);
} else {
sumVisitsAds = 0;
}
if (arrayCurrentsCompanyValues.length > 0) {
sumCompanyValues = arrayCurrentsCompanyValues.reduce(function (memo, val) {
let value = val || 0;
if (value != null) {
return memo + value;
}
});
} else {
sumCompanyValues = 0;
}
var dataLine = {
datasets: [
{
label: "Nombre de visite d'annonce par jour",
fill: false,
fontColor: "rgba(39,139,231,1)",
backgroundColor: "rgba(39,139,231,1)",
borderColor: "rgba(39,139,231,1)"
}, {
label: "Nombre de visite de votre page entreprise",
fill: false,
fontColor: "#F9C339",
backgroundColor: "#F9C339",
borderColor: "#F9C339"
}
]
};
$('.countVisitsAds').html(sumVisitsAds);
$('.countVisitsCompany').html(sumCompanyValues);
}
var ctx = document.getElementById("nb_visits");
var myChart = new Chart(ctx, {
type: 'line',
data: dataLine,
options: {
legend: {
display: false
var dataLine = {
datasets: [{
label: "Nombre de visite d'annonce par jour",
fill: false,
fontColor: "rgba(39,139,231,1)",
backgroundColor: "rgba(39,139,231,1)",
borderColor: "rgba(39,139,231,1)"
}, {
label: "Nombre de visite de votre page entreprise",
fill: false,
fontColor: "#F9C339",
backgroundColor: "#F9C339",
borderColor: "#F9C339"
}]
};
var ctx = document.getElementById("nb_visits");
var myChart = new Chart(ctx, {
type: 'line',
data: dataLine,
options: {
legend: {
display: false
},
scales: {
xAxes: [{
display: true,
scaleLabel: {
display: true,
labelString: 'Date'
}
}],
yAxes: [{
ticks: {
min: 0
},
scales: {
xAxes: [{
display: true,
scaleLabel: {
display: true,
labelString: 'Date'
}
}],
yAxes: [{
ticks: {
min: 0
},
scaleLabel: {
display: true,
labelString: 'Valeur'
}
}]
scaleLabel: {
display: true,
labelString: 'Valeur'
}
}
});
var dataDonught = {
labels: [
"Visites de talents",
"Visites d'entreprises",
"Visites d'internautes non inscrit"
],
datasets: [
{
data: donughtRecords,
backgroundColor: [
"#FF6384",
"#36A2EB",
"#FFCE56"
],
hoverBackgroundColor: [
"#FF6384",
"#36A2EB",
"#FFCE56"
]
}]
};
var ctxDonught = document.getElementById("donught_visits");
var myDoughnutChart = new Chart(ctxDonught, {
type: 'doughnut',
data: dataDonught,
options: {
legend: {
display: false,
},
animation: {
animateScale: true
}
}
});
</script>
}
});
var dataDonught = {
labels: [
"Visites de talents",
"Visites d'entreprises",
"Visites d'internautes non inscrit"
],
datasets: [{
data: donughtRecords,
backgroundColor: [
"#FF6384",
"#36A2EB",
"#FFCE56"
],
hoverBackgroundColor: [
"#FF6384",
"#36A2EB",
"#FFCE56"
]
}]
};
var ctxDonught = document.getElementById("donught_visits");
var myDoughnutChart = new Chart(ctxDonught, {
type: 'doughnut',
data: dataDonught,
options: {
legend: {
display: false,
},
animation: {
animateScale: true
}
}
});
</script>
{% endblock %}
@@ -42,10 +42,11 @@
<i class="fa fa-search"></i>
{{ 'company.menu.ads.label'|trans }}</a></li>
<li>
<a href="{{ path('company_media') }}">
<i class="fa fa-play"></i>
{{ 'company.menu.videotheque.label'|trans }}</a>
</li>
<a href="{{ path('users') }}">
<i class="fa fa-search"></i>
{{ 'company.menu.users.label'|trans }}</a></li>
<li>
<a href="{{ path('company_my_account') }}">
<i class="fa fa-cog"></i>
@@ -0,0 +1,96 @@
<div class="col s12 m12 l4 xl3" id="sidebar">
<div class="inside-m">
<div class="profil center-align">
{% set company = app.user.company %}
<div class="profil-picture logo-picture">
{% if company.logo %}
<img class="responsive-img" src="{{ company.webPath | imagine_filter('profile_thumb') }}"
alt="{{ app.user.firstname }} {{ app.user.lastname }}"/>
<a href="#modalProfilePicture">
<i class="fa fa-pencil" aria-hidden="true"></i>
</a>
{% else %}
<div class="circle-letters square-letters font-2">{{ company.brandname|first|upper }}</div>
<a href="#modalProfilePicture">
<i class="fa fa-pencil" aria-hidden="true"></i>
</a>
{% endif %}
</div>
<p class="profil-name ">{{ app.user.firstname }} {{ app.user.lastname|first|upper }}</p>
{% if company.addresses %}
<p class="profil-city">{{ company.addresses.billing.city }}
- {{ company.addresses.billing.country|country }}</p>
{% endif %}
{# <p class="profil-job"><a
href="{{ path("company_show",{"alias":company.alias}) }}">{{ company.brandname }}</a></p> #}
<p class="profil-job"><a
href="https://www.talentstube.com/Entreprise/{{company.alias}}" target="_blank">{{ company.brandname }}</a></p>
</div>
<div class="profil-nav">
<ul class="font-2">
<li>
<a href="{{ path('company_dashboard') }}">
<i class="fa fa-bar-chart"></i>
{{ 'company.menu.dashboard.label'|trans }}
</a>
</li>
<li>
<a href="{{ path('company_profile') }}">
<i class="fa fa-user"></i>
{{ 'company.menu.profile.label'|trans }}</a>
</li>
<li>
<a href="{{ path('company_marque') }}">
<i class="fa fa-share"></i>
{{ 'company.menu.marque.label'|trans }}</a>
</li>
<li>
<a href="{{ path('company_ad') }}">
<i class="fa fa-search"></i>
{{ 'company.menu.ads.label'|trans }}</a></li>
<li>
<a href="{{ path('users') }}">
<i class="fa fa-search"></i>
{{ 'company.menu.users.label'|trans }}</a></li>
<li>
<a href="{{ path('company_answer_list') }}">
<i class="fa fa-user"></i>
{{ 'company.menu.candidature.label'|trans }}</a>
</li>
<li>
<a href="{{ path('company_my_account') }}">
<i class="fa fa-cog"></i>
{{ 'company.menu.account.label'|trans }}</a>
</li>
<li>
<a href="mailto:contact@talentstube.com">
<i class="fa fa-comment"></i>
{{ 'company.menu.account.contact'|trans }}</a>
</li>
<li>
<a class="chip center-align" href="{{ path('fos_user_security_logout') }}">Déconnexion <i class="fa fa-sign-out" aria-hidden="true"></i></a>
</li>
</ul>
</div>
</div>
</div>
<div id="modalProfilePicture" class="modal">
<div class="modal-content">
<h4>Edition du logo de votre entreprise</h4>
<div class="row">
{{ render(controller(
'AppBundle:Media:profileLogo'
)) }}
</div>
</div>
<div class="modal-footer">
<a href="#!" class="modal-action modal-close waves-effect waves-green btn-flat">Fermer</a>
</div>
</div>
@@ -1,27 +1,122 @@
{% extends 'company/base_dashboard_company.html.twig' %}
{# {% extends 'company/base_dashboard_company.html.twig' %} #}
{% extends 'admin/base_dashboard.html.twig' %}
{% block title %} Mon compte{% endblock %}
{% block dashContent %}
{% include 'default/flash_message.html.twig' %}
<div class="row bg-bordered p-20">
<div class="col s6">
<h4>{{ 'company.menu.account.label'|trans }}</h4>
{{ form_start(form, { 'action': path('company_my_account'), 'attr': { 'class': 'fos_user_profile_edit' } }) }}
{{ form_rest(form) }}
<br/>
<input class="btn btn-default" type="submit" value="{{ 'global.save.label'|trans }}"/>
{{ form_end(form) }}
</div>
{% include 'default/flash_message.html.twig' %}
<!-- START JUMBOTRON -->
<div class="jumbotron" data-pages="parallax">
<div class=" container-fluid container-fixed-lg sm-p-l-0 sm-p-r-0">
<div class="inner">
<!-- START BREADCRUMB -->
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="/entreprise/me/">Accueil</a></li>
<li class="breadcrumb-item active">Profil</li>
</ol>
<!-- END BREADCRUMB -->
<div class="col s6">
<h4>{{ 'company.account.password.modify'|trans }}</h4>
{{ form_start(formPw) }}
{{ form_rest(formPw) }}
<br/>
<input class="btn btn-default" type="submit" value="{{ 'company.account.password.modify.label'|trans }}"/>
{{ form_end(formPw) }}
</div>
</div>
</div>
<!-- END JUMBOTRON -->
{% endblock %}
<!-- START CONTAINER FLUID -->
<div class=" container-fluid container-fixed-lg bg-white">
<!-- START card -->
<div class="row">
<div class="col-lg-12s">
<div class="card card-transparent">
{{ form_start(form, { 'action': path('company_my_account'), 'attr': { 'class': 'fos_user_profile_edit' } }) }}
<div class="card-body">
<div class="card-body">
{% if form_errors(form) %}
<span class="red-text text-darken-2">{{ form_errors(form) }}</span>
{% endif %}
<div class="row">
<div class="col-md-6">
<div class="form-group form-group-default required">
{{ form_row(form.firstname) }}
</div>
</div>
<div class="col-md-6">
<div class="form-group form-group-default">
{{ form_row(form.lastname) }}
</div>
</div>
</div>
{# <div class="row">
<div class="col-md-12">
<div class="form-group ">
{{ form_row(form.gender) }}
</div>
</div>
</div>
<br /> #}
<div style="text-align: right;">
<button class="btn btn-default" type="submit">Sauvegarde</button>
</div>
</div>
{{ form_end(form) }}
</div>
<!-- END card -->
</div>
<div class="col-lg-12">
{# <div class="card card-transparent">
{{ form_start(formPw) }}
<div class="card-body">
{% if form_errors(formPw) %}
<span class="red-text text-darken-2">{{ form_errors(form) }}</span>
{% endif %}
<div class="row">
<div class="col-md-12">
<div class="form-group form-group-default required">
{{ form_rest(formPw) }}
<br />
<input class="btn btn-default" type="submit" value="{{ 'company.account.password.modify.label'|trans }}" />
{{ form_end(formPw) }}
</div>
</div>
</div>
</div>
{{ form_end(formPw) }} #}
<div class="card card-transparent">
<div class="card-body">
<div class="row">
<div class="col-md-12">
<a href="/resetting/request" target="_blank">Réinitialisation de mot de passe</a>
</div>
</div>
</div>
</div>
</div>
<!-- END card -->
</div>
</div>
<!-- END CONTAINER FLUID -->
{% endblock %}
@@ -1,15 +1,152 @@
{% extends 'company/base_dashboard_company.html.twig' %}
{# {% extends 'company/base_dashboard_company.html.twig' %} #}
{% extends 'admin/base_dashboard.html.twig' %}
{% block title %}{{ 'profile.company.title'|trans }}{% endblock %}
{% block dashContent %}
{% include 'default/flash_message.html.twig' %}
<div class="row bg-bordered p-20">
{#<h1 class="alttitle">{{ 'profile.company.title'|trans }}</h1>#}
{{ form_start(form, { 'action': path('company_profile'), 'attr': { 'class': 'fos_user_profile_edit' } }) }}
{{ form_widget(form) }}
<br/>
<input class="btn btn-default" type="submit" value="{{ 'profile.edit.submit'|trans }}"/>
{{ form_end(form) }}
{% include 'default/flash_message.html.twig' %}
<!-- START JUMBOTRON -->
<div class="jumbotron" data-pages="parallax">
<div class=" container-fluid container-fixed-lg sm-p-l-0 sm-p-r-0">
<div class="inner">
<!-- START BREADCRUMB -->
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="/entreprise/me/">Accueil</a></li>
<li class="breadcrumb-item active">Profil</li>
</ol>
<!-- END BREADCRUMB -->
</div>
</div>
</div>
<!-- END JUMBOTRON -->
<!-- START CONTAINER FLUID -->
<div class=" container-fluid container-fixed-lg bg-white">
<!-- START card -->
<div class="card card-transparent">
<div class="card-body">
{% if form_errors(form) %}
<span class="red-text text-darken-2">{{ form_errors(form) }}</span>
{% endif %}
{{ form_start(form) }}
<div class="row">
<div class="col-md-6">
<div class="form-group form-group-default required">
{{ form_row(form.brandName) }}
</div>
</div>
<div class="col-md-6">
<div class="form-group form-group-default">
{{ form_row(form.businessName) }}
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="form-group form-group-default required">
{{ form_row(form.description) }}
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="form-group ">
{{ form_row(form.website) }}
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="form-group ">
{{ form_row(form.siren) }}
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="form-group ">
{{ form_row(form.size) }}
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="form-group ">
{{ form_row(form.address) }}
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="form-group ">
{{ form_row(form.addressComp) }}
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="form-group ">
{{ form_row(form.zipcode) }}
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="form-group ">
{{ form_row(form.city) }}
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="form-group ">
{{ form_row(form.country) }}
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="form-group ">
{{ form_row(form.tagsComma) }}
</div>
</div>
</div>
<br />
<div style="text-align: right;">
<button class="btn btn-default" type="submit">Sauvegarde</button>
</div>
{{ form_end(form) }}
</div>
</div>
<!-- END card -->
</div>
<!-- END CONTAINER FLUID -->
{% endblock %}
@@ -0,0 +1,10 @@
<div class="col s12" id="breadcrumb">
<a href="{{ path('company_ad') }}">
<span>{% trans %}label.users{% endtrans %}</span>
</a>
<div class="border-breadcrumb"></div>
</div>
@@ -0,0 +1,111 @@
{# {% extends 'company/base_dashboard_company.html.twig' %} #}
{% extends 'admin/base_dashboard.html.twig' %}
{% block dashContent %}
<!-- START JUMBOTRON -->
<div class="jumbotron" data-pages="parallax">
<div class=" container-fluid container-fixed-lg sm-p-l-0 sm-p-r-0">
<div class="inner">
<!-- START BREADCRUMB -->
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="/entreprise/me/">Accueil</a></li>
<li class="breadcrumb-item active">Utilisateurs</li>
</ol>
<!-- END BREADCRUMB -->
<div class="row">
<div class="col-xl-12 col-lg-12 ">
<!-- START card -->
<div class="card card-transparent">
<div class="card-header ">
</div>
<div class="card-body">
<a class="btn-square" target="_self" href="{{ path('user_create') }}">
<button aria-label=""
class="btn btn-primary btn-cons">{{ 'user.add.label'|trans }}</button>
</a>
</div>
</div>
<!-- END card -->
</div>
</div>
</div>
</div>
</div>
<!-- END JUMBOTRON -->
<!-- START CONTAINER FLUID -->
<div class=" container-fluid container-fixed-lg bg-white">
<!-- START card -->
<div class="card card-transparent">
<div class="card-header ">
<div class="card-title">Créer un Utilisateur
</div>
</div>
<div class="card-body">
{% if form_errors(form) %}
<span class="red-text text-darken-2">{{ form_errors(form) }}{{ error }}</span>
{% endif %}
{% if error%}
<span class="red-text text-darken-2"><b>{{ error }}</b><br/>&nbsp;</span>
{% endif %}
{{ form_start(form) }}
<div class="row">
<div class="col-md-6">
<div class="form-group form-group-default required">
{{ form_row(form.firstname) }}
</div>
</div>
<div class="col-md-6">
<div class="form-group form-group-default">
{{ form_row(form.lastname) }}
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="form-group form-group-default required">
{{ form_row(form.email) }}
</div>
</div>
</div>
{# <div class="row">
<div class="col-md-12">
<div class="form-group ">
{{ form_row(form.gender) }}
</div>
</div>
</div> #}
{% if form.password is defined%}
<div class="row">
<div class="col-md-12">
<div class="form-group form-group-default required">
{{ form_row(form.password) }}
</div>
</div>
</div>
{% endif %}
<br/>
<div style="text-align: right;">
<button class="btn btn-default" type="submit">Je crée/modifie un utilisateur</button>
</div>
{{ form_end(form) }}
</div>
</div>
<!-- END card -->
</div>
<!-- END CONTAINER FLUID -->
{% endblock %}
@@ -0,0 +1,94 @@
<!-- START JUMBOTRON -->
<div class="jumbotron" data-pages="parallax">
<div class=" container-fluid container-fixed-lg sm-p-l-0 sm-p-r-0">
<div class="inner">
<!-- START BREADCRUMB -->
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="/entreprise/me/">Accueil</a></li>
<li class="breadcrumb-item active">Utilisateurs</li>
</ol>
<!-- END BREADCRUMB -->
<div class="row">
<div class="col-xl-12 col-lg-12 ">
<!-- START card -->
<div class="card card-transparent">
<div class="card-header ">
</div>
<div class="card-body">
<a class="btn-square" target="_self" href="{{ path('user_create') }}">
<button aria-label=""
class="btn btn-primary btn-cons">{{ 'user.add.label'|trans }}</button>
</a>
</div>
</div>
<!-- END card -->
</div>
</div>
</div>
</div>
</div>
<!-- END JUMBOTRON -->
<!-- START CONTAINER FLUID -->
<div class=" container-fluid container-fixed-lg bg-white">
<!-- START card -->
<div class="card card-transparent">
<div class="card-header ">
<div class="card-title">Utilisateurs
</div>
</div>
<div class="card-body">
<div class="table-responsive">
<table class="table table-hover" id="basicTable">
<thead>
<tr>
<!-- NOTE * : Inline Style Width For Table Cell is Required as it may differ from user to user
Comman Practice Followed
-->
<th style="width:20%">{{ 'user.list.nom'|trans }}</th>
<th style="width:20%">{{ 'user.list.prenom'|trans }}</th>
<th style="width:29%">{{ 'user.list.email'|trans }}</th>
<th style="width:15%">{{ 'user.list.actions'|trans }}</th>
</tr>
</thead>
<tbody>
{% for user in users %}
<tr>
<td class="v-align-middle ">
<p>{{ user.lastname }}</p>
</td>
<td class="v-align-middle">
<p>{{ user.firstname }}</p>
</td>
<td class="v-align-middle">
<p>{{ user.email }}</p>
</td>
<td class="v-align-middle">
<p><a class="tooltipped td-none" data-position="top" data-delay="0"
data-tooltip="{{ 'user.edit.label'|trans }}" href="{{ path('user_edit', { 'id': user.id }) }}"
style="margin-right: 10px">
<i class="pg-icon">pen</i>
</a>
</p>
</td>
</tr>
{% endfor %}
{% if users|length == 0 %}
<tr><th colspan="4" class="text-center">Aucun utilisateur pour le moment</th></tr>
{% endif %}
</tbody>
</table>
</div>
</div>
</div>
<!-- END card -->
</div>
<!-- END CONTAINER FLUID -->
@@ -0,0 +1,14 @@
{# {% extends 'company/base_dashboard_company.html.twig' %} #}
{% extends 'admin/base_dashboard.html.twig' %}
{% block title %}
Mes utilisateurs
{% endblock %}
{% block dashContent %}
{# {% include 'default/flash_message.html.twig' %} #}
{% include 'company/user_table_listing.html.twig' with {
'ads' : ads
} %}
{% endblock %}
@@ -28,9 +28,12 @@
{% if company.presentationVideo is defined %}
{% if company.presentationVideo.thumbnails.0.sizes is defined %}
<a href="{{ path('company_show',{'alias': company.alias }) }}" title="{{ company.brandName }}">
{% if company.presentationVideo.thumbnails.0.sizes.4.link is defined %}
<img src="{{ company.presentationVideo.thumbnails.0.sizes.4.link }}"
alt="{{ company.brandName }}"/>
<span class="playerbtn"></span>
{% endif %}
</a>
{% endif %}
{% endif %}
@@ -20,7 +20,7 @@
<a class="white-text" href="{{ path('territory_list') }}" title="Listes des territoires">Nos territoires</a>
</li>
<li>
<a class="white-text" href="https://blog.talentstube.com/contact.html" title="Talents Tube ">Contact</a>
<a class="white-text" href="https://blog.talentstube.com/contact" title="Talents Tube ">Contact</a>
</li>
</ul>
</div>
@@ -0,0 +1,65 @@
<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>
</ul>
</div>
<div class="col xl4 l4 m6 s6">
<h5 class="white-text">Informations</h5>
</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:&#098;&#111;&#110;&#106;&#111;&#117;&#114;&#064;&#116;&#097;&#108;&#101;&#110;&#116;&#115;&#116;&#117;&#098;&#101;&#046;&#099;&#111;&#109;">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">&copy;&nbsp;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 %}
@@ -85,9 +85,7 @@
</div>
<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="http://app.talentstube.com">web application</a>.📲"</p>
</div>
</div>
</div>
</div>
@@ -0,0 +1,80 @@
<div class="fluid-container header-fixed-top" id="header-wrapper">
<div id="header" class="container">
<div class="row">
<div class="col s12 m12 l10">
<nav>
<div class="nav-wrapper">
<div class="logo-wrapper">
<a href="{{ path('homepage') }}" class="brand-logo">
<img src="{{ asset('img/Logo-header.png') }}" alt="Talents Tube"/>
</a>
</div>
<a href="#" data-activates="mobile-demo" class="button-collapse">
<i class="material-icons">menu</i>
</a>
<ul class="right hide-on-med-and-down">
<li>
<a href="https://blog.talentstube.com" title="Blog Talents Tube">Blog</a>
</li>
</ul>
</div>
</nav>
</div>
</div>
</div>
{# <div id="newApp" class="container-fluid">
<div class="row">
</div>
</div> #}
</div>
<div class="nav-wrapper">
<ul class="side-nav collapsible" data-collapsible="accordion" id="mobile-demo">
<li class="header-links">
{% include 'default/button_login.html.twig' with {'app': app } %}
</li>
<li>
<a class="collapsible-header" title="Talents">Talents</a>
<div class="collapsible-body">
<ul>
<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>
<li>
<a class="collapsible-header" href="{{ path('ad_search_result') }}" title="Offres d'emploi vidéos">Offres d'emploi</a>
</li>
<li>
<a class="collapsible-header" title="Les entreprises de talents">Entreprises</a>
<div class="collapsible-body">
<ul>
<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>
<li>
<a class="collapsible-header" title="Les territoires">Territoires</a>
<div class="collapsible-body">
<ul>
<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>
<li>
<a class="collapsible-header" href="https://blog.talentstube.com" title="Blog Talents Tube">Blog</a>
</li>
</ul>
</div>
@@ -1,4 +1,4 @@
{% extends 'base.html.twig' %}
{% extends 'basetemporaire.html.twig' %}
{% block metarobot %}
{% if robot is defined and robot == 0 %}
@@ -6,6 +6,7 @@
{% else %}
<meta name="robots" content="index,follow">
{% endif %}
{% endblock %}
{% block title %}{{ page.title }}{% endblock %}
@@ -0,0 +1,395 @@
<!DOCTYPE html>
<html lang="fr">
<head>
<link
href="{{ asset('dashboard/plugins/bootstrap/css/bootstrap.min.css') }}"
rel="stylesheet"
type="text/css"/>
<script
src="{{ asset('dashboard/plugins/jquery/jquery-3.5.1.min.js') }}"
type="text/javascript"></script>
<script
src="https://cdnjs.cloudflare.com/ajax/libs/corejs-typeahead/1.3.1/bloodhound.min.js"
type="text/javascript"></script>
<script
src="{{ asset('dashboard/plugins/typeahead/typeahead.bundle.js') }}"
type="text/javascript"></script>
<script>
$(document)
.ready(function () {
// Constructing the suggestion engine
console.log("metiers!!!");
var metiers = new Bloodhound({
datumTokenizer: Bloodhound.tokenizers.whitespace,
queryTokenizer: Bloodhound.tokenizers.whitespace,
remote: {
url: 'http://localhost/app_dev.php/api/getAppelationsLibelle',
wildcar: '%QUERY',
filter: function (metiers) {
console.log("metiers2");
return $.map(metiers, function (metier) {
console.log(metier);
return {metier_id: metier.code, metier_libelle: metier.libelle}
})
},
prepare: function (query, settings) {
//ing%20agro
//query = query.replace(" ", "%20");
settings.url += '?q=' + query;
return settings;
}
},
});
metiers.initialize();
// Initializing the typeahead
$('.typeahead').typeahead({
hint: true,
highlight: true
}, {
name: 'metiers',
source: metiers.ttAdapter(),
display: 'metier_libelle',
limit: 10,
templates: {
suggestion: function (data) {
return '<div><strong>' + data.metier_id + '</strong> ' + data.metier_libelle + '</div>'
},
footer: function (query) {
//return '<div class="text-center">Plus de résultats :' + query.query + '</div>';
},
empty: function (context) {
// console.log(1) // put here your code when result not found
return '<div class="text-center">Aucun résultat</div>';
}
}
});
});
</script>
<style>
.bs-example {
font-family: sans-serif;
position: relative;
margin: 100px;
}
.tt-hint,
.tt-query,
.typeahead {
border: 2px solid #CCCCCC;
border-radius: 8px;
font-size: 22px;
/* Set input font size */
height: 30px;
line-height: 30px;
outline: medium none;
padding: 8px 12px;
width: 396px;
}
.typeahead {
background-color: #FFFFFF;
}
.typeahead:focus {
border: 2px solid #0097CF;
}
.tt-query {
box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset;
}
.tt-hint {
color: #999999;
}
.tt-menu {
background-color: #FFFFFF;
border: 1px solid rgba(0, 0, 0, 0.2);
border-radius: 8px;
box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
margin-top: 12px;
padding: 8px 0;
width: 422px;
}
.tt-suggestion {
font-size: 22px;
/* Set suggestion dropdown font size */
padding: 3px 20px;
}
.tt-suggestion:hover {
cursor: pointer;
background-color: #0097CF;
color: #FFFFFF;
}
.tt-suggestion p {
margin: 0;
}
.tt-suggestions {
min-height: 300px;
max-height: 600px;
overflow-y: auto;
}
</style>
<style type="text/css">
/* Copyright 2014-present Evernote Corporation. All rights reserved. */
@keyframes caretBlink {
from {
opacity: 1.0;
}
to {
opacity: 0.0;
}
}
@keyframes rotateSpinner {
from {
transform: rotate(0deg);
}
to {
transform: rotate(360deg);
}
}
#text-tool-caret {
animation-name: caretBlink;
animation-iteration-count: infinite;
animation-timing-function: cubic-bezier(1.0, 0, 0, 1.0);
animation-duration: 1s;
}
#en-markup-loading-spinner {
position: absolute;
top: calc(50% - 16px);
left: calc(50% - 16px);
width: 32px;
height: 32px;
}
#en-markup-loading-spinner img {
position: relative;
top: 0;
left: 0;
animation-name: rotateSpinner;
animation-duration: 0.6s;
animation-iteration-count: infinite;
animation-timing-function: linear;
}
</style>
<style type="text/css">
/* Copyright 2014-present Evernote Corporation. All rights reserved. */
.skitchToastBoxContainer {
position: absolute;
width: 100%;
text-align: center;
top: 30px;
-webkit-user-select: none;
-moz-user-select: none;
pointer-events: none;
}
.skitchToastBox {
width: 200px;
height: 16px;
padding: 12px;
background-color: rgba(47, 55, 61, 0.95);
border-radius: 4px;
color: white;
cursor: default;
font-size: 10pt;
text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.32);
font-family: 'Soleil', Helvetica, Arial, sans-serif;
border: 2px rgba(255, 255, 255, 0.38) solid;
}
.lang-zh-cn .skitchToastBox {
font-family: '微软雅黑', 'Microsoft YaHei', SimSun, '&#x30E1;&#x30A4;&#x30EA;&#x30AA;', Meiryo, 'MS PGothic', 'Soleil', Helvetica, Arial, sans-serif;
}
.lang-ja-jp .skitchToastBox {
font-family: '&#x30E1;&#x30A4;&#x30EA;&#x30AA;', Meiryo, 'MS PGothic', '微软雅黑', 'Microsoft YaHei', SimSun, 'Soleil', Helvetica, Arial, sans-serif;
}
.skitchToast {
padding-left: 20px;
padding-right: 20px;
display: inline-block;
height: 10px;
color: #f1f5f8;
text-align: center;
}
.skitchVisible {
/* Don't remove this class it's a hack used by the Evernote Clipper */
}
</style>
<style type="text/css">
/* Copyright 2019-present Evernote Corporation. All rights reserved. */
#en-markup-disabled {
position: fixed;
z-index: 9999;
width: 100%;
height: 100%;
top: 0;
left: 0;
cursor: default;
-webkit-user-select: none;
}
#en-markup-alert-container {
position: absolute;
z-index: 9999;
width: 450px;
left: calc(50% - 225px);
top: calc(50% - 85px);
background-color: white;
box-shadow: 0 2px 7px 1px rgba(0, 0, 0, 0.35);
-webkit-user-select: none;
}
#en-markup-alert-container .cell-2 {
position: relative;
float: left;
width: 345px;
margin-top: 29px;
margin-bottom: 20px;
}
#en-markup-alert-container .cell-2 .cell-2-title {
margin-bottom: 5px;
padding-right: 30px;
font-size: 12pt;
font-family: Tahoma, Arial;
}
#en-markup-alert-container .cell-2 .cell-2-message {
padding-right: 30px;
font-size: 9.5pt;
font-family: Tahoma, Arial;
}
#en-markup-alert-container .cell-3 {
position: relative;
width: 450px;
height: 60px;
float: left;
background-color: rgb(240, 240, 240);
}
#en-markup-alert-container .cell-3 button {
position: absolute;
top: 12px;
right: 15px;
width: 110px;
height: 36px;
}
#en-markup-alert-container .cell-3 button.alt-button {
position: absolute;
top: 12px;
right: 140px;
width: 110px;
height: 36px;
}
</style>
<style>
[touch-action="none"] {
-ms-touch-action: none;
touch-action: none;
}
[touch-action="auto"] {
-ms-touch-action: auto;
touch-action: auto;
}
[touch-action~="pan-x"] {
-ms-touch-action: pan-x;
touch-action: pan-x;
}
[touch-action~="pan-y"] {
-ms-touch-action: pan-y;
touch-action: pan-y;
}
[touch-action~="pan-up"] {
-ms-touch-action: pan-up;
touch-action: pan-up;
}
[touch-action~="pan-down"] {
-ms-touch-action: pan-down;
touch-action: pan-down;
}
[touch-action~="pan-left"] {
-ms-touch-action: pan-left;
touch-action: pan-left;
}
[touch-action~="pan-right"] {
-ms-touch-action: pan-right;
touch-action: pan-right;
}
</style>
</head>
<body class="fixed-header dashboard menu-pin menu-behind">
{# {{ include('default/user_switch.html.twig') }} #}
<!-- START PAGE-CONTAINER -->
<div class="page-container ">
<!-- START PAGE CONTENT WRAPPER -->
<div class="page-content-wrapper ">
<div class="content ">
{% block dashContent %}
<h2>choisir un métier</h2>
<span
class="twitter-typeahead"
style="position: relative; display: inline-block;"><input
type="text"
class="typeahead tt-query tt-hint"
autocomplete="off"
spellcheck="false"
readonly=""
tabindex="-1"
dir="ltr"
style="position: absolute; top: 0px; left: 0px; border-color: transparent; box-shadow: none; opacity: 1; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255);"><input
type="text"
id="saisie"
class="typeahead tt-query tt-input"
autocomplete="off"
spellcheck="false"
dir="auto"
style="position: relative; vertical-align: top; background-color: transparent;">
<pre aria-hidden="true"
style="position: absolute; visibility: hidden; white-space: pre; font-family: Arial; font-size: 22px; font-style: normal; font-variant: normal; font-weight: 400; word-spacing: 0px; letter-spacing: 0px; text-indent: 0px; text-rendering: auto; text-transform: none;"></pre>
<div
class="tt-menu"
style="position: absolute; top: 100%; left: 0px; z-index: 100; display: none;">
<div class="tt-dataset tt-dataset-cars"></div>
</div>
</span>
{% endblock %}
</div>
</div>
</div>
</body>
</html>
@@ -0,0 +1,31 @@
<!-- Candidat DEBUT -->
<div class="space-1-bottom accueilFondNoir">
<div class="container space-2 ">
<div class="row justify-content-lg-end">
<div class="col-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 class="accueilFondNoir"> Depuis leur webcam, smartphone ou tablette, les candidats postulent aux vidéos de votre entreprise, en
toute confidentialité, grâce à notre outil denregistrement vidéo simple, rapide et gratuit.
Vous recevez des vidéos de motivation, cest-à-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 quil peut apporter à votre entreprise.
<strong>Découvrez la personnalité du candidat et son projet professionnel en quelques instants.</strong>
</p>
<a class="btn btn-sm btn-primary btn-wide" href="candidatures-video">En savoir plus</a>
</div>
</div>
<div class="col-md-6 order-md-1">
<div class="pr-lg-4">
<a href="candidatures-video"><img class="img-fluid" src="{{ asset('v2/png/candidature-en-video.png') }}" alt="Candidature en vidéo"></a>
</div>
</div>
</div>
</div>
</div>
<!-- Candidat FIN -->
@@ -0,0 +1,40 @@
<!-- Ils nous font confiance DEBUT -->
<div class="container space-2 space-3--lg accueilFondBlanc">
<div class=" text-center mx-md-auto mb-12">
<!-- Title -->
<h2 class="h1"> Ils nous font confiance</h2>
<!-- Slick Carousel -->
<div class="js-slick-carousel u-slick" data-autoplay="true" data-speed="5000" data-infinite="true"
data-slides-show="5">
<div class="js-slide">
<img src="{{ asset('v2/logos/Albea-logo.png') }}" alt="Image Description">
</div>
<div class="js-slide">
<img src="{{ asset('v2/logos/Bouyer-leroux-logo.png') }}" alt="Image Description">
</div>
<div class="js-slide">
<img src="{{ asset('v2/logos/Eiffage-logo.png') }}" alt="Image Description">
</div>
<div class="js-slide">
<img src="{{ asset('v2/logos/groupe-mousset-logo.png') }}" alt="Image Description">
</div>
<div class="js-slide">
<img src="{{ asset('v2/logos/Groupe-rocher-logo.png') }}" alt="Image Description">
</div>
<div class="js-slide">
<img src="{{ asset('v2/logos/intermarche.png') }}" alt="Image Description">
</div>
<div class="js-slide">
<img src="{{ asset('v2/logos/Mazars-logo.png') }}" alt="Image Description">
</div>
<div class="js-slide">
<img src="{{ asset('v2/logos/Mma-logo.png') }}" alt="Image Description">
</div>
<div class="js-slide">
<img src="{{ asset('v2/logos/Square-habitat-logo.png') }}" alt="Image Description">
</div>
</div>
<!-- End Slick Carousel -->
</div>
</div>
<!-- Ils nous font confiance FIN -->
@@ -0,0 +1,87 @@
<!-- Degradé avec Stats Section -->
<div class="gradient-overlay-half-primary-v1">
<div class="bg-img-hero" style=>
<div class="container space-2 ">
<div class="container z-index-2 containerStat">
<div class=" shadow-lg rounded mt-n9">
<div class="card-deck d-block d-lg-flex">
<div class="card card-frame mb-4 mb-lg-0">
<!-- Listing -->
<div class="card-body p-4">
<div class="media">
<div class="media-body px-4">
<h2 class="statChiffre">10000+</h2>
<p class="statTexte">Visiteurs par mois</p>
</div>
</div>
</div>
<!-- End Listing -->
</div>
<div class="card card-frame mb-4 mb-lg-0">
<!-- Listing -->
<div class="card-body p-4">
<div class="media">
<div class="media-body px-4">
<h2 class="statChiffre">1050+</h2>
<p class="statTexte">Vues par vidéo</p>
</div>
</div>
</div>
<!-- End Listing -->
</div>
<div class="card card-frame mb-4 mb-lg-0">
<!-- Listing -->
<div class="card-body p-4">
<div class="media">
<div class="media-body px-4">
<h2 class="statChiffre">550+</h2>
<p class="statTexte">Candidatures vidéo</p>
</div>
</div>
</div>
<!-- End Listing -->
</div>
</div>
</div>
</div>
</div>
<!-- Icon Blocks Section -->
<div class="container ">
<div class="row space-1">
<div class="col-md-4 mb-7 mb-md-0">
<!-- Icon Blocks -->
<div class="text-center px-lg-3">
<img src="{{ asset('v2/svg/components/Diffusion-offres-emploi-video-marque-employeur.svg') }}" alt="Diffusez vos offres d'emploi et marque employeur en video">
<h3 class="h4 text-white text300">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/candidature-en-video.svg') }}" alt="Recevez les candidatures en video">
<h3 class="h4 text-white text300">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/Gestion-des-candidatures-video.svg') }}" alt="Gérez vos candidatures en vidéo">
<h3 class="h4 text-white text300">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,31 @@
<!-- 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 lhumain au cœur du recrutement. Vous disposez dun levier concret et efficace pour
parfaire votre réputation. Développez lattractivité de votre entreprise pour séduire de nouveaux talents.
<strong>Donnez vie à votre marque employeur en plaçant la vidéo au centre de votre stratégie de
communication et de votre gestion des ressources humaines.
</strong>
</p>
<a class="btn btn-sm btn-primary btn-wide" href="marque-employeur-video">En savoir plus</a>
</div>
</div>
<div class="col-md-6 order-md-1">
<div class="pr-lg-4">
<a href="marque-employeur-video"><img class="img-fluid"
src="{{ asset('v2/png/marque-employeur-en-video.png') }}" alt="Marque employeur vidéo"></a>
</div>
</div>
</div>
</div>
</div>
<!-- Marque employeur FIN -->
@@ -0,0 +1,146 @@
{% trans_default_domain 'FOSUserBundle' %}
<!-- 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 action="{{ path("fos_user_security_check") }}" method="post">
{% if csrf_token %}
<input type="hidden" name="_csrf_token" value="{{ csrf_token }}" />
{% endif %}
<!-- Signin -->
<div id="signin" data-target-group="idForm">
<!-- Title -->
<header class="text-center mb-5">
<h2 class="h4 mb-0">Connexion</h2>
<p>Connectez-vous pour gérer votre compte</p>
</header>
<!-- 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"> #}
<input type="text" id="username" name="_username" value="{{ last_username }}" required="required" class="form-control" placeholder="Saisissez votre adresse email"/>
</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"> #}
<input type="password" id="password" name="_password" required="required" class="form-control" placeholder="Saisissez votre mot de passe" />
</div>
</div>
<!-- End Input -->
<div class="row mb-3">
<div class="col-6">
<!-- Checkbox -->
<div class=" d-flex align-items-center text-muted">
<input type="checkbox" id="remember_me" name="_remember_me" value="on" />
<label class="" for="">
Se souvenir de moi
</label>
</div>
<!-- End Checkbox -->
</div>
<div class="col-6 text-right">
<a href="resetting/request" target="_blank">Mot de passe oublié?</a>
</div>
</div>
<div class="mb-3">
<input type="hidden" name="_target_path" value="redirect_dashboard" />
<input type="submit" id="_submit" name="_submit" class="btn btn-block btn-primary" value="Se connecter"/>
</div>
<div class="text-center mb-3">
<p class="text-muted">
Vous n'avez pas encore de compte?
<a class="" href="register" target="_blank"
>S'inscrire
</a>
</p>
</div>
</div>
</form>
{# {% if app.request.get('_route') != "fos_user_security_login" %}
{{ render(controller('AppBundle:SecurityModal:loginModalV2')) }}
{% endif %} #}
<!-- 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 -->
</div>
<!-- End Content -->
</div>
<!-- End Signup Modal Window -->
<!-- ========== END SECONDARY CONTENTS ========== -->
@@ -0,0 +1,20 @@
<!-- Accueil Photo Haut Section -->
<div class="bg-img-hero-center" style="background-image: url({{ asset(urlImage)}} ">
<div class="container space-2 space-5-top--lg space-4-bottom--lg">
<div class="w-md-75">
<!-- Title -->
<div class="mb-7">
{# <span class="d-block text-white text-uppercase mb-2">Talents tube</span> #}
<h1 class="display-4 font-size-48--md-down text-white mb-4">
<strong class="u-text-animation u-text-animation--typing">{{textParDefaut}}</strong>
<br>{{textVideo}}
</h1>
</div>
<!-- End Title -->
</div>
</div>
</div>
<!-- End Accueil Photo Haut Section -->
@@ -0,0 +1,33 @@
<!-- Plateforme DEBUT -->
<div class=" accueilFondBleute">
<div class="container space-2 ">
<div class="row row justify-content-lg-end ">
<div class="col-md-6 ">
<!-- Title <div class="col-md-6 order-md-2 mb-5 mb-md-0">-->
<div class="mb-6">
<h2 class="h3"> Plateforme pour lemploi 100% vidéo</h2>
<p> Talents Tube met à votre disposition un outil de diffusion de vos vidéos doffres demploi & marque
employeur pour attirer les meilleurs talents en vidéo.
Notre plateforme rassemble lentreprise et les talents qui se présentent en vidéo pour un recrutement
réussi.
Si vous ne possédez pas de vidéos, nous pouvons vous accompagner dans la réalisation.
<strong>Diffusez vos vidéos de recrutement et augmentez votre visibilité.</strong>
</p>
<a class="btn btn-sm btn-primary btn-wide" href="{{ url_plateforme }}">Voir la plateforme</a>
</div>
</div>
<div class="col-md-6 align-right paddintRight">
<div class="mb-6">
<a href="{{ url_plateforme }}"><img class="img-fluid" src="{{ asset('v2/png/plateforme-de-recrutement-en-video.png') }}"
alt="Recrutement video"></a>
</div>
</div>
</div>
</div>
</div>
<!-- Plateforme FIN -->
@@ -0,0 +1,32 @@
<!-- Recrutez DEBUT -->
<div class="space1-bottom accueilFondBleute">
<div class="container space-2 ">
<div class="row justify-content-lg-end ">
<div class="col-md-6 ">
<!-- Title <div class="col-md-6 order-md-2 mb-5 mb-md-0">-->
<div class="mb-6">
<h2 class="h3"> Recrutez avec des offres demploi vidéo</h2>
<p> Talents Tube peut vous accompagner dans la réalisation de vidéos doffres demploi captivantes et à votre
image.
Loffre demploi en vidéo, média engageant, vous donne lopportunité de recruter les meilleurs talents. Le
principe est de donner une image moderne et innovante en présentant votre entreprise, votre équipe,
lenvironnement de travail et le poste à pourvoir en quelques minutes.
<strong>Faites place à linnovation pour capter lattention des candidats et recruter le talent quil vous
faut.</strong>
</p>
<a class="btn btn-sm btn-primary btn-wide" href="offre-emploi-video">En savoir plus</a>
</div>
</div>
<div class="col-md-6 order-md-1">
<div class="mb-6">
<a href="offre-emploi-video"><img class="img-fluid" src="{{ asset('v2/png/offres-emploi-en-video.png') }}" alt="Offres d'emploi en vidéo"></a>
</div>
</div>
</div>
</div>
</div>
<!-- Recrutez FIN -->
@@ -0,0 +1,215 @@
<!-- Témoignage DEBUT -->
<!-- Success stories -->
<div class="space-2-top space-1-bottom space-3-top--lg accueilFondNoir">
<div class="container">
<!-- Title -->
<div class="w-md-80 w-lg-60 mx-md-auto text-md-center mb-8">
<h2 class="text-lh-xs mb-0">Témoignages de nos clients</h2>
<h6 class="text-uppercase font-weight-medium letter-spacing-0_06 mb-3"> Ils ont choisi Talents Tube
pour recruter différemment.</h6>
</div>
<!-- End Title -->
<!-- Stories -->
<div id="sliderSyncingNav2" class="js-slick-carousel u-slick u-slick--rounded mb-2" data-infinite="true"
data-arrows-classes="d-none d-md-inline-block u-slick__arrow-classic u-slick__arrow-centered--y rounded-circle shadow"
data-arrow-left-classes="fa fa-arrow-left u-slick__arrow-classic-inner bg-white text-dark left-0 ml-md-n9"
data-arrow-right-classes="fa fa-arrow-right u-slick__arrow-classic-inner bg-white text-dark right-0 mr-md-n9"
data-nav-for="#sliderSyncingThumb2">
<div class="js-slide bg-img-hero bg-img-hero-center gradient-overlay-half-black-v1"
style="background-image: url({{ asset('v2/temoignages/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="Témoignage">
Voir le témoignage
<i class="u-icon u-icon--sm u-icon--white-soft rounded-circle ml-2">
<i class="u-icon__inner svg-icon svg-icon-xs text-white">
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink">
<g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<rect x="0" y="0" width="24" height="24"></rect>
<path
d="M9.82866499,18.2771971 L16.5693679,12.3976203 C16.7774696,12.2161036 16.7990211,11.9002555 16.6175044,11.6921539 C16.6029128,11.6754252 16.5872233,11.6596867 16.5705402,11.6450431 L9.82983723,5.72838979 C9.62230202,5.54622572 9.30638833,5.56679309 9.12422426,5.7743283 C9.04415337,5.86555116 9,5.98278612 9,6.10416552 L9,17.9003957 C9,18.1765381 9.22385763,18.4003957 9.5,18.4003957 C9.62084305,18.4003957 9.73759731,18.3566309 9.82866499,18.2771971 Z"
fill="#000000"></path>
</g>
</svg>
</i>
</i>
</a>
</div>
</div>
<div class="js-slide bg-img-hero bg-img-hero-center gradient-overlay-half-black-v1"
style="background-image: url({{ asset('v2/temoignages/medaviz-temoignage-image.jpg') }});">
<div class="w-md-80 w-lg-50 text-white space-2 px-9">
<h3 class="h2 text-lh-xs 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" data-speed="700"
data-animate-in="zoomIn" data-animate-out="zoomOut" data-caption="Témoignage">
Voir le témoignage
<i class="u-icon u-icon--sm u-icon--white-soft rounded-circle ml-2">
<i class="u-icon__inner svg-icon svg-icon-xs text-white">
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink">
<g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<rect x="0" y="0" width="24" height="24"></rect>
<path
d="M9.82866499,18.2771971 L16.5693679,12.3976203 C16.7774696,12.2161036 16.7990211,11.9002555 16.6175044,11.6921539 C16.6029128,11.6754252 16.5872233,11.6596867 16.5705402,11.6450431 L9.82983723,5.72838979 C9.62230202,5.54622572 9.30638833,5.56679309 9.12422426,5.7743283 C9.04415337,5.86555116 9,5.98278612 9,6.10416552 L9,17.9003957 C9,18.1765381 9.22385763,18.4003957 9.5,18.4003957 C9.62084305,18.4003957 9.73759731,18.3566309 9.82866499,18.2771971 Z"
fill="#000000"></path>
</g>
</svg>
</i>
</i>
</a>
</div>
</div>
<div class="js-slide bg-img-hero bg-img-hero-center gradient-overlay-half-black-v1"
style="background-image: url({{ asset('v2/temoignages/thalazur-carnac1-temoignage-image.jpg') }});">
<div class="w-md-80 w-lg-50 text-white space-2 px-9">
<h3 class="h2 text-lh-xs 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="Témoignage">
Voir le témoignage
<i class="u-icon u-icon--sm u-icon--white-soft rounded-circle ml-2">
<i class="u-icon__inner svg-icon svg-icon-xs text-white">
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink">
<g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<rect x="0" y="0" width="24" height="24"></rect>
<path
d="M9.82866499,18.2771971 L16.5693679,12.3976203 C16.7774696,12.2161036 16.7990211,11.9002555 16.6175044,11.6921539 C16.6029128,11.6754252 16.5872233,11.6596867 16.5705402,11.6450431 L9.82983723,5.72838979 C9.62230202,5.54622572 9.30638833,5.56679309 9.12422426,5.7743283 C9.04415337,5.86555116 9,5.98278612 9,6.10416552 L9,17.9003957 C9,18.1765381 9.22385763,18.4003957 9.5,18.4003957 C9.62084305,18.4003957 9.73759731,18.3566309 9.82866499,18.2771971 Z"
fill="#000000"></path>
</g>
</svg>
</i>
</i>
</a>
</div>
</div>
<div class="js-slide bg-img-hero bg-img-hero-center gradient-overlay-half-black-v1"
style="background-image: url({{ asset('v2/temoignages/intermarche-temoignage-image.jpg') }});">
<div class="w-md-80 w-lg-50 text-white space-2 px-9">
<h3 class="h2 text-lh-xs mb-4">Intermarché LAI</h3>
<p class="text-white-70 mb-4">Ludovic Chamoin-Foucaut, Responsable Ressources Humaines</p>
<a class="js-fancybox text-white" href="javascript:;" data-src="https://youtu.be/lheAXL8U9cU?autoplay=1"
data-speed="700" data-animate-in="zoomIn" data-animate-out="zoomOut"
data-caption="Témoignage">
Voir le témoignage
<i class="u-icon u-icon--sm u-icon--white-soft rounded-circle ml-2">
<i class="u-icon__inner svg-icon svg-icon-xs text-white">
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink">
<g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<rect x="0" y="0" width="24" height="24"></rect>
<path
d="M9.82866499,18.2771971 L16.5693679,12.3976203 C16.7774696,12.2161036 16.7990211,11.9002555 16.6175044,11.6921539 C16.6029128,11.6754252 16.5872233,11.6596867 16.5705402,11.6450431 L9.82983723,5.72838979 C9.62230202,5.54622572 9.30638833,5.56679309 9.12422426,5.7743283 C9.04415337,5.86555116 9,5.98278612 9,6.10416552 L9,17.9003957 C9,18.1765381 9.22385763,18.4003957 9.5,18.4003957 C9.62084305,18.4003957 9.73759731,18.3566309 9.82866499,18.2771971 Z"
fill="#000000"></path>
</g>
</svg>
</i>
</i>
</a>
</div>
</div>
</div>
<!-- End Stories -->
<!-- Stories.Authors -->
<div id="sliderSyncingThumb2"
class="js-slick-carousel u-slick u-slick--gutters-2 u-slick--video w-50 w-lg-30 mx-auto" data-infinite="true"
data-slides-show="3" data-is-thumbs="true" data-center-mode="true" data-nav-for="#sliderSyncingNav2">
<div class="js-slide rounded overflow-hidden">
<img class="img-fluid" src="{{ asset('v2/temoignages/mgdis-temoignage-vignette.jpg') }}"
alt="Image Description">
<i class="u-icon u-icon--sm u-icon--dark-soft rounded-circle u-slick--video__player">
<i class="u-icon__inner svg-icon svg-icon-xs text-white">
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink">
<g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<rect x="0" y="0" width="24" height="24"></rect>
<path
d="M9.82866499,18.2771971 L16.5693679,12.3976203 C16.7774696,12.2161036 16.7990211,11.9002555 16.6175044,11.6921539 C16.6029128,11.6754252 16.5872233,11.6596867 16.5705402,11.6450431 L9.82983723,5.72838979 C9.62230202,5.54622572 9.30638833,5.56679309 9.12422426,5.7743283 C9.04415337,5.86555116 9,5.98278612 9,6.10416552 L9,17.9003957 C9,18.1765381 9.22385763,18.4003957 9.5,18.4003957 C9.62084305,18.4003957 9.73759731,18.3566309 9.82866499,18.2771971 Z"
fill="#000000"></path>
</g>
</svg>
</i>
</i>
</div>
<div class="js-slide rounded overflow-hidden">
<img class="img-fluid" src="{{ asset('v2/temoignages/medaviz-temoignage-vignette.jpg') }}"
alt="Image Description">
<i class="u-icon u-icon--sm u-icon--dark-soft rounded-circle u-slick--video__player">
<i class="u-icon__inner svg-icon svg-icon-xs text-white">
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink">
<g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<rect x="0" y="0" width="24" height="24"></rect>
<path
d="M9.82866499,18.2771971 L16.5693679,12.3976203 C16.7774696,12.2161036 16.7990211,11.9002555 16.6175044,11.6921539 C16.6029128,11.6754252 16.5872233,11.6596867 16.5705402,11.6450431 L9.82983723,5.72838979 C9.62230202,5.54622572 9.30638833,5.56679309 9.12422426,5.7743283 C9.04415337,5.86555116 9,5.98278612 9,6.10416552 L9,17.9003957 C9,18.1765381 9.22385763,18.4003957 9.5,18.4003957 C9.62084305,18.4003957 9.73759731,18.3566309 9.82866499,18.2771971 Z"
fill="#000000"></path>
</g>
</svg>
</i>
</i>
</div>
<div class="js-slide rounded overflow-hidden">
<img class="img-fluid" src="{{ asset('v2/temoignages/thalazur-carnac-temoignage-vignette.jpg') }}"
alt="Image Description">
<i class="u-icon u-icon--sm u-icon--dark-soft rounded-circle u-slick--video__player">
<i class="u-icon__inner svg-icon svg-icon-xs text-white">
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink">
<g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<rect x="0" y="0" width="24" height="24"></rect>
<path
d="M9.82866499,18.2771971 L16.5693679,12.3976203 C16.7774696,12.2161036 16.7990211,11.9002555 16.6175044,11.6921539 C16.6029128,11.6754252 16.5872233,11.6596867 16.5705402,11.6450431 L9.82983723,5.72838979 C9.62230202,5.54622572 9.30638833,5.56679309 9.12422426,5.7743283 C9.04415337,5.86555116 9,5.98278612 9,6.10416552 L9,17.9003957 C9,18.1765381 9.22385763,18.4003957 9.5,18.4003957 C9.62084305,18.4003957 9.73759731,18.3566309 9.82866499,18.2771971 Z"
fill="#000000"></path>
</g>
</svg>
</i>
</i>
</div>
<div class="js-slide rounded overflow-hidden">
<img class="img-fluid" src="{{ asset('v2/temoignages/intermarche-temoignage-vignette.jpg') }}"
alt="Image Description">
<i class="u-icon u-icon--sm u-icon--dark-soft rounded-circle u-slick--video__player">
<i class="u-icon__inner svg-icon svg-icon-xs text-white">
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink">
<g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<rect x="0" y="0" width="24" height="24"></rect>
<path
d="M9.82866499,18.2771971 L16.5693679,12.3976203 C16.7774696,12.2161036 16.7990211,11.9002555 16.6175044,11.6921539 C16.6029128,11.6754252 16.5872233,11.6596867 16.5705402,11.6450431 L9.82983723,5.72838979 C9.62230202,5.54622572 9.30638833,5.56679309 9.12422426,5.7743283 C9.04415337,5.86555116 9,5.98278612 9,6.10416552 L9,17.9003957 C9,18.1765381 9.22385763,18.4003957 9.5,18.4003957 C9.62084305,18.4003957 9.73759731,18.3566309 9.82866499,18.2771971 Z"
fill="#000000"></path>
</g>
</svg>
</i>
</i>
</div>
</div>
<!-- End Stories.Authors -->
</div>
</div>
<!-- End Success stories -->
<!-- Témoignage FIN -->
@@ -0,0 +1,94 @@
<!-- ========== 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">Plateforme</h3>
<!-- List Group -->
<div class="list-group list-group-flush list-group-transparent">
<!-- Links -->
<ul class="list-unstyled">
<li><a class="list-group-item list-group-item-action" href="/">Accueil</a></li>
<li>
<a class="list-group-item list-group-item-action" href="#signupModal" role="button"
data-modal-target="#signupModal"
data-overlay-color="#151b26">
Espace recruteurs
</a>
</li>
<li><a class="list-group-item list-group-item-action"href="https://www.talentstube.com/" target="_blank">Jobs</a></li>
{# <li><a class="list-group-item list-group-item-action" href="#" target="_blank">CV Vidéothèque (En cours)</a></li> #}
</ul>
<!-- End Links -->
</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">Informations</h3>
<!-- List Group -->
<div class="list-group list-group-flush list-group-transparent">
<!-- Links -->
<ul class="list-unstyled">
<li><a class="list-group-item list-group-item-action" href="{{ path('mentions-legales') }}" target="_blank">Mentions légales</a></li>
<li><a class="list-group-item list-group-item-action" href="{{ path('cgu') }}" target="_blank">CGU</a></li>
<li><a class="list-group-item list-group-item-action" href="{{ path('politique-confidentialite') }}" target="_blank">Politique de confidentialité</a></li>
<li><a class="list-group-item list-group-item-action" href="{{ path('abonnement') }}" >Tarifs</a></li>
<li><a class="list-group-item list-group-item-action" href="https://blog.talentstube.com/contact" target="_blank"
">Contact</a></li>
</ul>
<!-- End Links -->
</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">Réseaux sociaux</h3>
<!-- List -->
<div class="list-group list-group-flush list-group-transparent">
<a class="list-group-item list-group-item-action" href="https://www.facebook.com/TalentsTuber/" target="_blank">
<i class="fab fa-facebook-f min-width-3 text-center mr-2"></i>
Facebook
</a>
<a class="list-group-item list-group-item-action" href="https://www.linkedin.com/company/talentstube" target="_blank">
<i class="fab fa-linkedin min-width-3 text-center mr-2"></i>
Linkedin
</a>
<a class="list-group-item list-group-item-action" href="https://www.instagram.com/talents.tube/" target="_blank">
<i class="fab fa-instagram min-width-3 text-center mr-2"></i>
Instagram
</a>
<a class="list-group-item list-group-item-action" href="https://twitter.com/TalentsTuber" target="_blank">
<i class="fab fa-twitter min-width-3 text-center mr-2"></i>
Twitter
</a>
<a class="list-group-item list-group-item-action" href="https://www.youtube.com/channel/UCRNqiJCLAorO0aCzNQu-8ww" target="_blank">
<i class="fab fa-youtube min-width-3 text-center mr-2"></i>
Youtube
</a>
</div>
<!-- End List -->
</div>
<!-- End List Group -->
</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="/" 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. &copy; 2020 Talents Tube.</p>
</div>
</div>
</div>
</footer>
<!-- ========== END FOOTER ========== -->
@@ -0,0 +1,197 @@
{% extends 'basev2.html.twig' %}
{% block title %}Espace recruteur - Solution de recrutement en vidéo | Talents Tube{% endblock %}
{% block meta %}
<meta name="description" content="Vous souhaitez recruter en vidéo ? Talents Tube diffuse vos vidéos doffres demploi et marque employeur pour attirer les meilleurs talents en vidéo.">
<meta name="twitter:card" content="summary">
<meta name="twitter:site" content="@TalentsTube">
<meta name="twitter:title" content="Espace recruteur - Solution de recrutement en vidéo | Talents Tube">
<meta name="twitter:description" content="Vous souhaitez recruter en vidéo ? Talents Tube diffuse vos vidéos doffres demploi et marque employeur pour attirer les meilleurs talents en vidéo.">
<meta name="twitter:image" content="{{ absolute_url(asset('img/mail/logo-talents-tube.png')) }}">
{#Open Graph data pour le partage sur les réseaux sociaux (ex Facebook..)#}
<meta property="og:title" content="Espace recruteur - Solution de recrutement en vidéo | Talents Tube" />
<meta property="og:type" content="article" />
<meta property="og:image" content="{{ absolute_url(asset('img/mail/logo-talents-tube.png')) }}" />
<meta property="og:description" content="Vous souhaitez recruter en vidéo ? Talents Tube diffuse vos vidéos doffres demploi et marque employeur pour attirer les meilleurs talents en vidéo." />
<meta property="og:site_name" content="Talents Tube" />
<meta property="og:url" content="{{ url(app.request.attributes.get('_route'), app.request.attributes.get('_route_params')) }}" />
{% endblock %}
{% block content %}
<main id="content">
{% include 'defaultv2/accueil/blocPhoto.html.twig'
with {
'urlImage': 'v2/img/1920x800/recrutement-video.jpg',
'textParDefaut' : 'Recrutez les candidats',
'textVideo' : 'avec la vidéo'
} %}
{% include 'defaultv2/accueil/blocDegrade.html.twig' %}
{% include 'defaultv2/accueil/blocPlateforme.html.twig' %}
{% include 'defaultv2/accueil/blocCandidat.html.twig' %}
{% include 'defaultv2/accueil/blocRecrutez.html.twig' %}
{% include 'defaultv2/accueil/blocEmployeur.html.twig' %}
{% include 'defaultv2/accueil/blocTemoignages.html.twig' %}
{% include 'defaultv2/accueil/blocConfiance.html.twig' %}
</main>
<!-- ========== END MAIN CONTENT ========== -->
{% include 'defaultv2/accueil/footer.html.twig' %}
<!-- Begin Panel Login -->
{% include 'defaultv2/accueil/blocLogin.html.twig'
with {
'csrf_token': csrf_token,
'error' : error
} %}
<!-- Go to Top -->
<a class="js-go-to u-go-to" href="javascript:;" data-position='{"bottom": 30, "right": 100 }' data-type="fixed"
data-offset-top="400" data-compensation="#header" data-show-effect="slideInUp" data-hide-effect="slideOutDown">
<i class="fa fa-arrow-up u-go-to__inner"></i>
</a>
<!-- End Go to Top -->
<!-- JS Global Compulsory -->
<script src="{{ asset('v2/vendor/jquery/dist/jquery.min.js') }}"></script>
<script src="{{ asset('v2/vendor/jquery-migrate/dist/jquery-migrate.min.js') }}"></script>
<script src="{{ asset('v2/vendor/popper.js/dist/umd/popper.min.js') }}"></script>
<script src="{{ asset('v2/vendor/bootstrap/bootstrap.min.js') }}"></script>
<!-- JS Implementing Plugins -->
<script src="{{ asset('v2/vendor/hs-megamenu/src/hs.megamenu.js') }}"></script>
<script src="{{ asset('v2/vendor/jquery-validation/dist/jquery.validate.min.js') }}"></script>
<script src="{{ asset('v2/vendor/malihu-custom-scrollbar-plugin/jquery.mCustomScrollbar.concat.min.js') }}"></script>
<script src="{{ asset('v2/vendor/custombox/dist/custombox.min.js') }}"></script>
<script src="{{ asset('v2/vendor/custombox/dist/custombox.legacy.min.js') }}"></script>
<script src="{{ asset('v2/vendor/typed.js/lib/typed.min.js') }}"></script>
<script src="{{ asset('v2/vendor/slick-carousel/slick/slick.js') }}"></script>
<script src="{{ asset('v2/vendor/cubeportfolio/js/jquery.cubeportfolio.min.js') }}"></script>
<script src="{{ asset('v2/vendor/fancybox/jquery.fancybox.min.js') }}"></script>
<!-- JS Space -->
<script src="{{ asset('v2/js/hs.core.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.header.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.unfold.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.validation.js') }}"></script>
<script src="{{ asset('v2/js/helpers/hs.focus-state.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.malihu-scrollbar.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.fancybox.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.modal-window.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.show-animation.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.slick-carousel.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.cubeportfolio.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.g-map.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.go-to.js') }}"></script>
<!-- JS Plugins Init. -->
<script>
// initialization of google map
{# function initMap() {
$.HSCore.components.HSGMap.init('.js-g-map');
} #}
$(window).on('load', function () {
// initialization of HSMegaMenu component
$('.js-mega-menu').HSMegaMenu({
event: 'hover',
pageContainer: $('.container'),
breakpoint: 767,
hideTimeOut: 0
});
});
$(document).on('ready', function () {
// initialization of header
$.HSCore.components.HSHeader.init($('#header'));
// initialization of fancybox
$.HSCore.components.HSFancyBox.init('.js-fancybox');
// initialization of unfold component
$.HSCore.components.HSUnfold.init($('[data-unfold-target]'), {
afterOpen: function () {
if (!$('body').hasClass('IE11')) {
$(this).find('input[type="search"]').focus();
}
}
});
// initialization of form validation
$.HSCore.components.HSValidation.init('.js-validate', {
rules: {
confirmPassword: {
equalTo: '#password'
}
}
});
// initialization of forms
$.HSCore.helpers.HSFocusState.init();
// initialization of malihu scrollbar
$.HSCore.components.HSMalihuScrollBar.init($('.js-scrollbar'));
// initialization of autonomous popups
$.HSCore.components.HSModalWindow.init('[data-modal-target]', '.js-signup-modal', {
autonomous: true
});
// initialization of show animations
$.HSCore.components.HSShowAnimation.init('.js-animation-link');
// initialization of slick carousel
$.HSCore.components.HSSlickCarousel.init('.js-slick-carousel');
$('.u-text-animation.u-text-animation').html("");
// initialization of text animation (typing)
var typed = new Typed(".u-text-animation.u-text-animation--typing", {
strings: ["Recrutez les candidats", "Boostez vos recrutements", "Valorisez vos collaborateurs"],
typeSpeed: 60,
loop: true,
backSpeed: 25,
backDelay: 3000
});
// initialization of cubeportfolio
$.HSCore.components.HSCubeportfolio.init('.cbp');
// initialization of go to
$.HSCore.components.HSGoTo.init('.js-go-to');
});
$(document).ready(function () {
$(window).scroll(function () { // check if scroll event happened
if ($(document).scrollTop() > 50) { // check if user scrolled more than 50 from top of the browser window
$("#logoAndNav").css("background-color","#000"); // if yes, then change the color of class "navbar-fixed-top" to white (#f8f8f8)
$("#sidebarNavToggler").css("color","#fff");
} else {
$("#logoAndNav").css("background-color", "transparent"); // if not, change it back to transparent
$("#sidebarNavToggler").css("color", "#000");
}
});
});
</script>
{% endblock %}
{% block javascripts %}
{{ parent() }}
<script src="https://player.vimeo.com/api/player.js"></script>
{% endblock %}
@@ -0,0 +1,44 @@
<!-- Plateforme DEBUT -->
<div class=" accueilFondBlanc">
<div class=" ">
<!-- Video Section -->
<div class="">
<div class="gradient-overlay-half-dark-v1 bg-img-hero"
style="background-image: url({{ asset('v2/img/1920x800/tutoriel-video-de-motivation-cv-video.jpg')}});">
<div class="d-lg-flex align-items-lg-center flex-lg-column">
<div class="container space-3 space-4-top--lg">
<!-- Title -->
<div class="w-md-50">
<h1 class="display-4 font-size-48--md-down text-white">Accompagnement candidats</h1>
<p class="lead text-white">Suivez nos conseils pour postuler simplement aux offres demploi.</p>
</div>
<!-- End Title -->
</div>
</div>
<div class="container space-1-bottom">
<!-- Fancybox -->
<div class="d-inline-block">
<a class="js-fancybox u-media-player media align-items-center text-white" href="javascript:;"
data-src="https://www.youtube.com/watch?v=CZDfD2ugXtg&t" data-speed="700" data-animate-in="zoomIn"
data-animate-out="zoomOut" data-caption="Space - Responsive Website Template">
<span class="u-media-player__icon mr-3">
<i class="fa fa-play u-media-player__icon-inner"></i>
</span>
<span class="media-body">
<small class="d-block text-uppercase">Regarder</small>
la vidéo
</span>
</a>
</div>
<!-- End Fancybox -->
</div>
</div>
</div>
<!-- End Video Section -->
</div>
</div>
<!-- Plateforme FIN -->
@@ -0,0 +1,28 @@
<!-- Recrutez DEBUT -->
<div class="space1-bottom accueilFondBleute">
<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="col-md-6 order-md-2 mb-5 mb-md-0">-->
<div class="mb-6">
<h2 class="h3"> Découvrez les candidats autrement</h2>
<p> Ces dernières années, les recruteurs ont vu apparaître de nouvelles formes de candidatures inédites. Les candidats révolutionnent le recrutement en optant pour de nouvelles tendances : profil Linkedin, pitch Mail, profil vidéo ou encore CV vidéo. La vidéo a également pris une place importante dans notre société.
La candidature en vidéo ou vidéo de motivation savère être un outil performant qui répond parfaitement à vos attentes. Elle propose une approche plus humaine du recrutement et dévoile ce qui ne se voit pas sur le papier.
En plus des savoirs et savoir-faire, la candidature vidéo met en lumière le savoir-être et le savoir devenir des candidats. Vous pouvez cerner la personnalité du candidat et son projet professionnel en quelques instants.
</p>
<a class="btn btn-sm btn-primary btn-wide" href="https://www.talentstube.com">Voir la plateforme</a>
</div>
</div>
<div class="col-md-6 order-md-1">
<div class="mb-6">
<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,32 @@
<!-- Plateforme DEBUT -->
<div class=" accueilFondBleute">
<div class="container space-2 ">
<div class="row row justify-content-lg-end ">
<div class="col-md-6 ">
<!-- Title <div class="col-md-6 order-md-2 mb-5 mb-md-0">-->
<div class="mb-6">
<h2 class="h3"> Le CV classique : la fin dun modèle</h2>
<p> Dans un monde où les technologies, les compétences techniques ou hard skills évoluent très rapidement, le
savoir-faire nest plus le principal critère de sélection des candidats. Aujourdhui, votre entreprise
recherche de plus en plus des compétences comportementales, communément appelées “soft skills”. Il est
difficile, voire impossible pour le candidat de communiquer ses qualités humaines à travers son CV.
Vous éprouvez des difficultés à détecter le talent quil vous faut ? Le CV papier ne vous suffit plus ? Vous
souhaitez en savoir plus sur le candidat avant de faire votre choix ? Nous réinventons pour vous, la mise en
relation pour lemploi.
</p>
<a class="btn btn-sm btn-primary btn-wide" href="https://www.talentstube.com/">Voir la plateforme</a>
</div>
</div>
<div class="col-md-6 align-right paddintRight">
<div class="mb-6">
<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,184 @@
<!-- Recrutez DEBUT -->
<div class="space1-bottom accueilFondBleute">
<!-- Gallery -->
<div class="container space-1 space-2--sm space-3-bottom--lg">
<div class="row mb-12">
<!-- Gallery Heading -->
<div class="col-lg-12">
<h2 class="font-weight-normal">Exemples de vidéos de présentation</h2>
</div>
<!-- End Gallery Heading -->
<!-- Gallery Description -->
<div class="col-lg-12 ml-lg-auto text-muted">
Ils ont postulé aux offres d'emploi vidéo.
</div>
<!-- End Gallery Description -->
</div>
<!-- Slick Carousel -->
<div class="js-slick-carousel js-slick-gallery u-slick u-slick--equal-height u-slick--blurex u-slick--center-mode-right u-slick--gutters-3"
data-infinite="true"
data-slides-show="4"
data-center-mode="true"
data-center-padding="150px"
data-arrows-classes="u-slick__arrow-classic u-slick__arrow-classic--lg u-slick__arrow-centered--y rounded-circle"
data-arrow-left-classes="fa fa-arrow-left u-slick__arrow-classic-inner bg-white opacity opacity-default--hover text-dark u-slick__arrow-classic-inner--left left-3 left-sm-7 opacity-0"
data-arrow-right-classes="fa fa-arrow-right u-slick__arrow-classic-inner bg-white opacity opacity-default--hover text-dark u-slick__arrow-classic-inner--right right-3 right-sm-7"
data-responsive='[{
"breakpoint": 992,
"settings": {
"slidesToShow": 3
}
}, {
"breakpoint": 768,
"settings": {
"slidesToShow": 2
}
}, {
"breakpoint": 300,
"settings": {
"slidesToShow": 1
}
}]'>
<div class="js-slide my-3 lift-lg shadow-2-sm-hover">
<a class="js-fancybox text-white" href="javascript:;"
data-src="https://youtu.be/wl-6iDQI-Ls?autoplay=1" data-speed="700"
data-animate-in="zoomIn" data-animate-out="zoomOut" data-caption="Témoignage">
<img src="{{ asset('v2/img/exemplesCandidats/video-de-reponse-offre-emploi-1.jpg') }}">
<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>
{# <a class="w-100 card bg-img-hero border-0 gradient-overlay-half-dark-v2-3 min-height-320 text-white rounded-pseudo p-4" href="#" style="background-image: url({{ asset('v2/img/candidatures/video-de-reponse-offre-emploi-5.jpg') }});">
<div class="mt-auto text-center">
<h5 class="font-weight-normal">Candidat</h5>
</div>
</a> #}
</div>
<div class="js-slide my-3 lift-lg shadow-2-sm-hover">
<a class="js-fancybox text-white" href="javascript:;"
data-src="https://youtu.be/Vc_MxwbnRoM?autoplay=1" data-speed="700"
data-animate-in="zoomIn" data-animate-out="zoomOut" data-caption="Témoignage">
<img src="{{ asset('v2/img/exemplesCandidats/video-de-reponse-offre-emploi-2.jpg') }}">
<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>
{# <a class="w-100 card bg-img-hero border-0 gradient-overlay-half-dark-v2-3 min-height-320 text-white rounded-pseudo p-4" href="#" style="background-image: url({{ asset('v2/img/candidatures/video-de-reponse-offre-emploi-5.jpg') }});">
<div class="mt-auto text-center">
<h5 class="font-weight-normal">Candidat</h5>
</div>
</a> #}
</div>
<div class="js-slide my-3 lift-lg shadow-2-sm-hover">
<a class="js-fancybox text-white" href="javascript:;"
data-src="https://youtu.be/vsTgLzjfpQo?autoplay=1" data-speed="700"
data-animate-in="zoomIn" data-animate-out="zoomOut" data-caption="Témoignage">
<img src="{{ asset('v2/img/exemplesCandidats/video-de-reponse-offre-emploi-4.jpg') }}">
<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>
{# <a class="w-100 card bg-img-hero border-0 gradient-overlay-half-dark-v2-3 min-height-320 text-white rounded-pseudo p-4" href="#" style="background-image: url({{ asset('v2/img/candidatures/video-de-reponse-offre-emploi-5.jpg') }});">
<div class="mt-auto text-center">
<h5 class="font-weight-normal">Candidat</h5>
</div>
</a> #}
</div>
<div class="js-slide my-3 lift-lg shadow-2-sm-hover">
<a class="js-fancybox text-white" href="javascript:;"
data-src="https://youtu.be/18FOPnQBtFk?autoplay=1" data-speed="700"
data-animate-in="zoomIn" data-animate-out="zoomOut" data-caption="Témoignage">
<img src="{{ asset('v2/img/exemplesCandidats/video-de-reponse-offre-emploi-5.jpg') }}">
<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>
{# <a class="w-100 card bg-img-hero border-0 gradient-overlay-half-dark-v2-3 min-height-320 text-white rounded-pseudo p-4" href="#" style="background-image: url({{ asset('v2/img/candidatures/video-de-reponse-offre-emploi-5.jpg') }});">
<div class="mt-auto text-center">
<h5 class="font-weight-normal">Candidat</h5>
</div>
</a> #}
</div>
<div class="js-slide my-3 lift-lg shadow-2-sm-hover">
<a class="js-fancybox text-white" href="javascript:;"
data-src="https://youtu.be/Qzyp0K9orUk?autoplay=1" data-speed="700"
data-animate-in="zoomIn" data-animate-out="zoomOut" data-caption="Témoignage">
<img src="{{ asset('v2/img/exemplesCandidats/video-de-reponse-offre-emploi-6.jpg') }}">
<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>
{# <a class="w-100 card bg-img-hero border-0 gradient-overlay-half-dark-v2-3 min-height-320 text-white rounded-pseudo p-4" href="#" style="background-image: url({{ asset('v2/img/candidatures/video-de-reponse-offre-emploi-5.jpg') }});">
<div class="mt-auto text-center">
<h5 class="font-weight-normal">Candidat</h5>
</div>
</a> #}
</div>
</div>
<!-- End Slick Carousel -->
</div>
<!-- End Gallery -->
</div>
<!-- Recrutez FIN -->
@@ -0,0 +1,21 @@
<!-- Degradé avec Stats Section -->
<div class="gradient-overlay-half-primary-v1">
<div class="container text-center space-2-top space-3-top--lg space-3-bottom">
<div class="w-md-80 w-lg-60 text-center mx-auto">
<!-- SVG Quote -->
<figure class="mx-auto mb-4" style="width: 50px;">
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 8 8" style="enable-background:new 0 0 8 8;" xml:space="preserve">
<path fill="#e3e6f0" d="M3,1.3C2,1.7,1.2,2.7,1.2,3.6c0,0.2,0,0.4,0.1,0.5c0.2-0.2,0.5-0.3,0.9-0.3c0.8,0,1.5,0.6,1.5,1.5c0,0.9-0.7,1.5-1.5,1.5
C1.4,6.9,1,6.6,0.7,6.1C0.4,5.6,0.3,4.9,0.3,4.5c0-1.6,0.8-2.9,2.5-3.7L3,1.3z M7.1,1.3c-1,0.4-1.8,1.4-1.8,2.3
c0,0.2,0,0.4,0.1,0.5c0.2-0.2,0.5-0.3,0.9-0.3c0.8,0,1.5,0.6,1.5,1.5c0,0.9-0.7,1.5-1.5,1.5c-0.7,0-1.1-0.3-1.4-0.8
C4.4,5.6,4.4,4.9,4.4,4.5c0-1.6,0.8-2.9,2.5-3.7L7.1,1.3z"/>
</svg>
</figure>
<h2 class="text-white text-center">Fini le papier, faites place à la vidéo !</h2>
</div>
</div>
</div>
</div>
<!-- Degradé avec Stats FIN-->
@@ -0,0 +1,93 @@
<!-- Plateforme DEBUT -->
<div class=" accueilFondBlanc" id="atouts">
<div class="container space-2 ">
<div class="card-deck d-block d-lg-flex">
<div class="card card-frame mb-5">
<!-- Listing -->
<a class="card-body p-4" href="#atouts">
<div class="media">
<img class="max-width-9 mb-2" src="{{ asset('v2/svg/components/multi-support.svg') }}" alt="Les candidats consultent et postulent aux offres demploi vidéo depuis leur smartphone, tablette ou ordinateur.">
<div class="media-body px-4">
<h4 class="h6 text-dark mb-1">Multi-support</h4>
<p class="mb-0">Smartphone, tablette ou ordinateur.</p>
</div>
</div>
</a>
<!-- End Listing -->
</div>
<div class="card card-frame mb-5">
<!-- Listing -->
<a class="card-body p-4" href="#atouts">
<div class="media">
<img class="max-width-9 mb-2" src="{{ asset('v2/svg/components/candidature-video-offre-emploi.svg') }}" alt="Les candidats disposent dun outil denregistrement vidéo pour postuler simplement à vos offres demploi en vidéo.">
<div class="media-body px-4">
<h4 class="h6 text-dark mb-1">Outil denregistrement vidéo</h4>
<p>Simple, rapide, gratuit et confidentiel.</p>
</div>
</div>
</a>
<!-- End Listing -->
</div>
<div class="card card-frame mb-5">
<!-- Listing -->
<a class="card-body p-4" href="#atouts">
<div class="media">
<img class="max-width-9 mb-2" src="{{ asset('v2/svg/components/candidature-video.svg') }}" alt="Recevez des vidéos de réponse aux offres demploi vidéo ou des candidatures spontanées en vidéo.">
<div class="media-body px-4">
<h4 class="h6 text-dark mb-1">Candidature vidéo</h4>
<p>Réponse à vos offres demploi vidéo ou candidature spontanée.</p>
</div>
</div>
</a>
<!-- End Listing -->
</div>
</div>
<div class="card-deck d-block d-lg-flex">
<div class="card card-frame mb-5">
<!-- Listing -->
<a class="card-body p-4" href="#atouts">
<div class="media">
<img class="max-width-9 mb-2" src="{{ asset('v2/svg/components/tutoriel-aide-video.svg') }}" alt="Les candidats disposent dun tutoriel pour créer un CV vidéo ou une vidéo de motivation.">
<div class="media-body px-4">
<h4 class="h6 text-dark mb-1">Tutoriel vidéo</h4>
<p>Pour la réalisation, les candidats disposent de vidéos de conseils.</p>
</div>
</div>
</a>
<!-- End Listing -->
</div>
<div class="card card-frame mb-5">
<!-- Listing -->
<a class="card-body p-4" href="#atouts">
<div class="media">
<img class="max-width-9 mb-2" src="{{ asset('v2/svg/components/avantages-candidature-video.svg') }}" alt="Découvrez la personnalité, les motivations et le projet professionnel des candidats en vidéo.">
<div class="media-body px-4">
<h4 class="h6 text-dark mb-1">Les plus de la vidéo de motivation</h4>
<p>Personnalité, motivation et projet professionnel.</p>
</div>
</div>
</a>
<!-- End Listing -->
</div>
<div class="card card-frame mb-5">
<!-- Listing -->
<a class="card-body p-4" href="#atouts">
<div class="media">
<img class="max-width-9 mb-2" src="{{ asset('v2/svg/components/gestion-des-candidatures.svg') }}" alt="Répondez aux candidats avec notre outil vidéo.">
<div class="media-body px-4">
<h4 class="h6 text-dark mb-1">Traitement des candidatures</h4>
<p>Réponses aux candidats depuis loutil : écrite ou en vidéo.</p>
</div>
</div>
</a>
<!-- End Listing -->
</div>
</div>
</div>
</div>
<!-- Plateforme FIN -->
@@ -0,0 +1,19 @@
<!-- 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">
<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,19 @@
<!-- Degradé avec Stats Section -->
<div class="gradient-overlay-half-primary-v1">
<div class="container text-center space-2-top space-3-top--lg space-2-bottom">
<div class=" text-center ">
<!-- SVG Quote -->
<h2 class="text-white text-center">Une question sur loffre demploi vidéo ?</h2>
</div>
</div>
<div class=" text-center space-3-bottom">
<a class="btn btn-sm btn-contact" href="https://blog.talentstube.com/contact" target="_blank" role="button" >
<i class="fa fa-user-circle mr-1"></i>
Contactez nous
</a>
</div>
</div>
</div>
<!-- Degradé avec Stats FIN-->
@@ -0,0 +1,200 @@
{% extends 'basev2.html.twig' %}
{% block title %}Candidature vidéo - Découvrez les talents autrement - Talents Tube{% endblock %}
{% block meta %}
<meta name="description" content="Découvrez le savoir-faire, le savoir-être et les motivations des candidats en vidéo. Gagnez du temps et optimisez votre processus de recrutement.">
<meta name="twitter:card" content="summary">
<meta name="twitter:site" content="@TalentsTube">
<meta name="twitter:title" content="Candidature vidéo - Découvrez les talents autrement - Talents Tube">
<meta name="twitter:description" content="Découvrez le savoir-faire, le savoir-être et les motivations des candidats en vidéo. Gagnez du temps et optimisez votre processus de recrutement.">
<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="Candidature vidéo - Découvrez les talents autrement - Talents Tube" />
<meta property="og:type" content="article" />
<meta property="og:image" content="{{ absolute_url(asset('img/mail/logo-talents-tube.png')) }}" />
<meta property="og:description" content="Découvrez le savoir-faire, le savoir-être et les motivations des candidats en vidéo. Gagnez du temps et optimisez votre processus de recrutement." />
<meta property="og:site_name" content="Talents Tube" />
<meta property="og:url" content="{{ url(app.request.attributes.get('_route'), app.request.attributes.get('_route_params')) }}" />
{% endblock %}
{% block content %}
<main id="content">
{% include 'defaultv2/accueil/blocPhoto.html.twig'
with {
'urlImage': 'v2/img/1920x800/candidature-offre-emploi-video.jpg',
'textParDefaut' : 'Recevez des candidatures',
'textVideo' : 'avec la vidéo'
} %}
{% include 'defaultv2/candidatures/blocCvClassique.html.twig' %}
{% include 'defaultv2/candidatures/blocFinCv.html.twig' %}
{% include 'defaultv2/candidatures/blocCandidatureAutrement.html.twig' %}
{% include 'defaultv2/candidatures/blocGrille.html.twig' %}
{% include 'defaultv2/candidatures/blocExempleMotivation.html.twig' %}
{% include 'defaultv2/candidatures/blocAccompagnement.html.twig' %}
{% include 'defaultv2/candidatures/blocPourquoiPasVous.html.twig' %}
</main>
<!-- ========== END MAIN CONTENT ========== -->
{% include 'defaultv2/accueil/footer.html.twig' %}
<!-- Begin Panel Login -->
{% include 'defaultv2/accueil/blocLogin.html.twig'
with {
'csrf_token': csrf_token,
'error' : error
} %}
<!-- End Panel Login -->
<!-- Go to Top -->
<a class="js-go-to u-go-to" href="javascript:;" data-position='{"bottom": 30, "right": 100 }' data-type="fixed"
data-offset-top="400" data-compensation="#header" data-show-effect="slideInUp" data-hide-effect="slideOutDown">
<i class="fa fa-arrow-up u-go-to__inner"></i>
</a>
<!-- End Go to Top -->
<!-- JS Global Compulsory -->
<script src="{{ asset('v2/vendor/jquery/dist/jquery.min.js') }}"></script>
<script src="{{ asset('v2/vendor/jquery-migrate/dist/jquery-migrate.min.js') }}"></script>
<script src="{{ asset('v2/vendor/popper.js/dist/umd/popper.min.js') }}"></script>
<script src="{{ asset('v2/vendor/bootstrap/bootstrap.min.js') }}"></script>
<!-- JS Implementing Plugins -->
<script src="{{ asset('v2/vendor/hs-megamenu/src/hs.megamenu.js') }}"></script>
<script src="{{ asset('v2/vendor/jquery-validation/dist/jquery.validate.min.js') }}"></script>
<script src="{{ asset('v2/vendor/malihu-custom-scrollbar-plugin/jquery.mCustomScrollbar.concat.min.js') }}"></script>
<script src="{{ asset('v2/vendor/custombox/dist/custombox.min.js') }}"></script>
<script src="{{ asset('v2/vendor/custombox/dist/custombox.legacy.min.js') }}"></script>
<script src="{{ asset('v2/vendor/typed.js/lib/typed.min.js') }}"></script>
<script src="{{ asset('v2/vendor/slick-carousel/slick/slick.js') }}"></script>
<script src="{{ asset('v2/vendor/cubeportfolio/js/jquery.cubeportfolio.min.js') }}"></script>
<script src="{{ asset('v2/vendor/fancybox/jquery.fancybox.min.js') }}"></script>
<!-- JS Space -->
<script src="{{ asset('v2/js/hs.core.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.header.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.unfold.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.validation.js') }}"></script>
<script src="{{ asset('v2/js/helpers/hs.focus-state.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.malihu-scrollbar.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.fancybox.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.modal-window.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.show-animation.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.slick-carousel.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.cubeportfolio.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.g-map.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.go-to.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.video-player.js') }}"></script>
<!-- JS Plugins Init. -->
<script>
// initialization of google map
{# function initMap() {
$.HSCore.components.HSGMap.init('.js-g-map');
} #}
$(window).on('load', function () {
// initialization of HSMegaMenu component
$('.js-mega-menu').HSMegaMenu({
event: 'hover',
pageContainer: $('.container'),
breakpoint: 767,
hideTimeOut: 0
});
});
$(document).on('ready', function () {
// initialization of header
$.HSCore.components.HSHeader.init($('#header'));
// initialization of fancybox
$.HSCore.components.HSFancyBox.init('.js-fancybox');
// initialization of unfold component
$.HSCore.components.HSUnfold.init($('[data-unfold-target]'), {
afterOpen: function () {
if (!$('body').hasClass('IE11')) {
$(this).find('input[type="search"]').focus();
}
}
});
// initialization of form validation
$.HSCore.components.HSValidation.init('.js-validate', {
rules: {
confirmPassword: {
equalTo: '#password'
}
}
});
// initialization of forms
$.HSCore.helpers.HSFocusState.init();
// initialization of malihu scrollbar
$.HSCore.components.HSMalihuScrollBar.init($('.js-scrollbar'));
// initialization of autonomous popups
$.HSCore.components.HSModalWindow.init('[data-modal-target]', '.js-signup-modal', {
autonomous: true
});
// initialization of show animations
$.HSCore.components.HSShowAnimation.init('.js-animation-link');
// initialization of slick carousel
$.HSCore.components.HSSlickCarousel.init('.js-slick-carousel');
// initialization of video player
$.HSCore.components.HSVideoPlayer.init('.js-inline-video-player');
$('.u-text-animation.u-text-animation').html("");
// initialization of text animation (typing)
var typed = new Typed(".u-text-animation.u-text-animation--typing", {
strings: ["Recevez des candidatures", "Découvrez le potentiel des candidats", "Recevez des candidatures"],
typeSpeed: 60,
loop: true,
backSpeed: 25,
backDelay: 3000
});
// initialization of cubeportfolio
$.HSCore.components.HSCubeportfolio.init('.cbp');
// initialization of go to
$.HSCore.components.HSGoTo.init('.js-go-to');
});
$(document).ready(function () {
$(window).scroll(function () { // check if scroll event happened
if ($(document).scrollTop() > 50) { // check if user scrolled more than 50 from top of the browser window
$("#logoAndNav").css("background-color","#000"); // if yes, then change the color of class "navbar-fixed-top" to white (#f8f8f8)
$("#sidebarNavToggler").css("color","#fff");
} else {
$("#logoAndNav").css("background-color", "transparent"); // if not, change it back to transparent
$("#sidebarNavToggler").css("color", "#000");
}
});
});
</script>
{% endblock %}
{% block javascripts %}
{{ parent() }}
<script src="https://player.vimeo.com/api/player.js"></script>
{% endblock %}
@@ -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" 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') }}" target="_blank">Mentions légales</a>
</li>
<li>
<a class="white-text" href="{{ path('service_cgu') }}" target="_blank">Conditions générales d'utilisation</a>
</li>
<li>
<a class="white-text" href="{{ path('page_Confidentialite') }}" target="_blank">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:&#098;&#111;&#110;&#106;&#111;&#117;&#114;&#064;&#116;&#097;&#108;&#101;&#110;&#116;&#115;&#116;&#117;&#098;&#101;&#046;&#099;&#111;&#109;">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">&copy;&nbsp;2020 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 %}
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,732 @@
{% extends 'basev2.html.twig' %}
{% block title %}Talents tube : Politique de confidentialité et protection des données{% endblock %}
{% block menu %}
{% endblock %}
{% block content %}
<main id="content">
<!-- Privacy Section -->
<div class="bg-gray-100">
<div class="container space-2 space-4-top--lg space-3-bottom--lg">
<div class="w-lg-80 bg-white border rounded mx-lg-auto p-5 p-sm-7">
<!-- Hero -->
<div class="mb-9">
<h1>Politique de confidentialité et protection des données</h1>
</div>
<!-- End Hero -->
<!-- Info Content -->
<div class="mb-7">
<p>Nous vous invitons à lire avec attention le présent document. Pour toute question concernant ce document
et, dune manière générale, sur la collecte et le traitement de vos informations personnelles par la société
talentstube.com, nhésitez pas à nous contacter via le formulaire présent sur la page contact :
<a href="https://blog.talentstube.com/contact" target="_blank">https://blog.talentstube.com/contact</a>
</p>
<div class="mb-3">
<h2 class="h4">Données personnelles</h2>
</div>
<p>Dans le cadre de son activité, talents tube est amené à collecter, traiter et stocker vos données
personnelles.
</p>
<p>Conformément aux dispositions légales, et en particulier à la Loi n°78-17 du 6 janvier 1978, et au
Règlement (UE) 2016/679 du Parlement européen et du Conseil du 27 avril 2016 applicable à compter du 25 mai
2018 (dit RGPD), talents tube tient à garantir la confidentialité et la sécurité de vos données à caractère
personnel.
</p>
<p>Cest pourquoi, nous nous engageons à :</p>
<p> Utiliser et traiter les données qui vous concerne en toute transparence, loyauté et légalité,
Limiter le traitement des données à caractère personnel, leur conservation, leur collecte ainsi que leur
stockage,
Garantir l'exactitude de vos données et vous permettre de demander leur suppression ou leur rectification,
Assurer la sécurité, l'intégrité et la confidentialité de vos données.</p>
<div class="mb-3">
<h2 class="h4">Utilisation des données collectées
</h2>
</div>
<p>L'utilisation des données est déterminée, légitime et explicite :</p>
<p>Les données collectées pour une finalité précise ne sont pas utilisées à dautres fins. Nos finalités sont
en adéquation avec les normes de conformité de la Cnil (Commission nationale de linformatique et des
libertés).</p>
<p>À titre dexemple, les données collectées sur le candidat lors de inscription sur le site talentstube.com
sont les données nécessaires au bon déroulement du processus de recrutement. Avec lobjectif :</p>
<p>« De permettre à chaque candidat de trouver/ d’être orienté vers les offres les plus susceptibles de
correspondre à ses attentes, son profil ; de postuler à ces offres ; d’être contacté par des recruteurs
cherchant à pourvoir des emplois ; et in fine de trouver un emploi. »</p>
<p>La finalité définie permet de déterminer la pertinence des données que nous allons collecter. Seules les
données adéquates et strictement nécessaires pour atteindre la finalité seront collectées et traitées. Ainsi
nous ne collectons que les données permettant :</p>
<p>au candidat de valoriser sa candidature</p>
<p>au candidat dexprimer ses préférences</p>
<p>au candidat de décrire son parcours</p>
<p>au recruteur d’évaluer le candidat</p>
<p>au recruteur de trouver les candidats correspondant à ses critères de recrutement
d’éviter les usurpations didentité</p>
<div class="mb-3">
<h2 class="h4">Quelles données collectons-nous ?
</h2>
</div>
<p>Pour le candidat :</p>
<p>Nom/Prénom</p>
<p>Mail</p>
<p>Téléphone</p>
<p>Réseaux sociaux</p>
<p>Éventuellement dautres informations renseignées dans les champs libres</p>
<div class="mb-3">
<h2 class="h4">Accès aux données
</h2>
</div>
<p>Nous nous engageons à ne pas divulguer à des tiers les informations et Données Personnelles que vous nous
communiquez. Ces informations et Données Personnelles sont exclusivement utilisées par nos services internes
et ne seront en aucun cas cédées, vendues à des tiers sans votre accord préalable exprès.</p>
<div class="mb-3">
<h2 class="h4">Durée de conservation des données
</h2>
</div>
<p>La durée de conservation des données à caractère personnel est variable selon la finalité de la collecte.
Ainsi, les données sont conservées pendant un temps défini et nécessaire à la réalisation de leur finalité.
Aussi, selon le type de Données Personnelles, la durée de conservation peut varier entre quelques jours et
plusieurs années.</p>
<div class="mb-3">
<h2 class="h4">Sécurité
</h2>
</div>
<p>talents tube sengage à assurer la protection des données personnelles par la mise en place de mesures
techniques et organisationnelles appropriées.</p>
<div class="mb-3">
<h2 class="h4">Vos droits
</h2>
</div>
<p>Vous disposez d'un droit d'accès, de rectification, de suppression, dopposition et de portabilité des
données. Nous disposons dun délai de 30 jours à compter de votre demande pour apporter une réponse.</p>
<p>Vous pouvez demander une limitation du traitement des données collectées. Lexercice de ces droits peut
exercer ce droit auprès de TALENTS TUBE en adressant une requête soit par voie postale à l'adresse suivante
: 3 Rue Louis de Broglie, Village By CA 56000 Vannes, soit par courrier électronique via le formulaire
présent sur la page Contact <a href="https://blog.talentstube.com/contact" target="_blank"> https://blog.talentstube.com/contact</a>. Cette requête devra être accompagnée
d'une pièce d'identité revêtant la signature de l'Utilisateur et devra préciser l'adresse et le moyen par
lesquelles une réponse pourra être envoyée.</p>.
<div class="mb-3">
<h2 class="h4">Cookies
</h2>
</div>
<p>Le site www.talentstube.com utilise des cookies. Il sagit de petits fichiers téléchargés sur votre
ordinateur qui permettent au site de fonctionner de manière fluide et sécurisée (cookies de session et de
sécurité) et qui enregistrent des informations sur la façon dont nos visiteurs consultent notre site
(cookies de pistage). Cela nous permet par exemple de savoir quelles sont les pages les plus consultées par
nos visiteurs et combien de temps ces derniers passent sur notre site.</p>.
<p>En paramétrant votre navigateur, vous avez la possibilité de désactiver les cookies ou d’être alerté
lorsque des cookies sont sur le point d’être téléchargés sur votre ordinateur. Cependant, la désactivation
de tous les cookies pourrait dans certains cas vous empêcher dutiliser correctement toutes les
fonctionnalités de ce site.</p>.
<p>Vous avez la possibilité de désactiver les cookies en vous rendant dans les options de votre navigateur.
Cliquez sur le lien correspondant à votre navigateur pour découvrir comment faire :</p>.
<p>Google Chrome<br />
Mozilla Firefox<br />
Safari<br />
Opera<br />
Internet Explorer</p>
<p>Pour plus dinformations sur les cookies et la façon de les gérer, nous vous recommandons de consulter le
site www.youronlinechoices.com, développé par lorganisme EDAA (European Interactive Digital Advertising
Alliance).</p>.
<div class="mb-3">
<h2 class="h4">Google Analytics
</h2>
</div>
<p>Ce site utilise le service danalyse web Google Analytics. Cela nous permet danalyser la façon dont les
internautes utilisent notre site afin de leur proposer une meilleure expérience de navigation. Pour ce
faire, Google Analytics utilise des cookies de pistage permettant de suivre le parcours dun internaute sur
le site. Ces cookies sont conservés pour une durée de 26 mois.</p>.
<p>Nous avons activé lanonymisation des adresses IP pour ce site. Cela signifie que les adresses IP
collectées par Google Analytics sont systématiquement raccourcies pour rendre impossible lidentification
des internautes. Dans certains cas exceptionnels, ladresse IP complète peut être transférée sur un serveur
de Google localisé aux Etats-Unis, et est ensuite raccourcie immédiatement sur celui-ci. Google utilise les
informations récoltées via les cookies pour le compte de talents tube, dans le but danalyser les habitudes
de navigation des internautes et de fournir des rapports sur lactivité du site.</p>.
<p>Google met à disposition des utilisateurs un plug-in pour leur navigateur leur permettant dempêcher la
récolte de données relatives à leur navigation sur les sites web utilisant Google Analytics.</p>.
<p>Ce plug-in est disponible à cette adresse : tools.google.com/dlpage/gaoptout</p>.
<div class="mb-3">
<h2 class="h4">Google Remarketing
</h2>
</div>
<p>Ce site peut être amené à utiliser le service Google Remarketing, qui permet de proposer aux internautes
des annonces publicitaires ciblées en fonction des sites consultés dans le réseau dannonces de Google. Cela
nous permet notamment dutiliser vos données de navigation sur ce site afin de vous proposer des annonces
ciblées lors que vous visitez dautres sites du réseau Google. Vous avez la possibilité de désactiver cette
fonctionnalité via le lien suivant : www.google.com/settings/ads</p>.
<p>Si vous possédez un compte Google et que vous êtes connecté à celui-ci en visitant notre site, et si vous
avez autorisé Google à lier votre historique de navigation à votre compte Google et dutiliser cet
historique pour personnaliser les annonces, Google liera les données de navigation recueillies grâce à
Google Analytics à votre compte Google. Si vous utilisez votre compte Google sur plusieurs appareils, nos
annonces pourront safficher sur ces autres appareils. Bien que Google collecte sur ce site des données
liées à lutilisation de comptes Google, talents tube ne peut en aucun cas en déduire lidentité des
utilisateurs de comptes Google consultant le site.</p>.
<p>Pour plus dinformations concernant la façon dont Google collecte et utilise ces données, nous vous
invitons à consulter les règles de confidentialité de Google : www.google.com/policies/privacy</p>.
<div class="mb-3">
<h2 class="h4">Autres cookies
</h2>
</div>
<h3 class="h5">PHPSESSID
<p>Conserve la configuration des paramètres des utilisateurs à travers les demandes de page.</p>.
</h3>
<p>Conserve la configuration des paramètres des utilisateurs à travers les demandes de page.</p>.
<h4 class="h6">Fournisseur
</h4>
<p>talents tube.com</p>
<h4 class="h6">Expiration
</h4>
<p>Session</p>
<h3 class="h5">__cfduid
</h3>
<p>Utilisé par le réseau de contenu, Cloudlare, pour identifier le trafic web fiable.</p>
<h4 class="h6">Fournisseur
</h4>
<p>crisp.chat</p>
<h4 class="h6">Expiration
</h4>
<p>1 an</p>
<h3 class="h5">lang
</h3>
<p>Rappelle la version linguistique d'un site sélectionnée par l'utilisateur.</p>
<h4 class="h6">Fournisseur
</h4>
<p>ads.linkedin.com</p>
<h4 class="h6">Expiration
</h4>
<p>Session</p>
</h4>
<p>1 an</p>
<h3 class="h5">_ga
</h3>
<p>Enregistre un identifiant unique utilisé pour générer des données statistiques sur la façon dont le
visiteur utilise le site.</p>
<h4 class="h6">Fournisseur
</h4>
<p>talents tube.com
</p>
<h4 class="h6">Expiration
</h4>
<p>Session</p>
<h3 class="h5">_gat
</h3>
<p>Utilisé par Google Analytics pour diminuer radicalement le taux de requêtes.
</p>
<h4 class="h6">Fournisseur
</h4>
<p>talents tube.com
</p>
<h4 class="h6">Expiration
</h4>
<p>Session</p>
<h3 class="h5">_gid
</h3>
<p>Enregistre un identifiant utilisé pour générer des données statistiques sur le façon dont le visiteur
utilise le site.
</p>
<h4 class="h6">Fournisseur
</h4>
<p>talents tube.com
</p>
<h4 class="h6">Expiration
</h4>
<p>Session</p>
<h3 class="h5">collect
</h3>
<p>Collecte des données pour mesurer de façon efficace les annonces vues ou cliquées. Il permet d'afficher des
annonces ciblées.
</p>
<h4 class="h6">Fournisseur
</h4>
<p>Google.com
</p>
<h4 class="h6">Expiration
</h4>
<p>Session</p>
<h3 class="h5">vuid
</h3>
<p>Recueille des données sur les visites de l'utilisateur sur le site web, telles que les pages qui ont été
consultées.
</p>
<h4 class="h6">Fournisseur
</h4>
<p>vimeo.com
</p>
<h4 class="h6">Expiration
</h4>
<p>2 ans</p>
<h3 class="h5">BizoID
</h3>
<p>Statistiques publicitaires LinkedIn
</p>
<h4 class="h6">Fournisseur
</h4>
<p>ads.linkedin.com
</p>
<h4 class="h6">Expiration
</h4>
<p> 29 jours</p>
<h3 class="h5">bscookie
</h3>
<p>Utilisé par le service de réseau social, LinkedIn , pour le suivi de l'utilisation des services intégrés.
</p>
<h4 class="h6">Fournisseur
</h4>
<p>ads.linkedin.com
</p>
<h4 class="h6">Expiration
</h4>
<p> 2 ans</p>
<h3 class="h5">_hjIncludedInSample
</h3>
<p>Utilisé par le service de réseau social, LinkedIn , pour le suivi de l'utilisation des services intégrés.
</p>
<h4 class="h6">Fournisseur
</h4>
<p>ads.linkedin.com
</p>
<h4 class="h6">Expiration
</h4>
<p> 2 ans</p>
<h3 class="h5">lidc
</h3>
<p>Utilisé par le service de réseau social, LinkedIn , pour le suivi de l'utilisation des services intégrés.
</p>
<h4 class="h6">Fournisseur
</h4>
<p>ads.linkedin.com
</p>
<h4 class="h6">Expiration
</h4>
<p> Session</p>
<h3 class="h5">r/collect
</h3>
<p>Ce cookie est utilisé pour envoyer des données à Google Analytics sur l'appareil et le comportement du
visiteur. Il piste le visiteur à travers différents appareils et canaux marketing.
</p>
<h4 class="h6">Fournisseur
</h4>
<p>doubleclick.net
</p>
<h4 class="h6">Expiration
</h4>
<p> Session</p>
<h3 class="h5">UserMatchHistory
</h3>
<p>Ce cookie est utilisé pour envoyer des statistiques publicitaires LinkedIn.
</p>
<h4 class="h6">Fournisseur
</h4>
<p>ads.linkedin.com
</p>
<h4 class="h6">Expiration
</h4>
<p> 29 jours
</p>
<h3 class="h5">cookie.js
</h3>
<p>Non déterminé
</p>
<h4 class="h6">Fournisseur
</h4>
<p>talentstube.com
</p>
<h4 class="h6">Expiration
</h4>
<p> Sessions
</p>
</div>
<!-- End Info Content -->
</div>
</div>
</div>
<!-- End Privacy Section -->
</main>
<!-- ========== END MAIN CONTENT ========== -->
{% include 'defaultv2/accueil/footer.html.twig' %}
<!-- Begin Panel Login -->
{% include 'defaultv2/accueil/blocLogin.html.twig'
with {
'csrf_token': csrf_token,
'error' : error
} %}
<!-- End Panel Login -->
<!-- Go to Top -->
<a class="js-go-to u-go-to" href="javascript:;" data-position='{"bottom": 30, "right": 100 }' data-type="fixed"
data-offset-top="400" data-compensation="#header" data-show-effect="slideInUp" data-hide-effect="slideOutDown">
<i class="fa fa-arrow-up u-go-to__inner"></i>
</a>
<!-- End Go to Top -->
<!-- JS Global Compulsory -->
<script src="{{ asset('v2/vendor/jquery/dist/jquery.min.js') }}"></script>
<script src="{{ asset('v2/vendor/jquery-migrate/dist/jquery-migrate.min.js') }}"></script>
<script src="{{ asset('v2/vendor/popper.js/dist/umd/popper.min.js') }}"></script>
<script src="{{ asset('v2/vendor/bootstrap/bootstrap.min.js') }}"></script>
<!-- JS Implementing Plugins -->
<script src="{{ asset('v2/vendor/hs-megamenu/src/hs.megamenu.js') }}"></script>
<script src="{{ asset('v2/vendor/jquery-validation/dist/jquery.validate.min.js') }}"></script>
<script src="{{ asset('v2/vendor/malihu-custom-scrollbar-plugin/jquery.mCustomScrollbar.concat.min.js') }}"></script>
<script src="{{ asset('v2/vendor/custombox/dist/custombox.min.js') }}"></script>
<script src="{{ asset('v2/vendor/custombox/dist/custombox.legacy.min.js') }}"></script>
<script src="{{ asset('v2/vendor/typed.js/lib/typed.min.js') }}"></script>
<script src="{{ asset('v2/vendor/slick-carousel/slick/slick.js') }}"></script>
<script src="{{ asset('v2/vendor/cubeportfolio/js/jquery.cubeportfolio.min.js') }}"></script>
<script src="{{ asset('v2/vendor/fancybox/jquery.fancybox.min.js') }}"></script>
<!-- JS Space -->
<script src="{{ asset('v2/js/hs.core.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.header.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.unfold.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.validation.js') }}"></script>
<script src="{{ asset('v2/js/helpers/hs.focus-state.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.malihu-scrollbar.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.fancybox.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.modal-window.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.show-animation.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.slick-carousel.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.cubeportfolio.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.g-map.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.go-to.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.video-player.js') }}"></script>
<!-- JS Plugins Init. -->
<script>
// initialization of google map
{
#
function initMap() {
$.HSCore.components.HSGMap.init('.js-g-map');
}#
}
$(window).on('load', function () {
// initialization of HSMegaMenu component
$('.js-mega-menu').HSMegaMenu({
event: 'hover',
pageContainer: $('.container'),
breakpoint: 767,
hideTimeOut: 0
});
});
$(document).on('ready', function () {
// initialization of header
$.HSCore.components.HSHeader.init($('#header'));
// initialization of fancybox
$.HSCore.components.HSFancyBox.init('.js-fancybox');
// initialization of unfold component
$.HSCore.components.HSUnfold.init($('[data-unfold-target]'), {
afterOpen: function () {
if (!$('body').hasClass('IE11')) {
$(this).find('input[type="search"]').focus();
}
}
});
// initialization of form validation
$.HSCore.components.HSValidation.init('.js-validate', {
rules: {
confirmPassword: {
equalTo: '#password'
}
}
});
// initialization of forms
$.HSCore.helpers.HSFocusState.init();
// initialization of malihu scrollbar
$.HSCore.components.HSMalihuScrollBar.init($('.js-scrollbar'));
// initialization of autonomous popups
$.HSCore.components.HSModalWindow.init('[data-modal-target]', '.js-signup-modal', {
autonomous: true
});
// initialization of show animations
$.HSCore.components.HSShowAnimation.init('.js-animation-link');
// initialization of slick carousel
$.HSCore.components.HSSlickCarousel.init('.js-slick-carousel');
// initialization of video player
$.HSCore.components.HSVideoPlayer.init('.js-inline-video-player');
// initialization of text animation (typing)
$('.u-text-animation.u-text-animation').html("");
var typed = new Typed(".u-text-animation.u-text-animation--typing", {
strings: [" Attirez des talents "],
typeSpeed: 60,
loop: true,
backSpeed: 25,
backDelay: 3000
});
// initialization of cubeportfolio
$.HSCore.components.HSCubeportfolio.init('.cbp');
// initialization of go to
$.HSCore.components.HSGoTo.init('.js-go-to');
});
$(document).ready(function () {
$(window).scroll(function () { // check if scroll event happened
if ($(document).scrollTop() > 50) { // check if user scrolled more than 50 from top of the browser window
$("#logoAndNav").css("background-color",
"#000"); // if yes, then change the color of class "navbar-fixed-top" to white (#f8f8f8)
$("#sidebarNavToggler").css("color", "#fff");
} else {
$("#logoAndNav").css("background-color", "transparent"); // if not, change it back to transparent
$("#sidebarNavToggler").css("color", "#000");
}
});
});
</script>
{% endblock %}
{% block javascripts %}
{{ parent() }}
{% endblock %}
@@ -0,0 +1,170 @@
{% extends 'basev2.html.twig' %}
{% block title %}Mentions légales - Talents Tube{% endblock %}
{% block menu %}
{% endblock %}
{% block content %}
<main id="content">
<!-- Privacy Section -->
<div class="bg-gray-100">
<div class="container space-2 space-4-top--lg space-3-bottom--lg">
<div class="w-lg-80 bg-white border rounded mx-lg-auto p-5 p-sm-7">
<!-- Hero -->
<div class="mb-9">
<h1>Mentions Légales</h1>
</div>
<!-- End Hero -->
<!-- Info Content -->
<div class="mb-7">
<div class="mb-3">
<h2 class="h4">Identité de l'éditeur du site</h2>
</div>
<p>Le site www.talentstube.com est édité par :</p>
<p>La société TALENTS TUBE, Société par Actions Simplifiée au capital de 305 000 euros,
Immatriculée au Registre du Commerce et des Sociétés de VANNES sous le numéro 824 366 926
Dont le siège social est situé CP60 PIBS 56038 VANNES Cedex, France
Numéro de TVA Intracommunautaire : FR 42 824366926</p>
<p>Représentée par Monsieur Franck DELALANDE, son Président.
Directeur de la publication : Franck DELALANDE.</p>
</div>
<!-- End Info Content -->
<!-- Info Content -->
<div class="mb-7">
<div class="mb-3">
<h3 class="h4">Contact</h3>
</div>
<p>Talents Tube est joignable :</p>
<p>- Par internet : via le **formulaire de contact** </p>
<p>- Par téléphone au 02 30 05 06 31, du lundi au vendredi de 9 h à 18 h;</p>
<p>- Par voie postale :</p>
<p>Talents Tube</p>
<p>3 Rue Louis de Broglie</p>
<p>Village By CA</p>
<p>56000 VANNES</p>
</div>
<!-- End Info Content -->
<!-- Info Content -->
<div class="mb-7">
<div class="mb-3">
<h3 class="h4">Hébergement</h3>
</div>
<p>e-declic</p>
<p>27 Rue du Danemark - Porte océane 2</p>
<p>Espace Terre et mer</p>
<p>56400 Auray</p>
<p>Tél. : +33.(0)297 290 060</p>
</div>
<!-- End Info Content -->
</div>
</div>
</div>
<!-- End Privacy Section -->
</main>
<!-- ========== END MAIN CONTENT ========== -->
{% include 'defaultv2/accueil/footer.html.twig' %}
<!-- Begin Panel Login -->
{% include 'defaultv2/accueil/blocLogin.html.twig'
with {
'csrf_token': csrf_token,
'error' : error
} %}
<!-- End Panel Login -->
<!-- Go to Top -->
<a class="js-go-to u-go-to" href="javascript:;" data-position='{"bottom": 30, "right": 100 }' data-type="fixed"
data-offset-top="400" data-compensation="#header" data-show-effect="slideInUp" data-hide-effect="slideOutDown">
<i class="fa fa-arrow-up u-go-to__inner"></i>
</a>
<!-- End Go to Top -->
<!-- JS Global Compulsory -->
<script src="{{ asset('v2/vendor/jquery/dist/jquery.min.js') }}"></script>
<script src="{{ asset('v2/vendor/jquery-migrate/dist/jquery-migrate.min.js') }}"></script>
<script src="{{ asset('v2/vendor/popper.js/dist/umd/popper.min.js') }}"></script>
<script src="{{ asset('v2/vendor/bootstrap/bootstrap.min.js') }}"></script>
<!-- JS Implementing Plugins -->
<script src="{{ asset('v2/vendor/hs-megamenu/src/hs.megamenu.js') }}"></script>
<script src="{{ asset('v2/vendor/jquery-validation/dist/jquery.validate.min.js') }}"></script>
<script src="{{ asset('v2/vendor/malihu-custom-scrollbar-plugin/jquery.mCustomScrollbar.concat.min.js') }}"></script>
<script src="{{ asset('v2/vendor/custombox/dist/custombox.min.js') }}"></script>
<script src="{{ asset('v2/vendor/custombox/dist/custombox.legacy.min.js') }}"></script>
<script src="{{ asset('v2/vendor/typed.js/lib/typed.min.js') }}"></script>
<script src="{{ asset('v2/vendor/slick-carousel/slick/slick.js') }}"></script>
<script src="{{ asset('v2/vendor/cubeportfolio/js/jquery.cubeportfolio.min.js') }}"></script>
<script src="{{ asset('v2/vendor/fancybox/jquery.fancybox.min.js') }}"></script>
<!-- JS Space -->
<script src="{{ asset('v2/js/hs.core.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.header.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.unfold.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.validation.js') }}"></script>
<script src="{{ asset('v2/js/helpers/hs.focus-state.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.malihu-scrollbar.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.fancybox.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.modal-window.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.show-animation.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.slick-carousel.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.cubeportfolio.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.g-map.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.go-to.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.video-player.js') }}"></script>
<!-- JS Plugins Init. -->
<script>
// initialization of google map
{# function initMap() {
$.HSCore.components.HSGMap.init('.js-g-map');
} #}
$(window).on('load', function () {
// initialization of HSMegaMenu component
$('.js-mega-menu').HSMegaMenu({
event: 'hover',
pageContainer: $('.container'),
breakpoint: 767,
hideTimeOut: 0
});
});
$(document).ready(function () {
$(window).scroll(function () { // check if scroll event happened
if ($(document).scrollTop() > 50) { // check if user scrolled more than 50 from top of the browser window
$("#logoAndNav").css("background-color","#000"); // if yes, then change the color of class "navbar-fixed-top" to white (#f8f8f8)
$("#sidebarNavToggler").css("color","#fff");
} else {
$("#logoAndNav").css("background-color", "transparent"); // if not, change it back to transparent
$("#sidebarNavToggler").css("color", "#000");
}
});
});
</script>
{% endblock %}
{% block javascripts %}
{{ parent() }}
{% endblock %}
@@ -0,0 +1,128 @@
<!-- Skippy -->
<a id="skippy" class="sr-only sr-only-focusable u-skippy" href="#content">
<div class="container">
<span class="u-skiplink-text"></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 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 u-header__nav-item"
data-event="hover"
data-animation-in="fadeInUp"
data-animation-out="fadeOut">
<a id="homeMegaMenu" class="nav-link u-header__nav-link" href="{{ path('offresVideo') }}">
L'Offre d'emploi
</a>
</li>
<!-- End Home -->
<!-- Pages -->
<li class="nav-item u-header__nav-item">
<a id="PagesMegaMenu" class="nav-link u-header__nav-link" href="{{ path('employeurVideo') }}"
aria-haspopup="true"
aria-expanded="false">
La Marque employeur
</a>
</li>
<!-- End Pages -->
<!-- Works -->
<li class="nav-item 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="{{ path('candidaturesVideo') }}">
La Candidature
</a>
</li>
<!-- End Works -->
<!-- Blog -->
<li class="nav-item 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="https://blog.talentstube.com/" target="_blank">
Blog
</a>
</li>
<!-- End Blog -->
<!-- Button -->
<li class="nav-item u-header__nav-item-btn">
<a class="btn btn-sm btn-contact" href="https://blog.talentstube.com/contact" target="_blank" role="button">
{# <i class="fa fa-user-circle mr-1"></i> #}
Contactez-nous
</a>
</li>
<!-- 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">
</ul>
</nav>
<!-- End Nav -->
</div>
</div>
</header>
<!-- ========== END HEADER ========== -->

Some files were not shown because too many files have changed in this diff Show More