Compare commits
227 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 3adfbb57e1 | |||
| 195ec8c4bd | |||
| 4ba368ea27 | |||
| 1491178bd8 | |||
| ce8301bfc6 | |||
| 264e97dbaf | |||
| a26841091c | |||
| 8c797c884a | |||
| 96c4c726b4 | |||
| a20990ec04 | |||
| 684ecd94b1 | |||
| b6b473d54f | |||
| 1616739b78 | |||
| af032886ef | |||
| 29445cd4a3 | |||
| 925410dfe8 | |||
| 2cec912442 | |||
| 2bcf221d2a | |||
| 322c770d62 | |||
| b473869726 | |||
| 53bcf6e02a | |||
| 2ccb5cf08a | |||
| f84d8ed73b | |||
| 22db9a6da4 | |||
| 1b3a0cb606 | |||
| 634fb412fe | |||
| 0a0db67654 | |||
| 7cc701eb1e | |||
| bd0cda922e | |||
| cdfb763466 | |||
| 57412e353b | |||
| 87b337a126 | |||
| 086d456746 | |||
| a2466d344f | |||
| 9c5dc1466b | |||
| d28a6cfc1b | |||
| e6409a6124 | |||
| 42ef149f41 | |||
| 5112da2f40 | |||
| dc5c50dd49 | |||
| 9f076c4423 | |||
| 987c78f5be | |||
| 078a62e588 | |||
| 73e709c6c9 | |||
| ec71b87747 | |||
| a5636bf2b5 | |||
| c0e25f5d10 | |||
| fc860c32ad | |||
| 69522b4836 | |||
| 1aea17557e | |||
| ab74dae813 | |||
| c46f0c29a3 | |||
| 5b1d296817 | |||
| 564ac42b40 | |||
| 3dc5d247f4 | |||
| c0e94bcf7a | |||
| d9bb152863 | |||
| 1e52338d37 | |||
| b701d07741 | |||
| bcd93dee2c | |||
| 7a54bbe673 | |||
| 47043ac6bc | |||
| f094ee739e | |||
| bad5ad0d1c | |||
| 8701a4beb9 | |||
| 9444700ab5 | |||
| 050ccb0ae1 | |||
| d40dc7add2 | |||
| 8fc9d69d80 | |||
| e8eb1c9692 | |||
| d4b2b78553 | |||
| c0c1735e9d | |||
| b6d6a3f177 | |||
| 4f185984f9 | |||
| 26e781c230 | |||
| b68e1c6050 | |||
| ee98a19150 | |||
| 0e512cb8a2 | |||
| 24a5ac8cbf | |||
| 6920e8faa0 | |||
| 5aa8079b0a | |||
| cc83f88458 | |||
| 4edfdfd187 | |||
| 605834be03 | |||
| dca7bf9efe | |||
| 99434105e3 | |||
| d018b73fc8 | |||
| 10975021c3 | |||
| 2af32f2835 | |||
| 2c41f2aa02 | |||
| ef50bfddff | |||
| 029d86649a | |||
| 24becf66c3 | |||
| 43d0852075 | |||
| 81c548bd00 | |||
| c7f4eddad5 | |||
| 39e02581ae | |||
| a5aa1364ab | |||
| e48027f2b2 | |||
| aad0203d0b | |||
| a49cf8d9bf | |||
| c85313ade6 | |||
| 992ba3a103 | |||
| 992f61867e | |||
| 72b119ac0c | |||
| 831f7696ac | |||
| 5a44f7d6ec | |||
| ddbfcc8a69 | |||
| 61925ebb38 | |||
| 0bb341b7ce | |||
| 74f2e45edf | |||
| 5d660ebc8b | |||
| a31e49278b | |||
| b13d0d939f | |||
| e470c8dce1 | |||
| 8eeaf240de | |||
| 18144e395c | |||
| f53815aa1a | |||
| bab23a58ac | |||
| 9346635ca7 | |||
| 849b5a999a | |||
| 409be2f0b0 | |||
| d201bd44b9 | |||
| cbe1b1f0d6 | |||
| a56d568319 | |||
| c8f9e4d8f4 | |||
| 21b8954c13 | |||
| ee9eb19ca9 | |||
| 3060f93e59 | |||
| dc29527064 | |||
| f369802b96 | |||
| 07941367cc | |||
| effb92a9d8 | |||
| 1952e27030 | |||
| 6db371f2af | |||
| 37ef9a4fdd | |||
| e11f36d170 | |||
| 968b4d0497 | |||
| b6ba7e62e3 | |||
| 67734e40b3 | |||
| 4d96ede4ea | |||
| 55ff3ddcb8 | |||
| 47fdf752b1 | |||
| f5008ea3de | |||
| fc3d9d71a7 | |||
| a3212a5b17 | |||
| 6760343163 | |||
| 720e112d3c | |||
| 383b129317 | |||
| 886a931221 | |||
| 8cfeb2906b | |||
| f2d8e569a2 | |||
| d03c1615b1 | |||
| 36fdf82d18 | |||
| 3bdc692f5d | |||
| 1e81d2835d | |||
| c76645669d | |||
| 5f29e076e6 | |||
| c48ec26bc4 | |||
| 18d07463ab | |||
| 9f58cf7f58 | |||
| 40688feb88 | |||
| 2275c6aadd | |||
| 6e4f718fe0 | |||
| b19eb227b5 | |||
| f35dcbbeba | |||
| 6860dee286 | |||
| a93d58e119 | |||
| 6babd6976c | |||
| 468f5baed6 | |||
| 6a1c231fcb | |||
| 6b25e5b5e7 | |||
| bb231fbeb3 | |||
| cae04bc8d7 | |||
| 4fa83f1c51 | |||
| 15c9e8811d | |||
| be62f29fb9 | |||
| 439362bda4 | |||
| 1866008c84 | |||
| 4e8d3b8a9d | |||
| b21946500a | |||
| 8808da8af1 | |||
| 6ba0c4744e | |||
| f8a03f317b | |||
| 8de926b22f | |||
| eb70757671 | |||
| 0c82a72da5 | |||
| 719c6ae0ee | |||
| ba84cc4859 | |||
| 09716c5b69 | |||
| 5d593cf46c | |||
| 676317050a | |||
| 3d64f000e0 | |||
| 28de33c053 | |||
| 35b49ac496 | |||
| c2d8aa85ec | |||
| 93c7394c8e | |||
| b57f5e9de2 | |||
| 07531fb0de | |||
| e4cd963ffd | |||
| 96367dd0af | |||
| 857e32e574 | |||
| 6b4581bd5d | |||
| 52ec51b973 | |||
| 1b5a4ff368 | |||
| b9b93ee8f1 | |||
| 5bcc995f81 | |||
| 36d67ead43 | |||
| 34cffed212 | |||
| 45e9031268 | |||
| af0e1db407 | |||
| f12b6f16a9 | |||
| 301a0c4496 | |||
| fd8226ab33 | |||
| a937a21150 | |||
| f19baff135 | |||
| 6a5bbdcd84 | |||
| bc15ae214e | |||
| 10fcbc2c2e | |||
| 74385e0791 | |||
| aaafc20e54 | |||
| ca485d04ab | |||
| e17cbd0537 | |||
| e5d4cb1223 | |||
| 6a1aebb22c | |||
| 1cc7fb2622 | |||
| 8be4b1ad36 |
@@ -0,0 +1,14 @@
|
||||
UPDATE ad SET competences = '{"competences" : [{ "id1" : "libelle 1"},{ "id2" : "libelle 2"},{ "id3" : "libelle 3" }]}' WHERE id =1;
|
||||
UPDATE ad SET competences = '{ "id1" : "libelle 1", "id2" : "libelle 2", "id3" : "libelle 3" }' WHERE id =1;
|
||||
UPDATE ad SET competences = '{ "id1" : "libelle 1" }' WHERE id =31;
|
||||
UPDATE ad SET competences = '{ "id2" : "libelle 2", "id3" : "libelle 3"}' WHERE id =29;
|
||||
SELECT id FROM "ad" WHERE competences::jsonb @> '{ "id1" : "libelle 1"}'::jsonb LIMIT 10;
|
||||
SELECT id FROM "ad" WHERE competences::jsonb ? 'id1' LIMIT 10;
|
||||
SELECT competences::jsonb @> '{ "id1" : "libelle 1"}'::jsonb FROM "ad" WHERE id=1 LIMIT 1;
|
||||
SELECT * FROM "ad" WHERE id = 1 or id=31 or id =29;
|
||||
|
||||
SELECT id, location->'gmap_address'->'geometry'->'location'->'lat', location->'gmap_address'->'geometry'->'location'->'lng' FROM "ad" LIMIT 100;
|
||||
|
||||
SELECT firstname, lastname, geoloc::json->0->'route' FROM "fos_user" wHERE email='laniau2@yahoo.fr' LIMIT 1000;
|
||||
|
||||
SELECT location::json->'gmap_address'->'formatted_address' FROM "ad" WHERE id=66 LIMIT 1000;
|
||||
@@ -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
@@ -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>
|
||||
|
||||
+2
@@ -1,7 +1,9 @@
|
||||
{% extends "base.html.twig" %}
|
||||
|
||||
{% trans_default_domain 'FOSUserBundle' %}
|
||||
{% block menu %}
|
||||
|
||||
{% endblock %}
|
||||
{% block content %}
|
||||
<div class="container contentWrapper">
|
||||
<div class="row">
|
||||
|
||||
+186
@@ -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 %}
|
||||
+4
-1
@@ -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 %}
|
||||
|
||||
+26
-25
@@ -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="/cgu">conditions générales d’utilisation</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>
|
||||
|
||||
+15
-11
@@ -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 %}
|
||||
+14
-10
@@ -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 %}
|
||||
+6
-4
@@ -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 ">
|
||||
</div>
|
||||
<div class="col-md-5 ">
|
||||
<button type="submit" class="btn btn-block btn-primary">{{ 'resetting.request.submit'|trans }}</button>
|
||||
</div>
|
||||
</form>
|
||||
<br /><br />
|
||||
|
||||
+16
-11
@@ -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 %}
|
||||
+33
@@ -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 %}
|
||||
|
||||
+192
-27
@@ -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 d’offres d’emploi et marque employeur pour attirer les meilleurs talents en vidéo.">
|
||||
|
||||
<meta name="twitter:card" content="summary">
|
||||
<meta name="twitter:site" content="@TalentsTube">
|
||||
<meta name="twitter:title" content="Espace recruteur - Solution de recrutement en vidéo | Talents Tube">
|
||||
<meta name="twitter:description" content="Vous souhaitez recruter en vidéo ? Talents Tube diffuse vos vidéos d’offres d’emploi et marque employeur pour attirer les meilleurs talents en vidéo.">
|
||||
<meta name="twitter:image" content="{{ absolute_url(asset('img/mail/logo-talents-tube.png')) }}">
|
||||
|
||||
{#Open Graph data pour le partage sur les réseaux sociaux (ex Facebook..)#}
|
||||
<meta property="og:title" content="Espace recruteur - Solution de recrutement en vidéo | Talents Tube" />
|
||||
<meta property="og:type" content="article" />
|
||||
<meta property="og:image" content="{{ absolute_url(asset('img/mail/logo-talents-tube.png')) }}" />
|
||||
<meta property="og:description" content="Vous souhaitez recruter en vidéo ? Talents Tube diffuse vos vidéos d’offres d’emploi et marque employeur pour attirer les meilleurs talents en vidéo." />
|
||||
<meta property="og:site_name" content="Talents Tube" />
|
||||
<meta property="og:url" content="{{ url(app.request.attributes.get('_route'), app.request.attributes.get('_route_params')) }}" />
|
||||
<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 %}
|
||||
+4
-3
@@ -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 d’utilisation</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 d’utilisation</a>
|
||||
</label>
|
||||
{% endspaceless %}
|
||||
{% endblock %}
|
||||
</div>
|
||||
|
||||
+9
-9
@@ -150,14 +150,14 @@
|
||||
{% endblock %}
|
||||
</div>
|
||||
<div class="mb-3">
|
||||
{{ form_row(register_form._token) }}
|
||||
token {{ csrf_token }}
|
||||
{% if csrf_token %}
|
||||
<input type="hidden" name="_csrf_token" ID="_csrf_token" value="{{ csrf_token }}" />
|
||||
{% endif %}
|
||||
<input type="hidden" name="_csrf_token" value="{{ csrf_token('authenticate') }}">
|
||||
|
||||
|
||||
{% 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!" />
|
||||
value="Créer un compte" />
|
||||
<button type="submit" class="btn btn-block btn-primary">S'inscrire</button>
|
||||
</div>
|
||||
|
||||
@@ -179,8 +179,8 @@
|
||||
<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 }}" />
|
||||
|
||||
|
||||
+49
-17
@@ -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 d’offres d’emploi et marque employeur pour attirer les meilleurs talents en vidéo.">
|
||||
<meta name="twitter:image" content="{{ absolute_url(asset('img/mail/logo-talents-tube.png')) }}">
|
||||
|
||||
{#Open Graph data pour le partage sur les réseaux sociaux (ex Facebook..)#}
|
||||
<meta property="og:title" content="Espace recruteur - Solution de recrutement en vidéo | Talents Tube" />
|
||||
<meta property="og:type" content="article" />
|
||||
<meta property="og:image" content="{{ absolute_url(asset('img/mail/logo-talents-tube.png')) }}" />
|
||||
<meta property="og:description"
|
||||
content="Vous souhaitez recruter en vidéo ? Talents Tube diffuse vos vidéos d’offres d’emploi et marque employeur pour attirer les meilleurs talents en vidéo." />
|
||||
<meta property="og:site_name" content="Talents Tube" />
|
||||
<meta property="og:url"
|
||||
content="{{ url(app.request.attributes.get('_route'), app.request.attributes.get('_route_params')) }}" />
|
||||
|
||||
{% endblock %}
|
||||
{% block 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 %}
|
||||
+1
-1
@@ -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>
|
||||
@@ -184,11 +196,11 @@
|
||||
</trans-unit>
|
||||
<trans-unit id="profile.company.brandname">
|
||||
<source>profile.company.brandname</source>
|
||||
<target>Nom commercial</target>
|
||||
<target>Nom de votre entreprise</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="profile.company.businessname">
|
||||
<source>profile.company.businessname</source>
|
||||
<target>Raison social</target>
|
||||
<target>Raison sociale</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="profile.company.siren">
|
||||
<source>profile.company.siren</source>
|
||||
@@ -196,7 +208,7 @@
|
||||
</trans-unit>
|
||||
<trans-unit id="profile.company.size">
|
||||
<source>profile.company.size</source>
|
||||
<target>Taille de l'entreprise (nombre de personnes)</target>
|
||||
<target>Taille de l'entreprise</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="profile.company.description">
|
||||
<source>profile.company.description</source>
|
||||
@@ -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>
|
||||
@@ -285,7 +301,11 @@
|
||||
</trans-unit>
|
||||
<trans-unit id="ad.company.list.title">
|
||||
<source>ad.company.list.title</source>
|
||||
<target>Intitulé de l'annonce</target>
|
||||
<target>Intitulé de l'offre</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="ad.company.list.location">
|
||||
<source>ad.company.list.location</source>
|
||||
<target>Localisation</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="ad.company.list.answers">
|
||||
<source>ad.company.list.answers</source>
|
||||
@@ -299,6 +319,10 @@
|
||||
<source>ad.company.list.actions</source>
|
||||
<target>Actions</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="ad.company.list.statut">
|
||||
<source>ad.company.list.statut</source>
|
||||
<target>Statut</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="ad.company.list.status">
|
||||
<source>ad.company.list.status</source>
|
||||
<target>Statut</target>
|
||||
@@ -307,6 +331,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>
|
||||
@@ -321,6 +375,10 @@
|
||||
<source>profile.talent.firstname</source>
|
||||
<target>Prénom</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="profile.talent.video">
|
||||
<source>profile.talent.video</source>
|
||||
<target>Vidéo</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="profile.talent.lastname">
|
||||
<source>profile.talent.lastname</source>
|
||||
<target>Nom</target>
|
||||
@@ -480,7 +538,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é qu’une seule fois pour valider votre compte.</p>
|
||||
<p>Si vous n’êtes pas à l’origine de l’inscription 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 à l’origine de l’inscription 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 +565,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é qu’une seule fois pour valider votre compte.</p>
|
||||
<p>Si vous n’êtes pas à l’origine de l’inscription 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 à l’origine de l’inscription 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,8 +29,8 @@
|
||||
{{ 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) }}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@@ -49,7 +49,7 @@
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<button class="btn btn-success" type="submit">Enregistrer</button>
|
||||
<button class="btn btn-success" type="submit" onclick="envoyerMail()">Enregistrer</button>
|
||||
</div>
|
||||
</div>
|
||||
{{ form_end(form) }} {% endblock %} {% block javascripts %}
|
||||
@@ -70,4 +70,46 @@
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
function envoyerMail(){
|
||||
if($("#ad_status").val()=="PUBLISHED"){
|
||||
if(window.confirm("Souhaitez-vous envoyer un email au(x) utilisateur(s) de l’entreprise pour informer que l’offre d’emploi est en ligne sur Talents Tube ?")){
|
||||
|
||||
//envoi de mail
|
||||
$.ajax({
|
||||
//L'URL de la requête
|
||||
url: "/app_dev.php/api/validerOffreMail?adId={{ ad.id }}" ,
|
||||
method: "GET",
|
||||
//La méthode d'envoi (type de requête)
|
||||
//Le format de réponse attendu
|
||||
dataType: "json",
|
||||
})
|
||||
//Ce code sera exécuté en cas de succès - La réponse du serveur est passée à done()
|
||||
/*On peut par exemple convertir cette réponse en chaine JSON et insérer
|
||||
* cette chaine dans un div id="res"*/
|
||||
.done(function (response) {
|
||||
console.log("Requête envoi mail suite validation offre done");
|
||||
|
||||
|
||||
})
|
||||
|
||||
//Ce code sera exécuté en cas d'échec - L'erreur est passée à fail()
|
||||
//On peut afficher les informations relatives à la requête et à l'erreur
|
||||
.fail(function (error) {
|
||||
console.log("Requête envoi mail suite validation offre fail");
|
||||
console.log(error);
|
||||
})
|
||||
|
||||
//Ce code sera exécuté que la requête soit un succès ou un échec
|
||||
.always(function () {
|
||||
console.log("Requête envoi mail suite validation offre effectuée");
|
||||
});
|
||||
}
|
||||
|
||||
}else{
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
</script> {% endblock %}
|
||||
@@ -20,7 +20,7 @@
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="col-xs-2">Date de création</th>
|
||||
<th>Référence TT</th>
|
||||
<th>Référence TT.</th>
|
||||
<th>Titre</th>
|
||||
<th>Entreprise</th>
|
||||
<th>Status</th>
|
||||
|
||||
+328
@@ -0,0 +1,328 @@
|
||||
{% 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%">
|
||||
<select id='input7'>
|
||||
<option value="sended">Tous les statuts</option>
|
||||
<option value="sended">Envoyé</option>
|
||||
<option value="draft">Brouillon</option>
|
||||
</select>
|
||||
</th>
|
||||
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<br />
|
||||
<table id="towns_dt_table" width="100%" class="table table-hover table-bordered">
|
||||
{# Add a tfoot which will actually be used to place the individual search boxes #}
|
||||
<tfoot>
|
||||
<tr>
|
||||
<th width="4%">id</th>
|
||||
<th width="6%">Date d'envoi</th>
|
||||
<th width="11%">Nom</th>
|
||||
<th width="11%">Prénom</th>
|
||||
<th width="25%">Annonce / entreprise</th>
|
||||
<th width="28%">Vidéo</th>
|
||||
<th width="15%">Statut</th>
|
||||
<th width="10%">Actions</th>
|
||||
</tr>
|
||||
{# <tr>
|
||||
<th><input id='input1' type='text' class='form-control' placeholder='' style='font-family:Arial, FontAwesome; width:100%'/></th>
|
||||
<th></th>
|
||||
<th><input id='input3' type='text' class='form-control' placeholder='' style='font-family:Arial, FontAwesome; width:100%'/></th>
|
||||
<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 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);
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function verifierDelete(id) {
|
||||
console.log(id);
|
||||
var r = confirm(
|
||||
"Êtes vous sûr de supprimer cette candidature ?\nSupprimer cette candidature supprimera le média associé\n"
|
||||
);
|
||||
if (r == true) {
|
||||
txt = "You pressed OK!";
|
||||
location.href = "/app_dev.php/admin/config/answer/" + id + "/delete";
|
||||
return true;
|
||||
} else {
|
||||
txt = "You pressed Cancel!";
|
||||
}
|
||||
console.log(txt);
|
||||
|
||||
}
|
||||
</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,14 +15,16 @@
|
||||
<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 %}
|
||||
<!--[if lt IE 9]>
|
||||
<!--[if lt IE 9]>
|
||||
<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
|
||||
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
|
||||
<![endif]-->
|
||||
|
||||
@@ -0,0 +1,151 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="fr">
|
||||
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html;charset=UTF-8" />
|
||||
<meta charset="utf-8" />
|
||||
<title>Pages - Admin Dashboard UI Kit - Dashboard</title>
|
||||
<meta name="viewport"
|
||||
content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no, shrink-to-fit=no" />
|
||||
<meta name="apple-mobile-web-app-capable" content="yes">
|
||||
<meta name="apple-touch-fullscreen" content="yes">
|
||||
<meta name="apple-mobile-web-app-status-bar-style" content="default">
|
||||
<meta content="Meet pages - The simplest and fastest way to build web UI for your dashboard or app."
|
||||
name="description" />
|
||||
<meta content="Ace" name="author" />
|
||||
<link href="{{ asset('dashboard/plugins/pace/pace-theme-flash.css') }}" rel="stylesheet" type="text/css" />
|
||||
<link href="{{ asset('dashboard/plugins/bootstrap/css/bootstrap.min.css') }}" rel="stylesheet" type="text/css" />
|
||||
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
|
||||
<link href="{{ asset('dashboard/plugins/jquery-scrollbar/jquery.scrollbar.css') }}" rel="stylesheet" type="text/css"
|
||||
media="screen" />
|
||||
<link href="{{ asset('dashboard/plugins/select2/css/select2.min.css') }}" rel="stylesheet" type="text/css"
|
||||
media="screen" />
|
||||
<link href="{{ asset('dashboard/plugins/nvd3/nv.d3.min.css') }}" rel="stylesheet" type="text/css" media="screen" />
|
||||
<link href="{{ asset('dashboard/plugins/mapplic/css/mapplic.css') }}" rel="stylesheet" type="text/css" />
|
||||
<link href="{{ asset('dashboard/plugins/rickshaw/rickshaw.min.css') }}" rel="stylesheet" type="text/css" />
|
||||
<link class="main-stylesheet" href="{{ asset('dashboard/pages/css/themes/corporate.css') }}" rel="stylesheet"
|
||||
type="text/css" />
|
||||
<!-- Please remove the file below for production: Contains demo classes -->
|
||||
<link class="main-stylesheet" href="{{ asset('dashboard/css/style.css') }}" rel="stylesheet" type="text/css" />
|
||||
<script type="text/javascript">window.$crisp=[];window.CRISP_WEBSITE_ID="08e9d301-ba14-4d69-8b1a-53685114c5af";(function(){d=document;s=d.createElement("script");s.src="https://client.crisp.chat/l.js";s.async=1;d.getElementsByTagName("head")[0].appendChild(s);})();</script>
|
||||
<!-- END PAGE LEVEL JS -->
|
||||
|
||||
<script src="{{ asset('dashboard/plugins/jquery/jquery-3.2.1.min.js') }}" type="text/javascript"></script>
|
||||
|
||||
{# <script type="text/javascript" src="http://code.jquery.com/jquery-3.2.1.min.js"></script> #}
|
||||
|
||||
{% block javascriptSupl %}
|
||||
{% endblock %}
|
||||
<!-- END PAGE LEVEL JS -->
|
||||
</head>
|
||||
|
||||
<body class="fixed-header dashboard menu-pin menu-behind">
|
||||
{# {{ include('default/user_switch.html.twig') }} #}
|
||||
|
||||
{{ include('admin/navigation_gauche.html.twig')}} }}
|
||||
|
||||
|
||||
<!-- START PAGE-CONTAINER -->
|
||||
<div class="page-container ">
|
||||
{{ include('admin/base_dashboard_header.html.twig') }}
|
||||
<!-- START PAGE CONTENT WRAPPER -->
|
||||
<div class="page-content-wrapper ">
|
||||
<div class="content ">
|
||||
{% block dashContent %}
|
||||
Dashboard Company
|
||||
{% endblock %}
|
||||
|
||||
</div>
|
||||
<!-- START COPYRIGHT -->
|
||||
<!-- START CONTAINER FLUID -->
|
||||
<!-- START CONTAINER FLUID -->
|
||||
<div class=" container-fluid container-fixed-lg footer">
|
||||
<div class="copyright sm-text-center">
|
||||
<p class="small-text no-margin pull-left sm-pull-reset">
|
||||
©2017-2021 Talents Tube
|
||||
</p>
|
||||
<p class="small no-margin pull-right sm-pull-reset">
|
||||
Besoin d'aide ? 07 56 85 27 36
|
||||
</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 %}
|
||||
|
||||
<!-- 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/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>
|
||||
{% block javascriptsSecondaire %}
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block javascriptsEnd %}
|
||||
{% endblock %}
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
+104
@@ -0,0 +1,104 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="fr">
|
||||
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html;charset=UTF-8" />
|
||||
<meta charset="utf-8" />
|
||||
<title>Pages - Admin Dashboard UI Kit - Dashboard</title>
|
||||
<meta name="viewport"
|
||||
content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no, shrink-to-fit=no" />
|
||||
<meta name="apple-mobile-web-app-capable" content="yes">
|
||||
<meta name="apple-touch-fullscreen" content="yes">
|
||||
<meta name="apple-mobile-web-app-status-bar-style" content="default">
|
||||
<meta content="Meet pages - The simplest and fastest way to build web UI for your dashboard or app."
|
||||
name="description" />
|
||||
<meta content="Ace" name="author" />
|
||||
<link href="{{ asset('dashboard/plugins/pace/pace-theme-flash.css') }}" rel="stylesheet" type="text/css" />
|
||||
<link href="{{ asset('dashboard/plugins/bootstrap/css/bootstrap.min.css') }}" rel="stylesheet" type="text/css" />
|
||||
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
|
||||
<link href="{{ asset('dashboard/plugins/jquery-scrollbar/jquery.scrollbar.css') }}" rel="stylesheet" type="text/css"
|
||||
media="screen" />
|
||||
<link href="{{ asset('dashboard/plugins/select2/css/select2.min.css') }}" rel="stylesheet" type="text/css"
|
||||
media="screen" />
|
||||
<link href="{{ asset('dashboard/plugins/nvd3/nv.d3.min.css') }}" rel="stylesheet" type="text/css" media="screen" />
|
||||
<link href="{{ asset('dashboard/plugins/mapplic/css/mapplic.css') }}" rel="stylesheet" type="text/css" />
|
||||
<link href="{{ asset('dashboard/plugins/rickshaw/rickshaw.min.css') }}" rel="stylesheet" type="text/css" />
|
||||
<link class="main-stylesheet" href="{{ asset('dashboard/pages/css/themes/corporate.css') }}" rel="stylesheet"
|
||||
type="text/css" />
|
||||
<!-- Please remove the file below for production: Contains demo classes -->
|
||||
<link class="main-stylesheet" href="{{ asset('dashboard/css/style.css') }}" rel="stylesheet" type="text/css" />
|
||||
<script type="text/javascript">window.$crisp=[];window.CRISP_WEBSITE_ID="08e9d301-ba14-4d69-8b1a-53685114c5af";(function(){d=document;s=d.createElement("script");s.src="https://client.crisp.chat/l.js";s.async=1;d.getElementsByTagName("head")[0].appendChild(s);})();</script>
|
||||
<!-- END PAGE LEVEL JS -->
|
||||
|
||||
<script src="{{ asset('dashboard/plugins/jquery/jquery-3.2.1.min.js') }}" type="text/javascript"></script>
|
||||
|
||||
{# <script type="text/javascript" src="http://code.jquery.com/jquery-3.2.1.min.js"></script> #}
|
||||
|
||||
{% block javascriptSupl %}
|
||||
{% endblock %}
|
||||
<!-- END PAGE LEVEL JS -->
|
||||
</head>
|
||||
|
||||
<body class="fixed-header dashboard menu-pin menu-behind">
|
||||
{# {{ include('default/user_switch.html.twig') }} #}
|
||||
|
||||
{{ include('admin/navigation_gauche.html.twig')}} }}
|
||||
|
||||
|
||||
<!-- START PAGE-CONTAINER -->
|
||||
<div class="page-container ">
|
||||
{{ include('admin/base_dashboard_header.html.twig') }}
|
||||
<!-- START PAGE CONTENT WRAPPER -->
|
||||
<div class="page-content-wrapper ">
|
||||
<div class="content ">
|
||||
{% block dashContent %}
|
||||
Dashboard Company
|
||||
{% endblock %}
|
||||
|
||||
</div>
|
||||
<!-- START COPYRIGHT -->
|
||||
<!-- START CONTAINER FLUID -->
|
||||
<!-- START CONTAINER FLUID -->
|
||||
<div class=" container-fluid container-fixed-lg footer">
|
||||
<div class="copyright sm-text-center">
|
||||
<p class="small-text no-margin pull-left sm-pull-reset">
|
||||
©2017-2021 Talents Tube
|
||||
</p>
|
||||
<p class="small no-margin pull-right sm-pull-reset">
|
||||
Besoin d'aide ? 07 56 85 27 36
|
||||
</p>
|
||||
<div class="clearfix"></div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- END COPYRIGHT -->
|
||||
</div>
|
||||
|
||||
<!-- END PAGE CONTENT WRAPPER -->
|
||||
</div>
|
||||
<!-- END PAGE CONTAINER -->
|
||||
{% block javascripts %}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
{% endblock %}
|
||||
|
||||
|
||||
<!-- END PAGE LEVEL JS -->
|
||||
<!-- END CORE TEMPLATE JS -->
|
||||
|
||||
|
||||
|
||||
<!-- BEGIN PAGE LEVEL JS -->
|
||||
|
||||
{% block javascriptsSecondaire %}
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block javascriptsEnd %}
|
||||
{% endblock %}
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
@@ -0,0 +1,30 @@
|
||||
<!-- START HEADER -->
|
||||
<div class="header ">
|
||||
<!-- START MOBILE SIDEBAR TOGGLE -->
|
||||
|
||||
<!-- 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-->
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<!-- END HEADER -->
|
||||
+34
@@ -0,0 +1,34 @@
|
||||
{% extends 'admin/base_admin.html.twig' %}
|
||||
|
||||
|
||||
{% block contentHeader %}
|
||||
<h1>
|
||||
Pages
|
||||
<small>Liste</small>
|
||||
</h1>
|
||||
<ol class="breadcrumb">
|
||||
<li><a href="{{ path('admin_dashboard') }}"><i class="fa fa-dashboard"></i> Dashboard</a></li>
|
||||
<li class="active">Batch candidatures</li>
|
||||
</ol>
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<div class="box box-primary">
|
||||
<div class="box-body">
|
||||
<a href="{{ path('admin_batch_candidature_init') }}">
|
||||
<button type="button" class="btn btn-lg btn-primary btn-cons btn-animated from-left" id="saveAdButton">
|
||||
<span>Lancer le batch</span>
|
||||
|
||||
</button>
|
||||
</a>
|
||||
<b>A NE LANCER QU'UNE FOIS (On met à jour les candidatures qui ont un message et qui n'ont pas été modifié par le dashboard Entreprise. C'est le statut contacte qui est mis par défaut.)</b>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block javascripts %}
|
||||
|
||||
|
||||
{% endblock %}
|
||||
@@ -0,0 +1,33 @@
|
||||
{% extends 'admin/base_admin.html.twig' %}
|
||||
|
||||
|
||||
{% block contentHeader %}
|
||||
<h1>
|
||||
Pages
|
||||
<small>Liste</small>
|
||||
</h1>
|
||||
<ol class="breadcrumb">
|
||||
<li><a href="{{ path('admin_dashboard') }}"><i class="fa fa-dashboard"></i> Dashboard</a></li>
|
||||
<li class="active">Batch sur les messages</li>
|
||||
</ol>
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<div class="box box-primary">
|
||||
<div class="box-body">
|
||||
<a href="{{ path('admin_batch_geoloc_trait') }}">
|
||||
<button type="button" class="btn btn-lg btn-primary btn-cons btn-animated from-left" id="saveAdButton">
|
||||
<span>Lancer le batch ({{nbUsers}} utilisateurs non geolocalisés) <br>(transforme adresse talent en geoloc) </span>
|
||||
|
||||
</button>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block javascripts %}
|
||||
|
||||
|
||||
{% endblock %}
|
||||
@@ -0,0 +1,80 @@
|
||||
{% extends 'admin/base_admin.html.twig' %}
|
||||
|
||||
|
||||
{% block contentHeader %}
|
||||
<h1>
|
||||
Dashboard
|
||||
<small>TalentsTube</small>
|
||||
</h1>
|
||||
<ol class="breadcrumb">
|
||||
<li><a href="#"><i class="fa fa-dashboard"></i> Dashboard</a></li>
|
||||
{#<li class="active">Here</li>#}
|
||||
</ol>
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<b>Relance J3</b><br>
|
||||
<table id="media_list_table" class="table table-hover table-bordered">
|
||||
<thead>
|
||||
<tr>
|
||||
<th width="15%">Id</th>
|
||||
<th width="15%">Nom</th>
|
||||
<th width="15%">Prénom</th>
|
||||
<th width="15%">Mail</th>
|
||||
<th width="15%">Annonce?</th>
|
||||
<th width="15%">Mail Envoyé</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for u in listeUsersRelanceJ3 %}
|
||||
<tr>
|
||||
<td>{{ u.id }}</td>
|
||||
<td>{{ u.nom }}</td>
|
||||
<td>{{ u.prenom }}</td>
|
||||
<td>{{ u.email }}</td>
|
||||
<td>{{ u.annonce }}</td>
|
||||
<td>X</td>
|
||||
|
||||
</tr>
|
||||
{% endfor %}
|
||||
{% if listeUsersRelanceJ3|length < 1 %}
|
||||
<tr>
|
||||
<td colspan="6">Aucune relance pour cette fois-ci</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<b>Relance J7</b><br>
|
||||
<table id="media_list_table" class="table table-hover table-bordered">
|
||||
<thead>
|
||||
<tr>
|
||||
<th width="15%">Id</th>
|
||||
<th width="15%">Nom</th>
|
||||
<th width="15%">Prénom</th>
|
||||
<th width="15%">Mail</th>
|
||||
<th width="15%">Annonce?</th>
|
||||
<th width="15%">Mail Envoyé</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for u in listeUsersRelanceJ7 %}
|
||||
<tr>
|
||||
<td>{{ u.id }}</td>
|
||||
<td>{{ u.nom }}</td>
|
||||
<td>{{ u.prenom }}</td>
|
||||
<td>{{ u.email }}</td>
|
||||
<td>{{ u.annonce }}</td>
|
||||
<td>X</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
{% if listeUsersRelanceJ7|length < 1 %}
|
||||
<tr>
|
||||
<td colspan="6">Aucune relance pour cette fois-ci</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
{% endblock %}
|
||||
@@ -0,0 +1,34 @@
|
||||
{% extends 'admin/base_admin.html.twig' %}
|
||||
|
||||
|
||||
{% block contentHeader %}
|
||||
<h1>
|
||||
Pages
|
||||
<small>Liste</small>
|
||||
</h1>
|
||||
<ol class="breadcrumb">
|
||||
<li><a href="{{ path('admin_dashboard') }}"><i class="fa fa-dashboard"></i> Dashboard</a></li>
|
||||
<li class="active">Batch sur les messages</li>
|
||||
</ol>
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<div class="box box-primary">
|
||||
<div class="box-body">
|
||||
<a href="{{ path('admin_batch_message_comment') }}">
|
||||
<button type="button" class="btn btn-lg btn-primary btn-cons btn-animated from-left" id="saveAdButton">
|
||||
<span>Lancer le batch (recupere les candidatures qui ont un commentaire (vieille candidature). Ces commentaires sont transformés en message.</span>
|
||||
|
||||
</button>
|
||||
</a>
|
||||
<b>A NE LANCER QU'UNE FOIS</b>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block javascripts %}
|
||||
|
||||
|
||||
{% endblock %}
|
||||
@@ -13,6 +13,93 @@
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
{# <b>Relance J3</b><br>
|
||||
<table id="media_list_table" class="table table-hover table-bordered">
|
||||
<thead>
|
||||
<tr>
|
||||
<th width="15%">Id</th>
|
||||
<th width="15%">Nom</th>
|
||||
<th width="15%">Prénom</th>
|
||||
<th width="15%">Mail</th>
|
||||
<th width="15%">Annonce?</th>
|
||||
<th width="15%">Mail Envoyé</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for u in listeUsersRelanceJ3 %}
|
||||
<tr>
|
||||
<td>{{ u.id }}</td>
|
||||
<td>{{ u.nom }}</td>
|
||||
<td>{{ u.prenom }}</td>
|
||||
<td>{{ u.email }}</td>
|
||||
<td>{{ u.annonce }}</td>
|
||||
<td>X</td>
|
||||
|
||||
</tr>
|
||||
{% endfor %}
|
||||
{% if listeUsersRelanceJ3|length < 1 %}
|
||||
<tr>
|
||||
<td colspan="6">Aucune relance pour cette fois-ci</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<b>Relance J7</b><br>
|
||||
<table id="media_list_table" class="table table-hover table-bordered">
|
||||
<thead>
|
||||
<tr>
|
||||
<th width="15%">Id</th>
|
||||
<th width="15%">Nom</th>
|
||||
<th width="15%">Prénom</th>
|
||||
<th width="15%">Mail</th>
|
||||
<th width="15%">Annonce?</th>
|
||||
<th width="15%">Mail Envoyé</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for u in listeUsersRelanceJ7 %}
|
||||
<tr>
|
||||
<td>{{ u.id }}</td>
|
||||
<td>{{ u.nom }}</td>
|
||||
<td>{{ u.prenom }}</td>
|
||||
<td>{{ u.email }}</td>
|
||||
<td>{{ u.annonce }}</td>
|
||||
<td>X</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
{% if listeUsersRelanceJ7|length < 1 %}
|
||||
<tr>
|
||||
<td colspan="6">Aucune relance pour cette fois-ci</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
</tbody>
|
||||
</table> #}
|
||||
|
||||
<b>Etat des annonces</b><br>
|
||||
<table id="media_list_table" class="table table-hover table-bordered">
|
||||
<thead>
|
||||
<tr>
|
||||
<th width="15%">Id</th>
|
||||
<th width="15%">Entreprise</th>
|
||||
<th width="15%">Titre de l'annonce</th>
|
||||
<th width="15%">Nb de candidatures vidéo</th>
|
||||
<th width="15%">Nb de candidatures récentes <br>(mois glissant)</th>
|
||||
<th width="15%">Statut</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for a in ads %}
|
||||
<tr>
|
||||
<td>{{ a.id }}</td>
|
||||
<td>{{ a.entreprise }}</td>
|
||||
<td>{{ a.title }}</td>
|
||||
<td>{{ a.nbAnswers }}</td>
|
||||
<td>{{ a.nbAnswersRecentes }}</td>
|
||||
<td>{{ a.statut }}</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
{% endblock %}
|
||||
@@ -22,7 +22,8 @@
|
||||
<th>ID</th>
|
||||
<th>Titre</th>
|
||||
<th>Utilisateur</th>
|
||||
<th>Status</th>
|
||||
<th>Annonce?</th>
|
||||
<th>Date de réponse</th>
|
||||
<th>action</th>
|
||||
</tr>
|
||||
</thead>
|
||||
@@ -30,11 +31,21 @@
|
||||
<tbody>
|
||||
{% for m in medias %}
|
||||
<tr>
|
||||
<td>{{ m.id }}</td>
|
||||
<td>{{ m.title }}</td>
|
||||
<td>{{ m.creator.firstname }} {{ m.creator.lastname }}</td>
|
||||
<td>{{ m.mediaid }}</td>
|
||||
<td><a href="{{ chemin }}{{ m.original_url }}" target="_blank">{{ m.title }}</a></td>
|
||||
<td>{{ m.firstname }} {{ m.lastname }} - ({{ m.email }}) </td>
|
||||
<td>
|
||||
<span class="label pull-right bg-orange">{{ m.status }}</span>
|
||||
{% if m.answerid %}
|
||||
{% if m.adtitle %}
|
||||
({{ m.adtitle }})
|
||||
{% else %}
|
||||
({{ m.ctitle }})
|
||||
{% endif %}
|
||||
{% else %}
|
||||
<b>Vidéo orpheline</b>
|
||||
{% endif %}</td>
|
||||
<td>
|
||||
<span class="label pull-right bg-orange">{{ m.sendtime }}</span>
|
||||
</td>
|
||||
<td>
|
||||
<a href="{{ path('admin_video_moderation',{'id':m.id}) }}">
|
||||
@@ -67,9 +78,11 @@
|
||||
{"targets": 0, "searchable": true, "orderable": true},
|
||||
{"targets": 1, "searchable": true, "orderable": true},
|
||||
{"targets": 2, "searchable": true, "orderable": true},
|
||||
{"targets": 3, "searchable": true, "orderable": true, "className": "text-center"},
|
||||
{"targets": 4, "searchable": false, "orderable": false, "className": "text-center"},
|
||||
]
|
||||
{"targets": 3, "searchable": true, "orderable": true},
|
||||
{"targets": 4, "searchable": true, "orderable": true, "className": "text-center"},
|
||||
{"targets": 5, "searchable": false, "orderable": false, "className": "text-center"},
|
||||
],
|
||||
"order": [[ 0, "desc" ]]
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
@@ -0,0 +1,157 @@
|
||||
<!-- 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 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') }}">Marque employeur</a>
|
||||
<span class="icon-thumbnail">
|
||||
<span class="material-icons">
|
||||
videocam
|
||||
</span>
|
||||
</span>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
<li class="">
|
||||
<a href="{{ path('company_ad') }}">
|
||||
<span class="">Offres d'emploi</span>
|
||||
</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('users') }}">Utilisateurs</a>
|
||||
<span class="icon-thumbnail">
|
||||
<span class="material-icons">
|
||||
group
|
||||
</span>
|
||||
</span>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="{{ path('company_my_account') }}">
|
||||
<span class="">Paramètres</span>
|
||||
</a>
|
||||
<span class="icon-thumbnail">
|
||||
<span class="material-icons">
|
||||
settings
|
||||
</span>
|
||||
</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>
|
||||
|
||||
{% else %}
|
||||
<li class="">
|
||||
<a href="/logout">
|
||||
<span class="principal">Se déconnecter</span>
|
||||
</a>
|
||||
|
||||
<span class="icon-thumbnail">
|
||||
<span class="material-icons">
|
||||
logout
|
||||
</span>
|
||||
</span>
|
||||
</li>
|
||||
{% endif %}
|
||||
|
||||
|
||||
</ul>
|
||||
<div class="clearfix"></div>
|
||||
</div>
|
||||
<!-- END SIDEBAR MENU -->
|
||||
</nav>
|
||||
<!-- END SIDEBAR -->
|
||||
<!-- END SIDEBPANEL-->
|
||||
@@ -73,6 +73,19 @@
|
||||
<i class="fa fa-file-text-o" aria-hidden="true"></i><span>Pages</span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="treeview">
|
||||
<a href="#"><i class="fa fa-file-video-o"></i> <span>Batchs</span>
|
||||
<span class="pull-right-container">
|
||||
<i class="fa fa-angle-left pull-right"></i>
|
||||
</span>
|
||||
</a>
|
||||
<ul class="treeview-menu">
|
||||
<li><a href="{{ path('admin_batch_mailauto') }}">Mail auto <br>(US 436)</a></li>
|
||||
<li><a href="{{ path('admin_batch_candidatures') }}">Statuts des anciennes candidatures <br>(US 520)</a></li>
|
||||
<li><a href="{{ path('admin_batch_message') }}">Basculer les anciens messages <br>(US 200)</a></li>
|
||||
<li><a href="{{ path('admin_batch_geoloc') }}">Transformer adresse Talent en geoloc <br>(US 489)</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="treeview">
|
||||
<a href="#"><i class="fa fa-users" aria-hidden="true"></i> <span>Utilisateurs</span>
|
||||
<span class="pull-right-container">
|
||||
|
||||
@@ -5,6 +5,9 @@
|
||||
<h1>
|
||||
Modification d'un talent
|
||||
<small>{{ user.firstname }} {{ user.lastname }}</small>
|
||||
<a class="delete-user" href="{{ path('admin_user_delete',{'id':user.id}) }}" data-toggle="tooltip" title="Supprimer">
|
||||
<i class="fa fa-trash"></i>
|
||||
</a>
|
||||
</h1>
|
||||
<ol class="breadcrumb">
|
||||
<li><a href="{{ path('admin_dashboard') }}"><i class="fa fa-dashboard"></i> Dashboard</a></li>
|
||||
|
||||
@@ -21,6 +21,9 @@
|
||||
<th class="col-md-2">Date de création</th>
|
||||
<th>Prénom - Nom</th>
|
||||
<th>Email</th>
|
||||
<th>Dernière connexion</th>
|
||||
<th>Validé</th>
|
||||
<th>Annonce?</th>
|
||||
<th class="col-md-1">Vidéos</th>
|
||||
<th class="col-md-1">A la une</th>
|
||||
<th>Action</th>
|
||||
@@ -29,12 +32,34 @@
|
||||
<tbody>
|
||||
{% for talent in t if talent.MainUser %}
|
||||
{% set user = talent.users|first %}
|
||||
{% set adId = talent.description|split(':') %}
|
||||
<tr>
|
||||
<td data-order="{{ talent.cTime|date('U') }}">{{ talent.cTime|date('d/m/Y') }}</td>
|
||||
<td>
|
||||
{{ user.firstname }} {{ user.lastname }}
|
||||
{{ user.firstname }} / {{ user.lastname }} - {% if talent.extra["phoneTalent"] is defined %} (Tel : {{ talent.extra["phoneTalent"] }}) {% endif %}
|
||||
</td>
|
||||
<td><a href="mailto:{{ user.email }}">{{ user.email }}</a></td>
|
||||
<td>
|
||||
{% if user.enabled == 1 %}
|
||||
{{ user.lastLogin|date('d-m-Y h:m') }}
|
||||
{% endif %}</td>
|
||||
<td>
|
||||
{% if user.enabled == 1 %}
|
||||
oui
|
||||
{% else %}
|
||||
non
|
||||
{% endif %}
|
||||
</td>
|
||||
<td> {% if adId|length > 1 %}
|
||||
{% if user.medias|length > 0 %}
|
||||
|
||||
{% else %}
|
||||
{% if adId[1] and adId[1] !="" %}
|
||||
<a href="https://www.talentstube.com/Offre/{{ adId[1]|replace({' ': ''}) }}-{{ adId[1] }}" target="_blank">Lien vers l'annonce avant inscription</a>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
</td>
|
||||
<td>
|
||||
{% if user.medias|length > 0 %}
|
||||
{{ user.medias|length }}
|
||||
@@ -90,9 +115,12 @@
|
||||
{"targets": 0, "searchable": true, "orderable": true},
|
||||
{"targets": 1, "searchable": true, "orderable": true},
|
||||
{"targets": 2, "searchable": true, "orderable": true},
|
||||
{"targets": 3, "searchable": true, "orderable": true, "className": "text-center"},
|
||||
{"targets": 4, "searchable": true, "orderable": true, "className": "text-center"},
|
||||
{"targets": 5, "searchable": false, "orderable": false, "className": "text-center"},
|
||||
{"targets": 3, "searchable": true, "orderable": true},
|
||||
{"targets": 4, "searchable": true, "orderable": true},
|
||||
{"targets": 5, "searchable": true, "orderable": true},
|
||||
{"targets": 6, "searchable": true, "orderable": true, "className": "text-center"},
|
||||
{"targets": 7, "searchable": true, "orderable": true, "className": "text-center"},
|
||||
{"targets": 8, "searchable": false, "orderable": false, "className": "text-center"},
|
||||
],
|
||||
"order": [[0, "desc"]]
|
||||
});
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
{% extends 'admin/base_dashboard.html.twig' %}
|
||||
|
||||
|
||||
@@ -1,9 +1,12 @@
|
||||
{% extends 'base.html.twig' %}
|
||||
{% extends 'basev2.html.twig' %}
|
||||
|
||||
{% block metarobot %}<meta name="robots" content="noindex,follow">{% endblock %}
|
||||
{% block metarobot %}
|
||||
<meta name="robots" content="noindex,follow">
|
||||
<link rel="canonical" href="https://www.talentstube.com/Offres" />
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
{% if typeObject == 'Ad' %}
|
||||
{# {% if typeObject == 'Ad' %}
|
||||
{% set subtitle = 'Candidature à l\'offre d\'emploi:' %}
|
||||
{% set title = object.title %}
|
||||
{% set route = "answer_create_ad_step2" %}
|
||||
@@ -11,20 +14,20 @@
|
||||
{% set subtitle = 'Candidature pour l\'entreprise :' %}
|
||||
{% set title = object.brandName %}
|
||||
{% set route = "answer_create_company_step2" %}
|
||||
{% endif %}
|
||||
{% endif %} #}
|
||||
|
||||
<div class="fluid-container bg-grey-3">
|
||||
<div class="container contentWrapper contentPage">
|
||||
<div class="row">
|
||||
<div class="col s12">
|
||||
{# <div class="col s12">
|
||||
<div class="col-content center-align m-t-20">
|
||||
<strong>{{ subtitle }}</strong>
|
||||
<h3 class="color-blue1 m-0 m-t-10">{{ title }}</h3>
|
||||
</div>
|
||||
</div>
|
||||
</div> #}
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col s12 m6 ">
|
||||
{# <div class="col s12 m6 ">
|
||||
<div class="col-content p-15 bg-blue-1 center-align whiteColor z-depth-2 choice-answer-item">
|
||||
<img src="{{ asset('img/img_popupcv/webcam_cv_video.svg')}}">
|
||||
<h3>J'enregistre mon CV vidéo !</h3>
|
||||
@@ -40,13 +43,13 @@
|
||||
<a href="{{ path(route,{'id': object.id, 'type': 'import'}) }}" class="btn btn btn-default">Importer mon CV vidéo</a><br /><br />
|
||||
<a id="link-videotheque" href="{{ route_videotheque }}">Choisir une vidéo de ma vidéothèque</a>
|
||||
</div>
|
||||
</div>
|
||||
</div> #}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
{% block javascripts %}
|
||||
{{ parent() }}
|
||||
{# {{ parent() }}
|
||||
<script type="text/javascript">
|
||||
{% if mustLogin == true %}
|
||||
$('#link-videotheque').on('click',function(event){
|
||||
@@ -54,5 +57,5 @@
|
||||
$('#modal_login').modal('open');
|
||||
});
|
||||
{% endif %}
|
||||
</script>
|
||||
</script> #}
|
||||
{% endblock %}
|
||||
@@ -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 l’emploi 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,223 @@
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html lang="fr">
|
||||
|
||||
<head>
|
||||
<!-- Global site tag (gtag.js) - Google Analytics -->
|
||||
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-98246968-7"></script>
|
||||
<script>
|
||||
window.dataLayer = window.dataLayer || [];
|
||||
|
||||
function gtag() {
|
||||
dataLayer.push(arguments);
|
||||
}
|
||||
gtag('js', new Date());
|
||||
gtag('config', 'UA-98246968-7');
|
||||
</script>
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
||||
<link href="https://fonts.googleapis.com/css2?family=Roboto:wght@100;400;500;700;900&display=swap" rel="stylesheet">
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>{% block title %}{% endblock %}</title>
|
||||
|
||||
<link rel="shortcut icon" href="/landing/img/talentstubeIco.svg" type="image/x-icon">
|
||||
<link rel="icon" href="/landing/img/favicon.ico" type="image/x-icon">
|
||||
<link href="/landing/css/bootstrap.min.css" rel="stylesheet">
|
||||
<link href="/landing/css/owl.carousel.css" rel="stylesheet">
|
||||
<link href="/landing/css/main.css" rel="stylesheet">
|
||||
<link href="/landing/css/fontawesome.min.css" rel="stylesheet">
|
||||
<!-- Latest compiled and minified CSS -->
|
||||
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
|
||||
<!-- Optional theme -->
|
||||
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap-theme.min.css">
|
||||
<script src="/landing/js/modernizr.min.js"></script>
|
||||
<!--Ajout pour le référencement-->
|
||||
{# <link rel="canonical" href="" /> #}
|
||||
{% block meta %}
|
||||
<meta name="description"
|
||||
content="Créez des vidéos d’offres d’emploi originales avec Talents Tube. Réalisez vos vidéos rapidement avec un smartphone et recrutez">
|
||||
<meta property="og:locale" content="fr_FR" />
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:title" content="Réalisez une offre d’emploi originale vous-même" />
|
||||
<meta property="og:description"
|
||||
content="Créez des vidéos d’offres d’emploi originales avec Talents Tube. Réalisez vos vidéos rapidement avec un smartphone et recrutez" />
|
||||
<meta property="og:url" content="https://recruteur.talentstube.com/offre-emploi-originale" />
|
||||
<meta property="og:site_name" content="Talents Tube" />
|
||||
<meta property="og:image"
|
||||
content="https://recruteur.talentstube.com/landing/img/offre-emploi-originale-en-video.jpg" />
|
||||
<meta name="twitter:card" content="summary_large_image" />
|
||||
|
||||
{% endblock %}
|
||||
{# A ENLEVER EN PROD #}
|
||||
<meta name="robots" content="noindex,nofollow">
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
{% block modalCallToAction %}
|
||||
<!-- Modal : Formulaire -->
|
||||
<div class="modal fade" id="exampleModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel"
|
||||
aria-hidden="true">
|
||||
<div class="modal-dialog" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="container-fluid">
|
||||
<div class="row" id="demandeRdvContainer">
|
||||
<div class="col-sm-12">
|
||||
<h2>Demandez votre rendez-vous</h2>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-12 col-sm-12">
|
||||
<div class="form-group">
|
||||
<label for="exampleInputPrenom>">Prénom</label>
|
||||
<input type="text" class="form-control" id="prenom" placeholder="Votre prénom">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
|
||||
<div class="col-12 col-sm-12">
|
||||
<div class="form-group">
|
||||
<label for="exampleInputNom">Nom</label>
|
||||
<input type="text" class="form-control" id="nom" placeholder="Votre nom">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
|
||||
<div class="col-12 col-sm-12">
|
||||
<div class="form-group">
|
||||
<label for="exampleInputEmail1">E-mail</label>
|
||||
<input type="email" class="form-control" id="email" placeholder="Votre email">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
|
||||
<div class="col-12 col-sm-12">
|
||||
<div class="form-group">
|
||||
<label for="exampleInputPhone">Téléphone</label>
|
||||
<input type="phone" class="form-control" id="telephone" placeholder="Votre téléphone">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<p class="text-danger" id="erreur">Veuillez compléter l'ensemble des champs ci-dessus pour
|
||||
demander un rendez-vous</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row" id="felicitationRdvContainer" class="text-center">
|
||||
<div class="text-center">
|
||||
<img src="/landing/img/demande-rendez-vous.svg">
|
||||
<h2>Merci!</h2>
|
||||
<p>Votre demande a bien été envoyée. Un conseiller vous contactera <strong>sous 48h</strong>.
|
||||
En attendant, nous allons vous rediriger vers notre blog afin de vous faire découvrir tous nos
|
||||
conseils pour un recrutement réussi.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button class="bttn" onClick="demanderRdv();" id="boutonDemandeRdv">Demander un rendez-vous</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!--Modal : Formulaire End -->
|
||||
{% endblock %}
|
||||
|
||||
{% block main %}
|
||||
|
||||
{% endblock %}
|
||||
|
||||
<script src="/landing/js/jquery-2.1.3.min.js"></script>
|
||||
<script src="/landing/js/bootstrap.min.js"></script>
|
||||
<script src="/landing/js/waypoints.min.js"></script>
|
||||
<!--Ordre important-->
|
||||
<script src="/landing/js/waypoints-sticky.min.js"></script> <!-- Nécessaire header sticky -->
|
||||
<script src="/landing/js/retina.min.js"></script> <!-- Nécessaire logo header (à voir pour l'enlever) -->
|
||||
<script src="/landing/js/owl.carousel.min.js"></script> <!-- Nécessaire avec les avantages (+de 3 avantages) -->
|
||||
<script src="/landing/js/jquery.ajaxchimp.min.js"></script> <!-- Nécessaire FAQ-->
|
||||
<script src="/landing/js/jquery.validate.min.js"></script>
|
||||
<script src="/landing/js/main.js"></script>
|
||||
<!--<script src="js/jquery.animateNumber.min.js"></script>-->
|
||||
<!--<script src="js/jquery.form.min.js"></script>-->
|
||||
{% block javascripts %}
|
||||
|
||||
{% endblock %}
|
||||
<script>
|
||||
$("#erreur").hide();
|
||||
$("#felicitationRdvContainer").hide();
|
||||
|
||||
|
||||
function demanderRdv() {
|
||||
if ($("#nom").val() == "" || $("#prenom").val() == "" || $("#email").val() == "" || $("#telephone").val() == "") {
|
||||
$("#erreur").show();
|
||||
} else {
|
||||
$("#erreur").hide();
|
||||
$("#boutonDemandeRdv").hide();
|
||||
$("#felicitationRdvContainer").show();
|
||||
$("#demandeRdvContainer").hide();
|
||||
|
||||
$.ajax({
|
||||
//L'URL de la requête
|
||||
|
||||
url: "/app_dev.php/api/demanderRdv?nom=" + $("#nom").val() + "&prenom=" + $("#prenom").val() + "&email=" +
|
||||
$("#email").val() + "&telephone=" + $("#telephone").val() + "&page=Demande rdv module vidéo",
|
||||
method: "GET",
|
||||
//La méthode d'envoi (type de requête)
|
||||
|
||||
|
||||
//Le format de réponse attendu
|
||||
dataType: "json",
|
||||
})
|
||||
//Ce code sera exécuté en cas de succès - La réponse du serveur est passée à done()
|
||||
/*On peut par exemple convertir cette réponse en chaine JSON et insérer
|
||||
* cette chaine dans un div id="res"*/
|
||||
.done(function (response) {
|
||||
console.log("Requête demande rdv done");
|
||||
setTimeout(function () {
|
||||
document.location.href = "https://blog.talentstube.com/articles-entreprise/";
|
||||
}, 8000);
|
||||
|
||||
})
|
||||
|
||||
//Ce code sera exécuté en cas d'échec - L'erreur est passée à fail()
|
||||
//On peut afficher les informations relatives à la requête et à l'erreur
|
||||
.fail(function (error) {
|
||||
console.log("Requête demande rdvfail");
|
||||
console.log(error);
|
||||
})
|
||||
|
||||
//Ce code sera exécuté que la requête soit un succès ou un échec
|
||||
.always(function () {
|
||||
console.log("Requête demande rdv effectuée");
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
function fermerVideo() {
|
||||
var videoURL = $('#player').prop('src');
|
||||
videoURL = videoURL.replace("&autoplay=1", "");
|
||||
$('#player').prop('src', '');
|
||||
$('#player').prop('src', videoURL);
|
||||
|
||||
}
|
||||
$('#exampleModalCenter').on('hidden.bs.modal', function (e) {
|
||||
console.log("exampleModalCenter11");
|
||||
fermerVideo();
|
||||
})
|
||||
</script>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
@@ -0,0 +1,268 @@
|
||||
<!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>
|
||||
<!-- End Google Tag Manager -->
|
||||
|
||||
<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 l’emploi 100% vidéo{% endblock %}</title>
|
||||
|
||||
<link rel="icon" type="image/x-icon" href="{{ asset('favicon.ico') }}" />
|
||||
{% block metarobot %}
|
||||
{# A ENLEVER EN PROD #}
|
||||
<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="/landing/css/bootstrap.min.css" rel="stylesheet">
|
||||
<link href="/v2/css/product.css" rel="stylesheet">
|
||||
<link href="css/bootstrap-responsive.min.css" rel="stylesheet" type="text/css" />
|
||||
<link href="css/bootstrap-lightbox.min.css" rel="stylesheet" type="text/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>
|
||||
|
||||
{% block modalCallToAction %}
|
||||
<!-- Modal : Formulaire -->
|
||||
<div class="modal fade" id="exampleModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel"
|
||||
aria-hidden="true">
|
||||
<div class="modal-dialog" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="container-fluid">
|
||||
<div class="row" id="demandeRdvContainer">
|
||||
<div class="col-sm-12">
|
||||
<h2>Envoyer un message à {{ user.firstname }}</h2>
|
||||
<p>Pour contacter le candidat, vous devez compléter les champs ci-dessous. Ces informations vont
|
||||
permettre au candidat de répondre à votre message.</p>
|
||||
<div class="row">
|
||||
<div class="col-12 col-sm-12">
|
||||
<div class="form-group">
|
||||
<label for="exampleInputPrenom>">Prénom</label>
|
||||
<input type="text" class="form-control" id="prenom" placeholder="Votre prénom">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-12 col-sm-12">
|
||||
<div class="form-group">
|
||||
<label for="exampleInputNom">Nom</label>
|
||||
<input type="text" class="form-control" id="nom" placeholder="Votre nom">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-12 col-sm-12">
|
||||
<div class="form-group">
|
||||
<label for="exampleInputEntreprise">Entreprise</label>
|
||||
<input type="text" class="form-control" id="entreprise" placeholder="Nom de l'entreprise">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-12 col-sm-12">
|
||||
<div class="form-group">
|
||||
<label for="exampleInputEmail1">E-mail</label>
|
||||
<input type="email" class="form-control" id="email" placeholder="Votre email">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-12 col-sm-12">
|
||||
<div class="form-group">
|
||||
<label for="exampleInputPhone">Téléphone</label>
|
||||
<input type="hidden" id="userId" value="{{ user.id }}">
|
||||
<input type="phone" class="form-control" id="telephone" placeholder="Votre téléphone">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-12 col-sm-12">
|
||||
<div class="form-group">
|
||||
<label for="exampleInputMessage">Message</label>
|
||||
<textarea class="form-control" id="message"
|
||||
placeholder="Ecrivez le message que vous souhaitez envoyer à ce talent."></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<p class="text-danger" id="erreur">Veuillez compléter l'ensemble des champs ci-dessus pour
|
||||
envoyer votre message</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-check">
|
||||
<input type="checkbox" class="form-check-input" id="exampleCheck1">
|
||||
<label class="form-check-label" for="exampleCheck1">J'accepte les <a href="https://recruteur.talentstube.com/cgu">conditions générales d'utilisation</a></label>
|
||||
<p>* En acceptant nos CGU, vous acceptez de recevoir des propositions commerciales de la part de Talents Tube</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row" id="felicitationRdvContainer" class="text-center">
|
||||
<div class="text-center">
|
||||
<img src="/landing/img/demande-rendez-vous.svg">
|
||||
<h2>Message envoyé !</h2>
|
||||
<p>Votre message a bien été envoyé à {{ user.firstname }} {{ user.lastname }}.</p>
|
||||
<p>Découvrez la plateforme <a href="/">Talents Tube</a>.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button class="bttn" onClick="miseEnRelationTalentEntreprise();" id="boutonDemandeRdv">Envoyer le message</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!--Modal : Formulaire End -->
|
||||
{% endblock %}
|
||||
<!-- 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' %}#}
|
||||
|
||||
|
||||
{% block content %}
|
||||
{% endblock %}
|
||||
{# {% include 'default/footertemporaire.html.twig' %} #}
|
||||
<script src="/landing/js/jquery-2.1.3.min.js"></script>
|
||||
<script src="/landing/js/bootstrap.min.js"></script>
|
||||
<script src="/landing/js/waypoints.min.js"></script>
|
||||
<!--Ordre important-->
|
||||
<script src="/landing/js/waypoints-sticky.min.js"></script> <!-- Nécessaire header sticky -->
|
||||
<script src="/landing/js/retina.min.js"></script> <!-- Nécessaire logo header (à voir pour l'enlever) -->
|
||||
<script src="/landing/js/owl.carousel.min.js"></script> <!-- Nécessaire avec les avantages (+de 3 avantages) -->
|
||||
<script src="/landing/js/jquery.ajaxchimp.min.js"></script> <!-- Nécessaire FAQ-->
|
||||
<script src="/landing/js/jquery.validate.min.js"></script>
|
||||
<script src="/landing/js/main.js"></script>
|
||||
{% block javascripts %}
|
||||
{% javascripts
|
||||
'@vendors'
|
||||
'@global'
|
||||
output='assetic/main.js' filter='?uglifyjs2' %}
|
||||
<script src="{{ asset_url }}"></script>
|
||||
|
||||
{% endjavascripts %}
|
||||
{% endblock %}
|
||||
<script>
|
||||
$("#erreur").hide();
|
||||
$("#felicitationRdvContainer").hide();
|
||||
|
||||
|
||||
function miseEnRelationTalentEntreprise() {
|
||||
if ($("#nom").val() == "" || $("#prenom").val() == "" || $("#entreprise").val() == "" || $("#email").val() == "" || $("#telephone").val() == "" || $("#message").val() == "") {
|
||||
$("#erreur").show();
|
||||
} else {
|
||||
$("#erreur").hide();
|
||||
$("#boutonDemandeRdv").hide();
|
||||
$("#felicitationRdvContainer").show();
|
||||
$("#demandeRdvContainer").hide();
|
||||
|
||||
$.ajax({
|
||||
//L'URL de la requête
|
||||
|
||||
url: "/app_dev.php/api/miseEnRelationTalentEntreprise?nom=" + $("#nom").val() + "&prenom=" + $("#prenom").val()+ "&entreprise=" + $("#entreprise").val() + "&email=" +
|
||||
$("#email").val() + "&telephone=" + $("#telephone").val()+ "&userId=" + $("#userId").val()+ "&message=" + $("#message").val() + "&page=Demande mise en relation",
|
||||
method: "GET",
|
||||
//La méthode d'envoi (type de requête)
|
||||
|
||||
|
||||
//Le format de réponse attendu
|
||||
dataType: "json",
|
||||
})
|
||||
//Ce code sera exécuté en cas de succès - La réponse du serveur est passée à done()
|
||||
/*On peut par exemple convertir cette réponse en chaine JSON et insérer
|
||||
* cette chaine dans un div id="res"*/
|
||||
.done(function (response) {
|
||||
console.log("Requête mise en relation done");
|
||||
|
||||
|
||||
})
|
||||
|
||||
//Ce code sera exécuté en cas d'échec - L'erreur est passée à fail()
|
||||
//On peut afficher les informations relatives à la requête et à l'erreur
|
||||
.fail(function (error) {
|
||||
console.log("Requête mise en relation fail");
|
||||
console.log(error);
|
||||
})
|
||||
|
||||
//Ce code sera exécuté que la requête soit un succès ou un échec
|
||||
.always(function () {
|
||||
console.log("Requête mise en relation effectuée");
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
</script>
|
||||
|
||||
</body>
|
||||
|
||||
|
||||
</html>
|
||||
|
||||
@@ -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 l’emploi 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>
|
||||
@@ -1,12 +1,28 @@
|
||||
<!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>Talents Tube : Le 1er job board 100% vidéo</title>
|
||||
<title>{% block title %}{% endblock %}</title>
|
||||
|
||||
<!-- Required Meta Tags Always Come First -->
|
||||
<meta charset="utf-8">
|
||||
|
||||
|
||||
{# A ENLEVER EN PROD #}
|
||||
<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">
|
||||
|
||||
@@ -19,10 +35,10 @@
|
||||
<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>
|
||||
<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) -->
|
||||
@@ -33,11 +49,17 @@
|
||||
<!-- 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,584 @@
|
||||
{% extends 'company/base_dashboard_company.html.twig' %}
|
||||
{# {% extends 'company/base_dashboard_company.html.twig' %} #}
|
||||
{% extends 'admin/base_dashboard_candidatures.html.twig' %}
|
||||
{% block javascriptSupl %}
|
||||
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/1.10.22/css/jquery.dataTables.min.css">
|
||||
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/buttons/1.6.4/css/buttons.dataTables.min.css">
|
||||
{# <script type="text/javascript" language="javascript" src="https://code.jquery.com/jquery-3.5.1.js"></script>
|
||||
<script type="text/javascript" language="javascript" src="https://cdn.datatables.net/1.10.22/js/jquery.dataTables.min.js"></script>
|
||||
|
||||
<script type="text/javascript" language="javascript" src="https://cdn.datatables.net/buttons/1.6.4/js/dataTables.buttons.min.js"></script>
|
||||
<script type="text/javascript" language="javascript" src="https://cdn.datatables.net/buttons/1.6.4/js/buttons.flash.min.js"></script> #}
|
||||
|
||||
<script type="text/javascript" src="https://code.jquery.com/jquery-3.5.1.js"></script>
|
||||
<script type="text/javascript" src="https://cdn.datatables.net/1.10.22/js/jquery.dataTables.min.js"></script>
|
||||
<script type="text/javascript" src="https://cdn.datatables.net/buttons/1.6.4/js/dataTables.buttons.min.js"></script>
|
||||
<script type="text/javascript" language="javascript"
|
||||
src="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.1.3/jszip.min.js"></script>
|
||||
<script type="text/javascript" language="javascript"
|
||||
src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.53/pdfmake.min.js"></script>
|
||||
<script type="text/javascript" language="javascript"
|
||||
src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.53/vfs_fonts.js"></script>
|
||||
<script type="text/javascript" language="javascript"
|
||||
src="https://cdn.datatables.net/buttons/1.6.4/js/buttons.html5.min.js"></script>
|
||||
|
||||
<script type="text/javascript" language="javascript"
|
||||
src="https://cdn.datatables.net/buttons/1.6.4/js/buttons.print.min.js"></script>
|
||||
{% endblock %}
|
||||
|
||||
{% block dashContent %}
|
||||
{% if type == "spontaneous" %}
|
||||
{% include 'company/job_submenu.html.twig' with {
|
||||
<!-- 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 {
|
||||
{% 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>
|
||||
{% endif %} #}
|
||||
|
||||
<!-- 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 l’espace visiteurs ?</h5>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<h5> </h5>
|
||||
<p>Pour transmettre les informations aux personnes de votre choix, nous vous invitons à copier-coller le
|
||||
texte présent dans l’encadré 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 d’un 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" data-backdrop="static">
|
||||
<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">×</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<h5> </h5>
|
||||
<p>En cliquant sur confirmer, cette candidature ne sera plus accessible dans l’espace visiteurs.</p>
|
||||
|
||||
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<input type="hidden" id="caseRecocher">
|
||||
<button type="button" class="btn btn-secondary" data-dismiss="modal"
|
||||
onClick="annulerCheckbox()">Annuler</button>
|
||||
<button type="button" class="btn btn-secondary" data-dismiss="modal">Confirmer</button>
|
||||
</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="col-xl-12">
|
||||
<div class="card card-borderless col-xl-12 col-sm-12 p-b-20">
|
||||
<div class="row profil-candidature">
|
||||
<div class="col-xl-6 col-md-12 p-t-10">
|
||||
<h5>{{ ad.title }}</h5>
|
||||
<h6>Publiée le {{ ad.publishedAt|date("d/m/Y") }}</h6>
|
||||
</div>
|
||||
<div class="col-xl-6 col-md-12 p-t-20 text-right">
|
||||
<a href="#" class="" data-toggle="tooltip"
|
||||
title="Cochez une ou plusieurs candidatures avant de pouvoir les partager.">
|
||||
<button type="button" class="btn btn-primary m-b-10 btn-lg " disabled data-toggle="modal"
|
||||
data-target="#partageModal" id="partageCandidats">
|
||||
Partager les
|
||||
candidatures
|
||||
</button>
|
||||
</a>
|
||||
<!--<button type="button" aria-label="" class="btn btn-default btn-lg m-b-10">
|
||||
<span class="material-icons fs-16 m-r-5">delete</span>
|
||||
<span class="">Clôturer</span>
|
||||
</button>-->
|
||||
<a href="{{ path('company_ad_soft_edit', { 'id': ad.id }) }}">
|
||||
<button type="button" aria-label="" class="btn btn-default btn-lg m-b-10">
|
||||
<span class="material-icons fs-16 m-r-5">create</span>
|
||||
<span class="">Éditer l'offre</span>
|
||||
</button>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<style type="text/css">
|
||||
/* Hide default search box */
|
||||
.dataTables_filter {
|
||||
display: none;
|
||||
}
|
||||
</style>
|
||||
<div id="reponses" class="table-responsive m-t-20">
|
||||
<table width="100%" class="table " style="">
|
||||
<tr>
|
||||
<th>{{ '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>
|
||||
<th width="11%"><input id='input3' type='text' class='form-control' placeholder='Recherche par nom'
|
||||
style='font-family:Arial, FontAwesome; width:100%' />
|
||||
</th>
|
||||
|
||||
<th width="11%"><input id='input4' type='text' class='form-control'
|
||||
placeholder='Recherche par prénom' style='font-family:Arial, FontAwesome; width:100%' />
|
||||
</th>
|
||||
<th width="25%">
|
||||
<select id='input8' class='form-control'>
|
||||
<option value="">Tous les statuts</option>
|
||||
<option value="A_TRAITER">À traiter</option>
|
||||
<option value="CONTACTE">Contacté</option>
|
||||
<option value="ENTRETIEN">Entretien programmé</option>
|
||||
<option value="REFUSE">Refusé</option>
|
||||
<option value="EMBAUCHE">Embauché</option>
|
||||
</select>
|
||||
</th>
|
||||
</tr>
|
||||
</table>
|
||||
<table id="candidatures_dt_table" width="100%" class="table table-hover ">
|
||||
<thead>
|
||||
<tr>
|
||||
<th width="4%"></th>
|
||||
<th width="4%">Vidéo</th>
|
||||
<th width="6%">Nom</th>
|
||||
<th width="6%">Prénom</th>
|
||||
<th width="11%">Date de reception</th>
|
||||
<th width="11%">Intitulé de l'offre</th>
|
||||
<th width="21%">Localisation</th>
|
||||
<th width="15%">Statut</th>
|
||||
|
||||
</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 %}
|
||||
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="note-modal"></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.
|
||||
var checkboxCocheId = null;
|
||||
allCheckboxes.each(function () {
|
||||
var isChecked = $(this).prop('checked');
|
||||
if (isChecked == true) {
|
||||
auMoinUneCheckboxCoche = true;
|
||||
|
||||
var tabId = $(this).prop('id').split("_");
|
||||
checkboxCocheId = tabId[1];
|
||||
console.log(checkboxCocheId);
|
||||
}
|
||||
|
||||
});
|
||||
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);
|
||||
}
|
||||
|
||||
return checkboxCocheId;
|
||||
|
||||
}
|
||||
|
||||
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 () {
|
||||
console.log("ready");
|
||||
var id = parcourirAllCheckbox();
|
||||
//on recupere un id d'une checkbox coché pour lancer l'ajax et remplacé les caracteres ###### par le mot de passe
|
||||
verifierIsChecked(id);
|
||||
//initialize all modals!!
|
||||
$('.modal').modal({
|
||||
dismissible: true
|
||||
});
|
||||
$('#partageModal').modal('hide');
|
||||
$('#decocheModal').modal('hide');
|
||||
});
|
||||
$(window).load(function () {
|
||||
$('#partageModal').modal('hide');
|
||||
$('#decocheModal').modal('hide');
|
||||
});
|
||||
</script>
|
||||
<script>
|
||||
$(document).ready(function () {
|
||||
|
||||
// Add a text input to each footer cell
|
||||
var pos = 1;
|
||||
|
||||
|
||||
|
||||
|
||||
var table = $('#candidatures_dt_table').DataTable({
|
||||
|
||||
|
||||
|
||||
"columnDefs": [
|
||||
{
|
||||
"name": "partage",
|
||||
"targets": 0,
|
||||
"searchable": false,
|
||||
"orderable": false
|
||||
},
|
||||
{
|
||||
"name": "video",
|
||||
"targets": 1,
|
||||
"searchable": true,
|
||||
"orderable": false
|
||||
},
|
||||
{
|
||||
"name": "nom",
|
||||
"targets": 2,
|
||||
"type": 'html',
|
||||
"searchable": true,
|
||||
"orderable": true
|
||||
},
|
||||
{
|
||||
"name": "prenom",
|
||||
"targets": 3,
|
||||
"type": 'html',
|
||||
"searchable": true,
|
||||
"orderable": true
|
||||
},
|
||||
{
|
||||
"name": "dateReception",
|
||||
"targets": 4,
|
||||
"searchable": true,
|
||||
"orderable": true
|
||||
},
|
||||
{
|
||||
"name": "offre",
|
||||
"targets": 5,
|
||||
"searchable": true,
|
||||
"orderable": false
|
||||
},
|
||||
{
|
||||
"name": "localisation",
|
||||
"targets": 6,
|
||||
"searchable": true,
|
||||
"orderable": false
|
||||
},
|
||||
{
|
||||
"name": "statusReponse",
|
||||
"targets": 7,
|
||||
"searchable": true,
|
||||
"orderable": false
|
||||
},
|
||||
],
|
||||
"processing": true,
|
||||
"serverSide": true,
|
||||
|
||||
"ajax": {
|
||||
"url": "{{ path('alimenterCandidaturesAd',{'id':ad.id}) }}",
|
||||
"type": 'POST',
|
||||
},
|
||||
"paging": true,
|
||||
"info": true,
|
||||
"searching": true,
|
||||
"bFilter": true,
|
||||
"responsive": true,
|
||||
"pageLength": 100,
|
||||
"order": [
|
||||
[4, 'desc']
|
||||
],
|
||||
"language": {
|
||||
"sProcessing": "En cours de chargement...",
|
||||
"sSearch": "Rechercher :",
|
||||
"sLengthMenu": "Afficher _MENU_ candidatures",
|
||||
"sInfo": "Candidature de _START_ à _END_ sur _TOTAL_ candidatures",
|
||||
"sInfoEmpty": "Candidature 0 à 0 sur 0 candidature",
|
||||
"sInfoFiltered": "",
|
||||
"sInfoPostFix": "",
|
||||
"sLoadingRecords": "Chargement en cours...",
|
||||
"sZeroRecords": "Aucune candidature ne correspond à votre recherche",
|
||||
"sEmptyTable": "Aucune candidature disponible dans le tableau",
|
||||
"oPaginate": {
|
||||
"sFirst": "Premier",
|
||||
"sPrevious": "Précédent",
|
||||
"sNext": "Suivant",
|
||||
"sLast": "Dernier"
|
||||
},
|
||||
"oAria": {
|
||||
"sSortAscending": ": activer pour trier la colonne par ordre croissant",
|
||||
"sSortDescending": ": activer pour trier la colonne par ordre décroissant"
|
||||
}
|
||||
},
|
||||
|
||||
});
|
||||
|
||||
|
||||
|
||||
// Apply the search
|
||||
pos = 1;
|
||||
table.columns().every(function () {
|
||||
var that = this;
|
||||
|
||||
$("#input" + pos).on('keyup change', function () {
|
||||
console.log(this);
|
||||
if (that.search() !== this.value) {
|
||||
that
|
||||
.search(this.value)
|
||||
.draw();
|
||||
}
|
||||
});
|
||||
pos++;
|
||||
});
|
||||
|
||||
$('#candidatures_dt_table_filter').hide();
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
});
|
||||
</script>
|
||||
{% endblock %}
|
||||
@@ -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('/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,722 @@
|
||||
{% 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>
|
||||
</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" data-show="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 sélectionner le métier <span
|
||||
class="metierPopup"></span>?</h5>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<h5> </h5>
|
||||
<p>
|
||||
|
||||
Si vous aviez précédemment sélectionné des compétences en lien avec l'ancien métier de rattachement,
|
||||
celles-ci seront remplacées par les nouvelles compétences, correspondant au métier <span
|
||||
class="metierPopup"></span>.
|
||||
</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();">Sélectionner</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Modal 2 -->
|
||||
<div class="modal fade modalCompetences" id="ajoutCompetencesModal" tabindex="-1" role="dialog"
|
||||
aria-labelledby="ajoutCompetencesModalLabel" aria-hidden="false" data-show="false">
|
||||
<div class="modal-dialog modal-lg" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h6 class="modal-title">Sélectionnez les compétences recherchées pour le poste à pourvoir </h6>
|
||||
<h7 class="modal-title">Vous pouvez sélectionner jusqu’à 10 compétences à afficher dans votre offre
|
||||
d’emploi. </h7>
|
||||
</div>
|
||||
<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 class="col-lg-8 bloc-header">
|
||||
<div class="card card-default container">
|
||||
<div class="card-body">
|
||||
<div class="row" style="min-height:10rem;">
|
||||
<div class="col-8">
|
||||
<h4 class="header-title" style="font-size:2em;line-height:1.5em;">Création d'une offre d'emploi
|
||||
vidéo</h4>
|
||||
<p>Pour trouver le bon profil, renseignez et personnalisez votre annonce. <br>Plus votre annonce
|
||||
est précise et attractive, plus les candidatures seront ciblées.</p>
|
||||
</div>
|
||||
<div class="col-4"
|
||||
style="background-repeat: no-repeat; background-image: url('https://blog.talentstube.com/wp-content/uploads/2021/02/creer-offre-emploi-video.svg');background-size: contain;background-position: center;">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="rootwizard" class="col-lg-8 m-t-50">
|
||||
{% if type is defined and type == 'update' %}
|
||||
{% include 'company/ad_stepsV2.html.twig' with {'tab':1, 'type':'update'} %}
|
||||
{% else %}
|
||||
{% include 'company/ad_stepsV2.html.twig' with {'tab':1} %}
|
||||
{% endif %}
|
||||
|
||||
<div class="tab-content">
|
||||
{{ form_start(form, {'attr': {'class': ''}}) }}
|
||||
|
||||
<div class="tab-pane padding-20 sm-no-padding active slide-left" id="tab1">
|
||||
<div class="row row-same-height">
|
||||
<div class="col-md">
|
||||
<h4>À propos du poste</h4>
|
||||
<br>
|
||||
{% if form.title is defined%}
|
||||
<div class="form-group form-group-default required">
|
||||
{# <label for="ad_title" class="required active">Intitulé du poste</label><input type="text"
|
||||
id="ad_title" name="ad[title]" required="required" placeholder="Ex: Commercial (H/F)"
|
||||
class="form-control"> #}
|
||||
{{ form_row(form.title) }}
|
||||
</div>
|
||||
{% endif %}
|
||||
{% if form.reference is defined%}
|
||||
<div class="form-group form-group-default required">
|
||||
{# <label for="ad_reference" class="required active">Référence de l'offre
|
||||
d'emploi</label><input type="text" id="ad_reference" name="ad[reference]"
|
||||
required="required" placeholder="Ex : BTH567" class="form-control"> #}
|
||||
{{ form_row(form.reference) }}
|
||||
</div>
|
||||
{% endif %}
|
||||
<div class="form-group form-group-default required" style="min-height:250px;">
|
||||
{# <label for="ad_description" class="required active">Description du poste</label>
|
||||
<textarea id="ad_description" name="ad[description]" required="required"
|
||||
class="form-control"
|
||||
placeholder="Décrivez le poste, les missions, le profil recherché..."></textarea> #}
|
||||
{{ form_row(form.description) }}
|
||||
</div>
|
||||
<div class="form-group form-group-default required">
|
||||
{# <label for="ad_location_gmap" class="required active">Localisation du poste</label><input
|
||||
type="text" id="ad_location_gmap" name="ad[location_gmap]" required="required" value=""
|
||||
class="form-control pac-target-input"
|
||||
placeholder="Ex : 3 Rue Louis de Broglie, Vannes, France" autocomplete="off"> #}
|
||||
{{ form_row(form.location_gmap) }}
|
||||
{{ form_row(form.location) }}
|
||||
</div>
|
||||
{# <input type="hidden" id="ad_location" name="ad[location]" value="null"> #}
|
||||
<br>
|
||||
<h6>Organisation cliente (facultatif)</h6>
|
||||
<div class="form-group form-group-default">
|
||||
{# <label for="ad_beneficiaire" class="active">Nom de l'organisation</label>
|
||||
<input type="text" id="ad_beneficiaire" name="ad[beneficiaire]" placeholder=""
|
||||
class="form-control"> #}
|
||||
{{ form_row(form.beneficiaire) }}
|
||||
</div>
|
||||
<p class="fs-12 bold">Vous souhaitez recruter pour l'un de vos clients ? Veuillez renseigner le
|
||||
champ ci-dessus</p>
|
||||
<br>
|
||||
<h4>Critères de l'offre d'emploi</h4>
|
||||
<br>
|
||||
<div class="form-group form-group-default required">
|
||||
{# <label for="ad_contract_type" class="required">Type de contrat:</label>
|
||||
<select id="ad_contract_type" name="ad[contract_type]" class="form-control">
|
||||
<option value="CDI">CDI</option>
|
||||
<option value="CDD">CDD</option>
|
||||
<option value="Apprentissage">Apprentissage</option>
|
||||
<option value="professionnalisation">Contrat de professionnalisation</option>
|
||||
<option value="Stage">Stage</option>
|
||||
<option value="Indépendant">Indépendant</option>
|
||||
<option value="Interim">Interim</option>
|
||||
</select> #}
|
||||
{{ form_row(form.contract_type) }}
|
||||
</div>
|
||||
<div class="form-group form-group-default disabled" id="ad_duree_contrat_div">
|
||||
{# <label for="ad_duree_contrat" class="active">Durée du contrat en mois</label>
|
||||
<input type="number" id="ad_duree_contrat" name="ad[duree_contrat]" value="0"
|
||||
class="form-control" placeholder="Ex : 6" min="0" max="36" disabled=""> #}
|
||||
{{ form_row(form.duree_contrat) }}
|
||||
</div>
|
||||
<div class="form-group form-group-default required">
|
||||
{# <label for="ad_temps_type" class="required">Type d'emploi</label>
|
||||
<select id="ad_temps_type" name="ad[temps_type]" class="form-control">
|
||||
<option value="FULL_TIME">Temps plein </option>
|
||||
<option value="PART_TIME">Temps partiel </option>
|
||||
<option value="MIX_TIME">Temps plein ou temps partiel</option>
|
||||
</select> #}
|
||||
{{ form_row(form.temps_type) }}
|
||||
</div>
|
||||
<div class="form-group form-group-default disabled" id="ad_nombre_heure_div">
|
||||
{# <label for="ad_nombre_heure" class="active">Temps de travail (Le nombre saisi correspond au
|
||||
nombre d'heures/semaine.)</label>
|
||||
<input type="number" id="ad_nombre_heure" name="ad[nombre_heure]" value="0"
|
||||
class="form-control" placeholder="Ex : 20" min="0" max="35" disabled=""> #}
|
||||
{{ form_row(form.nombre_heure) }}
|
||||
</div>
|
||||
<div class="form-group form-group-default required">
|
||||
{# <label for="ad_teletravail" class="required">Possibilité de faire du Télétravail?</label>
|
||||
<select id="ad_teletravail" name="ad[teletravail]" class="form-control">
|
||||
<option value="tele_occasionel">Occasionnel </option>
|
||||
<option value="tele_partiel">Partiel </option>
|
||||
<option value="tele_total">Total</option>
|
||||
<option value="tele_non">Non</option>
|
||||
</select> #}
|
||||
{{ form_row(form.teletravail) }}
|
||||
</div>
|
||||
|
||||
<br>
|
||||
<h4 class="no-margin p-b-5">Compétences recherchées</h4>
|
||||
<br>
|
||||
<div class="col bg-contrast-lower">
|
||||
<br>
|
||||
<table>
|
||||
<tr class='bg-contrast-lower'>
|
||||
<td class="col-lg-12 col-md-12 col-sm-12 bg-contrast-lower">
|
||||
<h3 class="no-margin p-b-5">Compétences recherchées</h3>
|
||||
<br />
|
||||
Recherchez le métier de rattachement le plus proche de l’intitulé 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 d’emploi.
|
||||
</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 id="loadingDiv">Patientez...</div><br />
|
||||
<div class="text-center" id="competencesButtonAd">
|
||||
<button type="button" class="btn btn-info btn-lg" data-toggle="modal"
|
||||
data-target="#ajoutCompetencesModal" id="ajoutCompetences">
|
||||
Ajouter des compétences
|
||||
</button>
|
||||
<input type="hidden" id="nbCompetences">
|
||||
<span id="nbCompetencesText"></span>
|
||||
</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> #}
|
||||
|
||||
|
||||
|
||||
|
||||
</table>
|
||||
</div>
|
||||
<br>
|
||||
|
||||
<button aria-label="" type="submit"
|
||||
class="btn btn-lg btn-primary btn-cons btn-animated from-left" id="saveAdButton"
|
||||
disabled="">
|
||||
<span>Suivant</span>
|
||||
<span class="hidden-block">
|
||||
<i class="material-icons tab-icon">videocam</i>
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
{{ form_end(form) }}
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</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);
|
||||
$("#ad_nombre_heure_div").removeClass("disabled");
|
||||
} else {
|
||||
//$("#ligneNbHeure").hide().prop('required',false) ;;
|
||||
$("#ad_nombre_heure").prop("disabled", true);
|
||||
$("#ad_nombre_heure_div").addClass("disabled");
|
||||
}
|
||||
}
|
||||
|
||||
//Methode permettant d'afficher le bloc durée de contrat si le contrat est un CDI
|
||||
function afficherDureeContrat() {
|
||||
console.log("type de contrat =" + $("#ad_contract_type").val());
|
||||
if ($("#ad_contract_type").val() == "CDD") {
|
||||
//$("#ligneDureeContrat").show();
|
||||
$("#ad_duree_contrat").prop("disabled", false);
|
||||
$("#ad_duree_contrat_div").removeClass("disabled");
|
||||
} else {
|
||||
//$("#ligneDureeContrat").hide().prop('required',false) ;
|
||||
$("#ad_duree_contrat").prop("disabled", true);
|
||||
$("#ad_duree_contrat_div").addClass("disabled");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
$("#ad_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("'", " ");
|
||||
chaine = chaine.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();
|
||||
console.log(competences);
|
||||
// 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 "
|
||||
);
|
||||
$("#competencesAdMessagePopup").html(
|
||||
"Vous devez sélectionner au minimum une compétence "
|
||||
);
|
||||
$("#ajouterCompetenceButtonMdal").html("Ajouter (+0)");
|
||||
$("#ajouterCompetenceButtonMdal").hide();
|
||||
//$("#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(" ");
|
||||
$("#competencesAdMessagePopup").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();
|
||||
$('#loadingDiv').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("'", " ");
|
||||
var chaine = chaine.replace("'", ",");
|
||||
return '<div onclick="chargerDonneesTemp(' + data.metier_id + ',\'' +
|
||||
chaine +
|
||||
'\')" data-toggle="modal" data-target="#competencesModal" id="competences"><a href="#" >' +
|
||||
data.metier_libelle +
|
||||
'</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",
|
||||
beforeSend: function () { // Before we send the request, remove the .hidden class from the spinner and default to inline-block.
|
||||
$('#loadingDiv').show();
|
||||
console.log("début loading");
|
||||
},
|
||||
})
|
||||
//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 (competence de base)
|
||||
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("'", " ");
|
||||
chaine = chaine.replace(",", " ");
|
||||
chaine = chaine.replace('"', " ");
|
||||
$("#competencesAd").append('<div id="competence_ad_' + object.code +
|
||||
'" name="competences_ad[]"><input type="checkbox" ' + checked +
|
||||
' onChange="genererCompetences(this);" id="competence_' + object
|
||||
.code + '" value="' + chaine + "_" + object.code + '"> ' + object.libelle +
|
||||
'<br/></div>');
|
||||
|
||||
$("#competencesAdPopup").append('<div id="competence_ad_popup_' + object.code +
|
||||
'"><input type="checkbox" ' + checked +
|
||||
' onChange="genererCompetences(this);" id="competencepopup_' + object
|
||||
.code + '" value="' + object.code + '"> ' + object.libelle + '<br/></div>');
|
||||
if (object.competenceCle == false) {
|
||||
$("#competence_ad_" + object.code).hide();
|
||||
}
|
||||
});
|
||||
|
||||
//parcours de l'objet json renvoyé par l'api ( groupes de compétences spécifiques)
|
||||
obj.groupesCompetencesSpecifiques.forEach(function (object) {
|
||||
//parcours de l'objet json renvoyé par l'api ( groupes de compétences spécifiques)
|
||||
object.competences.forEach(function (competence) {
|
||||
// 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 = "";
|
||||
//On on ne coche pas ces competences clé (uniquement les compétences de base) sur le formulaire de base
|
||||
//if (competence.competenceCle == true && type != "init") {
|
||||
//checked = "checked";
|
||||
//}
|
||||
var chaine = competence.libelle.replace("'", " ");
|
||||
chaine = chaine.replace(",", " ");
|
||||
$("#competencesAd").append("<div id='competence_ad_" + competence.code +
|
||||
"' name='competences_ad[]'><input type='checkbox' " + checked +
|
||||
" onChange='genererCompetences(this);' id='competence_" +
|
||||
competence
|
||||
.code + "' value='" + chaine + "_" + competence.code + "'> " +
|
||||
competence.libelle + "<br/></div>");
|
||||
|
||||
$("#competencesAdPopup").append("<div id='competence_ad_popup_" + competence
|
||||
.code + "'><input type='checkbox' " + checked +
|
||||
" onChange='genererCompetences(this);' id='competencepopup_" +
|
||||
competence
|
||||
.code + "' value='" + competence.code + "'> " + competence.libelle +
|
||||
"<br/></div>");
|
||||
//On n'affiche pas ces competences (meme les competences clé) sur le formulaire de base
|
||||
//if (competence.competenceCle == false) {
|
||||
$("#competence_ad_" + competence.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();
|
||||
$('#loadingDiv').hide();
|
||||
})
|
||||
|
||||
//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();'><br/><i class='fa fa-refresh fa-spin fa-fw'></i>Cliquez ici pour relancer la recherche</a> "
|
||||
);
|
||||
|
||||
}
|
||||
$('#loadingDiv').hide();
|
||||
console.log("La requête s'est terminée en échec q= " + $("#id_appellation_temporaire").val() +
|
||||
" Infos : " + JSON.stringify(error));
|
||||
})
|
||||
//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);
|
||||
$("#competence_ad_" + id).hide();
|
||||
//$("#competence_" + id).hide();
|
||||
$("#competencepopup_" + id).prop("checked", false);
|
||||
}
|
||||
// on génere le json a chaque fois
|
||||
genererJson();
|
||||
}
|
||||
</script>
|
||||
{% endblock %}
|
||||
@@ -1,29 +1,743 @@
|
||||
{% 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} %}
|
||||
<!-- 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>
|
||||
|
||||
<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/>
|
||||
</ol>
|
||||
<!-- END BREADCRUMB -->
|
||||
|
||||
{% 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) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- END JUMBOTRON -->
|
||||
|
||||
<!-- MODALS-->
|
||||
<!-- Modal 0 -->
|
||||
<div class="modal fade in bd-example-modal-lg" id="popupSubmitModal" tabindex="-1" role="dialog"
|
||||
aria-labelledby="popupSubmitModalLabel" aria-hidden="false" data-show="false">
|
||||
<div class="modal-dialog modal-lg" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title" id="popupSubmitModalLabel">Votre offre d’emploi vidéo est en cours de validation par l'équipe Talents Tube</h5>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
|
||||
<p>Vous recevrez un e-mail lorsque votre offre d’emploi sera publiée sur la plateforme.</p>
|
||||
|
||||
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-secondary" data-dismiss="modal" onClick="submitFormAd()">Fermer</button>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Modal 1 -->
|
||||
<div class="modal fade bd-example-modal-lg" id="competencesModal" tabindex="-1" role="dialog"
|
||||
aria-labelledby="competencesModalLabel" aria-hidden="false" data-show="false">
|
||||
<div class="modal-dialog modal-lg" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title" id="competencesModalLabel">Souhaitez-vous sélectionner le métier <span
|
||||
class="metierPopup"></span>?</h5>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<h5> </h5>
|
||||
<p>
|
||||
|
||||
Si vous aviez précédemment sélectionné des compétences en lien avec l'ancien métier de rattachement,
|
||||
celles-ci seront remplacées par les nouvelles compétences, correspondant au métier <span
|
||||
class="metierPopup"></span>.
|
||||
</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();">Sélectionner</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Modal 2 -->
|
||||
<div class="modal fade modalCompetences" id="ajoutCompetencesModal" tabindex="-1" role="dialog"
|
||||
aria-labelledby="ajoutCompetencesModalLabel" aria-hidden="false" data-show="false">
|
||||
<div class="modal-dialog modal-lg" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h6 class="modal-title">Sélectionnez les compétences recherchées pour le poste à pourvoir </h6>
|
||||
<h7 class="modal-title">Vous pouvez sélectionner jusqu’à 10 compétences à afficher dans votre offre
|
||||
d’emploi. </h7>
|
||||
</div>
|
||||
<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 class="col-lg-8 bloc-header">
|
||||
<div class="card card-default container">
|
||||
<div class="card-body">
|
||||
<div class="row" style="min-height:10rem;">
|
||||
<div class="col-8">
|
||||
<h4 class="header-title" style="font-size:2em;line-height:1.5em;">Création d'une offre d'emploi
|
||||
vidéo</h4>
|
||||
<p>Pour trouver le bon profil, renseignez et personnalisez votre annonce. <br>Plus votre annonce
|
||||
est précise et attractive, plus les candidatures seront ciblées.</p>
|
||||
</div>
|
||||
<div class="col-4"
|
||||
style="background-repeat: no-repeat; background-image: url('https://blog.talentstube.com/wp-content/uploads/2021/02/creer-offre-emploi-video.svg');background-size: contain;background-position: center;">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="rootwizard" class="col-lg-8 m-t-50">
|
||||
{% if type is defined and type == 'update' %}
|
||||
{% include 'company/ad_stepsV2.html.twig' with {'tab':1, 'type':'update'} %}
|
||||
{% else %}
|
||||
{% include 'company/ad_stepsV2.html.twig' with {'tab':1} %}
|
||||
{% endif %}
|
||||
|
||||
<div class="tab-content">
|
||||
{{ form_start(form, {'attr': {'class': ''}}) }}
|
||||
|
||||
<div class="tab-pane padding-20 sm-no-padding active slide-left" id="tab1">
|
||||
<div class="row row-same-height">
|
||||
<div class="col-md">
|
||||
<h4>À propos du poste</h4>
|
||||
<br>
|
||||
{% if form.title is defined%}
|
||||
<div class="form-group form-group-default required">
|
||||
{# <label for="ad_title" class="required active">Intitulé du poste</label><input type="text"
|
||||
id="ad_title" name="ad[title]" required="required" placeholder="Ex: Commercial (H/F)"
|
||||
class="form-control"> #}
|
||||
{{ form_row(form.title) }}
|
||||
</div>
|
||||
{% endif %}
|
||||
{% if form.reference is defined%}
|
||||
<div class="form-group form-group-default required">
|
||||
{# <label for="ad_reference" class="required active">Référence de l'offre
|
||||
d'emploi</label><input type="text" id="ad_reference" name="ad[reference]"
|
||||
required="required" placeholder="Ex : BTH567" class="form-control"> #}
|
||||
{{ form_row(form.reference) }}
|
||||
</div>
|
||||
{% endif %}
|
||||
<div class="form-group form-group-default required" style="min-height:250px;">
|
||||
{# <label for="ad_description" class="required active">Description du poste</label>
|
||||
<textarea id="ad_description" name="ad[description]" required="required"
|
||||
class="form-control"
|
||||
placeholder="Décrivez le poste, les missions, le profil recherché..."></textarea> #}
|
||||
{{ form_row(form.description) }}
|
||||
</div>
|
||||
<div class="form-group form-group-default required">
|
||||
{# <label for="ad_location_gmap" class="required active">Localisation du poste</label><input
|
||||
type="text" id="ad_location_gmap" name="ad[location_gmap]" required="required" value=""
|
||||
class="form-control pac-target-input"
|
||||
placeholder="Ex : 3 Rue Louis de Broglie, Vannes, France" autocomplete="off"> #}
|
||||
{{ form_row(form.location_gmap) }}
|
||||
{{ form_row(form.location) }}
|
||||
</div>
|
||||
{# <input type="hidden" id="ad_location" name="ad[location]" value="null"> #}
|
||||
<br>
|
||||
<h6>Organisation cliente (facultatif)</h6>
|
||||
<div class="form-group form-group-default">
|
||||
{# <label for="ad_beneficiaire" class="active">Nom de l'organisation</label>
|
||||
<input type="text" id="ad_beneficiaire" name="ad[beneficiaire]" placeholder=""
|
||||
class="form-control"> #}
|
||||
{{ form_row(form.beneficiaire) }}
|
||||
</div>
|
||||
<p class="fs-12 bold">Vous souhaitez recruter pour l'un de vos clients ? Veuillez renseigner le
|
||||
champ ci-dessus</p>
|
||||
<br>
|
||||
<h4>Critères de l'offre d'emploi</h4>
|
||||
<br>
|
||||
<div class="form-group form-group-default required">
|
||||
{# <label for="ad_contract_type" class="required">Type de contrat:</label>
|
||||
<select id="ad_contract_type" name="ad[contract_type]" class="form-control">
|
||||
<option value="CDI">CDI</option>
|
||||
<option value="CDD">CDD</option>
|
||||
<option value="Apprentissage">Apprentissage</option>
|
||||
<option value="professionnalisation">Contrat de professionnalisation</option>
|
||||
<option value="Stage">Stage</option>
|
||||
<option value="Indépendant">Indépendant</option>
|
||||
<option value="Interim">Interim</option>
|
||||
</select> #}
|
||||
{{ form_row(form.contract_type) }}
|
||||
</div>
|
||||
<div class="form-group form-group-default disabled" id="ad_duree_contrat_div">
|
||||
{# <label for="ad_duree_contrat" class="active">Durée du contrat en mois</label>
|
||||
<input type="number" id="ad_duree_contrat" name="ad[duree_contrat]" value="0"
|
||||
class="form-control" placeholder="Ex : 6" min="0" max="36" disabled=""> #}
|
||||
{{ form_row(form.duree_contrat) }}
|
||||
</div>
|
||||
<div class="form-group form-group-default required">
|
||||
{# <label for="ad_temps_type" class="required">Type d'emploi</label>
|
||||
<select id="ad_temps_type" name="ad[temps_type]" class="form-control">
|
||||
<option value="FULL_TIME">Temps plein </option>
|
||||
<option value="PART_TIME">Temps partiel </option>
|
||||
<option value="MIX_TIME">Temps plein ou temps partiel</option>
|
||||
</select> #}
|
||||
{{ form_row(form.temps_type) }}
|
||||
</div>
|
||||
<div class="form-group form-group-default disabled" id="ad_nombre_heure_div">
|
||||
{# <label for="ad_nombre_heure" class="active">Temps de travail (Le nombre saisi correspond au
|
||||
nombre d'heures/semaine.)</label>
|
||||
<input type="number" id="ad_nombre_heure" name="ad[nombre_heure]" value="0"
|
||||
class="form-control" placeholder="Ex : 20" min="0" max="35" disabled=""> #}
|
||||
{{ form_row(form.nombre_heure) }}
|
||||
</div>
|
||||
<div class="form-group form-group-default required">
|
||||
{# <label for="ad_teletravail" class="required">Possibilité de faire du Télétravail?</label>
|
||||
<select id="ad_teletravail" name="ad[teletravail]" class="form-control">
|
||||
<option value="tele_occasionel">Occasionnel </option>
|
||||
<option value="tele_partiel">Partiel </option>
|
||||
<option value="tele_total">Total</option>
|
||||
<option value="tele_non">Non</option>
|
||||
</select> #}
|
||||
{{ form_row(form.teletravail) }}
|
||||
{{ form_row(form.status) }}
|
||||
</div>
|
||||
|
||||
<br>
|
||||
<h4 class="no-margin p-b-5">Compétences recherchées</h4>
|
||||
<br>
|
||||
<div class="col bg-contrast-lower">
|
||||
<br>
|
||||
<table>
|
||||
<tr class='bg-contrast-lower'>
|
||||
<td class="col-lg-12 col-md-12 col-sm-12 bg-contrast-lower">
|
||||
<h3 class="no-margin p-b-5">Compétences recherchées</h3>
|
||||
<br />
|
||||
Recherchez le métier de rattachement le plus proche de l’intitulé 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 d’emploi.
|
||||
</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 id="loadingDiv">Patientez...</div><br />
|
||||
<div class="text-center" id="competencesButtonAd">
|
||||
<button type="button" class="btn btn-info btn-lg" data-toggle="modal"
|
||||
data-target="#ajoutCompetencesModal" id="ajoutCompetences">
|
||||
Ajouter des compétences
|
||||
</button>
|
||||
<input type="hidden" id="nbCompetences">
|
||||
<span id="nbCompetencesText"></span>
|
||||
</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> #}
|
||||
|
||||
|
||||
|
||||
|
||||
</table>
|
||||
</div>
|
||||
<br>
|
||||
<button type="button" class="btn btn-lg btn-primary btn-cons btn-animated from-left" data-toggle="modal"
|
||||
data-target="#popupSubmitModal" id="saveAdButton">
|
||||
<span>Suivant</span>
|
||||
<span class="hidden-block">
|
||||
<i class="material-icons tab-icon">videocam</i>
|
||||
</span>
|
||||
</button>
|
||||
{# <button aria-label="" type="submit"
|
||||
class="btn btn-lg btn-primary btn-cons btn-animated from-left" id="saveAdButton"
|
||||
disabled="">
|
||||
<span>Suivant</span>
|
||||
<span class="hidden-block">
|
||||
<i class="material-icons tab-icon">videocam</i>
|
||||
</span>
|
||||
</button> #}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
{{ form_end(form) }}
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- END CONTAINER FLUID -->
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block javascriptsSecondaire %}
|
||||
<script type="application/javascript">
|
||||
function afficherTempsType() {
|
||||
if ($("#ad_temps_type").val() == "PART_TIME") {
|
||||
//$("#ligneNbHeure").show();
|
||||
$("#ad_nombre_heure").prop("disabled", false);
|
||||
$("#ad_nombre_heure_div").removeClass("disabled");
|
||||
} else {
|
||||
//$("#ligneNbHeure").hide().prop('required',false) ;;
|
||||
$("#ad_nombre_heure").prop("disabled", true);
|
||||
$("#ad_nombre_heure_div").addClass("disabled");
|
||||
}
|
||||
}
|
||||
|
||||
//Methode permettant d'afficher le bloc durée de contrat si le contrat est un CDI
|
||||
function afficherDureeContrat() {
|
||||
console.log("type de contrat =" + $("#ad_contract_type").val());
|
||||
if ($("#ad_contract_type").val() == "CDD") {
|
||||
//$("#ligneDureeContrat").show();
|
||||
$("#ad_duree_contrat").prop("disabled", false);
|
||||
$("#ad_duree_contrat_div").removeClass("disabled");
|
||||
} else {
|
||||
//$("#ligneDureeContrat").hide().prop('required',false) ;
|
||||
$("#ad_duree_contrat").prop("disabled", true);
|
||||
$("#ad_duree_contrat_div").addClass("disabled");
|
||||
}
|
||||
}
|
||||
|
||||
$("#ad_soft_temps_type").change(function () {
|
||||
afficherTempsType();
|
||||
});
|
||||
|
||||
$("#ad_soft_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. "
|
||||
);
|
||||
$("#competencesAdMessagePopup").html(
|
||||
"Vous devez sélectionner au minimum une compétence. "
|
||||
);
|
||||
$("#ajouterCompetenceButtonMdal").html("Ajouter (+0)");
|
||||
$("#ajouterCompetenceButtonMdal").hide();
|
||||
//$("#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(" ");
|
||||
$("#competencesAdMessagePopup").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();
|
||||
$('#loadingDiv').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 onclick="chargerDonneesTemp(' + data.metier_id + ',\'' +
|
||||
chaine +
|
||||
'\')" data-toggle="modal" data-target="#competencesModal" id="competences"><a href="#" >' +
|
||||
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",
|
||||
beforeSend: function () { // Before we send the request, remove the .hidden class from the spinner and default to inline-block.
|
||||
$('#loadingDiv').show();
|
||||
console.log("début loading");
|
||||
},
|
||||
})
|
||||
//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();
|
||||
}
|
||||
});
|
||||
|
||||
//parcours de l'objet json renvoyé par l'api ( groupes de compétences spécifiques)
|
||||
obj.groupesCompetencesSpecifiques.forEach(function (object) {
|
||||
//parcours de l'objet json renvoyé par l'api ( groupes de compétences spécifiques)
|
||||
object.competences.forEach(function (competence) {
|
||||
// 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 = "";
|
||||
//On on ne coche pas ces competences clé (uniquement les compétences de base) sur le formulaire de base
|
||||
//if (competence.competenceCle == true && type != "init") {
|
||||
//checked = "checked";
|
||||
//}
|
||||
var chaine = competence.libelle.replace("'", " ");
|
||||
var chaine = chaine.replace(",", " ");
|
||||
$("#competencesAd").append("<div id='competence_ad_" + competence.code +
|
||||
"' name='competences_ad[]'><input type='checkbox' " + checked +
|
||||
" onChange='genererCompetences(this);' id='competence_" +
|
||||
competence
|
||||
.code + "' value='" + chaine + "_" + competence.code + "'> " +
|
||||
competence.libelle + "<br/></div>");
|
||||
|
||||
$("#competencesAdPopup").append("<div id='competence_ad_popup_" + competence
|
||||
.code + "'><input type='checkbox' " + checked +
|
||||
" onChange='genererCompetences(this);' id='competencepopup_" +
|
||||
competence
|
||||
.code + "' value='" + competence.code + "'> " + competence.libelle +
|
||||
"<br/></div>");
|
||||
//On n'affiche pas ces competences (meme les competences clé) sur le formulaire de base
|
||||
//if (competence.competenceCle == false) {
|
||||
$("#competence_ad_" + competence.code).hide();
|
||||
//}
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
$("#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();
|
||||
$('#loadingDiv').hide();
|
||||
})
|
||||
|
||||
//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();'><br/><i class='fa fa-refresh fa-spin fa-fw'></i>Cliquez ici pour relancer la recherche</a> "
|
||||
);
|
||||
}
|
||||
$('#loadingDiv').hide();
|
||||
console.log("La requête s'est terminée en échec. 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);
|
||||
$("#competence_ad_" + id).hide();
|
||||
$("#competencepopup_" + id).prop("checked", false);
|
||||
}
|
||||
// on génere le json a chaque fois
|
||||
genererJson();
|
||||
}
|
||||
|
||||
//function appelée lors de la confirmation de popup
|
||||
function submitFormAd(){
|
||||
$('form[name="ad_soft"]').submit();
|
||||
}
|
||||
</script>
|
||||
{% endblock %}
|
||||
@@ -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,278 @@
|
||||
<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> {{ 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>
|
||||
</div>
|
||||
</div>
|
||||
<!-- END JUMBOTRON -->
|
||||
|
||||
|
||||
<!-- Début modifications Corentin -->
|
||||
<div class="col-xl-12">
|
||||
<div class="card card-borderless col-xl-12 col-sm-12 p-b-20">
|
||||
<div class="row ">
|
||||
<div class="col-xl-12 col-md-12 p-t-20 text-right">
|
||||
<a class="btn-square" target="_self" href="{{ path('company_ad_create') }}">
|
||||
<button type="button" aria-label="" class="btn btn-primary btn-lg m-b-10">
|
||||
<span class="material-icons fs-16 m-r-5">movie</span>
|
||||
<span class="">Créer une offre d'emploi vidéo</span>
|
||||
</button>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
{% 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 id="reponses" class="table-responsive m-t-20">
|
||||
<table class="table table-hover" id="basicTable">
|
||||
<thead>
|
||||
<tr>
|
||||
<th colspan=4 class="colonne1 bold">Gestion des offres</th>
|
||||
<th colspan=5 class="colonne2 bold">Gestion des candidatures</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="colonne1" style="width:25%;">Intitulé du poste</th>
|
||||
<th class="colonne1" style="width:15%;">Statut</th>
|
||||
<th class="colonne1" style="width:10%;">Vues de l'offre</th>
|
||||
<th class="colonne1" style="width:10%;">Actions</th>
|
||||
<th class="colonne2" style="width:8%;">À traiter</th>
|
||||
<th class="colonne2" style="width:8%;">Contacté</th>
|
||||
<th class="colonne2" style="width:8%;">Refusé</th>
|
||||
<th class="colonne2" style="width:8%;">Entretien programmé</th>
|
||||
<th class="colonne2" style="width:8%;">Embauché</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for ad in ads %}
|
||||
<tr>
|
||||
<td>
|
||||
<h6>
|
||||
{% if ad.countAnswers > 0 %}
|
||||
<a href="{{ path('company_ad_answer_list',{'id':ad.id}) }}">
|
||||
{{ ad.title }}
|
||||
</a>
|
||||
{% else %}
|
||||
{{ ad.title }}
|
||||
{% endif %}
|
||||
|
||||
</h6>
|
||||
<br>
|
||||
{% if ad.location %}
|
||||
{% if ad.location.gmap_address %}
|
||||
<span>{{ ad.location.gmap_address.formatted_address }}</span><br>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
<span>Date de création : {{ ad.publishedAt|date("d/m/Y") }}</span>
|
||||
</td>
|
||||
<td>
|
||||
{% if ad.getStatus() == "DECLINED" %}
|
||||
<span class="">{{ ad.getStatus()|trans }}</span>
|
||||
{% elseif ad.getStatus() == "PUBLISHED" %}
|
||||
<span class="label label-success">Publiée</span>
|
||||
{% elseif ad.getStatus() == "CLOSED" %}
|
||||
<span class="label label-important">Clôturée</span>
|
||||
{% elseif ad.getStatus() == "DRAFT" %}
|
||||
<span class="label ">Brouillon</span>
|
||||
{% elseif ad.getStatus() == "TO_PUBLISH" %}
|
||||
<span class="label label-warning">En attente de validation</span>
|
||||
{% else %}
|
||||
<span class="">{{ ad.getStatus()|trans }}</span>
|
||||
{% endif %}
|
||||
|
||||
</td>
|
||||
<td>
|
||||
{% if arrayByAds is defined %}
|
||||
{{ arrayByAds[ad.id]["count"] }}
|
||||
{% endif %}
|
||||
</td>
|
||||
<td>
|
||||
{% if ad.getStatus() == "DRAFT" or ad.getStatus() == "DECLINED" %}
|
||||
{#Edit#}
|
||||
<a class=" td-none" href="{{ path('company_ad_edit', { 'id': ad.id }) }}"
|
||||
style="margin-right: 10px">
|
||||
<i class="pg-icon">pen</i>
|
||||
</a>
|
||||
{% else %}
|
||||
{#Soft Edit#}
|
||||
<a class=" td-none" href="{{ path('company_ad_soft_edit', { 'id': ad.id }) }}"
|
||||
style="margin-right: 10px">
|
||||
<i class="pg-icon">pen</i>
|
||||
</a>
|
||||
{% endif %}
|
||||
|
||||
{% if ad.getStatus() == "DRAFT" or ad.getStatus() == "DECLINED" %}
|
||||
{#Video#}
|
||||
<a class="tooltipped td-none" 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 %}
|
||||
{% 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#}
|
||||
<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() == "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="fa fa-calendar" aria-hidden="true"></i>
|
||||
</a>
|
||||
{% endif %}
|
||||
</td>
|
||||
{% if ad.getStatus() == "TO_PUBLISH" or ad.getStatus() == "VALIDATED" or ad.getStatus() == "CLOSED" or ad.getStatus() == "EXPIRED" %}
|
||||
{#Edit Dates#}
|
||||
{# <a class="tooltipped td-none" data-position="top" data-delay="0"
|
||||
data-tooltip="{{ 'ad.company.dates.edit.label'|trans }}"
|
||||
href="{{ path('company_ad_step3', { 'id': ad.id }) }}" style="margin-right: 10px">
|
||||
<i class="material-icons">
|
||||
close
|
||||
</i>
|
||||
</a> #}
|
||||
{% endif %}
|
||||
</td>
|
||||
<td>
|
||||
{% if ad.countAnswersParStatut.nbATraiter > 0 %}
|
||||
<a href="{{ path('company_ad_answer_list',{'id':ad.id}) }}">
|
||||
<i class="fa fa-eye"></i> {{ ad.countAnswersParStatut.nbATraiter }}
|
||||
</a>
|
||||
{% else %}
|
||||
0
|
||||
{% endif %}
|
||||
</td>
|
||||
<td>
|
||||
{% if ad.countAnswersParStatut.nbContacte > 0 %}
|
||||
<a href="{{ path('company_ad_answer_list',{'id':ad.id}) }}">
|
||||
<i class="fa fa-eye"></i> {{ ad.countAnswersParStatut.nbContacte }}
|
||||
</a>
|
||||
{% else %}
|
||||
0
|
||||
{% endif %}
|
||||
</td>
|
||||
<td>
|
||||
{% if ad.countAnswersParStatut.nbRefuse > 0 %}
|
||||
<a href="{{ path('company_ad_answer_list',{'id':ad.id}) }}">
|
||||
<i class="fa fa-eye"></i> {{ ad.countAnswersParStatut.nbRefuse }}
|
||||
</a>
|
||||
{% else %}
|
||||
0
|
||||
{% endif %}
|
||||
</td>
|
||||
<td>
|
||||
{% if ad.countAnswersParStatut.nbEntretien > 0 %}
|
||||
<a href="{{ path('company_ad_answer_list',{'id':ad.id}) }}">
|
||||
<i class="fa fa-eye"></i> {{ ad.countAnswersParStatut.nbEntretien }}
|
||||
</a>
|
||||
{% else %}
|
||||
0
|
||||
{% endif %}
|
||||
</td>
|
||||
<td>
|
||||
{% if ad.countAnswersParStatut.nbEmbauche > 0 %}
|
||||
<a href="{{ path('company_ad_answer_list',{'id':ad.id}) }}">
|
||||
<i class="fa fa-eye"></i> {{ ad.countAnswersParStatut.nbEmbauche }}
|
||||
</a>
|
||||
{% else %}
|
||||
0
|
||||
{% endif %}
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
{# <tr>
|
||||
<td>
|
||||
<a href="https://pp.talentstube.com/entreprise/me/espace-oe/annonce/116/reponse">
|
||||
<h6>Directeur de la communication (F/H)</h6>
|
||||
</a><br>
|
||||
<span>Nantes, 44000</span><br>
|
||||
<span>Date de création : 22/03/2021</span>
|
||||
</td>
|
||||
<td>
|
||||
<span class="label label-success">Publiée</span>
|
||||
</td>
|
||||
<td>578</td>
|
||||
<td>
|
||||
<a class=" td-none" href="https://pp.talentstube.com/entreprise/me/espace-oe/annonce/124/editer" style="margin-right: 10px">
|
||||
<i class="pg-icon">pen</i>
|
||||
</a>
|
||||
</td>
|
||||
<td><a href="https://pp.talentstube.com/entreprise/me/espace-oe/annonce/116/reponse">3</a></td>
|
||||
<td><a href="https://pp.talentstube.com/entreprise/me/espace-oe/annonce/116/reponse">4</a></td>
|
||||
<td><a href="https://pp.talentstube.com/entreprise/me/espace-oe/annonce/116/reponse">4</a></td>
|
||||
<td><a href="https://pp.talentstube.com/entreprise/me/espace-oe/annonce/116/reponse">8</a></td>
|
||||
<td><a href="https://pp.talentstube.com/entreprise/me/espace-oe/annonce/116/reponse">1</a></td>
|
||||
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<h6>Responsable RRH (F/H)</h6><br>
|
||||
<span>Vannes, 56000</span><br>
|
||||
<span>Date de création : 01/02/2021</span>
|
||||
</td>
|
||||
<td>
|
||||
<span class="label label-warning">En attente de validation</span>
|
||||
</td>
|
||||
<td>0</td>
|
||||
<td>
|
||||
<a class=" td-none" href="https://pp.talentstube.com/entreprise/me/espace-oe/annonce/124/editer" style="margin-right: 10px">
|
||||
<i class="pg-icon">pen</i>
|
||||
</a>
|
||||
</td>
|
||||
<td>0</td>
|
||||
<td>0</td>
|
||||
<td>0</td>
|
||||
<td>0</td>
|
||||
<td>0</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="https://pp.talentstube.com/entreprise/me/espace-oe/annonce/116/reponse">
|
||||
<h6>Alternant communication(F/H)</h6>
|
||||
</a><br>
|
||||
<span>Pontivy, 56000</span><br>
|
||||
<span>Date de création : 15/01/2021</span>
|
||||
</td>
|
||||
<td>
|
||||
<span class="label label-important">Clôturée</span>
|
||||
</td>
|
||||
|
||||
<td>1459</td>
|
||||
<td>
|
||||
<a class=" td-none" href="https://pp.talentstube.com/entreprise/me/espace-oe/annonce/124/editer" style="margin-right: 10px">
|
||||
<i class="pg-icon">pen</i>
|
||||
</a>
|
||||
</td>
|
||||
<td>0</td>
|
||||
<td>0</td>
|
||||
<td><a href="https://pp.talentstube.com/entreprise/me/espace-oe/annonce/116/reponse">12</a></td>
|
||||
<td>0</td>
|
||||
<td><a href="https://pp.talentstube.com/entreprise/me/espace-oe/annonce/116/reponse">1</a></td>
|
||||
</tr> #}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Fin modifications Corentin -->
|
||||
<!-- START CONTAINER FLUID -->
|
||||
|
||||
<script type="text/javascript">
|
||||
<!-- END CONTAINER FLUID
|
||||
-->
|
||||
|
||||
|
||||
</script>
|
||||
@@ -1,86 +1,390 @@
|
||||
{% extends 'company/base_dashboard_company.html.twig' %}
|
||||
{# {% extends 'company/base_dashboard_company.html.twig' %} #}
|
||||
{% extends 'admin/base_dashboard_candidatures.html.twig' %}
|
||||
{% block javascriptSupl %}
|
||||
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/1.10.22/css/jquery.dataTables.min.css">
|
||||
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/buttons/1.6.4/css/buttons.dataTables.min.css">
|
||||
{# <script type="text/javascript" language="javascript" src="https://code.jquery.com/jquery-3.5.1.js"></script>
|
||||
<script type="text/javascript" language="javascript" src="https://cdn.datatables.net/1.10.22/js/jquery.dataTables.min.js"></script>
|
||||
|
||||
<script type="text/javascript" language="javascript" src="https://cdn.datatables.net/buttons/1.6.4/js/dataTables.buttons.min.js"></script>
|
||||
<script type="text/javascript" language="javascript" src="https://cdn.datatables.net/buttons/1.6.4/js/buttons.flash.min.js"></script> #}
|
||||
|
||||
<script type="text/javascript" src="https://code.jquery.com/jquery-3.5.1.js"></script>
|
||||
<script type="text/javascript" src="https://cdn.datatables.net/1.10.22/js/jquery.dataTables.min.js"></script>
|
||||
<script type="text/javascript" src="https://cdn.datatables.net/buttons/1.6.4/js/dataTables.buttons.min.js"></script>
|
||||
<script type="text/javascript" language="javascript"
|
||||
src="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.1.3/jszip.min.js"></script>
|
||||
<script type="text/javascript" language="javascript"
|
||||
src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.53/pdfmake.min.js"></script>
|
||||
<script type="text/javascript" language="javascript"
|
||||
src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.53/vfs_fonts.js"></script>
|
||||
<script type="text/javascript" language="javascript"
|
||||
src="https://cdn.datatables.net/buttons/1.6.4/js/buttons.html5.min.js"></script>
|
||||
|
||||
<script type="text/javascript" language="javascript"
|
||||
src="https://cdn.datatables.net/buttons/1.6.4/js/buttons.print.min.js"></script>
|
||||
{% endblock %}
|
||||
{% block dashContent %}
|
||||
{% 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>
|
||||
</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 %}
|
||||
{% 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 -->
|
||||
|
||||
<style type="text/css">
|
||||
/* Hide default search box */
|
||||
.dataTables_filter {
|
||||
display: none;
|
||||
}
|
||||
</style>
|
||||
|
||||
<!-- START CONTAINER FLUID -->
|
||||
<div class=" container-fluid container-fixed-lg bg-white">
|
||||
<!-- START card -->
|
||||
<div class="card card-transparent">
|
||||
<div class="card-header ">
|
||||
<div class="card-title">Candidatures
|
||||
</div>
|
||||
<div id="spontaneous" class="col s12">
|
||||
<table id="table-answers" class="bordered highlight responsive-table">
|
||||
<thead>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="table-responsive" id="spontaneous">
|
||||
<table width="100%" class="table " style="">
|
||||
|
||||
<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>
|
||||
|
||||
|
||||
<th width="11%"><input id='input2' type='text' class='form-control'
|
||||
placeholder='Recherche par nom' style='font-family:Arial, FontAwesome; width:100%' />
|
||||
</th>
|
||||
|
||||
<th width="11%"><input id='input3' type='text' class='form-control'
|
||||
placeholder='Recherche par prénom' style='font-family:Arial, FontAwesome; width:100%' />
|
||||
</th>
|
||||
<th width="25%">
|
||||
<select id='input5' class='form-control'>
|
||||
<option value="">Toutes les offres</option>
|
||||
<option value="spontaneous">Candidatures spontanées</option>
|
||||
{% for offre in offres %}
|
||||
<option value="{{offre.title}}">{{offre.title}}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
</th>
|
||||
<th width="25%">
|
||||
<select id='input7' class='form-control'>
|
||||
<option value="">Tous les statuts</option>
|
||||
<option value="A_TRAITER">À traiter</option>
|
||||
<option value="CONTACTE">Contacté</option>
|
||||
<option value="ENTRETIEN">Entretien programmé</option>
|
||||
<option value="REFUSE">Refusé</option>
|
||||
<option value="EMBAUCHE">Embauché</option>
|
||||
</select>
|
||||
</th>
|
||||
|
||||
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<br />
|
||||
<table id="candidatures_dt_table" width="100%" class="table table-hover ">
|
||||
{# Add a tfoot which will actually be used to place the individual search boxes #}
|
||||
|
||||
<thead>
|
||||
<tr>
|
||||
<th width="4%">Vidéo</th>
|
||||
<th width="6%">Nom</th>
|
||||
<th width="6%">Prénom</th>
|
||||
<th width="11%">Date de reception</th>
|
||||
<th width="11%">Intitulé de l'offre</th>
|
||||
<th width="25%">Localisation</th>
|
||||
<th width="15%">Statut</th>
|
||||
</tr>
|
||||
|
||||
</thead>
|
||||
<tbody></tbody>
|
||||
</table>
|
||||
|
||||
{#
|
||||
<table class="table table-hover " id="">
|
||||
<thead>
|
||||
<tr>
|
||||
<!-- NOTE * : Inline Style Width For Table Cell is Required as it may differ from user to user
|
||||
Comman Practice Followed
|
||||
-->
|
||||
<th style="width:15%">{{ 'profile.talent.video'|trans }}
|
||||
</th>
|
||||
<th style="width:15%">{{ 'profile.talent.lastname'|trans }}
|
||||
{{ 'profile.talent.firstname'|trans }}</th>
|
||||
<th style="width:15%">{{ 'global.datereception.label'|trans }}</th>
|
||||
<th style="width:15%">{{ 'ad.company.list.title'|trans }}</th>
|
||||
<th style="width:15%">{{ 'ad.company.list.location'|trans }}</th>
|
||||
<th style="width:15%" class="center-align">{{ 'ad.company.list.statut'|trans }}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for answer in spontaneous %}
|
||||
{% 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 }) }}">
|
||||
{% if answer.video.thumbnails.0 is defined %}
|
||||
{% set img = answer.video.thumbnails.0.sizes.1.link %}
|
||||
{% else %}
|
||||
{% set img = " " %}
|
||||
{% endif %}
|
||||
<img src="{{ img }}">
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="{{ path('company_answer_show',{'id':answer.id }) }}">{{ answer.user.lastname }}
|
||||
{{ answer.user.firstname }}</a>
|
||||
</td>
|
||||
<td>{{ answer.sendTime()|date('d/m/Y') }}</td>
|
||||
<td class="center-align">
|
||||
<a title="" href="{{ path('company_answer_show',{'id':answer.id }) }}">
|
||||
<i class="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>
|
||||
<td>
|
||||
|
||||
{% if answer.ad %}
|
||||
{{ answer.ad.title }}
|
||||
{% else %}
|
||||
Candidature spontanée
|
||||
{% endif %}
|
||||
</td>
|
||||
<td>
|
||||
{% if answer.user.getGeoloc %}
|
||||
{% for adress in answer.user.getGeoloc %}
|
||||
|
||||
{{ adress["locality"] }}, {{ adress["postal_code"] }}
|
||||
{% endfor %}
|
||||
|
||||
{% else %}
|
||||
Non renseignée
|
||||
{% endif %}
|
||||
</td>
|
||||
<td class="center-align">
|
||||
{% if answer.statusReponse =="EMBAUCHE" %}
|
||||
<span class="label label-success">Embauché</span>
|
||||
{% elseif answer.statusReponse =="REFUSE"%}
|
||||
<span class="label label-important">Refusé</span>
|
||||
{% elseif answer.statusReponse =="ENTRETIEN"%}
|
||||
<span class="label label-warning">Entretien programmé</span>
|
||||
{% elseif answer.statusReponse =="A_TRAITER"%}
|
||||
<span class="label label-info">À traiter</span>
|
||||
{% elseif answer.statusReponse =="CONTACTE"%}
|
||||
<span class="label">Contacté</span>
|
||||
{% else %}
|
||||
<span class="label label-info">À traiter</span>
|
||||
{% endif %}
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</table>
|
||||
{% endfor %}
|
||||
{% if spontaneous|length == 0 %}
|
||||
<tr>
|
||||
<th colspan="5" 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>
|
||||
|
||||
<script>
|
||||
$(document).ready(function () {
|
||||
|
||||
// Add a text input to each footer cell
|
||||
var pos = 1;
|
||||
|
||||
|
||||
|
||||
|
||||
var table = $('#candidatures_dt_table').DataTable({
|
||||
|
||||
|
||||
|
||||
"columnDefs": [{
|
||||
"name": "video",
|
||||
"targets": 0,
|
||||
"searchable": true,
|
||||
"orderable": false
|
||||
},
|
||||
{
|
||||
"name": "nom",
|
||||
"targets": 1,
|
||||
"type": 'html',
|
||||
"searchable": true,
|
||||
"orderable": true
|
||||
},
|
||||
{
|
||||
"name": "prenom",
|
||||
"targets": 2,
|
||||
"type": 'html',
|
||||
"searchable": true,
|
||||
"orderable": true
|
||||
},
|
||||
{
|
||||
"name": "dateReception",
|
||||
"targets": 3,
|
||||
"searchable": true,
|
||||
"orderable": true
|
||||
},
|
||||
{
|
||||
"name": "offre",
|
||||
"targets": 4,
|
||||
"searchable": true,
|
||||
"orderable": false
|
||||
},
|
||||
{
|
||||
"name": "localisation",
|
||||
"targets": 5,
|
||||
"searchable": true,
|
||||
"orderable": false
|
||||
},
|
||||
{
|
||||
"name": "statusReponse",
|
||||
"targets": 6,
|
||||
"searchable": true,
|
||||
"orderable": false
|
||||
},
|
||||
],
|
||||
"processing": true,
|
||||
"serverSide": true,
|
||||
|
||||
"ajax": {
|
||||
"url": "{{ path('alimenterCandidaturesCompany') }}",
|
||||
"type": 'POST',
|
||||
},
|
||||
"paging": true,
|
||||
"info": true,
|
||||
"searching": true,
|
||||
"bFilter": true,
|
||||
"responsive": true,
|
||||
"pageLength": 10,
|
||||
"order": [
|
||||
[3, 'desc']
|
||||
],
|
||||
"language": {
|
||||
"sProcessing": "En cours de chargement...",
|
||||
"sSearch": "Rechercher :",
|
||||
"sLengthMenu": "Afficher _MENU_ candidatures",
|
||||
"sInfo": "Candidature de _START_ à _END_ sur _TOTAL_ candidatures",
|
||||
"sInfoEmpty": "Candidature 0 à 0 sur 0 candidature",
|
||||
"sInfoFiltered": "",
|
||||
"sInfoPostFix": "",
|
||||
"sLoadingRecords": "Chargement en cours...",
|
||||
"sZeroRecords": "Aucune candidature ne correspond à votre recherche",
|
||||
"sEmptyTable": "Aucune candidature disponible dans le tableau",
|
||||
"oPaginate": {
|
||||
"sFirst": "Premier",
|
||||
"sPrevious": "Précédent",
|
||||
"sNext": "Suivant",
|
||||
"sLast": "Dernier"
|
||||
},
|
||||
"oAria": {
|
||||
"sSortAscending": ": activer pour trier la colonne par ordre croissant",
|
||||
"sSortDescending": ": activer pour trier la colonne par ordre décroissant"
|
||||
}
|
||||
},
|
||||
|
||||
});
|
||||
|
||||
|
||||
|
||||
// Apply the search
|
||||
pos = 1;
|
||||
table.columns().every(function () {
|
||||
var that = this;
|
||||
|
||||
$("#input" + pos).on('keyup change', function () {
|
||||
console.log(this);
|
||||
if (that.search() !== this.value) {
|
||||
that
|
||||
.search(this.value)
|
||||
.draw();
|
||||
}
|
||||
});
|
||||
pos++;
|
||||
});
|
||||
|
||||
$('#candidatures_dt_table_filter').hide();
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
});
|
||||
</script>
|
||||
{% endblock %}
|
||||
@@ -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 /> </p>
|
||||
<p><br /> </p>
|
||||
<p><br /> </p>
|
||||
<p><br /> </p>
|
||||
<p><br /> </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 }}
|
||||
<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,342 @@
|
||||
{% 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 }}
|
||||
<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">
|
||||
{% if answer.ad%}
|
||||
<a href="{{ path('company_ad_answer_list',{'id':answer.ad.id}) }}">{{ answer.ad.title }}
|
||||
</a>
|
||||
{% else %}
|
||||
<a href="{{ path('company_answer_list') }}">Candidature spontanée</a>
|
||||
{% endif %}
|
||||
</li>
|
||||
<li class="breadcrumb-item active"><a href="#"> candidat {{ answer.user.firstname }}
|
||||
{{ answer.user.lastname }}</a>
|
||||
</li>
|
||||
|
||||
</ol>
|
||||
<!-- END BREADCRUMB -->
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- END JUMBOTRON -->
|
||||
<div class="row">
|
||||
<div class="col-xl-12">
|
||||
<div class="card-body">
|
||||
<div class="col-xl-10 col-sm-12">
|
||||
{% if answer.ad%}
|
||||
<h5> <a href="{{ path('company_ad_answer_list',{'id':answer.ad.id}) }}">{{ answer.ad.title }}</a></h5>
|
||||
{% else %}
|
||||
|
||||
<h5><a href="{{ path('company_answer_list') }}">Candidature spontanée</a></h5>
|
||||
{% endif %}
|
||||
<h6>Candidature reçue le {{ answer.sendTime|date('d/m/Y') }}</h6>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xl-12 ">
|
||||
<div class="card card-borderless col-xl-12 col-sm-12">
|
||||
<div class="row profil-candidature">
|
||||
<div class="col-xl-8 col-md-12 p-t-10">
|
||||
<h4 class="bold">{{ answer.user.firstname }} {{ answer.user.lastname }}</h4>
|
||||
<p>
|
||||
{% if answer.user.getGeoloc %}
|
||||
{% for adress in answer.user.getGeoloc %}
|
||||
<i class="material-icons fs-16 tab-icon icons-candidatures">home</i>
|
||||
{{ adress["locality"] }}, {{ adress["postal_code"] }}
|
||||
{% endfor %}
|
||||
|
||||
{% endif %}
|
||||
</p>
|
||||
{% if answer.user.company.extra["phoneTalent"] is defined %}
|
||||
<i class="material-icons fs-16 tab-icon icons-candidatures">phone</i><span id="telBouton"
|
||||
class="visible"><a href="#" onClick="afficherNumero()">Afficher le numéro de
|
||||
téléphone</a></span>{% if answer.user.company.extra["phoneTalent"] is defined %} <span
|
||||
id="telSpan" class="invisible">Tel : {{ answer.user.company.extra["phoneTalent"] }}<span>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="col-xl-4 col-md-12 profil-candidature-action">
|
||||
<div class="dropdown candidature-action">
|
||||
<button class="btn btn-primary btn-lg dropdown-toggle" type="button" id="dropdownMenu2"
|
||||
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
||||
<span id="libelleBouton">
|
||||
{% if answer.statusReponse =='CONTACTE' %}
|
||||
Contacté
|
||||
{% elseif answer.statusReponse =='REFUSE' %}
|
||||
Refusé
|
||||
{% elseif answer.statusReponse =='EMBAUCHE' %}
|
||||
Embauché
|
||||
{% elseif answer.statusReponse =='ENTRETIEN' %}
|
||||
Entretien programmé
|
||||
{% elseif answer.statusReponse =='A_TRAITER' %}
|
||||
À traiter
|
||||
{% else %}
|
||||
À traiter
|
||||
{% endif %}
|
||||
|
||||
</span>
|
||||
</button>
|
||||
<div class="dropdown-menu" aria-labelledby="dropdownMenu2">
|
||||
<button class="dropdown-item" type="button" onClick="changerStatutAnswer('A_TRAITER', 'A traiter')">A traiter</button>
|
||||
<button class="dropdown-item" type="button"
|
||||
onClick="changerStatutAnswer('CONTACTE', 'Contacté')">Contacté</button>
|
||||
<button class="dropdown-item" type="button"
|
||||
onClick="changerStatutAnswer('REFUSE', 'Refusé')">Refusé</button>
|
||||
<button class="dropdown-item" type="button" onClick="changerStatutAnswer('ENTRETIEN', 'Entretien programmé')">Entretien programmé</button>
|
||||
<button class="dropdown-item" type="button"
|
||||
onClick="changerStatutAnswer('EMBAUCHE', 'Embauché')">Embauché</button>
|
||||
</div>
|
||||
</div>
|
||||
<a href="#" data-toggle="tab" role="tab"
|
||||
data-target="#messagerieVideo" onClick="switcherMenu()">
|
||||
<button aria-label="" type="button" class="btn btn-lg btn-seconday btn-cons">Contacter le candidat</button></a>
|
||||
</div>
|
||||
</div>
|
||||
<ul class="nav nav-tabs nav-tabs-simple d-none d-md-flex d-lg-flex d-xl-flex" role="tablist"
|
||||
data-init-reponsive-tabs="dropdownfx">
|
||||
<li class="nav-item">
|
||||
<a class="active" data-toggle="tab" role="tab" data-target="#candidature"
|
||||
href="#" id="candidatureLien">Candidature</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a href="#" data-toggle="tab" role="tab"
|
||||
data-target="#messagerieVideo" id="messagerieVideoLien">Messagerie</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
<div class="col-xl-12 bg-white details-candidature">
|
||||
<div class="tab-content">
|
||||
<!-- ========== bloc candidature ========== -->
|
||||
|
||||
{% include 'company/answer_show_candidature.html.twig' %}
|
||||
|
||||
<!-- ========== bloc message video ========== -->
|
||||
|
||||
{% include 'company/answer_show_message_video.html.twig' %}
|
||||
|
||||
<!-- ========== bloc message texte ========== -->
|
||||
|
||||
{# {% include 'company/answer_show_message_texte.html.twig' %} #}
|
||||
|
||||
<!-- ========== bloc commentaire ========== -->
|
||||
|
||||
{# {% include 'company/answer_show_comment.html.twig' %} #}
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
{% 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();
|
||||
});
|
||||
{{ parent() }}
|
||||
<script type="text/javascript">
|
||||
function switcherMenu(){
|
||||
$("#messagerieVideoLien").addClass("active");
|
||||
$("#candidatureLien").removeClass("active");
|
||||
console.log("messagerie active");
|
||||
}
|
||||
var urlDropzone = '{{ path("upload_media_message", {"id": message.getId()}) }}';
|
||||
var urlDelete = '{{ path("delete_media_message", {"id": message.getId() }) }}'
|
||||
var idObject = null;
|
||||
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">
|
||||
function changerStatutAnswer(item, valeurBouton) {
|
||||
console.log(item);
|
||||
console.log({{answer.id}});
|
||||
$("#libelleBouton").text(valeurBouton);
|
||||
$.ajax({
|
||||
//L'URL de la requête
|
||||
url: "/app_dev.php/anwser/updateStatus/{{answer.id}}",
|
||||
//url: '{{ path("anwser_share", {"id":'+id+'}) }}',
|
||||
//La méthode d'envoi (type de requête)
|
||||
method: "GET",
|
||||
data: 'status=' + item,
|
||||
//Le format de réponse attendu
|
||||
dataType: "json",
|
||||
})
|
||||
//Ce code sera exécuté en cas de succès - La réponse du serveur est passée à done()
|
||||
/*On peut par exemple convertir cette réponse en chaine JSON et insérer
|
||||
* cette chaine dans un div id="res"*/
|
||||
.done(function (response) {
|
||||
console.log("La requête s'est terminée avec succes. Infos : " + JSON.stringify(response));
|
||||
})
|
||||
|
||||
document.getElementsByName("contact_talent[message]")[0].addEventListener('change', verifySubmitButton);
|
||||
$('#contact_talent_status').on('change',verifySubmitButton);
|
||||
//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));
|
||||
})
|
||||
|
||||
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;
|
||||
//Ce code sera exécuté que la requête soit un succès ou un échec
|
||||
.always(function () {
|
||||
console.log("Requête effectuée");
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
|
||||
function afficherNumero() {
|
||||
$("#telBouton").hide();
|
||||
$("#telSpan").removeClass("invisible").addClass("visible");
|
||||
|
||||
}
|
||||
$(".card-action").click(function () {
|
||||
var idVideo = $(this).data("id");
|
||||
var titleVideo = $(this).data("title");
|
||||
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);
|
||||
}
|
||||
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,234 @@
|
||||
<!-- ========== bloc candidature ========== -->
|
||||
<div class="tab-pane active" id="candidature">
|
||||
<div class="row ">
|
||||
<div class="col-xl-7 col-lg-6">
|
||||
|
||||
<!-- START card -->
|
||||
|
||||
<div class="full-height">
|
||||
<div class="card-body">
|
||||
<h5><i class="material-icons fs-18 tab-icon icons-candidatures">videocam</i>Candidature vidéo</h5>
|
||||
<iframe src="https://player.vimeo.com/video/{{ answer.video.cdnUrl|replace({ "/videos/": ""}) }}"
|
||||
width="100%" height="300px" frameborder="0" webkitallowfullscreen mozallowfullscreen
|
||||
allowfullscreen></iframe>
|
||||
|
||||
</div>
|
||||
<div class="card-body row">
|
||||
{% if answer.user.company.cv %}
|
||||
<div class="col-8">
|
||||
<h5><i class="material-icons fs-18 tab-icon icons-candidatures">text_snippet</i>Curriculum vitae
|
||||
</h5>
|
||||
</div>
|
||||
|
||||
<div class="col-4">
|
||||
<a href="/uploads/cv/{{ answer.user.company.cv }}" target="_blank">
|
||||
<button aria-label="" type="button" class="btn btn-lg btn-seconday btn-cons m-b-10">Télécharger
|
||||
le CV</button>
|
||||
</a>
|
||||
</div>
|
||||
{% if extension=="doc" or extension=="docx" %}
|
||||
<iframe width="100%" height="600"
|
||||
src="http://docs.google.com/gview?url=https://www.recruteur.talentstube.com/uploads/cv/{{ answer.user.company.cv }}"></iframe>
|
||||
|
||||
{% else %}
|
||||
<iframe width="100%" height="600"
|
||||
src="/uploads/cv/{{ answer.user.company.cv }}"></iframe>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
<!--<iframe width="100%" height="600" src="http://docs.google.com/gview?url=http://qualite-en-recherche.cnrs.fr/IMG/doc/pr-m1-09-ressources_humaines-30-1.doc&embedded=true"></iframe>-->
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<!-- END card -->
|
||||
</div>
|
||||
<div class="col-xl-5 col-lg-6">
|
||||
<!-- START card -->
|
||||
<div class="card-body">
|
||||
{{ form_start(formNote) }}
|
||||
<div class="form-group form-group-default required">
|
||||
<h5><i class="material-icons fs-18 tab-icon icons-candidatures">comment</i>Commentaires</h5>
|
||||
{# <textarea class="form-control" id="exampleFormControlTextarea1"
|
||||
placeholder="Ce commentaire sera visible uniquement par vous et les autres utilisateurs de l’espace recruteur."
|
||||
rows="5"></textarea> #}
|
||||
<label for="note_ajax_content" >Ajouter un commentaire</label>
|
||||
{{ form_widget(formNote.content) }}
|
||||
</div>
|
||||
<button class="btn btn btn-lg btn-outline-primary" type="submit">Valider le commentaire</button>
|
||||
{{ form_end(formNote) }}
|
||||
|
||||
|
||||
{% for note in answer.notes|reverse %}
|
||||
<div class="card card-body">
|
||||
<h6 class="card-title">{{ note.author.firstname }} {{ note.author.lastname }}</h6>
|
||||
<p class="card-text">{{ note.content }}</p>
|
||||
</div>
|
||||
|
||||
{% endfor %}
|
||||
|
||||
|
||||
</div>
|
||||
<!-- === Début : Bloc aide - À garder pour la prochaine v2
|
||||
<div class="card-body">
|
||||
<div class="form-group">
|
||||
<i class="material-icons fs-18 tab-icon icons-candidatures">help_center</i><label for="">
|
||||
<h5>Besoin d'aide</h5>
|
||||
</label>
|
||||
</div>
|
||||
<div class="lien-aide">
|
||||
<a href="">Comment répondre aux candidats en vidéo ?</a>
|
||||
</div>
|
||||
<div class="lien-aide">
|
||||
<a href="">Comment contacter un candidat ?</a>
|
||||
</div>
|
||||
</div>-->
|
||||
<!-- === Début : Bloc aide - À garder pour la prochaine v2-->
|
||||
|
||||
</div>
|
||||
<!-- END card -->
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- ========== bloc message texte + video ========== -->
|
||||
{#
|
||||
|
||||
<div class="tab-pane active" id="">
|
||||
<div class="row ">
|
||||
<div class="col-xl-7 col-lg-6 bg-white">
|
||||
<!-- START card -->
|
||||
<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">
|
||||
{% if answer.ad%}
|
||||
<a href="{{ path('company_ad_answer_list',{'id':answer.ad.id}) }}">{{ answer.ad.title }}</a>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<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 & 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>
|
||||
+129
@@ -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>
|
||||
+189
@@ -0,0 +1,189 @@
|
||||
<div class="tab-pane" id="messagerieVideo">
|
||||
<div class="row">
|
||||
<div class="col-xl-7 col-lg-6">
|
||||
<div class="full-height">
|
||||
<div class="card-body">
|
||||
<h5><i
|
||||
class="material-icons fs-18 tab-icon icons-candidatures">message</i>Envoyer
|
||||
un message au candidat</h5>
|
||||
{{ form_start(formVideo) }}
|
||||
{{ form_widget(formVideo._token, { 'id': 'token_video' }) }}
|
||||
<div class="form-group form-group-default">
|
||||
<label class="active">De : </label>
|
||||
<input name="to" data-role="tagsinput" disabled
|
||||
class="form-control tagsinput" type="text"
|
||||
value="{{ app.user.firstname }} {{ app.user.lastname }}" />
|
||||
</div>
|
||||
|
||||
<div class="form-group form-group-default required" style="min-height:250px;">
|
||||
<label for="contact_talent_message" class="active">Message</label>
|
||||
{# <textarea id="contact_talent_message"
|
||||
name="contact_talent[message]" required="required"
|
||||
class="form-control"
|
||||
placeholder="Rédigez un message de réponse"></textarea> #}
|
||||
{{ form_widget(formVideo.message) }}
|
||||
</div>
|
||||
<!--<h6>Et si vous répondiez à [Nom du candidat] en vidéo ?</h6>-->
|
||||
<p class="m-l-10 bold">Vous pouvez joindre une vidéo de réponse</p>
|
||||
<p class="m-l-10">Pour une meilleure expérience candidat, motivez les
|
||||
raisons de votre choix en vidéo.</p>
|
||||
{% include 'message/message_create_import.twig' %}
|
||||
<div class="form-group m-t-20" ;>
|
||||
<button type="submit" aria-label=""
|
||||
class="btn btn-primary btn-lg disabled">Envoyer le
|
||||
message</button>
|
||||
</div>
|
||||
<div class="m-t-30">
|
||||
<div class="row fondBlanc">
|
||||
<h5><i
|
||||
class="material-icons fs-18 tab-icon icons-candidatures">inbox</i>Historique
|
||||
des messages envoyés</h5>
|
||||
</div>
|
||||
<div class="row fondBlanc">
|
||||
<div class="card-body">
|
||||
<div class="table-responsive">
|
||||
<table class="table table-hover" id="basicTable">
|
||||
<thead>
|
||||
<tr>
|
||||
<!-- NOTE * : Inline Style Width For Table Cell is Required as it may differ from user to user
|
||||
Comman Practice Followed
|
||||
-->
|
||||
<th style="width:20%">Envoyé le</th>
|
||||
<th style="width:30%">Expéditeur</th>
|
||||
<th style="width:50%">Message</th>
|
||||
</tr>
|
||||
{% if answer.messages %}
|
||||
{% for message in answer.messages if message.status != "DRAFT" %}
|
||||
{% set class = '' %}
|
||||
{% if loop.index > 1 %}
|
||||
{% set class = 'history-hidden' %}
|
||||
{% endif %}
|
||||
<tr>
|
||||
<td class="v-align-middle">
|
||||
|
||||
{{ message.uTime|date('d-m-Y h:m') }}
|
||||
|
||||
</td>
|
||||
<td class="v-align-middle ">
|
||||
{% if message.sender.company.type =="COMPANY" %}
|
||||
Recruteur
|
||||
{% elseif message.sender.company.type =="TALENT" %}
|
||||
Talent
|
||||
{% endif %}
|
||||
</td>
|
||||
<td class="v-align-middle">
|
||||
{% if message.video %}
|
||||
<div
|
||||
class="embed-responsive embed-responsive-16by9">
|
||||
<iframe
|
||||
src="https://player.vimeo.com/video/{{ message.video.cdnUrl|replace({ "/videos/": ""}) }}"
|
||||
width="100%" height="300"
|
||||
frameborder="0"
|
||||
webkitallowfullscreen
|
||||
mozallowfullscreen
|
||||
allowfullscreen></iframe>
|
||||
</div>
|
||||
{% endif %}
|
||||
{{ message.content|nl2br }}
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
{% endfor %}
|
||||
{% if answer.messages|length == 0 %}
|
||||
<tr>
|
||||
<th colspan="3" class="text-center">Aucun
|
||||
message pour le moment</th>
|
||||
</tr>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
|
||||
</thead>
|
||||
<tbody>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- END COMPOSE EMAIL -->
|
||||
|
||||
{{ form_end(formVideo) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="tab-pane fondBlanc" id="">
|
||||
<div class="row fondBlanc">
|
||||
|
||||
<!-- START ITEM -->
|
||||
<div class="col-lg-4 fondBlanc">
|
||||
<div class="card card-default bg-success">
|
||||
<div class="card-header separator">
|
||||
<div class="card-title">Réponse vidéo
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<h3>
|
||||
<span class="semi-bold">Et si vous répondiez à </span> Celia Machin
|
||||
Auriol <b>en vidéo</b>
|
||||
</h3>
|
||||
<p>Découvrez <a
|
||||
href="https://blog.talentstube.com/articles-entreprise/comment-faire-une-video-avec-une-webcam/"
|
||||
target="_blank">nos conseils</a> pour réaliser une vidéo de
|
||||
réponse.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- END ITEM -->
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="col-md-12 col-lg-8 col-xlg-8 md-m-t-10">
|
||||
<!-- START WIDGET widget_weatherWidget-->
|
||||
<div class="widget-17 card no-border no-margin widget-loader-circle">
|
||||
<div class="widget-16-header p-r-20 p-l-20 p-t-10 d-flex">
|
||||
<span
|
||||
class="icon-thumbnail bg-contrast-low pull-left text-color pg-icon">M</span>
|
||||
<div class="flex-1 full-width overflow-ellipsis">
|
||||
<p
|
||||
class="hint-text all-caps font-montserrat small no-margin overflow-ellipsis ">
|
||||
Contacter
|
||||
</p>
|
||||
<h6 class="no-margin overflow-ellipsis ">par vidéo</h6>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
{{ form_start(formVideo) }}
|
||||
{{ form_widget(formVideo._token, { 'id': 'token_video' }) }}
|
||||
|
||||
|
||||
|
||||
{% 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>
|
||||
+29
@@ -0,0 +1,29 @@
|
||||
{% extends 'admin/base_dashboard.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,50 @@
|
||||
{% extends 'company/base_dashboard_company.html.twig' %}
|
||||
|
||||
{# {% extends 'company/base_dashboard_company.html.twig' %} #}
|
||||
{% extends 'admin/base_dashboard.html.twig' %}
|
||||
{% block dashContent %}
|
||||
<!-- MODALS-->
|
||||
<!-- Modal 0 -->
|
||||
<div class="modal fade in bd-example-modal-lg" id="popupSubmitModal" tabindex="-1" role="dialog"
|
||||
aria-labelledby="popupSubmitModalLabel" aria-hidden="false" data-show="false">
|
||||
<div class="modal-dialog modal-lg" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title" id="popupSubmitModalLabel">Votre offre d’emploi vidéo est en cours de validation par l'équipe Talents Tube</h5>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
|
||||
<p>Vous recevrez un e-mail lorsque votre offre d’emploi sera publiée sur la plateforme.</p>
|
||||
|
||||
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-secondary" data-dismiss="modal" onClick="submitFormAd()">Fermer</button>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row bg-bordered p-0">
|
||||
{% include 'company/ad_steps.html.twig' with {'tab':2} %}
|
||||
{# {% 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 +60,226 @@
|
||||
{#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 class="col-lg-8 bloc-header">
|
||||
<div class="card card-default container">
|
||||
<div class="card-body">
|
||||
<div class="row" style="min-height:10rem;">
|
||||
<div class="col-8">
|
||||
<h4 class="header-title" style="font-size:2em;line-height:1.5em;">Création d'une offre d'emploi vidéo</h4>
|
||||
<p>Pour trouver le bon profil, renseignez et personnalisez votre annonce. <br>Plus votre annonce est précise et attractive, plus les candidatures seront ciblées.</p>
|
||||
</div>
|
||||
<div class="col-4" style="background-repeat: no-repeat; background-image: url('https://blog.talentstube.com/wp-content/uploads/2021/02/creer-offre-emploi-video.svg');background-size: contain;background-position: center;">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="rootwizard" class="col-lg-10 m-t-50">
|
||||
{% include 'company/ad_stepsV2.html.twig' with {'tab':2} %}
|
||||
|
||||
<div class="tab-content">
|
||||
|
||||
<div class="tab-pane slide-left padding-20 sm-no-padding active" id="tab2">
|
||||
<div class="row row-same-height">
|
||||
<div class="col-md-12 col-xl-6 ">
|
||||
<div class="container-envoi-videos">
|
||||
<div class="titre-bloc-envoi-videos">
|
||||
<img src='https://www.talentstube.com/statique/images/capture.svg'class="image-envoi-video"/img>
|
||||
<div class="texte-envoi-video">
|
||||
<h4>Choix n°1</h4>
|
||||
<h5>J’<span class="underline">envoie</span> mes séquences vidéo à Talents Tube</h5>
|
||||
</div>
|
||||
</div>
|
||||
<div class="contenu-bloc-envoi-videos">
|
||||
{{ form_start(formFile, {'attr': { 'id': 'form_file' } }) }}
|
||||
{# {{ form_row(form.brochure) }}
|
||||
{{ form_row(form.brochure1) }}
|
||||
{{ form_row(form.brochure2) }} #}
|
||||
<p>Envoyez les séquences vidéo et Talents Tube s’occupe pour vous du montage complet de votre offre d’emploi sous <span class="underline">48h</span></p>
|
||||
<label for="etape-import-video">Vidéo 1 : Présentation de l’entreprise</label>
|
||||
{{ form_row(formFile.file1) }}
|
||||
{# <input type="file" id="avatar" name="avatar" accept="image/png, image/jpeg"> #}
|
||||
<label for="etape-import-video">Vidéo 2 : Présentation du poste et des missions</label>
|
||||
{{ form_row(formFile.file2) }}
|
||||
{# <input type="file" id="avatar" name="avatar" accept="image/png, image/jpeg"> #}
|
||||
<label for="etape-import-video">Vidéo 3 : Témoignage d’un collaborateur</label>
|
||||
{{ form_row(formFile.file3) }}
|
||||
{# <input type="file" id="avatar" name="avatar" accept="image/png, image/jpeg"> #}
|
||||
{# <button aria-label="" class="btn btn-info btn-lg btn-icon-right m-b-10" type="submit"><span class="">Envoyer les séquences vidéo</span><i class="pg-icon" onclick="$("#encours").show();">send</i></button> #}
|
||||
<button aria-label class="btn btn-info btn-lg m-b-10" type="submit" onClick='$("#encours").show();'><span class="">Envoyer les séquences vidéo</span></button>
|
||||
|
||||
{{ form_end(formFile) }}
|
||||
{% if message !="" %}
|
||||
<div class="green center-align" style="border-radius:10px;padding:20px;color:#FFF;">{{ message }}</div>
|
||||
{% else %}
|
||||
<div class=" center-align" id="encours">Vos séquences vidéo sont en cours d’envoi...
|
||||
Veuillez rester sur la page pendant le chargement qui peut durer plusieurs minutes.
|
||||
</div>
|
||||
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
<!--<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>
|
||||
</div>-->
|
||||
</div>
|
||||
<div class="col-md-12 col-xl-6">
|
||||
<div class="padding sm-padding-5" id="tab-video-new">
|
||||
<div class="container-envoi-videos">
|
||||
<div class="titre-bloc-envoi-videos">
|
||||
<img src='https://www.talentstube.com/statique/images/Import-video-recruteur.svg'class="image-envoi-video"/img>
|
||||
<div class="texte-envoi-video">
|
||||
<h4>Choix n°2</h4>
|
||||
<h5>J’<span class="underline">importe</span> ma vidéo d’offre d’emploi</h5>
|
||||
</div>
|
||||
</div>
|
||||
<div class="contenu-bloc-envoi-videos">
|
||||
{% include 'media/dropzoneV2.html.twig' %}
|
||||
{{ form_start(form, {'attr': { 'id': 'form_media' } }) }}
|
||||
{{ form_row(form.title) }}
|
||||
{# {{ form_row(form.brochure) }}
|
||||
{{ form_row(form.brochure1) }}
|
||||
{{ form_row(form.brochure2) }} #}
|
||||
<br/>
|
||||
<div class="row">
|
||||
<div class="col-6">
|
||||
<a href="{{ path('company_ad_edit',{"id": ad.getId()}) }}" >
|
||||
<button aria-label="" class="btn btn-default btn-lg m-b-10"
|
||||
type="button">
|
||||
<span>Retour </span>
|
||||
|
||||
</button>
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-6">
|
||||
|
||||
<button aria-label="" id="submit" data-toggle="modal"
|
||||
data-target="#popupSubmitModal" type="" class="btn btn-primary btn-lg m-b-10 hide"
|
||||
type="button">
|
||||
<span>Publier l'offre</span>
|
||||
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
{{ form_end(form) }}
|
||||
</div>
|
||||
</div>
|
||||
</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>
|
||||
</div>
|
||||
</div>
|
||||
<!-- END CONTAINER FLUID -->
|
||||
{% endblock %}
|
||||
{% block javascripts %}
|
||||
{{ parent() }}
|
||||
@@ -59,7 +295,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) {
|
||||
@@ -69,6 +305,7 @@
|
||||
});
|
||||
</script>
|
||||
<script type="text/javascript">
|
||||
$("#encours").hide();
|
||||
var urlDropzone = '{{ path("upload_media", {"id": ad.getId()}) }}';
|
||||
var urlDelete = '{{ path("delete_media", {"id": ad.getId() }) }}'
|
||||
var idObject = '{{ ad.getId() }}';
|
||||
@@ -83,7 +320,11 @@
|
||||
{% else %}
|
||||
var videoExist = false;
|
||||
{% endif %}
|
||||
|
||||
//function appelée lors de la confirmation de popup
|
||||
function submitFormAd(){
|
||||
|
||||
$('#form_media').submit();
|
||||
}
|
||||
</script>
|
||||
<script src="{{ asset('/js/dropzone.js') }}"></script>
|
||||
<script src="{{ asset('/js/dropzoneV2.js') }}"></script>
|
||||
{% endblock %}
|
||||
@@ -1,83 +1,419 @@
|
||||
{% 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 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"> </span>Nombre de visites de vos annonces</p>
|
||||
<p><span class="btn-countVisitsCompany"> </span>Nombre de visites de la page entreprise</p>
|
||||
</div>
|
||||
<div class="col s6 countBlock">
|
||||
<span class="btn-countVisitsAds"><span class="countVisitsAds"></span> visites</span>
|
||||
<span class="btn-countVisitsCompany"><span class="countVisitsCompany"></span> 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"> </span>Visites de talents</p>
|
||||
<p><span class="btn-count btn-countVisitsCompanyByCompany"> </span>Visites d'entreprises</p>
|
||||
<p><span class="btn-count btn-countVisitsAnonymByCompany"> </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>
|
||||
<script>
|
||||
document.location.href = "/entreprise/me/profil";
|
||||
</script>
|
||||
|
||||
{# {{ render("/entreprise/me/profil") }} #}
|
||||
</div>
|
||||
{% 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" style="transform: translateY(0px); opacity: 1;">
|
||||
<!-- START BREADCRUMB -->
|
||||
<ol class="breadcrumb">
|
||||
<li class="breadcrumb-item"><a href="https://recruteur.talentstube.com/entreprise/me/">Accueil</a></li>
|
||||
</ol>
|
||||
<!-- END BREADCRUMB -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- END JUMBOTRON -->
|
||||
<!--Boutons actions Tableau de bord -->
|
||||
|
||||
<div class=" container-fluid container-fixed-lg bloc-tdb">
|
||||
<!-- START card -->
|
||||
<div class="col-lg-12">
|
||||
<div class="card card-default container">
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-md">
|
||||
<a href="{{path('company_ad_create')}}">
|
||||
<button class="card-action" type="button">
|
||||
|
||||
<span class="material-icons">movie_creation</span>
|
||||
<div class="row lien-fleche" style="justify-content: center; align-items: center">
|
||||
<h6 class="col-10">Créer une offre d’emploi vidéo</h6>
|
||||
<span class="material-icons col-2 fleche">arrow_right_alt</span>
|
||||
</div>
|
||||
|
||||
</button>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="col-md" type="button">
|
||||
<a href="{{path('company_ad')}}">
|
||||
<button class="card-action" style="" type="button">
|
||||
|
||||
<span class="material-icons" style="">work</span>
|
||||
<div class="row lien-fleche" style="justify-content: center; align-items: center">
|
||||
<h6 class="col-10">Gérer mes offres d’emploi</h6>
|
||||
<span class="material-icons col-2 fleche">arrow_right_alt</span>
|
||||
</div>
|
||||
|
||||
</button>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="col-md" type="button">
|
||||
<a href="{{path('company_answer_list')}}">
|
||||
<button class="card-action" style="" type="button">
|
||||
<span class="material-icons" style="">face</span>
|
||||
<div class="row lien-fleche" style="justify-content: center; align-items: center">
|
||||
<h6 class="col-10">Gérer mes candidatures</h6>
|
||||
<span class="material-icons col-2 fleche">arrow_right_alt</span>
|
||||
</div>
|
||||
|
||||
</button>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!--Fin Boutons actions Tableau de bord -->
|
||||
|
||||
<!--Blocs statistiques Tableau de bord -->
|
||||
<div class=" container-fluid container-fixed-lg bloc-tdb">
|
||||
<!-- START card -->
|
||||
<div class="col-lg-12">
|
||||
<div class="card card-default container">
|
||||
<div class="row">
|
||||
<div class="col-lg text-card">
|
||||
<div class="bloc-stats">
|
||||
<span class="font-montserrat fs-11 all-caps">Nombre total de candidats</span>
|
||||
<h3 class="bold no-margin p-b-5"><a class="bold no-margin p-b-5"
|
||||
href="{{ path('company_answer_list') }}">{{nbAnswersSended}}</a></h3>
|
||||
<span class="fs-12 ">Nouveaux candidats</span>
|
||||
<h4 class="bold no-margin" class=""><a class="bold no-margin"
|
||||
href="{{ path('company_answer_list') }}">+{{nbAnswersSended}}</a></h4>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg text-card">
|
||||
<div class="bloc-stats">
|
||||
<span class="font-montserrat fs-11 all-caps">Visites de la page entreprise</span>
|
||||
<h3 class="bold no-margin p-b-5">{{ records.totalRecordsCompany }}</h3>
|
||||
<div class="row">
|
||||
<div class="col-sm vertical-border" border-right: 1px solid white;>
|
||||
<span class="fs-12">7 derniers jours</span>
|
||||
<h4 class="bold no-margin">+{{ records7days.totalRecordsCompany }}</h4>
|
||||
</div>
|
||||
<div class="col-sm">
|
||||
<span class="fs-12">30 derniers jours</span>
|
||||
<h4 class="bold no-margin" style="opacity:0.75">+{{ records30days.totalRecordsCompany }}
|
||||
</h4>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg text-card">
|
||||
<div class="bloc-stats">
|
||||
<span class="font-montserrat fs-11 all-caps">Vues globales des offres d’emploi</span>
|
||||
<h3 class="bold no-margin p-b-5">{{ records.totalRecords-records.totalRecordsCompany }}</h3>
|
||||
<div class="row">
|
||||
<div class="col-sm vertical-border">
|
||||
<span class="fs-12">7 derniers jours</span>
|
||||
<h4 class="bold no-margin">
|
||||
+{{ records7days.totalRecords-records7days.totalRecordsCompany }}</h4>
|
||||
</div>
|
||||
<div class="col-sm">
|
||||
<span class="fs-12">30 derniers jours</span>
|
||||
<h4 class="bold no-margin" style="opacity:0.75">+{{ records30days.totalRecords-records30days.totalRecordsCompany }}
|
||||
</h4>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
<div class="col s3">
|
||||
<h5 class="blue-text no-margin-top">Volumes des visites</h5>
|
||||
</div>
|
||||
</div>
|
||||
<!--Fin Blocs statistiques Tableau de bord -->
|
||||
|
||||
|
||||
<!-- START 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">Statistiques</div>
|
||||
</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"> </span>Nombre de visites de vos annonces</p>
|
||||
<p><span class="btn-countVisitsCompany"> </span>Nombre de visites de la page entreprise</p>
|
||||
</div>
|
||||
<div class="col s6 countBlock">
|
||||
<span class="btn-countVisitsAds"><span class="countVisitsAds"></span> visites</span>
|
||||
<span class="btn-countVisitsCompany"><span class="countVisitsCompany"></span> 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"> </span>Visites de talents</p>
|
||||
<p><span class="btn-count btn-countVisitsCompanyByCompany"> </span>Visites d'entreprises</p>
|
||||
<p><span class="btn-count btn-countVisitsAnonymByCompany"> </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">
|
||||
<div class="col-lg-12 col-xl-12 col-xlg-12">
|
||||
<div class="col-md-12 m-b-10" style="display:flex;">
|
||||
<!-- Nombre de candidatures vidéo - START WIDGET D3 widget_graphTileFlat-->
|
||||
<div class="widget-8 card m-r-15 widget-loader-bar card-header card-background-1">
|
||||
<div class="container-xs-height">
|
||||
<!--full-height-->
|
||||
<div class="">
|
||||
<!--row-xs-height -->
|
||||
<div class="col-xs-height col-top">
|
||||
<div class="">
|
||||
<!--card-header top-left top-right -->
|
||||
<div class="card-title text-card">
|
||||
<span class="font-montserrat fs-11 all-caps">Nombre total de
|
||||
candidats</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row-xs-height">
|
||||
<div class="col-xs-height col-top relative">
|
||||
<div class="row full-height">
|
||||
<div class="col-sm-12 text-card">
|
||||
<h3 class="bold no-margin p-b-5 text-card"><a
|
||||
class="bold no-margin p-b-5 text-card"
|
||||
href="{{ path('company_answer_list') }}">{{nbAnswersSended}}</a>
|
||||
</h3>
|
||||
</div>
|
||||
<div class="col-sm-8">
|
||||
<div
|
||||
class="p-l-0 full-height d-flex flex-column justify-content-between text-card">
|
||||
<p class="small m-t-5 m-b-0">
|
||||
<span class="fs-12 ">Nouveaux candidats</span>
|
||||
</p>
|
||||
<h4 class="bold no-margin"><a class="bold no-margin"
|
||||
href="{{ path('company_answer_list') }}">+{{nbAnswersSended}}</a>
|
||||
</h4>
|
||||
</div>
|
||||
</div>
|
||||
<!--<div class="col-sm-5">
|
||||
<div class="p-l-0 full-height d-flex flex-column justify-content-between text-card">
|
||||
<p class="small m-t-5 m-b-0">
|
||||
<span class="fs-12 ">30 derniers jours</span>
|
||||
</p>
|
||||
<h4 class="bold no-margin" style="opacity:0.75">+48</h4>
|
||||
</div>
|
||||
</div>-->
|
||||
</div>
|
||||
<!--<div class="widget-8-chart line-chart" data-line-color="white" data-points="true" data-point-color="warning" data-stroke-width="2">
|
||||
</div>-->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- END WIDGET -->
|
||||
<!-- Nombre de visite page entreprise vidéo - START WIDGET D3 widget_graphTileFlat-->
|
||||
<div class="widget-8 card m-r-15 widget-loader-bar card-header card-background-2">
|
||||
<div class="container-xs-height">
|
||||
<div class="">
|
||||
<!--row-xs-height -->
|
||||
<div class="col-xs-height col-top">
|
||||
<div class="">
|
||||
<!--card-header top-left top-right -->
|
||||
<div class="card-title text-card">
|
||||
<span class="font-montserrat fs-11 all-caps">Visites de la page
|
||||
entreprise</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row-xs-height">
|
||||
<div class="col-xs-height col-top relative">
|
||||
<div class="row full-height">
|
||||
<div class="col-sm-12 text-card">
|
||||
<h3 class="bold no-margin p-b-5 text-card">{{ records.totalRecordsCompany }}
|
||||
</h3>
|
||||
</div>
|
||||
<div class="col-sm-5 vertical-border">
|
||||
<div
|
||||
class="p-l-0 full-height d-flex flex-column justify-content-between text-card">
|
||||
<p class="small m-t-5 m-b-0">
|
||||
<span class="fs-12 ">7 derniers jours</span>
|
||||
</p>
|
||||
<h4 class="bold no-margin">+{{ records7days.totalRecordsCompany }}</h4>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-5">
|
||||
<div
|
||||
class="p-l-0 full-height d-flex flex-column justify-content-between text-card">
|
||||
<p class="small m-t-5 m-b-0">
|
||||
<span class="fs-12 ">30 derniers jours</span>
|
||||
</p>
|
||||
<h4 class="bold no-margin" style="opacity:0.75">
|
||||
+{{ records30days.totalRecordsCompany }}</h4>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!--<div class="widget-8-chart line-chart" data-line-color="white" data-points="true" data-point-color="warning" data-stroke-width="2">
|
||||
</div>-->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- END WIDGET -->
|
||||
|
||||
<!-- Nombre de visites global offres d'emploi --START WIDGET D3 widget_graphTileFlat-->
|
||||
<div class="widget-8 card no-margin widget-loader-bar card-header card-background-3">
|
||||
<div class="container-xs-height">
|
||||
<div class="">
|
||||
<!--row-xs-height -->
|
||||
<div class="col-xs-height col-top">
|
||||
<div class="">
|
||||
<!--card-header top-left top-right -->
|
||||
<div class="card-title text-card">
|
||||
<span class="font-montserrat fs-11 all-caps">Vues globales des offres
|
||||
d’emploi</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row-xs-height">
|
||||
<div class="col-xs-height col-top relative">
|
||||
<div class="row full-height">
|
||||
<div class="col-sm-12 text-card">
|
||||
<h3 class="bold no-margin p-b-5 text-card">
|
||||
{{ records.totalRecords-records.totalRecordsCompany }}</h3>
|
||||
</div>
|
||||
<div class="col-sm-5 vertical-border">
|
||||
<div
|
||||
class="p-l-0 full-height d-flex flex-column justify-content-between text-card">
|
||||
<p class="small m-t-5 m-b-0">
|
||||
<span class="fs-12 ">7 derniers jours</span>
|
||||
</p>
|
||||
<h4 class="bold no-margin">
|
||||
+{{ records7days.totalRecords-records7days.totalRecordsCompany }}
|
||||
</h4>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-5">
|
||||
<div
|
||||
class="p-l-0 full-height d-flex flex-column justify-content-between text-card">
|
||||
<p class="small m-t-5 m-b-0">
|
||||
<span class="fs-12 ">30 derniers jours</span>
|
||||
</p>
|
||||
<h4 class="bold no-margin" style="opacity:0.75">
|
||||
+{{ records30days.totalRecords-records30days.totalRecordsCompany }}
|
||||
</h4>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!--<div class="widget-8-chart line-chart" data-line-color="white" data-points="true" data-point-color="warning" data-stroke-width="2">
|
||||
</div>-->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- END WIDGET -->
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!--class="col-lg-8 sm-p-b-10 md-p-b-10"-->
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</div> #}
|
||||
<!-- END card -->
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
{% 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;
|
||||
{{ 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();
|
||||
}
|
||||
}#
|
||||
}
|
||||
|
||||
function getChartData(date1,date2) {
|
||||
{
|
||||
#
|
||||
function getChartData(date1, date2) {
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: '{{ path("company_ajax_dashboard") }}',
|
||||
data: 'date1='+date1+'&date2='+date2,
|
||||
data: 'date1=' + date1 + '&date2=' + date2,
|
||||
dataType: "json",
|
||||
success: function (data) {
|
||||
arrayRecords = data.lineRecords;
|
||||
@@ -90,19 +426,22 @@
|
||||
$('.fa-refresh').hide();
|
||||
}
|
||||
});
|
||||
}
|
||||
}#
|
||||
}
|
||||
|
||||
document.addEventListener("DOMContentLoaded", function(event) {
|
||||
{
|
||||
#
|
||||
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) {
|
||||
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();
|
||||
@@ -110,20 +449,23 @@
|
||||
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";
|
||||
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');
|
||||
});
|
||||
$('.apply-btn').attr('value', 'Valider');
|
||||
});#
|
||||
}
|
||||
|
||||
function setArrayValues(){
|
||||
{
|
||||
#
|
||||
function setArrayValues() {
|
||||
arrayCurrentsLabel = [];
|
||||
arrayCurrentsAdsValues = [];
|
||||
arrayCurrentsCompanyValues = [];
|
||||
arrayRecords['labels'].forEach(function(element, index) {
|
||||
arrayRecords['labels'].forEach(function (element, index) {
|
||||
var date = element.split("-");
|
||||
var dateAffiche = date[2]+"-"+date[1]+"-"+date[0];
|
||||
var dateAffiche = date[2] + "-" + date[1] + "-" + date[0];
|
||||
arrayCurrentsLabel.push(dateAffiche);
|
||||
arrayCurrentsAdsValues.push(arrayRecords['datasetsAd'][index]);
|
||||
arrayCurrentsCompanyValues.push(arrayRecords['datasetsCompany'][index]);
|
||||
@@ -133,7 +475,7 @@
|
||||
myChart.data.datasets[1].data = arrayCurrentsCompanyValues;
|
||||
|
||||
if (arrayCurrentsAdsValues.length > 0) {
|
||||
sumVisitsAds = arrayCurrentsAdsValues.reduce(function(memo, val) {
|
||||
sumVisitsAds = arrayCurrentsAdsValues.reduce(function (memo, val) {
|
||||
let value = val || 0;
|
||||
if (value != null) {
|
||||
return memo + value;
|
||||
@@ -143,7 +485,7 @@
|
||||
sumVisitsAds = 0;
|
||||
}
|
||||
if (arrayCurrentsCompanyValues.length > 0) {
|
||||
sumCompanyValues = arrayCurrentsCompanyValues.reduce(function(memo, val) {
|
||||
sumCompanyValues = arrayCurrentsCompanyValues.reduce(function (memo, val) {
|
||||
let value = val || 0;
|
||||
if (value != null) {
|
||||
return memo + value;
|
||||
@@ -158,51 +500,49 @@
|
||||
}
|
||||
|
||||
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"
|
||||
}
|
||||
]
|
||||
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: [{
|
||||
var myChart = new Chart(ctx, {
|
||||
type: 'line',
|
||||
data: dataLine,
|
||||
options: {
|
||||
legend: {
|
||||
display: false
|
||||
},
|
||||
scales: {
|
||||
xAxes: [{
|
||||
display: true,
|
||||
scaleLabel: {
|
||||
display: true,
|
||||
scaleLabel: {
|
||||
display: true,
|
||||
labelString: 'Date'
|
||||
}
|
||||
}],
|
||||
yAxes: [{
|
||||
ticks: {
|
||||
min: 0
|
||||
},
|
||||
scaleLabel: {
|
||||
display: true,
|
||||
labelString: 'Valeur'
|
||||
}
|
||||
}]
|
||||
}
|
||||
labelString: 'Date'
|
||||
}
|
||||
}],
|
||||
yAxes: [{
|
||||
ticks: {
|
||||
min: 0
|
||||
},
|
||||
scaleLabel: {
|
||||
display: true,
|
||||
labelString: 'Valeur'
|
||||
}
|
||||
}]
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
var dataDonught = {
|
||||
labels: [
|
||||
@@ -210,20 +550,19 @@
|
||||
"Visites d'entreprises",
|
||||
"Visites d'internautes non inscrit"
|
||||
],
|
||||
datasets: [
|
||||
{
|
||||
data: donughtRecords,
|
||||
backgroundColor: [
|
||||
"#FF6384",
|
||||
"#36A2EB",
|
||||
"#FFCE56"
|
||||
],
|
||||
hoverBackgroundColor: [
|
||||
"#FF6384",
|
||||
"#36A2EB",
|
||||
"#FFCE56"
|
||||
]
|
||||
}]
|
||||
datasets: [{
|
||||
data: donughtRecords,
|
||||
backgroundColor: [
|
||||
"#FF6384",
|
||||
"#36A2EB",
|
||||
"#FFCE56"
|
||||
],
|
||||
hoverBackgroundColor: [
|
||||
"#FF6384",
|
||||
"#36A2EB",
|
||||
"#FFCE56"
|
||||
]
|
||||
}]
|
||||
};
|
||||
var ctxDonught = document.getElementById("donught_visits");
|
||||
var myDoughnutChart = new Chart(ctxDonught, {
|
||||
@@ -237,6 +576,7 @@
|
||||
animateScale: true
|
||||
}
|
||||
}
|
||||
});
|
||||
</script>
|
||||
});#
|
||||
}
|
||||
</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 %}
|
||||
File diff suppressed because one or more lines are too long
@@ -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/> </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 %}
|
||||
|
||||
Executable → Regular
@@ -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>
|
||||
@@ -56,7 +56,7 @@
|
||||
</p>
|
||||
<h5 class="white-text">Contactez-nous !</h5>
|
||||
<a class="white-text" href="mailto:bonjour@talentstube.com">Par mail</a>
|
||||
<p class="white-text">02 30 05 06 31</p>
|
||||
<p class="white-text">07 56 85 27 36</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>
|
||||
|
||||
+65
@@ -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:bonjour@talentstube.com">Par mail</a>
|
||||
<p class="white-text">07 56 85 27 36/p>
|
||||
<p class="footer-newsletter">
|
||||
<a class="btn-large btn-round" href="#" title="Newsletter" data-token="ecea5416671e97e3abfa8195848a9140" onclick="mjOpenPopin(event, this)">
|
||||
<i class="fa fa-envelope-open-o left" aria-hidden="true"></i>
|
||||
Newsletter</a>
|
||||
<data data-token="ecea5416671e97e3abfa8195848a9140" class="mj-w-data" data-apikey="2jWA" data-w-id="31E" data-lang="fr_FR" data-base="https://app.mailjet.com" data-width="640" data-height="420" data-statics="statics"></data>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row footer-more-links">
|
||||
<div class="col s12 center-align">
|
||||
<p class="text-center white-text">Entreprise soutenue par</p>
|
||||
<a href="https://www.bretagne.bzh/"><img src="{{ asset('img/RB_monochrome_blanc.svg')}}" alt="Region Bretagne"></a><br>
|
||||
</div>
|
||||
<div class="col s12 center-align m-t-30">
|
||||
<a class="text-center white-text" href="https://www.e-declic.com" target="_blank" title="Agence Web">© 2018 Talents Tube</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
{# Modal Login#}
|
||||
{% if app.request.get('_route') != "fos_user_security_login" %}
|
||||
<div id="modal_login" class="modal ">
|
||||
<div class="modal-content">
|
||||
{{ render(controller('AppBundle:SecurityModal:loginModal')) }}
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
@@ -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,69 @@
|
||||
<div class="fluid-container header-fixed-top sticky-top " id="header-wrapper">
|
||||
<div id="header" class="">
|
||||
<nav class="nav-wrapper site-header sticky-top p-3 ">
|
||||
<div class=" logo-wrapper d-flex flex-column flex-md-row justify-content-between w-100 pl-md-3">
|
||||
<a class="py-2" href="{{ path('homepage') }}" class="brand-logo">
|
||||
<img alt="talents-tube" src="{{ asset('img/logo-talentstube-blanc-header.svg') }}"
|
||||
alt="Talents Tube" />
|
||||
</a>
|
||||
</div>
|
||||
</nav>
|
||||
</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> #}
|
||||
@@ -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 %}
|
||||
|
||||
+395
@@ -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, 'メイリオ', Meiryo, 'MS PGothic', 'Soleil', Helvetica, Arial, sans-serif;
|
||||
}
|
||||
|
||||
.lang-ja-jp .skitchToastBox {
|
||||
font-family: 'メイリオ', 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>
|
||||
+53
@@ -0,0 +1,53 @@
|
||||
<div class="space-1-bottom gradient-overlay-half-primary-v1">
|
||||
<div class="d-lg-flex align-items-lg-center height-85vh--lg">
|
||||
<div class="container space-2 space-0--lg mt-lg-8">
|
||||
<div class="row justify-content-lg-between align-items-lg-center">
|
||||
<div class="w-md-80 w-lg-60 text-center mx-md-auto col-lg-6">
|
||||
<!-- Signup Form -->
|
||||
<div class="bg-white shadow-sm rounded p-6" id="formulaireBas">
|
||||
<form class="js-validate" id="formDemandeDiag2">
|
||||
<div class="">
|
||||
<p class="h4 text-center">Faites le point sur <br>vos enjeux de recrutement</p>
|
||||
<p class="text-center">Diagnostic gratuit de 15 minutes</p>
|
||||
<!--<p>Faites le point sur vos enjeux de recrutement, identifier ce que Talents Tube peut résoudre et prendre connaissance de l’offre la plus appropriée pour votre entreprise.</p>-->
|
||||
</div>
|
||||
<!-- Input -->
|
||||
<div class="js-form-message mb-3">
|
||||
<div class="js-focus-state input-group input-group form">
|
||||
<input type="text" class="form-control form__input" name="nomPrenomForm2" id="nomPrenomForm2" required placeholder="Nom Prénom" aria-label="name">
|
||||
</div>
|
||||
</div>
|
||||
<!-- End Input -->
|
||||
<!-- Input -->
|
||||
<div class="js-form-message mb-3">
|
||||
<div class="js-focus-state input-group input-group form">
|
||||
<input type="text" class="form-control form__input" name="nomEntrepriseForm2" id="nomEntrepriseForm2" required placeholder="Nom de l'entreprise" aria-label="entreprise">
|
||||
</div>
|
||||
</div>
|
||||
<!-- End Input -->
|
||||
<!-- Input -->
|
||||
<div class="js-form-message mb-3">
|
||||
<div class="js-focus-state input-group input-group form">
|
||||
<input type="email" class="form-control form__input" name="emailForm2" id="emailForm2" required placeholder="E-mail" aria-label="email">
|
||||
</div>
|
||||
</div>
|
||||
<!-- End Input -->
|
||||
<!-- Input -->
|
||||
|
||||
<div class="js-form-message mb-3">
|
||||
<div class="js-focus-state input-group input-group form">
|
||||
<input type="text" class="form-control form__input" name="telForm2" id="telForm2" placeholder="Numéro de téléphone" aria-label="phone">
|
||||
</div>
|
||||
</div>
|
||||
<!-- End Input -->
|
||||
<p class="text-primary" id="messageValideDemandeDiag2"></p>
|
||||
|
||||
<a href="#formulaireBas" onClick="demanderDiag('formDemandeDiag2')" class="btn btn-sm btn-primary btn-wide center">Demander mon diagnostic</a>
|
||||
</form>
|
||||
</div>
|
||||
<!-- End Signup Form -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
Regular → Executable
+3
-3
@@ -6,7 +6,7 @@
|
||||
<!-- Title -->
|
||||
<div class="mb-4">
|
||||
<h2 class="h3"> Recevez les candidatures en vidéo</h2>
|
||||
<p> Depuis leur webcam, smartphone ou tablette, les candidats postulent aux vidéos de votre entreprise, en
|
||||
<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 d’enregistrement vidéo simple, rapide et gratuit.
|
||||
|
||||
Vous recevez des vidéos de motivation, c’est-à-dire des candidatures qui répondent à votre vidéo de
|
||||
@@ -15,14 +15,14 @@
|
||||
|
||||
<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-cv-video">En savoir plus</a>
|
||||
<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-cv-video"><img class="img-fluid" src="{{ asset('v2/png/candidature-en-video.png') }}" alt="Candidature en vidéo"></a>
|
||||
<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>
|
||||
|
||||
Regular → Executable
+56
-34
@@ -1,40 +1,62 @@
|
||||
<!-- Ils nous font confiance DEBUT -->
|
||||
<div class="container space-2 space-3--lg accueilFondBlanc">
|
||||
<div class=" text-center mx-md-auto mb-12">
|
||||
<div class="container space-2 space-3--lg accueilFondBlanc">
|
||||
<div class="row justify-content-lg-between">
|
||||
<div class="w-md-80 w-lg-60 text-center mx-md-auto mb-9">
|
||||
<!-- 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">
|
||||
<h2 class="h3">Ils ont trouvé leurs candidats avec Talents Tube</h2>
|
||||
</div>
|
||||
|
||||
<div class="col-md-6 col-lg-5 order-md-2 mb-7 mb-md-0">
|
||||
<!-- Review -->
|
||||
<div class="media">
|
||||
<div class="media-body">
|
||||
<h4 class="h6 mb-0">Delphine F.</h4>
|
||||
<p class="text-muted">"Je n'avais pratiquement plus de CV. Talents Tube est devenu l'outil de recrutement qui génère le plus de candidatures"</p>
|
||||
</div>
|
||||
</div>
|
||||
<!-- End Slick Carousel -->
|
||||
<!-- End Review -->
|
||||
<!-- Review -->
|
||||
<div class="media">
|
||||
<div class="media-body">
|
||||
<h4 class="h6 mb-0">Emmanuelle G</h4>
|
||||
<p class="text-muted">"Nous n'avions plus de CV papier et grâce à Talents Tube, nous avons recruté de nouveaux collaborateurs en préparation de commandes"</p>
|
||||
</div>
|
||||
</div>
|
||||
<!-- End Review -->
|
||||
<!-- Review -->
|
||||
<div class="media">
|
||||
<div class="media-body">
|
||||
<h4 class="h6 mb-0">Adrien</h4>
|
||||
<p class="text-muted">"Nous avons recruté grâce à la vidéo ! On a des personnes qui ont postulé et qui n'auraient pas postulé sans la vidéo."</p>
|
||||
</div>
|
||||
</div>
|
||||
<!-- End Review -->
|
||||
</div>
|
||||
|
||||
<div class="col-md-6 order-md-1">
|
||||
<div id="youTubeVideoPlayer" class="u-video-player mb-7">
|
||||
<!-- Cover Image -->
|
||||
<img class="img-fluid u-video-player__preview" src="/v2/png/recrutement-video-temoignage.jpg" alt="Image">
|
||||
<!-- End Cover Image -->
|
||||
|
||||
<!-- Play Button -->
|
||||
<a class="js-fancybox text-white u-video-player__btn u-video-player__centered" href="javascript:;"
|
||||
data-src="https://www.youtube.com/watch?v=sKh0u7Mbdps" data-speed="700" data-animate-in="zoomIn"
|
||||
data-animate-out="zoomOut" data-caption="Témoignage">
|
||||
<span class="u-video-player__icon">
|
||||
<i class="fa fa-play u-video-player__icon-inner"></i>
|
||||
</span>
|
||||
</a>
|
||||
<!-- End Play Button -->
|
||||
|
||||
<!-- Video Iframe -->
|
||||
<div class="embed-responsive embed-responsive-16by9">
|
||||
</div>
|
||||
<!-- End Video Iframe -->
|
||||
</div>
|
||||
<!-- End Video Block -->
|
||||
</div>
|
||||
</div>
|
||||
<!-- Ils nous font confiance FIN -->
|
||||
</div>
|
||||
</div>
|
||||
<!-- Ils nous font confiance FIN -->
|
||||
+11
-11
@@ -1,6 +1,6 @@
|
||||
<!-- Degradé avec Stats Section -->
|
||||
<div class="gradient-overlay-half-primary-v1">
|
||||
<div class="bg-img-hero" style="background-image: url({{ asset('v2/img/bg/bg2.png')}} ">
|
||||
<div class="bg-img-hero" style=>
|
||||
<div class="container space-2 ">
|
||||
<div class="container z-index-2 containerStat">
|
||||
<div class=" shadow-lg rounded mt-n9">
|
||||
@@ -11,8 +11,8 @@
|
||||
<div class="media">
|
||||
|
||||
<div class="media-body px-4">
|
||||
<h2 class="statChiffre">1500+</h2>
|
||||
<p class="statTexte">Talents connectés</p>
|
||||
<h2 class="statChiffre">10000+</h2>
|
||||
<p class="statTexte">Visiteurs par mois</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -24,7 +24,7 @@
|
||||
<div class="card-body p-4">
|
||||
<div class="media">
|
||||
<div class="media-body px-4">
|
||||
<h2 class="statChiffre">900+</h2>
|
||||
<h2 class="statChiffre">1050+</h2>
|
||||
<p class="statTexte">Vues par vidéo</p>
|
||||
</div>
|
||||
</div>
|
||||
@@ -38,7 +38,7 @@
|
||||
<div class="media">
|
||||
|
||||
<div class="media-body px-4">
|
||||
<h2 class="statChiffre">350</h2>
|
||||
<h2 class="statChiffre">550+</h2>
|
||||
<p class="statTexte">Candidatures vidéo</p>
|
||||
</div>
|
||||
</div>
|
||||
@@ -56,8 +56,8 @@
|
||||
<div class="col-md-4 mb-7 mb-md-0">
|
||||
<!-- Icon Blocks -->
|
||||
<div class="text-center px-lg-3">
|
||||
<img src="{{ asset('v2/svg/components/Diffusion-offres-emploi-video-marque-employeur.svg') }}" alt="Logo">
|
||||
<h3 class="h4 text-white">Diffusez vos offres d'emploi et marque employeur en <a href="#">vidéo</a></h3>
|
||||
<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>
|
||||
@@ -65,8 +65,8 @@
|
||||
<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="Logo">
|
||||
<h3 class="h4 text-white">Recevez les candidatures en <a href="#">vidéo</a></h3>
|
||||
<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>
|
||||
@@ -74,8 +74,8 @@
|
||||
<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="Logo">
|
||||
<h3 class="h4 text-white">Gérez vos candidatures en <a href="#">vidéo</a></h3>
|
||||
<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>
|
||||
|
||||
+87
@@ -0,0 +1,87 @@
|
||||
|
||||
|
||||
<!-- Difficultés DEBUT -->
|
||||
|
||||
<div class="container space-2 space-3--lg accueilFondBlanc">
|
||||
<!-- Title -->
|
||||
<div class="w-md-80 w-lg-60 text-center mx-md-auto mb-9">
|
||||
<h2 class="h3">Vos difficultés de recrutement freinent votre développement</h2>
|
||||
</div>
|
||||
<!-- End Title -->
|
||||
|
||||
<div class="row pb-3">
|
||||
<div class="col-sm-6 col-lg-4 mb-7">
|
||||
<!-- Icon Block -->
|
||||
<div class="media align-items-center pr-lg-4">
|
||||
<img class="max-width-9 mr-3" src="../v2/svg/components/recrutement-long-et-difficile.svg" alt="Image Description">
|
||||
<div class="media-body">
|
||||
<p class="mb-0">Recrutements longs et difficiles ?</p>
|
||||
</div>
|
||||
</div>
|
||||
<!-- End Icon Block -->
|
||||
</div>
|
||||
|
||||
<div class="col-sm-6 col-lg-4 mb-7">
|
||||
<!-- Icon Block -->
|
||||
<div class="media align-items-center pr-lg-4">
|
||||
<img class="max-width-9 mr-3" src="../v2/svg/components/metier-en-tension.svg" alt="Image Description">
|
||||
<div class="media-body">
|
||||
<p class="mb-0">Métier en tension, méconnu, dévalorisé ?</p>
|
||||
</div>
|
||||
</div>
|
||||
<!-- End Icon Block -->
|
||||
</div>
|
||||
|
||||
<div class="col-sm-6 col-lg-4 mb-7">
|
||||
<!-- Icon Block -->
|
||||
<div class="media align-items-center pr-lg-4">
|
||||
<img class="max-width-9 mr-3" src="../v2/svg/components/penurie-main-oeuvre.svg" alt="Image Description">
|
||||
<div class="media-body">
|
||||
<p class="mb-0">Développement menacé par une pénurie de main-d'œuvre ?</p>
|
||||
</div>
|
||||
</div>
|
||||
<!-- End Icon Block -->
|
||||
</div>
|
||||
|
||||
<div class="col-sm-6 col-lg-4 mb-7 mb-lg-0">
|
||||
<!-- Icon Block -->
|
||||
<div class="media align-items-center pr-lg-4">
|
||||
<img class="max-width-9 mr-3" src="../v2/svg/components/trop-candidats-non-cibles.svg" alt="Image Description">
|
||||
<div class="media-body">
|
||||
<p class="mb-0">Trop de candidats non ciblés ?</p>
|
||||
</div>
|
||||
</div>
|
||||
<!-- End Icon Block -->
|
||||
</div>
|
||||
|
||||
<div class="col-sm-6 col-lg-4 mb-7 mb-md-0">
|
||||
<!-- Icon Block -->
|
||||
<div class="media align-items-center pr-lg-4">
|
||||
<img class="max-width-9 mr-3" src="../v2/svg/components/talents-introuvables.svg" alt="Image Description">
|
||||
<div class="media-body">
|
||||
<p class="mb-0">Talents introuvables ?</p>
|
||||
</div>
|
||||
</div>
|
||||
<!-- End Icon Block -->
|
||||
</div>
|
||||
|
||||
<div class="col-sm-6 col-lg-4">
|
||||
<!-- Icon Block -->
|
||||
<div class="media align-items-center pr-lg-4">
|
||||
<img class="max-width-9 mr-3" src="../v2/svg/components/methode-de-recrutement-traditionnel.svg" alt="Image Description">
|
||||
<div class="media-body">
|
||||
<p class="mb-0">Méthodes de recrutement traditionnelles sans résultat ?</p>
|
||||
</div>
|
||||
</div>
|
||||
<!-- End Icon Block -->
|
||||
</div>
|
||||
</div>
|
||||
<div class="w-md-80 w-lg-60 text-center mx-md-auto mt-5">
|
||||
<h3 class="h4">Ne laissez plus votre développement dépendre de vos recrutements</h3>
|
||||
<p class="lead">Rencontrez vos futurs collaborateurs autrement !</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Mieux que du texte FIN -->
|
||||
+22
-23
@@ -1,32 +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.
|
||||
<div class="space-1-bottom accueilFondBlanc">
|
||||
<div class="container space-2 ">
|
||||
<div class="row align-items-lg-center">
|
||||
<div class="col-md-6 order-md-2 mb-5 mb-md-0">
|
||||
<!-- Title -->
|
||||
<div class="mb-4">
|
||||
<h2 class="h3"> Révélez votre Marque Employeur en vidéo</h2>
|
||||
<p> Talents Tube offre une visibilité essentielle à votre marque employeur. Grâce à la vidéo, votre
|
||||
entreprise replace l’humain au cœur du recrutement. Vous disposez d’un levier concret et efficace pour
|
||||
parfaire votre réputation. Développez l’attractivité de votre entreprise pour séduire de nouveaux talents.
|
||||
|
||||
Grâce à la vidéo, votre entreprise replace l’humain au cœur du recrutement. Vous disposez d’un levier
|
||||
concret et efficace pour parfaire votre réputation. Développez l’attractivité de votre entreprise pour
|
||||
séduire de nouveaux talents.
|
||||
<strong>Donnez vie à votre marque employeur en plaçant la vidéo au centre de votre stratégie de
|
||||
communication et de votre gestion des ressources humaines.
|
||||
</strong>
|
||||
</p>
|
||||
<a class="btn btn-sm btn-primary btn-wide" href="marque-employeur-video">En savoir plus</a>
|
||||
|
||||
<strong>Donnez vie à votre marque employeur en plaçant la vidéo au coeur de votre stratégie de
|
||||
communication
|
||||
et de votre gestion des ressources humaines.</strong>
|
||||
</p>
|
||||
<a class="btn btn-sm btn-primary btn-wide" href="marque-employeur-en-video">En savoir plus</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-6 order-md-1">
|
||||
<div class="pr-lg-4">
|
||||
<a href="marque-employeur-en-video"><img class="img-fluid" src="{{ asset('v2/png/marque-employeur-en-video.png') }}" alt="Marque employeur vidéo"></a>
|
||||
</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>
|
||||
<!-- Marque employeur FIN -->
|
||||
</div>
|
||||
<!-- Marque employeur FIN -->
|
||||
+318
@@ -0,0 +1,318 @@
|
||||
<div class=" space-1-bottom accueilFondBlanc">
|
||||
<div class="container space-2 ">
|
||||
|
||||
<div class="row mx-gutters-2">
|
||||
<div class="col-md-6">
|
||||
<!-- Collapse -->
|
||||
<div id="faqAccordionOne">
|
||||
<div class="card mb-2">
|
||||
<div class="card-header card-collapse__header" id="faqAccordionOneHeadingOne">
|
||||
<h5 class="mb-0">
|
||||
<button
|
||||
class="btn btn-sm btn-link btn-block d-flex justify-content-between card-collapse__btn collapsed p-3"
|
||||
data-toggle="collapse" data-target="#faqAccordionOneCollapseOne" aria-expanded="false"
|
||||
aria-controls="faqAccordionOneCollapseOne">
|
||||
Je n’arrive pas à recruter, en quoi la vidéo pourrait résoudre ma problématique ?
|
||||
<span class="card-collapse__btn-arrow">
|
||||
<i class="fa fa-arrow-down small"></i>
|
||||
</span>
|
||||
</button>
|
||||
</h5>
|
||||
</div>
|
||||
<div id="faqAccordionOneCollapseOne" class="collapse" aria-labelledby="faqAccordionOneHeadingOne"
|
||||
data-parent="#faqAccordionOne">
|
||||
<div class="card-body card-collapse__body">
|
||||
Pour recruter des talents dans vos métiers en tension et <strong>attirer l’attention</strong> sur votre
|
||||
marque employeur, la vidéo est votre meilleur allié ! Grâce à la vidéo, vous allez <strong>raconter
|
||||
votre
|
||||
histoire, transmettre des émotions</strong> afin de présenter votre entreprise de façon dynamique et
|
||||
authentique
|
||||
et dire aux candidats : “Venez vivre et travailler chez nous !”
|
||||
La vidéo permet de vous montrer <strong>plus humain</strong>, de renforcer la <strong>proximité</strong>
|
||||
entre votre marque employeur et
|
||||
les candidats. Vous <strong>valorisez vos collaborateurs, votre métier, votre culture d’entreprise,
|
||||
l’ambiance</strong>
|
||||
au sein de vos équipes et expliquez vos valeurs par des témoignages authentiques et <strong>bien plus
|
||||
impactants</strong>
|
||||
que les méthodes de recrutement traditionnelles.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card mb-2">
|
||||
<div class="card-header card-collapse__header" id="faqAccordionOneHeadingTwo">
|
||||
<h5 class="mb-0">
|
||||
<button
|
||||
class="btn btn-sm btn-link btn-block d-flex justify-content-between card-collapse__btn collapsed p-3"
|
||||
data-toggle="collapse" data-target="#faqAccordionOneCollapseTwo" aria-expanded="false"
|
||||
aria-controls="faqAccordionOneCollapseTwo">
|
||||
Quand je recrute c’est tout de suite, pas le temps de faire une vidéo en plus cela coûte trop cher !
|
||||
|
||||
<span class="card-collapse__btn-arrow">
|
||||
<i class="fa fa-arrow-down small"></i>
|
||||
</span>
|
||||
</button>
|
||||
</h5>
|
||||
</div>
|
||||
<div id="faqAccordionOneCollapseTwo" class="collapse" aria-labelledby="faqAccordionOneHeadingTwo"
|
||||
data-parent="#faqAccordionOne">
|
||||
<div class="card-body card-collapse__body">
|
||||
C’est pourtant une occasion unique de vous démarquer de vos concurrents et transmettre des valeurs de
|
||||
fraîcheur, de modernité et d’innovation : autant d’éléments que la nouvelle génération recherche chez
|
||||
son futur employeur et qui vont vous permettre de recruter efficacement.
|
||||
<h5>La vidéo est prête en seulement 3 jours !</h5>
|
||||
Prendre le virage de <strong>la vidéo est beaucoup plus facile aujourd’hui</strong>. Vous pouvez
|
||||
réaliser des vidéos de
|
||||
qualité en interne <strong>grâce à la caméra de votre smartphone</strong>. Vous définissez votre poste
|
||||
et vous sollicitez
|
||||
un ou deux collaborateurs qui vont vous aider ou témoigner. Le lendemain, vous organisez <strong>2
|
||||
heures de
|
||||
tournage</strong> puis vous faites le montage ou vous contactez Talents Tube pour le faire.
|
||||
<strong>48h plus tard, votre
|
||||
vidéo est prête à être diffusée</strong> sur Talents Tube et autres supports de communication. Et si
|
||||
vous avez
|
||||
besoin de conseils, Talents Tube est là pour vous accompagner dans cette transition.
|
||||
<h5>La vidéo coûte moins chère qu’un mauvais recrutement !</h5>
|
||||
La vidéo ne représente pas seulement un coût… c’est un investissement qui permet une toute nouvelle
|
||||
attractivité de votre entreprise : fierté interne, fidélisation de vos collaborateurs, attractivité des
|
||||
candidats, valorisation de vos produits ou services…
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card mb-2">
|
||||
<div class="card-header card-collapse__header" id="faqAccordionOneHeadingThree">
|
||||
<h5 class="mb-0">
|
||||
<button
|
||||
class="btn btn-sm btn-link btn-block d-flex justify-content-between card-collapse__btn collapsed p-3"
|
||||
data-toggle="collapse" data-target="#faqAccordionOneCollapseThree" aria-expanded="false"
|
||||
aria-controls="faqAccordionOneCollapseThree">
|
||||
Comment vais-je faire pour trier 100 vidéos de motivation en réponse à mon offre d’emploi ?
|
||||
<span class="card-collapse__btn-arrow">
|
||||
<i class="fa fa-arrow-down small"></i>
|
||||
</span>
|
||||
</button>
|
||||
</h5>
|
||||
</div>
|
||||
<div id="faqAccordionOneCollapseThree" class="collapse" aria-labelledby="faqAccordionOneHeadingThree"
|
||||
data-parent="#faqAccordionOne">
|
||||
<div class="card-body card-collapse__body">
|
||||
Ne comparez pas avec les CV papier ! La vidéo génère tant de transparence que les <strong>candidats ne
|
||||
pourront
|
||||
pas se tromper sur vos attentes</strong>. C’est surtout parce que vous avez bien défini votre offre
|
||||
d’emploi, que
|
||||
ceux qui postulent auront toutes les cartes pour vous dire : « c’est moi que vous recherchez ! ».
|
||||
Ainsi, <strong>vous recevrez moins de candidatures et beaucoup plus d’excellents candidats</strong>.
|
||||
Finalement, vous
|
||||
gagnerez du temps dans votre recrutement.
|
||||
Le plus de Talents Tube : vous conservez dans votre espace recruteur, les vidéos de motivation pour vous
|
||||
<strong>constituer votre vivier de candidats</strong>.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card mb-2 mb-md-0">
|
||||
<div class="card-header card-collapse__header" id="faqAccordionOneHeadingFour">
|
||||
<h5 class="mb-0">
|
||||
<button
|
||||
class="btn btn-sm btn-link btn-block d-flex justify-content-between card-collapse__btn collapsed p-3"
|
||||
data-toggle="collapse" data-target="#faqAccordionOneCollapseFour" aria-expanded="false"
|
||||
aria-controls="faqAccordionOneCollapseFour">
|
||||
Les candidats qui ne veulent pas faire de vidéo peuvent-ils me répondre avec une candidature classique
|
||||
sur papier ?
|
||||
<span class="card-collapse__btn-arrow">
|
||||
<i class="fa fa-arrow-down small"></i>
|
||||
</span>
|
||||
</button>
|
||||
</h5>
|
||||
</div>
|
||||
<div id="faqAccordionOneCollapseFour" class="collapse" aria-labelledby="faqAccordionOneHeadingFour"
|
||||
data-parent="#faqAccordionOne">
|
||||
<div class="card-body card-collapse__body">
|
||||
<strong>Nos collaborateurs accompagnent les candidats dans ce changement</strong> afin qu’ils puissent
|
||||
présenter en
|
||||
vidéo, leur personnalité, leur motivation et expliquer ce qu’ils ont trouvé d’excellent dans la vidéo
|
||||
d’offre d’emploi de votre entreprise, pour leur parcours professionnel. <strong>Il peut arriver que les
|
||||
candidats ne souhaitent pas se présenter en vidéo</strong> et nous ne les forçons pas. Sur Talents
|
||||
Tube, ils ont
|
||||
vos coordonnées. Après avoir visionné l’offre d’emploi vidéo, <strong>ils peuvent vous envoyer leur CV
|
||||
papier
|
||||
directement sur votre site internet</strong>.
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- End Collapse -->
|
||||
</div>
|
||||
|
||||
<div class="col-md-6">
|
||||
<!-- Collapse -->
|
||||
<div id="faqAccordionTwo">
|
||||
<div class="card mb-2">
|
||||
<div class="card-header card-collapse__header" id="faqAccordionTwoHeadingOne">
|
||||
<h5 class="mb-0">
|
||||
<button
|
||||
class="btn btn-sm btn-link btn-block d-flex justify-content-between card-collapse__btn collapsed p-3"
|
||||
data-toggle="collapse" data-target="#faqAccordionTwoCollapseFive" aria-expanded="false"
|
||||
aria-controls="faqAccordionTwoCollapseFive">
|
||||
Quelle différence entre une vidéo « marque employeur », « métier » et « offre d’emploi » ?
|
||||
|
||||
<span class="card-collapse__btn-arrow">
|
||||
<i class="fa fa-arrow-down small"></i>
|
||||
</span>
|
||||
</button>
|
||||
</h5>
|
||||
</div>
|
||||
<div id="faqAccordionTwoCollapseFive" class="collapse" aria-labelledby="faqAccordionTwoHeadingOne"
|
||||
data-parent="#faqAccordionTwo">
|
||||
<div class="card-body card-collapse__body">
|
||||
<h5>La vidéo Marque employeur :</h5>
|
||||
Pour développer ou améliorer votre marque employeur, la vidéo révèle l’âme de votre entreprise. Elle
|
||||
permet de la rendre attractive, de fédérer vos équipes et de persuader les candidats que vous ciblez de
|
||||
venir travailler chez vous plutôt que chez votre concurrent ! La vidéo marque employeur présente votre
|
||||
culture d’entreprise, vos valeurs, vos objectifs, l’état d’esprit de vos collaborateurs, l’ambiance qui
|
||||
y règne afin de vous distinguer et d’attirer les meilleurs candidats.
|
||||
C’est un <strong>moyen efficace pour améliorer votre image</strong> de marque, votre e-réputation et
|
||||
fidéliser vos
|
||||
collaborateurs.
|
||||
<h5>La vidéo Métier :</h5>
|
||||
La vidéo permet de valoriser des métiers souvent méconnus du public ou qui souffrent d’une mauvaise
|
||||
image. Pour expliquer à quoi ressemble votre métier au quotidien et casser les a priori, il est
|
||||
préférable de le montrer, plutôt que de le décrire. Le collaborateur qui exerce le métier le raconte
|
||||
avec émotion à travers ses propres mots.
|
||||
L’objectif d’une vidéo métier est simple : <strong>faire connaître le métier, le montrer sous un autre
|
||||
angle</strong>,
|
||||
permettre aux personnes de se projeter, de s’identifier, susciter des vocations et préparer l’avenir.
|
||||
<h5>La vidéo d’offre d’emploi :</h5>
|
||||
Pour un candidat, l’<strong>offre d’emploi écrite est souvent difficile à lire et peu
|
||||
attractive</strong>. Rien ne
|
||||
différencie vraiment une offre d’une autre ! Il scanne rapidement le texte ce qui l'amène à postuler
|
||||
pour des offres sans être certain d’avoir les compétences ou à se décourager avant de candidater alors
|
||||
qu’il a le bon profil.
|
||||
L’offre d’emploi vidéo est captivante et rassure le candidat sur le poste à pourvoir, les compétences
|
||||
attendues et lui permet de <strong>mettre un visage sur ses futurs collègues</strong>, les personnes
|
||||
avec lesquelles il
|
||||
sera amené à travailler au quotidien. Grâce à la vidéo, il sait d’emblée si le feeling opère, avant même
|
||||
d’avoir postulé.
|
||||
Le témoignage d’un collaborateur donne du crédit à l’annonce vidéo sur le plan opérationnel et celle
|
||||
d’un RH est appréciée pour évoquer la rémunération et les avantages.
|
||||
En résumé, <strong>la vidéo d’offre d’emploi capte l’attention des candidats et les rassurent dans leur
|
||||
intention de postuler</strong>.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card mb-2">
|
||||
<div class="card-header card-collapse__header" id="faqAccordionTwoHeadingTwo">
|
||||
<h5 class="mb-0">
|
||||
<button
|
||||
class="btn btn-sm btn-link btn-block d-flex justify-content-between card-collapse__btn collapsed p-3"
|
||||
data-toggle="collapse" data-target="#faqAccordionTwoCollapseSix" aria-expanded="false"
|
||||
aria-controls="faqAccordionTwoCollapseSix">
|
||||
Je publie déjà mes offres vidéo sur mon site internet, sur Youtube,… en quoi Talents Tube peut mieux
|
||||
faire ?
|
||||
<span class="card-collapse__btn-arrow">
|
||||
<i class="fa fa-arrow-down small"></i>
|
||||
</span>
|
||||
</button>
|
||||
</h5>
|
||||
</div>
|
||||
<div id="faqAccordionTwoCollapseSix" class="collapse" aria-labelledby="faqAccordionTwoHeadingTwo"
|
||||
data-parent="#faqAccordionTwo">
|
||||
<div class="card-body card-collapse__body">
|
||||
<h5>Talents Tube : votre outil de recrutement</h5>
|
||||
Talents Tube est un véritable outil de recrutement vidéo avec <strong>un seul objectif : vous aider à
|
||||
recruter </strong>!
|
||||
Les autres supports tels que Youtube, votre site internet… ne sont pas destinés uniquement à votre
|
||||
recrutement. Les personnes qui visitent talentstube.com viennent soit chercher du travail soit relayer
|
||||
les annonces d’emploi auprès de leur réseau qui pourrait être intéressé par votre offre.
|
||||
|
||||
<h5>Talents Tube : votre partenaire communication</h5>
|
||||
Pour réussir votre recrutement, vous devez communiquer ! Une vidéo n’est efficace que si elle est vue !
|
||||
<strong>Talents Tube s’occupe de votre visibilité par ses savoirs en communication</strong>. Nous
|
||||
utilisons de nombreux
|
||||
réseaux afin de <strong>promouvoir vos vidéos de recrutement</strong> (réseaux sociaux, YouTube, Indeed,
|
||||
dynamique
|
||||
territoire…).
|
||||
|
||||
<h5>Talents Tube : votre atout pour détecter les bons profils</h5>
|
||||
Vous vous êtes certainement déjà dit, au bout de 2 minutes d’entretien : “Ce n’est pas la bonne
|
||||
personne”. Et bien chez Talents Tube, <strong>vous recevez des vidéos de motivation</strong> qui
|
||||
s’adressent directement
|
||||
à vous. C’est unique, engageant et <strong>vous allez gagner du temps pour sélectionner les candidats
|
||||
mais
|
||||
également à l’entretien d’embauche </strong>car vous en savez déjà beaucoup plus. Vous allez pouvoir
|
||||
en toute
|
||||
simplicité <strong>évaluer votre retour sur investissement</strong> (ROI) de l’apport de votre offre
|
||||
d’emploi vidéo.
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card mb-2">
|
||||
<div class="card-header card-collapse__header" id="faqAccordionTwoHeadingThree">
|
||||
<h5 class="mb-0">
|
||||
<button
|
||||
class="btn btn-sm btn-link btn-block d-flex justify-content-between card-collapse__btn collapsed p-3"
|
||||
data-toggle="collapse" data-target="#faqAccordionTwoCollapseSeven" aria-expanded="false"
|
||||
aria-controls="faqAccordionTwoCollapseSeven">
|
||||
Suis-je sûr d'avoir des candidatures vidéo ?
|
||||
<span class="card-collapse__btn-arrow">
|
||||
<i class="fa fa-arrow-down small"></i>
|
||||
</span>
|
||||
</button>
|
||||
</h5>
|
||||
</div>
|
||||
<div id="faqAccordionTwoCollapseSeven" class="collapse" aria-labelledby="faqAccordionTwoHeadingThree"
|
||||
data-parent="#faqAccordionTwo">
|
||||
<div class="card-body card-collapse__body">
|
||||
Nous ne sommes pas magiciens, <strong>il peut arriver que certaines entreprises ne reçoivent pas de
|
||||
candidatures
|
||||
vidéo</strong>. Toutefois, <strong>de nombreuses entreprises qui ne recevaient plus aucun CV papier,
|
||||
ont reçu des vidéos
|
||||
de motivation</strong> sur Talents Tube. Elles ont enfin pu recruter le talent qu’elles cherchaient
|
||||
depuis
|
||||
longtemps, grâce à Talents Tube.
|
||||
Si toutefois vous ne recevez pas de candidatures vidéo, pas de panique, <strong>Talents Tube étudiera
|
||||
précisément votre problématique</strong> et vous proposera des solutions adaptées notamment des
|
||||
actions de
|
||||
communication ciblées pour répondre à votre difficulté.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card">
|
||||
<div class="card-header card-collapse__header" id="faqAccordionTwoHeadingFour">
|
||||
<h5 class="mb-0">
|
||||
<button
|
||||
class="btn btn-sm btn-link btn-block d-flex justify-content-between card-collapse__btn collapsed p-3"
|
||||
data-toggle="collapse" data-target="#faqAccordionTwoCollapseEight" aria-expanded="false"
|
||||
aria-controls="faqAccordionTwoCollapseEight">
|
||||
Est-ce que je peux modifier ou changer mes vidéos sur l'espace Talents Tube ?
|
||||
<span class="card-collapse__btn-arrow">
|
||||
<i class="fa fa-arrow-down small"></i>
|
||||
</span>
|
||||
</button>
|
||||
</h5>
|
||||
</div>
|
||||
<div id="faqAccordionTwoCollapseEight" class="collapse" aria-labelledby="faqAccordionTwoHeadingFour"
|
||||
data-parent="#faqAccordionTwo">
|
||||
<div class="card-body card-collapse__body">
|
||||
L'abonnement proposé par Talents Tube vous permet de <strong>diffuser plusieurs vidéos de recrutement en
|
||||
simultanée</strong>. Par exemple avec l'abonnement à 99€/mois pour la diffusion de 3 vidéos, vous avez la
|
||||
possibilité d'avoir plus de 3 vidéos sur Talents Tube mais vous ne pouvez avoir que 3 vidéos diffusées
|
||||
en même temps. <strong>Vous avez évidemment la possibilité de désactiver une annonce au profit d'une autre</strong>,
|
||||
toujours dans la limite de 3 vidéos en ligne. Si vous souhaitez diffuser plus de 3 vidéos, c’est
|
||||
possible. Vous passerez sur la formule d’abonnement à 199€/mois pour 9 vidéos diffusées.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- End Collapse -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -19,7 +19,8 @@
|
||||
<!-- Title -->
|
||||
<header class="text-center mb-5">
|
||||
<h2 class="h4 mb-0">Connexion</h2>
|
||||
<p>Connecter vous pour gérer votre compte</p>
|
||||
<p>Connectez-vous pour gérer votre compte </p>
|
||||
{% if erreur is defined and erreur %}<p class="text-danger">Votre dernière tentative de connexion a échoué. Vérifiez votre email ou votre mot de passe</p>{% endif %}
|
||||
</header>
|
||||
|
||||
|
||||
@@ -35,7 +36,7 @@
|
||||
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" />
|
||||
<input type="text" id="username" name="_username" value="{{ last_username }}" required="required" class="form-control" placeholder="Saisissez votre adresse email"/>
|
||||
</div>
|
||||
</div>
|
||||
<!-- End Input -->
|
||||
@@ -51,7 +52,7 @@
|
||||
{# <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" />
|
||||
<input type="password" id="password" name="_password" required="required" class="form-control" placeholder="Saisissez votre mot de passe" />
|
||||
</div>
|
||||
</div>
|
||||
<!-- End Input -->
|
||||
@@ -59,9 +60,9 @@
|
||||
<div class="row mb-3">
|
||||
<div class="col-6">
|
||||
<!-- Checkbox -->
|
||||
<div class="custom-control custom-checkbox d-flex align-items-center text-muted">
|
||||
<div class=" d-flex align-items-center text-muted">
|
||||
<input type="checkbox" id="remember_me" name="_remember_me" value="on" />
|
||||
<label class="custom-control-label" for="rememberMeCheckbox">
|
||||
<label class="" for="">
|
||||
Se souvenir de moi
|
||||
</label>
|
||||
</div>
|
||||
@@ -69,34 +70,33 @@
|
||||
</div>
|
||||
|
||||
<div class="col-6 text-right">
|
||||
<a class="js-animation-link float-right" href="javascript:;" data-target="#forgotPassword"
|
||||
data-link-group="idForm" data-animation-in="fadeIn">Mot de passe oublié?</a>
|
||||
<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="hidden" name="_target_path" value="redirect_dashboard" />
|
||||
|
||||
<input type="submit" id="_submit" name="_submit" class="btn btn-block btn-primary"/>
|
||||
<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">
|
||||
Do not have an account?
|
||||
<a class="js-animation-link" href="javascript:;" data-target="#signup" data-link-group="idForm"
|
||||
data-animation-in="fadeIn">S'inscrire
|
||||
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" %}
|
||||
{# {% if app.request.get('_route') != "fos_user_security_login" %}
|
||||
{{ render(controller('AppBundle:SecurityModal:loginModalV2')) }}
|
||||
{% endif %}
|
||||
{% endif %} #}
|
||||
<!-- Forgot Password -->
|
||||
<div id="forgotPassword" style="display: none; opacity: 0;" data-target-group="idForm">
|
||||
{# <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>
|
||||
@@ -138,10 +138,10 @@
|
||||
</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div> #}
|
||||
<!-- End Forgot Password -->
|
||||
</div>
|
||||
<!-- End Content -->
|
||||
</div>
|
||||
<!-- End Signup Modal Window -->
|
||||
<!-- ========== END SECONDARY CONTENTS ========== -->
|
||||
<!-- ========== END SECONDARY CONTENTS ========== -->
|
||||
|
||||
+74
@@ -0,0 +1,74 @@
|
||||
<!-- Ils nous font confiance DEBUT -->
|
||||
<div class="container accueilFondBlanc">
|
||||
<!-- Slick Carousel -->
|
||||
<div class="js-slick-carousel u-slick" data-autoplay="true" data-speed="5000" data-infinite="true"
|
||||
data-slides-show="5" data-responsive="[{
|
||||
"breakpoint": 1200,
|
||||
"settings": {
|
||||
"slidesToShow": 4
|
||||
}
|
||||
}, {
|
||||
"breakpoint": 992,
|
||||
"settings": {
|
||||
"slidesToShow": 4
|
||||
}
|
||||
}, {
|
||||
"breakpoint": 768,
|
||||
"settings": {
|
||||
"slidesToShow": 3
|
||||
}
|
||||
}, {
|
||||
"breakpoint": 576,
|
||||
"settings": {
|
||||
"slidesToShow": 3
|
||||
}
|
||||
}, {
|
||||
"breakpoint": 480,
|
||||
"settings": {
|
||||
"slidesToShow": 2
|
||||
}
|
||||
}]">
|
||||
<div class="js-slide slick-slide">
|
||||
<img src="{{ asset('v2/logos/recrutement-video-lactalis.jpg') }}" alt="Image Description">
|
||||
</div>
|
||||
<div class="js-slide slick-slide">
|
||||
<img src="{{ asset('v2/logos/recrutement-video-onela-service-a-domicile.jpg') }}" alt="Image Description">
|
||||
</div>
|
||||
<div class="js-slide slick-slide">
|
||||
<img src="{{ asset('v2/logos/recrutement-video-intermarche.jpg') }}" alt="Image Description">
|
||||
</div>
|
||||
<div class="js-slide slick-slide ">
|
||||
<img src="{{ asset('v2/logos/recrutement-video-eiffage.jpg') }}" alt="Image Description">
|
||||
</div>
|
||||
<div class="js-slide slick-slide">
|
||||
<img src="{{ asset('v2/logos/recrutement-video-mma-assurances.jpg') }}" alt="Image Description">
|
||||
</div>
|
||||
<div class="js-slide slick-slide">
|
||||
<img src="{{ asset('v2/logos/recrutement-video-admr.jpg') }}" alt="Image Description">
|
||||
</div>
|
||||
<div class="js-slide slick-slide ">
|
||||
<img src="{{ asset('v2/logos/recrutement-video-jpa.jpg') }}" alt="Image Description">
|
||||
</div>
|
||||
<div class="js-slide slick-slide">
|
||||
<img src="{{ asset('v2/logos/recrutement-video-groupe-mousset.jpg') }}" alt="Image Description">
|
||||
</div>
|
||||
<div class="js-slide slick-slide">
|
||||
<img src="{{ asset('v2/logos/recrutement-video-groupe-rocher.jpg') }}" alt="Image Description">
|
||||
</div>
|
||||
<div class="js-slide slick-slide">
|
||||
<img src="{{ asset('v2/logos/recrutement-video-aer-recyclage.jpg') }}" alt="Image Description">
|
||||
</div>
|
||||
<div class="js-slide slick-slide">
|
||||
<img src="{{ asset('v2/logos/recrutement-video-actual.jpg') }}" alt="Image Description">
|
||||
</div>
|
||||
<div class="js-slide slick-slide">
|
||||
<img src="{{ asset('v2/logos/recrutement-video-la-centrale-des-ramoneurs.jpg') }}" alt="Image Description">
|
||||
</div>
|
||||
<div class="js-slide slick-slide">
|
||||
<img src="{{ asset('v2/logos/recrutement-video-tpc-ouest-btp.jpg') }}" alt="Image Description">
|
||||
</div>
|
||||
</div>
|
||||
<!-- End Slick Carousel -->
|
||||
</div>
|
||||
</div>
|
||||
<!-- Ils nous font confiance FIN -->
|
||||
+60
@@ -0,0 +1,60 @@
|
||||
<!-- Ils nous font confiance DEBUT -->
|
||||
<div class="container accueilFondBlanc">
|
||||
<div class="row justify-content-center text-center">
|
||||
<div class="col-4 col-md-2 mb-8">
|
||||
<img class="u-clients" src="{{ asset('v2/logos/recrutement-video-intermarche.jpg') }}" alt="Offres d'emploi intermarché">
|
||||
</div>
|
||||
<div class="col-4 col-md-2 mb-8">
|
||||
<img class="u-clients" src="{{ asset('v2/logos/recrutement-video-lactalis.jpg') }}" alt="Offres d'emploi Lactalis">
|
||||
</div>
|
||||
<div class="col-4 col-md-2 mb-8">
|
||||
<img class="u-clients" src="{{ asset('v2/logos/recrutement-video-groupe-mousset.jpg') }}" alt="Offres d'emploi Groupe Mousset">
|
||||
</div>
|
||||
<div class="col-4 col-md-2 mb-8">
|
||||
<img class="u-clients" src="{{ asset('v2/logos/recrutement-video-admr.jpg') }}" alt="Offres d'emploi ADMR">
|
||||
</div>
|
||||
<div class="col-4 col-md-2 mb-8">
|
||||
<img class="u-clients" src="{{ asset('v2/logos/recrutement-video-tpc-ouest-btp.jpg') }}" alt="Offres d'emploi TPC Ouest">
|
||||
</div>
|
||||
<div class="col-4 col-md-2 mb-8">
|
||||
<img class="u-clients" src="{{ asset('v2/logos/recrutement-video-eiffage.jpg') }}" alt="Offres d'emploi Eiffage">
|
||||
</div>
|
||||
|
||||
<div class="col-4 col-md-2 mb-8">
|
||||
<img class="u-clients" src="{{ asset('v2/logos/recrutement-video-opticultures.jpg') }}" alt="Offres d'emploi Opticultures">
|
||||
</div>
|
||||
<div class="col-4 col-md-2 mb-8">
|
||||
<img class="u-clients" src="{{ asset('v2/logos/recrutement-video-mma-assurances.jpg') }}" alt="Offres d'emploi MMA assurances">
|
||||
</div>
|
||||
<div class="col-4 col-md-2 mb-8">
|
||||
<img class="u-clients" src="{{ asset('v2/logos/recrutement-video-actual.jpg') }}" alt="Offres d'emploi Actual">
|
||||
</div>
|
||||
<div class="col-4 col-md-2">
|
||||
<img class="u-clients" src="{{ asset('v2/logos/recrutement-video-jpa.jpg') }}" alt="Offres d'emploi JPA">
|
||||
</div>
|
||||
<div class="col-4 col-md-2 mb-8">
|
||||
<img class="u-clients" src="{{ asset('v2/logos/recrutement-video-groupe-rocher.jpg') }}" alt="Offres d'emploi Groupe Rocher">
|
||||
</div>
|
||||
<div class="col-4 col-md-2 mb-8">
|
||||
<img class="u-clients" src="{{ asset('v2/logos/recrutement-video-pro-fermetures.jpg') }}" alt="Offres d'emploi Pro Fermetures">
|
||||
</div>
|
||||
<div class="col-4 col-md-2 mb-8">
|
||||
<img class="u-clients" src="{{ asset('v2/logos/recrutement-video-top-selling.jpg') }}" alt="Offres d'emploi Top Selling">
|
||||
</div>
|
||||
<div class="col-4 col-md-2 mb-8 mb-md-0">
|
||||
<img class="u-clients" src="{{ asset('v2/logos/recrutement-video-medaviz.jpg') }}" alt="Offres d'emploi Medaviz">
|
||||
</div>
|
||||
<div class="col-4 col-md-2 mb-8 mb-md-0">
|
||||
<img class="u-clients" src="{{ asset('v2/logos/recrutement-video-faurecia.jpg') }}" alt="Offres d'emploi Faurecia">
|
||||
</div>
|
||||
<div class="col-4 col-md-2 mb-8 mb-md-0">
|
||||
<img class="u-clients" src="{{ asset('v2/logos/recrutement-video-francas.jpg') }}" alt="Offres d'emploi Les Francas">
|
||||
</div>
|
||||
<div class="col-4 col-md-2 mb-8 mb-md-0">
|
||||
<img class="u-clients" src="{{ asset('v2/logos/recrutement-video-nachos.jpg') }}" alt="Offres d'emploi Nachos">
|
||||
</div>
|
||||
</div>
|
||||
<p class="lead text-center"><strong>Ces secteurs qui recrutent déjà grâce à la vidéo :</strong><br>
|
||||
Logistique et Transport > Services à la personne > BTP > Agriculture > Administration > Industrie > Commerce > Informatique > Automobile > Animation > Hôtellerie Restauration</p>
|
||||
</div>
|
||||
<!-- Ils nous font confiance FIN -->
|
||||
Executable
+86
@@ -0,0 +1,86 @@
|
||||
<div class="space-1-bottom accueilFondNoir">
|
||||
<div class="container space-2">
|
||||
<div class="row justify-content-md-between align-items-md-center">
|
||||
<div class="w-md-80 w-lg-60 text-center mx-md-auto ">
|
||||
<h2 class="h3">Vos offres d’emploi méritent mieux que du texte</h2>
|
||||
<p class="lead">Avec Talents Tube, dévoilez vos métiers</p>
|
||||
</div>
|
||||
<div class="col-md-6 col-lg-5 mb-2 mb-md-0">
|
||||
<img class="img-fluid"
|
||||
src="{{ asset('v2/png/offre-emploi-en-video.jpg') }}" alt="Marque employeur vidéo">
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<h3 class="h5">Publiez une offre d’emploi vidéo :</h3>
|
||||
<div class="row mb-3">
|
||||
<div class="col-12">
|
||||
<!-- List -->
|
||||
<ul class="list-unstyled text-secondary">
|
||||
<li class="media align-items-center mb-2">
|
||||
<i class="fa fa-check text-primary mr-2"></i>
|
||||
<div class="media-body" >
|
||||
Une occasion en or de <strong>montrer votre entreprise</strong> dans sa vérité, au delà des mots et des descriptions convenues
|
||||
</div>
|
||||
</li>
|
||||
<li class="media align-items-center mb-2">
|
||||
<i class="fa fa-check text-primary mr-2"></i>
|
||||
<div class="media-body" >
|
||||
Pas besoin d’une super vidéo, réalisez une « vidéo offre d’emploi smartphone » pour donner du corps et <strong>du sens à votre futur candidat</strong>
|
||||
</div>
|
||||
</li>
|
||||
<li class="media align-items-center mb-2">
|
||||
<i class="fa fa-check text-primary mr-2"></i>
|
||||
<div class="media-body" >
|
||||
En bonus, montrez votre entreprise et votre équipe, affichez votre esprit d’entreprise dans une vidéo marque employeur dont votre <strong>équipe sera fière</strong>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
<!-- End List -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="space-1-bottom accueilFondBleute">
|
||||
<div class="container space-2">
|
||||
|
||||
<div class="w-md-80 w-lg-60 text-center mx-md-auto mb-2">
|
||||
<h2 class="h3">Donnez la parole à vos candidats</h2>
|
||||
<p class="lead">Avec Talents Tube, recevez des candidatures vidéo</p>
|
||||
</div>
|
||||
<div class="container pt-6">
|
||||
<div class="row">
|
||||
<div class="col-md-4 mb-7 mb-md-0">
|
||||
<!-- Icon Blocks -->
|
||||
<div class="text-center px-lg-4">
|
||||
<img class="max-width-14 mb-2" src="../v2/svg/components/personnalite-des-candidats.svg" alt="Découvrez la personnalité des candidats en vidéo">
|
||||
<h3 class="h5">Découvrez la personnalité des candidats</h3>
|
||||
<p>Au delà des compétences, décelez les soft skills de la personne qui se cache derrière le CV papier</p>
|
||||
</div>
|
||||
<!-- End Icon Blocks -->
|
||||
</div>
|
||||
|
||||
<div class="col-md-4 mb-7 mb-md-0">
|
||||
<!-- Icon Blocks -->
|
||||
<div class="text-center px-lg-4">
|
||||
<img class="max-width-14 mb-2" src="../v2/svg/components/gagnez-du-temps-preselection-candidats.svg" alt="Gagnez du temps dans votre pré-selection des candidats">
|
||||
<h3 class="h5">Gagnez du temps dans votre présélection</h3>
|
||||
<p>Améliorez votre processus de recrutement en rencontrant uniquement les candidats réellement impliqués</p>
|
||||
</div>
|
||||
<!-- End Icon Blocks -->
|
||||
</div>
|
||||
|
||||
<div class="col-md-4">
|
||||
<!-- Icon Blocks -->
|
||||
<div class="text-center px-lg-4">
|
||||
<img class="max-width-14 mb-2" src="../v2/svg/components/gestion-des-candidatures.svg" alt="Gérez vos candidatures vidéo">
|
||||
<h3 class="h5">Gérez vos candidatures depuis votre espace</h3>
|
||||
<p>Grâce à notre solution de recrutement, vous pouvez interagir avec les candidats directement sur Talents Tube</p>
|
||||
</div>
|
||||
<!-- End Icon Blocks -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
+26
@@ -0,0 +1,26 @@
|
||||
<!-- Notre mission DEBUT -->
|
||||
<div class="space-1-bottom accueilFondNoir">
|
||||
<div class="container space-2 ">
|
||||
<div class="row justify-content-lg-end">
|
||||
<div class="col-lg-6 order-md-2 mb-md-0">
|
||||
<!-- Title -->
|
||||
<div class="">
|
||||
<h2 class="h3"> Notre mission : Remettre l’humain au cœur des recrutements</h2>
|
||||
<p> Chez Talents Tube, nous pensons que la technologie ne doit pas remplacer l’humain mais être à son service.
|
||||
C’est pour cette raison que nous proposons un outil de recrutement vidéo alliant digital et humain, afin de
|
||||
<strong>redonner la parole aux candidats et aux entreprises</strong>. Talents Tube est aujourd’hui la seule plateforme de
|
||||
recrutement qui permet aux entreprises de <strong>publier des offres d’emploi en vidéo et de recevoir des
|
||||
candidatures en vidéo</strong>.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-6 order-md-1 pb-5">
|
||||
<div class="pr-lg-4">
|
||||
<a href="candidatures-video"><img class="img-fluid" src="{{ asset('v2/png/candidature-en-video.png') }}"
|
||||
alt="Candidature en vidéo"></a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Notre mission FIN -->
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user