Compare commits
196 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 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 |
@@ -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;
|
||||
@@ -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">
|
||||
|
||||
+35
-22
@@ -2,20 +2,32 @@
|
||||
|
||||
{% block title %}Talents Tube : Le 1er job board 100% vidéo{% endblock %}
|
||||
{% trans_default_domain 'FOSUserBundle' %}
|
||||
{% block menu %}
|
||||
|
||||
{% endblock %}
|
||||
{% block content %}
|
||||
<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>
|
||||
<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>
|
||||
</div>
|
||||
|
||||
</main>
|
||||
<!-- ========== END MAIN CONTENT ========== -->
|
||||
|
||||
{% include 'defaultv2/accueil/footer.html.twig' %}
|
||||
@@ -68,14 +80,17 @@ with {
|
||||
<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');
|
||||
} #}
|
||||
{
|
||||
#
|
||||
function initMap() {
|
||||
$.HSCore.components.HSGMap.init('.js-g-map');
|
||||
}#
|
||||
}
|
||||
|
||||
$(window).on('load', function () {
|
||||
// initialization of HSMegaMenu component
|
||||
@@ -145,15 +160,16 @@ with {
|
||||
// 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");
|
||||
$("#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");
|
||||
@@ -167,7 +183,4 @@ with {
|
||||
{% block javascripts %}
|
||||
{{ parent() }}
|
||||
<script src="https://player.vimeo.com/api/player.js"></script>
|
||||
{% endblock %}
|
||||
|
||||
|
||||
|
||||
{% 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,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 %}
|
||||
@@ -15,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 ? 02 30 05 06 31
|
||||
</p>
|
||||
<div class="clearfix"></div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- END COPYRIGHT -->
|
||||
</div>
|
||||
|
||||
<!-- END PAGE CONTENT WRAPPER -->
|
||||
</div>
|
||||
<!-- END PAGE CONTAINER -->
|
||||
{% block javascripts %}
|
||||
<script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyDYV8IJGtIoWLfXJQQvIuDQ88n2aEuRgpg&libraries=places">
|
||||
</script>
|
||||
{% javascripts
|
||||
'@vendors'
|
||||
'@global'
|
||||
'@company'
|
||||
output='assetic/main.dash.company.js' filter='?uglifyjs2' %}
|
||||
<script src="{{ asset_url }}"></script>
|
||||
{% endjavascripts %}
|
||||
|
||||
{% endblock %}
|
||||
|
||||
<!-- 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 ? 02 30 05 06 31
|
||||
</p>
|
||||
<div class="clearfix"></div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- END COPYRIGHT -->
|
||||
</div>
|
||||
|
||||
<!-- END PAGE CONTENT WRAPPER -->
|
||||
</div>
|
||||
<!-- END PAGE CONTAINER -->
|
||||
{% block javascripts %}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
{% endblock %}
|
||||
|
||||
|
||||
<!-- END PAGE LEVEL JS -->
|
||||
<!-- END CORE TEMPLATE JS -->
|
||||
|
||||
|
||||
|
||||
<!-- BEGIN PAGE LEVEL JS -->
|
||||
|
||||
{% block javascriptsSecondaire %}
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block javascriptsEnd %}
|
||||
{% endblock %}
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
@@ -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">
|
||||
|
||||
@@ -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 %}
|
||||
@@ -0,0 +1,225 @@
|
||||
<!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 %}
|
||||
{% if app.environment == "dev" %}
|
||||
<meta name="robots" content="noindex,nofollow">
|
||||
{% else %}
|
||||
{# <meta name="robots" content="noindex,nofollow"> #}
|
||||
{% endif %}
|
||||
</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,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>
|
||||
@@ -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,26 @@
|
||||
<!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">
|
||||
|
||||
{% if app.environment == "dev" %}
|
||||
<meta name="robots" content="noindex,nofollow">
|
||||
{% else %}
|
||||
<meta name="robots" content="noindex,nofollow">
|
||||
{% endif %}
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||
{% block meta %}
|
||||
{% endblock %}
|
||||
@@ -22,10 +36,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) -->
|
||||
@@ -36,11 +50,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>
|
||||
|
||||
@@ -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 %}
|
||||
@@ -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>
|
||||
|
||||
+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">02 30 05 06 31</p>
|
||||
<p class="footer-newsletter">
|
||||
<a class="btn-large btn-round" href="#" title="Newsletter" data-token="ecea5416671e97e3abfa8195848a9140" onclick="mjOpenPopin(event, this)">
|
||||
<i class="fa fa-envelope-open-o left" aria-hidden="true"></i>
|
||||
Newsletter</a>
|
||||
<data data-token="ecea5416671e97e3abfa8195848a9140" class="mj-w-data" data-apikey="2jWA" data-w-id="31E" data-lang="fr_FR" data-base="https://app.mailjet.com" data-width="640" data-height="420" data-statics="statics"></data>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row footer-more-links">
|
||||
<div class="col s12 center-align">
|
||||
<p class="text-center white-text">Entreprise soutenue par</p>
|
||||
<a href="https://www.bretagne.bzh/"><img src="{{ asset('img/RB_monochrome_blanc.svg')}}" alt="Region Bretagne"></a><br>
|
||||
</div>
|
||||
<div class="col s12 center-align m-t-30">
|
||||
<a class="text-center white-text" href="https://www.e-declic.com" target="_blank" title="Agence Web">© 2018 Talents Tube</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
{# Modal Login#}
|
||||
{% if app.request.get('_route') != "fos_user_security_login" %}
|
||||
<div id="modal_login" class="modal ">
|
||||
<div class="modal-content">
|
||||
{{ render(controller('AppBundle:SecurityModal:loginModal')) }}
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
@@ -85,9 +85,7 @@
|
||||
</div>
|
||||
<div id="newApp" class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="col s12 m12">
|
||||
<p>"Nouveau ! Trouvez un job plus facilement avec notre <a href="http://app.talentstube.com">web application</a>.📲"</p>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -0,0 +1,80 @@
|
||||
<div class="fluid-container header-fixed-top" id="header-wrapper">
|
||||
<div id="header" class="container">
|
||||
<div class="row">
|
||||
<div class="col s12 m12 l10">
|
||||
|
||||
<nav>
|
||||
<div class="nav-wrapper">
|
||||
<div class="logo-wrapper">
|
||||
<a href="{{ path('homepage') }}" class="brand-logo">
|
||||
<img src="{{ asset('img/Logo-header.png') }}" alt="Talents Tube"/>
|
||||
</a>
|
||||
</div>
|
||||
<a href="#" data-activates="mobile-demo" class="button-collapse">
|
||||
<i class="material-icons">menu</i>
|
||||
</a>
|
||||
<ul class="right hide-on-med-and-down">
|
||||
|
||||
<li>
|
||||
<a href="https://blog.talentstube.com" title="Blog Talents Tube">Blog</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
{# <div id="newApp" class="container-fluid">
|
||||
<div class="row">
|
||||
|
||||
</div>
|
||||
</div> #}
|
||||
</div>
|
||||
<div class="nav-wrapper">
|
||||
<ul class="side-nav collapsible" data-collapsible="accordion" id="mobile-demo">
|
||||
<li class="header-links">
|
||||
{% include 'default/button_login.html.twig' with {'app': app } %}
|
||||
</li>
|
||||
<li>
|
||||
<a class="collapsible-header" title="Talents">Talents</a>
|
||||
<div class="collapsible-body">
|
||||
<ul>
|
||||
<li><a href="{{ path('ad_search_result') }}" title="Offres d'emploi vidéos">Offres d'emploi</a></li>
|
||||
<li><a href="{{ path('page_cvVideo') }}" title="Le Cv vidéo">Le CV vidéo</a></li>
|
||||
<li><a href="{{ path('page_reussirCVvideo') }}" title="Comment faire son CV Vidéo ?">Comment faire son CV Vidéo ?</a></li>
|
||||
<li><a href="{{ path('page_accompagnementTalent') }}" title="Accompagnement talent">Accompagnement</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<a class="collapsible-header" href="{{ path('ad_search_result') }}" title="Offres d'emploi vidéos">Offres d'emploi</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="collapsible-header" title="Les entreprises de talents">Entreprises</a>
|
||||
<div class="collapsible-body">
|
||||
<ul>
|
||||
<li><a href="{{ path('company_list') }}" title="Listes entreprises">Listes entreprises</a></li>
|
||||
<li><a href="{{ path('page_OffreEmploi') }}" title="L'offre d'emploi en vidéo">L'offre d'emploi en vidéo</a></li>
|
||||
<li><a href="{{ path('page_reussirOffrevideo') }}" title="Comment faire une offre en vidéo">Comment faire une offre en vidéo</a></li>
|
||||
<li><a href="{{ path('page_MarqueEmployeur') }}" title="Vidéo Marque Employeur">Vidéo Marque Employeur</a></li>
|
||||
<li><a href="{{ path('page_accompagnementEntreprise') }}" title="Conseils & accompagnement">Conseils & accompagnement</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<a class="collapsible-header" title="Les territoires">Territoires</a>
|
||||
<div class="collapsible-body">
|
||||
<ul>
|
||||
<li><a href="{{ path('territory_list') }}">Liste des territoires</a></li>
|
||||
<li><a href="{{ path('page_VideoTerritory') }}">La vidéo territoire</a></li>
|
||||
<li><a href="{{ path('page_AccompagnementTerritory') }}">Conseils et accompagnement</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<a class="collapsible-header" href="https://blog.talentstube.com" title="Blog Talents Tube">Blog</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
@@ -1,4 +1,4 @@
|
||||
{% extends 'base.html.twig' %}
|
||||
{% extends 'basetemporaire.html.twig' %}
|
||||
|
||||
{% block metarobot %}
|
||||
{% if robot is defined and robot == 0 %}
|
||||
@@ -6,6 +6,7 @@
|
||||
{% else %}
|
||||
<meta name="robots" content="index,follow">
|
||||
{% endif %}
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block title %}{{ page.title }}{% endblock %}
|
||||
|
||||
+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
+1
-1
@@ -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
|
||||
|
||||
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,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,7 +56,7 @@
|
||||
<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">
|
||||
<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 -->
|
||||
@@ -65,7 +65,7 @@
|
||||
<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">
|
||||
<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 -->
|
||||
@@ -74,7 +74,7 @@
|
||||
<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">
|
||||
<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 -->
|
||||
|
||||
+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-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-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 -->
|
||||
+81
@@ -0,0 +1,81 @@
|
||||
<div class=" space-1-bottom accueilFondBlanc">
|
||||
<div class="container space-2 ">
|
||||
|
||||
<div class="row mx-gutters-2 text-center">
|
||||
<div class="col-lg-9">
|
||||
<!-- 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 p-3 collapsed"
|
||||
data-toggle="collapse" data-target="#faqAccordionOneCollapseOne" aria-expanded="false"
|
||||
aria-controls="faqAccordionOneCollapseOne">
|
||||
J’y arrive pas pourquoi j’y arriverais avec la vidéo ?
|
||||
<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" style="">
|
||||
<div class="card-body card-collapse__body">
|
||||
Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf
|
||||
moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod.
|
||||
</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">
|
||||
Je publie déjà mes offres vidéo sur mon site, sur Youtube,… en quoi Talents Tube peut faire mieux ?
|
||||
<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">
|
||||
Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf
|
||||
moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod.
|
||||
</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">
|
||||
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="faqAccordionOneCollapseTwo" class="collapse" aria-labelledby="faqAccordionOneHeadingTwo"
|
||||
data-parent="#faqAccordionOne">
|
||||
<div class="card-body card-collapse__body">
|
||||
Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf
|
||||
moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod.
|
||||
</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 -->
|
||||
+62
@@ -0,0 +1,62 @@
|
||||
<!-- Accueil Photo Haut Section -->
|
||||
|
||||
<div class="gradient-overlay-half-dark-v3 bg-img-hero" style="background-image: url({{ asset(urlImage)}}); background-size:cover;">
|
||||
<!-- Main Content -->
|
||||
<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="col-lg-5 mb-7 mb-lg-0">
|
||||
<!-- Title -->
|
||||
<h1 class="display-4 font-size-48--md-down mb-0 h1" style="color:#25D89A">Adoptez le recrutement vidéo <span class="text-white">pour enfin trouver les talents que vous attendiez</span></h1>
|
||||
|
||||
<p class="d-block text-white text-uppercase mb-2">{{textVideo}}</p>
|
||||
<!-- End Title -->
|
||||
</div>
|
||||
<div class="col-lg-5">
|
||||
<!-- Signup Form -->
|
||||
<div class="bg-white shadow-sm rounded p-6">
|
||||
<form class="js-validate" id="formDemandeDiag1">
|
||||
<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="nomPrenomForm1" id="nomPrenomForm1" 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="nomEntrepriseForm1" id="nomEntrepriseForm1" 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="emailForm1" id="emailForm1" 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="telForm1" id="telForm1" placeholder="Numéro de téléphone" aria-label="phone">
|
||||
</div>
|
||||
</div>
|
||||
<p class="text-primary" id="messageValideDemandeDiag1"></p>
|
||||
<!-- End Input -->
|
||||
<a href="#" onClick="demanderDiag('formDemandeDiag1')" class="btn btn-sm btn-primary btn-wide center">Demander mon diagnostic</a>
|
||||
</form>
|
||||
</div>
|
||||
<!-- End Signup Form -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
Executable
+20
@@ -0,0 +1,20 @@
|
||||
<!-- Accueil Photo Haut Section -->
|
||||
<div class="bg-img-hero-center" style="background-image: url({{ asset(urlImage)}} ">
|
||||
<div class="container space-2 space-5-top--lg space-4-bottom--lg">
|
||||
<div class="w-md-75">
|
||||
<!-- Title -->
|
||||
<div class="mb-7">
|
||||
{# <span class="d-block text-white text-uppercase mb-2">Talents tube</span> #}
|
||||
<h1 class="display-4 font-size-48--md-down text-white mb-4">
|
||||
<strong class="">{{textParDefaut}}</strong>
|
||||
<br>{{textVideo}}
|
||||
</h1>
|
||||
|
||||
</div>
|
||||
<!-- End Title -->
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<!-- End Accueil Photo Haut Section -->
|
||||
+85
@@ -0,0 +1,85 @@
|
||||
<!-- Pourquoi nous DEBUT -->
|
||||
<div class=" space-1-bottom accueilFondBlanc">
|
||||
<div class="container space-2 ">
|
||||
<div class="row row justify-content-lg-end ">
|
||||
<div class="col-lg-6 order-md-1 pb-5">
|
||||
<!-- Title <div class="col-md-6 order-md-2 mb-5 mb-md-0">-->
|
||||
<div class="mr-5">
|
||||
<h2 class="h3"> Pourquoi nous ?</h2>
|
||||
<h3 class="h4">Parce que nous sommes les seuls à le faire !</h3>
|
||||
<p> Notre équipe est composée d’experts métier qui sauront vous accompagner dans toutes vos demandes. En
|
||||
recherche d’<strong>évolution constante</strong>, nous avons à cœur de créer une relation de proximité afin
|
||||
d’<strong>adapter notre solution à vos besoins</strong> et ainsi créer une <strong>expérience utilisateur
|
||||
inoubliable</strong>.
|
||||
Composée d’experts de la fonction RH & Recrutement, nous sommes passionnés par ce que nous faisons.
|
||||
<br><strong>Notre seul objectif : favoriser la rencontre d’entreprises formidables et de candidats uniques
|
||||
pour une performance commune.</strong></p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-6 order-md-2">
|
||||
<!-- Cubeportfolio -->
|
||||
<div class="cbp cbp-caption-active cbp-caption-overlayBottomAlong cbp-ready" data-layout="mosaic"
|
||||
data-animation="quicksand" data-x-gap="15" data-y-gap="15" data-load-more-selector="#cubeLoadMore"
|
||||
data-load-more-action="auto" data-load-items-amount="4" data-media-queries="[
|
||||
{"width": 1500, "cols": 4},
|
||||
{"width": 1100, "cols": 4},
|
||||
{"width": 800, "cols": 3},
|
||||
{"width": 480, "cols": 2},
|
||||
{"width": 400, "cols": 2}
|
||||
]" style="height: 420px;">
|
||||
<div class="cbp-wrapper-outer">
|
||||
<div class="cbp-wrapper">
|
||||
<!-- Item -->
|
||||
<div class="cbp-item" style="width: 220px; left: 0px; top: 0px;">
|
||||
<div class="cbp-item-wrapper">
|
||||
<div class="cbp-caption">
|
||||
<img src="{{ asset('v2/img/380x227/talentstube-recrutement-video-equipe.jpg') }}" alt="Image Description">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- End Item -->
|
||||
|
||||
<!-- Item -->
|
||||
<div class="cbp-item" style="width: 220px; left: 235px; top: 0px;">
|
||||
<div class="cbp-item-wrapper">
|
||||
<div class="cbp-caption">
|
||||
<img src="{{ asset('v2/img/380x360/recrutement-video-franck-delalande.jpg') }}" alt="Image Description">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- End Item -->
|
||||
|
||||
<!-- Item -->
|
||||
<div class="cbp-item" style="width: 220px; left: 0px; top: 146px;">
|
||||
<div class="cbp-item-wrapper">
|
||||
<div class="cbp-caption">
|
||||
<img src="{{ asset('v2/img/380x360/plateforme-recrutement-video-morbihan.jpg') }}" alt="Image Description">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- End Item -->
|
||||
|
||||
<!-- Item -->
|
||||
<div class="cbp-item" style="width: 220px; left: 235px; top: 223px;">
|
||||
<div class="cbp-item-wrapper">
|
||||
<div class="cbp-caption">
|
||||
<img src="{{ asset('v2/img/380x227/recrutement-video-equipe.jpg') }}" alt="Image Description">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- End Item -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- End Cubeportfolio -->
|
||||
</div>
|
||||
<!--<div class="col-md-6 align-right paddintRight">
|
||||
<div class="mb-6">
|
||||
<a href="{{ url_plateforme }}"><img class="img-fluid" src="{{ asset('v2/png/plateforme-de-recrutement-en-video.png') }}"
|
||||
alt="Recrutement video"></a>
|
||||
</div>
|
||||
</div>-->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Pourquoi nous FIN -->
|
||||
+44
@@ -0,0 +1,44 @@
|
||||
<div class="accueilFondNoir">
|
||||
<div class="container space-2">
|
||||
<div class="card-deck d-block d-lg-flex card-lg-gutters-2">
|
||||
<div class="card border-0 mb-3">
|
||||
<!-- Works -->
|
||||
<div class="card-body border border-bottom-0 rounded-top text-center p-5">
|
||||
<h4 class="h5 mb-1">Vous avez déjà des vidéos ou un prestataire vidéo ?</h4>
|
||||
<p class="mb-0">Vous pouvez les publier directement sur Talents Tube ! Profitez de vos supports pour les faire rayonner largement, vers vos futurs candidats</p>
|
||||
</div>
|
||||
|
||||
<div class="card-footer text-center border rounded-bottom p-5">
|
||||
<a class="btn btn-sm btn-primary btn-wide" href="https://recruteur.talentstube.com/register/">Inscription</a>
|
||||
</div>
|
||||
<!-- End Works -->
|
||||
</div>
|
||||
|
||||
<div class="card border-0 mb-3">
|
||||
<!-- Works -->
|
||||
<div class="card-body border border-bottom-0 rounded-top text-center p-5">
|
||||
<h4 class="h5 mb-1">Vous voulez réaliser des vidéos vous-même ?</h4>
|
||||
<p class="mb-0">Créez des vidéos d’offres d’emploi simplement grâce à nos conseils</p>
|
||||
</div>
|
||||
<div class="card-footer text-center border rounded-bottom p-5">
|
||||
<a class="btn btn-sm btn-primary btn-wide" href="https://recruteur.talentstube.com/offre-emploi-originale">En savoir plus</a>
|
||||
</div>
|
||||
<!-- End Works -->
|
||||
</div>
|
||||
|
||||
<div class="card border-0 mb-3">
|
||||
<!-- Works -->
|
||||
<div class="card-body border border-bottom-0 rounded-top text-center p-5">
|
||||
<h4 class="h5 mb-1">Vous cherchez un prestataire pour produire vos vidéos RH ?</h4>
|
||||
<p class="mb-0">Contactez-nous, nous saurons vous mettre en relation avec des prestataires qualifiés et expérimentés.</p>
|
||||
</div>
|
||||
|
||||
<div class="card-footer text-center border rounded-bottom p-5">
|
||||
<a class="btn btn-sm btn-primary btn-wide" href="https://blog.talentstube.com/contact/">Contactez-nous</a>
|
||||
</div>
|
||||
<!-- End Works -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
+59
@@ -0,0 +1,59 @@
|
||||
<div class="accueilFondBleute">
|
||||
<div class="container">
|
||||
<div class="w-md-80 w-lg-60 text-center mx-md-auto ">
|
||||
<h2 class="h3">Grâce au recrutement vidéo, <br>vous allez enfin trouver les talents<br> au service de vos
|
||||
ambitions !</h2>
|
||||
<p class="lead"></p>
|
||||
</div>
|
||||
<div class="row justify-content-md-between align-items-md-center">
|
||||
<div class="col-lg-6 order-md-1">
|
||||
<img class="img-fluid" src="{{ asset('v2/png/trouver-les-candidats-avec-offre-emploi-video.jpg') }}" alt="Marque employeur vidéo">
|
||||
</div>
|
||||
<div class="col-lg-6 order-md-2">
|
||||
<h3 class="h5"></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">
|
||||
Vos <strong>offres d'emploi en vidéo seront mieux expliquées</strong> aux candidats, portées par des vrais visages de
|
||||
l'entreprise.
|
||||
</div>
|
||||
</li>
|
||||
<li class="media align-items-center mb-2">
|
||||
<i class="fa fa-check text-primary mr-2"></i>
|
||||
<div class="media-body">
|
||||
Vos <strong>métiers seront enfin valorisés</strong>, dévoilés au grand jour pour briser tous les clichés.
|
||||
</div>
|
||||
</li>
|
||||
<li class="media align-items-center mb-2">
|
||||
<i class="fa fa-check text-primary mr-2"></i>
|
||||
<div class="media-body">
|
||||
Vous donnerez <strong>davantage d'informations aux candidats</strong> pour qu'ils puissent se projeter dans votre
|
||||
entreprise.
|
||||
</div>
|
||||
</li>
|
||||
<li class="media align-items-center mb-2">
|
||||
<i class="fa fa-check text-primary mr-2"></i>
|
||||
<div class="media-body">
|
||||
Vos candidats seront <strong>plus impliqués dans leur candidature</strong> et dévoileront leur savoir-être.
|
||||
</div>
|
||||
</li>
|
||||
<li class="media align-items-center mb-2">
|
||||
<i class="fa fa-check text-primary mr-2"></i>
|
||||
<div class="media-body">
|
||||
Vous <strong>gagnerez du temps dans vos recrutements</strong> : les candidats que vous rencontrez vous auront déjà
|
||||
convaincu en vidéo.
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
<!-- End List -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
+128
@@ -0,0 +1,128 @@
|
||||
<div class="accueilFondBleute">
|
||||
|
||||
<div class="container">
|
||||
<div class="w-md-80 w-lg-60 text-center mx-md-auto">
|
||||
<h2 class="h3">Adoptez dès maintenant le recrutement vidéo</h2>
|
||||
<p class="lead">Plus personnel, plus impliquant et plus authentique</p>
|
||||
</div>
|
||||
<div class="bg-white shadow-lg rounded card-body p-5">
|
||||
<h5 class="text-center">Offre : abonnement mensuel sans engagement, comprenant :</h5>
|
||||
<ul>
|
||||
<li> Administration autonome de votre espace recruteur (page entreprise, publication et renouvellement des
|
||||
vidéos, statistiques,…)</li>
|
||||
<li>Visibilité de vos vidéos sur le site Talents Tube pour attirer vos futurs candidats</li>
|
||||
<li>Boost visibilité de vos vidéos sur les réseaux Talents Tube (YouTube, Facebook, Linkedin, Newsletter...)
|
||||
</li>
|
||||
<li>Réception de candidatures vidéo et gestion en ligne</li>
|
||||
</ul>
|
||||
<!-- Individual -->
|
||||
<div id="pricingIndividual" data-target-group="idPricing">
|
||||
<div class="js-slick-carousel u-slick u-slick--gutters" data-slides-show="4" data-slides-scroll="1"
|
||||
data-pagi-classes="d-lg-none text-center u-slick__pagination mt-7 mb-0" data-responsive='[{
|
||||
"breakpoint": 1200,
|
||||
"settings": {
|
||||
"slidesToShow": 3
|
||||
}
|
||||
}, {
|
||||
"breakpoint": 992,
|
||||
"settings": {
|
||||
"slidesToShow": 2
|
||||
}
|
||||
}, {
|
||||
"breakpoint": 768,
|
||||
"settings": {
|
||||
"slidesToShow": 1
|
||||
}
|
||||
}, {
|
||||
"breakpoint": 554,
|
||||
"settings": {
|
||||
"slidesToShow": 1
|
||||
}
|
||||
}]'>
|
||||
|
||||
<div class="js-slide">
|
||||
<!-- Pricing -->
|
||||
<div class="card border-0">
|
||||
<!-- Header -->
|
||||
<header class="card-header text-center p-5">
|
||||
<h4 class="h4">Pack découverte<br>1 vidéo</h4>
|
||||
|
||||
<span class="d-block">
|
||||
<span class="display-4 text-dark">
|
||||
Gratuit
|
||||
</span>
|
||||
<span class="d-block text-secondary font-size-14">pendant 1 mois</span>
|
||||
</span>
|
||||
</header>
|
||||
<!-- End Header -->
|
||||
</div>
|
||||
<!-- End Pricing -->
|
||||
</div>
|
||||
<div class="js-slide">
|
||||
<!-- Pricing -->
|
||||
<div class="card border-0">
|
||||
<!-- Header -->
|
||||
<header class="card-header text-center p-5">
|
||||
<h4 class="h4">Pack 3 vidéos <br>renouvelables</h4>
|
||||
|
||||
<span class="d-block">
|
||||
<span class="display-4 text-dark">
|
||||
99€
|
||||
</span>
|
||||
<span class="d-block text-secondary font-size-14">par mois HT</span>
|
||||
</span>
|
||||
</header>
|
||||
<!-- End Header -->
|
||||
</div>
|
||||
<!-- End Pricing -->
|
||||
</div>
|
||||
|
||||
|
||||
<div class="js-slide">
|
||||
<!-- Pricing -->
|
||||
<div class="card border-0">
|
||||
<!-- Header -->
|
||||
<header class="card-header text-center p-5">
|
||||
<h4 class="h4">Pack 10 vidéos <br>renouvelables</h4>
|
||||
|
||||
<span class="d-block">
|
||||
<span class="display-4 text-dark">
|
||||
199€
|
||||
</span>
|
||||
<span class="d-block text-secondary font-size-14">par mois HT</span>
|
||||
</span>
|
||||
</header>
|
||||
<!-- End Header -->
|
||||
</div>
|
||||
<!-- End Pricing -->
|
||||
</div>
|
||||
|
||||
<div class="js-slide">
|
||||
<!-- Pricing -->
|
||||
<div class="card border-0">
|
||||
<!-- Header -->
|
||||
<header class="card-header text-center p-5">
|
||||
<h4 class="h4">Pack PRO<br>Plus de 10 vidéos</h4>
|
||||
<span class="d-block">
|
||||
<span class="display-4 text-dark">
|
||||
<a class="btn btn-sm btn-primary" href="#signupModal" role="button"
|
||||
data-modal-target="#signupModal" data-overlay-color="#151b26">Connexion recruteurs</a>
|
||||
</span>
|
||||
<span class="d-block text-secondary font-size-14"> </span>
|
||||
</span>
|
||||
</header>
|
||||
<!-- End Header -->
|
||||
</div>
|
||||
<!-- End Pricing -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- End Individual -->
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<!-- End Pricing Section -->
|
||||
|
||||
|
||||
</div>
|
||||
+99
-2
@@ -5,7 +5,7 @@
|
||||
<!-- Title -->
|
||||
<div class="w-md-80 w-lg-60 mx-md-auto text-md-center mb-8">
|
||||
<h2 class="text-lh-xs mb-0">Témoignages de nos clients</h2>
|
||||
<h6 class="text-uppercase text-gray-700 font-weight-medium letter-spacing-0_06 mb-3"> Ils ont choisi Talents Tube
|
||||
<h6 class="text-uppercase font-weight-medium letter-spacing-0_06 mb-3"> Ils ont choisi Talents Tube
|
||||
pour recruter différemment.</h6>
|
||||
|
||||
</div>
|
||||
@@ -17,8 +17,67 @@
|
||||
data-arrow-left-classes="fa fa-arrow-left u-slick__arrow-classic-inner bg-white text-dark left-0 ml-md-n9"
|
||||
data-arrow-right-classes="fa fa-arrow-right u-slick__arrow-classic-inner bg-white text-dark right-0 mr-md-n9"
|
||||
data-nav-for="#sliderSyncingThumb2">
|
||||
|
||||
<div class="js-slide bg-img-hero bg-img-hero-center gradient-overlay-half-black-v1"
|
||||
style="background-image: url({{ asset('v2/temoignages/pontivy-temoignage-image.jpg') }});">
|
||||
|
||||
<div class="w-md-80 w-lg-50 text-white space-2 px-9">
|
||||
<h3 class="h2 text-lh-xs mb-4">Pontivy Communauté</h3>
|
||||
<p class="text-white-70 mb-4">Christine Le Strat & Kévin Nado</p>
|
||||
|
||||
<a class="js-fancybox text-white" href="javascript:;"
|
||||
data-src="https://www.youtube.com/watch?v=ugXui7ICJeM?autoplay=1" data-speed="700"
|
||||
data-animate-in="zoomIn" data-animate-out="zoomOut" data-caption="Témoignage">
|
||||
Voir le témoignage
|
||||
<i class="u-icon u-icon--sm u-icon--white-soft rounded-circle ml-2">
|
||||
<i class="u-icon__inner svg-icon svg-icon-xs text-white">
|
||||
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<rect x="0" y="0" width="24" height="24"></rect>
|
||||
<path
|
||||
d="M9.82866499,18.2771971 L16.5693679,12.3976203 C16.7774696,12.2161036 16.7990211,11.9002555 16.6175044,11.6921539 C16.6029128,11.6754252 16.5872233,11.6596867 16.5705402,11.6450431 L9.82983723,5.72838979 C9.62230202,5.54622572 9.30638833,5.56679309 9.12422426,5.7743283 C9.04415337,5.86555116 9,5.98278612 9,6.10416552 L9,17.9003957 C9,18.1765381 9.22385763,18.4003957 9.5,18.4003957 C9.62084305,18.4003957 9.73759731,18.3566309 9.82866499,18.2771971 Z"
|
||||
fill="#000000"></path>
|
||||
</g>
|
||||
</svg>
|
||||
</i>
|
||||
</i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="js-slide bg-img-hero bg-img-hero-center gradient-overlay-half-black-v1"
|
||||
style="background-image: url({{ asset('v2/temoignages/temoignage-mma-questembert.jpg') }});">
|
||||
|
||||
<div class="w-md-80 w-lg-50 text-white space-2 px-9">
|
||||
<h3 class="h2 text-lh-xs mb-4">MMA Questembert</h3>
|
||||
<p class="text-white-70 mb-4"> Stephane David, Agent Général d'Assurances</p>
|
||||
|
||||
<a class="js-fancybox text-white" href="javascript:;"
|
||||
data-src="https://www.youtube.com/watch?v=0bbNdf4qAng?autoplay=1" data-speed="700"
|
||||
data-animate-in="zoomIn" data-animate-out="zoomOut" data-caption="Témoignage">
|
||||
Voir le témoignage
|
||||
<i class="u-icon u-icon--sm u-icon--white-soft rounded-circle ml-2">
|
||||
<i class="u-icon__inner svg-icon svg-icon-xs text-white">
|
||||
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<rect x="0" y="0" width="24" height="24"></rect>
|
||||
<path
|
||||
d="M9.82866499,18.2771971 L16.5693679,12.3976203 C16.7774696,12.2161036 16.7990211,11.9002555 16.6175044,11.6921539 C16.6029128,11.6754252 16.5872233,11.6596867 16.5705402,11.6450431 L9.82983723,5.72838979 C9.62230202,5.54622572 9.30638833,5.56679309 9.12422426,5.7743283 C9.04415337,5.86555116 9,5.98278612 9,6.10416552 L9,17.9003957 C9,18.1765381 9.22385763,18.4003957 9.5,18.4003957 C9.62084305,18.4003957 9.73759731,18.3566309 9.82866499,18.2771971 Z"
|
||||
fill="#000000"></path>
|
||||
</g>
|
||||
</svg>
|
||||
</i>
|
||||
</i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="js-slide bg-img-hero bg-img-hero-center gradient-overlay-half-black-v1"
|
||||
style="background-image: url({{ asset('v2/temoignages/mgdis-temoignage-image.jpg') }});">
|
||||
|
||||
<div class="w-md-80 w-lg-50 text-white space-2 px-9">
|
||||
<h3 class="h2 text-lh-xs mb-4">MGDIS</h3>
|
||||
<p class="text-white-70 mb-4">Simona Vasile-Martin, Responsable Marketing</p>
|
||||
@@ -51,7 +110,7 @@
|
||||
<p class="text-white-70 mb-4">Guillaume Lesdos, Co-fondateur et Président</p>
|
||||
|
||||
<a class="js-fancybox text-white" href="javascript:;"
|
||||
data-src="https://www.youtube.com/watch?v=CZDfD2ugXtg&t" data-speed="700"
|
||||
data-src="https://www.youtube.com/watch?v=Em3niStNutA" data-speed="700"
|
||||
data-animate-in="zoomIn" data-animate-out="zoomOut" data-caption="Témoignage">
|
||||
Voir le témoignage
|
||||
<i class="u-icon u-icon--sm u-icon--white-soft rounded-circle ml-2">
|
||||
@@ -100,6 +159,7 @@
|
||||
|
||||
<div class="js-slide bg-img-hero bg-img-hero-center gradient-overlay-half-black-v1"
|
||||
style="background-image: url({{ asset('v2/temoignages/intermarche-temoignage-image.jpg') }});">
|
||||
|
||||
<div class="w-md-80 w-lg-50 text-white space-2 px-9">
|
||||
<h3 class="h2 text-lh-xs mb-4">Intermarché LAI</h3>
|
||||
<p class="text-white-70 mb-4">Ludovic Chamoin-Foucaut, Responsable Ressources Humaines</p>
|
||||
@@ -135,6 +195,43 @@
|
||||
<div id="sliderSyncingThumb2"
|
||||
class="js-slick-carousel u-slick u-slick--gutters-2 u-slick--video w-50 w-lg-30 mx-auto" data-infinite="true"
|
||||
data-slides-show="3" data-is-thumbs="true" data-center-mode="true" data-nav-for="#sliderSyncingNav2">
|
||||
|
||||
<div class="js-slide rounded overflow-hidden">
|
||||
<img class="img-fluid" src="{{ asset('v2/temoignages/pontivy-communaute-temoignage-vignette.jpg') }}"
|
||||
alt="Image Description">
|
||||
<i class="u-icon u-icon--sm u-icon--dark-soft rounded-circle u-slick--video__player">
|
||||
<i class="u-icon__inner svg-icon svg-icon-xs text-white">
|
||||
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<rect x="0" y="0" width="24" height="24"></rect>
|
||||
<path
|
||||
d="M9.82866499,18.2771971 L16.5693679,12.3976203 C16.7774696,12.2161036 16.7990211,11.9002555 16.6175044,11.6921539 C16.6029128,11.6754252 16.5872233,11.6596867 16.5705402,11.6450431 L9.82983723,5.72838979 C9.62230202,5.54622572 9.30638833,5.56679309 9.12422426,5.7743283 C9.04415337,5.86555116 9,5.98278612 9,6.10416552 L9,17.9003957 C9,18.1765381 9.22385763,18.4003957 9.5,18.4003957 C9.62084305,18.4003957 9.73759731,18.3566309 9.82866499,18.2771971 Z"
|
||||
fill="#000000"></path>
|
||||
</g>
|
||||
</svg>
|
||||
</i>
|
||||
</i>
|
||||
</div>
|
||||
|
||||
<div class="js-slide rounded overflow-hidden">
|
||||
<img class="img-fluid" src="{{ asset('v2/temoignages/mma-temoignage-vignette.jpg') }}"
|
||||
alt="Image Description">
|
||||
<i class="u-icon u-icon--sm u-icon--dark-soft rounded-circle u-slick--video__player">
|
||||
<i class="u-icon__inner svg-icon svg-icon-xs text-white">
|
||||
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<rect x="0" y="0" width="24" height="24"></rect>
|
||||
<path
|
||||
d="M9.82866499,18.2771971 L16.5693679,12.3976203 C16.7774696,12.2161036 16.7990211,11.9002555 16.6175044,11.6921539 C16.6029128,11.6754252 16.5872233,11.6596867 16.5705402,11.6450431 L9.82983723,5.72838979 C9.62230202,5.54622572 9.30638833,5.56679309 9.12422426,5.7743283 C9.04415337,5.86555116 9,5.98278612 9,6.10416552 L9,17.9003957 C9,18.1765381 9.22385763,18.4003957 9.5,18.4003957 C9.62084305,18.4003957 9.73759731,18.3566309 9.82866499,18.2771971 Z"
|
||||
fill="#000000"></path>
|
||||
</g>
|
||||
</svg>
|
||||
</i>
|
||||
</i>
|
||||
</div>
|
||||
|
||||
<div class="js-slide rounded overflow-hidden">
|
||||
<img class="img-fluid" src="{{ asset('v2/temoignages/mgdis-temoignage-vignette.jpg') }}"
|
||||
alt="Image Description">
|
||||
|
||||
Executable
+44
@@ -0,0 +1,44 @@
|
||||
<div class="col-md-6 order-md-1 space-2-top">
|
||||
<!-- Slick Carousel - Testimonials -->
|
||||
<div class="js-slick-carousel u-slick slick-initialized slick-slider slick-dotted" data-fade="true" data-autoplay="true" data-speed="7500" data-pagi-classes="u-slick__pagination justify-content-start mt-7">
|
||||
<div class="slick-list draggable"><div class="slick-track" style="opacity: 1; width: 1620px;"><div class="js-slide slick-slide" data-slick-index="0" aria-hidden="true" style="width: 540px; position: relative; left: 0px; top: 0px; z-index: 998; opacity: 0; height: auto; transition: opacity 500ms ease 0s;" tabindex="-1" role="tabpanel" id="slick-slide00" aria-describedby="slick-slide-control00">
|
||||
<!-- Testimonials -->
|
||||
<blockquote class="lead mb-5">"I love Space! I love the ease of use, I love the fact that I have total creative freedom. The template is really nice and offers quite a large set of options. It's beautiful and the coding is done quickly and seamlessly."</blockquote>
|
||||
<div class="media">
|
||||
<img class="u-avatar rounded-circle mr-3" src="../../assets/img/100x100/img1.jpg" alt="Image Description">
|
||||
<div class="media-body">
|
||||
<h3 class="h6 mb-0">Maria Muszynska</h3>
|
||||
<span class="text-secondary">Senior developer at <a href="#" tabindex="-1">Google</a></span>
|
||||
</div>
|
||||
</div>
|
||||
<!-- End Testimonials -->
|
||||
</div><div class="js-slide slick-slide" data-slick-index="1" aria-hidden="true" style="width: 540px; position: relative; left: -540px; top: 0px; z-index: 998; opacity: 0; height: auto; transition: opacity 500ms ease 0s;" tabindex="-1" role="tabpanel" id="slick-slide01" aria-describedby="slick-slide-control01">
|
||||
<!-- Testimonials -->
|
||||
<blockquote class="lead mb-5">"We are incredibly impressed with Space and how well it supports its customers with amazing products and services. One simple subscription gives you access to all our tools, plus so much more."</blockquote>
|
||||
<div class="media">
|
||||
<img class="u-avatar rounded-circle mr-3" src="../../assets/img/100x100/img4.jpg" alt="Image Description">
|
||||
<div class="media-body">
|
||||
<h3 class="h6 mb-0">Mark McManus</h3>
|
||||
<span class="text-secondary">Software engineer at <a href="#" tabindex="-1">Slack</a></span>
|
||||
</div>
|
||||
</div>
|
||||
<!-- End Testimonials -->
|
||||
</div><div class="js-slide slick-slide slick-current slick-active" data-slick-index="2" aria-hidden="false" style="width: 540px; position: relative; left: -1080px; top: 0px; z-index: 999; opacity: 1; height: auto;" tabindex="0" role="tabpanel" id="slick-slide02" aria-describedby="slick-slide-control02">
|
||||
<!-- Testimonials -->
|
||||
<blockquote class="lead mb-5">"One simple subscription gives you access to all our tools, plus so much more. Space brings so many benefits to any team that does anything following a process. It is the easiest way for teams to build cool things work—and get results."</blockquote>
|
||||
<div class="media">
|
||||
<img class="u-avatar rounded-circle mr-3" src="../../assets/img/100x100/img14.jpg" alt="Image Description">
|
||||
<div class="media-body">
|
||||
<h3 class="h6 mb-0">Ella Brown</h3>
|
||||
<span class="text-secondary">Head of IT department at <a href="#" tabindex="0">Apple</a></span>
|
||||
</div>
|
||||
</div>
|
||||
<!-- End Testimonials -->
|
||||
</div></div></div>
|
||||
|
||||
|
||||
|
||||
|
||||
<ul class="js-pagination u-slick__pagination justify-content-start mt-7" style="" role="tablist"><li class="" role="presentation"><span></span></li><li role="presentation" class=""><span></span></li><li role="presentation" class="slick-active slick-current"><span></span></li></ul></div>
|
||||
<!-- End Slick Carousel - Testimonials -->
|
||||
</div>
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user