Compare commits

...

20 Commits

Author SHA1 Message Date
llaniau 07531fb0de Organisation cliente 2020-09-07 16:00:41 +02:00
llaniau e4cd963ffd cv theque 2020-09-03 18:49:58 +02:00
llaniau 96367dd0af cv videotheque 2020-09-03 17:34:07 +02:00
llaniau 857e32e574 base temporaire pour avoir des pages en mode V1 meme en V2 2020-09-02 18:40:24 +02:00
llaniau 6b4581bd5d Amelioration dashboard entreprise sur la gestion des offres 2020-09-01 16:57:24 +02:00
llaniau 52ec51b973 Fix : dashboard entreprise - ajout ad 2020-09-01 14:24:44 +02:00
llaniau 1b5a4ff368 Dashboard / gestion annonce 2020-09-01 13:03:27 +02:00
llaniau b9b93ee8f1 modif user dashboard entreprise 2020-09-01 12:04:04 +02:00
llaniau 5bcc995f81 Modif inscription 2020-09-01 11:33:16 +02:00
llaniau 36d67ead43 Mise a jour video de test 216125621 2020-09-01 09:01:04 +02:00
llaniau 34cffed212 Test vimeo avec la video 217844541 2020-09-01 08:45:26 +02:00
llaniau 45e9031268 Mise au point de CSS 2020-08-31 17:25:50 +02:00
llaniau af0e1db407 dashboard V2 (inscription, login, candidatures) 2020-08-31 16:12:13 +02:00
llaniau f12b6f16a9 Dashboard entreprise : reponse texte et video en mode V2 2020-08-27 16:59:32 +02:00
llaniau 301a0c4496 Prise en compte des remarques de Corentins + Dashboard Entreoprise V2 2020-08-26 18:34:45 +02:00
llaniau fd8226ab33 Mise en place dashboard entreprise V2 - Espace offre d'emploi 2020-08-25 17:47:36 +02:00
llaniau a937a21150 Mise en place template dashboard 2020-08-24 18:27:29 +02:00
llaniau f19baff135 modif user 2020-08-20 17:55:55 +02:00
llaniau 6a5bbdcd84 multi utilisateur 2020-08-20 17:44:04 +02:00
llaniau bc15ae214e Fix : connexion avec address json qui ne fonctionnait pas 2020-08-19 18:34:37 +02:00
1636 changed files with 464571 additions and 2404 deletions
@@ -3,19 +3,28 @@
{% block title %}Talents Tube : Le 1er job board 100% vidéo{% endblock %}
{% trans_default_domain 'FOSUserBundle' %}
{% 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 +77,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 +157,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 +180,4 @@ with {
{% block javascripts %}
{{ parent() }}
<script src="https://player.vimeo.com/api/player.js"></script>
{% endblock %}
{% endblock %}
@@ -1,4 +1,4 @@
{% extends "base.html.twig" %}
{% extends "basetemporaire.html.twig" %}
{% trans_default_domain 'FOSUserBundle' %}
@@ -27,4 +27,5 @@
{% block metarobot %}
<meta name="robots" content="noindex,nofollow">
<meta http-equiv="refresh" content="3; URL=/">
{% endblock %}
@@ -2,46 +2,46 @@
<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) }}
@@ -49,20 +49,20 @@
{{ form_label(form.cgu) }}
</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="mentions-legales">Lire les conditions générales d'utilisations</a>
<br /><br />
</div>
</div>
<div class="row">
<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 +73,7 @@
Je possède déjà un compte Talents Tube
</span>
</a>
{% endif %}
{% endif %} #}
</div>
{{ form_end(form) }}
</div>
@@ -1,20 +1,22 @@
{% trans_default_domain 'FOSUserBundle' %}
{% extends "base.html.twig" %}
{% extends "basev2.html.twig" %}
{% block content %}
<div class="container contentWrapper">
<div class="row">
<div class="col push-s3 s6">
<h1 class="m-t-18 alttitle center-align">{{'user.resetpassword.title'|trans({},"messages") }}</h1>
<p>
<main id="content">
<div class="container space-2 ">
<div class="row row justify-content-lg-end ">
<div class="col-md-12 ">
<h1 class="m-t-18 alttitle center-align">{{'user.resetpassword.title'|trans({},"messages") }}</h1>
<p>
{{ 'resetting.check_email'|trans({'%tokenLifetime%': tokenLifetime})|nl2br }}
</p>
</div>
</p>
</div>
</div>
</div>
</div>
</main>
{% endblock %}
{% block metarobot %}
<meta name="robots" content="noindex,nofollow">
{% endblock %}
<meta name="robots" content="noindex,nofollow">
{% endblock %}
@@ -1,16 +1,18 @@
{% extends "base.html.twig" %}
{% extends "basev2.html.twig" %}
{% block content %}
<div class="container contentWrapper">
<div class="row">
<div class="col push-s3 s6">
<h1 class="m-t-18 alttitle center-align">{{'user.resetpassword.title'|trans({},"messages") }}</h1>
{% include "@FOSUser/Resetting/request_content.html.twig" %}
</div>
<main id="content">
<div class="container space-2 ">
<div class="row row justify-content-lg-end ">
<div class="col-md-12 ">
<h1 class="m-t-18 alttitle center-align">{{'user.resetpassword.title'|trans({},"messages") }}</h1>
{% include "@FOSUser/Resetting/request_content.html.twig" %}
</div>
</div>
</div>
</div>
</main>
{% endblock %}
{% block metarobot %}
<meta name="robots" content="noindex,nofollow">
{% endblock %}
<meta name="robots" content="noindex,nofollow">
{% endblock %}
@@ -1,11 +1,13 @@
{% trans_default_domain 'FOSUserBundle' %}
<form action="{{ path('fos_user_resetting_send_email') }}" method="POST" class="fos_user_resetting_request">
<div>
<div class="col-md-12 ">
<label for="username">{{ 'resetting.request.username'|trans }}</label>
<input type="text" id="username" name="username" required="required" />
<input type="text" id="username" name="username" required="required" class="form-control" />
</div>
<div>
<input class="btn btn-default" type="submit" value="{{ 'resetting.request.submit'|trans }}" />
<div class="col-md-6 ">&nbsp;
</div>
<div class="col-md-5 ">
<button type="submit" class="btn btn-block btn-primary">{{ 'resetting.request.submit'|trans }}</button>
</div>
</form>
<br /><br />
@@ -1,24 +1,27 @@
{% 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 content %}
<div class="container contentWrapper">
<div class="row">
<div class="col push-s3 s6">
<h1 class="m-t-18 alttitle center-align">{{'user.resetpassword.title'|trans({},"messages") }}</h1>
{% include "@FOSUser/Resetting/reset_content.html.twig" %}
<main id="content">
<div class="container space-2 ">
<div class="row row justify-content-lg-end ">
<div class="col-md-12 ">
<h1 class="m-t-18 alttitle center-align">
{{'user.resetpassword.title'|trans({},"messages") }}</h1>
{% include "@FOSUser/Resetting/reset_content.html.twig" %}
</div>
</div>
</div>
</div>
</main>
{% endblock %}
{% block metarobot %}
<meta name="robots" content="noindex,nofollow">
{% endblock %}
<meta name="robots" content="noindex,nofollow">
{% endblock %}
@@ -0,0 +1,33 @@
{% extends "base.html.twig" %}
{% block title %}
Login TalentsTube
{% endblock %}
{% block description %}
Login TalentsTube
{% endblock %}
{% block content %}
<div class="container contentWrapper">
<div class="row">
<div class="col s4 offset-s1">
<h3>Connexion</h3>
{% block fos_user_content %}
{{ include('@FOSUser/Security/login_content.html.twig') }}
{% endblock fos_user_content %}
<br />
</div>
<div class="col s4 offset-s2">
<h3>Devenez Talents Tubeur(se) !</h3>
<p><a class="btn btn-default" href="{{ path('fos_user_registration_register') }}" title="inscription Talents Tube">Inscrivez-vous, c'est gratuit !</a></p>
</div>
</div>
</div>
{% endblock %}
{% block metarobot %}
<meta name="robots" content="noindex,nofollow">
{% endblock %}
@@ -1,32 +1,197 @@
{% extends "base.html.twig" %}
{% extends 'basev2.html.twig' %}
{% block title %}
Login TalentsTube
{% block title %}Talents Tube - Solution de recrutement en vidéo{% endblock %}
{% block meta %}
<meta name="description" content="Vous souhaitez recruter en vidéo ? Talents Tube diffuse vos vidéos doffres demploi et marque employeur pour attirer les meilleurs talents en vidéo.">
<meta name="twitter:card" content="summary">
<meta name="twitter:site" content="@TalentsTube">
<meta name="twitter:title" content="Talents Tube - Solution de recrutement en vidéo">
<meta name="twitter:description" content="Vous souhaitez recruter en vidéo ? Talents Tube diffuse vos vidéos doffres demploi et marque employeur pour attirer les meilleurs talents en vidéo.">
<meta name="twitter:image" content="{{ absolute_url(asset('img/mail/logo-talents-tube.png')) }}">
{#Open Graph data pour le partage sur les réseaux sociaux (ex Facebook..)#}
<meta property="og:title" content="Talents Tube - Solution de recrutement en 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="Vous souhaitez recruter en vidéo ? Talents Tube diffuse vos vidéos doffres demploi et marque employeur pour attirer les meilleurs talents en vidéo." />
<meta property="og:site_name" content="Talents Tube" />
<meta property="og:url" content="{{ url(app.request.attributes.get('_route'), app.request.attributes.get('_route_params')) }}" />
<meta http-equiv="refresh" content="1;URL=/">
{% endblock %}
{% block description %}
Login TalentsTube
{% endblock %}
{% block content %}
<div class="container contentWrapper">
<div class="row">
<div class="col s4 offset-s1">
<h3>Connexion</h3>
{% block fos_user_content %}
{{ include('@FOSUser/Security/login_content.html.twig') }}
{% endblock fos_user_content %}
<br />
</div>
<div class="col s4 offset-s2">
<h3>Devenez Talents Tubeur(se) !</h3>
<p><a class="btn btn-default" href="{{ path('fos_user_registration_register') }}" title="inscription Talents Tube">Inscrivez-vous, c'est gratuit !</a></p>
</div>
</div>
</div>
{% endblock %}
{% block metarobot %}
<meta name="robots" content="noindex,nofollow">
<main id="content">
{% include 'defaultv2/accueil/blocPhoto.html.twig'
with {
'urlImage': 'v2/img/1920x800/recrutement-video.jpg',
'textParDefaut' : 'Recrutez les candidats',
'textVideo' : 'avec la vidéo'
} %}
{% include 'defaultv2/accueil/blocDegrade.html.twig' %}
{% include 'defaultv2/accueil/blocPlateforme.html.twig' %}
{% include 'defaultv2/accueil/blocCandidat.html.twig' %}
{% include 'defaultv2/accueil/blocRecrutez.html.twig' %}
{% include 'defaultv2/accueil/blocEmployeur.html.twig' %}
{% include 'defaultv2/accueil/blocTemoignages.html.twig' %}
{% include 'defaultv2/accueil/blocConfiance.html.twig' %}
</main>
<!-- ========== END MAIN CONTENT ========== -->
{% include 'defaultv2/accueil/footer.html.twig' %}
<!-- Begin Panel Login -->
{% include 'defaultv2/accueil/blocLogin.html.twig'
with {
'csrf_token': csrf_token,
'error' : error
} %}
<!-- Go to Top -->
<a class="js-go-to u-go-to" href="javascript:;" data-position='{"bottom": 30, "right": 100 }' data-type="fixed"
data-offset-top="400" data-compensation="#header" data-show-effect="slideInUp" data-hide-effect="slideOutDown">
<i class="fa fa-arrow-up u-go-to__inner"></i>
</a>
<!-- End Go to Top -->
<!-- JS Global Compulsory -->
<script src="{{ asset('v2/vendor/jquery/dist/jquery.min.js') }}"></script>
<script src="{{ asset('v2/vendor/jquery-migrate/dist/jquery-migrate.min.js') }}"></script>
<script src="{{ asset('v2/vendor/popper.js/dist/umd/popper.min.js') }}"></script>
<script src="{{ asset('v2/vendor/bootstrap/bootstrap.min.js') }}"></script>
<!-- JS Implementing Plugins -->
<script src="{{ asset('v2/vendor/hs-megamenu/src/hs.megamenu.js') }}"></script>
<script src="{{ asset('v2/vendor/jquery-validation/dist/jquery.validate.min.js') }}"></script>
<script src="{{ asset('v2/vendor/malihu-custom-scrollbar-plugin/jquery.mCustomScrollbar.concat.min.js') }}"></script>
<script src="{{ asset('v2/vendor/custombox/dist/custombox.min.js') }}"></script>
<script src="{{ asset('v2/vendor/custombox/dist/custombox.legacy.min.js') }}"></script>
<script src="{{ asset('v2/vendor/typed.js/lib/typed.min.js') }}"></script>
<script src="{{ asset('v2/vendor/slick-carousel/slick/slick.js') }}"></script>
<script src="{{ asset('v2/vendor/cubeportfolio/js/jquery.cubeportfolio.min.js') }}"></script>
<script src="{{ asset('v2/vendor/fancybox/jquery.fancybox.min.js') }}"></script>
<!-- JS Space -->
<script src="{{ asset('v2/js/hs.core.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.header.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.unfold.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.validation.js') }}"></script>
<script src="{{ asset('v2/js/helpers/hs.focus-state.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.malihu-scrollbar.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.fancybox.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.modal-window.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.show-animation.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.slick-carousel.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.cubeportfolio.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.g-map.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.go-to.js') }}"></script>
<!-- JS Plugins Init. -->
<script>
// initialization of google map
{# function initMap() {
$.HSCore.components.HSGMap.init('.js-g-map');
} #}
$(window).on('load', function () {
// initialization of HSMegaMenu component
$('.js-mega-menu').HSMegaMenu({
event: 'hover',
pageContainer: $('.container'),
breakpoint: 767,
hideTimeOut: 0
});
});
$(document).on('ready', function () {
// initialization of header
$.HSCore.components.HSHeader.init($('#header'));
// initialization of fancybox
$.HSCore.components.HSFancyBox.init('.js-fancybox');
// initialization of unfold component
$.HSCore.components.HSUnfold.init($('[data-unfold-target]'), {
afterOpen: function () {
if (!$('body').hasClass('IE11')) {
$(this).find('input[type="search"]').focus();
}
}
});
// initialization of form validation
$.HSCore.components.HSValidation.init('.js-validate', {
rules: {
confirmPassword: {
equalTo: '#password'
}
}
});
// initialization of forms
$.HSCore.helpers.HSFocusState.init();
// initialization of malihu scrollbar
$.HSCore.components.HSMalihuScrollBar.init($('.js-scrollbar'));
// initialization of autonomous popups
$.HSCore.components.HSModalWindow.init('[data-modal-target]', '.js-signup-modal', {
autonomous: true
});
// initialization of show animations
$.HSCore.components.HSShowAnimation.init('.js-animation-link');
// initialization of slick carousel
$.HSCore.components.HSSlickCarousel.init('.js-slick-carousel');
$('.u-text-animation.u-text-animation').html("");
// initialization of text animation (typing)
var typed = new Typed(".u-text-animation.u-text-animation--typing", {
strings: ["Recrutez les candidats", "Boostez vos recrutements", "Valorisez vos collaborateurs"],
typeSpeed: 60,
loop: true,
backSpeed: 25,
backDelay: 3000
});
// initialization of cubeportfolio
$.HSCore.components.HSCubeportfolio.init('.cbp');
// initialization of go to
$.HSCore.components.HSGoTo.init('.js-go-to');
});
$(document).ready(function () {
$(window).scroll(function () { // check if scroll event happened
if ($(document).scrollTop() > 50) { // check if user scrolled more than 50 from top of the browser window
$("#logoAndNav").css("background-color","#000"); // if yes, then change the color of class "navbar-fixed-top" to white (#f8f8f8)
$("#sidebarNavToggler").css("color","#fff");
} else {
$("#logoAndNav").css("background-color", "transparent"); // if not, change it back to transparent
$("#sidebarNavToggler").css("color", "#000");
}
});
});
</script>
{% endblock %}
{% block javascripts %}
{{ parent() }}
<script src="https://player.vimeo.com/api/player.js"></script>
{% endblock %}
@@ -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 }}" />
@@ -1,27 +1,57 @@
{% 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="Talents Tube - Solution de recrutement en vidéo">
<meta name="twitter:description"
content="Vous souhaitez recruter en vidéo ? Talents Tube diffuse vos vidéos doffres demploi et marque employeur pour attirer les meilleurs talents en vidéo.">
<meta name="twitter:image" content="{{ absolute_url(asset('img/mail/logo-talents-tube.png')) }}">
{#Open Graph data pour le partage sur les réseaux sociaux (ex Facebook..)#}
<meta property="og:title" content="Talents Tube - Solution de recrutement en 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="Vous souhaitez recruter en vidéo ? Talents Tube diffuse vos vidéos doffres demploi et marque employeur pour attirer les meilleurs talents en vidéo." />
<meta property="og:site_name" content="Talents Tube" />
<meta property="og:url"
content="{{ url(app.request.attributes.get('_route'), app.request.attributes.get('_route_params')) }}" />
{% 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 %}
@@ -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>
@@ -228,7 +232,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 +263,10 @@
<target>Mon profil</target>
</trans-unit>
<!-- ANNONCE-->
<trans-unit id="ad.company.list.label">
<source>ad.company.list.label</source>
<target>Liste de mes offres</target>
</trans-unit>
<trans-unit id="ad.company.add.label">
<source>ad.company.add.label</source>
<target>Ajouter une offre</target>
@@ -307,6 +315,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>
@@ -29,6 +29,7 @@
{{ form_row(form.title) }}
{{ form_row(form.location) }}
{{ form_row(form.location_gmap) }}
{{ form_row(form.beneficiaire) }}
{{ form_row(form.description) }}
{{ form_row(form.publicTag) }}
@@ -0,0 +1,114 @@
<!DOCTYPE html>
<html lang="en">
<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" />
</head>
<body class="fixed-header dashboard menu-pin menu-behind">
{{ 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>
</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/jquery/jquery-3.2.1.min.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>
<!-- END PAGE LEVEL JS -->
</body>
</html>
@@ -0,0 +1,33 @@
<!-- START HEADER -->
<div class="header ">
<!-- START MOBILE SIDEBAR TOGGLE -->
<a href="#" class="btn-link toggle-sidebar d-lg-none pg-icon btn-icon-link" data-toggle="sidebar">
menu</a>
<!-- END MOBILE SIDEBAR TOGGLE -->
<div class="">
<div class="brand inline m-l-10">
<img src="{{ asset('/img/Logo-header.png') }}" alt="logo" data-src="{{ asset('/img/Logo-header.png') }}" data-src-retina="{{ asset('/img/Logo-header.png') }}" width="78" height="22">
</div>
</div>
<div class="d-flex align-items-center">
<!-- START User Info-->
<div class="dropdown pull-right d-lg-block d-none">
<button class="profile-dropdown-toggle" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" aria-label="profile dropdown">
<span class="thumbnail-wrapper d32 circular inline">
<img src="{{ asset('dashboard/img/profiles/account-avatar-default.svg') }}" alt="" data-src="{{ asset('dashboard/img/profiles/account-avatar-default.svg') }}"
data-src-retina="{{ asset('dashboard/img/profiles/account-avatar-default.svg') }}" width="32" height="32">
</span>
</button>
<div class="dropdown-menu dropdown-menu-right profile-dropdown" role="menu">
<a href="/logout" class="dropdown-item">Se déconnecter</a>
</div>
</div>
<!-- END User Info-->
<a href="#" class="header-icon m-l-5 sm-no-margin d-inline-block" data-toggle="quickview" data-toggle-element="#quickview">
<i class="pg-icon btn-icon-link">menu_add</i>
</a>
</div>
</div>
<!-- END HEADER -->
@@ -0,0 +1,141 @@
<!-- BEGIN SIDEBPANEL-->
<nav class="page-sidebar" data-pages="sidebar">
<!-- BEGIN SIDEBAR MENU TOP TRAY CONTENT-->
<div class="sidebar-overlay-slide from-top" id="appMenu">
<div class="row">
<div class="col-xs-6 no-padding">
<a href="#" class="p-l-40"><img src="{{ asset('dashboard/img/demo/social_app.svg') }}" alt="socail">
</a>
</div>
<div class="col-xs-6 no-padding">
<a href="#" class="p-l-10"><img src="{{ asset('dashboard/img/demo/email_app.svg') }}" alt="socail">
</a>
</div>
</div>
<div class="row">
<div class="col-xs-6 m-t-20 no-padding">
<a href="#" class="p-l-40"><img src="{{ asset('dashboard/img/demo/calendar_app.svg') }}" alt="socail">
</a>
</div>
<div class="col-xs-6 m-t-20 no-padding">
<a href="#" class="p-l-10"><img src="{{ asset('dashboard/img/demo/add_more.svg') }}" alt="socail">
</a>
</div>
</div>
</div>
<!-- END SIDEBAR MENU TOP TRAY CONTENT-->
<!-- BEGIN SIDEBAR MENU HEADER-->
<div class="sidebar-header">
<img src="{{ asset('dashboard/img/logo_white.png') }}" alt="logo" class="brand"
data-src="{{ asset('dashboard/img/logo_white.png') }}"
data-src-retina="{{ asset('dashboard/img/logo_white_2x.png') }}" width="78" height="22">
<div class="sidebar-header-controls">
<button aria-label="Toggle Drawer" type="button"
class="btn btn-icon-link invert sidebar-slide-toggle m-l-20 m-r-10" data-pages-toggle="#appMenu">
<i class="pg-icon">chevron_down</i>
</button>
<button aria-label="Pin Menu" type="button"
class="btn btn-icon-link invert d-lg-inline-block d-xlg-inline-block d-md-inline-block d-sm-none d-none"
data-toggle-pin="sidebar">
<i class="pg-icon"></i>
</button>
</div>
</div>
<!-- END SIDEBAR MENU HEADER-->
<!-- START SIDEBAR MENU -->
<div class="sidebar-menu">
<!-- BEGIN SIDEBAR MENU ITEMS-->
<ul class="menu-items">
<li class="m-t-20 ">
<a href="{{ path('company_dashboard') }}" class="detailed">
<span class="">Tableau de bord</span>
<span class="details"></span>
</a>
<span class="icon-thumbnail"><span class="material-icons">
home
</span>
</span>
</li>
<li>
<a href="javascript:;"><span class="principal">Entreprise</span>
<span class=" arrow"></span></a>
<span class="icon-thumbnail">
<span class="material-icons">
business
</span>
</span>
<ul class="sub-menu">
<li class="">
<a href="{{ path('company_profile') }}">Profil de l'Entreprise</a>
<span class="icon-thumbnail">
<span class="material-icons">
store_mall_directory
</span>
</span>
</li>
<li class="">
<a href="{{ path('users') }}">Utilisateurs</a>
<span class="icon-thumbnail"><span class="material-icons">
group
</span>
</span>
</li>
{# <li class="">
<a href="{{ path('users') }}">Informations juridiques</a>
<span class="icon-thumbnail">
<span class="material-icons">
gavel
</span>
</span>
</li> #}
</ul>
</li>
<li class="">
<a href="{{ path('company_ad') }}">
<span class="">Offres d'emploi</span>
</a>
<span class="icon-thumbnail">
<span class="material-icons">
work
</span>
</span>
</li>
<li class="">
<a href="{{ path('company_answer_list') }}">
<span class="">Candidatures</span>
</a>
<span class="icon-thumbnail">
<span class="material-icons">
face
</span>
</span>
</li>
<li class="">
<a href="{{ path('company_my_account') }}">
<span class="">Mes paramètres</span>
</a>
<span class="icon-thumbnail">
<span class="material-icons">
settings
</span>
</span>
</li>
<li class="">
<a href="mailto:contact@talentstube.com">
<span class="principal">Contacter Talents Tube</span>
</a>
<span class="icon-thumbnail"><i class="pg-icon">mail</i></span>
</li>
</ul>
<div class="clearfix"></div>
</div>
<!-- END SIDEBAR MENU -->
</nav>
<!-- END SIDEBAR -->
<!-- END SIDEBPANEL-->
@@ -0,0 +1,3 @@
{% extends 'admin/base_dashboard.html.twig' %}
@@ -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,82 @@
<!DOCTYPE html>
<html lang="fr">
<head>
<!-- Google Tag Manager -->
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-P4G65WJ');</script>
<!-- End Google Tag Manager -->
<script type="text/javascript" defer="defer" src="https://extend.vimeocdn.com/ga/64189815.js"></script>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<meta name="robots" content="noindex,nofollow">
<title>{% block title %}Talents Tube : La 1ère plateforme pour lemploi 100% vidéo{% endblock %}</title>
<link rel="icon" type="image/x-icon" href="{{ asset('favicon.ico') }}"/>
{% block metarobot %} <meta name="robots" content="noindex,nofollow">{% endblock %}
<meta name="description" content="{% block description %}
Talents Tube est la première plateforme réservée aux offres d'emploi et aux CV vidéos. Découvrez un nouvelle méthode de recrutement !
{% endblock %}">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<meta name="robots" content="index,follow">
{# OG et TC #}
{% if app.request.attributes.get('_route') != null %}
{% block ogtc %}
{#Twitter Card data pour les données enrichies sur Twitter#}
<meta name="twitter:card" content="summary">
<meta name="twitter:site" content="@TalentsTube">
<meta name="twitter:title" content="Talents Tube : Le 1er job board 100% vidéo">
<meta name="twitter:description" content="Talents Tube est la première plateforme réservée aux offres d'emploi et aux CV vidéos. Découvrez un nouvelle méthode de recrutement !">
<meta name="twitter:image" content="{{ absolute_url(asset('img/mail/logo-talents-tube.png')) }}">
{#Open Graph data pour le partage sur les réseaux sociaux (ex Facebook..)#}
<meta property="og:title" content="Talents Tube : Le 1er job board 100% vidéo" />
<meta property="og:type" content="article" />
<meta property="og:image" content="{{ absolute_url(asset('img/mail/logo-talents-tube.png')) }}" />
<meta property="og:description" content="Talents Tube est la première plateforme réservée aux offres d'emploi et aux CV vidéos. Découvrez un nouvelle méthode de recrutement !" />
<meta property="og:site_name" content="Talents Tube" />
<meta property="og:url" content="{{ url(app.request.attributes.get('_route'), app.request.attributes.get('_route_params')) }}" />
{% endblock %}
{# Canonical #}
<link rel="canonical"
href="{% block urlCanonical %}{{ url(app.request.attributes.get('_route'), app.request.attributes.get('_route_params')) }}{% endblock %}">
{% endif %}
{# CSS #}
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<link href="https://fonts.googleapis.com/css?family=Raleway:100,100i,200,200i,300,300i,400,400i,500,500i,600,600i,700,700i,800,800i,900,900i|Varela+Round" rel="stylesheet">
<link rel="stylesheet" href="{{ asset('css/styles.css') }}">
{% block stylesheets %}
{% endblock %}
<script type="text/javascript"> window.$crisp=[];window.CRISP_WEBSITE_ID="78ec5756-1cd5-4f3f-b0db-cb408c8171da";(function(){ d=document;s=d.createElement("script"); s.src="https://client.crisp.chat/l.js"; s.async=1;d.getElementsByTagName("head")[0].appendChild(s);})(); </script>
</head>
<body>
<!-- Google Tag Manager (noscript) -->
<noscript>
<iframe src="https://www.googletagmanager.com/ns.html?id=GTM-P4G65WJ"
height="0" width="0" style="display:none;visibility:hidden"></iframe>
</noscript>
<!-- End Google Tag Manager (noscript) -->
{#{% include 'default/alert.html.twig' %}#}
{% include 'default/user_switch.html.twig' %}
{% include 'default/headertemporaire.html.twig' %}
{% include 'default/props_settings.html.twig' %}
{% block content %}
{% endblock %}
{# {% include 'default/footertemporaire.html.twig' %} #}
{% block javascripts %}
{% javascripts
'@vendors'
'@global'
output='assetic/main.js' filter='?uglifyjs2' %}
<script src="{{ asset_url }}"></script>
{% endjavascripts %}
{% endblock %}
{{ include('FairlaneCookieConsentBundle::cookie-info.html.twig') }}
</body>
</html>
@@ -22,7 +22,7 @@
<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>
@@ -39,6 +39,9 @@
{% include 'defaultv2/header.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') }}
@@ -1,66 +1,119 @@
{% extends 'company/base_dashboard_company.html.twig' %}
{# {% extends 'company/base_dashboard_company.html.twig' %} #}
{% extends 'admin/base_dashboard.html.twig' %}
{% block dashContent %}
{% if type == "spontaneous" %}
{% include 'company/job_submenu.html.twig' with {
'tab' : 3
} %}
{% else %}
{% include 'company/job_submenu.html.twig' with {
'tab' : 2
} %}
{% endif %}
<div class="row bg-bordered p-20">
{% include 'company/ad_breadcrumb.html.twig' with {'step': 2,'ad': ad} %}
<div id="reponses" class="col s12">
<table id="table-answers" class="bordered highlight responsive-table">
<thead>
<tr>
<th>{{ 'profile.talent.lastname'|trans }} {{ 'profile.talent.firstname'|trans }}</th>
<th>{{ 'global.datereception.label'|trans }}</th>
<th>{{ 'ad.company.list.status'|trans }}</th>
<th class="center-align">{{ 'ad.company.list.actions'|trans }}</th>
</tr>
</thead>
<tbody>
{% for answer in answers %}
<tr>
<td>
<a href="{{ path('company_answer_show',{'id':answer.id }) }}">{{ answer.user.lastname }} {{ answer.user.firstname }}</a>
</td>
<td>{{ answer.sendTime()|date('d/m/Y') }}</td>
{% if answer.firstMessage %}
<td>{{ answer.firstMessage.status|trans }}</td>
{% else %}
{% if answer.isViewed %}
{% if answer.isViewed.status == "DRAFT" %}
<td>{{ 'VIEWED'|trans }}</td>
{% endif %}
{% else %}
<td>{{ 'NEW'|trans }}</td>
{% endif %}
{% endif %}
<td class="center-align">
<a title="{{ad.title}}" href="{{ path('company_answer_show',{'id':answer.id }) }}">
<i class="fa fa-eye"></i>
</a>
<a href="#" class="note-action c-pointer" data-func="add" data-answer="{{ answer.id }}">
<i class="fa fa-sticky-note"></i>
</a>
{% for note in answer.notes %}
<a class="tooltipped note-action c-pointer" data-position="top" data-delay="50"
data-tooltip="{{ note.content }}" data-note="{{ note.id }}" data-func="edit">
<i class="fa fa-commenting" aria-hidden="true"></i>
</a>
{% endfor %}
</td>
</tr>
{% endfor %}
</table>
<!-- START JUMBOTRON -->
<div class="jumbotron" data-pages="parallax">
<div class=" container-fluid container-fixed-lg sm-p-l-0 sm-p-r-0">
<div class="inner">
<!-- START BREADCRUMB -->
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="/">Accueil</a></li>
<li class="breadcrumb-item"><a href="{{ path('company_ad') }}">Offres d'emploi</a></li>
<li class="breadcrumb-item"><a href="{{ path('company_ad_answer_list',{'id':ad.id}) }}">{{ ad.title }}
</a></li>
</ol>
<!-- END BREADCRUMB -->
</div>
</div>
</div>
{# {% if type == "spontaneous" %}
{% include 'company/job_submenu.html.twig' with {
'tab' : 3
} %}
{% else %}
{% include 'company/job_submenu.html.twig' with {
'tab' : 2
} %}
{% endif %} #}
<div class="row bg-bordered p-20">
<div id="note-modal"></div>
<!-- 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 }}
</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>{{ 'profile.talent.lastname'|trans }} {{ 'profile.talent.firstname'|trans }}</th>
<th>{{ 'global.datereception.label'|trans }}</th>
<th>{{ 'ad.company.list.status'|trans }}</th>
<th class="center-align">{{ 'ad.company.list.actions'|trans }}</th>
</tr>
</thead>
<tbody>
{% for answer in answers %}
<tr>
<td >
<a href="{{ path('company_answer_show',{'id':answer.id }) }}">{{ answer.user.lastname }}
{{ answer.user.firstname }}</a>
</td>
<td >
{{ answer.sendTime()|date('d/m/Y') }}
</td>
{% if answer.firstMessage %}
<td>{{ answer.firstMessage.status|trans }}</td>
{% else %}
{% if answer.isViewed %}
{% if answer.isViewed.status == "DRAFT" %}
<td>{{ 'VIEWED'|trans }}</td>
{% endif %}
{% else %}
<td>{{ 'NEW'|trans }}</td>
{% endif %}
{% endif %}
<td class="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 %}
@@ -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,240 @@
{% extends 'company/base_dashboard_company.html.twig' %}
{# {% extends 'company/base_dashboard_company.html.twig' %} #}
{% extends 'admin/base_dashboard.html.twig' %}
{% block dashContent %}
<div class="row bg-bordered p-0">
{% include 'company/ad_steps.html.twig' with {'tab':1} %}
<div class="p-20">
{% 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>
</div>
{{ form_end(form) }}
<!-- START JUMBOTRON -->
<div class="jumbotron" data-pages="parallax">
<div class=" container-fluid container-fixed-lg sm-p-l-0 sm-p-r-0">
<div class="inner">
<!-- START BREADCRUMB -->
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="/">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 -->
<!-- START CONTAINER FLUID -->
<div class=" container-fluid container-fixed-lg">
<div id="rootwizard" class="m-t-50">
{% if type is defined and type == 'update' %}
{% include 'company/ad_stepsV2.html.twig' with {'tab':1, 'type':'update'} %}
{% else %}
{% include 'company/ad_stepsV2.html.twig' with {'tab':1} %}
{% endif %}
<div class="tab-content">
{{ form_start(form, {'attr': {'class': ''}}) }}
{% endblock %}
<div class="tab-pane padding-20 sm-no-padding active slide-left" id="tab1">
<div class="row row-same-height">
<div class="col-md-5 b-r b-dashed b-grey sm-b-b">
<div class="padding-30 sm-padding-5 sm-m-t-15 m-t-50">
<i class="material-icons hint-text">info</i>
<h2>Etape 1 : Je crée une annonce</h2>
<p>Pour trouver le bon profil, renseignez et personnalisez votre annonce.
Plus votre annonce est précise et attractive, plus les candidatures seront ciblées.
Afin de créer votre annonce, renseignez lensemble des champs relatifs au poste proposé.</p>
{# <p class="small hint-text">Below is a sample page for your cart , Created using pages design
UI Elementes</p> #}
</div>
</div>
<div class="col-md-7">
<div class="padding-30 sm-padding-5">
<table class="table table-condensed ">
<tr>
<td class="col-lg-12 col-md-12 col-sm-12 ">
{% if form_errors(form) %}
<span class="red-text text-darken-2">{{ form_errors(form) }}</span>
{% endif %}
</td>
</tr>
<tr>
<td class="col-lg-12 col-md-12 col-sm-12 ">
{{ form_row(form.reference) }}
</td>
</tr>
<tr>
<td class="col-lg-12 col-md-12 col-sm-12 ">
{{ form_row(form.title) }}
</td>
</tr>
<tr>
<td class="col-lg-12 col-md-12 col-sm-12">
{{ form_row(form.beneficiaire) }}
</td>
</tr>
<tr>
<td class="col-lg-12 col-md-12 col-sm-12">
{{ form_row(form.location_gmap) }}
{{ form_row(form.location) }}
</td>
</tr>
<tr>
<td class="col-lg-12 col-md-12 col-sm-12">
{{ form_row(form.description) }}
</td>
</tr>
<tr>
<td class="col-lg-12 col-md-12 col-sm-12">
{{ form_row(form.contract_type) }}
</td>
</tr>
<tr>
<td class="col-lg-12 col-md-12 col-sm-12">
{{ form_row(form.status) }}
</td>
</tr>
<tr>
<td class="col-lg-12 col-md-12 col-sm-12">
{{ form_row(form.publicTag) }}
</td>
</tr>
<tr>
<td class="col-lg-12 col-md-12 col-sm-12 ">
<button aria-label="" type="submit" class="btn btn-primary btn-cons btn-animated from-left pull-right"
type="button">
<span>{% if type is defined and type == 'update' %}Sauvegarde et étape suivante {% else %}Je crée mon annonce{% endif %}</span>
<span class="hidden-block">
<i class="material-icons fs-16">videocam</i>
</span>
</button>
{# <button class="btn btn-default" type="submit">Je crée mon annonce!</button> #}
</td>
</tr>
</table>
</div>
</div>
</div>
</div>
{{ form_end(form) }}
<div class="tab-pane slide-left padding-20 sm-no-padding disabled" id="tab2">
<div class="row row-same-height">
<div class="col-md-5 b-r b-dashed b-grey ">
<div class="padding-30 sm-padding-5 sm-m-t-15 m-t-50">
</div>
</div>
<div class="col-md-7">
<div class="padding-30 sm-padding-5">
</div>
</div>
</div>
</div>
<div class="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">
<h2>We Secured Your Line</h2>
<p>Below is a sample page for your cart , Created using pages design UI Elementes</p>
<p class="small hint-text">Below is a sample page for your cart , Created using pages design
UI Elementes</p>
<table class="table table-condensed">
<tr>
<td class=" col-md-9">
<span class="m-l-10 font-montserrat fs-11 all-caps">Webarch UI Framework</span>
<span class="m-l-10 ">Dashboard UI Pack</span>
</td>
<td class=" col-md-3 text-right">
<span>Qty 1</span>
</td>
</tr>
<tr>
<td class=" col-md-9">
<span class="m-l-10 font-montserrat fs-11 all-caps">Pages UI Framework</span>
<span class="m-l-10 ">Next Gen UI Pack</span>
</td>
<td class=" col-md-3 text-right">
<span>Qty 1</span>
</td>
</tr>
<tr>
<td colspan="2" class=" col-md-3 text-right">
<h4 class="text-primary no-margin font-montserrat">$27</h4>
</td>
</tr>
</table>
<p class="small">Invoice are issued on the date of despatch. Payment terms: Pre-orders:
within 10 days of invoice date with 4% discount, from the 11th to the 30th day net.
Re-orders: non-reduced stock items are payable net after 20 days. </p>
<p class="small">By pressing Pay Now You will Agree to the Payment <a href="#">Terms &amp;
Conditions</a></p>
</div>
</div>
<div class="col-md-7">
<div class="padding-30 sm-padding-5">
</div>
</div>
</div>
</div>
<div class="padding-20 sm-padding-5 sm-m-b-20 sm-m-t-20 bg-white clearfix">
{# <ul class="pager wizard no-style">
<li class="next">
<button aria-label="" class="btn btn-primary btn-cons btn-animated from-left pull-right"
type="button">
<span>Je crée mon annonce</span>
<span class="hidden-block">
<i class="material-icons fs-16">local_shipping</i>
</span>
</button>
</li>
<li class="next finish hidden">
<button aria-label="" class="btn btn-primary btn-cons btn-animated from-left pull-right"
type="button">
<span>Finish</span>
<span class="hidden-block">
<i class="material-icons fs-16">settings</i>
</span>
</button>
</li>
<li class="previous first hidden">
<button aria-label="" class="btn btn-default btn-cons btn-animated from-left pull-right"
type="button">
<span>First</span>
<span class="hidden-block">
<i class="material-icons fs-16">settings</i>
</span>
</button>
</li>
<li class="previous">
<button aria-label="" class="btn btn-default btn-cons btn-animated from-left pull-right"
type="button">
<span>Previous</span>
<span class="hidden-block">
<i class="material-icons fs-14">settings</i>
</span>
</button>
</li>
</ul> #}
</div>
<div class="wizard-footer padding-20 bg-contrast-low">
<p class="small hint-text pull-left no-margin">
</p>
<div class="pull-right">
</div>
<div class="clearfix"></div>
</div>
</div>
</div>
</div>
<!-- END CONTAINER FLUID -->
{% endblock %}
@@ -1,29 +1,236 @@
{% extends 'company/base_dashboard_company.html.twig' %}
{# {% extends 'company/base_dashboard_company.html.twig' %} #}
{% extends 'admin/base_dashboard.html.twig' %}
{% block dashContent %}
<div class="row bg-bordered p-0">
{% include 'company/ad_steps.html.twig' with {'tab':1} %}
<div class="p-20">
{% if form_errors(form) %}
<div class="card-panel">
<span class="red-text text-darken-2">
{{ form_errors(form) }}
</span>
</div>
{% endif %}
{{ form_start(form) }}
{{ form_rest(form) }}
<br/>
{% if type is defined and type == "soft" %}
<button class="btn btn-default" type="submit">Enregistrer</button>
{% else %}
<button class="btn btn-default" type="submit">Etape suivante</button>
{% endif %}
{{ form_end(form) }}
<!-- START JUMBOTRON -->
<div class="jumbotron" data-pages="parallax">
<div class=" container-fluid container-fixed-lg sm-p-l-0 sm-p-r-0">
<div class="inner">
<!-- START BREADCRUMB -->
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="/">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 -->
<!-- START CONTAINER FLUID -->
<div class=" container-fluid container-fixed-lg">
<div id="rootwizard" class="m-t-50">
{% include 'company/ad_stepsV2.html.twig' with {'tab':1} %}
<div class="tab-content">
<div class="tab-pane padding-20 sm-no-padding active slide-left" id="tab1">
<div class="row row-same-height">
<div class="col-md-5 b-r b-dashed b-grey sm-b-b">
<div class="padding-30 sm-padding-5 sm-m-t-15 m-t-50">
<i class="material-icons hint-text">shopping_cart</i>
<h2>Etape 1 : Je crée/modifie une annonce</h2>
<p>Pour trouver le bon profil, renseignez et personnalisez votre annonce.
Plus votre annonce est précise et attractive, plus les candidatures seront ciblées.
Afin de créer votre annonce, renseignez lensemble des champs relatifs au poste proposé.</p>
{# <p class="small hint-text">Below is a sample page for your cart , Created using pages design
UI Elementes</p> #}
</div>
</div>
<div class="col-md-7">
<div class="padding-30 sm-padding-5">
{{ form_start(form, {'attr': {'class': 'form-horizontal'}}) }}
<table class="table table-condensed form-horizontal">
<tr>
<td class="col-lg-12 col-md-12 col-sm-12 ">
{% if form_errors(form) %}
<span class="red-text text-darken-2">{{ form_errors(form) }}</span>
{% endif %}
</td>
</tr>
<tr>
<td class="col-lg-12 col-md-12 col-sm-12 ">
{% if form.reference is defined%}
{{ form_row(form.reference) }}
{% endif %}
</td>
</tr>
<tr>
<td class="col-lg-12 col-md-12 col-sm-12 ">
{% if form.title is defined%}
{{ form_row(form.title) }}
{% endif %}
</td>
</tr>
<tr>
<td class="col-lg-12 col-md-12 col-sm-12">
{{ form_row(form.beneficiaire) }}
</td>
</tr>
<tr>
<td class="col-lg-12 col-md-12 col-sm-12">
{{ form_row(form.location_gmap) }}
{{ form_row(form.location) }}
</td>
</tr>
<tr>
<td class="col-lg-12 col-md-12 col-sm-12">
{{ form_row(form.description) }}
</td>
</tr>
<tr>
<td class="col-lg-12 col-md-12 col-sm-12">
{{ form_row(form.contract_type) }}
</td>
</tr>
<tr>
<td class="col-lg-12 col-md-12 col-sm-12">
{{ form_row(form.publicTag) }}
</td>
</tr>
<tr>
<td class="col-lg-12 col-md-12 col-sm-12">
{{ form_row(form.status) }}
</td>
</tr>
<tr>
<td class="col-lg-12 col-md-12 col-sm-12 ">
<button aria-label="" type="submit" class="btn btn-primary btn-cons btn-animated from-left pull-right"
type="button">
<span>Je crée mon annonce</span>
<span class="hidden-block">
<i class="material-icons fs-16">local_shipping</i>
</span>
</button>
{# <button class="btn btn-default" type="submit">Je crée mon annonce!</button> #}
</td>
</tr>
</table>
{{ form_end(form) }}
</div>
</div>
</div>
</div>
<div class="tab-pane slide-left padding-20 sm-no-padding disabled" id="tab2">
<div class="row row-same-height">
<div class="col-md-5 b-r b-dashed b-grey ">
<div class="padding-30 sm-padding-5 sm-m-t-15 m-t-50">
</div>
</div>
<div class="col-md-7">
<div class="padding-30 sm-padding-5">
</div>
</div>
</div>
</div>
<div class="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">
<h2>We Secured Your Line</h2>
<p>Below is a sample page for your cart , Created using pages design UI Elementes</p>
<p class="small hint-text">Below is a sample page for your cart , Created using pages design
UI Elementes</p>
<table class="table table-condensed">
<tr>
<td class=" col-md-9">
<span class="m-l-10 font-montserrat fs-11 all-caps">Webarch UI Framework</span>
<span class="m-l-10 ">Dashboard UI Pack</span>
</td>
<td class=" col-md-3 text-right">
<span>Qty 1</span>
</td>
</tr>
<tr>
<td class=" col-md-9">
<span class="m-l-10 font-montserrat fs-11 all-caps">Pages UI Framework</span>
<span class="m-l-10 ">Next Gen UI Pack</span>
</td>
<td class=" col-md-3 text-right">
<span>Qty 1</span>
</td>
</tr>
<tr>
<td colspan="2" class=" col-md-3 text-right">
<h4 class="text-primary no-margin font-montserrat">$27</h4>
</td>
</tr>
</table>
<p class="small">Invoice are issued on the date of despatch. Payment terms: Pre-orders:
within 10 days of invoice date with 4% discount, from the 11th to the 30th day net.
Re-orders: non-reduced stock items are payable net after 20 days. </p>
<p class="small">By pressing Pay Now You will Agree to the Payment <a href="#">Terms &amp;
Conditions</a></p>
</div>
</div>
<div class="col-md-7">
<div class="padding-30 sm-padding-5">
</div>
</div>
</div>
</div>
<div class="padding-20 sm-padding-5 sm-m-b-20 sm-m-t-20 bg-white clearfix">
{# <ul class="pager wizard no-style">
<li class="next">
<button aria-label="" class="btn btn-primary btn-cons btn-animated from-left pull-right"
type="button">
<span>Je crée mon annonce</span>
<span class="hidden-block">
<i class="material-icons fs-16">local_shipping</i>
</span>
</button>
</li>
<li class="next finish hidden">
<button aria-label="" class="btn btn-primary btn-cons btn-animated from-left pull-right"
type="button">
<span>Finish</span>
<span class="hidden-block">
<i class="material-icons fs-16">settings</i>
</span>
</button>
</li>
<li class="previous first hidden">
<button aria-label="" class="btn btn-default btn-cons btn-animated from-left pull-right"
type="button">
<span>First</span>
<span class="hidden-block">
<i class="material-icons fs-16">settings</i>
</span>
</button>
</li>
<li class="previous">
<button aria-label="" class="btn btn-default btn-cons btn-animated from-left pull-right"
type="button">
<span>Previous</span>
<span class="hidden-block">
<i class="material-icons fs-14">settings</i>
</span>
</button>
</li>
</ul> #}
</div>
<div class="wizard-footer padding-20 bg-contrast-low">
<p class="small hint-text pull-left no-margin">
</p>
<div class="pull-right">
</div>
<div class="clearfix"></div>
</div>
</div>
</div>
</div>
<!-- END CONTAINER FLUID -->
{% endblock %}
@@ -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,172 @@
<table id="ads-table" class="bordered highlight responsive-table">
<thead>
<tr>
<th>{{ 'ad.company.list.title'|trans }}</th>
<th class="tdCount">{{ 'ad.company.list.answers'|trans }}</th>
<th class="tdCount">{{ 'ad.company.list.views'|trans }}</th>
<th>{{ 'ad.company.list.status'|trans }}</th>
<th>{{ 'ad.company.list.actions'|trans }}</th>
</tr>
</thead>
<tbody>
{% for ad in ads %}
<tr>
<td>
{% if ad.countAnswers > 0 %}
<a href="{{ path('company_ad_answer_list',{'id':ad.id}) }}">
{{ ad.title }}
</a>
{% else %}
{{ ad.title }}
{% endif %}
</td>
<td class="tdCount">
{% if ad.countAnswers > 0 %}
<a href="{{ path('company_ad_answer_list',{'id':ad.id}) }}">
<i class="fa fa-eye"></i>&nbsp; {{ ad.countAnswers }}
</a>
{% else %}
0
{% endif %}
</td>
<td class="tdCount">
{% if arrayByAds is defined %}
{{ arrayByAds[ad.id]["count"] }}
{% endif %}
</td>
<td align="center" valign="center">
{% if ad.getStatus() == "DECLINED" %}
<div class="tooltipped" data-position="top" data-delay="50" data-tooltip="{{ ad.moderationText }}">
<span class="">{{ ad.getStatus()|trans }}</span>
<i class="c-pointer fa fa-info-circle color-red" aria-hidden="true"></i>
<!-- START JUMBOTRON -->
<div class="jumbotron" data-pages="parallax">
<div class=" container-fluid container-fixed-lg sm-p-l-0 sm-p-r-0">
<div class="inner">
<!-- START BREADCRUMB -->
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="#">Accueil</a></li>
<li class="breadcrumb-item active">Offres d'emploi</li>
</ol>
<!-- END BREADCRUMB -->
<div class="row">
<div class="col-xl-12 col-lg-12 ">
<!-- START card -->
<div class="card card-transparent">
<div class="card-header ">
</div>
{% else %}
<span class="">{{ ad.getStatus()|trans }}</span>
{% endif %}
</td>
<td>
{% if ad.getStatus() == "DRAFT" or ad.getStatus() == "DECLINED" %}
{#Edit#}
<a class="tooltipped td-none" data-position="top" data-delay="0" data-tooltip="{{ 'ad.company.edit.label'|trans }}" href="{{ path('company_ad_edit', { 'id': ad.id }) }}" style="margin-right: 10px">
<i class="fa fa-pencil-square-o" aria-hidden="true"></i>
</a>
{% else %}
{#Soft Edit#}
<a class="tooltipped td-none" data-position="top" data-delay="0" data-tooltip="{{ 'ad.company.edit.label'|trans }}" href="{{ path('company_ad_soft_edit', { 'id': ad.id }) }}" style="margin-right: 10px">
<i class="fa fa-pencil-square-o" aria-hidden="true"></i>
</a>
{% endif %}
<div class="card-body">
{% if ad.getStatus() == "DRAFT" or ad.getStatus() == "DECLINED" %}
{#Video#}
<a class="tooltipped td-none" data-position="top" data-delay="0" data-tooltip="{{ 'ad.company.video.edit.label'|trans }}" href="{{ path('create_media', { 'id': ad.id }) }}">
<i class="fa fa-video-camera" aria-hidden="true"></i>
</a>
{% endif %}
<a class="btn-square" target="_self" href="{{ path('company_ad_create') }}">
<button aria-label=""
class="btn btn-primary btn-cons">{{ 'ad.company.add.label'|trans }}</button>
</a>
</div>
</div>
<!-- END card -->
</div>
</div>
</div>
</div>
</div>
<!-- END JUMBOTRON -->
{% if ad.getStatus() == "PUBLISHED" %}
{#Extension#}
<a class="tooltipped td-none" data-position="top" data-delay="0" data-tooltip="{{ 'ad.company.dates.extension.label'|trans }}" href="{{ path('company_ad_extension', { 'id': ad.id }) }}" style="margin-right: 10px">
<i class="fa fa-calendar" aria-hidden="true"></i>
</a>
{#Force ending#}
<a class="tooltipped td-none" data-position="top" data-delay="0" data-tooltip="{{ 'ad.company.closed.label'|trans }}" href="{{ path('company_ad_closed', { 'id': ad.id }) }}" style="margin-right: 10px">
<i class="fa fa-window-close-o" aria-hidden="true"></i>
</a>
{% endif %}
{% if ad.getStatus() == "TO_PUBLISH" or ad.getStatus() == "VALIDATED" or ad.getStatus() == "CLOSED" or ad.getStatus() == "EXPIRED" %}
{#Edit Dates#}
<a class="tooltipped td-none" data-position="top" data-delay="0" data-tooltip="{{ 'ad.company.dates.edit.label'|trans }}" href="{{ path('company_ad_step3', { 'id': ad.id }) }}" style="margin-right: 10px">
<i class="fa fa-calendar" aria-hidden="true"></i>
</a>
{% endif %}
</td>
</tr>
{% endfor %}
</tbody>
</table>
<!-- START CONTAINER FLUID -->
<div class=" container-fluid container-fixed-lg bg-white">
<!-- START card -->
<div class="card card-transparent">
<div class="card-header ">
<div class="card-title">Offres d'emploi
</div>
</div>
<div class="card-body">
<div class="table-responsive">
<table class="table table-hover" id="basicTable">
<thead>
<tr>
<!-- NOTE * : Inline Style Width For Table Cell is Required as it may differ from user to user
Comman Practice Followed
-->
<th style="width:20%">{{ 'ad.company.list.title'|trans }}</th>
<th style="width:20%">{{ 'ad.company.list.answers'|trans }}</th>
<th style="width:20%">{{ 'ad.company.list.views'|trans }}</th>
<th style="width:20%">{{ 'ad.company.list.status'|trans }}</th>
<th style="width:20%">{{ 'ad.company.list.actions'|trans }}</th>
</tr>
</thead>
<tbody>
{% for ad in ads %}
<tr>
<td class="v-align-middle ">
{% if ad.countAnswers > 0 %}
<a href="{{ path('company_ad_answer_list',{'id':ad.id}) }}">
{{ ad.title }}
</a>
{% else %}
{{ ad.title }}
{% endif %}
</td>
<td class="v-align-middle">
{% if ad.countAnswers > 0 %}
<a href="{{ path('company_ad_answer_list',{'id':ad.id}) }}">
<i class="fa fa-eye"></i>&nbsp; {{ ad.countAnswers }}
</a>
{% else %}
0
{% endif %}
</td>
<td class="v-align-middle">
{% if arrayByAds is defined %}
{{ arrayByAds[ad.id]["count"] }}
{% endif %}
</td>
<td class="v-align-middle">
{% if ad.getStatus() == "DECLINED" %}
<div class="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>
</div>
{% else %}
<span class="">{{ ad.getStatus()|trans }}</span>
{% endif %}
</td>
<td class="v-align-middle">
{% if ad.getStatus() == "DRAFT" or ad.getStatus() == "DECLINED" %}
{#Edit#}
<a class="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="pg-icon">pen</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="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="material-icons">
videocam
</i>
</a>
{% endif %}
{% if ad.getStatus() == "PUBLISHED" %}
{#Extension#}
{# ENLEVE LE 01/09 #}
{# <a class="tooltipped td-none" data-position="top" data-delay="0"
data-tooltip="{{ 'ad.company.dates.extension.label'|trans }}"
href="{{ path('company_ad_extension', { 'id': ad.id }) }}"
style="margin-right: 10px">
<i class="pg-icon">calendar</i>
</a> #}
{#Force ending#}
{# <a class="tooltipped td-none" data-position="top" data-delay="0"
data-tooltip="{{ 'ad.company.closed.label'|trans }}"
href="{{ path('company_ad_closed', { 'id': ad.id }) }}" style="margin-right: 10px">
<i class="material-icons">
close
</i>
</a> #}
{% endif %}
{% if ad.getStatus() == "TO_PUBLISH" or ad.getStatus() == "VALIDATED" or ad.getStatus() == "CLOSED" or ad.getStatus() == "EXPIRED" %}
{#Edit Dates#}
{# <a class="tooltipped td-none" data-position="top" data-delay="0"
data-tooltip="{{ 'ad.company.dates.edit.label'|trans }}"
href="{{ path('company_ad_step3', { 'id': ad.id }) }}" style="margin-right: 10px">
<i class="material-icons">
close
</i>
</a> #}
{% endif %}
</td>
</tr>
{% endfor %}
{% if ads|length == 0 %}
<tr><th colspan="5" class="text-center">Aucune offre pour le moment</th></tr>
{% endif %}
</tbody>
</table>
</div>
</div>
</div>
<!-- END card -->
</div>
<!-- END CONTAINER FLUID -->
@@ -1,86 +1,148 @@
{% extends 'company/base_dashboard_company.html.twig' %}
{# {% extends 'company/base_dashboard_company.html.twig' %} #}
{% extends 'admin/base_dashboard.html.twig' %}
{% block dashContent %}
{% include 'company/job_submenu.html.twig' with {'tab' : 2} %}
<div class="row bg-bordered p-20">
<div class="col s12">
<h4 class="title-table">{{ 'company.menu.answers.label'|trans }}</h4>
<!-- START JUMBOTRON -->
<div class="jumbotron" data-pages="parallax">
<div class=" container-fluid container-fixed-lg sm-p-l-0 sm-p-r-0">
<div class="inner">
<!-- START BREADCRUMB -->
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="#">Accueil</a></li>
<li class="breadcrumb-item active">Candidatures</li>
</ol>
<!-- END BREADCRUMB -->
</div>
<div id="reponses" class="col s12">
<table id="table-answers" class="bordered highlight responsive-table">
</div>
</div>
<!-- END JUMBOTRON -->
<!-- START CONTAINER FLUID -->
<div class=" container-fluid container-fixed-lg bg-white">
<!-- START card -->
<div class="card card-transparent">
<div class="card-header ">
<div class="card-title">Candidatures
</div>
</div>
<div class="card-body">
<div class="table-responsive" id="reponses">
<table class="table table-hover" id="basicTable">
<thead>
<tr>
<th>{{ 'profile.talent.lastname'|trans }} {{ 'profile.talent.firstname'|trans }}</th>
<th>{{ 'global.datereception.label'|trans }}</th>
<th>{{ 'ad.company.list.title'|trans }}</th>
<th class="center-align">{{ 'ad.company.list.actions'|trans }}</th>
</tr>
<tr>
<!-- NOTE * : Inline Style Width For Table Cell is Required as it may differ from user to user
Comman Practice Followed
-->
<th style="width:25%">{{ 'profile.talent.lastname'|trans }}
{{ 'profile.talent.firstname'|trans }}</th>
<th style="width:25%">{{ 'global.datereception.label'|trans }}</th>
<th style="width:25%">{{ 'ad.company.list.title'|trans }}</th>
<th style="width:25%" class="center-align">{{ 'ad.company.list.actions'|trans }}</th>
</tr>
</thead>
<tbody>
{% for answer in answers %}
{% for answer in answers %}
<tr>
<td>
<a href="{{ path('company_answer_show',{'id':answer.id }) }}">{{ answer.user.lastname }} {{ answer.user.firstname }}</a>
<a href="{{ path('company_answer_show',{'id':answer.id }) }}">{{ answer.user.lastname }}
{{ answer.user.firstname }}</a>
</td>
<td>{{ answer.sendTime()|date('d/m/Y') }}</td>
<td>{{ answer.ad.title }}</td>
<td class="center-align">
<a title="{{answer.ad.title}}" href="{{ path('company_answer_show',{'id':answer.id }) }}">
<i class="fa fa-eye"></i>
<a title="{{answer.ad.title}}"
href="{{ path('company_answer_show',{'id':answer.id }) }}">
<i class="pg-icon">eye</i>
</a>
<a href="#" class="note-action c-pointer" data-func="add" data-answer="{{ answer.id }}">
<i class="fa fa-sticky-note"></i>
<i class="pg-icon">note</i>
</a>
{% for note in answer.notes %}
<a class="tooltipped note-action c-pointer" data-position="top" data-delay="50"
data-tooltip="{{ note.content }}" data-note="{{ note.id }}" data-func="edit">
<i class="fa fa-commenting" aria-hidden="true"></i>
</a>
<a class="tooltipped note-action c-pointer" data-position="top" data-delay="50"
data-tooltip="{{ note.content }}" data-note="{{ note.id }}" data-func="edit">
<i class="pg-icon">comment</i>
</a>
{% endfor %}
</td>
</tr>
{% endfor %}
{% endfor %}
{% if answers|length == 0 %}
<th colspan="4" class="text-center">Aucune candidature pour le moment</th>
{% endif %}
</tbody>
</table>
</div>
</div>
<div class="row bg-bordered p-20">
<div class="col s12">
<h4 class="title-table">{{ 'company.menu.spontaneous.label'|trans }}</h4>
</div>
<!-- END card -->
</div>
<!-- END CONTAINER FLUID -->
<!-- START CONTAINER FLUID -->
<div class=" container-fluid container-fixed-lg bg-white">
<!-- START card -->
<div class="card card-transparent">
<div class="card-header ">
<div class="card-title">Candidatures spontanées
</div>
<div id="spontaneous" class="col s12">
<table id="table-answers" class="bordered highlight responsive-table">
</div>
<div class="card-body">
<div class="table-responsive" id="spontaneous">
<table class="table table-hover" id="basicTable">
<thead>
<tr>
<th>{{ 'profile.talent.lastname'|trans }} {{ 'profile.talent.firstname'|trans }}</th>
<th>{{ 'global.datereception.label'|trans }}</th>
<th class="center-align">{{ 'ad.company.list.actions'|trans }}</th>
</tr>
<tr>
<!-- NOTE * : Inline Style Width For Table Cell is Required as it may differ from user to user
Comman Practice Followed
-->
<th style="width:33%">{{ 'profile.talent.lastname'|trans }}
{{ 'profile.talent.firstname'|trans }}</th>
<th style="width:33%">{{ 'global.datereception.label'|trans }}</th>
<th style="width:33%" class="center-align">{{ 'ad.company.list.actions'|trans }}</th>
</tr>
</thead>
<tbody>
{% for answer in spontaneous %}
{% for answer in spontaneous %}
<tr>
<td>
<a href="{{ path('company_answer_show',{'id':answer.id }) }}">{{ answer.user.lastname }} {{ answer.user.firstname }}</a>
<a href="{{ path('company_answer_show',{'id':answer.id }) }}">{{ answer.user.lastname }}
{{ answer.user.firstname }}</a>
</td>
<td>{{ answer.sendTime()|date('d/m/Y') }}</td>
<td class="center-align">
<a title="" href="{{ path('company_answer_show',{'id':answer.id }) }}">
<i class="fa fa-eye"></i>
<i class="pg-icon">eye</i>
</a>
<a href="#" class="note-action c-pointer" data-func="add" data-answer="{{ answer.id }}">
<i class="fa fa-sticky-note"></i>
<i class="pg-icon">note</i>
</a>
{% for note in answer.notes %}
<a class="tooltipped note-action c-pointer" data-position="top" data-delay="50"
data-tooltip="{{ note.content }}" data-note="{{ note.id }}" data-func="edit">
<i class="fa fa-commenting" aria-hidden="true"></i>
</a>
<a class="tooltipped note-action c-pointer" data-position="top" data-delay="50"
data-tooltip="{{ note.content }}" data-note="{{ note.id }}" data-func="edit">
<i class="pg-icon">comment</i>
</a>
{% endfor %}
</td>
</tr>
{% endfor %}
{% endfor %}
{% if answers|length == 0 %}
<tr><th colspan="3" class="text-center">Aucune candidature pour le moment</th></tr>
{% endif %}
</tbody>
</table>
</div>
</div>
<div id="note-modal"></div>
{% endblock %}
</div>
<!-- END card -->
</div>
<!-- END CONTAINER FLUID -->
<div id="note-modal"></div>
{% endblock %}
@@ -0,0 +1,343 @@
{# {% extends 'company/base_dashboard_company.html.twig' %} #}
{% extends 'admin/base_dashboard.html.twig' %}
{% block dashContent %}
{# {% if type == "spontaneous" %}
{% include 'company/job_submenu.html.twig' with {
'tab' : 3
} %}
{% else %}
{% include 'company/job_submenu.html.twig' with {
'tab' : 2
} %}
{% endif %} #}
<!-- START JUMBOTRON -->
<div class="jumbotron" data-pages="parallax">
<div class=" container-fluid container-fixed-lg sm-p-l-0 sm-p-r-0">
<div class="inner">
<!-- START BREADCRUMB -->
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="#">Accueil</a></li>
<li class="breadcrumb-item ">Candidatures!</li>
<li class="breadcrumb-item active"><a
href="{{ path('company_ad_answer_list',{'id':answer.ad.id}) }}">{{ answer.ad.title }}</a>
</li>
</ol>
<!-- END BREADCRUMB -->
</div>
</div>
</div>
<!-- END JUMBOTRON -->
<div class="col-lg-12">
<div class="card card-borderless">
<ul class="nav nav-tabs nav-tabs-simple" role="tablist" data-init-reponsive-tabs="dropdownfx">
<li class="nav-item">
<a class="active" data-toggle="tab" role="tab" data-target="#candidature" href="#"
id="candidatureLien">Candidature</a>
</li>
<li class="nav-item">
<a href="#" data-toggle="tab" role="tab" data-target="#messagerieVideo"
id="messagerieVideoLien">Messagerie vidéo</a>
</li>
<li class="nav-item">
<a href="#" data-toggle="tab" role="tab" data-target="#messagerie"
id="messagerieLien">Messagerie texte</a>
</li>
<li class="nav-item">
<a href="#" data-toggle="tab" role="tab" data-target="#comment" id="commentLien">Commentaire</a>
</li>
</ul>
<div class="tab-content">
<!-- ========== bloc candidature ========== -->
{% include 'company/answer_show_candidature.html.twig' %}
<!-- ========== bloc message video ========== -->
{% include 'company/answer_show_message_video.html.twig' %}
<!-- ========== bloc message texte ========== -->
{% include 'company/answer_show_message_texte.html.twig' %}
<!-- ========== bloc commentaire ========== -->
{% include 'company/answer_show_comment.html.twig' %}
</div>
</div>
</div>
<p><br />&nbsp;</p>
<p><br />&nbsp;</p>
<p><br />&nbsp;</p>
<p><br />&nbsp;</p>
<p><br />&nbsp;</p>
<div class="card card-borderless">
<div class="row bg-bordered p-20">
{% include 'company/ad_breadcrumb.html.twig' with {'step': 3,'ad': answer.ad,'firstname':answer.user.firstname ,'lastname':answer.user.lastname} %}
<div class="col s12 m6">
<div id="mini-profil-block">
<a target="_blank" href="{{ path('talent_show',{'alias':answer.user.company.alias} ) }}">
{% include 'talent/talent_picture.html.twig' with {
'user' : answer.user
} %}
</a>
<div>
<div class="mini-profil-picture-name">
<a target="_blank" href="{{ path('talent_show',{'alias':answer.user.company.alias} ) }}">
{{ answer.user.firstname }} {{ answer.user.lastname }}
&nbsp;<i class="fa fa-user-circle"></i>
</a>
</div>
<div>Recu le {{ answer.sendTime|date('d/m/Y') }}</div>
</div>
</div>
<div class="embed-responsive embed-responsive-16by9">
<iframe src="https://player.vimeo.com/video/{{ answer.video.cdnUrl|replace({ "/videos/": ""}) }}"
width="100%" height="auto" frameborder="0" webkitallowfullscreen mozallowfullscreen
allowfullscreen></iframe>
</div>
</div>
<div class="col s12 m6">
{% if answer.comment %}
<strong>{% trans %}label.message{% endtrans %}</strong>
<p class="message-answer">{{ answer.comment }}</p>
{% else %}
{% trans %}label.noMessage{% endtrans %}
{% endif %}
</div>
<div class="col s12">
<h4 class="no-margin-top bordered">Contacter {{ answer.user.firstname }} {{ answer.user.lastname }} par :
</h4>
</div>
<div class="col s12 col-actions">
<a class="btn btn-default btn-active bnt-choice-message" data-value="message">Message</a><a
class="btn btn-default bnt-choice-message" data-value="video">Vidéo</a>
</div>
<div class="col s12">
<div class="col-bordered">
<div class="blockanswer blockanswer-video">
<a class="btn btn-default bnt-choice-video" data-value="webcam" href="#">Enregistrer une vidéo</a>
<a class="btn btn-default bnt-choice-video" data-value="upload" href="#">Importer une vidéo</a>
<a class="btn btn-default bnt-choice-video" data-value="videotheque" ref="#">Choisir depuis la
videothèque</a>
</div>
<div class="blockanswer blockanswer-message">
<div class="sender">De : {{ app.user.firstname }} {{ app.user.lastname }}</div>
{{ form_start(form) }}
{{ form_rest(form) }}
<div class="bottom-form">
<button type="submit" class="btn btn-default disabled">Envoyer</button>
</div>
{{ form_end(form) }}
</div>
{{ form_start(formVideo) }}
<div id="blockanswer-video-webcam" class="panel-hide">
{% include 'message/message_create_webcam.twig' %}
</div>
<div id="blockanswer-video-upload" class="panel-hide">
{% include 'message/message_create_import.twig' %}
</div>
<div id="blockanswer-video-videotheque" class="panel-hide">
{% include 'message/message_create_videotheque.twig' %}
</div>
<div id="validFormVideo" class="panel-hide">
{{ form_widget(formVideo._token, { 'id': 'token_video' }) }}
{{ form_widget(formVideo.status, { 'id': 'contact_talent_status_video' }) }}
{{ form_rest(formVideo) }}
<div class="bottom-form">
<button type="submit" class="btn btn-default disabled">Envoyer</button>
</div>
</div>
{{ form_end(formVideo) }}
</div>
</div>
<div class="col s12">
<h4 class="no-margin-top bordered">{% trans %}label.answer.history.title{% endtrans %}</h4>
</div>
<div class="col s12">
{% if answer.messages %}
{% for message in answer.messages if message.status != "DRAFT" %}
{% set class = '' %}
{% if loop.index > 1 %}
{% set class = 'history-hidden' %}
{% endif %}
<div class="blockanswer-answer {{class}}">
<div class="title-answer">
{% trans %}label.answer{% endtrans %}{{ message.status|trans }}
<span
class="date-answer">{% trans %}label.sended{% endtrans %}{{ message.uTime|date('d-m-Y') }}</span>
</div>
<div class="description-answer">
{% if message.video %}
<div class="embed-responsive embed-responsive-16by9">
<iframe
src="https://player.vimeo.com/video/{{ message.video.cdnUrl|replace({ "/videos/": ""}) }}"
width="100%" height="300" frameborder="0" webkitallowfullscreen mozallowfullscreen
allowfullscreen></iframe>
</div>
{% endif %}
{{ message.content|nl2br }}
</div>
</div>
{% endfor %}
{% endif %}
</div>
<div class="col s12 center-align m-t-30">
<a class="bnt btn-round btn-grey-2 link-history-more" href="#"
title="{% trans %}label.history.link{% endtrans %}">{% trans %}label.history.link{% endtrans %}</a>
</div>
</div>
{% endblock %}
{% block javascripts %}
{{ parent() }}
<script type="text/javascript">
var urlDropzone = '{{ path("upload_media_message", {"id": message.getId()}) }}';
var urlDelete = '{{ path("delete_media_message", {"id": message.getId() }) }}'
var idObject = null;
var typeObject = "answer";
var videoExist = false;
</script>
<script src="{{ asset('/js/dropzone.js') }}"></script>
<script src="{{ asset('/js/vendors/video.min.js') }}"></script>
<script src="{{ asset('/js/vendors/RecordRTC.js') }}"></script>
<script src="{{ asset('/js/vendors/videojs.record.js') }}"></script>
<script src="{{ asset('/js/vendors/jquery.browser.min.js') }}"></script>
<script src="{{ asset('/js/vendors/readmore.min.js') }}"></script>
<script src="{{ asset('/js/answer.js') }}"></script>
<script type="text/javascript">
$(".card-action").click(function () {
var idVideo = $(this).data("id");
var titleVideo = $(this).data("title");
var imgVideo = $(this).data("img");
var urlVideo = $(this).data("url");
var elem = $(this);
form['contact_talent_video'] = 1;
$.ajax({
type: 'POST',
url: '{{ path("link_media_message", {"id": message.getId()}) }}',
data: "idVideo=" + idVideo,
dataType: 'html',
success: function (response) {
$(".card-action").removeClass('active');
elem.addClass('active');
Materialize.toast('Vidéo bien associé à la réponse', 4000);
if ($("#submit").hasClass('disabled')) {
$("#submit").removeClass('disabled');
$("#submit").addClass('pulse');
}
},
error: function (response, xhr, ajaxOptions, thrownError) {
Materialize.toast('Erreur lors de l\'association de la vidéo!', 4000);
}
});
});
$('.bnt-choice-message').on('click', function () {
var type = $(this).data('value');
$('.bnt-choice-message').removeClass('btn-active');
$('.bnt-choice-video').removeClass('active');
$(this).addClass('btn-active');
$(".panel-hide").removeClass('active');
$(".panel-hide").stop().fadeOut();
$('.blockanswer').stop().fadeOut('normal', function () {
$('.blockanswer-' + type).stop().fadeIn();
if (type == 'video') {
$('.bnt-choice-video:first').click();
}
});
});
$('.blockanswer-video').css('display', 'none');
$('.bnt-choice-video').on('click', function (e) {
e.preventDefault();
var type = $(this).data('value');
$('.bnt-choice-video').removeClass('active');
$(this).addClass('active');
$(".panel-hide").removeClass('active');
$('#blockanswer-video-' + type).addClass('active');
$(".panel-hide").not(".active").stop().fadeOut('normal', function () {
$('#blockanswer-video-' + type).stop().fadeIn('fast');
if (type == "webcam") {
$('#blockanswer-video-upload').stop().fadeIn('fast');
}
$('#validFormVideo').stop().fadeIn('fast');
});
});
$('.link-history-more').on('click', function (e) {
e.preventDefault();
$('.history-hidden').fadeIn();
$(this).fadeOut();
});
document.getElementsByName("contact_talent[message]")[0].addEventListener('change', verifySubmitButton);
$('#contact_talent_status').on('change', verifySubmitButton);
var form = [];
form['contact_talent_message'] = 0;
form['contact_talent_video'] = 0;
form['contact_talent_status_video'] = 0;
form['contact_talent_status'] = 0;
function verifySubmitButton() {
if (this.value && this.value != 0) {
form[this.id] = 1;
} else {
form[this.id] = 0;
}
if (form['contact_talent_message'] + form['contact_talent_status'] >= 2) {
$('.blockanswer-message .btn').removeClass('disabled');
} else {
$('.blockanswer-message .btn').addClass('disabled');
}
}
$('#contact_talent_status_video').on('change', verifyVideoSubmitButton);
function verifyVideoSubmitButton() {
if (this.value && this.value != 0) {
form[this.id] = 1;
} else {
form[this.id] = 0;
}
if (form['contact_talent_video'] + form['contact_talent_status_video'] >= 2) {
$('#validFormVideo .btn').removeClass('disabled');
} else {
$('#validFormVideo .btn').addClass('disabled');
}
}
$('.message-answer').readmore({
speed: 75,
lessLink: '<a href="#" class="link-message-more">Fermer</a>',
moreLink: '<a href="#" class="link-message-more">{% trans %}label.link.readmore{% endtrans %}</a>',
blockProcessed: function (element, collapsable) {
console.log(element);
console.log(collapsable);
if (collapsable == false) {
$('.message-answer').readmore('destroy');
}
}
});
function changerActive(tabActive) {
$("#comment").removeClass("active");
$("#candidature").removeClass("active");
$("#messagerieVideo").removeClass("active");
$("#messagerie").removeClass("active");
$("#commentLien").removeClass("active");
$("#candidatureLien").removeClass("active");
$("#messagerieVideoLien").removeClass("active");
$("#messagerieLien").removeClass("active");
$("#" + tabActive).addClass("active");
$("#" + tabActive + "Lien").addClass("active");
}
</script>
{% endblock %}
@@ -1,8 +1,8 @@
{% extends 'company/base_dashboard_company.html.twig' %}
{# {% extends 'company/base_dashboard_company.html.twig' %} #}
{% extends 'admin/base_dashboard.html.twig' %}
{% block dashContent %}
{% if type == "spontaneous" %}
{# {% if type == "spontaneous" %}
{% include 'company/job_submenu.html.twig' with {
'tab' : 3
} %}
@@ -10,244 +10,229 @@
{% include 'company/job_submenu.html.twig' with {
'tab' : 2
} %}
{% endif %}
<div class="row bg-bordered p-20">
{% include 'company/ad_breadcrumb.html.twig' with {'step': 3,'ad': answer.ad,'firstname':answer.user.firstname ,'lastname':answer.user.lastname} %}
<div class="col s12 m6">
<div id="mini-profil-block">
<a target="_blank" href="{{ path('talent_show',{'alias':answer.user.company.alias} ) }}">
{% include 'talent/talent_picture.html.twig' with {
'user' : answer.user
} %}
</a>
<div>
<div class="mini-profil-picture-name">
<a target="_blank" href="{{ path('talent_show',{'alias':answer.user.company.alias} ) }}">
{{ answer.user.firstname }} {{ answer.user.lastname }}
&nbsp;<i class="fa fa-user-circle"></i>
</a>
</div>
<div>Recu le {{ answer.sendTime|date('d/m/Y') }}</div>
{% endif %} #}
<div class="page-content-wrapper ">
<!-- START PAGE CONTENT -->
<div class="content ">
<!-- START JUMBOTRON -->
<div class="jumbotron" data-pages="parallax">
<div class=" container-fluid container-fixed-lg sm-p-l-0 sm-p-r-0">
<div class="inner">
<!-- START BREADCRUMB -->
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="#">Accueil</a></li>
<li class="breadcrumb-item "><a href="{{ path('company_answer_list') }}">Candidatures</a></li>
<li class="breadcrumb-item"><a
href="{{ path('company_ad_answer_list',{'id':answer.ad.id}) }}">{{ answer.ad.title }}
</a>
</li>
<li class="breadcrumb-item active"><a href="#"> candidat {{ answer.user.firstname }}
{{ answer.user.lastname }}</a>
</li>
</ol>
<!-- END BREADCRUMB -->
</div>
</div>
<div 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>
<!-- 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>
<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>
</div>
{% endblock %}
{% block javascripts %}
{{ parent() }}
<script type="text/javascript">
var urlDropzone = '{{ path("upload_media_message", {"id": message.getId()}) }}';
var urlDelete = '{{ path("delete_media_message", {"id": message.getId() }) }}'
var idObject = null;
var typeObject = "answer";
var videoExist = false;
</script>
<script src="{{ asset('/js/dropzone.js') }}"></script>
<script src="{{ asset('/js/vendors/video.min.js') }}"></script>
<script src="{{ asset('/js/vendors/RecordRTC.js') }}"></script>
<script src="{{ asset('/js/vendors/videojs.record.js') }}"></script>
<script src="{{ asset('/js/vendors/jquery.browser.min.js') }}"></script>
<script src="{{ asset('/js/vendors/readmore.min.js') }}"></script>
<script src="{{ asset('/js/answer.js') }}"></script>
<script type="text/javascript">
$(".card-action").click(function(){
var idVideo = $(this).data("id");
var titleVideo = $(this).data("title");
var imgVideo = $(this).data("img");
var urlVideo = $(this).data("url");
var elem = $(this);
form['contact_talent_video'] = 1;
$.ajax({
type: 'POST',
url: '{{ path("link_media_message", {"id": message.getId()}) }}',
data: "idVideo="+idVideo,
dataType: 'html',
success: function (response) {
$(".card-action").removeClass('active');
elem.addClass('active');
Materialize.toast('Vidéo bien associé à la réponse', 4000);
if($("#submit").hasClass('disabled')){
$("#submit").removeClass('disabled');
$("#submit").addClass('pulse');
}
},
error: function (response, xhr, ajaxOptions, thrownError) {
Materialize.toast('Erreur lors de l\'association de la vidéo!', 4000);
{{ parent() }}
<script type="text/javascript">
var urlDropzone = '{{ path("upload_media_message", {"id": message.getId()}) }}';
var urlDelete = '{{ path("delete_media_message", {"id": message.getId() }) }}'
var idObject = null;
var typeObject = "answer";
var videoExist = false;
</script>
<script src="{{ asset('/js/dropzone.js') }}"></script>
<script src="{{ asset('/js/vendors/video.min.js') }}"></script>
<script src="{{ asset('/js/vendors/RecordRTC.js') }}"></script>
<script src="{{ asset('/js/vendors/videojs.record.js') }}"></script>
<script src="{{ asset('/js/vendors/jquery.browser.min.js') }}"></script>
<script src="{{ asset('/js/vendors/readmore.min.js') }}"></script>
<script src="{{ asset('/js/answer.js') }}"></script>
<script src="{{ asset('/js/demo.js') }}"></script>
<script src="{{ asset('/js/scripts.js') }}"></script>
<script type="text/javascript">
$(".card-action").click(function () {
var idVideo = $(this).data("id");
var titleVideo = $(this).data("title");
var imgVideo = $(this).data("img");
var urlVideo = $(this).data("url");
var elem = $(this);
form['contact_talent_video'] = 1;
$.ajax({
type: 'POST',
url: '{{ path("link_media_message", {"id": message.getId()}) }}',
data: "idVideo=" + idVideo,
dataType: 'html',
success: function (response) {
$(".card-action").removeClass('active');
elem.addClass('active');
Materialize.toast('Vidéo bien associé à la réponse', 4000);
if ($("#submit").hasClass('disabled')) {
$("#submit").removeClass('disabled');
$("#submit").addClass('pulse');
}
});
});
$('.bnt-choice-message').on('click',function(){
var type = $(this).data('value');
$('.bnt-choice-message').removeClass('btn-active');
$('.bnt-choice-video').removeClass('active');
$(this).addClass('btn-active');
$(".panel-hide").removeClass('active');
$(".panel-hide").stop().fadeOut();
$('.blockanswer').stop().fadeOut('normal',function(){
$('.blockanswer-'+type).stop().fadeIn();
if(type == 'video'){
$('.bnt-choice-video:first').click();
}
});
});
$('.blockanswer-video').css('display','none');
$('.bnt-choice-video').on('click',function(e){
e.preventDefault();
var type = $(this).data('value');
$('.bnt-choice-video').removeClass('active');
$(this).addClass('active');
$(".panel-hide").removeClass('active');
$('#blockanswer-video-'+type).addClass('active');
$(".panel-hide").not(".active").stop().fadeOut('normal',function(){
$('#blockanswer-video-'+type).stop().fadeIn('fast');
if(type=="webcam"){
$('#blockanswer-video-upload').stop().fadeIn('fast');
}
$('#validFormVideo').stop().fadeIn('fast');
});
});
$('.link-history-more').on('click',function(e) {
e.preventDefault();
$('.history-hidden').fadeIn();
$(this).fadeOut();
});
document.getElementsByName("contact_talent[message]")[0].addEventListener('change', verifySubmitButton);
$('#contact_talent_status').on('change',verifySubmitButton);
var form = [];
form['contact_talent_message'] = 0;
form['contact_talent_video'] = 0;
form['contact_talent_status_video'] = 0;
form['contact_talent_status'] = 0;
function verifySubmitButton(){
if(this.value && this.value != 0){
form[this.id] = 1;
} else {
form[this.id] = 0;
},
error: function (response, xhr, ajaxOptions, thrownError) {
Materialize.toast('Erreur lors de l\'association de la vidéo!', 4000);
}
if(form['contact_talent_message'] + form['contact_talent_status'] >= 2){
$('.blockanswer-message .btn').removeClass('disabled');
} else {
$('.blockanswer-message .btn').addClass('disabled');
});
});
$('.bnt-choice-message').on('click', function () {
var type = $(this).data('value');
$('.bnt-choice-message').removeClass('btn-active');
$('.bnt-choice-video').removeClass('active');
$(this).addClass('btn-active');
$(".panel-hide").removeClass('active');
$(".panel-hide").stop().fadeOut();
$('.blockanswer').stop().fadeOut('normal', function () {
$('.blockanswer-' + type).stop().fadeIn();
if (type == 'video') {
$('.bnt-choice-video:first').click();
}
});
});
$('.blockanswer-video').css('display', 'none');
$('.bnt-choice-video').on('click', function (e) {
e.preventDefault();
var type = $(this).data('value');
$('.bnt-choice-video').removeClass('active');
$(this).addClass('active');
$(".panel-hide").removeClass('active');
$('#blockanswer-video-' + type).addClass('active');
$(".panel-hide").not(".active").stop().fadeOut('normal', function () {
$('#blockanswer-video-' + type).stop().fadeIn('fast');
if (type == "webcam") {
$('#blockanswer-video-upload').stop().fadeIn('fast');
}
$('#validFormVideo').stop().fadeIn('fast');
});
});
$('.link-history-more').on('click', function (e) {
e.preventDefault();
$('.history-hidden').fadeIn();
$(this).fadeOut();
});
document.getElementsByName("contact_talent[message]")[0].addEventListener('change', verifySubmitButton);
$('#contact_talent_status').on('change', verifySubmitButton);
var form = [];
form['contact_talent_message'] = 0;
form['contact_talent_video'] = 0;
form['contact_talent_status_video'] = 0;
form['contact_talent_status'] = 0;
function verifySubmitButton() {
if (this.value && this.value != 0) {
form[this.id] = 1;
} else {
form[this.id] = 0;
}
if (form['contact_talent_message'] + form['contact_talent_status'] >= 2) {
$('.blockanswer-message .btn').removeClass('disabled');
} else {
$('.blockanswer-message .btn').addClass('disabled');
}
}
$('#contact_talent_status_video').on('change', verifyVideoSubmitButton);
function verifyVideoSubmitButton() {
if (this.value && this.value != 0) {
form[this.id] = 1;
} else {
form[this.id] = 0;
}
if (form['contact_talent_video'] + form['contact_talent_status_video'] >= 2) {
$('#validFormVideo .btn').removeClass('disabled');
} else {
$('#validFormVideo .btn').addClass('disabled');
}
}
$('.message-answer').readmore({
speed: 75,
lessLink: '<a href="#" class="link-message-more">Fermer</a>',
moreLink: '<a href="#" class="link-message-more">{% trans %}label.link.readmore{% endtrans %}</a>',
blockProcessed: function (element, collapsable) {
console.log(element);
console.log(collapsable);
if (collapsable == false) {
$('.message-answer').readmore('destroy');
}
}
});
$('#contact_talent_status_video').on('change',verifyVideoSubmitButton);
function verifyVideoSubmitButton(){
if(this.value && this.value != 0){
form[this.id] = 1;
} else {
form[this.id] = 0;
}
if(form['contact_talent_video'] + form['contact_talent_status_video'] >= 2){
$('#validFormVideo .btn').removeClass('disabled');
} else {
$('#validFormVideo .btn').addClass('disabled');
}
}
$('.message-answer').readmore({
speed: 75,
lessLink: '<a href="#" class="link-message-more">Fermer</a>',
moreLink: '<a href="#" class="link-message-more">{% trans %}label.link.readmore{% endtrans %}</a>',
blockProcessed: function(element,collapsable){
console.log(element);
console.log(collapsable);
if(collapsable == false){
$('.message-answer').readmore('destroy');
}
}
});
</script>
function changerActive(tabActive) {
//$("#comment").removeClass("active");
$("#candidature").removeClass("active");
$("#messagerieVideo").removeClass("active");
$("#messagerie").removeClass("active");
//$("#commentLien").removeClass("active");
$("#candidatureLien").removeClass("active");
$("#messagerieVideoLien").removeClass("active");
$("#messagerieLien").removeClass("active");
$("#" + tabActive).addClass("active");
$("#" + tabActive + "Lien").addClass("active");
}
</script>
{% endblock %}
@@ -0,0 +1,130 @@
<div class="tab-pane active" id="candidature">
<div class="row m-md-0">
<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">
<!-- START card -->
<div class="card card-transparent">
<div class="card-header ">
<div class="card-title">
<a href="{{ path('company_ad_answer_list',{'id':answer.ad.id}) }}">{{ answer.ad.title }}</a>
</div>
</div>
<div class="card-body">
<h3>Son dernier message (Recu le {{ answer.sendTime|date('d/m/Y') }})</h3>
<p>
{{ answer.comment }}
</p>
<br>
<div>
<div class="profile-img-wrapper m-t-5 inline">
<img alt="Avatar" width="35" height="35"
data-src-retina="{{ asset('dashboard/img/profiles/account-avatar-default.svg') }}"
data-src="{{ asset('dashboard/img/profiles/account-avatar-default.svg') }}"
src="{{ asset('dashboard/img/profiles/account-avatar-default.svg') }}">
<div class="chat-status available">
</div>
</div>
<div class="inline m-l-10">
<p class="small hint-text m-t-5">{{ answer.user.firstname }}
{{ answer.user.lastname }}
</p>
</div>
</div>
</div>
</div>
<!-- END card -->
</div>
</div>
<div class="row column-seperation">
<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">
<h4 class="no-margin-top bordered">{% trans %}label.answer.history.title{% endtrans %}</h4>
</div>
<div class="row">
<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%">Message</th>
<th style="width:70%">Envoyé le</th>
</tr>
</thead>
<tbody>
{% if answer.messages %}
{% for message in answer.messages if message.status != "DRAFT" %}
{% set class = '' %}
{% if loop.index > 1 %}
{% set class = 'history-hidden' %}
{% endif %}
<tr>
<td class="v-align-middle">
<div class="v-align-middle">
{{ message.status|trans }}
</div>
</td>
<td class="v-align-middle ">
<p>{{ message.uTime|date('d-m-Y') }}</p>
</td>
<td class="v-align-middle">
{% if message.video %}
<div class="embed-responsive embed-responsive-16by9">
<iframe
src="https://player.vimeo.com/video/{{ message.video.cdnUrl|replace({ "/videos/": ""}) }}"
width="100%" height="300" frameborder="0" webkitallowfullscreen
mozallowfullscreen allowfullscreen></iframe>
</div>
{% endif %}
{{ message.content|nl2br }}
</td>
</tr>
{% endfor %}
{% if answer.messages|length == 0 %}
<tr><th colspan="3" class="text-center">Aucun message pour le moment</th></tr>
{% endif %}
{% endif %}
</tbody>
</table>
</div>
</div>
</div>
</div>
@@ -0,0 +1,10 @@
<div class="tab-pane" id="comment">
<div class="row">
<div class="col-lg-12">
<h3>Follow us &amp; get updated!</h3>
<p>Instantly connect to what's most important to you. Follow your friends, experts, favorite
celebrities, and breaking news.</p>
<br>
</div>
</div>
</div>
@@ -0,0 +1,129 @@
<div class="tab-pane " id="messagerie">
<div class="row">
<!-- START ITEM -->
<div class="col-lg-4">
<div class="card card-default bg-success">
<div class="card-header separator">
<div class="card-title">Réponse par mail
</div>
</div>
<div class="card-body">
<h3>
<span class="semi-bold">Envoyez un message à </span> {{ answer.user.firstname }} {{ answer.user.lastname }}</h3>
<p>
Vous avez également la possibilité d'envoyer une réponse en vidéo. Je souhaite répondre <b><a href="#" onClick="changerActive('messagerieVideo')" data-toggle="tab" role="tab"
data-target="#messagerieVideo">en vidéo</a></b>.
</p>
</div>
</div>
</div>
<!-- END ITEM -->
<div class="col-md-12 col-lg-8 col-xlg-8 md-m-t-10">
<!-- START WIDGET widget_weatherWidget-->
<div class="widget-17 card no-border no-margin widget-loader-circle">
<div class="card-body">
<!-- START COMPOSE EMAIL -->
{{ form_start(form) }}
<div class="email-composer container-fluid">
<div class="row">
<div class="col-md-12 no-padding">
{# <div class="wysiwyg5-wrapper email-toolbar-wrapper no-border" id="emailToolbar">
<span class="ql-formats">
<!-- Add a bold button -->
<button class="ql-bold"></button>
<!-- Add a italic button -->
<button class="ql-italic"></button>
<!-- Add a underline button -->
<button class="ql-underline"></button>
<!-- Add a strike button -->
<button class="ql-strike"></button>
</span>
<span class="ql-formats">
<!-- Add headings buttons -->
<button class="ql-header" value="1"></button>
<button class="ql-header" value="2"></button>
</span>
<span class="ql-formats">
<!-- Add list buttons -->
<button class="ql-list" value="ordered"></button>
<button class="ql-list" value="bullet"></button>
</span>
<span class="ql-formats">
<!-- Add indent buttons -->
<button class="ql-indent" value="-1"></button>
<button class="ql-indent" value="+1"></button>
</span>
<span class="ql-formats">
<!-- Add font size dropdown -->
<select class="ql-size">
<option value="small"></option>
<!-- Note a missing, thus falsy value, is used to reset to default -->
<option selected></option>
<option value="large"></option>
<option value="huge"></option>
</select>
</span>
<span class="ql-formats">
<!-- Add indent buttons -->
<button class="ql-clean"></button>
</span>
</div> #}
<div class="form-group-attached">
<div class="row clearfix">
<div class="col-md-12">
<div class="form-group form-group-default">
<label>De : </label>
<input name="to" data-role="tagsinput" disabled
class="form-control tagsinput" type="text" value="{{ app.user.firstname }} {{ app.user.lastname }}" />
</div>
</div>
</div>
{# <div class="form-group form-group-default">
<label>Subject</label>
<input type="text" class="form-control" name="subject">
</div> #}
</div>
<div class="form-group form-group-default required">
{{ form_row(form.status) }}
</div>
<div class="form-group required">
{{ form_row(form.message) }}
</div>
{# <div class="quill-wrapper email-body-wrapper">
<div id="quill-compose" style="height:250px" class="no-border">
</div>
<div class="form-group ">
</div> #}
</div>
</div>
<div class="row p-b-10">
<div class="col-md-11 d-md-flex d-lg-flex d-xl-flex d-block align-items-start">
</div>
<div class="col-md-1">
<button type="submit" aria-label="" class="btn btn-primary btn-lg pull-right btn-icon-left"><i
class="pg-icon">send</i>Envoyer</button>
</div>
</div>
</div>
<!-- END COMPOSE EMAIL -->
{{ form_end(form) }}
</div>
</div>
<!-- END WIDGET -->
</div>
</div>
</div>
@@ -0,0 +1,62 @@
<div class="tab-pane " id="messagerieVideo">
<div class="row">
<!-- START ITEM -->
<div class="col-lg-4">
<div class="card card-default bg-success">
<div class="card-header separator">
<div class="card-title">Réponse vidéo
</div>
</div>
<div class="card-body">
<h3>
<span class="semi-bold">Et si vous répondiez à </span> {{ answer.user.firstname }} {{ answer.user.lastname }} <b>en vidéo</b></h3>
<p>Découvrez <a href="https://blog.talentstube.com/articles-entreprise/comment-faire-une-video-avec-une-webcam/" target="_blank">nos conseils</a> pour réaliser une vidéo de réponse.</p>
</div>
</div>
</div>
<!-- END ITEM -->
<div class="col-md-12 col-lg-8 col-xlg-8 md-m-t-10">
<!-- START WIDGET widget_weatherWidget-->
<div class="widget-17 card no-border no-margin widget-loader-circle">
<div class="widget-16-header p-r-20 p-l-20 p-t-10 d-flex">
<span class="icon-thumbnail bg-contrast-low pull-left text-color pg-icon">M</span>
<div class="flex-1 full-width overflow-ellipsis">
<p class="hint-text all-caps font-montserrat small no-margin overflow-ellipsis ">
Contacter
</p>
<h6 class="no-margin overflow-ellipsis ">par vidéo</h6>
</div>
</div>
<div class="card-body">
{{ form_start(formVideo) }}
{{ form_widget(formVideo._token, { 'id': 'token_video' }) }}
{% include 'message/message_create_import.twig' %}
<br />
{{ form_widget(formVideo.status, { 'id': 'contact_talent_status_video' }) }}
{{ form_rest(formVideo) }}
<br />
<div class="bottom-form">
<button type="submit" class="btn btn-default disabled">Envoyer</button>
</div>
{{ form_end(formVideo) }}
</div>
</div>
<!-- END WIDGET -->
</div>
</div>
</div>
@@ -1,26 +1,26 @@
{% extends 'company/base_dashboard_company.html.twig' %}
{# {% extends 'company/base_dashboard_company.html.twig' %} #}
{% extends 'admin/base_dashboard.html.twig' %}
{% block dashContent %}
<div class="row bg-bordered p-0">
{% include 'company/ad_steps.html.twig' with {'tab':2} %}
{# {% include 'company/ad_steps.html.twig' with {'tab':2} %} #}
<div class="p-20">
<div class="row">
<div class="col s12">
<ul id="tabs-video" class="tabs">
{# <ul id="tabs-video" class="tabs">
<li class="tab col s4"><a class="active" href="#tab-video-new">Ajouter une nouvelle vidéo</a>
</li>
<li class="tab col s4"><a href="#tab-video-select">Utiliser une vidéo existante</a></li>
</ul>
</ul> #}
</div>
<div id="tab-video-new" class="col s12">
{% include 'media/dropzone.html.twig' %}
{# {% include 'media/dropzone.html.twig' %}
{{ form_start(form, {'attr': { 'id': 'form_media' } }) }}
{{ form_widget(form) }}
<a href="{{ path('company_ad_edit',{"id": ad.getId()}) }}" class="btn btn-round btn-dark">Etape précédente</a>
<button id="submit" class="btn btn-default hide" type="submit">Etape suivante</button>
{{ form_end(form) }}
{{ form_end(form) }} #}
</div>
<div id="tab-video-select" class="col s12">
<div class="row">
@@ -36,14 +36,188 @@
{#mozallowfullscreen allowfullscreen></iframe>#}
{#</div>#}
{#{% endfor %}#}
{% if videos|length > 0 %}
{# {% if videos|length > 0 %}
{% include 'default/video_card.html.twig' %}
{% endif %}
{% endif %} #}
</div>
</div>
</div>
</div>
</div>
<!-- START CONTAINER FLUID -->
<!-- START JUMBOTRON -->
<div class="jumbotron" data-pages="parallax">
<div class=" container-fluid container-fixed-lg sm-p-l-0 sm-p-r-0">
<div class="inner">
<!-- START BREADCRUMB -->
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="/">Accueil</a></li>
<li class="breadcrumb-item"><a href="{{ path('company_ad') }}">Offres d'emploi</a></li>
</ol>
<!-- END BREADCRUMB -->
</div>
</div>
</div>
<!-- END JUMBOTRON -->
<div class=" container-fluid container-fixed-lg">
<div id="rootwizard" class="m-t-50">
{% include 'company/ad_stepsV2.html.twig' with {'tab':2} %}
<div class="tab-content">
<div class="tab-pane padding-20 sm-no-padding slide-left disabled" id="tab1">
<div class="row row-same-height">
<div class="col-md-5 b-r b-dashed b-grey sm-b-b">
<div class="padding-30 sm-padding-5 sm-m-t-15 m-t-50">
<i class="material-icons hint-text">shopping_cart</i>
<h2>Etape 1 : détail de l'annonce</h2>
<p>Pour trouver le bon profil, renseignez et personnalisez votre annonce.
Plus votre annonce est précise et attractive, plus les candidatures seront ciblées.
Afin de créer votre annonce, renseignez lensemble des champs relatifs au poste proposé.</p>
{# <p class="small hint-text">Below is a sample page for your cart , Created using pages design
UI Elementes</p> #}
</div>
</div>
<div class="col-md-7">
<div class="padding-30 sm-padding-5">
</div>
</div>
</div>
</div>
<div class="tab-pane slide-left padding-20 sm-no-padding active" id="tab2">
<div class="row row-same-height">
<div class="col-md-5 b-r b-dashed b-grey ">
<div class="padding-30 sm-padding-5 sm-m-t-15 m-t-50">
<h2>J'importe une vidéo</h2>
<p>Importez votre vidéo de recrutement et publiez votre annonce.
Vous ne possédez pas encore de vidéo ?
Talents Tube peut vous accompagner dans la réalisation de votre
vidéo d'offre d'emploi. <a href="https://blog.talentstube.com/contact.html" target="_blank">Contactez-nous</a></p>
{# <p class="small hint-text">Below is a sample page for your cart , Created using pages design
UI Elementes</p> #}
{# <ul id="tabs-video" class="tabs">
<li class="tab col s4"><a class="active" href="#tab-video-new">Ajouter une nouvelle vidéo</a>
</li>
<li class="tab col s4"><a href="#tab-video-select">Utiliser une vidéo existante</a></li>
</ul> #}
</div>
</div>
<div class="col-md-7">
<div class="padding-30 sm-padding-5" id="tab-video-new">
{% include 'media/dropzoneV2.html.twig' %}
{{ form_start(form, {'attr': { 'id': 'form_media' } }) }}
{{ form_row(form.title) }}
<br/>
<a href="{{ path('company_ad_edit',{"id": ad.getId()}) }}" class="btn btn-round btn-dark">
<button aria-label="" class="btn btn-primary btn-cons btn-animated from-left pull-right"
type="button">
<span>Retour au détail de l'annonce </span>
<span class="hidden-block">
<i class="material-icons fs-16">info</i>
</span>
</button>
</a>
<button aria-label="" id="submit" type="submit" class="btn btn-primary btn-cons btn-animated from-left pull-right hide"
type="button">
<span>Valider l'annonce</span>
<span class="hidden-block">
<i class="material-icons fs-16">save</i>
</span>
</button>
{{ form_end(form) }}
</div>
<div id="tab-video-select" class="col s12">
<div class="row">
{#{% for vid in videos %}#}
{#<div class="col s4">#}
{#<a class="addExistingVideo tooltipped btn btn-default" data-position="top"#}
{#data-tooltip="Choisir cette vidéo" href="#" data-title="{{ vid.getTitle() }}"#}
{#data-id="{{ vid.getId() }}">#}
{#<span>{{ vid.getTitle() }}</span><br/>#}
{#</a>#}
{#<iframe src="https://player.vimeo.com{{ vid.getCdnUrl()|replace({ "videos": "video"}) }}"#}
{#width="90%" height="auto" frameborder="0" webkitallowfullscreen#}
{#mozallowfullscreen allowfullscreen></iframe>#}
{#</div>#}
{#{% endfor %}#}
{# {% if videos|length > 0 %}
{% include 'default/video_card.html.twig' %}
{% endif %} #}
</div>
</div>
</div>
</div>
</div>
<div class="tab-pane slide-left padding-20 sm-no-padding disabled" id="tab3">
<div class="row row-same-height">
<div class="col-md-5 b-r b-dashed b-grey ">
<div class="padding-30 sm-padding-5 sm-m-t-15 m-t-50">
</div>
</div>
<div class="col-md-7">
<div class="padding-30 sm-padding-5">
</div>
</div>
</div>
</div>
<div class="padding-20 sm-padding-5 sm-m-b-20 sm-m-t-20 bg-white clearfix">
{# <ul class="pager wizard no-style">
<li class="next">
<button aria-label="" class="btn btn-primary btn-cons btn-animated from-left pull-right"
type="button">
<span>Je crée mon annonce</span>
<span class="hidden-block">
<i class="material-icons fs-16">local_shipping</i>
</span>
</button>
</li>
<li class="next finish hidden">
<button aria-label="" class="btn btn-primary btn-cons btn-animated from-left pull-right"
type="button">
<span>Finish</span>
<span class="hidden-block">
<i class="material-icons fs-16">settings</i>
</span>
</button>
</li>
<li class="previous first hidden">
<button aria-label="" class="btn btn-default btn-cons btn-animated from-left pull-right"
type="button">
<span>First</span>
<span class="hidden-block">
<i class="material-icons fs-16">settings</i>
</span>
</button>
</li>
<li class="previous">
<button aria-label="" class="btn btn-default btn-cons btn-animated from-left pull-right"
type="button">
<span>Previous</span>
<span class="hidden-block">
<i class="material-icons fs-14">settings</i>
</span>
</button>
</li>
</ul> #}
</div>
<div class="wizard-footer padding-20 bg-contrast-low">
<div class="clearfix"></div>
</div>
</div>
</div>
</div>
<!-- END CONTAINER FLUID -->
{% endblock %}
{% block javascripts %}
{{ parent() }}
@@ -59,7 +233,7 @@
dataType: 'html',
success: function (response) {
Materialize.toast('Vidéo associé Merci', 4000);
document.location.href = stepDate;
//document.location.href = stepDate;
},
error: function (response, xhr, ajaxOptions, thrownError) {
@@ -85,5 +259,5 @@
{% endif %}
</script>
<script src="{{ asset('/js/dropzone.js') }}"></script>
<script src="{{ asset('/js/dropzoneV2.js') }}"></script>
{% endblock %}
@@ -1,242 +1,238 @@
{% extends 'company/base_dashboard_company.html.twig' %}
{# {% extends 'company/base_dashboard_company.html.twig' %} #}
{% extends 'admin/base_dashboard.html.twig' %}
{% block dashContent %}
<div class="row bg-bordered p-20">
{% if app.user.company.brandname == null %}
<div class="row flexcontainer">
<div class="col s12 m12 l12">
<div class="card-panel grey lighten-3 ">
<i class="fa fa-exclamation-triangle" aria-hidden="true"></i>
Vous n'avez pas encore complété le profil de votre entreprise. <br>
Ces informations sont importantes au bon fonctionnement de la plateforme, nous vous invitons
<a href="{{ path('company_profile') }}">à les remplir ici. <i class="fa fa-link"
aria-hidden="true"></i></a>
</div>
</div>
</div>
{% endif %}
<div class="col s3">
<h5 class="blue-text no-margin-top">Volumes des visites</h5>
</div>
<div class="col s9 choiceMonthWrapper right-align">
{% set thisYear = "now"|date("Y") %}
{% set thisMonth = "now"|date("m") %}
{% set thisDay = "now"|date("d") %}
{% set dateTextMoins = "now -1 Month"|date("d-m-Y") %}
{% set dateText = "now"|date("d-m-Y") %}
<input id="choiceMonth" type="text" name="daterange" value="{{ dateTextMoins }} au {{ dateText }}" />
<i class="fa fa-refresh fa-spin fa-fw"></i>
<span class="sr-only">Loading...</span>
</div>
<div class="col s12">
<canvas id="nb_visits" width="600" height="300"></canvas>
</div>
<div class="col s6 countLegend">
<p><span class="btn-countVisitsAds">&nbsp;</span>Nombre de visites de vos annonces</p>
<p><span class="btn-countVisitsCompany">&nbsp;</span>Nombre de visites de la page entreprise</p>
</div>
<div class="col s6 countBlock">
<span class="btn-countVisitsAds"><span class="countVisitsAds"></span>&nbsp;visites</span>
<span class="btn-countVisitsCompany"><span class="countVisitsCompany"></span>&nbsp;visites</span>
</div>
</div>
<div id="donutChart-wrapper" class="row bg-bordered p-20">
<div class="col s6">
<h5 class="blue-text no-margin-top">Répartition des visites</h5>
<canvas id="donught_visits" width="300" height="300"></canvas>
</div>
<div class="col s6 donutLegend countLegend">
<p><span class="btn-count btn-countVisitsTalentByCompany">&nbsp;</span>Visites de talents</p>
<p><span class="btn-count btn-countVisitsCompanyByCompany">&nbsp;</span>Visites d'entreprises</p>
<p><span class="btn-count btn-countVisitsAnonymByCompany">&nbsp;</span>Visites d'internautes non-inscrits</p>
</div>
</div>
<div class="row bg-bordered p-20">
<div class="col s12">
<h5 class="blue-text no-margin-top">Statistiques par offre d'emploi</h5>
{% include 'company/ad_table_listing.html.twig' with {'ads':ads} %}
<div class="row bg-bordered p-20">
{# <div class="col s3">
<h5 class="blue-text no-margin-top">Volumes des visites</h5>
</div>
<div class="col s9 choiceMonthWrapper right-align">
{% set thisYear = "now"|date("Y") %}
{% set thisMonth = "now"|date("m") %}
{% set thisDay = "now"|date("d") %}
{% set dateTextMoins = "now -1 Month"|date("d-m-Y") %}
{% set dateText = "now"|date("d-m-Y") %}
<input id="choiceMonth" type="text" name="daterange" value="{{ dateTextMoins }} au {{ dateText }}" />
<i class="fa fa-refresh fa-spin fa-fw"></i>
<span class="sr-only">Loading...</span>
</div>
<div class="col s12">
<canvas id="nb_visits" width="600" height="300"></canvas>
</div>
<div class="col s6 countLegend">
<p><span class="btn-countVisitsAds">&nbsp;</span>Nombre de visites de vos annonces</p>
<p><span class="btn-countVisitsCompany">&nbsp;</span>Nombre de visites de la page entreprise</p>
</div>
<div class="col s6 countBlock">
<span class="btn-countVisitsAds"><span class="countVisitsAds"></span>&nbsp;visites</span>
<span class="btn-countVisitsCompany"><span class="countVisitsCompany"></span>&nbsp;visites</span>
</div> #}
</div>
<div id="donutChart-wrapper" class="row bg-bordered p-20">
{# <div class="col s6">
<h5 class="blue-text no-margin-top">Répartition des visites</h5>
<canvas id="donught_visits" width="300" height="300"></canvas>
</div>
<div class="col s6 donutLegend countLegend">
<p><span class="btn-count btn-countVisitsTalentByCompany">&nbsp;</span>Visites de talents</p>
<p><span class="btn-count btn-countVisitsCompanyByCompany">&nbsp;</span>Visites d'entreprises</p>
<p><span class="btn-count btn-countVisitsAnonymByCompany">&nbsp;</span>Visites d'internautes non-inscrits</p>
</div> #}
</div>
{% if app.user.company.brandname == null %}
<div class=" container-fluid container-fixed-lg bg-white">
<div class="card card-transparent">
<div class="card-body">
<i class="fa fa-exclamation-triangle" aria-hidden="true"></i>
Vous n'avez pas encore complété le profil de votre entreprise. <br>
Ces informations sont importantes au bon fonctionnement de la plateforme, nous vous invitons
<a href="{{ path('company_profile') }}">à les remplir ici. <i class="fa fa-link" aria-hidden="true"></i></a>
</div>
</div>
</div>
{% endif %}
{% include 'company/ad_table_listing.html.twig' with {'ads':ads} %}
{% endblock %}
{% block javascripts %}
{{ parent() }}
<script src="{{ asset('/js/vendors/Chart.bundle.min.js') }}"></script>
<script type="text/javascript">
var currentMonth = '{{ "now"|date("m") }}';
var arrayRecords;
var ctx,myChart,arrayCurrentsLabel,arrayCurrentsAdsValues,arrayCurrentsCompanyValues,donughtRecords;
var sumVisitsAds = 0;
var sumCompanyValues = 0;
function loadChartData() {
setArrayValues();
myChart.update();
myDoughnutChart.update();
}
{{ parent() }}
<script src="{{ asset('/js/vendors/Chart.bundle.min.js') }}"></script>
<script type="text/javascript">
var currentMonth = '{{ "now"|date("m") }}';
var arrayRecords;
var ctx, myChart, arrayCurrentsLabel, arrayCurrentsAdsValues, arrayCurrentsCompanyValues, donughtRecords;
var sumVisitsAds = 0;
var sumCompanyValues = 0;
function getChartData(date1,date2) {
$.ajax({
type: "POST",
url: '{{ path("company_ajax_dashboard") }}',
data: 'date1='+date1+'&date2='+date2,
dataType: "json",
success: function (data) {
arrayRecords = data.lineRecords;
donughtRecords = data.donughtRecords;
myDoughnutChart.data.datasets[0].data = donughtRecords;
loadChartData();
$('.fa-refresh').hide();
},
error: function (data) {
$('.fa-refresh').hide();
}
});
}
function loadChartData() {
setArrayValues();
myChart.update();
myDoughnutChart.update();
}
document.addEventListener("DOMContentLoaded", function(event) {
$('.fa-refresh').hide();
getChartData(0, 0);
configDatePicker = {
applyBtnClass: 'btn btn-default',
format: 'DD-MM-YYYY',
separator: ' au ',
endDate: new Date(),
maxDays: 365
}
$('#choiceMonth').dateRangePicker(configDatePicker).bind('datepicker-apply',function(event,obj) {
$('.fa-refresh').show();
var month1 = obj.date1.getMonth();
var day1 = obj.date1.getDate();
var year1 = obj.date1.getFullYear();
var month2 = obj.date2.getMonth();
var day2 = obj.date2.getDate();
var year2 = obj.date2.getFullYear();
var date1 = (month1 + 1) + "/" + day1 + "/" + year1 +" 00:00:01";
var date2 = (month2 + 1) +"/" + day2 + "/" + year2 +" 23:59:59";
getChartData(date1, date2);
});
$('.apply-btn').attr('value','Valider');
function getChartData(date1, date2) {
$.ajax({
type: "POST",
url: '{{ path("company_ajax_dashboard") }}',
data: 'date1=' + date1 + '&date2=' + date2,
dataType: "json",
success: function (data) {
arrayRecords = data.lineRecords;
donughtRecords = data.donughtRecords;
myDoughnutChart.data.datasets[0].data = donughtRecords;
loadChartData();
$('.fa-refresh').hide();
},
error: function (data) {
$('.fa-refresh').hide();
}
});
}
function setArrayValues(){
arrayCurrentsLabel = [];
arrayCurrentsAdsValues = [];
arrayCurrentsCompanyValues = [];
arrayRecords['labels'].forEach(function(element, index) {
var date = element.split("-");
var dateAffiche = date[2]+"-"+date[1]+"-"+date[0];
arrayCurrentsLabel.push(dateAffiche);
arrayCurrentsAdsValues.push(arrayRecords['datasetsAd'][index]);
arrayCurrentsCompanyValues.push(arrayRecords['datasetsCompany'][index]);
document.addEventListener("DOMContentLoaded", function (event) {
$('.fa-refresh').hide();
getChartData(0, 0);
configDatePicker = {
applyBtnClass: 'btn btn-default',
format: 'DD-MM-YYYY',
separator: ' au ',
endDate: new Date(),
maxDays: 365
}
$('#choiceMonth').dateRangePicker(configDatePicker).bind('datepicker-apply', function (event, obj) {
$('.fa-refresh').show();
var month1 = obj.date1.getMonth();
var day1 = obj.date1.getDate();
var year1 = obj.date1.getFullYear();
var month2 = obj.date2.getMonth();
var day2 = obj.date2.getDate();
var year2 = obj.date2.getFullYear();
var date1 = (month1 + 1) + "/" + day1 + "/" + year1 + " 00:00:01";
var date2 = (month2 + 1) + "/" + day2 + "/" + year2 + " 23:59:59";
getChartData(date1, date2);
});
$('.apply-btn').attr('value', 'Valider');
});
function setArrayValues() {
arrayCurrentsLabel = [];
arrayCurrentsAdsValues = [];
arrayCurrentsCompanyValues = [];
arrayRecords['labels'].forEach(function (element, index) {
var date = element.split("-");
var dateAffiche = date[2] + "-" + date[1] + "-" + date[0];
arrayCurrentsLabel.push(dateAffiche);
arrayCurrentsAdsValues.push(arrayRecords['datasetsAd'][index]);
arrayCurrentsCompanyValues.push(arrayRecords['datasetsCompany'][index]);
});
myChart.data.labels = arrayCurrentsLabel;
myChart.data.datasets[0].data = arrayCurrentsAdsValues;
myChart.data.datasets[1].data = arrayCurrentsCompanyValues;
if (arrayCurrentsAdsValues.length > 0) {
sumVisitsAds = arrayCurrentsAdsValues.reduce(function (memo, val) {
let value = val || 0;
if (value != null) {
return memo + value;
}
});
myChart.data.labels = arrayCurrentsLabel;
myChart.data.datasets[0].data = arrayCurrentsAdsValues;
myChart.data.datasets[1].data = arrayCurrentsCompanyValues;
if (arrayCurrentsAdsValues.length > 0) {
sumVisitsAds = arrayCurrentsAdsValues.reduce(function(memo, val) {
let value = val || 0;
if (value != null) {
return memo + value;
}
});
} else {
sumVisitsAds = 0;
}
if (arrayCurrentsCompanyValues.length > 0) {
sumCompanyValues = arrayCurrentsCompanyValues.reduce(function(memo, val) {
let value = val || 0;
if (value != null) {
return memo + value;
}
});
} else {
sumCompanyValues = 0;
}
$('.countVisitsAds').html(sumVisitsAds);
$('.countVisitsCompany').html(sumCompanyValues);
} else {
sumVisitsAds = 0;
}
if (arrayCurrentsCompanyValues.length > 0) {
sumCompanyValues = arrayCurrentsCompanyValues.reduce(function (memo, val) {
let value = val || 0;
if (value != null) {
return memo + value;
}
});
} else {
sumCompanyValues = 0;
}
var dataLine = {
datasets: [
{
label: "Nombre de visite d'annonce par jour",
fill: false,
fontColor: "rgba(39,139,231,1)",
backgroundColor: "rgba(39,139,231,1)",
borderColor: "rgba(39,139,231,1)"
}, {
label: "Nombre de visite de votre page entreprise",
fill: false,
fontColor: "#F9C339",
backgroundColor: "#F9C339",
borderColor: "#F9C339"
}
]
};
$('.countVisitsAds').html(sumVisitsAds);
$('.countVisitsCompany').html(sumCompanyValues);
}
var ctx = document.getElementById("nb_visits");
var myChart = new Chart(ctx, {
type: 'line',
data: dataLine,
options: {
legend: {
display: false
var dataLine = {
datasets: [{
label: "Nombre de visite d'annonce par jour",
fill: false,
fontColor: "rgba(39,139,231,1)",
backgroundColor: "rgba(39,139,231,1)",
borderColor: "rgba(39,139,231,1)"
}, {
label: "Nombre de visite de votre page entreprise",
fill: false,
fontColor: "#F9C339",
backgroundColor: "#F9C339",
borderColor: "#F9C339"
}]
};
var ctx = document.getElementById("nb_visits");
var myChart = new Chart(ctx, {
type: 'line',
data: dataLine,
options: {
legend: {
display: false
},
scales: {
xAxes: [{
display: true,
scaleLabel: {
display: true,
labelString: 'Date'
}
}],
yAxes: [{
ticks: {
min: 0
},
scales: {
xAxes: [{
display: true,
scaleLabel: {
display: true,
labelString: 'Date'
}
}],
yAxes: [{
ticks: {
min: 0
},
scaleLabel: {
display: true,
labelString: 'Valeur'
}
}]
scaleLabel: {
display: true,
labelString: 'Valeur'
}
}
});
var dataDonught = {
labels: [
"Visites de talents",
"Visites d'entreprises",
"Visites d'internautes non inscrit"
],
datasets: [
{
data: donughtRecords,
backgroundColor: [
"#FF6384",
"#36A2EB",
"#FFCE56"
],
hoverBackgroundColor: [
"#FF6384",
"#36A2EB",
"#FFCE56"
]
}]
};
var ctxDonught = document.getElementById("donught_visits");
var myDoughnutChart = new Chart(ctxDonught, {
type: 'doughnut',
data: dataDonught,
options: {
legend: {
display: false,
},
animation: {
animateScale: true
}
}
});
</script>
}
});
var dataDonught = {
labels: [
"Visites de talents",
"Visites d'entreprises",
"Visites d'internautes non inscrit"
],
datasets: [{
data: donughtRecords,
backgroundColor: [
"#FF6384",
"#36A2EB",
"#FFCE56"
],
hoverBackgroundColor: [
"#FF6384",
"#36A2EB",
"#FFCE56"
]
}]
};
var ctxDonught = document.getElementById("donught_visits");
var myDoughnutChart = new Chart(ctxDonught, {
type: 'doughnut',
data: dataDonught,
options: {
legend: {
display: false,
},
animation: {
animateScale: true
}
}
});
</script>
{% endblock %}
@@ -41,6 +41,11 @@
<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_media') }}">
<i class="fa fa-play"></i>
@@ -1,27 +1,111 @@
{% 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="#">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-6">
<div class="card card-transparent">
{{ form_start(form, { 'action': path('company_my_account'), 'attr': { 'class': 'fos_user_profile_edit' } }) }}
<div class="card-body">
{% if form_errors(form) %}
<span class="red-text text-darken-2">{{ form_errors(form) }}</span>
{% endif %}
<div class="row">
<div class="col-md-6">
<div class="form-group form-group-default required">
{{ 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-6">
<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>
<!-- END card -->
</div>
</div>
<!-- END CONTAINER FLUID -->
{% endblock %}
@@ -1,15 +1,152 @@
{% extends 'company/base_dashboard_company.html.twig' %}
{# {% extends 'company/base_dashboard_company.html.twig' %} #}
{% extends 'admin/base_dashboard.html.twig' %}
{% block title %}{{ 'profile.company.title'|trans }}{% endblock %}
{% block dashContent %}
{% include 'default/flash_message.html.twig' %}
<div class="row bg-bordered p-20">
{#<h1 class="alttitle">{{ 'profile.company.title'|trans }}</h1>#}
{{ form_start(form, { 'action': path('company_profile'), 'attr': { 'class': 'fos_user_profile_edit' } }) }}
{{ form_widget(form) }}
<br/>
<input class="btn btn-default" type="submit" value="{{ 'profile.edit.submit'|trans }}"/>
{{ form_end(form) }}
{% include 'default/flash_message.html.twig' %}
<!-- START JUMBOTRON -->
<div class="jumbotron" data-pages="parallax">
<div class=" container-fluid container-fixed-lg sm-p-l-0 sm-p-r-0">
<div class="inner">
<!-- START BREADCRUMB -->
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="#">Accueil</a></li>
<li class="breadcrumb-item active">Profil</li>
</ol>
<!-- END BREADCRUMB -->
</div>
</div>
</div>
<!-- END JUMBOTRON -->
<!-- START CONTAINER FLUID -->
<div class=" container-fluid container-fixed-lg bg-white">
<!-- START card -->
<div class="card card-transparent">
<div class="card-body">
{% if form_errors(form) %}
<span class="red-text text-darken-2">{{ form_errors(form) }}</span>
{% endif %}
{{ form_start(form) }}
<div class="row">
<div class="col-md-6">
<div class="form-group form-group-default required">
{{ form_row(form.brandName) }}
</div>
</div>
<div class="col-md-6">
<div class="form-group form-group-default">
{{ form_row(form.businessName) }}
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="form-group form-group-default required">
{{ form_row(form.description) }}
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="form-group ">
{{ form_row(form.website) }}
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="form-group ">
{{ form_row(form.siren) }}
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="form-group ">
{{ form_row(form.size) }}
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="form-group ">
{{ form_row(form.address) }}
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="form-group ">
{{ form_row(form.addressComp) }}
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="form-group ">
{{ form_row(form.zipcode) }}
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="form-group ">
{{ form_row(form.city) }}
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="form-group ">
{{ form_row(form.country) }}
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="form-group ">
{{ form_row(form.tagsComma) }}
</div>
</div>
</div>
<br />
<div style="text-align: right;">
<button class="btn btn-default" type="submit">Sauvegarde</button>
</div>
{{ form_end(form) }}
</div>
</div>
<!-- END card -->
</div>
<!-- END CONTAINER FLUID -->
{% endblock %}
@@ -0,0 +1,10 @@
<div class="col s12" id="breadcrumb">
<a href="{{ path('company_ad') }}">
<span>{% trans %}label.users{% endtrans %}</span>
</a>
<div class="border-breadcrumb"></div>
</div>
@@ -0,0 +1,108 @@
{# {% 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="#">Accueil</a></li>
<li class="breadcrumb-item active">Utilisateurss</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) }}</span>
{% endif %}
{{ form_start(form) }}
<div class="row">
<div class="col-md-6">
<div class="form-group form-group-default required">
{{ form_row(form.firstname) }}
</div>
</div>
<div class="col-md-6">
<div class="form-group form-group-default">
{{ form_row(form.lastname) }}
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="form-group form-group-default required">
{{ form_row(form.email) }}
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="form-group ">
{{ form_row(form.gender) }}
</div>
</div>
</div>
{% if form.password is defined%}
<div class="row">
<div class="col-md-12">
<div class="form-group form-group-default required">
{{ form_row(form.password) }}
</div>
</div>
</div>
{% endif %}
<br/>
<div style="text-align: right;">
<button class="btn btn-default" type="submit">Je crée/modifie un utilisateur</button>
</div>
{{ form_end(form) }}
</div>
</div>
<!-- END card -->
</div>
<!-- END CONTAINER FLUID -->
{% endblock %}
@@ -0,0 +1,94 @@
<!-- START JUMBOTRON -->
<div class="jumbotron" data-pages="parallax">
<div class=" container-fluid container-fixed-lg sm-p-l-0 sm-p-r-0">
<div class="inner">
<!-- START BREADCRUMB -->
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="#">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 %}
@@ -0,0 +1,65 @@
<footer class="page-footer">
<div class="container">
<div class="row footer-info">
<div class="col xl2 l2 m6 s12 col-footer-logo">
<img src="{{ asset('/img/logo-mini-white.svg') }}" alt="Talents Tube 1er job board 100% vidéo">
</div>
<div class="col xl3 l3 m6 s6">
<h5 class="white-text">Talents Tube</h5>
<ul>
<li>
<a class="white-text" href="{{ path('homepage') }}">Accueil</a>
</li>
</ul>
</div>
<div class="col xl4 l4 m6 s6">
<h5 class="white-text">Informations</h5>
</div>
<div class="col xl3 l3 m6 s12 left-align">
<h5 class="white-text">Suivez-nous !</h5>
<p class="footer-socials">
<a class="white-text td-none" href="https://www.facebook.com/TalentsTuber/" title="Facebook" target="_blank">
<i class="fa fa-facebook" aria-hidden="true"></i>
</a>
<a class="white-text td-none" href="https://twitter.com/TalentsTuber" title="Twitter" target="_blank">
<i class="fa fa-twitter" aria-hidden="true"></i>
</a>
<a class="white-text td-none" href="https://www.youtube.com/channel/UCRNqiJCLAorO0aCzNQu-8ww" title="Youtube" target="_blank">
<i class="fa fa-youtube" aria-hidden="true"></i>
</a>
<a class="white-text td-none" href="https://www.linkedin.com/company/talentstube" title="Linkedin" target="_blank">
<i class="fa fa-linkedin-square" aria-hidden="true"></i>
</a>
</p>
<h5 class="white-text">Contactez-nous !</h5>
<a class="white-text" href="mailto:&#098;&#111;&#110;&#106;&#111;&#117;&#114;&#064;&#116;&#097;&#108;&#101;&#110;&#116;&#115;&#116;&#117;&#098;&#101;&#046;&#099;&#111;&#109;">Par mail</a>
<p class="white-text">02 30 05 06 31</p>
<p class="footer-newsletter">
<a class="btn-large btn-round" href="#" title="Newsletter" data-token="ecea5416671e97e3abfa8195848a9140" onclick="mjOpenPopin(event, this)">
<i class="fa fa-envelope-open-o left" aria-hidden="true"></i>
Newsletter</a>
<data data-token="ecea5416671e97e3abfa8195848a9140" class="mj-w-data" data-apikey="2jWA" data-w-id="31E" data-lang="fr_FR" data-base="https://app.mailjet.com" data-width="640" data-height="420" data-statics="statics"></data>
</p>
</div>
</div>
<div class="row footer-more-links">
<div class="col s12 center-align">
<p class="text-center white-text">Entreprise soutenue par</p>
<a href="https://www.bretagne.bzh/"><img src="{{ asset('img/RB_monochrome_blanc.svg')}}" alt="Region Bretagne"></a><br>
</div>
<div class="col s12 center-align m-t-30">
<a class="text-center white-text" href="https://www.e-declic.com" target="_blank" title="Agence Web">&copy;&nbsp;2018 Talents Tube</a>
</div>
</div>
</div>
</footer>
{# Modal Login#}
{% if app.request.get('_route') != "fos_user_security_login" %}
<div id="modal_login" class="modal ">
<div class="modal-content">
{{ render(controller('AppBundle:SecurityModal:loginModal')) }}
</div>
</div>
{% endif %}
@@ -85,9 +85,7 @@
</div>
<div id="newApp" class="container-fluid">
<div class="row">
<div class="col s12 m12">
<p>"Nouveau ! Trouvez un job plus facilement avec notre <a href="http://app.talentstube.com">web application</a>.📲"</p>
</div>
</div>
</div>
</div>
@@ -0,0 +1,80 @@
<div class="fluid-container header-fixed-top" id="header-wrapper">
<div id="header" class="container">
<div class="row">
<div class="col s12 m12 l10">
<nav>
<div class="nav-wrapper">
<div class="logo-wrapper">
<a href="{{ path('homepage') }}" class="brand-logo">
<img src="{{ asset('img/Logo-header.png') }}" alt="Talents Tube"/>
</a>
</div>
<a href="#" data-activates="mobile-demo" class="button-collapse">
<i class="material-icons">menu</i>
</a>
<ul class="right hide-on-med-and-down">
<li>
<a href="https://blog.talentstube.com" title="Blog Talents Tube">Blog</a>
</li>
</ul>
</div>
</nav>
</div>
</div>
</div>
{# <div id="newApp" class="container-fluid">
<div class="row">
</div>
</div> #}
</div>
<div class="nav-wrapper">
<ul class="side-nav collapsible" data-collapsible="accordion" id="mobile-demo">
<li class="header-links">
{% include 'default/button_login.html.twig' with {'app': app } %}
</li>
<li>
<a class="collapsible-header" title="Talents">Talents</a>
<div class="collapsible-body">
<ul>
<li><a href="{{ path('ad_search_result') }}" title="Offres d'emploi vidéos">Offres d'emploi</a></li>
<li><a href="{{ path('page_cvVideo') }}" title="Le Cv vidéo">Le CV vidéo</a></li>
<li><a href="{{ path('page_reussirCVvideo') }}" title="Comment faire son CV Vidéo ?">Comment faire son CV Vidéo ?</a></li>
<li><a href="{{ path('page_accompagnementTalent') }}" title="Accompagnement talent">Accompagnement</a></li>
</ul>
</div>
</li>
<li>
<a class="collapsible-header" href="{{ path('ad_search_result') }}" title="Offres d'emploi vidéos">Offres d'emploi</a>
</li>
<li>
<a class="collapsible-header" title="Les entreprises de talents">Entreprises</a>
<div class="collapsible-body">
<ul>
<li><a href="{{ path('company_list') }}" title="Listes entreprises">Listes entreprises</a></li>
<li><a href="{{ path('page_OffreEmploi') }}" title="L'offre d'emploi en vidéo">L'offre d'emploi en vidéo</a></li>
<li><a href="{{ path('page_reussirOffrevideo') }}" title="Comment faire une offre en vidéo">Comment faire une offre en vidéo</a></li>
<li><a href="{{ path('page_MarqueEmployeur') }}" title="Vidéo Marque Employeur">Vidéo Marque Employeur</a></li>
<li><a href="{{ path('page_accompagnementEntreprise') }}" title="Conseils & accompagnement">Conseils & accompagnement</a></li>
</ul>
</div>
</li>
<li>
<a class="collapsible-header" title="Les territoires">Territoires</a>
<div class="collapsible-body">
<ul>
<li><a href="{{ path('territory_list') }}">Liste des territoires</a></li>
<li><a href="{{ path('page_VideoTerritory') }}">La vidéo territoire</a></li>
<li><a href="{{ path('page_AccompagnementTerritory') }}">Conseils et accompagnement</a></li>
</ul>
</div>
</li>
<li>
<a class="collapsible-header" href="https://blog.talentstube.com" title="Blog Talents Tube">Blog</a>
</li>
</ul>
</div>
@@ -1,4 +1,4 @@
{% extends 'base.html.twig' %}
{% extends 'basetemporaire.html.twig' %}
{% block metarobot %}
{% if robot is defined and robot == 0 %}
@@ -6,6 +6,7 @@
{% else %}
<meta name="robots" content="index,follow">
{% endif %}
{% endblock %}
{% block title %}{{ page.title }}{% endblock %}
@@ -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 denregistrement vidéo simple, rapide et gratuit.
Vous recevez des vidéos de motivation, cest-à-dire des candidatures qui répondent à votre vidéo de
@@ -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 -->
@@ -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 lhumain au cœur du recrutement. Vous disposez dun levier concret et efficace pour
parfaire votre réputation. Développez lattractivité de votre entreprise pour séduire de nouveaux talents.
Grâce à la vidéo, votre entreprise replace lhumain au cœur du recrutement. Vous disposez dun levier
concret et efficace pour parfaire votre réputation. Développez lattractivité de votre entreprise pour
séduire de nouveaux talents.
<strong>Donnez vie à votre marque employeur en plaçant la vidéo au centre de votre stratégie de
communication et de votre gestion des ressources humaines.
</strong>
</p>
<a class="btn btn-sm btn-primary btn-wide" href="marque-employeur-video">En savoir plus</a>
<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 -->
@@ -35,7 +35,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"/>
</div>
</div>
<!-- End Input -->
@@ -51,7 +51,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" />
</div>
</div>
<!-- End Input -->
@@ -59,9 +59,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,7 +69,7 @@
</div>
<div class="col-6 text-right">
<a class="js-animation-link float-right" href="javascript:;" data-target="#forgotPassword"
<a class="js-animation-link float-right" href="resetting/request" data-target="#forgotPassword"
data-link-group="idForm" data-animation-in="fadeIn">Mot de passe oublié?</a>
</div>
</div>
@@ -83,20 +83,20 @@
<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,7 +138,7 @@
</a>
</p>
</div>
</div>
</div> #}
<!-- End Forgot Password -->
</div>
<!-- End Content -->
@@ -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>
@@ -9,9 +9,9 @@
<div class="list-group list-group-flush list-group-transparent">
<!-- Links -->
<ul class="list-unstyled">
<li><a class="nav-link u-header__sub-menu-nav-link px-0" href="/">Espace recruteurs</a></li>
<li><a class="nav-link u-header__sub-menu-nav-link px-0" href="https://www.talentstube.com/" target="_blank">Jobs</a></li>
<li><a class="nav-link u-header__sub-menu-nav-link px-0" href="#" target="_blank">CV Vidéothèque (En cours)</a></li>
<li><a class="list-group-item list-group-item-action" href="/">Espace recruteurs</a></li>
<li><a class="list-group-item list-group-item-action"href="https://www.talentstube.com/" target="_blank">Jobs</a></li>
{# <li><a class="list-group-item list-group-item-action" href="#" target="_blank">CV Vidéothèque (En cours)</a></li> #}
</ul>
<!-- End Links -->
</div>
@@ -25,10 +25,10 @@
<div class="list-group list-group-flush list-group-transparent">
<!-- Links -->
<ul class="list-unstyled">
<li><a class="nav-link u-header__sub-menu-nav-link px-0" href="mentions-legales">Mentions légales</a></li>
<li><a class="nav-link u-header__sub-menu-nav-link px-0" href="cgu">CGU</a></li>
<li><a class="nav-link u-header__sub-menu-nav-link px-0" href="politique-confidentialite">Politique de confidentialité</a></li>
<li><a class="nav-link u-header__sub-menu-nav-link px-0" href="https://blog.talentstube.com/contact.html
<li><a class="list-group-item list-group-item-action" href="mentions-legales">Mentions légales</a></li>
<li><a class="list-group-item list-group-item-action" href="cgu">CGU</a></li>
<li><a class="list-group-item list-group-item-action" href="politique-confidentialite">Politique de confidentialité</a></li>
<li><a class="list-group-item list-group-item-action" href="https://blog.talentstube.com/contact.html
">Contact</a></li>
</ul>
<!-- End Links -->
@@ -1,43 +1,44 @@
<!-- Plateforme DEBUT -->
<div class=" accueilFondBlanc">
<div class="container space-2 ">
<!-- Video Section -->
<div class=" accueilFondBlanc">
<div class=" ">
<!-- Video Section -->
<div class="">
<div class="container space-2-bottom space-3-bottom--lg">
<div class=" text-center mx-auto">
<!-- Video Block -->
<div id="youTubeVideoPlayer" class="u-video-player mb-7">
<!-- Cover Image -->
<img class="img-fluid u-video-player__preview" src="{{ asset('v2/img/1920x800/tutoriel-video-de-motivation-cv-video.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=CZDfD2ugXtg&t"
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>
<div class="gradient-overlay-half-dark-v1 bg-img-hero"
style="background-image: url({{ asset('v2/img/1920x800/tutoriel-video-de-motivation-cv-video.jpg')}});">
<div class="d-lg-flex align-items-lg-center flex-lg-column">
<div class="container space-3 space-4-top--lg">
<!-- Title -->
<div class="w-md-50">
<h1 class="display-4 font-size-48--md-down text-white">Accompagnement candidats</h1>
<p class="lead text-white">Suivez nos conseils pour postuler simplement aux offres demploi.</p>
</div>
<!-- End Title -->
</div>
</div>
<div class="container space-1-bottom">
<!-- Fancybox -->
<div class="d-inline-block">
<a class="js-fancybox u-media-player media align-items-center text-white" href="javascript:;"
data-src="https://www.youtube.com/watch?v=CZDfD2ugXtg&t" data-speed="700" data-animate-in="zoomIn"
data-animate-out="zoomOut" data-caption="Space - Responsive Website Template">
<span class="u-media-player__icon mr-3">
<i class="fa fa-play u-media-player__icon-inner"></i>
</span>
<span class="media-body">
<small class="d-block text-uppercase">Regarder</small>
la vidéo
</span>
</a>
<!-- End Play Button -->
<!-- Video Iframe -->
<div class="embed-responsive embed-responsive-16by9">
</div>
<!-- End Video Iframe -->
</div>
<!-- End Video Block -->
<!-- Title -->
<h2 class="h3">Accompagnement candidats</h2>
<p>Suivez nos conseils pour postuler simplement aux offres demploi.</p>
<!-- End Title -->
<!-- End Fancybox -->
</div>
</div>
</div>
<!-- End Video Section -->
</div>
</div>
</div>
<!-- Plateforme FIN -->
<!-- Plateforme FIN -->
@@ -1,29 +1,32 @@
<!-- Plateforme DEBUT -->
<div class=" accueilFondBleute">
<div class="container space-2 ">
<div class="row row justify-content-lg-end ">
<div class="col-md-6 ">
<!-- Title <div class="col-md-6 order-md-2 mb-5 mb-md-0">-->
<div class="mb-6">
<h2 class="h3"> Le CV classique : la fin dun modèle</h2>
<p> Dans un monde où les technologies, les compétences techniques ou hard skills évoluent très rapidement, le savoir-faire nest plus le principal critère de sélection des candidats.
<div class=" accueilFondBleute">
<div class="container space-2 ">
<div class="row row justify-content-lg-end ">
<div class="col-md-6 ">
<!-- Title <div class="col-md-6 order-md-2 mb-5 mb-md-0">-->
<div class="mb-6">
<h2 class="h3"> Le CV classique : la fin dun modèle</h2>
<p> Dans un monde où les technologies, les compétences techniques ou hard skills évoluent très rapidement, le
savoir-faire nest plus le principal critère de sélection des candidats. Aujourdhui, votre entreprise
recherche de plus en plus des compétences comportementales, communément appelées “soft skills”. Il est
difficile, voire impossible pour le candidat de communiquer ses qualités humaines à travers son CV.
Vous éprouvez des difficultés à détecter le talent quil vous faut ? Le CV papier ne vous suffit plus ? Vous
souhaitez en savoir plus sur le candidat avant de faire votre choix ? Nous réinventons pour vous, la mise en
relation pour lemploi.
Aujourdhui, votre entreprise recherche de plus en plus des compétences comportementales ou communément appelées “soft skills”. Il est difficile, voire impossible pour le candidat de communiquer ses qualités humaines à travers son CV.
</p>
<a class="btn btn-sm btn-primary btn-wide" href="https://www.talentstube.com/">Voir la plateforme</a>
Vous éprouvez des difficultés à détecter le talent quil vous faut ? Le CV papier ne vous suffit plus ? Vous souhaitez en savoir plus sur le candidat avant de faire votre choix ? Nous réinventons pour vous, la mise en relation pour lemploi.
</p>
<a class="btn btn-sm btn-primary btn-wide" href="https://www.talentstube.com/">Voir la plateforme</a>
</div>
</div>
</div>
<div class="col-md-6 align-right paddintRight">
<div class="mb-6">
<img class="img-fluid" src="{{ asset('v2/png/plateforme-de-recrutement-en-video.png') }}"
alt="Image Description">
</div>
<div class="col-md-6 align-right paddintRight">
<div class="mb-6">
<img class="img-fluid" src="{{ asset('v2/png/plateforme-de-recrutement-en-video.png') }}"
alt="Image Description">
</div>
</div>
</div>
</div>
<!-- Plateforme FIN -->
</div>
<!-- Plateforme FIN -->
@@ -10,8 +10,8 @@
<!-- End Gallery Heading -->
<!-- Gallery Description -->
<div class="col-lg-5 ml-lg-auto text-muted">
Ils ont postulé aux offres d'emploi vidéo
<div class="col-lg-12 ml-lg-auto text-muted">
Ils ont postulé aux offres d'emploi vidéo.
</div>
<!-- End Gallery Description -->
</div>
@@ -12,7 +12,7 @@
C4.4,5.6,4.4,4.9,4.4,4.5c0-1.6,0.8-2.9,2.5-3.7L7.1,1.3z"/>
</svg>
</figure>
<h2 class="text-white text-center">Fini le papier, faîtes place à la vidéo !</h2>
<h2 class="text-white text-center">Fini le papier, faites place à la vidéo !</h2>
</div>
</div>
@@ -1,12 +1,12 @@
<!-- Plateforme DEBUT -->
<div class=" accueilFondBlanc">
<div class=" accueilFondBlanc" id="atouts">
<div class="container space-2 ">
<div class="card-deck d-block d-lg-flex">
<div class="card card-frame mb-5">
<!-- Listing -->
<a class="card-body p-4" href="#">
<div class="media">
<img class="max-width-9 mb-2" src="{{ asset('v2/svg/components/consult-cyan-icon.svg') }}" alt="Image Description">
<img class="max-width-9 mb-2" src="{{ asset('v2/svg/components/multi-support.svg') }}" alt="Les candidats consultent et postulent aux offres demploi vidéo depuis leur smartphone, tablette ou ordinateur.">
<div class="media-body px-4">
<h4 class="h6 text-dark mb-1">Multi-support</h4>
<p class="mb-0">Smartphone, tablette ou ordinateur.</p>
@@ -18,9 +18,9 @@
<div class="card card-frame mb-5">
<!-- Listing -->
<a class="card-body p-4" href="#">
<a class="card-body p-4" href="#atouts">
<div class="media">
<img class="max-width-9 mb-2" src="{{ asset('v2/svg/components/plan-brown-icon.svg') }}" alt="Image Description">
<img class="max-width-9 mb-2" src="{{ asset('v2/svg/components/candidature-video-offre-emploi.svg') }}" alt="Les candidats disposent dun outil denregistrement vidéo pour postuler simplement à vos offres demploi en vidéo.">
<div class="media-body px-4">
<h4 class="h6 text-dark mb-1">Outil denregistrement vidéo</h4>
<p>Simple, rapide, gratuit et confidentiel.</p>
@@ -32,9 +32,9 @@
<div class="card card-frame mb-5">
<!-- Listing -->
<a class="card-body p-4" href="#">
<a class="card-body p-4" href="#atouts">
<div class="media">
<img class="max-width-9 mb-2" src="{{ asset('v2/svg/components/create-blue-icon.svg') }}" alt="Image Description">
<img class="max-width-9 mb-2" src="{{ asset('v2/svg/components/candidature-video.svg') }}" alt="Recevez des vidéos de réponse aux offres demploi vidéo ou des candidatures spontanées en vidéo.">
<div class="media-body px-4">
<h4 class="h6 text-dark mb-1">Candidature vidéo</h4>
<p>Réponse à vos offres demploi vidéo ou candidature spontanée.</p>
@@ -48,12 +48,12 @@
<div class="card-deck d-block d-lg-flex">
<div class="card card-frame mb-5">
<!-- Listing -->
<a class="card-body p-4" href="#">
<a class="card-body p-4" href="#atouts">
<div class="media">
<img class="max-width-9 mb-2" src="{{ asset('v2/svg/components/develop-purple-icon.svg') }}" alt="Image Description">
<img class="max-width-9 mb-2" src="{{ asset('v2/svg/components/tutoriel-aide-video.svg') }}" alt="Les candidats disposent dun tutoriel pour créer un CV vidéo ou une vidéo de motivation.">
<div class="media-body px-4">
<h4 class="h6 text-dark mb-1">Tutoriel vidéo</h4>
<p>Pour la réalisation, les candidats disposent de vidéos conseils.</p>
<p>Pour la réalisation, les candidats disposent de vidéos de conseils.</p>
</div>
</div>
</a>
@@ -62,9 +62,9 @@
<div class="card card-frame mb-5">
<!-- Listing -->
<a class="card-body p-4" href="#">
<a class="card-body p-4" href="#atouts">
<div class="media">
<img class="max-width-9 mb-2" src="{{ asset('v2/svg/components/rocket-red-icon.svg') }}" alt="Image Description">
<img class="max-width-9 mb-2" src="{{ asset('v2/svg/components/avantages-candidature-video.svg') }}" alt="Découvrez la personnalité, les motivations et le projet professionnel des candidats en vidéo.">
<div class="media-body px-4">
<h4 class="h6 text-dark mb-1">Les plus de la vidéo de motivation</h4>
<p>Personnalité, motivation et projet professionnel.</p>
@@ -76,9 +76,9 @@
<div class="card card-frame mb-5">
<!-- Listing -->
<a class="card-body p-4" href="#">
<a class="card-body p-4" href="#atouts">
<div class="media">
<img class="max-width-9 mb-2" src="{{ asset('v2/svg/components/data-analysis-dark-icon.svg') }}" alt="Image Description">
<img class="max-width-9 mb-2" src="{{ asset('v2/svg/components/gestion-des-candidatures.svg') }}" alt="Répondez aux candidats avec notre outil vidéo.">
<div class="media-body px-4">
<h4 class="h6 text-dark mb-1">Traitement des candidatures</h4>
<p>Réponses aux candidats depuis loutil : écrite ou en vidéo.</p>
@@ -4,7 +4,7 @@
<div class=" text-center ">
<!-- SVG Quote -->
<h2 class="text-white text-center">De nombreuses entreprises utilisent notre solution de recrutement, alors pourquoi pas vous ?</h2>
<h2 class="text-white text-center">Une question sur loffre demploi vidéo ?</h2>
</div>
</div>
<div class=" text-center space-3-bottom">
@@ -142,70 +142,7 @@ with {
});
});
$(document).on('ready', function () {
// initialization of header
$.HSCore.components.HSHeader.init($('#header'));
// initialization of fancybox
$.HSCore.components.HSFancyBox.init('.js-fancybox');
// initialization of unfold component
$.HSCore.components.HSUnfold.init($('[data-unfold-target]'), {
afterOpen: function () {
if (!$('body').hasClass('IE11')) {
$(this).find('input[type="search"]').focus();
}
}
});
// initialization of form validation
$.HSCore.components.HSValidation.init('.js-validate', {
rules: {
confirmPassword: {
equalTo: '#password'
}
}
});
// initialization of forms
$.HSCore.helpers.HSFocusState.init();
// initialization of malihu scrollbar
$.HSCore.components.HSMalihuScrollBar.init($('.js-scrollbar'));
// initialization of autonomous popups
$.HSCore.components.HSModalWindow.init('[data-modal-target]', '.js-signup-modal', {
autonomous: true
});
// initialization of show animations
$.HSCore.components.HSShowAnimation.init('.js-animation-link');
// initialization of slick carousel
$.HSCore.components.HSSlickCarousel.init('.js-slick-carousel');
// initialization of video player
$.HSCore.components.HSVideoPlayer.init('.js-inline-video-player');
// initialization of text animation (typing)
$('.u-text-animation.u-text-animation').html("");
var typed = new Typed(".u-text-animation.u-text-animation--typing", {
strings: [" Attirez des talents "],
typeSpeed: 60,
loop: true,
backSpeed: 25,
backDelay: 3000
});
// initialization of cubeportfolio
$.HSCore.components.HSCubeportfolio.init('.cbp');
// initialization of go to
$.HSCore.components.HSGoTo.init('.js-go-to');
});
$(document).ready(function () {
@@ -44,7 +44,7 @@
data-event="hover"
data-animation-in="fadeInUp"
data-animation-out="fadeOut">
<a id="homeMegaMenu" class="nav-link u-header__nav-link" href="offre-emploi-video">
<a id="homeMegaMenu" class="nav-link u-header__nav-link" href="{{ path('offresVideo') }}">
L'Offre d'emploi
</a>
@@ -53,7 +53,7 @@
<!-- Pages -->
<li class="nav-item u-header__nav-item">
<a id="PagesMegaMenu" class="nav-link u-header__nav-link" href="marque-employeur-video"
<a id="PagesMegaMenu" class="nav-link u-header__nav-link" href="{{ path('employeurVideo') }}"
aria-haspopup="true"
aria-expanded="false">
La Marque employeur
@@ -67,7 +67,7 @@
data-event="hover"
data-animation-in="fadeInUp"
data-animation-out="fadeOut">
<a id="worksMegaMenu" class="nav-link u-header__nav-link" href="candidatures-video">
<a id="worksMegaMenu" class="nav-link u-header__nav-link" href="{{ path('candidaturesVideo') }}">
La Candidature
</a>
File diff suppressed because it is too large Load Diff
@@ -14,11 +14,11 @@
<div class="col-sm-6 mb-7">
<!-- Icon Blocks -->
<div class="media pr-lg-2">
<img class="max-width-7 mr-3" src={{ asset('v2/svg/components/search-browser-primary-icon.svg') }}
alt="Image Description">
<img class="max-width-7 mr-3" src={{ asset('v2/svg/components/adn-entreprise-recrutement.svg') }}
alt="Dévoilez ladn de votre entreprise en vidéo et montrez vos atouts, vos valeurs et vos savoirs-faire.">
<div class="media-body">
<h3 class="h6"> Dévoilez lADN de votre entreprise</h3>
<p class="mb-0">Ses atouts, ses valeurs, ses savoirs-faire et sa richesse humaine.</p>
<p class="mb-0">Ses atouts, ses valeurs, ses savoir-faire et sa richesse humaine.</p>
</div>
</div>
<!-- End Icon Blocks -->
@@ -27,8 +27,8 @@
<div class="col-sm-6 mb-7 mb-sm-0">
<!-- Icon Blocks -->
<div class="media pr-lg-2">
<img class="max-width-7 mr-3" src={{ asset('v2/svg/components/genious-purple-icon.svg') }}
alt="Image Description">
<img class="max-width-7 mr-3" src={{ asset('v2/svg/components/attirer-des-candidats.svg') }}
alt="Attirez les candidats, valorisez et gardez vos compétences grâce à la vidéo.">
<div class="media-body">
<h3 class="h6">Recrutez mieux, fidélisez plus</h3>
<p class="mb-0">Attirez les talents, valorisez et gardez vos compétences.</p>
@@ -40,8 +40,8 @@
<div class="col-sm-6 mb-7 mb-sm-0">
<!-- Icon Blocks -->
<div class="media pr-lg-2">
<img class="max-width-7 mr-3" src={{ asset('v2/svg/components/analytics-blue-icon.svg') }}
alt="Image Description">
<img class="max-width-7 mr-3" src={{ asset('v2/svg/components/marque-employeur-offre-emploi-video.svg') }}
alt="Boostez vos recrutements avec la vidéo marque employeur et les offres demploi en vidéo.">
<div class="media-body">
<h3 class="h6">Offres demploi & marque employeur</h3>
<p class="mb-0">Les associer pour un recrutement optimal.</p>
@@ -54,8 +54,8 @@
<!-- Icon Blocks -->
<div class="media pr-lg-2">
<img class="max-width-7 mr-3" src={{ asset('v2/svg/components/documentation-red-icon.svg') }}
alt="Image Description">
<img class="max-width-7 mr-3" src={{ asset('v2/svg/components/ouvrir-les-portes-entreprise-marque-employeur.svg') }}
alt="Montrez aux candidats lintérieur de votre entreprise, le cadre de travail et le bien-être dans votre organisation.">
<div class="media-body">
<h3 class="h6">Ouvrez les portes de votre univers</h3>
<p class="mb-0">Organisation, cadre de travail, bien-être en entreprise.</p>
@@ -67,7 +67,7 @@
</div>
<div class="col-lg-4 d-none d-lg-block">
<img class="img-fluid" src={{ asset('v2/svg/components/startup-life-illustration.svg') }} alt="Image Description">
<img class="img-fluid" src={{ asset('v2/img/marque/pourquoi-faire-une-video-marque-employeur.jpg') }} alt="Image Description">
</div>
</div>
</div>
@@ -1,5 +1,5 @@
<!-- Plateforme DEBUT -->
<div class="space1-bottom accueilFondBleute">
<div class="space1-bottom gradient-overlay-half-primary-v1">
<div class="container space-2 ">
<div class="row align-items-lg-center">
@@ -10,9 +10,9 @@
<div class="col-md-4 mb-7 mb-md-0">
<!-- Icon Blocks -->
<div class="text-center px-lg-3">
<img class="max-width-14 mb-2" src="{{ asset('v2/svg/components/trophy-purple-icon.svg') }}" alt="Image Description">
<h3 class="h4">Valorisez votre implantation territoire</h3>
<p class="mb-0">Les talents sont sensibles à l’équilibre vie professionnelle et vie privée, la situation géographique de vos sites est un atout.</p>
<img class="max-width-14 mb-2" src="{{ asset('v2/svg/components/recrutement-territoire.svg') }}" alt="Image Description">
<h3 class="h4 text-white text-center">Valorisez votre implantation territoire</h3>
<p class="mb-0 text-white text-center">Les talents sont sensibles à l’équilibre vie professionnelle et vie privée, la situation géographique de vos sites est un atout.</p>
</div>
<!-- End Icon Blocks -->
</div>
@@ -20,9 +20,9 @@
<div class="col-md-4 mb-7 mb-md-0">
<!-- Icon Blocks -->
<div class="text-center px-lg-3">
<img class="max-width-14 mb-2" src="{{ asset('v2/svg/components/idea-primary-icon.svg') }}" alt="Image Description">
<h3 class="h4">Donnez la parole à vos collaborateurs</h3>
<p class="mb-0">Ce sont ceux qui le vivent qui en parlent le mieux. Soyez authentique, montrez les évolutions de carrière et donnez du sens à vos emplois.</p>
<img class="max-width-14 mb-2" src="{{ asset('v2/svg/components/temoignage-collaborateur.svg') }}" alt="Image Description">
<h3 class="h4 text-white text-center">Donnez la parole à vos collaborateurs</h3>
<p class="mb-0 text-white text-center">Ce sont ceux qui le vivent qui en parlent le mieux. Soyez authentique, montrez les évolutions de carrière et donnez du sens à vos emplois.</p>
</div>
<!-- End Icon Blocks -->
</div>
@@ -30,9 +30,9 @@
<div class="col-md-4">
<!-- Icon Blocks -->
<div class="text-center px-lg-3">
<img class="max-width-14 mb-2" src="{{ asset('v2/svg/components/rocket-red-icon.svg') }}" alt="Image Description">
<h3 class="h4">Boostez votre identité digitale</h3>
<p class="mb-0">Avec la vidéo, 1er média sur le web, propulsez votre image de marque employeur et gagnez en notoriété.</p>
<img class="max-width-14 mb-2" src="{{ asset('v2/svg/components/boost-identite-digitale.svg') }}" alt="Image Description">
<h3 class="h4 text-white text-center" >Boostez votre identité digitale</h3>
<p class="mb-0 text-white text-center">Avec la vidéo, 1er média sur le web, propulsez votre image de marque employeur et gagnez en notoriété.</p>
</div>
<!-- End Icon Blocks -->
</div>
@@ -1,101 +1,45 @@
<!-- Plateforme DEBUT -->
<div class="space1-bottom accueilFondBleute">
<!-- Features Section -->
<div class="container space-2 space-3--lg">
<!-- Title -->
<div class="w-md-80 w-lg-60 text-center mx-md-auto mb-9">
<span class="u-label u-label--sm u-label--purple mb-3">Key features</span>
<h2 class="h3">Comment ça fonctionne ?</h2>
<p>Vous ne savez pas comment réaliser votre vidéo et vous avez besoin daccompagnement ?
Nos équipes sont là pour construire avec vous le projet qui vous correspond. Avec nos prestataires audiovisuels, choisis et formés, nous pilotons le tournage et le montage de votre vidéo.
Sinon, passez directement à l’étape diffusion et bénéficiez des services de Talents Tube :</p>
</div>
<!-- End Title -->
<div class="row justify-content-lg-between align-items-lg-center">
<div class="col-lg-5 mb-7 mb-lg-0">
<!-- Slick Carousel - Features Main -->
<div id="featuresSlickNavMain" class="js-slick-carousel u-slick u-slick--pagination-simple u-slick--transform-off"
data-infinite="true"
data-autoplay="true"
data-speed="7000"
data-slides-show="3"
data-adaptive-height="true"
data-vertical="true"
data-vertical-swiping="true"
data-focus-on-select="true"
data-nav-for="#featuresSlickNavThumb">
<!-- Slide Item -->
<div class="js-slide u-slick--pagination-simple__item">
<div class="media">
<span class="u-slick--pagination-simple__icon rounded-circle mr-3">
<span class="u-slick--pagination-simple__icon-inner">1</span>
</span>
<div class="media-body">
<h3 class="h6 u-slick--pagination-simple__title">Les candidatures spontanées en vidéo </h3>
<p class="u-slick--pagination-simple__text">Vous êtes ouvert à tous types de profils ? Le rôle de la marque employeur est de donner envie à des talents de rejoindre vos équipes. Ils peuvent postuler en envoyant une candidature spontanée en vidéo ! </p>
</div>
</div>
</div>
<!-- End Slide Item -->
<!-- Slide Item -->
<div class="js-slide u-slick--pagination-simple__item">
<div class="media">
<span class="u-slick--pagination-simple__icon rounded-circle mr-3">
<span class="u-slick--pagination-simple__icon-inner">2</span>
</span>
<div class="media-body">
<h4 class="h6 u-slick--pagination-simple__title">Le recrutement optimal</h4>
<p class="u-slick--pagination-simple__text">Pour un recrutement optimisé, optez pour une vidéo marque employeur qui présente votre entreprise dans sa globalité et des vidéos doffres demploi explicites qui présentent vos différents métiers.
</p>
</div>
</div>
</div>
<!-- End Slide Item -->
<!-- Slide Item -->
<div class="js-slide u-slick--pagination-simple__item">
<div class="media">
<span class="u-slick--pagination-simple__icon rounded-circle mr-3">
<span class="u-slick--pagination-simple__icon-inner">3</span>
</span>
<div class="media-body">
<h4 class="h6 u-slick--pagination-simple__title">La page entreprise parfaite</h4>
<p class="u-slick--pagination-simple__text">Misez sur votre image dynamique, attrayante et référencée pour solutionner vos problématiques de recrutement. Gagnez du temps et assurez le matching avec vos talents. </p>
</div>
</div>
</div>
<!-- End Slide Item -->
<div class="accueilFondBleute">
<!-- Features Section -->
<div class="container space-2-top space-3--lg ">
<div class="row justify-content-lg-between align-items-md-center">
<div class="col-md-6 col-lg-5 mb-7 mb-md-0">
<!-- Title -->
<div class="mb-7">
<h2>Comment ça fonctionne ?</h2>
<p>Misez sur une image dynamique et attrayante pour solutionner vos problématiques de recrutement.</p>
</div>
<!-- End Slick Carousel - Features Main -->
<!-- End Title -->
<!-- Icon Block -->
<div class="media mb-3">
<img class="max-width-9" src="{{ asset('v2/svg/components/candidature-video-offre-emploi.svg') }}" alt="Recevez des candidatures spontanées grâce à la vidéo marque employeur.">
<div class="media-body pl-4">
<h4 class="h5 mb-1">Les candidatures spontanées en vidéo</h4>
<p>La vidéo marque employeur donne envie aux talents de postuler en candidature spontanée pour rejoindre vos équipes.</p>
</div>
</div>
<!-- End Icon Block -->
<!-- Icon Block -->
<div class="media mb-3">
<img class="max-width-9" src="{{ asset('v2/svg/components/avantages-candidature-video.svg') }}" alt="Optimisez votre recrutement avec une vidéo marque employeur et des offres demploi vidéo.">
<div class="media-body pl-4">
<h4 class="h5 mb-1">Le recrutement optimal</h4>
<p>Combinez la vidéo marque employeur et les offres d'emploi vidéo pour optimiser l'efficacité de vos recrutements.</p>
</div>
</div>
<!-- End Icon Block -->
</div>
<div class="col-lg-6">
<!-- Slick Carousel - Features Main -->
<div id="featuresSlickNavThumb" class="js-slick-carousel u-slick"
data-infinite="true"
data-autoplay="true"
data-speed="7000"
data-fade="true"
data-is-thumbs="true"
data-nav-for="#featuresSlickNavMain">
<div class="js-slide">
<object type="image/svg+xml" data="{{ asset('v2/svg/mockups/laptop-mockup-1.svg') }}"></object>
</div>
<div class="js-slide">
<object type="image/svg+xml" data="{{ asset('v2/svg/mockups/laptop-mockup-2.svg') }}"></object>
</div>
<div class="js-slide">
<object type="image/svg+xml" data="{{ asset('v2/svg/mockups/laptop-and-phone-2.svg') }}"></object>
</div>
</div>
<!-- End Slick Carousel - Features Main -->
<div class="col-md-6 mb-9 mb-md-0">
<img src="{{ asset('v2/img/marque/marque-employeur-candidature-spontanee.jpg') }}">
</div>
</div>
</div>
<!-- End Features Section -->
</div>
<!-- Plateforme FIN -->
</div>
@@ -6,10 +6,10 @@
<h2 class="text-white text-center"> Envie de dévoiler votre marque employeur en vidéo ? </h2>
</div>
<a class="btn btn-sm btn-contact" href="#"
<a class="btn btn-sm btn-contact" href="https://blog.talentstube.com/contact.html"
data-overlay-color="#151b26">
<i class="fa fa-user-circle mr-1"></i>
Contactez nous
Contactez-nous
</a>
</div>
@@ -6,14 +6,15 @@
<!-- Title -->
<div class="mb-4">
<h2 class="h3"> Pourquoi révéler votre marque employeur en vidéo ?</h2>
<p> Recruter, fidéliser, rayonner sont des bénéfices directs de la diffusion de votre marque employeur en
vidéo. Mettre en image vos locaux et votre organisation est une véritable plus value pour vos candidats
potentiels qui pourront se projeter dans lentreprise.
<p>
Recruter, fidéliser et rayonner sont des bénéfices directs de la diffusion de votre marque employeur en
vidéo. Mettre en image vos locaux et votre organisation sont de véritables plus-values pour vos candidats
potentiels qui pourront se projeter dans lentreprise. Diffuser votre vidéo sur Talents Tube vous permet de
cibler votre audience et de générer des candidatures spontanées, en vidéo !
Diffusez votre vidéo sur Talents Tube vous permet de cibler votre audience et de générer des candidatures
spontanées, en vidéo!
</p>
<a class="btn btn-sm btn-primary btn-wide" href="https://www.talentstube.com/Entreprises" target="_blank">En savoir plus</a>
<a class="btn btn-sm btn-primary btn-wide" href="https://www.talentstube.com/Entreprises" target="_blank">En
savoir plus</a>
</div>
</div>
@@ -1,16 +1,16 @@
<!-- Plateforme DEBUT -->
<div class="space1-bottom accueilFondBleute">
<div class="container space-2 ">
<div class="accueilFondBleute">
<div class="container ">
<div class="row align-items-lg-center">
<!-- Icon Blocks Section -->
<div class="container space-2 space-3--lg">
<div class="container ">
<div class="row">
<div class="col-md-4 mb-7 mb-md-0">
<!-- Icon Blocks -->
<div class="text-center px-lg-3">
<img class="max-width-14 mb-2" src="{{ asset('v2/svg/components/trophy-purple-icon.svg') }}" alt="Image Description">
<img class="max-width-14 mb-2" src="{{ asset('v2/svg/components/boost-annonce.svg') }}" alt="Améliorez le nombre de candidatures avec loffre demploi vidéo.">
<h3 class="h4">Améliorez vos annonces</h3>
<p class="mb-0">La vidéo génère 34% de candidatures supplémentaires par rapport à une annonce demploi écrite.</p>
</div>
@@ -20,7 +20,8 @@
<div class="col-md-4 mb-7 mb-md-0">
<!-- Icon Blocks -->
<div class="text-center px-lg-3">
<img class="max-width-14 mb-2" src="{{ asset('v2/svg/components/idea-primary-icon.svg') }}" alt="Image Description">
<img class="max-width-14 mb-2" src="{{ asset('v2/svg/components/attirer-des-candidats-large.svg') }}" alt="
Attirer les jeunes candidats à postuler en vidéo à vos offres demploi.">
<h3 class="h4">Attirez les jeunes candidats</h3>
<p class="mb-0">La génération des millenials représentera 75% de la population active dici 2030.</p>
</div>
@@ -30,7 +31,7 @@
<div class="col-md-4">
<!-- Icon Blocks -->
<div class="text-center px-lg-3">
<img class="max-width-14 mb-2" src="{{ asset('v2/svg/components/rocket-red-icon.svg') }}" alt="Image Description">
<img class="max-width-14 mb-2" src="{{ asset('v2/svg/components/mobile-first.svg') }}" alt="82 % des candidats recherchent des offres demploi depuis leur mobile.">
<h3 class="h4">Adoptez le Mobile First</h3>
<p class="mb-0">82% des candidats recherchent des offres demploi depuis leur smartphone.</p>
</div>
@@ -1,17 +1,19 @@
<!-- Plateforme DEBUT -->
<div class=" accueilFondBlanc">
<div class="container space-2 ">
<div class="container ">
<div class="row row justify-content-lg-end ">
<!-- Features Section -->
<div class="container space-2 space-3--lg">
<div class="container ">
<!-- Title -->
<div class="w-md-80 w-lg-60 text-center mx-md-auto mb-9">
<h2 class="h3">La démarche pour recruter</h2>
<p>Grâce au storytelling, vous racontez à vos employés potentiels, une histoire qui humanise votre entreprise.
Par linterview de vos collaborateurs, la visite de vos locaux, vous leur offrez une vue de lintérieur en
toute cohérence avec la réalité de votre quotidien.
<p>
Grâce au storytelling, vous racontez à vos employés potentiels, une histoire qui humanise votre entreprise.
Par linterview de vos collaborateurs, la visite de vos locaux... Vous leur offrez une vue de lintérieur
fidèle à la réalité de votre quotidien.
</p>
</div>
<!-- End Title -->
@@ -30,10 +32,11 @@
<span class="u-slick--pagination-simple__icon rounded-circle mr-3">
<span class="u-slick--pagination-simple__icon-inner">1</span>
</span>
<div class="media-body">
<div class="media-body demarche">
<h3 class="h6 u-slick--pagination-simple__title">Tournage dans vos locaux</h3>
<p class="u-slick--pagination-simple__text">Vous réalisez vos vidéos doffres demploi et marque
employeur en interne ou en faisant appel à un prestataire.</p>
<p class="u-slick--pagination-simple__text">Vous réalisez vos vidéos doffres demploi et <strong><a
href="{{ path('employeurVideo') }}">marque
employeur</a></strong> en interne ou en faisant appel à un prestataire.</p>
</div>
</div>
</div>
@@ -61,14 +64,13 @@
<span class="u-slick--pagination-simple__icon rounded-circle mr-3">
<span class="u-slick--pagination-simple__icon-inner">3</span>
</span>
<div class="media-body">
<div class="media-body demarche">
<h4 class="h6 u-slick--pagination-simple__title">Vos candidatures en vidéo
</h4>
<p class="u-slick--pagination-simple__text">Grâce à notre plateforme, les candidats se présentent en
vidéo pour exprimer leurs motivations à rejoindre votre entreprise.
Améliorez votre processus de recrutement en repensant lexpérience candidat et en optant pour le
recrutement vidéo ! Vous pouvez désormais remplacer vos vieilles annonces par une courte vidéo qui
donnera dautant plus envie aux candidats de postuler.
<p class="u-slick--pagination-simple__text">Grâce à notre plateforme, les candidats <strong><a
href="{{ path('candidaturesVideo') }}">se présentent en
vidéo</a></strong> pour exprimer leurs motivations à rejoindre votre entreprise.
</p>
</div>
</div>
@@ -91,12 +93,21 @@
</div>
<div class="js-slide">
<img class="" src="{{ asset('v2/tournage/candidature-en-video-offre-emploi.jpg') }}" alt="Tournage vidéo">
<img class="" src="{{ asset('v2/tournage/candidature-en-video-offre-emploi.jpg') }}"
alt="Tournage vidéo">
</div>
</div>
<!-- End Slick Carousel - Features Main -->
</div>
</div>
<div class="w-md-80 w-lg-60 text-center mx-md-auto mb-9">
<p>&nbsp;</p>
<p>
Améliorez votre processus de recrutement en repensant lexpérience candidat et en optant pour le
recrutement vidéo ! Vous pouvez désormais remplacer vos vieilles annonces par une courte vidéo qui
donnera dautant plus envie aux candidats de postuler.
</p>
</div>
</div>
<!-- End Features Section -->
</div>
@@ -5,7 +5,7 @@
<div class="col-md-6 ">
<!-- Title <div class="col-md-6 order-md-2 mb-5 mb-md-0">-->
<div class="mb-6">
<h2 class="h3"> Quest ce quune offre demploi vidéo ?</h2>
<h2 class="h3"> Quest-ce quune offre demploi vidéo ?</h2>
<p> Véritable outil dattractivité, vous vous distinguez auprès des
candidats en recherche de projets professionnels, mais aussi
auprès de toutes vos parties prenantes.
@@ -1,36 +1,41 @@
<!-- Plateforme DEBUT -->
<div class="space1-bottom accueilFondBleute">
<div class="container space-2 ">
<div class="row align-items-lg-center">
<div class="col-md-6 order-md-2 mb-5 mb-md-0">
<!-- Title <div class="col-md-6 order-md-2 mb-5 mb-md-0">-->
<div class="mb-6">
<h2 class="h3"> La vidéo doffre demploi améliore lefficacité de vos recrutements.</h2>
<p>À travers une présentation moderne, dynamique et originale de votre organisation, de votre équipe et du poste, vous vous distinguez des autres recruteurs.
<div class=" accueilFondBleute">
<div class="container ">
<div class="row align-items-lg-center">
<div class="col-md-6 order-md-2 mb-5 mb-md-0">
<!-- Title <div class="col-md-6 order-md-2 mb-5 mb-md-0">-->
<div class="mb-6">
<h2 class="h3"> La vidéo doffre demploi améliore lefficacité de vos recrutements.</h2>
<p>
À travers une présentation moderne, dynamique et originale de votre organisation, de votre équipe et du
poste, vous vous distinguez des autres recruteurs. Gagnez du temps pour la présélection des candidats et
évitez les erreurs de recrutement. En étant plus précis dans votre offre, vous séduisez les meilleurs
talents et seuls les candidats réellement intéressés postulent en vidéo. Replacez lhumain au cœur du
recrutement ! Véritable levier dengagement, fédérateur pour vos équipes et outil de fidélisation, vos
collaborateurs sont fiers de présenter leur métier.
Gagnez du temps pour la présélection des candidats et évitez les erreurs de recrutement. En étant plus précis dans votre offre, vous séduisez les meilleurs talents et seuls les candidats réellement intéressés postulent en vidéo. Replacez lhumain au cœur du recrutement !
</p>
<a class="btn btn-sm btn-primary btn-wide" href="https://www.talentstube.com/offres-emploi"
target="_blank">Voir la plateforme</a>
Véritable levier dengagement, fédérateur pour vos équipes et outil de fidélisation, vos collaborateurs sont fiers de présenter de leur métier.
</p>
<a class="btn btn-sm btn-primary btn-wide" href="https://www.talentstube.com/offres-emploi" target="_blank">Voir la plateforme</a>
</div>
</div>
</div>
<div class="col-md-6 align-right paddintRight">
<div class="mb-6">
<!-- Video Block -->
<div class="col-md-6 align-right paddintRight">
<div class="mb-6">
<!-- Video Block -->
<div id="youTubeVideoPlayer" class="u-video-player mb-7">
<!-- Cover Image -->
<img class="img-fluid u-video-player__preview" src="{{ asset('v2/png/temoignage-recrutement-offre-emploi-video.jpg') }}" alt="Image">
<img class="img-fluid u-video-player__preview"
src="{{ asset('v2/png/temoignage-recrutement-offre-emploi-video.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=Em3niStNutA"
data-speed="700" data-animate-in="zoomIn" data-animate-out="zoomOut"
data-caption="Témoignage">
<a class="js-fancybox text-white u-video-player__btn u-video-player__centered" href="javascript:;"
data-src="https://www.youtube.com/watch?v=Em3niStNutA" data-speed="700" data-animate-in="zoomIn"
data-animate-out="zoomOut" data-caption="Témoignage">
<span class="u-video-player__icon">
<i class="fa fa-play u-video-player__icon-inner"></i>
</span>
@@ -39,7 +44,7 @@ Véritable levier dengagement, fédérateur pour vos équipes et outil de fid
<!-- Video Iframe -->
<div class="embed-responsive embed-responsive-16by9">
</div>
<!-- End Video Iframe -->
</div>
@@ -47,9 +52,9 @@ Véritable levier dengagement, fédérateur pour vos équipes et outil de fid
</div>
</div>
</div>
</div>
</div>
<!-- Plateforme FIN -->
</div>
<!-- Plateforme FIN -->
@@ -0,0 +1,196 @@
{% extends 'baseVideotheque.html.twig' %}
{% block title %}Vidéothèque : Découvrez les talents de votre territoire - Talents Tube{% endblock %}
{% block meta %}
<meta name="description" content="Vidéothèque : Découvrez les talents de votre territoire">
<meta name="twitter:card" content="summary">
<meta name="twitter:site" content="@TalentsTube">
<meta name="twitter:title" content="Vidéothèque : Découvrez les talents de votre territoire">
<meta name="twitter:description" content="Découvrez le savoir-faire, le savoir-être et les motivations des candidats en vidéo. Gagnez du temps et optimisez votre processus de recrutement.">
<meta name="twitter:image" content="{{ absolute_url(asset('img/mail/logo-talents-tube.png')) }}">
{#Open Graph data pour le partage sur les réseaux sociaux (ex Facebook..)#}
<meta property="og:title" content="Vidéothèque : Découvrez les talents de votre territoire" />
<meta property="og:type" content="article" />
<meta property="og:image" content="{{ absolute_url(asset('img/mail/logo-talents-tube.png')) }}" />
<meta property="og:description" content="Découvrez le savoir-faire, le savoir-être et les motivations des candidats en vidéo. Gagnez du temps et optimisez votre processus de recrutement." />
<meta property="og:site_name" content="Talents Tube" />
<meta property="og:url" content="{{ url(app.request.attributes.get('_route'), app.request.attributes.get('_route_params')) }}" />
{% endblock %}
{% block content %}
<main id="content">
<div class="bg-img-hero" style="background-image: url({{ asset('v2/img/1920x1080/img17.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">
<!-- Title -->
<div class="mb-9">
<h1 class="display-3 font-size-48--md-down font-weight-medium">Bientôt ici votre vidéothèque</h1>
<p class="lead">Revenez plus tard. Nous travaillons sur le sujet ;-)</p>
</div>
<!-- End Title -->
</div>
</div>
</div>
</div>
</main>
<!-- ========== END MAIN CONTENT ========== -->
<!-- Begin Panel Login -->
{% include 'defaultv2/accueil/blocLogin.html.twig'
with {
'csrf_token': csrf_token,
'error' : error
} %}
<!-- End Panel Login -->
<!-- Go to Top -->
<a class="js-go-to u-go-to" href="javascript:;" data-position='{"bottom": 30, "right": 100 }' data-type="fixed"
data-offset-top="400" data-compensation="#header" data-show-effect="slideInUp" data-hide-effect="slideOutDown">
<i class="fa fa-arrow-up u-go-to__inner"></i>
</a>
<!-- End Go to Top -->
<!-- JS Global Compulsory -->
<script src="{{ asset('v2/vendor/jquery/dist/jquery.min.js') }}"></script>
<script src="{{ asset('v2/vendor/jquery-migrate/dist/jquery-migrate.min.js') }}"></script>
<script src="{{ asset('v2/vendor/popper.js/dist/umd/popper.min.js') }}"></script>
<script src="{{ asset('v2/vendor/bootstrap/bootstrap.min.js') }}"></script>
<!-- JS Implementing Plugins -->
<script src="{{ asset('v2/vendor/hs-megamenu/src/hs.megamenu.js') }}"></script>
<script src="{{ asset('v2/vendor/jquery-validation/dist/jquery.validate.min.js') }}"></script>
<script src="{{ asset('v2/vendor/malihu-custom-scrollbar-plugin/jquery.mCustomScrollbar.concat.min.js') }}"></script>
<script src="{{ asset('v2/vendor/custombox/dist/custombox.min.js') }}"></script>
<script src="{{ asset('v2/vendor/custombox/dist/custombox.legacy.min.js') }}"></script>
<script src="{{ asset('v2/vendor/typed.js/lib/typed.min.js') }}"></script>
<script src="{{ asset('v2/vendor/slick-carousel/slick/slick.js') }}"></script>
<script src="{{ asset('v2/vendor/cubeportfolio/js/jquery.cubeportfolio.min.js') }}"></script>
<script src="{{ asset('v2/vendor/fancybox/jquery.fancybox.min.js') }}"></script>
<!-- JS Space -->
<script src="{{ asset('v2/js/hs.core.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.header.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.unfold.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.validation.js') }}"></script>
<script src="{{ asset('v2/js/helpers/hs.focus-state.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.malihu-scrollbar.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.fancybox.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.modal-window.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.show-animation.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.slick-carousel.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.cubeportfolio.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.g-map.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.go-to.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.video-player.js') }}"></script>
<!-- JS Plugins Init. -->
<script>
// initialization of google map
{# function initMap() {
$.HSCore.components.HSGMap.init('.js-g-map');
} #}
$(window).on('load', function () {
// initialization of HSMegaMenu component
$('.js-mega-menu').HSMegaMenu({
event: 'hover',
pageContainer: $('.container'),
breakpoint: 767,
hideTimeOut: 0
});
});
$(document).on('ready', function () {
// initialization of header
$.HSCore.components.HSHeader.init($('#header'));
// initialization of fancybox
$.HSCore.components.HSFancyBox.init('.js-fancybox');
// initialization of unfold component
$.HSCore.components.HSUnfold.init($('[data-unfold-target]'), {
afterOpen: function () {
if (!$('body').hasClass('IE11')) {
$(this).find('input[type="search"]').focus();
}
}
});
// initialization of form validation
$.HSCore.components.HSValidation.init('.js-validate', {
rules: {
confirmPassword: {
equalTo: '#password'
}
}
});
// initialization of forms
$.HSCore.helpers.HSFocusState.init();
// initialization of malihu scrollbar
$.HSCore.components.HSMalihuScrollBar.init($('.js-scrollbar'));
// initialization of autonomous popups
$.HSCore.components.HSModalWindow.init('[data-modal-target]', '.js-signup-modal', {
autonomous: true
});
// initialization of show animations
$.HSCore.components.HSShowAnimation.init('.js-animation-link');
// initialization of slick carousel
$.HSCore.components.HSSlickCarousel.init('.js-slick-carousel');
// initialization of video player
$.HSCore.components.HSVideoPlayer.init('.js-inline-video-player');
$('.u-text-animation.u-text-animation').html("");
// initialization of text animation (typing)
var typed = new Typed(".u-text-animation.u-text-animation--typing", {
strings: ["Recevez des candidatures", "Découvrez le potentiel des candidats", "Recevez des candidatures"],
typeSpeed: 60,
loop: true,
backSpeed: 25,
backDelay: 3000
});
// initialization of cubeportfolio
$.HSCore.components.HSCubeportfolio.init('.cbp');
// initialization of go to
$.HSCore.components.HSGoTo.init('.js-go-to');
});
$(document).ready(function () {
$(window).scroll(function () { // check if scroll event happened
if ($(document).scrollTop() > 50) { // check if user scrolled more than 50 from top of the browser window
$("#logoAndNav").css("background-color","#000"); // if yes, then change the color of class "navbar-fixed-top" to white (#f8f8f8)
$("#sidebarNavToggler").css("color","#fff");
} else {
$("#logoAndNav").css("background-color", "transparent"); // if not, change it back to transparent
$("#sidebarNavToggler").css("color", "#000");
}
});
});
</script>
{% endblock %}
{% block javascripts %}
{{ parent() }}
<script src="https://player.vimeo.com/api/player.js"></script>
{% endblock %}
@@ -19,8 +19,8 @@
<div class="progress">
<div class="determinate" style="width: 0%"></div>
</div>
<div class="dz-success-mark"><span>✔</span></div>
<div class="dz-error-mark"><span>✘</span></div>
{# <div class="dz-success-mark"><span>✔</span></div>
<div class="dz-error-mark"><span>✘</span></div> #}
<div class="dz-error-message"><span data-dz-errormessage></span></div>
{% if deleting is defined %}
<a href="javascript:undefined;" class="dz-remove" data-dz-remove>Supprimer la vidéo</a>
@@ -0,0 +1,36 @@
{% block dropzone %}
<div id="dropzone-row" class="row">
<div class="col s12">
<div class="dropzone dz-clickable" id="my-awesome-dropzone">
<div id="template-container-dz">
<div id="template" class="file-row">
<div class="dz-preview">
<div id="preview_video">
{% if video is defined %}
{% if video is not null %}
<iframe
src="https://player.vimeo.com{{ video.getCdnUrl()|replace({ "videos": "video"}) }}"
width="100%" height="300px" frameborder="0"
webkitallowfullscreen mozallowfullscreen allowfullscreen>
</iframe>
{% endif %}
{% endif %}
</div>
<div class="progress">
<div class="determinate" style="width: 0%"></div>
</div>
{# <div class="dz-success-mark"><span>✔</span></div>
<div class="dz-error-mark"><span>✘</span></div> #}
<div class="dz-error-message"><span data-dz-errormessage></span></div>
<div class="dz-message">Supprimer</div>
{% if deleting is defined %}
<a href="javascript:undefined;" class="dz-remove" data-dz-remove>Supprimer la vidéo</a>
{% endif %}
</div>
</div>
</div>
</div>
</div>
</div>
{% endblock %}
@@ -1,9 +1,9 @@
{% block content %}
<div class="row">
<div class="col s12">
{# <div class="col s12">
<h4>{% trans %}label.webcam.answer.step2{% endtrans %}</h4>
</div>
<div class="col s10 offset-s1 answer-dropzone">
</div> #}
<div class="col s10 answer-dropzone text-center">
{% include 'media/dropzone.html.twig' with {'deleting': true } %}
</div>
</div>
@@ -1,13 +1,20 @@
<div class="profil-picture mini-profil-picture">
{% if answer.user.getWebPath() %}
{% if user.socialPicture is not null and user.photo is null %}
<img class="circle responsive-img" src="{{ user.socialPicture }}" alt="{{ user.firstname }} {{ user.lastname|first|upper }}"/>
{% elseif user.photo %}
<img class="circle responsive-img" src="{{ user.webPath | imagine_filter('profile_square') }}" alt="{{ user.firstname }} {{ user.lastname }}"/>
{% else %}
<div class="circle-letters font-2">{{ user.firstname|first|upper }}{{ user.lastname|first|upper }}</div>
{% endif %}
{% if user.socialPicture is not null and user.photo is null %}
<img class="circle responsive-img" src="{{ user.socialPicture }}"
alt="{{ user.firstname }} {{ user.lastname|first|upper }}" />
{% elseif user.photo %}
<img class="circle responsive-img" src="{{ user.webPath | imagine_filter('profile_square') }}"
alt="{{ user.firstname }} {{ user.lastname }}" />
{% else %}
<div class="circle-letters font-2">{{ user.firstname|first|upper }}{{ user.lastname|first|upper }}</div>
<div class="circle-letters font-2">{{ user.firstname|first|upper }}{{ user.lastname|first|upper }}</div>
{% endif %}
{% else %}
<img alt="Avatar" width="55" height="55"
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="circle-letters font-2">{{ user.firstname|first|upper }}{{ user.lastname|first|upper }}</div> #}
{% endif %}
</div>
@@ -1,4 +1,4 @@
{% extends 'base.html.twig' %}
{% extends 'basetemporaire.html.twig' %}
{% block title %}Recruter un(e) employé(e) spécialisé(e)
{% for t in user.company.publicTag %}{{ t }}
@@ -6,7 +6,28 @@
{% block description %}Découvrez le CV vidéo de
{{ user.firstname }}. Trouvez le prochain talent de votre équipe sur Talents Tube.{% endblock %}
{% block ogtc %}
{#Twitter Card data pour les données enrichies sur Twitter#}
<meta name="twitter:card" content="summary">
<meta name="twitter:site" content="@TalentsTube">
<meta name="twitter:title" content="Découvrez le CV vidéo de
{{ user.firstname }} sur Talents Tube">
<meta name="twitter:description" content="Découvrez le CV vidéo de
{{ user.firstname }}. Trouvez le prochain talent de votre équipe sur Talents Tube.">
<meta name="twitter:image" content="{{ absolute_url(asset('img/mail/logo-talents-tube.png')) }}">
{#Open Graph data pour le partage sur les réseaux sociaux (ex Facebook..)#}
<meta property="og:title" content="Découvrez le CV vidéo de
{{ user.firstname }} sur Talents Tube" />
<meta property="og:type" content="article" />
<meta property="og:image" content="{{ absolute_url(asset('img/mail/logo-talents-tube.png')) }}" />
<meta property="og:description" content="Découvrez le CV vidéo de
{{ user.firstname }}. Trouvez le prochain talent de votre équipe sur Talents Tube." />
<meta property="og:site_name" content="Talents Tube" />
<meta property="og:url" content="{{ url(app.request.attributes.get('_route'), app.request.attributes.get('_route_params')) }}" />
{% endblock %}
{% block content %}
{% include 'default/flash_message.html.twig' %}
@@ -39,7 +39,7 @@ class AdController extends Controller
$dateArray = null;
$records = $stats->getCompanyDashboard($this->getUser()->getCompany()->getId(), $dateArray);
$ads = $em->getRepository('AppBundle:Ad')->findBy(array('creator' => $this->getUser()));
$ads = $em->getRepository('AppBundle:Ad')->findBy(array('company' => $this->getUser()->getCompany()));
return $this->render('company/ad_list.html.twig', array(
'ads' => $ads,
'arrayByAds' => $records['arrayByAds']
@@ -90,7 +90,7 @@ class AdController extends Controller
/**
* @Route("/entreprise/me/espace-oe/annonce/{id}/editer", name="company_ad_edit")
* @Security("(ad.getStatus() == 'DRAFT' or ad.getStatus() == 'DECLINED') and ad.getCompany() == user.getCompany()")
* @Security("(ad.getStatus() == 'DRAFT' or ad.getStatus() == 'DECLINED' or ad.getStatus() == 'TO_PUBLISH') and ad.getCompany() == user.getCompany()")
*/
public function companyEditAdAction(Request $request, Ad $ad)
{
@@ -112,8 +112,9 @@ class AdController extends Controller
$adManager->updateAd($ad);
return $this->redirectToRoute('create_media', array('id' => $ad->getId()));
}
return $this->render('company/ad_edit.html.twig', [
return $this->render('company/ad_create.html.twig', [
'form' => $form->createView(),
'type' => 'update'
]);
}
@@ -368,7 +369,7 @@ class AdController extends Controller
$ads[] = $ad;
}
}
return $ads;
}
@@ -15,4 +15,12 @@ class DefaultController extends Controller
{
return $this->render('admin/dashboard.html.twig', array());
}
/**
* @Route("/template", name="admin_template")
*/
public function templateAction()
{
return $this->render('admin/template.html.twig', array());
}
}
@@ -122,11 +122,40 @@ class SecurityController extends FOSRestController
$newLastName = htmlspecialchars($request->get('lastname'));
$newFirstName = htmlspecialchars($request->get('firstname'));
$phoneTalent = htmlspecialchars($request->get('phone'));
$address1Talent = htmlspecialchars($request->get('address1'));
$address2Talent = htmlspecialchars($request->get('address2'));
$zipTalent = htmlspecialchars($request->get('zipCode'));
$cityTalent = htmlspecialchars($request->get('city'));
$countryTalent = htmlspecialchars($request->get('country'));
if ($request->get('address1')){
$address1Talent = htmlspecialchars($request->get('address1'));
}
else{
$address1Talent = "";
}
if ($request->get('address2')){
$address2Talent = htmlspecialchars($request->get('address2'));
}
else{
$address2Talent = "";
}
if ($request->get('zipCode')){
$zipTalent = htmlspecialchars($request->get('zipCode'));
}
else{
$zipTalent = "";
}
if ($request->get('city')){
$cityTalent = htmlspecialchars($request->get('city'));
}
else{
$cityTalent = "";
}
if ($request->get('country')){
$countryTalent = htmlspecialchars($request->get('country'));
}
else{
$countryTalent = "";
}
$titleTalent = htmlspecialchars($request->get('currentJob'));
$newLinkedin = htmlspecialchars($request->get('linkedin'));
$newTwitter = htmlspecialchars($request->get('twitter'));
@@ -3,9 +3,11 @@
namespace AppBundle\Controller;
use AppBundle\Entity\Company;
use AppBundle\Entity\User;
use AppBundle\Form\AdSearchType;
use AppBundle\Form\CompanyProfileType;
use AppBundle\Form\UserType;
use AppBundle\Form\UserTypeCreate;
use Edeclic\PrestashopBridgeBundle\Event\PrestashopBridgeEvents;
use Edeclic\PrestashopBridgeBundle\Event\ProductEvent;
use Edeclic\PrestashopBridgeBundle\Event\UserEvent;
@@ -26,7 +28,7 @@ class CompanyController extends Controller
setlocale(LC_ALL, 'fr_FR.utf-8');
$stats = $this->get("app.stats_manager");
$em = $this->getDoctrine()->getManager();
$ads = $em->getRepository('AppBundle:Ad')->findBy(array('creator' => $this->getUser()));
$ads = $em->getRepository('AppBundle:Ad')->findBy(array('company' => $this->getUser()->getCompany()));
$records = $stats->getCompanyDashboard($this->getUser()->getCompany()->getId(), null);
return $this->render('company/dashboard.html.twig', [
'ads' => $ads,
@@ -126,6 +128,91 @@ class CompanyController extends Controller
]);
}
/**
* @Route("/entreprise/me/users", name="users")
*/
public function companyMyUsersAction(Request $request)
{
$em = $this->getDoctrine()->getManager();
$stats = $this->get("app.stats_manager");
$companyId = $this->getUser()->getCompany()->getId();
$dateArray = null;
$records = $stats->getCompanyDashboard($this->getUser()->getCompany()->getId(), $dateArray);
$ads = $em->getRepository('AppBundle:Ad')->findBy(array('creator' => $this->getUser()));
$users = $em->getRepository('AppBundle:User')->findUsersByCompanyId($companyId);
return $this->render('company/users_list.html.twig', array(
'ads' => $ads,
'users' => $users,
'arrayByAds' => $records['arrayByAds']
));
}
/**
* @Route("/entreprise/me/espace-users/user/creer", name="user_create")
*/
public function createUserAction(Request $request)
{
$user = new User();
$userConnecte = $this->getUser();
$company = $userConnecte->getCompany();
$userManager = $this->get('fos_user.user_manager');
$form = $this->createForm(UserTypeCreate::class, $user);
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
$user->setFirstname($form["firstname"]->getData());
$user->setLastname($form["lastname"]->getData());
$user->setEmail($form["email"]->getData());
$user->setPlainPassword($form["password"]->getData());
$user->setCompany($company);
$user->setEnabled(true);
$user->setRoles(array('ROLE_COMPANY'));
$userManager->updateUser($user);
return $this->redirectToRoute('users');
}
return $this->render('company/user_create.html.twig', array(
'form' => $form->createView(),
));
}
/**
* @Route("/entreprise/me/espace-users/user/{id}/editer", name="user_edit")
*/
public function userEditAdAction(Request $request, User $user)
{
//$form = $this->createForm(AdType::class, $ad);
$userManager = $this->get('fos_user.user_manager');
$userConnecte = $this->getUser();
$company = $userConnecte->getCompany();
$form = $this->createForm(UserTypeCreate::class, $user);
$date = new \DateTime('now');
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
$user->setFirstname($form["firstname"]->getData());
$user->setLastname($form["lastname"]->getData());
$user->setEmail($form["email"]->getData());
//$user->setPlainPassword($form["password"]->getData());
$user->setCompany($company);
$user->setEnabled(true);
$user->setRoles(array('ROLE_COMPANY'));
$userManager->updateUser($user);
return $this->redirectToRoute('users');
}
return $this->render('company/user_create.html.twig', array(
'form' => $form->createView(),
));
}
/**
* @Route("/entreprise/me/mes-recherches", name="company_my_searches")
*/
@@ -125,6 +125,28 @@ class DefaultController extends Controller
);
}
/**
* @Route("/cvtheque", name="talent_index")
*/
public function talentIndexAction(Request $request)
{
$params = $this->getParams($request);
$usename = $params["lastUsername"];
$csrfToken = $params["csrfToken"];
$error = $params["error"];
$destination_login = "admin/dashboard";
return $this->render(
'defaultv2/talents/index.html.twig', [
'last_username' => $usename,
'csrf_token' => $csrfToken,
'error' => $error,
'destination_login' => $destination_login
]
);
}
/**
* @Route("/candidatures-video", name="candidaturesVideo")
*/
@@ -122,14 +122,27 @@ class MediaController extends Controller
->add('title', TextType::class, array(
'label' => 'Titre de la vidéo',
'required' => true,
'attr' => array(
'class' => 'form-control'
)
))
->getForm();
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
$media = $form->getData();
$em->persist($media);
// Modif de la date de publication à la date du jour
$now = new \DateTime('now');
$ad->setPublishedAt($now);
$numberOfMonth = 6;
$unpublishedDate = new \DateTime('now');
$unpublishedDate = $unpublishedDate->add(new \DateInterval('P' . $numberOfMonth . 'M'));
$ad->setUnpublishedAt($unpublishedDate);
$em->persist($ad);
$em->flush();
return $this->redirectToRoute('company_ad_step3', array('id' => $ad->getId()));
//return $this->redirectToRoute('company_ad_step3', array('id' => $ad->getId()));
}
return $this->render('company/createMedia.html.twig', array(
@@ -169,7 +182,13 @@ class MediaController extends Controller
$mediaManager = $this->get('media_manager');
$message = $mediaManager->upload($ad, $uploadedFile, $ad->getCreator());
}
$em = $this->getDoctrine()->getManager();
$ad->setIsVerified(true);
$ad->setPrivate(false);
$ad->setPromoted(true);
$em->persist($ad);
dump($ad);
$em->flush();
return new JsonResponse($message);
}
@@ -396,4 +396,10 @@ class TalentController extends Controller
return $res;
}
/***********************
* This route must stay at the end
***********************/
}
@@ -411,6 +411,17 @@ class Company
return $this->id;
}
/**
* Set id.
*
* @return int
*/
public function setId($id)
{
$this->id = $id;
return $this;
}
/**
* Set brandName.
*
@@ -371,6 +371,11 @@ class User extends BaseUser
{
$pres="";
$cv="";
$address1 = "";
$address2 = "";
$zipCode = "";
$city = "";
$country = "";
if($this->getCompany()->getPresentationVideo())
{
@@ -381,7 +386,24 @@ class User extends BaseUser
{
$cv= $this->getCompany()->getCv();
}
$this->getCompany()->initAddress();
if ($this->getCompany()){
$addr= $this->getCompany()->getAddresses();
if($addr && $addr['billing']){
$addr1 = $addr['billing'];
$address1 = $addr1['address1'];
$address2 = $addr1['address2'];
$zipCode = $addr1['postcode'];;
$city = $addr1['city'];
$country = $addr1['country'];
}
}
$card = array(
"firstname" => $this->getFirstname(),
"lastname" => $this->getLastname(),
@@ -393,11 +415,11 @@ class User extends BaseUser
"twitter" => $this->getCompany()->getExtra()["twitter"],
"videoPres" => $pres,
"cv" => $cv,
"address1" => $this->getCompany()->getAddress(),
"address2" => $this->getCompany()->getAddressComp(),
"zipCode" => $this->getCompany()->getZipcode(),
"city" => $this->getCompany()->getCity(),
"country" => $this->getCompany()->getCountry(),
"address1" => $address1,
"address2" => $address2,
"zipCode" => $zipCode,
"city" => $city,
"country" => $country,
"currentJob" => $this->getCompany()->getExtra()["titleTalent"],
"website" => $this->getCompany()->getWebsite(),
);
@@ -42,23 +42,30 @@ class AdSoftType extends AbstractType
'mapped' => false,
'label' => 'Localisation de l\'annonce',
'attr' => array(
'value' => $location_gmap
'value' => $location_gmap,
'class' => 'form-control'
)
))
->add('location', HiddenType::class, array(
'data' => $location,
'attr' => array(
'class' => 'form-control'
)
))
->add('description', TextareaType::class, array(
'label' => 'Description de l\'annonce',
'attr' => array(
'class' => 'materialize-textarea',
'placeholder' => 'Décrire votre annonce'
'placeholder' => 'Décrire votre annonce',
'class' => 'form-control'
)
))
->add('beneficiaire', TextType::class, array(
'label' => 'Bénéficiaire (En cas de gestion multi entreprise)',
'label' => 'Organisation cliente (Vous souhaitez recruter pour l\'un de vos clients, renseignez ce champ)',
'required' => false,
'attr' => array(
'placeholder' => 'Indiquer un bénéficiaire'
'placeholder' => 'Indiquer une organisation',
'class' => 'form-control'
)
))
->add('contract_type', ChoiceType::class, array(
@@ -72,11 +79,28 @@ class AdSoftType extends AbstractType
'Professionalisation' => 'Professionalisation',
'Stage' => 'Stage',
'Indépendant' => 'Indépendant'
),
'attr' => array(
'class' => 'form-control'
)
))
->add('status', ChoiceType::class, array(
'label' =>'Statut',
'choices' => array(
'Brouillon' => 'DRAFT',
'A publier' => 'TO_PUBLISH',
),
'attr' => array(
'class' => 'form-control'
)
))
->add('publicTag', TextType::class, array(
'label' => 'profile.company.tags',
'data' => $publicTags,
'attr' => array(
'class' => 'form-control'
)
));
}
}
@@ -41,26 +41,31 @@ class AdType extends AbstractType
->add('reference', TextType::class, array(
'label' => 'Référence de l\'annonce',
'attr' => array(
'placeholder' => 'Indiquer une référence'
'placeholder' => 'Indiquer une référence',
'class' => 'form-control'
)
))
->add('title', TextType::class, array(
'label' => 'Titre de l\'annonce',
'attr' => array(
'placeholder' => 'Indiquer un titre'
'placeholder' => 'Indiquer un titre',
'class' => 'form-control'
)
))
->add('beneficiaire', TextType::class, array(
'label' => 'Bénéficiaire (En cas de gestion multi entreprise)',
'label' => 'Organisation cliente (Vous souhaitez recruter pour l\'un de vos clients, renseignez ce champ)',
'required' => false,
'attr' => array(
'placeholder' => 'Indiquer un bénéficiaire'
'placeholder' => 'Indiquer une organisation',
'class' => 'form-control'
)
))
->add('location_gmap', TextType::class, array(
'mapped' => false,
'label' => 'Localisation de l\'annonce',
'attr' => array(
'value' => $location_gmap
'value' => $location_gmap,
'class' => 'form-control'
)
))
->add('location', HiddenType::class, array(
@@ -70,7 +75,8 @@ class AdType extends AbstractType
'label' => 'Description de l\'annonce',
'attr' => array(
'class' => 'materialize-textarea',
'placeholder' => 'Décrire votre annonce'
'placeholder' => 'Décrire votre annonce',
'class' => 'form-control'
)
))
->add('contract_type', ChoiceType::class, array(
@@ -84,11 +90,29 @@ class AdType extends AbstractType
'Professionalisation' => 'Professionalisation',
'Stage' => 'Stage',
'Indépendant' => 'Indépendant'
),
'attr' => array(
'class' => 'form-control'
)
))
->add('publicTag', TextType::class, array(
'label' => 'profile.company.tags',
'data' => $publicTags,
'attr' => array(
'value' => $publicTags,
'class' => 'form-control'
)
))
->add('status', ChoiceType::class, array(
'label' =>'Statut',
'choices' => array(
'Brouillon' => 'DRAFT',
'A publier' => 'TO_PUBLISH',
),
'attr' => array(
'class' => 'form-control'
)
));
// ->add('privateTag', TextType::class, array(
// 'label' => 'private Tags',
@@ -34,37 +34,55 @@ class AdType extends AbstractType
->add('reference', TextType::class, array(
'label' => 'Référence de l\'annonce',
'attr' => array(
'placeholder' => 'Indiquer une référence'
'placeholder' => 'Indiquer une référence',
'class' => 'form-control'
)
))
->add('title', TextType::class, array(
'label' => 'Titre de l\'annonce',
'attr' => array(
'placeholder' => 'Indiquer un titre'
'placeholder' => 'Indiquer un titre',
'class' => 'form-control'
)
))
->add('location_gmap', TextType::class, array(
'mapped' => false,
'label' => 'Localisation de l\'annonce',
'attr' => array(
'value' => $location_gmap
'value' => $location_gmap,
'class' => 'form-control'
)
))
->add('location', HiddenType::class, array(
'data' => $location,
'attr' => array(
'class' => 'form-control'
)
))
->add('beneficiaire', TextType::class, array(
'label' => 'Organisation cliente (Vous souhaitez recruter pour l\'un de vos clients, renseignez ce champ)',
'required' => false,
'attr' => array(
'placeholder' => 'Indiquer une organisation',
'class' => 'form-control'
)
))
->add('description', TextareaType::class, array(
'label' => 'Description de l\'annonce',
'attr' => array(
'placeholder' => 'Décrire votre annonce'
'placeholder' => 'Décrire votre annonce',
'class' => 'form-control'
)
))
->add('publicTag', TextType::class, array(
'label' => 'Tags de l\'annonce (séparés par une virgules)',
'data' => $publicTags,
'attr' => array(
'class' => 'form-control'
)
))
->add('status', ChoiceType::class, array(
'label' =>'Status',
'label' =>'Statut',
'choices' => array(
'Brouillon' => 'DRAFT',
'A publier' => 'TO_PUBLISH',
@@ -72,31 +90,41 @@ class AdType extends AbstractType
'Publiée' => 'PUBLISHED',
'Fermée' => 'CLOSED',
'Expirée' => 'EXPIRED',
),
'attr' => array(
'class' => 'form-control'
)
))
->add('isPromoted', CheckboxType::class, array(
'label' => 'Offre pourvue',
'required' => false
'required' => false,
))
->add('isVerified', CheckboxType::class, array(
'label' => 'Vérifiée',
'required' => false
'required' => false,
))
->add('isPrivate', CheckboxType::class, array(
'label' => 'Annonce privé ( non listée en front )',
'required' => false
'required' => false,
));
// Emphasis
$builder
->add('emphasis', CheckboxType::class, array(
'label' => 'A la une',
'required' => false
'required' => false,
))
->add('emphasisOrder', IntegerType::class, array(
'label' => 'Ordre',
'required' => false
'required' => false,
'attr' => array(
'class' => 'form-control'
)
));
}
}
@@ -29,52 +29,86 @@ class CompanyProfileType extends AbstractType
$company->init();
// Common fields
$builder
->add('brandName', TextType::class, array('label' => 'profile.company.brandname'))
->add('businessName', TextType::class, array('label' => 'profile.company.businessname'))
->add('brandName', TextType::class, array(
'label' => 'profile.company.brandname',
'attr' => array(
'class' => 'form-control'
)
))
->add('businessName', TextType::class, array(
'label' => 'profile.company.businessname',
'attr' => array(
'class' => 'form-control'
)
))
->add('description', TextareaType::class, array(
'label' => 'profile.company.description',
'attr' => array(
'class' => 'materialize-textarea'
'class' => 'form-control'
)
))
->add('website', UrlType::class, array(
'label' => 'profile.company.website',
'required' => false,
'attr' => array(
'placeholder' => 'http://...'
'placeholder' => 'http://...',
'class' => 'form-control'
)));
// Extra fields
$builder
->add('siren', TextType::class, array(
'label' => 'profile.company.siren',
'attr' => array(
'class' => 'form-control'
)
))
->add('size', TextType::class, array(
'label' => 'profile.company.size',
'attr' => array(
'class' => 'form-control'
)
));
// Addresses fields
$builder
->add('address', TextType::class, array(
'label' => 'Adresse',
'attr' => array(
'class' => 'form-control'
)
))
->add('addressComp', TextType::class, array(
'label' => 'Complément Adresse',
'required' => false
'required' => false,
'attr' => array(
'class' => 'form-control'
)
))
->add('zipcode', TextType::class, array(
'label' => 'Code postal',
'attr' => array(
'class' => 'form-control'
)
))
->add('city', TextType::class, array(
'label' => 'Ville',
'attr' => array(
'class' => 'form-control'
)
))
->add('country', CountryType::class, array(
'label' => 'Pays',
'attr' => array(
'class' => 'form-control'
)
));
//Tags field
$builder
->add('tagsComma', TextType::class, array(
'label' => 'profile.company.tags',
'attr' => array(
'data-role'=>"materialtags"
'data-role'=>"materialtags",
'placeholder' => 'Insérez une virgule ou appuyez sur ENTRÉE pour séparer vos mots-clés.',
'class' => 'form-control'
)
));
// File fields
@@ -16,7 +16,8 @@ class ContactTalentType extends AbstractType
'label' => false,
'required' => true,
'attr' => array(
'placeholder' => 'Rédigez un message de réponse'
'placeholder' => 'Rédigez un message de réponse',
'class' => 'form-control'
)
));
if(!isset($options['data']['subject']) || ($options['data']['subject'] == true)){
@@ -31,7 +32,11 @@ class ContactTalentType extends AbstractType
->add('status', ChoiceType::class, array(
'label' => false,
'required' => true,
'choices' => $arraySubjects
'choices' => $arraySubjects,
'attr' => array(
'id' => 'test',
'class' => 'form-control'
)
));
}
}
@@ -28,10 +28,16 @@ class UserType extends AbstractType
->add('firstname', null, array(
'label' => 'Prénom',
'required' => true,
'attr' => array(
'class' => 'form-control'
)
))
->add('lastname', null, array(
'label' => 'Nom',
'required' => true,
'attr' => array(
'class' => 'form-control'
)
))
/*->add('birthday', DateTimeType::class, array(
'widget' => 'single_text',
@@ -47,7 +53,10 @@ class UserType extends AbstractType
'Femme' => 'female',
'Homme' => 'male',
),
'label' => 'Sexe'
'label' => 'Sexe',
'attr' => array(
'class' => 'form-control'
)
));
}
@@ -0,0 +1,91 @@
<?php
/*
* This file is part of the FOSUserBundle package.
*
* (c) FriendsOfSymfony <http://friendsofsymfony.github.com/>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace AppBundle\Form;
use AppBundle\Entity\User;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\Form\Extension\Core\Type\DateTimeType;
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
use Symfony\Component\Form\Extension\Core\Type\HiddenType;
use Symfony\Component\OptionsResolver\OptionsResolver;
class UserTypeCreate extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$user = $options['data'];
$builder
->add('firstname', null, array(
'label' => 'Prénom',
'required' => true,
'attr' => array(
'class' => 'form-control'
)
))
->add('lastname', null, array(
'label' => 'Nom',
'required' => true,
'attr' => array(
'class' => 'form-control'
)
))
/*->add('birthday', DateTimeType::class, array(
'widget' => 'single_text',
'label' => 'Date de naissance',
'attr' => array(
'class' => 'calendar'
)
))*/
->add('email', null, array(
'label' => 'Email',
'required' => true,
'attr' => array(
'class' => 'form-control'
)
))
->add('gender', ChoiceType::class, array(
'expanded' => true,
'multiple' => false,
'choices' => array(
'Femme' => 'female',
'Homme' => 'male',
),
'label' => 'Sexe',
'attr' => array(
'class' => 'form-control'
)
));
if($user && (!$user->getEmail() || $user->getEmail()=="") ){
$builder->add('password', null, array(
'label' => 'Mot de passe',
'required' => true,
'attr' => array(
'class' => 'form-control'
)
));
}else{
}
}
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults(array(
'data_class' => User::class,
));
}
}
@@ -57,4 +57,16 @@ class UserRepository extends EntityRepository
return $qb->getQuery()->getResult();
}
public function findUsersByCompanyId($company_id)
{
$qb = $this->_em->createQueryBuilder();
$qb->select('u')
->from($this->_entityName, 'u')
->join('u.company', 'c')
->where('c.id =:id')
->setParameter('id', $company_id);
return $qb->getQuery()->getResult();
}
}
@@ -24,12 +24,43 @@ class CompanyManager
$alias = $this->slugService->slugify($company->getId() . "-" . $company->getBrandName());
$company->setAlias($alias);
if ($company->getAddress() != null) {
if($company->getAddress()){
$address1 = $company->getAddress();
}else{
$address1 ="";
}
if($company->getAddressComp()){
$address2 = $company->getAddressComp();
}else{
$address2 ="";
}
if($company->getZipcode()){
$postcode = $company->getZipcode();
}else{
$postcode ="";
}
if($company->getCity()){
$city = $company->getCity();
}else{
$city ="" ;
}
if($company->getCountry()){
$country = $company->getCountry();
}else{
$country ="";
}
$billing = array(
'address1' => $company->getAddress(),
'address2' => $company->getAddressComp(),
'postcode' => $company->getZipcode(),
'city' => $company->getCity(),
'country' => $company->getCountry(),
'address1' => $address1,
'address2' => $address2,
'postcode' => $postcode,
'city' => $city,
'country' => $country,
);
$addrs['billing'] = $billing;
$company->setAddresses($addrs);
@@ -149,11 +149,11 @@ class MediaManager
//PUSH VIDEO TO Vimeo
//COMENTER POUR TESTER LA PRE PROD
// if ($this->env == "dev") {
// $uriVimeo = "/videos/385952221";
// $nameVimeo = "name";
// $linkVimeo = "/videos/385952221";
// } else {
if ($this->env == "dev") {
$uriVimeo = "/videos/216125621";
$nameVimeo = "name";
$linkVimeo = "/videos/216125621";
} else {
$urlToPull = $this->mediaVideoUrl . $fileName;
$response = $this->vimeo->request('/me/videos', array('type' => 'pull', 'link' => $urlToPull), 'POST');
if ($response['status'] == 200) {
@@ -163,7 +163,7 @@ class MediaManager
}
//TODO : gerer le cas d'erreur
//COMENTER POUR TESTER LA PRE PROD
//}
}
//SAVE MEDIA
$media->setCreator($creator);
@@ -187,6 +187,7 @@ class MediaManager
} elseif ($entity instanceof Ad) {
$media->setTitle("Video annonce de : " . $entity->getTitle());
$entity->setVideo($media);
//$entity->setStatus("PUBLISHED");
$this->em->persist($entity);
} elseif ($entity instanceof User) {
$media->setTitle("Video générique");
@@ -17,11 +17,11 @@ trait AddressJsonTrait
/***********************
* Non-mapped field
***********************/
private $address;
private $addressComp;
private $zipcode;
private $city;
private $country;
public $address;
public $addressComp;
public $zipcode;
public $city;
public $country;
/***********************
* Custom Functions
@@ -32,11 +32,31 @@ trait AddressJsonTrait
{
$addr = $this->addresses;
$addr = $addr['billing'];
if($addr['address1']) $this->address = $addr['address1'];
if($addr['address2']) $this->addressComp = $addr['address2'];
if($addr['postcode']) $this->zipcode = $addr['postcode'];
if($addr['city']) $this->city = $addr['city'];
if($addr['country']) $this->country = $addr['country'];
if($addr['address1']) {
$this->address = $addr['address1'];
}else {
$this->address="";
}
if($addr['address2']) {
$this->addressComp = $addr['address2'];
}else {
$this->addressComp="";
}
if($addr['postcode']) {
$this->zipcode = $addr['postcode'];
}else {
$this->zipcode="";
}
if($addr['city']) {
$this->city = $addr['city'];
}else {
$this->city="";
}
if($addr['country']) {
$this->country = $addr['country'];
}else {
$this->country="";
}
}
/***********************
@@ -62,6 +82,15 @@ trait AddressJsonTrait
return $this->addresses;
}
/**
* Get addresses.
*/
public function getAddressesSansInit()
{
return $this->addresses;
}
public function setAddress($address)
{
$this->address = $address;
+10 -8
View File
@@ -384,14 +384,16 @@ $(document).ready(function () {
});
});
$('.roleUser').click(function(){
$('.roleUser').removeClass('btn-default');
$('.roleUser').addClass('btn-dark');
var valueData = $(this).data('value');
$('#fos_user_registration_form_role').val(valueData);
$(this).removeClass('btn-dark');
$(this).addClass('btn-default');
});
// $('.roleUser').click(function(){
// $('.roleUser').removeClass('btn-default');
// $('.roleUser').addClass('btn-dark');
// var valueData = $(this).data('value');
// $('#fos_user_registration_form_role').val(valueData);
// $(this).removeClass('btn-dark');
// $(this).addClass('btn-default');
// });
//Modif du 31-08-2020 : On considere que la partie symfony ne concerne que les company
$('#fos_user_registration_form_role').val("COMPANY");
// Talent
var TalentTags = $('#talent_profile_company_tagsComma');
if (TalentTags.length) {

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