Compare commits
32 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 40688feb88 | |||
| 2275c6aadd | |||
| 6e4f718fe0 | |||
| b19eb227b5 | |||
| f35dcbbeba | |||
| 6860dee286 | |||
| a93d58e119 | |||
| 6babd6976c | |||
| 468f5baed6 | |||
| 6a1c231fcb | |||
| 6b25e5b5e7 | |||
| bb231fbeb3 | |||
| cae04bc8d7 | |||
| 4fa83f1c51 | |||
| 15c9e8811d | |||
| be62f29fb9 | |||
| 439362bda4 | |||
| 1866008c84 | |||
| 4e8d3b8a9d | |||
| b21946500a | |||
| 8808da8af1 | |||
| 6ba0c4744e | |||
| f8a03f317b | |||
| 8de926b22f | |||
| eb70757671 | |||
| 0c82a72da5 | |||
| 719c6ae0ee | |||
| ba84cc4859 | |||
| 09716c5b69 | |||
| 5d593cf46c | |||
| 676317050a | |||
| 3d64f000e0 |
@@ -1,6 +1,9 @@
|
||||
{% extends "base.html.twig" %}
|
||||
{% extends "basev2.html.twig" %}
|
||||
{% block menu %}
|
||||
|
||||
{% endblock %}
|
||||
{% block content %}
|
||||
<main id="content">
|
||||
<div class="container contentWrapper">
|
||||
<div class="row">
|
||||
<div class="col push-s3 s6">
|
||||
@@ -8,8 +11,10 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
{% block metarobot %}
|
||||
<meta name="robots" content="noindex,nofollow">
|
||||
<meta http-equiv="refresh" content="1;URL=/">
|
||||
{% endblock %}
|
||||
|
||||
+1
@@ -1,6 +1,7 @@
|
||||
{% trans_default_domain 'FOSUserBundle' %}
|
||||
|
||||
<div class="fos_user_user_show">
|
||||
Votre mot de passe a bien été modifié<br/>
|
||||
<p>{{ 'profile.show.username'|trans }}: {{ user.username }}</p>
|
||||
<p>{{ 'profile.show.email'|trans }}: {{ user.email }}</p>
|
||||
</div>
|
||||
|
||||
+2
@@ -1,7 +1,9 @@
|
||||
{% extends "base.html.twig" %}
|
||||
|
||||
{% trans_default_domain 'FOSUserBundle' %}
|
||||
{% block menu %}
|
||||
|
||||
{% endblock %}
|
||||
{% block content %}
|
||||
<div class="container contentWrapper">
|
||||
<div class="row">
|
||||
|
||||
+3
@@ -2,6 +2,9 @@
|
||||
|
||||
{% block title %}Talents Tube : Le 1er job board 100% vidéo{% endblock %}
|
||||
{% trans_default_domain 'FOSUserBundle' %}
|
||||
{% block menu %}
|
||||
|
||||
{% endblock %}
|
||||
{% block content %}
|
||||
<main id="content">
|
||||
<div class="container space-2 ">
|
||||
|
||||
+2
@@ -1,7 +1,9 @@
|
||||
{% extends "basetemporaire.html.twig" %}
|
||||
|
||||
{% trans_default_domain 'FOSUserBundle' %}
|
||||
{% block menu %}
|
||||
|
||||
{% endblock %}
|
||||
{% block content %}
|
||||
|
||||
<div class="container contentWrapper">
|
||||
|
||||
+1
-1
@@ -51,7 +51,7 @@
|
||||
</div>
|
||||
<div class="js-form-message mb-3">
|
||||
<div class="input-field col s12">
|
||||
<a href="/mentions-legales">Lire les conditions générales d'utilisations</a>
|
||||
<a href="/cgu">Lire les conditions générales d'utilisations</a>
|
||||
<br /><br />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -22,7 +22,9 @@
|
||||
content="{{ url(app.request.attributes.get('_route'), app.request.attributes.get('_route_params')) }}" />
|
||||
|
||||
{% endblock %}
|
||||
{% block menu %}
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<main id="content">
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{% extends 'base.html.twig' %}
|
||||
{% extends 'basetemporaire.html.twig' %}
|
||||
|
||||
{% block urlCanonical %}
|
||||
#!
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
{% extends 'base.html.twig' %}
|
||||
{% extends 'basev2.html.twig' %}
|
||||
{% block content %}
|
||||
<main id="content">
|
||||
<div class="row">
|
||||
<div class="col s12">
|
||||
<h2 class="center-align m-t-100">Page introuvable</h2>
|
||||
@@ -9,4 +10,5 @@
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
{% endblock %}
|
||||
@@ -526,7 +526,7 @@
|
||||
<div style="margin:0 auto;max-width:600px;background:#FFFFFF;"><table class="" cellpadding="0" cellspacing="0" style="width:100%;font-size:0px;background:#FFFFFF;" align="center"><tbody><tr><td style="text-align:center;vertical-align:top;font-size:0;padding:0px;"><!--[if mso]>
|
||||
<table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:600px;">
|
||||
<![endif]--><div style="vertical-align:top;display:inline-block;font-size:13px;text-align:left;width:100%;" class="mj-column-per-100" aria-labelledby="mj-column-per-100"><table width="100%"><tbody><tr><td style="font-size:0;padding:20px 35px 20px 35px;" align="left"><div class="mj-content" style="cursor:auto;color:#534F4F;font-family:Trebuchet,Helvetica,sans-serif;font-size:14px;line-height:22px;"><p>*Ce lien ne peut être utilisé qu’une seule fois pour valider votre compte.</p>
|
||||
<p>Si vous n’êtes pas à l’origine de l’inscription sur Talents Tube, veuillez contacter le <a href="https://blog.talentstube.com/contact.html" style="color:#155EE4;text-decoration:none;">support Talents Tube</a>.</p>
|
||||
<p>Si vous n’êtes pas à l’origine de l’inscription sur Talents Tube, veuillez contacter le <a href="https://blog.talentstube.com/contact" style="color:#155EE4;text-decoration:none;">support Talents Tube</a>.</p>
|
||||
<p>Merci de votre compréhension.</p>
|
||||
<p>Talents Tube</p></div></td></tr></tbody></table></div><!--[if mso]>
|
||||
</td></tr></table>
|
||||
@@ -553,7 +553,7 @@
|
||||
<div style="margin:0 auto;max-width:600px;background:#FFFFFF;"><table class="" cellpadding="0" cellspacing="0" style="width:100%;font-size:0px;background:#FFFFFF;" align="center"><tbody><tr><td style="text-align:center;vertical-align:top;font-size:0;padding:0px;"><!--[if mso]>
|
||||
<table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:600px;">
|
||||
<![endif]--><div style="vertical-align:top;display:inline-block;font-size:13px;text-align:left;width:100%;" class="mj-column-per-100" aria-labelledby="mj-column-per-100"><table width="100%"><tbody><tr><td style="font-size:0;padding:20px 35px 20px 35px;" align="left"><div class="mj-content" style="cursor:auto;color:#534F4F;font-family:Trebuchet,Helvetica,sans-serif;font-size:14px;line-height:22px;"><p>*Ce lien ne peut être utilisé qu’une seule fois pour valider votre compte.</p>
|
||||
<p>Si vous n’êtes pas à l’origine de l’inscription sur Talents Tube, veuillez contacter le <a href="https://blog.talentstube.com/contact.html" style="color:#155EE4;text-decoration:none;">support Talents Tube</a>.</p>
|
||||
<p>Si vous n’êtes pas à l’origine de l’inscription sur Talents Tube, veuillez contacter le <a href="https://blog.talentstube.com/contact" style="color:#155EE4;text-decoration:none;">support Talents Tube</a>.</p>
|
||||
<p>Merci de votre compréhension.</p>
|
||||
<p>Talents Tube</p></div></td></tr></tbody></table></div><!--[if mso]>
|
||||
</td></tr></table>
|
||||
|
||||
@@ -27,10 +27,12 @@
|
||||
type="text/css" />
|
||||
<!-- Please remove the file below for production: Contains demo classes -->
|
||||
<link class="main-stylesheet" href="{{ asset('dashboard/css/style.css') }}" rel="stylesheet" type="text/css" />
|
||||
<script type="text/javascript">window.$crisp=[];window.CRISP_WEBSITE_ID="08e9d301-ba14-4d69-8b1a-53685114c5af";(function(){d=document;s=d.createElement("script");s.src="https://client.crisp.chat/l.js";s.async=1;d.getElementsByTagName("head")[0].appendChild(s);})();</script>
|
||||
</head>
|
||||
|
||||
<body class="fixed-header dashboard menu-pin menu-behind">
|
||||
{{ include('admin/navigation_gauche.html.twig') }}
|
||||
{# {{ include('default/user_switch.html.twig') }} #}
|
||||
{{ include('admin/navigation_gauche.html.twig')}} }}
|
||||
|
||||
|
||||
<!-- START PAGE-CONTAINER -->
|
||||
@@ -42,14 +44,29 @@
|
||||
{% block dashContent %}
|
||||
Dashboard Company
|
||||
{% endblock %}
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<!-- START COPYRIGHT -->
|
||||
<!-- START CONTAINER FLUID -->
|
||||
<!-- START CONTAINER FLUID -->
|
||||
<div class=" container-fluid container-fixed-lg footer">
|
||||
<div class="copyright sm-text-center">
|
||||
<p class="small-text no-margin pull-left sm-pull-reset">
|
||||
©2017-2020 Talents Tube
|
||||
</p>
|
||||
<p class="small no-margin pull-right sm-pull-reset">
|
||||
Besoin d'aide ? 02 30 05 06 31
|
||||
</p>
|
||||
<div class="clearfix"></div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- END COPYRIGHT -->
|
||||
</div>
|
||||
|
||||
<!-- END PAGE CONTENT WRAPPER -->
|
||||
</div>
|
||||
<!-- END PAGE CONTAINER -->
|
||||
|
||||
|
||||
|
||||
{% block javascripts %}
|
||||
<script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyDYV8IJGtIoWLfXJQQvIuDQ88n2aEuRgpg&libraries=places">
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<!-- 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="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">
|
||||
@@ -22,14 +22,14 @@
|
||||
</a>
|
||||
</div>
|
||||
</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"
|
||||
{# <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">
|
||||
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>
|
||||
@@ -39,7 +39,7 @@
|
||||
data-toggle-pin="sidebar">
|
||||
<i class="pg-icon"></i>
|
||||
</button>
|
||||
</div>
|
||||
</div> #}
|
||||
</div>
|
||||
<!-- END SIDEBAR MENU HEADER-->
|
||||
<!-- START SIDEBAR MENU -->
|
||||
@@ -85,7 +85,8 @@
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="{{ path('users') }}">Utilisateurs</a>
|
||||
<span class="icon-thumbnail"><span class="material-icons">
|
||||
<span class="icon-thumbnail">
|
||||
<span class="material-icons">
|
||||
group
|
||||
</span>
|
||||
</span>
|
||||
@@ -139,6 +140,25 @@
|
||||
<span class="icon-thumbnail"><i class="pg-icon">mail</i></span>
|
||||
</li>
|
||||
|
||||
{% if is_granted('ROLE_PREVIOUS_ADMIN') %}
|
||||
|
||||
<li class="">
|
||||
<a href="{{ path('admin_dashboard', {'_switch_user': '_exit'}) }}">
|
||||
<span class="principal">Se déconnecter</span>
|
||||
</a>
|
||||
|
||||
<span class="icon-thumbnail">
|
||||
<i class="pg-icon m-20">exit</i>
|
||||
</span>
|
||||
</li>
|
||||
<li class="">
|
||||
<small>
|
||||
(Connecté en tant que {{ app.user.firstname }} {{ app.user.lastname }})
|
||||
</small>
|
||||
</li>
|
||||
|
||||
{% endif %}
|
||||
|
||||
|
||||
</ul>
|
||||
<div class="clearfix"></div>
|
||||
|
||||
@@ -1,6 +1,15 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="fr">
|
||||
<head>
|
||||
<!-- Global site tag (gtag.js) - Google Analytics -->
|
||||
{# <script async src="https://www.googletagmanager.com/gtag/js?id=UA-98246968-7"></script>
|
||||
<script>
|
||||
window.dataLayer = window.dataLayer || [];
|
||||
function gtag(){dataLayer.push(arguments);}
|
||||
gtag('js', new Date());
|
||||
|
||||
gtag('config', 'UA-98246968-7');
|
||||
</script> #}
|
||||
<!-- Title -->
|
||||
<title>{% block title %}{% endblock %}</title>
|
||||
|
||||
@@ -25,7 +34,7 @@
|
||||
|
||||
<!-- CSS Space Template -->
|
||||
<link rel="stylesheet" href="{{ asset('v2/css/theme.css') }}">
|
||||
<script type="text/javascript"> window.$crisp=[];window.CRISP_WEBSITE_ID="78ec5756-1cd5-4f3f-b0db-cb408c8171da";(function(){ d=document;s=d.createElement("script"); s.src="https://client.crisp.chat/l.js"; s.async=1;d.getElementsByTagName("head")[0].appendChild(s);})(); </script>
|
||||
<script type="text/javascript"> window.$crisp=[];window.CRISP_WEBSITE_ID="08e9d301-ba14-4d69-8b1a-53685114c5af";(function(){ d=document;s=d.createElement("script"); s.src="https://client.crisp.chat/l.js"; s.async=1;d.getElementsByTagName("head")[0].appendChild(s);})(); </script>
|
||||
</head>
|
||||
<body>
|
||||
<!-- Google Tag Manager (noscript) -->
|
||||
@@ -47,5 +56,6 @@
|
||||
{% endblock %}
|
||||
{# {% include 'defaultv2/footer.html.twig' %} #}
|
||||
{{ include('FairlaneCookieConsentBundle::cookie-info.html.twig') }}
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -90,6 +90,11 @@ Afin de créer votre annonce, renseignez l’ensemble des champs relatifs au pos
|
||||
{{ form_row(form.contract_type) }}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="col-lg-12 col-md-12 col-sm-12">
|
||||
{{ form_row(form.temps_type) }}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="col-lg-12 col-md-12 col-sm-12">
|
||||
{{ form_row(form.status) }}
|
||||
|
||||
@@ -90,6 +90,11 @@ Afin de créer votre annonce, renseignez l’ensemble des champs relatifs au pos
|
||||
{{ form_row(form.contract_type) }}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="col-lg-12 col-md-12 col-sm-12">
|
||||
{{ form_row(form.temps_type) }}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="col-lg-12 col-md-12 col-sm-12">
|
||||
{{ form_row(form.publicTag) }}
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
{% extends 'company/base_dashboard_company.html.twig' %}
|
||||
{% extends 'company/base_dashboard_company_V2.html.twig' %}
|
||||
|
||||
{% block dashContent %}
|
||||
<div class="row bg-bordered p-0">
|
||||
{% include 'company/ad_steps.html.twig' with {'tab':3} %}
|
||||
{# {% include 'company/ad_steps.html.twig' with {'tab':3} %} #}
|
||||
<div class="p-20">
|
||||
<form>
|
||||
<p>
|
||||
|
||||
+9
-2
@@ -39,6 +39,13 @@
|
||||
<p class="small hint-text m-t-5">{{ answer.user.firstname }}
|
||||
{{ answer.user.lastname }}
|
||||
</p>
|
||||
<p class="small hint-text m-t-5">
|
||||
{% if answer.user.company %}
|
||||
{% if answer.user.company.cv %}
|
||||
<a href="/uploads/cv/{{ answer.user.company.cv }}" target="_blank"><button aria-label="" type="button" class="btn btn-outline-primary">Télécharge le cv</button></a>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -82,8 +89,8 @@
|
||||
-->
|
||||
|
||||
<th style="width:15%">Objet</th>
|
||||
<th style="width:15%">Message</th>
|
||||
<th style="width:70%">Envoyé le</th>
|
||||
<th style="width:15%">Envoyé le</th>
|
||||
<th style="width:70%">Message</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{% extends 'base.html.twig' %}
|
||||
{% extends 'basetemporaire.html.twig' %}
|
||||
|
||||
|
||||
{% block title %}Offres d'emploi et recrutement {{ company.brandName }} | TalentsTube{% endblock %}
|
||||
|
||||
@@ -95,7 +95,7 @@ Afin de créer votre annonce, renseignez l’ensemble des champs relatifs au pos
|
||||
<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>
|
||||
vidéo d'offre d'emploi. <a href="https://blog.talentstube.com/contact" target="_blank">Contactez-nous</a></p>
|
||||
{# <p class="small hint-text">Below is a sample page for your cart , Created using pages design
|
||||
UI Elementes</p> #}
|
||||
{# <ul id="tabs-video" class="tabs">
|
||||
|
||||
@@ -46,11 +46,7 @@
|
||||
<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>
|
||||
{{ 'company.menu.videotheque.label'|trans }}</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="{{ path('company_my_account') }}">
|
||||
<i class="fa fa-cog"></i>
|
||||
|
||||
@@ -21,8 +21,10 @@
|
||||
<p class="profil-city">{{ company.addresses.billing.city }}
|
||||
- {{ company.addresses.billing.country|country }}</p>
|
||||
{% endif %}
|
||||
{# <p class="profil-job"><a
|
||||
href="{{ path("company_show",{"alias":company.alias}) }}">{{ company.brandname }}</a></p> #}
|
||||
<p class="profil-job"><a
|
||||
href="{{ path("company_show",{"alias":company.alias}) }}">{{ company.brandname }}</a></p>
|
||||
href="https://www.talentstube.com/Entreprise/{{company.alias}}" target="_blank">{{ company.brandname }}</a></p>
|
||||
</div>
|
||||
<div class="profil-nav">
|
||||
<ul class="font-2">
|
||||
|
||||
@@ -33,55 +33,56 @@
|
||||
<div class=" container-fluid container-fixed-lg bg-white">
|
||||
<!-- START card -->
|
||||
<div class="row">
|
||||
<div class="col-lg-6">
|
||||
|
||||
<div class="col-lg-12s">
|
||||
|
||||
<div class="card card-transparent">
|
||||
{{ form_start(form, { 'action': path('company_my_account'), 'attr': { 'class': 'fos_user_profile_edit' } }) }}
|
||||
|
||||
|
||||
<div class="card-body">
|
||||
{% 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">
|
||||
<div class="card-body">
|
||||
{% if form_errors(form) %}
|
||||
<span class="red-text text-darken-2">{{ form_errors(form) }}</span>
|
||||
{% endif %}
|
||||
|
||||
{{ form_row(form.firstname) }}
|
||||
<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="col-md-6">
|
||||
<div class="form-group form-group-default">
|
||||
{# <div class="row">
|
||||
<div class="col-md-12">
|
||||
|
||||
{{ form_row(form.lastname) }}
|
||||
<div class="form-group ">
|
||||
|
||||
{{ form_row(form.gender) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
|
||||
<div class="form-group ">
|
||||
<br /> #}
|
||||
<div style="text-align: right;">
|
||||
<button class="btn btn-default" type="submit">Sauvegarde</button>
|
||||
|
||||
{{ form_row(form.gender) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<br />
|
||||
<div style="text-align: right;">
|
||||
<button class="btn btn-default" type="submit">Sauvegarde</button>
|
||||
|
||||
</div>
|
||||
|
||||
{{ form_end(form) }}
|
||||
</div>
|
||||
{{ form_end(form) }}
|
||||
</div>
|
||||
<!-- END card -->
|
||||
|
||||
</div>
|
||||
<!-- END card -->
|
||||
|
||||
<div class="col-lg-6">
|
||||
<div class="card card-transparent">
|
||||
</div>
|
||||
|
||||
<div class="col-lg-12">
|
||||
{# <div class="card card-transparent">
|
||||
{{ form_start(formPw) }}
|
||||
<div class="card-body">
|
||||
{% if form_errors(formPw) %}
|
||||
@@ -99,7 +100,17 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{ form_end(formPw) }}
|
||||
{{ form_end(formPw) }} #}
|
||||
<div class="card card-transparent">
|
||||
|
||||
<div class="card-body">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<a href="/resetting/request" target="_blank">Réinitialisation de mot de passe</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- END card -->
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
<!-- START BREADCRUMB -->
|
||||
<ol class="breadcrumb">
|
||||
<li class="breadcrumb-item"><a href="#">Accueil</a></li>
|
||||
<li class="breadcrumb-item active">Utilisateurss</li>
|
||||
<li class="breadcrumb-item active">Utilisateurs</li>
|
||||
</ol>
|
||||
<!-- END BREADCRUMB -->
|
||||
<div class="row">
|
||||
@@ -46,7 +46,10 @@
|
||||
</div>
|
||||
<div class="card-body">
|
||||
{% if form_errors(form) %}
|
||||
<span class="red-text text-darken-2">{{ form_errors(form) }}</span>
|
||||
<span class="red-text text-darken-2">{{ form_errors(form) }}{{ error }}</span>
|
||||
{% endif %}
|
||||
{% if error%}
|
||||
<span class="red-text text-darken-2"><b>{{ error }}</b><br/> </span>
|
||||
{% endif %}
|
||||
{{ form_start(form) }}
|
||||
<div class="row">
|
||||
@@ -72,7 +75,7 @@
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="row">
|
||||
{# <div class="row">
|
||||
|
||||
<div class="col-md-12">
|
||||
<div class="form-group ">
|
||||
@@ -80,7 +83,7 @@
|
||||
{{ form_row(form.gender) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div> #}
|
||||
{% if form.password is defined%}
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
|
||||
@@ -28,9 +28,12 @@
|
||||
{% if company.presentationVideo is defined %}
|
||||
{% if company.presentationVideo.thumbnails.0.sizes is defined %}
|
||||
<a href="{{ path('company_show',{'alias': company.alias }) }}" title="{{ company.brandName }}">
|
||||
{% if company.presentationVideo.thumbnails.0.sizes.4.link is defined %}
|
||||
<img src="{{ company.presentationVideo.thumbnails.0.sizes.4.link }}"
|
||||
alt="{{ company.brandName }}"/>
|
||||
|
||||
<span class="playerbtn"></span>
|
||||
{% endif %}
|
||||
</a>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
<a class="white-text" href="{{ path('territory_list') }}" title="Listes des territoires">Nos territoires</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="white-text" href="https://blog.talentstube.com/contact.html" title="Talents Tube ">Contact</a>
|
||||
<a class="white-text" href="https://blog.talentstube.com/contact" title="Talents Tube ">Contact</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
@@ -11,8 +11,8 @@
|
||||
<div class="media">
|
||||
|
||||
<div class="media-body px-4">
|
||||
<h2 class="statChiffre">1500+</h2>
|
||||
<p class="statTexte">Talents connectés</p>
|
||||
<h2 class="statChiffre">10000+</h2>
|
||||
<p class="statTexte">Visiteurs par mois</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -24,7 +24,7 @@
|
||||
<div class="card-body p-4">
|
||||
<div class="media">
|
||||
<div class="media-body px-4">
|
||||
<h2 class="statChiffre">900+</h2>
|
||||
<h2 class="statChiffre">1050+</h2>
|
||||
<p class="statTexte">Vues par vidéo</p>
|
||||
</div>
|
||||
</div>
|
||||
@@ -38,7 +38,7 @@
|
||||
<div class="media">
|
||||
|
||||
<div class="media-body px-4">
|
||||
<h2 class="statChiffre">350</h2>
|
||||
<h2 class="statChiffre">550+</h2>
|
||||
<p class="statTexte">Candidatures vidéo</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
<!-- Title -->
|
||||
<header class="text-center mb-5">
|
||||
<h2 class="h4 mb-0">Connexion</h2>
|
||||
<p>Connecter vous pour gérer votre compte</p>
|
||||
<p>Connectez-vous pour gérer votre compte</p>
|
||||
</header>
|
||||
|
||||
|
||||
@@ -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" class="form-control"/>
|
||||
<input type="text" id="username" name="_username" value="{{ last_username }}" required="required" class="form-control" placeholder="Saisissez votre adresse email"/>
|
||||
</div>
|
||||
</div>
|
||||
<!-- End Input -->
|
||||
@@ -51,7 +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" class="form-control" />
|
||||
<input type="password" id="password" name="_password" required="required" class="form-control" placeholder="Saisissez votre mot de passe" />
|
||||
</div>
|
||||
</div>
|
||||
<!-- End Input -->
|
||||
@@ -75,9 +75,9 @@
|
||||
|
||||
<div class="mb-3">
|
||||
|
||||
<input type="hidden" name="_target_path" value="redirect_dashboard" />
|
||||
<input type="hidden" name="_target_path" value="redirect_dashboard" />
|
||||
|
||||
<input type="submit" id="_submit" name="_submit" class="btn btn-block btn-primary"/>
|
||||
<input type="submit" id="_submit" name="_submit" class="btn btn-block btn-primary" value="Se connecter"/>
|
||||
</div>
|
||||
|
||||
<div class="text-center mb-3">
|
||||
|
||||
@@ -25,10 +25,11 @@
|
||||
<div class="list-group list-group-flush list-group-transparent">
|
||||
<!-- Links -->
|
||||
<ul class="list-unstyled">
|
||||
<li><a class="list-group-item list-group-item-action" href="mentions-legales" target="_blank">Mentions légales</a></li>
|
||||
<li><a class="list-group-item list-group-item-action" href="cgu" target="_blank">CGU</a></li>
|
||||
<li><a class="list-group-item list-group-item-action" href="politique-confidentialite" target="_blank">Politique de confidentialité</a></li>
|
||||
<li><a class="list-group-item list-group-item-action" href="https://blog.talentstube.com/contact.html target="_blank"
|
||||
<li><a class="list-group-item list-group-item-action" href="{{ path('mentions-legales') }}" target="_blank">Mentions légales</a></li>
|
||||
<li><a class="list-group-item list-group-item-action" href="{{ path('cgu') }}" target="_blank">CGU</a></li>
|
||||
<li><a class="list-group-item list-group-item-action" href="{{ path('politique-confidentialite') }}" target="_blank">Politique de confidentialité</a></li>
|
||||
<li><a class="list-group-item list-group-item-action" href="{{ path('abonnement') }}" >Tarifs</a></li>
|
||||
<li><a class="list-group-item list-group-item-action" href="https://blog.talentstube.com/contact" target="_blank"
|
||||
">Contact</a></li>
|
||||
</ul>
|
||||
<!-- End Links -->
|
||||
@@ -71,7 +72,7 @@
|
||||
|
||||
<div class="col-lg-4 order-lg-1 d-flex align-items-start flex-column">
|
||||
<!-- Logo -->
|
||||
<a class="d-inline-block mb-5" href="index.html" aria-label="Space">
|
||||
<a class="d-inline-block mb-5" href="/" aria-label="Space">
|
||||
<img src="{{ asset('v2/svg/logos/talentstube-logo-mobile.svg') }}" alt="Logo" style="width: 40px; max-width: 100%;">
|
||||
</a>
|
||||
<!-- End Logo -->
|
||||
|
||||
+1
-1
@@ -12,7 +12,7 @@ La candidature en vidéo ou vidéo de motivation s’avère être un outil perfo
|
||||
|
||||
En plus des savoirs et savoir-faire, la candidature vidéo met en lumière le savoir-être et le savoir devenir des candidats. Vous pouvez cerner la personnalité du candidat et son projet professionnel en quelques instants.
|
||||
</p>
|
||||
<a class="btn btn-sm btn-primary btn-wide" href="#">Voir la plateforme</a>
|
||||
<a class="btn btn-sm btn-primary btn-wide" href="https://www.talentstube.com">Voir la plateforme</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
+1
-1
@@ -8,7 +8,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class=" text-center space-3-bottom">
|
||||
<a class="btn btn-sm btn-contact" href="https://blog.talentstube.com/contact.html" target="_blank" role="button" >
|
||||
<a class="btn btn-sm btn-contact" href="https://blog.talentstube.com/contact" target="_blank" role="button" >
|
||||
<i class="fa fa-user-circle mr-1"></i>
|
||||
Contactez nous
|
||||
</a>
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
<a class="white-text" href="{{ path('territory_list') }}" title="Listes des territoires">Nos territoires</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="white-text" href="https://blog.talentstube.com/contact.html" title="Talents Tube ">Contact</a>
|
||||
<a class="white-text" href="https://blog.talentstube.com/contact" title="Talents Tube ">Contact</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
+2
-2
@@ -21,7 +21,7 @@
|
||||
<p>Nous vous invitons à lire avec attention le présent document. Pour toute question concernant ce document
|
||||
et, d’une manière générale, sur la collecte et le traitement de vos informations personnelles par la société
|
||||
talentstube.com, n’hésitez pas à nous contacter via le formulaire présent sur la page contact :
|
||||
<a href="https://blog.talentstube.com/contact.html" target="_blank">https://blog.talentstube.com/contact.html</a>
|
||||
<a href="https://blog.talentstube.com/contact" target="_blank">https://blog.talentstube.com/contact</a>
|
||||
</p>
|
||||
<div class="mb-3">
|
||||
<h2 class="h4">Données personnelles</h2>
|
||||
@@ -136,7 +136,7 @@
|
||||
<p>Vous pouvez demander une limitation du traitement des données collectées. L’exercice de ces droits peut
|
||||
exercer ce droit auprès de TALENTS TUBE en adressant une requête soit par voie postale à l'adresse suivante
|
||||
: 3 Rue Louis de Broglie, Village By CA 56000 Vannes, soit par courrier électronique via le formulaire
|
||||
présent sur la page Contact <a href="https://blog.talentstube.com/contact.html" target="_blank"> https://blog.talentstube.com/contact.html</a>. Cette requête devra être accompagnée
|
||||
présent sur la page Contact <a href="https://blog.talentstube.com/contact" target="_blank"> https://blog.talentstube.com/contact</a>. Cette requête devra être accompagnée
|
||||
d'une pièce d'identité revêtant la signature de l'Utilisateur et devra préciser l'adresse et le moyen par
|
||||
lesquelles une réponse pourra être envoyée.</p>.
|
||||
|
||||
|
||||
@@ -93,7 +93,7 @@
|
||||
|
||||
<!-- Button -->
|
||||
<li class="nav-item u-header__nav-item-btn">
|
||||
<a class="btn btn-sm btn-contact" href="https://blog.talentstube.com/contact.html" target="_blank" role="button">
|
||||
<a class="btn btn-sm btn-contact" href="https://blog.talentstube.com/contact" target="_blank" role="button">
|
||||
{# <i class="fa fa-user-circle mr-1"></i> #}
|
||||
Contactez-nous
|
||||
</a>
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
<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="https://blog.talentstube.com/contact.html"
|
||||
<a class="btn btn-sm btn-contact" href="https://blog.talentstube.com/contact"
|
||||
data-overlay-color="#151b26">
|
||||
|
||||
Contactez-nous
|
||||
|
||||
+364
@@ -0,0 +1,364 @@
|
||||
{% extends 'basev2.html.twig' %}
|
||||
|
||||
{% block title %}Tarifs - Talents Tube{% endblock %}
|
||||
{% block meta %}
|
||||
<meta name="description" content="Attirez les meilleurs candidats avec des offres d’emploi en vidéo. Présentez le poste recherché, les missions, les locaux et les collaborateurs de votre entreprise.">
|
||||
|
||||
<meta name="twitter:card" content="summary">
|
||||
<meta name="twitter:site" content="@TalentsTube">
|
||||
<meta name="twitter:title" content="Offres d’emploi - Recrutez des candidats en vidéo - Talents Tube">
|
||||
<meta name="twitter:description" content="Attirez les meilleurs candidats avec des offres d’emploi en vidéo. Présentez le poste recherché, les missions, les locaux et les collaborateurs de votre entreprise.">
|
||||
<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="Offres d’emploi - Recrutez des candidats en vidéo - Talents Tube" />
|
||||
<meta property="og:type" content="article" />
|
||||
<meta property="og:image" content="{{ absolute_url(asset('img/mail/logo-talents-tube.png')) }}" />
|
||||
<meta property="og:description" content="Attirez les meilleurs candidats avec des offres d’emploi en vidéo. Présentez le poste recherché, les missions, les locaux et les collaborateurs de votre entreprise." />
|
||||
<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">
|
||||
<!-- Hero Section -->
|
||||
<div class="gradient-half-primary-v1">
|
||||
<div class="bg-img-hero" style="background-image: url(../../assets/img/bg/bg2.png);">
|
||||
<div class="container space-2 space-4-top--lg space-3-bottom--lg">
|
||||
<div class="w-md-80 w-lg-60 text-center mx-auto">
|
||||
<!-- Title -->
|
||||
<div class="mb-9">
|
||||
<h1 class="display-4 text-white">Abonnement</h1>
|
||||
<p class="lead text-white">Choisissez l'offre qui vous correspond pour diffuser vos vidéos de recrutement</p>
|
||||
</div>
|
||||
<!-- End Title -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- End Hero Section -->
|
||||
|
||||
|
||||
<!-- Pricing Section -->
|
||||
<div class="container">
|
||||
<div class="bg-gray-100 shadow-lg rounded mt-n9">
|
||||
<!-- Individual -->
|
||||
<div id="pricingIndividual" data-target-group="idPricing">
|
||||
<div class="js-slick-carousel u-slick u-slick--gutters"
|
||||
data-slides-show="3"
|
||||
data-slides-scroll="1"
|
||||
data-pagi-classes="d-lg-none text-center u-slick__pagination mt-7 mb-0"
|
||||
data-responsive='[{
|
||||
"breakpoint": 1200,
|
||||
"settings": {
|
||||
"slidesToShow": 3
|
||||
}
|
||||
}, {
|
||||
"breakpoint": 992,
|
||||
"settings": {
|
||||
"slidesToShow": 2
|
||||
}
|
||||
}, {
|
||||
"breakpoint": 768,
|
||||
"settings": {
|
||||
"slidesToShow": 1
|
||||
}
|
||||
}, {
|
||||
"breakpoint": 554,
|
||||
"settings": {
|
||||
"slidesToShow": 1
|
||||
}
|
||||
}]'>
|
||||
<div class="js-slide">
|
||||
<!-- Pricing -->
|
||||
<div class="card border-0">
|
||||
<!-- Header -->
|
||||
<header class="card-header text-center p-5">
|
||||
<h4 class="h4">Jusqu'à 3 vidéos</h4>
|
||||
|
||||
<span class="d-block">
|
||||
<span class="display-4 text-dark">
|
||||
99€
|
||||
</span>
|
||||
<span class="d-block text-secondary font-size-14">par mois HT</span>
|
||||
</span>
|
||||
</header>
|
||||
<!-- End Header -->
|
||||
|
||||
<!-- Content -->
|
||||
<div class="card-body p-5">
|
||||
<ul class="list-unstyled mb-4">
|
||||
<li class="font-size-14 py-2">- Création page entreprise</li>
|
||||
<li class="font-size-14 py-2">- Accès espace recruteur</li>
|
||||
<li class="font-size-14 py-2">- Mise en ligne de 1 à 3 vidéos
|
||||
offre d’emploi et Marque employeur</li>
|
||||
<li class="font-size-14 py-2">- Réception des candidatures en vidéo</li>
|
||||
<li class="font-size-14 py-2">- Gestion des candidatures</li>
|
||||
<li class="font-size-14 py-2">- Échanges vidéos avec les candidats</li>
|
||||
<li class="font-size-14 py-2">- Suivi Statistiques</li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
<!-- End Content -->
|
||||
</div>
|
||||
<!-- End Pricing -->
|
||||
</div>
|
||||
|
||||
<div class="js-slide">
|
||||
<!-- Pricing -->
|
||||
<div class="card border-0">
|
||||
<!-- Header -->
|
||||
<header class="card-header text-center p-5">
|
||||
<h4 class="h4">De 4 à 9 vidéos</h4>
|
||||
|
||||
<span class="d-block">
|
||||
<span class="display-4 text-dark">
|
||||
199€
|
||||
</span>
|
||||
<span class="d-block text-secondary font-size-14">par mois HT</span>
|
||||
</span>
|
||||
</header>
|
||||
<!-- End Header -->
|
||||
|
||||
<!-- Content -->
|
||||
<div class="card-body p-5">
|
||||
<ul class="list-unstyled mb-4">
|
||||
<li class="font-size-14 py-2">- Création page entreprise</li>
|
||||
<li class="font-size-14 py-2">- Accès espace recruteur</li>
|
||||
<li class="font-size-14 py-2">- Mise en ligne de 4 à 9 vidéos
|
||||
offre d’emploi et Marque employeur</li>
|
||||
<li class="font-size-14 py-2">- Réception des candidatures en vidéo</li>
|
||||
<li class="font-size-14 py-2">- Gestion des candidatures</li>
|
||||
<li class="font-size-14 py-2">- Échanges vidéos avec les candidats</li>
|
||||
<li class="font-size-14 py-2">- Suivi Statistiques</li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
<!-- End Content -->
|
||||
</div>
|
||||
<!-- End Pricing -->
|
||||
</div>
|
||||
|
||||
<div class="js-slide">
|
||||
<!-- Pricing -->
|
||||
<div class="card border-0">
|
||||
<!-- Header -->
|
||||
<header class="card-header text-center p-5">
|
||||
<h4 class="h4">Plus de 10 vidéos</h4>
|
||||
<span class="d-block">
|
||||
<span class="display-4 text-dark">
|
||||
Sur devis
|
||||
</span>
|
||||
<span class="d-block text-secondary font-size-14"> </span>
|
||||
</span>
|
||||
</header>
|
||||
<!-- End Header -->
|
||||
|
||||
<!-- Content -->
|
||||
<div class="card-body p-5">
|
||||
<ul class="list-unstyled mb-4">
|
||||
<li class="font-size-14 py-2">- Création page entreprise</li>
|
||||
<li class="font-size-14 py-2">- Accès espace recruteur</li>
|
||||
<li class="font-size-14 py-2">- Mise en ligne de 10 vidéos
|
||||
offre d’emploi et Marque employeur</li>
|
||||
<li class="font-size-14 py-2">- Réception des candidatures en vidéo</li>
|
||||
<li class="font-size-14 py-2">- Gestion des candidatures</li>
|
||||
<li class="font-size-14 py-2">- Échanges vidéos avec les candidats</li>
|
||||
<li class="font-size-14 py-2">- Suivi Statistiques</li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
<!-- End Content -->
|
||||
</div>
|
||||
<!-- End Pricing -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- End Individual -->
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<!-- End Pricing Section -->
|
||||
|
||||
<!-- Divider -->
|
||||
<div class="container space-2-bottom">
|
||||
<hr class="my-0">
|
||||
</div>
|
||||
<!-- End Divider -->
|
||||
<!-- FAQ Section -->
|
||||
<div class="container space-2-bottom">
|
||||
<!-- Title -->
|
||||
<div class="w-md-80 w-lg-60 text-center mx-md-auto mb-9">
|
||||
<h3 class="h4">Vous souhaitez en savoir plus sur notre solution?</h3>
|
||||
</div>
|
||||
<!-- End Title -->
|
||||
<div class="w-md-80 w-lg-60 text-center mx-md-auto mb-9">
|
||||
<a href="https://blog.talentstube.com/contact" target="_blank"><button type="button" class="btn btn-block btn-primary" >Contactez-nous</button></a>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- End FAQ Section -->
|
||||
|
||||
<!-- Divider -->
|
||||
<div class="w-50 w-lg-35 mx-auto">
|
||||
<hr class="my-0">
|
||||
</div>
|
||||
<!-- End Divider -->
|
||||
</main>
|
||||
<!-- ========== END MAIN CONTENT ========== -->
|
||||
|
||||
{% include 'defaultv2/accueil/footer.html.twig' %}
|
||||
|
||||
<!-- Begin Panel Login -->
|
||||
{% include 'defaultv2/accueil/blocLogin.html.twig'
|
||||
with {
|
||||
'csrf_token': csrf_token,
|
||||
'error' : error
|
||||
} %}
|
||||
<!-- End Panel Login -->
|
||||
|
||||
<!-- Go to Top -->
|
||||
<a class="js-go-to u-go-to" href="javascript:;" data-position='{"bottom": 30, "right": 100 }' data-type="fixed"
|
||||
data-offset-top="400" data-compensation="#header" data-show-effect="slideInUp" data-hide-effect="slideOutDown">
|
||||
<i class="fa fa-arrow-up u-go-to__inner"></i>
|
||||
</a>
|
||||
<!-- End Go to Top -->
|
||||
|
||||
<!-- JS Global Compulsory -->
|
||||
<script src="{{ asset('v2/vendor/jquery/dist/jquery.min.js') }}"></script>
|
||||
<script src="{{ asset('v2/vendor/jquery-migrate/dist/jquery-migrate.min.js') }}"></script>
|
||||
<script src="{{ asset('v2/vendor/popper.js/dist/umd/popper.min.js') }}"></script>
|
||||
<script src="{{ asset('v2/vendor/bootstrap/bootstrap.min.js') }}"></script>
|
||||
|
||||
<!-- JS Implementing Plugins -->
|
||||
<script src="{{ asset('v2/vendor/hs-megamenu/src/hs.megamenu.js') }}"></script>
|
||||
<script src="{{ asset('v2/vendor/jquery-validation/dist/jquery.validate.min.js') }}"></script>
|
||||
<script src="{{ asset('v2/vendor/malihu-custom-scrollbar-plugin/jquery.mCustomScrollbar.concat.min.js') }}"></script>
|
||||
<script src="{{ asset('v2/vendor/custombox/dist/custombox.min.js') }}"></script>
|
||||
<script src="{{ asset('v2/vendor/custombox/dist/custombox.legacy.min.js') }}"></script>
|
||||
<script src="{{ asset('v2/vendor/typed.js/lib/typed.min.js') }}"></script>
|
||||
<script src="{{ asset('v2/vendor/slick-carousel/slick/slick.js') }}"></script>
|
||||
<script src="{{ asset('v2/vendor/cubeportfolio/js/jquery.cubeportfolio.min.js') }}"></script>
|
||||
<script src="{{ asset('v2/vendor/fancybox/jquery.fancybox.min.js') }}"></script>
|
||||
|
||||
<!-- JS Space -->
|
||||
<script src="{{ asset('v2/js/hs.core.js') }}"></script>
|
||||
<script src="{{ asset('v2/js/components/hs.header.js') }}"></script>
|
||||
<script src="{{ asset('v2/js/components/hs.unfold.js') }}"></script>
|
||||
<script src="{{ asset('v2/js/components/hs.validation.js') }}"></script>
|
||||
<script src="{{ asset('v2/js/helpers/hs.focus-state.js') }}"></script>
|
||||
<script src="{{ asset('v2/js/components/hs.malihu-scrollbar.js') }}"></script>
|
||||
<script src="{{ asset('v2/js/components/hs.fancybox.js') }}"></script>
|
||||
<script src="{{ asset('v2/js/components/hs.modal-window.js') }}"></script>
|
||||
<script src="{{ asset('v2/js/components/hs.show-animation.js') }}"></script>
|
||||
<script src="{{ asset('v2/js/components/hs.slick-carousel.js') }}"></script>
|
||||
<script src="{{ asset('v2/js/components/hs.cubeportfolio.js') }}"></script>
|
||||
<script src="{{ asset('v2/js/components/hs.g-map.js') }}"></script>
|
||||
<script src="{{ asset('v2/js/components/hs.go-to.js') }}"></script>
|
||||
<script src="{{ asset('v2/js/components/hs.video-player.js') }}"></script>
|
||||
|
||||
|
||||
|
||||
<!-- JS Plugins Init. -->
|
||||
<script>
|
||||
// initialization of google map
|
||||
{# function initMap() {
|
||||
$.HSCore.components.HSGMap.init('.js-g-map');
|
||||
} #}
|
||||
|
||||
$(window).on('load', function () {
|
||||
// initialization of HSMegaMenu component
|
||||
$('.js-mega-menu').HSMegaMenu({
|
||||
event: 'hover',
|
||||
pageContainer: $('.container'),
|
||||
breakpoint: 767,
|
||||
hideTimeOut: 0
|
||||
});
|
||||
});
|
||||
|
||||
$(document).on('ready', function () {
|
||||
// initialization of header
|
||||
$.HSCore.components.HSHeader.init($('#header'));
|
||||
|
||||
// initialization of fancybox
|
||||
$.HSCore.components.HSFancyBox.init('.js-fancybox');
|
||||
|
||||
// initialization of unfold component
|
||||
$.HSCore.components.HSUnfold.init($('[data-unfold-target]'), {
|
||||
afterOpen: function () {
|
||||
if (!$('body').hasClass('IE11')) {
|
||||
$(this).find('input[type="search"]').focus();
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
// initialization of form validation
|
||||
$.HSCore.components.HSValidation.init('.js-validate', {
|
||||
rules: {
|
||||
confirmPassword: {
|
||||
equalTo: '#password'
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
// initialization of forms
|
||||
$.HSCore.helpers.HSFocusState.init();
|
||||
|
||||
// initialization of malihu scrollbar
|
||||
$.HSCore.components.HSMalihuScrollBar.init($('.js-scrollbar'));
|
||||
|
||||
// initialization of autonomous popups
|
||||
$.HSCore.components.HSModalWindow.init('[data-modal-target]', '.js-signup-modal', {
|
||||
autonomous: true
|
||||
});
|
||||
|
||||
// initialization of show animations
|
||||
$.HSCore.components.HSShowAnimation.init('.js-animation-link');
|
||||
|
||||
// initialization of slick carousel
|
||||
$.HSCore.components.HSSlickCarousel.init('.js-slick-carousel');
|
||||
|
||||
// initialization of video player
|
||||
$.HSCore.components.HSVideoPlayer.init('.js-inline-video-player');
|
||||
|
||||
// initialization of text animation (typing)
|
||||
$('.u-text-animation.u-text-animation').html("");
|
||||
// initialization of text animation (typing)
|
||||
var typed = new Typed(".u-text-animation.u-text-animation--typing", {
|
||||
strings: ["Attirez des talents", "Valorisez vos collaborateurs", "Dévoilez vos métiers "],
|
||||
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 %}
|
||||
@@ -65,7 +65,7 @@
|
||||
<table border="0" cellpadding="0" cellspacing="0" width="600" align="center" style="width:600px;"><tr><td>
|
||||
<![endif]--><div style="margin:0 auto;max-width:600px;background:#F2F2F2;"><table class="" cellpadding="0" cellspacing="0" style="width:100%;font-size:0px;background:#F2F2F2;" align="center"><tbody><tr><td style="text-align:center;vertical-align:top;font-size:0;padding:22px 0;"><!--[if mso]>
|
||||
<table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:600px;">
|
||||
<![endif]--><div style="vertical-align:top;display:inline-block;font-size:13px;text-align:left;width:100%;" class="mj-column-per-100" aria-labelledby="mj-column-per-100"><table width="100%"><tbody><tr><td style="font-size:0;padding:0px;" align="center"><table cellpadding="0" cellspacing="0" style="border-collapse:collapse;border-spacing:0px;" align="center"><tbody><tr><td><a href="http://www.talentstube.com/"><img alt="Talents Tube" src="{{ absolute_url(asset('img/mail/logo-talents-tube.png')) }}" style="border:none;display:block;outline:none;text-decoration:none;width:100%;max-width:150px;height:auto;" width="150" height="auto"></a></td></tr></tbody></table></td></tr></tbody></table></div><!--[if mso]>
|
||||
<![endif]--><div style="vertical-align:top;display:inline-block;font-size:13px;text-align:left;width:100%;" class="mj-column-per-100" aria-labelledby="mj-column-per-100"><table width="100%"><tbody><tr><td style="font-size:0;padding:0px;" align="center"><table cellpadding="0" cellspacing="0" style="border-collapse:collapse;border-spacing:0px;" align="center"><tbody><tr><td><a href="http://www.talentstube.com/"><img alt="Talents Tube" src="https://recruteur.talentstube.com/img/mail/logo-talents-tube.png" style="border:none;display:block;outline:none;text-decoration:none;width:100%;max-width:150px;height:auto;" width="150" height="auto"></a></td></tr></tbody></table></td></tr></tbody></table></div><!--[if mso]>
|
||||
</td></tr></table>
|
||||
<![endif]--></td></tr></tbody></table></div><!--[if mso]>
|
||||
</td></tr></table>
|
||||
@@ -88,9 +88,9 @@
|
||||
<table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:600px;">
|
||||
<![endif]--><div style="vertical-align:top;display:inline-block;font-size:13px;text-align:left;width:100%;" class="mj-column-per-100" aria-labelledby="mj-column-per-100"><table width="100%"><tbody><tr><td style="font-size:0;padding:0px 35px 0px 35px;" align="center"><div class="mj-content" style="cursor:auto;color:#534F4F;font-family:Raleway;font-size:14px;line-height:22px;"><p>Suivez-nous !</p>
|
||||
<p>
|
||||
<a style="margin:10px 20px 22px 20px;" href="https://www.facebook.com/TalentsTuber/"><img src="{{ absolute_url(asset('img/mail/facebook.png')) }}" alt="Facebook"></a>
|
||||
<a style="margin:10px 20px 22px 20px;" href="https://twitter.com/TalentsTuber"><img src="{{ absolute_url(asset('img/mail/twitter.png')) }}" alt="Twitter"></a>
|
||||
<a style="margin:10px 20px 22px 20px;" href="https://www.linkedin.com/company/talentstube"><img src="{{ absolute_url(asset('img/mail/linkedin.png')) }}" alt="LinkedIn"></a>
|
||||
<a style="margin:10px 20px 22px 20px;" href="https://www.facebook.com/TalentsTuber/"><img src="https://recruteur.talentstube.com/img/mail/facebook.png" alt="Facebook"></a>
|
||||
<a style="margin:10px 20px 22px 20px;" href="https://twitter.com/TalentsTuber"><img src="https://recruteur.talentstube.com/img/mail/twitter.png" alt="Twitter"></a>
|
||||
<a style="margin:10px 20px 22px 20px;" href="https://www.linkedin.com/company/talentstube"><img src="https://recruteur.talentstube.com/img/mail/linkedin.png" alt="LinkedIn"></a>
|
||||
</p></div></td></tr></tbody></table></div><!--[if mso]>
|
||||
</td></tr></table>
|
||||
<![endif]--></td></tr></tbody></table></div><!--[if mso]>
|
||||
@@ -101,7 +101,7 @@
|
||||
<![endif]--><div style="margin:0 auto;max-width:600px;background:#F2F2F2;"><table class="" cellpadding="0" cellspacing="0" style="width:100%;font-size:0px;background:#F2F2F2;" align="center"><tbody><tr><td style="text-align:center;vertical-align:top;font-size:0;padding:0px;"><!--[if mso]>
|
||||
<table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:600px;">
|
||||
<![endif]--><div style="vertical-align:top;display:inline-block;font-size:13px;text-align:left;width:100%;" class="mj-column-per-100" aria-labelledby="mj-column-per-100"><table width="100%"><tbody><tr><td style="font-size:0;padding:20px 35px 20px 35px;" align="center"><div class="mj-content" style="cursor:auto;color:#7E7878;font-family:Raleway;font-size:14px;line-height:22px;"><p style="font-weight:bold;">Talents Tube</p>
|
||||
<p>Place Albert Einstein 6 Le Prisme CP60 PIBS 6 CS 72001 - 56038 VANNES</p>
|
||||
<p>Village By CA - 3 rue Louis de Broglie - PIBS - 56000 VANNES</p>
|
||||
<p><a style="text-decoration:none;color:#7E7878;font-weight:bold;" href="mailto:contact@talentstube.com">contact@talentstube.com</a></p></div></td></tr></tbody></table></div><!--[if mso]>
|
||||
</td></tr></table>
|
||||
<![endif]--></td></tr></tbody></table></div><!--[if mso]>
|
||||
|
||||
@@ -12,40 +12,44 @@
|
||||
<br />
|
||||
Bonjour {{ user.firstname }} {{ user.lastname }},<br /><br />
|
||||
<strong>Vous avez reçu une réponse vidéo de l’entreprise {{ message.sender.company.brandname }}.</strong><br />
|
||||
Découvez la réponse vidéo en cliquant sur le bouton ci-dessous.
|
||||
Découvrez la réponse vidéo en cliquant sur le bouton ci-dessous.
|
||||
<br/>
|
||||
<br/>
|
||||
<div style="text-align:center;">
|
||||
{% if answer.ad.alias is null %}
|
||||
<a class="btn btn-default" href="{{ absolute_url(path('talent_ad_detail',{'alias': aliasCompany,'id': answer.id })) }}">Visionner la réponse</a>
|
||||
{# <a class="btn btn-default" href="{{ absolute_url(path('talent_ad_detail',{'alias': aliasCompany,'id': answer.id })) }}">Visionner la réponse</a> #}
|
||||
<a class="btn btn-default" href="https://www.talentstube.com">Consulter la réponse</a>
|
||||
{% else %}
|
||||
<a class="btn btn-default" href="{{ absolute_url(path('talent_ad_detail',{'alias': answer.ad.alias,'id': answer.id })) }}">Visionner la réponse</a>
|
||||
{# <a class="btn btn-default" href="{{ absolute_url(path('talent_ad_detail',{'alias': answer.ad.alias,'id': answer.id })) }}">Visionner la réponse</a> #}
|
||||
<a class="btn btn-default" href="https://www.talentstube.com">Consulter la réponse</a>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% else %}
|
||||
<br />
|
||||
Bonjour {{ user.firstname }} {{ user.lastname }},<br /><br />
|
||||
<strong>Vous avez reçu une réponse de l’entreprise {{ message.sender.company.brandname }}.</strong><br />
|
||||
Découvez la réponse en cliquant sur le bouton ci-dessous.
|
||||
Découvrez la réponse en cliquant sur le bouton ci-dessous.
|
||||
<br/>
|
||||
<br/>
|
||||
<div style="text-align:center;">
|
||||
{% if answer.ad.alias is null %}
|
||||
<a class="btn btn-default" href="{{ absolute_url(path('talent_ad_detail',{'alias': aliasCompany,'id': answer.id })) }}">Consulter la réponse</a>
|
||||
{# <a class="btn btn-default" href="{{ absolute_url(path('talent_ad_detail',{'alias': aliasCompany,'id': answer.id })) }}">Consulter la réponse</a> #}
|
||||
<a class="btn btn-default" href="https://www.talentstube.com">Consulter la réponse</a>
|
||||
{% else %}
|
||||
<a class="btn btn-default" href="{{ absolute_url(path('talent_ad_detail',{'alias': answer.ad.alias,'id': answer.id })) }}">Consulter la réponse</a>
|
||||
{# <a class="btn btn-default" href="{{ absolute_url(path('talent_ad_detail',{'alias': answer.ad.alias,'id': answer.id })) }}">Consulter la réponse</a> #}
|
||||
<a class="btn btn-default" href="https://www.talentstube.com">Consulter la réponse</a>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endif %}
|
||||
<br>
|
||||
<strong>Vous souhaitez contacter l’entreprise ?</strong><br /><br />
|
||||
{# <strong>Vous souhaitez contacter l’entreprise ?</strong><br /><br />
|
||||
Cliquez sur le bouton ci-dessous pour envoyer un email à la personne en charge du recrutement.
|
||||
<br/>
|
||||
<br/>
|
||||
<div style="text-align:center;">
|
||||
<a class="btn-default btn-white" href="mailto:{{ message.sender.email }}">Répondre à {{ message.sender.firstname }} {{ message.sender.lastname }}</a>
|
||||
</div>
|
||||
<br />
|
||||
<br /> #}
|
||||
<br />
|
||||
L’équipe Talents Tube
|
||||
{% elseif type == 'plain' %}
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
|
||||
Nous avons reçu une demande de changement de mot de passe pour votre compte Talents Tube.
|
||||
Si vous n'avez pas fait cette demande, veuillez ignorez cet e-mail.
|
||||
Si vous n'avez pas fait cette demande, veuillez ignorer cet e-mail.
|
||||
Dans le cas contraire, veuillez cliquer sur le lien ci-dessous pour changer votre mot de passe :
|
||||
|
||||
{{ confirmationUrl }}
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
<p>
|
||||
Nous avons reçu une demande de changement de mot de passe pour votre compte Talents Tube.<br />
|
||||
Si vous n'avez pas fait cette demande, veuillez ignorez cet e-mail.<br />
|
||||
Si vous n'avez pas fait cette demande, veuillez ignorer cet e-mail.<br />
|
||||
Dans le cas contraire, veuillez cliquer sur le lien ci-dessous pour changer votre mot de passe :<br /><br />
|
||||
<a href="{{ confirmationUrl }}">Réinitialiser mon mot de passe</a>
|
||||
<br /><br />
|
||||
|
||||
@@ -40,13 +40,13 @@ votre entreprise et attirer de nouveaux talents.</p>
|
||||
width="100%" height="550" frameborder="0" webkitallowfullscreen
|
||||
mozallowfullscreen allowfullscreen></iframe>
|
||||
</div>
|
||||
{% else %}
|
||||
{# {% else %}
|
||||
<div class="no-presentation-video">
|
||||
<strong>
|
||||
Vous ne disposez pas de vidéo de présentation !
|
||||
</strong><br/>
|
||||
Cliquez sur le bouton ci-dessous pour la sélectionner dans votre bibliothèque.
|
||||
</div>
|
||||
</div> #}
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
@@ -72,11 +72,12 @@ votre entreprise et attirer de nouveaux talents.</p>
|
||||
{% endif %}
|
||||
<a class="btn btn-cancel-premier red tooltipped btn-round right" href="#!"
|
||||
data-position="top" data-tooltip="Annuler">Annuler</a>
|
||||
|
||||
<a class="btn btn-default btn-video-premier right btn-orange">
|
||||
{% if app.user.company.presentationVideo %}
|
||||
Remplacer ma vidéo marque employeur
|
||||
{% else %}
|
||||
Ajouter une vidéo marque employeur
|
||||
Choisir une vidéo marque employeur
|
||||
{% endif %}
|
||||
</a>
|
||||
|
||||
@@ -87,9 +88,9 @@ votre entreprise et attirer de nouveaux talents.</p>
|
||||
<strong>
|
||||
Guide
|
||||
</strong><br/>
|
||||
Pour remplacer votre vidéo marque employeur, cliquer sur le bouton remplacer et choisissez une vidéo dans la liste ci dessous </div>
|
||||
Pour choisir votre vidéo marque employeur, cliquer sur le bouton remplacer et choisissez une vidéo dans la liste ci dessous </div>
|
||||
{# {% endif %} #}
|
||||
</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
@@ -12,25 +12,25 @@
|
||||
<div class="row">
|
||||
<div class="col s12">
|
||||
{#<a class="waves-effect waves-light btn btn-default modal-trigger left m-r-10" href="#addVideo">Créer une vidéo</a>#}
|
||||
{% if medias|length > 0 %}
|
||||
{# {% if medias|length > 0 %} #}
|
||||
<a class="waves-effect waves-light btn btn-default modal-trigger left" href="#addVideo">Ajouter une vidéo</a>
|
||||
<a class="btn btn-delete-video btn-round tooltipped red right" href="#!" data-position="top"
|
||||
data-tooltip="Supprimer des vidéos"><i class="fa fa-trash" aria-hidden="true"></i>
|
||||
</a>
|
||||
{% endif %}
|
||||
{# {% endif %} #}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
{% if medias|length == 0 %}
|
||||
<div class="col s12 col-actions center-align" id="no-video-talents">
|
||||
{# <div class="col s12 col-actions center-align" id="no-video-talents">
|
||||
<br/><br/>
|
||||
<strong class="color-grey3">Vous ne possédez pas encore de CV vidéo!</strong><br/>
|
||||
<span class="color-grey2">Cliquez sur le bouton pour ajouter votre première vidéo.</span>
|
||||
<br/><br/>
|
||||
<a class="waves-effect waves-light btn btn-default modal-trigger" href="#addVideo">Ajouter une
|
||||
vidéo</a>
|
||||
</div>
|
||||
</div> #}
|
||||
{% else %}
|
||||
{% if app.user.company.presentationVideo %}
|
||||
{% set media = app.user.company.presentationVideo %}
|
||||
|
||||
+2
-2
@@ -102,7 +102,7 @@
|
||||
dès aujourd’hui !
|
||||
</p>
|
||||
<br /><br />
|
||||
<a class="btn btn-default" title="contactez nous" href="https://blog.talentstube.com/contact.html">Contactez nous dès aujourd’hui !</a>
|
||||
<a class="btn btn-default" title="contactez nous" href="https://blog.talentstube.com/contact">Contactez nous dès aujourd’hui !</a>
|
||||
<br />
|
||||
</div>
|
||||
</div>
|
||||
@@ -168,7 +168,7 @@
|
||||
<div class="card-title"><h4>Réalisation vidéo</h4></div>
|
||||
<div class="price blue-text">Sur devis</div>
|
||||
<div class="center-align">
|
||||
<a href="https://blog.talentstube.com/contact.html" class="btn btn-default">Demander un devis</a>
|
||||
<a href="https://blog.talentstube.com/contact" class="btn btn-default">Demander un devis</a>
|
||||
</div>
|
||||
<div class="divider"></div>
|
||||
<p>Nos équipes vous aident à <strong>écrire le scénario RH et/ou Marque Employeur</strong>.</p>
|
||||
|
||||
+1
-1
@@ -91,7 +91,7 @@
|
||||
!
|
||||
</div>
|
||||
<div class="col s12 center-align m-t-50 m-b-50">
|
||||
<a class="btn btn-default" title="contactez nous" href="https://blog.talentstube.com/contact.html">Demander un devis</a>
|
||||
<a class="btn btn-default" title="contactez nous" href="https://blog.talentstube.com/contact">Demander un devis</a>
|
||||
<br />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
+2
-2
@@ -102,7 +102,7 @@
|
||||
</div>
|
||||
<div class="row center-align m-t-100">
|
||||
<p>
|
||||
<a href="https://blog.talentstube.com/contact.html" class="btn btn-default">Nous contacter</a>
|
||||
<a href="https://blog.talentstube.com/contact" class="btn btn-default">Nous contacter</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
@@ -117,7 +117,7 @@
|
||||
</div>
|
||||
<div class="row center-align m-t-50">
|
||||
<p>
|
||||
<a href="https://blog.talentstube.com/contact.html" class="btn btn-default white">Demander un devis</a>
|
||||
<a href="https://blog.talentstube.com/contact" class="btn btn-default white">Demander un devis</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -134,7 +134,7 @@
|
||||
</div>
|
||||
<div class="row center-align m-t-50 m-b-50">
|
||||
<p>
|
||||
<a class="btn btn-default" title="contactez nous" href="https://blog.talentstube.com/contact.html">Demander votre vidéo marque employeur</a>
|
||||
<a class="btn btn-default" title="contactez nous" href="https://blog.talentstube.com/contact">Demander votre vidéo marque employeur</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -121,7 +121,7 @@
|
||||
</div>
|
||||
<div class="row center-align">
|
||||
<p>
|
||||
<a class="btn btn-default" title="contactez nous" href="https://blog.talentstube.com/contact.html">Contactez nous dès aujourd’hui !</a>
|
||||
<a class="btn btn-default" title="contactez nous" href="https://blog.talentstube.com/contact">Contactez nous dès aujourd’hui !</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
+1
-1
@@ -192,7 +192,7 @@
|
||||
<div class="row center-align">
|
||||
<p>
|
||||
<br />
|
||||
<a href="https://blog.talentstube.com/contact.html" class="btn btn-default">Demander une vidéo offre emploi</a>
|
||||
<a href="https://blog.talentstube.com/contact" class="btn btn-default">Demander une vidéo offre emploi</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -90,7 +90,7 @@
|
||||
</div>
|
||||
<div class="row center-align m-t-100">
|
||||
<p>
|
||||
<a href="https://blog.talentstube.com/contact.html" class="btn btn-default">Demander une vidéo territoire</a>
|
||||
<a href="https://blog.talentstube.com/contact" class="btn btn-default">Demander une vidéo territoire</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -247,9 +247,9 @@
|
||||
<div class="col s6">
|
||||
{{ form_row(formProfile.birthday) }}
|
||||
</div>
|
||||
<div class="col s6">
|
||||
{# <div class="col s6">
|
||||
{{ form_row(formProfile.gender) }}
|
||||
</div>
|
||||
</div> #}
|
||||
<div class="col s12">
|
||||
{{ form_row(formProfile.company.address) }}
|
||||
{{ form_row(formProfile.company.addressComp) }}
|
||||
|
||||
@@ -222,8 +222,8 @@
|
||||
<h4 class="no-margin-top">
|
||||
Contacter le talent
|
||||
</h4>
|
||||
Ex <p>
|
||||
péditeur :
|
||||
<p>
|
||||
Expéditeur :
|
||||
{{ app.user.firstname }}
|
||||
{{ app.user.lastname }}
|
||||
</p>
|
||||
|
||||
@@ -35,8 +35,8 @@ monolog:
|
||||
# type: chromephp
|
||||
# level: info
|
||||
|
||||
swiftmailer:
|
||||
delivery_addresses: ['%delivery_addresses%']
|
||||
# swiftmailer:
|
||||
# delivery_addresses: ['%delivery_addresses%']
|
||||
|
||||
# Twig Configuration
|
||||
twig:
|
||||
|
||||
Regular → Executable
@@ -3,8 +3,8 @@ parameters:
|
||||
onurb_yuml.extension: jpg
|
||||
mailer_transport: smtp
|
||||
mailer_host: mail.gandi.net
|
||||
mailer_user: noreply@talentstube.com
|
||||
mailer_password: zfYwOGBHweCQ8OI9ghF6lUyo
|
||||
mailer_user: noreply@talentstube.io
|
||||
mailer_password: eaV76D3AEhRbLxNVwfuz9
|
||||
secret: 416157a2389cec970df2a46fa8ffd361b76516d1
|
||||
database_host: tt-website.postgres.dev
|
||||
database_port: '5432'
|
||||
@@ -25,7 +25,7 @@ parameters:
|
||||
media_photo_dir: '%kernel.root_dir%/../web/uploads/photos/'
|
||||
elastic_host: tt-website.elasticsearch.dev
|
||||
elastic_port: 9200
|
||||
delivery_addresses: thomas.berrod@e-declic.com
|
||||
delivery_addresses: l.laniau@talentstube.com
|
||||
push_params:
|
||||
push_notification_file_path: '%kernel.root_dir%/../web/push/'
|
||||
push_network_config:
|
||||
|
||||
@@ -1,15 +1,17 @@
|
||||
parameters:
|
||||
mailer_transport: smtp
|
||||
mailer_host: mail.gandi.net
|
||||
mailer_user: noreply@talentstube.com
|
||||
mailer_password: zfYwOGBHweCQ8OI9ghF6lUyo
|
||||
# mailer_user: noreply@talentstube.io
|
||||
# mailer_password: zfYwOGBHweCQ8OI9ghF6lUyo
|
||||
mailer_user: noreply@talentstube.io
|
||||
mailer_password: eaV76D3AEhRbLxNVwfuz9
|
||||
secret: 416157a2389cec970df2a46fa8ffd361b76516d1
|
||||
database_host: 'tt-website.postgres.preprod'
|
||||
database_port: '5432'
|
||||
database_name: database
|
||||
database_user: user
|
||||
database_password: 7C|Uk2B[.>"6{QO{
|
||||
#database_password: b|RN:iR<g,TNMqM6
|
||||
#database_password: 7C|Uk2B[.>"6{QO{
|
||||
database_password: b|RN:iR<g,TNMqM6
|
||||
#Mongo
|
||||
mongodb_server: "mongodb://tt-website.mongo.preprod:27017"
|
||||
#Prestashop
|
||||
@@ -28,7 +30,7 @@ parameters:
|
||||
|
||||
elastic_host: tt-website.elasticsearch.preprod
|
||||
elastic_port: 9200
|
||||
delivery_addresses: thomas.berrod@e-declic.com
|
||||
delivery_addresses: l.laniau@talentstube.com
|
||||
push_params:
|
||||
push_notification_file_path: '%kernel.root_dir%/../web/push/'
|
||||
push_network_config:
|
||||
|
||||
@@ -1,8 +1,10 @@
|
||||
parameters:
|
||||
mailer_transport: smtp
|
||||
mailer_host: mail.gandi.net
|
||||
mailer_user: noreply@talentstube.com
|
||||
mailer_password: zfYwOGBHweCQ8OI9ghF6lUyo
|
||||
#mailer_user: noreply@talentstube.com
|
||||
#mailer_password: zfYwOGBHweCQ8OI9ghF6lUyo
|
||||
mailer_user: noreply@talentstube.io
|
||||
mailer_password: eaV76D3AEhRbLxNVwfuz9
|
||||
secret: 416157a2389cec970df2a46fa8ffd361b76516d1
|
||||
database_host: 'tt-website.postgres.prod'
|
||||
database_port: '5432'
|
||||
@@ -27,15 +29,15 @@ parameters:
|
||||
|
||||
elastic_host: tt-website.elasticsearch.prod
|
||||
elastic_port: 9200
|
||||
delivery_addresses: thomas.berrod@e-declic.com
|
||||
delivery_addresses: l.laniau@talentstube.com
|
||||
push_params:
|
||||
push_notification_file_path: '%kernel.root_dir%/../web/push/'
|
||||
push_network_config:
|
||||
public_key: '%push_params.public_key%'
|
||||
private_key: g2Yimi3AK1ppvRqwikPyTTWcEEsTdRPxoBJ2Vi9bOWw
|
||||
service_mail_subject: 'mailto:looping@talentstube.com'
|
||||
ttl: 300
|
||||
urgency: high
|
||||
topic: Emploi
|
||||
push_notification_file_path: '%kernel.root_dir%/../web/push/'
|
||||
push_network_config:
|
||||
public_key: '%push_params.public_key%'
|
||||
private_key: g2Yimi3AK1ppvRqwikPyTTWcEEsTdRPxoBJ2Vi9bOWw
|
||||
service_mail_subject: 'mailto:looping@talentstube.com'
|
||||
ttl: 300
|
||||
urgency: high
|
||||
topic: Emploi
|
||||
push_params.public_key: BG2lV673DvB67dzEwX9GKfds3sXaEdtZo2oWO1cO2xUdTJAFZ_rV_UrP1nHQz-F8LJNO9HxG0kmQRIb54JL1ZCA
|
||||
|
||||
|
||||
@@ -55,9 +55,12 @@ class AdController extends Controller
|
||||
$form = $this->createForm(AdType::class, $ad);
|
||||
$form->handleRequest($request);
|
||||
if ($form->isSubmitted() && $form->isValid()) {
|
||||
$type_contract = $form['contract_type']->getData();
|
||||
$arrayExtra = $ad->getExtra();
|
||||
$type_contract = $form['contract_type']->getData();
|
||||
$arrayExtra['contract_type'] = $type_contract;
|
||||
//LLAN Ajout de la notion de temps partiel, plein temps (5 oct 2020)
|
||||
$temps_type = $form['temps_type']->getData();
|
||||
$arrayExtra['temps_type'] = $temps_type;
|
||||
$ad->setExtra($arrayExtra);
|
||||
$adManager = $this->get('app.ad_manager');
|
||||
$adManager->updateAd($ad);
|
||||
@@ -105,8 +108,10 @@ class AdController extends Controller
|
||||
$form->handleRequest($request);
|
||||
if ($form->isSubmitted() && $form->isValid()) {
|
||||
$type_contract = $form['contract_type']->getData();
|
||||
$temps_type = $form['temps_type']->getData();
|
||||
$arrayExtra = $ad->getExtra();
|
||||
$arrayExtra['contract_type'] = $type_contract;
|
||||
$arrayExtra['temps_type'] = $temps_type;
|
||||
$ad->setExtra($arrayExtra);
|
||||
$adManager = $this->get('app.ad_manager');
|
||||
$adManager->updateAd($ad);
|
||||
@@ -128,8 +133,10 @@ class AdController extends Controller
|
||||
$form->handleRequest($request);
|
||||
if ($form->isSubmitted() && $form->isValid()) {
|
||||
$type_contract = $form['contract_type']->getData();
|
||||
$temps_type = $form['temps_type']->getData();
|
||||
$arrayExtra = $ad->getExtra();
|
||||
$arrayExtra['contract_type'] = $type_contract;
|
||||
$arrayExtra['temps_type'] = $temps_type;
|
||||
$ad->setExtra($arrayExtra);
|
||||
$adManager = $this->get('app.ad_manager');
|
||||
$adManager->updateAd($ad);
|
||||
@@ -209,7 +216,7 @@ class AdController extends Controller
|
||||
$em->flush();
|
||||
$em->clear();
|
||||
|
||||
return $this->redirectToRoute('company_ad_validation', array('id' => $ad->getId()));
|
||||
return $this->redirectToRoute('company_ad', array('id' => $ad->getId()));
|
||||
}
|
||||
|
||||
return $this->render('company/ad_edit_date.html.twig', [
|
||||
|
||||
@@ -108,19 +108,19 @@ class UserController extends Controller
|
||||
}
|
||||
|
||||
\assert(!\is_null($user));
|
||||
$company = $user->getCompany();
|
||||
if ($company) {
|
||||
$company->setPresentationVideo(null);
|
||||
$em->persist($company);
|
||||
$em->flush();
|
||||
}
|
||||
// $company = $user->getCompany();
|
||||
// if ($company) {
|
||||
// $company->setPresentationVideo(null);
|
||||
// $em->persist($company);
|
||||
// $em->flush();
|
||||
// }
|
||||
$this->deleteRelation($user);
|
||||
$em->remove($user);
|
||||
$em->flush();
|
||||
if ($company) {
|
||||
$em->remove($company);
|
||||
$em->flush();
|
||||
}
|
||||
// if ($company) {
|
||||
// $em->remove($company);
|
||||
// $em->flush();
|
||||
// }
|
||||
|
||||
// if ($company) {
|
||||
// $em->remove($company);
|
||||
|
||||
@@ -376,8 +376,8 @@ class AnswerController extends Controller
|
||||
));
|
||||
$email = \Swift_Message::newInstance()
|
||||
->setSubject('Candidature : ' . $title)
|
||||
->setFrom($this->getParameter('mailer_user'), $user->getEmail())
|
||||
->setReplyTo($user->getEmail())
|
||||
->setFrom($this->getParameter('mailer_user'))
|
||||
->setReplyTo($this->getParameter('mailer_user'))
|
||||
->setTo($answer->getUser()->getEmail())
|
||||
->setBody($htmlView, 'text/html')
|
||||
->addPart($plainView, 'text/plain');
|
||||
@@ -416,7 +416,8 @@ class AnswerController extends Controller
|
||||
$spontaneous = $em->getRepository('AppBundle:Answer')->findBy(
|
||||
array(
|
||||
'company' => $user->getCompany()->getId(),
|
||||
'status' => 'SENDED'
|
||||
'status' => 'SENDED',
|
||||
'ad' => null
|
||||
),
|
||||
array(
|
||||
'uTime' => 'DESC'
|
||||
|
||||
@@ -20,7 +20,7 @@ use Symfony\Component\HttpFoundation\JsonResponse;
|
||||
class AdController extends FOSRestController
|
||||
{
|
||||
/**
|
||||
* @Rest\Get(path="/api/ads/{id}", name="api_ad_show", requirements={"id"="\d+"})
|
||||
* @Rest\Get(path="/api/jobs/{id}", name="api_ad_show", requirements={"id"="\d+"})
|
||||
* @Rest\View
|
||||
*
|
||||
*/
|
||||
@@ -34,7 +34,7 @@ class AdController extends FOSRestController
|
||||
}
|
||||
|
||||
/**
|
||||
* @Rest\Get("/api/ads", name="api_ad_list")
|
||||
* @Rest\Get("/api/jobs", name="api_ad_list")
|
||||
*
|
||||
* @Rest\QueryParam(
|
||||
* name="keyword",
|
||||
@@ -101,7 +101,7 @@ class AdController extends FOSRestController
|
||||
}
|
||||
|
||||
/**
|
||||
* @Rest\Post("/api/ads", name="api_ad_create")
|
||||
* @Rest\Post("/api/jobs", name="api_ad_create")
|
||||
* @Rest\View(StatusCode = 201)
|
||||
* @ParamConverter("ad", converter="fos_rest.request_body")
|
||||
*/
|
||||
|
||||
@@ -105,9 +105,13 @@ class AnswerController extends FOSRestController
|
||||
$existCompanyAnswer = null;
|
||||
// Verify if users have already posted answers
|
||||
if (isset($adId) && $adId != null) {
|
||||
$existAdAnswer = $em->getRepository('AppBundle:Answer')->findOneBy(array('user' => $usr, 'ad' => $adId));
|
||||
$dateJour = new \DateTime('NOW');
|
||||
// $existAdAnswer = $em->getRepository('AppBundle:Answer')->findOneBy(array('user' => $usr, 'ad' => $adId));
|
||||
$existAdAnswer = $em->getRepository('AppBundle:Answer')->findExistAdAnswer($usr, $adId);
|
||||
} else {
|
||||
$existCompanyAnswer = $em->getRepository('AppBundle:Answer')->findOneBy(array('user' => $usr, 'company' => $companyId));
|
||||
// $existCompanyAnswer = $em->getRepository('AppBundle:Answer')->findOneBy(array('user' => $usr, 'company' => $companyId));
|
||||
$existCompanyAnswer = $em->getRepository('AppBundle:Answer')->findExistEntrepriseAnswer($usr, $companyId);
|
||||
|
||||
}
|
||||
|
||||
if (!isset($mediaId) || !isset($companyId) || $mediaId == null || $companyId == null) {
|
||||
@@ -115,11 +119,11 @@ class AnswerController extends FOSRestController
|
||||
$status = 'failure';
|
||||
throw new ResourceValidationException($message, $status);
|
||||
} else if ($existAdAnswer) {
|
||||
$message = 'Vous avez déja postulé pour cette offre';
|
||||
$message = "Tu as déjà postulé aujourd’hui !";
|
||||
$status = 'failure';
|
||||
throw new ResourceValidationException($message, $status);
|
||||
} else if ($existCompanyAnswer) {
|
||||
$message = 'Vous avez déja postulé pour cette entreprise.';
|
||||
$message = "Tu as déjà postulé aujourd’hui pour cette entreprise !";
|
||||
$status = 'failure';
|
||||
throw new ResourceValidationException($message, $status);
|
||||
} else {
|
||||
@@ -144,13 +148,45 @@ class AnswerController extends FOSRestController
|
||||
$em->persist($answer);
|
||||
$em->flush();
|
||||
|
||||
$userCompany = $company->getUsers();
|
||||
$usersCompany = $company->getUsers();
|
||||
$mediaManager = $this->get('media_manager');
|
||||
$mediaManager->getThumbnails($answer);
|
||||
$thumbnailsArray = $answer->getVideo()->getThumbnails();
|
||||
$img = $thumbnailsArray[0]['sizes'][3]['link'];
|
||||
$title = $company->getBrandName();
|
||||
|
||||
/*$message = new Message('Candidature', 'Video', $usr, $userCompany{
|
||||
0}, 'CONTACT_TALENT', $answer);
|
||||
$message->setVideo($video);
|
||||
$em->persist($message);
|
||||
$em->flush();*/
|
||||
$mailManager = $this->get('app.mail_manager');
|
||||
foreach ($usersCompany as $user){
|
||||
$link = $this->generateUrl('company_answer_show', array('id' => $answer->getId()), UrlGeneratorInterface::ABSOLUTE_URL);
|
||||
$mailManager->sendMail(
|
||||
'Candidature TalentsTube ',
|
||||
'<div style="margin:0 auto;max-width:600px;background:#FFFFFF;"><table class="" cellpadding="0" cellspacing="0" style="width:100%;font-size:0px;background:#FFFFFF;" align="center"><tbody><tr><td style="text-align:center;vertical-align:top;font-size:0;padding:0px;"><!--[if mso]>
|
||||
<table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:600px;">
|
||||
<![endif]--><div style="vertical-align:top;display:inline-block;font-size:13px;text-align:left;width:100%;" class="mj-column-per-100" aria-labelledby="mj-column-per-100"><table width="100%"><tbody><tr><td style="font-size:0;padding:0px;" align="center"><table cellpadding="0" cellspacing="0" style="border-collapse:collapse;border-spacing:0px;" align="center"><tbody><tr><td><img alt="" src="' . $img . '" style="border:none;display:block;outline:none;text-decoration:none;width:100%;max-width:600px;height:auto;" width="600" height="auto"></td></tr></tbody></table></td></tr></tbody></table></div><!--[if mso]>
|
||||
</td></tr></table>
|
||||
<![endif]--></td></tr></tbody></table></div>
|
||||
|
||||
<div style="margin:0 auto;max-width:600px;background:#FFFFFF;"><table class="" cellpadding="0" cellspacing="0" style="width:100%;font-size:0px;background:#FFFFFF;" align="center"><tbody><tr><td style="text-align:center;vertical-align:top;font-size:0;padding:0px;"><!--[if mso]>
|
||||
<table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:600px;">
|
||||
<![endif]--><div style="vertical-align:top;display:inline-block;font-size:13px;text-align:left;width:100%;" class="mj-column-per-100" aria-labelledby="mj-column-per-100"><table width="100%"><tbody><tr><td style="font-size:0;padding:20px 35px 20px 35px;" align="left"><div class="mj-content" style="cursor:auto;color:#534F4F;font-family:Trebuchet,Helvetica,sans-serif;font-size:14px;line-height:22px;"><p>Bonjour ' . $user->getLastname() . ' ' . $user->getFirstname() . ',</p>
|
||||
<p>Le talent ' . $answer->getUser()->getFirstname() . ' ' . $answer->getUser()->getLastname() . ' a répondu à votre annonce ' . $title . '.</p></div></td></tr></tbody></table></div><!--[if mso]>
|
||||
</td></tr></table>
|
||||
<![endif]--></td></tr></tbody></table></div>
|
||||
|
||||
<div style="margin:0 auto;max-width:600px;background:#FFFFFF;"><table class="" cellpadding="0" cellspacing="0" style="width:100%;font-size:0px;background:#FFFFFF;" align="center"><tbody><tr><td style="text-align:center;vertical-align:top;font-size:0;padding:0px 0px 40px 0px;"><!--[if mso]>
|
||||
<table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:600px;">
|
||||
<![endif]--><div style="vertical-align:top;display:inline-block;font-size:13px;text-align:left;width:100%;" class="mj-column-per-100" aria-labelledby="mj-column-per-100"><table width="100%"><tbody><tr><td style="font-size:0;padding:15px 30px;" align="center"><table cellpadding="0" cellspacing="0" style="border:none;border-radius:30px;" align="center"><tbody><tr><td style="background:#1689FB;border-radius:30px;color:#FFFFFF;cursor:auto;" align="center" valign="middle" bgcolor="#1689FB"><a class="mj-content" href="' . $link . '" style="display:inline-block;text-decoration:none;background:#1689FB;border:1px solid #1689FB;border-radius:30px;color:#FFFFFF;font-family:Trebuchet,Helvetica,sans-serif;font-size:14px;font-weight:normal;padding:15px 30px;" target="_blank">Découvrir le talent</a></td></tr></tbody></table></td></tr></tbody></table></div><!--[if mso]>
|
||||
</td></tr></table>
|
||||
<![endif]--></td></tr></tbody></table></div>',
|
||||
$user,
|
||||
'contact_default'
|
||||
);
|
||||
}
|
||||
$status = array('status' => "success", "idAnswer" => $answer->getId()/*, "idMessage" => $message->getId()*/);
|
||||
}
|
||||
} else {
|
||||
@@ -334,6 +370,49 @@ class AnswerController extends FOSRestController
|
||||
$em->persist($message);
|
||||
$em->flush();
|
||||
|
||||
|
||||
|
||||
$usersCompany = $existAnswer->getCompany()->getUsers();
|
||||
$mediaManager = $this->get('media_manager');
|
||||
$mediaManager->getThumbnails($existAnswer);
|
||||
$thumbnailsArray = $existAnswer->getVideo()->getThumbnails();
|
||||
$img = $thumbnailsArray[0]['sizes'][3]['link'];
|
||||
$title = $existAnswer->getCompany()->getBrandName();
|
||||
|
||||
/*$message = new Message('Candidature', 'Video', $usr, $userCompany{
|
||||
0}, 'CONTACT_TALENT', $answer);
|
||||
$message->setVideo($video);
|
||||
$em->persist($message);
|
||||
$em->flush();*/
|
||||
$mailManager = $this->get('app.mail_manager');
|
||||
foreach ($usersCompany as $user){
|
||||
$link = $this->generateUrl('company_answer_show', array('id' => $existAnswer->getId()), UrlGeneratorInterface::ABSOLUTE_URL);
|
||||
$mailManager->sendMail(
|
||||
'Message sur la plateforme Talents Tube ',
|
||||
'<div style="margin:0 auto;max-width:600px;background:#FFFFFF;"><table class="" cellpadding="0" cellspacing="0" style="width:100%;font-size:0px;background:#FFFFFF;" align="center"><tbody><tr><td style="text-align:center;vertical-align:top;font-size:0;padding:0px;"><!--[if mso]>
|
||||
<table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:600px;">
|
||||
<![endif]--><div style="vertical-align:top;display:inline-block;font-size:13px;text-align:left;width:100%;" class="mj-column-per-100" aria-labelledby="mj-column-per-100"><table width="100%"><tbody><tr><td style="font-size:0;padding:0px;" align="center"><table cellpadding="0" cellspacing="0" style="border-collapse:collapse;border-spacing:0px;" align="center"><tbody><tr><td><img alt="" src="' . $img . '" style="border:none;display:block;outline:none;text-decoration:none;width:100%;max-width:600px;height:auto;" width="600" height="auto"></td></tr></tbody></table></td></tr></tbody></table></div><!--[if mso]>
|
||||
</td></tr></table>
|
||||
<![endif]--></td></tr></tbody></table></div>
|
||||
|
||||
<div style="margin:0 auto;max-width:600px;background:#FFFFFF;"><table class="" cellpadding="0" cellspacing="0" style="width:100%;font-size:0px;background:#FFFFFF;" align="center"><tbody><tr><td style="text-align:center;vertical-align:top;font-size:0;padding:0px;"><!--[if mso]>
|
||||
<table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:600px;">
|
||||
<![endif]--><div style="vertical-align:top;display:inline-block;font-size:13px;text-align:left;width:100%;" class="mj-column-per-100" aria-labelledby="mj-column-per-100"><table width="100%"><tbody><tr><td style="font-size:0;padding:20px 35px 20px 35px;" align="left"><div class="mj-content" style="cursor:auto;color:#534F4F;font-family:Trebuchet,Helvetica,sans-serif;font-size:14px;line-height:22px;"><p>Bonjour ' . $user->getLastname() . ' ' . $user->getFirstname() . ',</p>
|
||||
<p>Le talent ' . $existAnswer->getUser()->getFirstname() . ' ' . $existAnswer->getUser()->getLastname() . ' a laissé un message à votre annonce ' . $title . '.</p></div></td></tr></tbody></table></div><!--[if mso]>
|
||||
</td></tr></table>
|
||||
<![endif]--></td></tr></tbody></table></div>
|
||||
|
||||
<div style="margin:0 auto;max-width:600px;background:#FFFFFF;"><table class="" cellpadding="0" cellspacing="0" style="width:100%;font-size:0px;background:#FFFFFF;" align="center"><tbody><tr><td style="text-align:center;vertical-align:top;font-size:0;padding:0px 0px 40px 0px;"><!--[if mso]>
|
||||
<table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:600px;">
|
||||
<![endif]--><div style="vertical-align:top;display:inline-block;font-size:13px;text-align:left;width:100%;" class="mj-column-per-100" aria-labelledby="mj-column-per-100"><table width="100%"><tbody><tr><td style="font-size:0;padding:15px 30px;" align="center"><table cellpadding="0" cellspacing="0" style="border:none;border-radius:30px;" align="center"><tbody><tr><td style="background:#1689FB;border-radius:30px;color:#FFFFFF;cursor:auto;" align="center" valign="middle" bgcolor="#1689FB"><a class="mj-content" href="' . $link . '" style="display:inline-block;text-decoration:none;background:#1689FB;border:1px solid #1689FB;border-radius:30px;color:#FFFFFF;font-family:Trebuchet,Helvetica,sans-serif;font-size:14px;font-weight:normal;padding:15px 30px;" target="_blank">Lire le message</a></td></tr></tbody></table></td></tr></tbody></table></div><!--[if mso]>
|
||||
</td></tr></table>
|
||||
<![endif]--></td></tr></tbody></table></div>',
|
||||
$user,
|
||||
'contact_default'
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
$status = array('status' => "success");
|
||||
return new JsonResponse($status);
|
||||
}
|
||||
@@ -365,4 +444,4 @@ class AnswerController extends FOSRestController
|
||||
|
||||
return new JsonResponse($data, 200, [], true);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -17,6 +17,7 @@ use Symfony\Component\Routing\Generator\UrlGeneratorInterface;
|
||||
use JMS\Serializer\SerializationContext;
|
||||
use Symfony\Component\HttpFoundation\JsonResponse;
|
||||
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
|
||||
use Symfony\Component\HttpFoundation\Request;
|
||||
|
||||
class CompanyController extends FOSRestController
|
||||
{
|
||||
@@ -30,6 +31,285 @@ class CompanyController extends FOSRestController
|
||||
$data = $this->get('jms_serializer')->serialize($company, 'json', SerializationContext::create()->setGroups(array('company_detail')));
|
||||
return new JsonResponse($data, 200, [], true);
|
||||
}
|
||||
public function getToken(){
|
||||
$curl = curl_init();
|
||||
curl_setopt_array($curl, array(
|
||||
CURLOPT_URL => "https://entreprise.pole-emploi.fr/connexion/oauth2/access_token",
|
||||
CURLOPT_RETURNTRANSFER => true,
|
||||
CURLOPT_ENCODING => "",
|
||||
CURLOPT_MAXREDIRS => 10,
|
||||
CURLOPT_TIMEOUT => 30,
|
||||
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
|
||||
CURLOPT_CUSTOMREQUEST => "POST",
|
||||
CURLOPT_POSTFIELDS => "realm=/partenaire&grant_type=client_credentials&client_id=PAR_talentstube_35a96821a2f4a981a21a387dd590041617a42cb7755960fe7b6c68e617136b92&client_secret=de3dff58ab5adab6ab265753ed0f7d373ab764aea7c4b2b9de4a7744467503cc&scope=api_romev1 application_PAR_talentstube_35a96821a2f4a981a21a387dd590041617a42cb7755960fe7b6c68e617136b92 nomenclatureRome",
|
||||
CURLOPT_HTTPHEADER => array(
|
||||
"cache-control: no-cache",
|
||||
"content-type: application/x-www-form-urlencoded"
|
||||
),
|
||||
));
|
||||
$response = curl_exec($curl);
|
||||
$err = curl_error($curl);
|
||||
|
||||
curl_close($curl);
|
||||
$token = "";
|
||||
if (!$err)
|
||||
{
|
||||
|
||||
$obj = json_decode($response);
|
||||
$token = $obj->access_token;
|
||||
|
||||
}
|
||||
return $token;
|
||||
}
|
||||
|
||||
/**
|
||||
* @Rest\Get(path="/api/getCompetences", name="api_getCompetences")
|
||||
* @Rest\View
|
||||
* Récupérer des compétences à partir d'un libellé
|
||||
*/
|
||||
public function getCompetencesAction(Request $request)
|
||||
{
|
||||
//APPEL de l'api Pole emploi pour recuperer Token
|
||||
$q=$request->query->get('q');
|
||||
//echo "requete".$q;
|
||||
$token = $this->getToken();
|
||||
//$token = "9GUOIgLwcpSYDuk6lA2rMKzuPRo._SreJAZX2RoBuYBYH25Yhg_Lhgw";
|
||||
$response =null;
|
||||
if($q){
|
||||
$curl = curl_init();
|
||||
curl_setopt($curl, CURLOPT_HTTPHEADER, array(
|
||||
'Content-Type: application/json',
|
||||
'Accept : application/json',
|
||||
'Authorization: Bearer ' . $token
|
||||
));
|
||||
curl_setopt_array($curl, array(
|
||||
CURLOPT_URL => "https://api.emploi-store.fr/partenaire/rome/v1/competence?q=".$q,
|
||||
CURLOPT_RETURNTRANSFER => true,
|
||||
CURLOPT_ENCODING => "",
|
||||
CURLOPT_MAXREDIRS => 10,
|
||||
CURLOPT_TIMEOUT => 30,
|
||||
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
|
||||
CURLOPT_CUSTOMREQUEST => "GET",
|
||||
|
||||
|
||||
));
|
||||
$response = curl_exec($curl);
|
||||
$err = curl_error($curl);
|
||||
if (!$err)
|
||||
{
|
||||
|
||||
|
||||
}
|
||||
curl_close($curl);
|
||||
|
||||
}
|
||||
// $arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5);
|
||||
// $data = json_encode($arr);
|
||||
return new JsonResponse($response, 200, [], true);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Rest\Get(path="/api/getAppelationsMetier", name="api_getAppelationsMetier")
|
||||
* @Rest\View
|
||||
* Récupérer des appelations à partir d'un métier (code ROME)
|
||||
*/
|
||||
public function getAppelationsMetierAction(Request $request)
|
||||
{
|
||||
//APPEL de l'api Pole emploi pour recuperer Token
|
||||
$q=$request->query->get('q');
|
||||
//echo "requete".$q;
|
||||
$token = $this->getToken();
|
||||
$response =null;
|
||||
if($q){
|
||||
$curl = curl_init();
|
||||
curl_setopt($curl, CURLOPT_HTTPHEADER, array(
|
||||
'Content-Type: application/json',
|
||||
'Accept : application/json',
|
||||
'Authorization: Bearer ' . $token
|
||||
));
|
||||
curl_setopt_array($curl, array(
|
||||
CURLOPT_URL => "https://api.emploi-store.fr/partenaire/rome/v1/metier/".$q."/appellation",
|
||||
CURLOPT_RETURNTRANSFER => true,
|
||||
CURLOPT_ENCODING => "",
|
||||
CURLOPT_MAXREDIRS => 10,
|
||||
CURLOPT_TIMEOUT => 30,
|
||||
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
|
||||
CURLOPT_CUSTOMREQUEST => "GET",
|
||||
|
||||
|
||||
));
|
||||
$response = curl_exec($curl);
|
||||
$err = curl_error($curl);
|
||||
if (!$err)
|
||||
{
|
||||
|
||||
|
||||
}
|
||||
curl_close($curl);
|
||||
|
||||
}
|
||||
|
||||
return new JsonResponse($response, 200, [], true);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @Rest\Get(path="/api/getAppelationsLibelle", name="api_getAppelationsLibelle")
|
||||
* @Rest\View
|
||||
* Récupérer des appelations à partir d'un libellé
|
||||
*/
|
||||
public function getAppelationsLibelleAction(Request $request)
|
||||
{
|
||||
//APPEL de l'api Pole emploi pour recuperer Token
|
||||
$q=$request->query->get('q');
|
||||
//echo "requete".$q;
|
||||
$token = $this->getToken();
|
||||
$response =null;
|
||||
if($q){
|
||||
$curl = curl_init();
|
||||
curl_setopt($curl, CURLOPT_HTTPHEADER, array(
|
||||
'Content-Type: application/json',
|
||||
'Accept : application/json',
|
||||
'Authorization: Bearer ' . $token
|
||||
));
|
||||
curl_setopt_array($curl, array(
|
||||
CURLOPT_URL => "https://api.emploi-store.fr/partenaire/rome/v1/appellation?q=".$q,
|
||||
CURLOPT_RETURNTRANSFER => true,
|
||||
CURLOPT_ENCODING => "",
|
||||
CURLOPT_MAXREDIRS => 10,
|
||||
CURLOPT_TIMEOUT => 30,
|
||||
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
|
||||
CURLOPT_CUSTOMREQUEST => "GET",
|
||||
|
||||
|
||||
));
|
||||
$response = curl_exec($curl);
|
||||
$err = curl_error($curl);
|
||||
if (!$err)
|
||||
{
|
||||
|
||||
|
||||
}
|
||||
curl_close($curl);
|
||||
|
||||
}
|
||||
|
||||
return new JsonResponse($response, 200, [], true);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Rest\Get(path="/api/getDetailAppelation", name="api_getDetailAppelation")
|
||||
* @Rest\View
|
||||
* Récupérer le détail d'une appelation
|
||||
*/
|
||||
public function getDetailAppelationAction(Request $request)
|
||||
{
|
||||
//APPEL de l'api Pole emploi pour recuperer Token
|
||||
$q=$request->query->get('q');
|
||||
//echo "requete".$q;
|
||||
$token = $this->getToken();
|
||||
$response =null;
|
||||
if($q){
|
||||
$curl = curl_init();
|
||||
curl_setopt($curl, CURLOPT_HTTPHEADER, array(
|
||||
'Content-Type: application/json',
|
||||
'Accept : application/json',
|
||||
'Authorization: Bearer ' . $token
|
||||
));
|
||||
curl_setopt_array($curl, array(
|
||||
CURLOPT_URL => "https://api.emploi-store.fr/partenaire/rome/v1/appellation/".$q,
|
||||
CURLOPT_RETURNTRANSFER => true,
|
||||
CURLOPT_ENCODING => "",
|
||||
CURLOPT_MAXREDIRS => 10,
|
||||
CURLOPT_TIMEOUT => 30,
|
||||
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
|
||||
CURLOPT_CUSTOMREQUEST => "GET",
|
||||
|
||||
|
||||
));
|
||||
$response = curl_exec($curl);
|
||||
$err = curl_error($curl);
|
||||
if (!$err)
|
||||
{
|
||||
|
||||
|
||||
}
|
||||
curl_close($curl);
|
||||
|
||||
}
|
||||
|
||||
return new JsonResponse($response, 200, [], true);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @Rest\Get(path="/api/getMetiers", name="api_getMetiers")
|
||||
* @Rest\View
|
||||
*/
|
||||
public function getMetiersAction(Request $request)
|
||||
{
|
||||
//APPEL de l'api Pole emploi pour recuperer Token
|
||||
$q=$request->query->get('q');
|
||||
//echo "requete".$q;
|
||||
$curl = curl_init();
|
||||
curl_setopt_array($curl, array(
|
||||
CURLOPT_URL => "https://entreprise.pole-emploi.fr/connexion/oauth2/access_token",
|
||||
CURLOPT_RETURNTRANSFER => true,
|
||||
CURLOPT_ENCODING => "",
|
||||
CURLOPT_MAXREDIRS => 10,
|
||||
CURLOPT_TIMEOUT => 30,
|
||||
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
|
||||
CURLOPT_CUSTOMREQUEST => "POST",
|
||||
CURLOPT_POSTFIELDS => "realm=/partenaire&grant_type=client_credentials&client_id=PAR_talentstube_35a96821a2f4a981a21a387dd590041617a42cb7755960fe7b6c68e617136b92&client_secret=de3dff58ab5adab6ab265753ed0f7d373ab764aea7c4b2b9de4a7744467503cc&scope=api_romev1 application_PAR_talentstube_35a96821a2f4a981a21a387dd590041617a42cb7755960fe7b6c68e617136b92 nomenclatureRome",
|
||||
CURLOPT_HTTPHEADER => array(
|
||||
"cache-control: no-cache",
|
||||
"content-type: application/x-www-form-urlencoded"
|
||||
),
|
||||
));
|
||||
$response = curl_exec($curl);
|
||||
$err = curl_error($curl);
|
||||
|
||||
curl_close($curl);
|
||||
$token = "";
|
||||
if (!$err)
|
||||
{
|
||||
|
||||
$obj = json_decode($response);
|
||||
$token = $obj->access_token;
|
||||
// echo $token;
|
||||
}
|
||||
$response =null;
|
||||
if($q){
|
||||
$curl = curl_init();
|
||||
curl_setopt($curl, CURLOPT_HTTPHEADER, array(
|
||||
'Content-Type: application/json',
|
||||
'Authorization: Bearer ' . $token
|
||||
));
|
||||
curl_setopt_array($curl, array(
|
||||
CURLOPT_URL => "https://api.emploi-store.fr/partenaire/rome/v1/competence?q=".$q,
|
||||
CURLOPT_RETURNTRANSFER => true,
|
||||
CURLOPT_ENCODING => "",
|
||||
CURLOPT_MAXREDIRS => 10,
|
||||
CURLOPT_TIMEOUT => 30,
|
||||
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
|
||||
CURLOPT_CUSTOMREQUEST => "GET",
|
||||
|
||||
|
||||
));
|
||||
$response = curl_exec($curl);
|
||||
$err = curl_error($curl);
|
||||
if (!$err)
|
||||
{
|
||||
|
||||
|
||||
}
|
||||
curl_close($curl);
|
||||
|
||||
}
|
||||
$arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5);
|
||||
$data = json_encode($arr);
|
||||
return new JsonResponse($response, 200, [], true);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Rest\Get("/api/companies", name="api_company_list")
|
||||
|
||||
@@ -16,6 +16,7 @@ use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
|
||||
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
|
||||
use Symfony\Component\HttpFoundation\JsonResponse;
|
||||
use Symfony\Component\HttpFoundation\Request;
|
||||
use Symfony\Component\HttpFoundation\Session\Session;
|
||||
|
||||
class CompanyController extends Controller
|
||||
{
|
||||
@@ -111,20 +112,20 @@ class CompanyController extends Controller
|
||||
);
|
||||
}
|
||||
|
||||
$formFactory = $this->container->get('fos_user.change_password.form.factory');
|
||||
$formPw = $formFactory->createForm();
|
||||
$formPw->setData($user);
|
||||
$formPw->handleRequest($request);
|
||||
if ($formPw->isSubmitted() && $formPw->isValid()) {
|
||||
$userManager->updateUser($user);
|
||||
$this->addFlash(
|
||||
'notice',
|
||||
$this->get('translator')->trans('company.account.save.title')
|
||||
);
|
||||
}
|
||||
// $formFactory = $this->container->get('fos_user.change_password.form.factory');
|
||||
// $formPw = $formFactory->createForm();
|
||||
// $formPw->setData($user);
|
||||
// $formPw->handleRequest($request);
|
||||
// if ($formPw->isSubmitted() && $formPw->isValid()) {
|
||||
// $userManager->updateUser($user);
|
||||
// $this->addFlash(
|
||||
// 'notice',
|
||||
// $this->get('translator')->trans('company.account.save.title')
|
||||
// );
|
||||
// }
|
||||
return $this->render('company/my_account.html.twig', [
|
||||
'form' => $form->createView(),
|
||||
'formPw' => $formPw->createView(),
|
||||
// 'formPw' => $formPw->createView(),
|
||||
]);
|
||||
}
|
||||
|
||||
@@ -164,6 +165,7 @@ class CompanyController extends Controller
|
||||
$userManager = $this->get('fos_user.user_manager');
|
||||
$form = $this->createForm(UserTypeCreate::class, $user);
|
||||
$form->handleRequest($request);
|
||||
$error="";
|
||||
if ($form->isSubmitted() && $form->isValid()) {
|
||||
|
||||
$user->setFirstname($form["firstname"]->getData());
|
||||
@@ -173,12 +175,78 @@ class CompanyController extends Controller
|
||||
$user->setCompany($company);
|
||||
$user->setEnabled(true);
|
||||
$user->setRoles(array('ROLE_COMPANY'));
|
||||
$em = $this->getDoctrine()->getManager();
|
||||
//TRY catche
|
||||
try {
|
||||
//verifier si un user n'existe pas avec le meme mail
|
||||
|
||||
$verifUser = $em->getRepository('AppBundle:User')->findBy(array('email' => $form["email"]->getData()));
|
||||
if(!$verifUser){
|
||||
$userManager->updateUser($user);
|
||||
//US 422 : Envoi d'email
|
||||
$session = new Session();
|
||||
$session->getFlashBag()->add('popup_answer_already_send', false);
|
||||
// $mailManager = $this->get('app.mail_manager');
|
||||
|
||||
// $mailManager->sendMail(
|
||||
// 'Candidature TalentsTube ',
|
||||
// '<div style="margin:0 auto;max-width:600px;background:#FFFFFF;"><table class="" cellpadding="0" cellspacing="0" style="width:100%;font-size:0px;background:#FFFFFF;" align="center"><tbody><tr><td style="text-align:center;vertical-align:top;font-size:0;padding:0px;"><!--[if mso]>
|
||||
// <table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:600px;">
|
||||
// <![endif]--><div style="vertical-align:top;display:inline-block;font-size:13px;text-align:left;width:100%;" class="mj-column-per-100" aria-labelledby="mj-column-per-100"><table width="100%"><tbody><tr><td style="font-size:0;padding:0px;" align="center"><table cellpadding="0" cellspacing="0" style="border-collapse:collapse;border-spacing:0px;" align="center"><tbody><tr><td><img alt="" src="" style="border:none;display:block;outline:none;text-decoration:none;width:100%;max-width:600px;height:auto;" width="600" height="auto"></td></tr></tbody></table></td></tr></tbody></table></div><!--[if mso]>
|
||||
// </td></tr></table>
|
||||
// <![endif]--></td></tr></tbody></table></div>
|
||||
|
||||
$userManager->updateUser($user);
|
||||
return $this->redirectToRoute('users');
|
||||
// <div style="margin:0 auto;max-width:600px;background:#FFFFFF;"><table class="" cellpadding="0" cellspacing="0" style="width:100%;font-size:0px;background:#FFFFFF;" align="center"><tbody><tr><td style="text-align:center;vertical-align:top;font-size:0;padding:0px;"><!--[if mso]>
|
||||
// <table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:600px;">
|
||||
// <![endif]--><div style="vertical-align:top;display:inline-block;font-size:13px;text-align:left;width:100%;" class="mj-column-per-100" aria-labelledby="mj-column-per-100"><table width="100%"><tbody><tr><td style="font-size:0;padding:20px 35px 20px 35px;" align="left"><div class="mj-content" style="cursor:auto;color:#534F4F;font-family:Trebuchet,Helvetica,sans-serif;font-size:14px;line-height:22px;"><p>Bonjour ,</p>
|
||||
// <p>Le talent a répondu à votre annonce .</p></div></td></tr></tbody></table></div><!--[if mso]>
|
||||
// </td></tr></table>
|
||||
// <![endif]--></td></tr></tbody></table></div>
|
||||
|
||||
// <div style="margin:0 auto;max-width:600px;background:#FFFFFF;"><table class="" cellpadding="0" cellspacing="0" style="width:100%;font-size:0px;background:#FFFFFF;" align="center"><tbody><tr><td style="text-align:center;vertical-align:top;font-size:0;padding:0px 0px 40px 0px;"><!--[if mso]>
|
||||
// <table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:600px;">
|
||||
// <![endif]--><div style="vertical-align:top;display:inline-block;font-size:13px;text-align:left;width:100%;" class="mj-column-per-100" aria-labelledby="mj-column-per-100"><table width="100%"><tbody><tr><td style="font-size:0;padding:15px 30px;" align="center"><table cellpadding="0" cellspacing="0" style="border:none;border-radius:30px;" align="center"><tbody><tr><td style="background:#1689FB;border-radius:30px;color:#FFFFFF;cursor:auto;" align="center" valign="middle" bgcolor="#1689FB"><a class="mj-content" href="" style="display:inline-block;text-decoration:none;background:#1689FB;border:1px solid #1689FB;border-radius:30px;color:#FFFFFF;font-family:Trebuchet,Helvetica,sans-serif;font-size:14px;font-weight:normal;padding:15px 30px;" target="_blank">Découvrir le talent</a></td></tr></tbody></table></td></tr></tbody></table></div><!--[if mso]>
|
||||
// </td></tr></table>
|
||||
// <![endif]--></td></tr></tbody></table></div>',
|
||||
// $user,
|
||||
// 'contact_default'
|
||||
// );
|
||||
$message=$company->getBrandName()." vous invite à rejoindre la plateforme de recrutement vidéo Talents Tube.<br/>
|
||||
|
||||
Votre identifiant : ".$user->getEmail()."<br/>
|
||||
Votre mot de passe : ".$form["password"]->getData()."<br/>
|
||||
(Vous pourrez réinitialiser votre mot de passe en cliquant <a href='https://recruteur.talentstube.com/resetting/request' target='_blank'>**ici**</a><br/>
|
||||
<br/>
|
||||
<a href='https://recruteur.talentstube.com' target='_blank'>[Rejoindre l'équipe]</a> <br/>";
|
||||
$plainView = $this->renderView('email/contact_default.html.twig', array(
|
||||
'message' => $message,
|
||||
'type' => 'html'
|
||||
));
|
||||
$body ="";
|
||||
$email = \Swift_Message::newInstance()
|
||||
->setSubject("Rejoignez l'équipe ".$company->getBrandName()." sur Talents Tube." )
|
||||
->setFrom($this->getParameter('mailer_user'))
|
||||
->setReplyTo($this->getParameter('mailer_user'))
|
||||
->setTo($user->getEmail())
|
||||
->setBody($plainView, 'text/html')
|
||||
// ->addPart($plainView, 'text/plain')
|
||||
;
|
||||
$retour = $this->get('mailer')->send($email);
|
||||
//var_dump($mailManager);
|
||||
return $this->redirectToRoute('users');
|
||||
}else{
|
||||
|
||||
$error = "Un utilisateur existe déjà avec ce mail";
|
||||
}
|
||||
|
||||
} catch (PDOException $pdoE) {
|
||||
|
||||
throw new PDOException("factoryCamps::update: ".$pdoE -> getMessage());
|
||||
}
|
||||
}
|
||||
return $this->render('company/user_create.html.twig', array(
|
||||
'form' => $form->createView(),
|
||||
'error' => $error
|
||||
));
|
||||
}
|
||||
|
||||
@@ -308,4 +376,4 @@ class CompanyController extends Controller
|
||||
'companyAds' => $companyAds,
|
||||
]);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -51,7 +51,8 @@ class DefaultController extends Controller
|
||||
}
|
||||
|
||||
$form = $this->createForm(AdSearchType::class);
|
||||
|
||||
|
||||
|
||||
return $this->render(
|
||||
'default/index.html.twig', [
|
||||
'ads' => $ads,
|
||||
@@ -110,6 +111,8 @@ class DefaultController extends Controller
|
||||
$csrfToken = $params["csrfToken"];
|
||||
$error = $params["error"];
|
||||
$destination_login = "admin/dashboard";
|
||||
|
||||
//var_dump($mailManager);
|
||||
return $this->render(
|
||||
'defaultv2/accueil/index.html.twig', [
|
||||
'last_username' => $usename,
|
||||
@@ -252,6 +255,28 @@ class DefaultController extends Controller
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @Route("/abonnement", name="abonnement")
|
||||
*/
|
||||
public function tarifsAction(Request $request)
|
||||
{
|
||||
$params = $this->getParams($request);
|
||||
$usename = $params["lastUsername"];
|
||||
$csrfToken = $params["csrfToken"];
|
||||
$error = $params["error"];
|
||||
$destination_login = "admin/dashboard";
|
||||
return $this->render(
|
||||
'defaultv2/tarifs/index.html.twig', [
|
||||
'last_username' => $usename,
|
||||
'csrf_token' => $csrfToken,
|
||||
'error' => $error,
|
||||
'destination_login' => $destination_login
|
||||
|
||||
]
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/cgu", name="cgu")
|
||||
*/
|
||||
|
||||
@@ -23,7 +23,7 @@ use Symfony\Component\HttpFoundation\Session\Session;
|
||||
class MediaController extends Controller
|
||||
{
|
||||
/**
|
||||
* @Route("/entreprise/me/videotheque", name="company_media")
|
||||
* @Route("/entreprise/me/videotheque", name="company_marque")
|
||||
*/
|
||||
public function companyMediaAction(Request $request)
|
||||
{
|
||||
@@ -41,35 +41,7 @@ class MediaController extends Controller
|
||||
$em->persist($media);
|
||||
$em->flush();
|
||||
|
||||
return $this->redirectToRoute('company_media');
|
||||
}
|
||||
|
||||
return $this->render('media/media_list.html.twig', array(
|
||||
'form' => $form->createView(),
|
||||
'medias' => $medias,
|
||||
));
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/entreprise/me/video-marque-employeur", name="company_marque")
|
||||
*/
|
||||
public function companyMarqueAction(Request $request)
|
||||
{
|
||||
$event = new UserEvent($this->getUser());
|
||||
$this->get('event_dispatcher')->dispatch(PrestashopBridgeEvents::USER_PROD_UPDATE, $event);
|
||||
$em = $this->getDoctrine()->getManager();
|
||||
$medias = $em->getRepository('AppBundle:Media')->findBy(array('creator' => $this->getUser()));
|
||||
$form = $this->createForm(MediaType::class);
|
||||
$form->handleRequest($request);
|
||||
if ($form->isSubmitted() && $form->isValid()) {
|
||||
$title = $form['title']->getData();
|
||||
$idMedia = $form['media']->getData();
|
||||
$media = $em->getRepository('AppBundle:Media')->findOneBy(array('id' => $idMedia, 'creator' => $this->getUser()));
|
||||
$media->setTitle($title);
|
||||
$em->persist($media);
|
||||
$em->flush();
|
||||
|
||||
return $this->redirectToRoute('company_marque');
|
||||
return $this->redirectToRoute('company_ad');
|
||||
}
|
||||
|
||||
return $this->render('media/media_list.html.twig', array(
|
||||
@@ -133,7 +105,7 @@ class MediaController extends Controller
|
||||
|
||||
/**
|
||||
* @Route("/media/create/{id}", name="create_media")
|
||||
* @Security("ad.getStatus() == 'DRAFT' or ad.getStatus() == 'TO_PUBLISH' or ad.getStatus() == 'DECLINED'")
|
||||
* @Security("ad.getStatus() == 'DRAFT' or ad.getStatus() == 'DECLINED' or ad.getStatus() == 'TO_PUBLISH'")
|
||||
*/
|
||||
public function createMediaAction(Request $request, Ad $ad)
|
||||
{
|
||||
@@ -150,9 +122,6 @@ 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);
|
||||
@@ -170,7 +139,6 @@ class MediaController extends Controller
|
||||
$ad->setUnpublishedAt($unpublishedDate);
|
||||
$em->persist($ad);
|
||||
$em->flush();
|
||||
//return $this->redirectToRoute('company_ad_step3', array('id' => $ad->getId()));
|
||||
}
|
||||
|
||||
return $this->render('company/createMedia.html.twig', array(
|
||||
@@ -210,13 +178,7 @@ 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);
|
||||
}
|
||||
|
||||
@@ -321,7 +283,7 @@ class MediaController extends Controller
|
||||
$user = $em->getRepository('AppBundle:User')->findOneBy(array('id' => $idUser));
|
||||
$video = $em->getRepository('AppBundle:Media')->findOneBy(array('id' => $idVideo));
|
||||
$company = $user->getCompany();
|
||||
if ($user->hasRole('ROLE_TALENT') || $user->hasRole('ROLE_TERRITORY') || ($user->hasRole('ROLE_COMPANY') && $company->hasCompanyVideo())) {
|
||||
if ($user->hasRole('ROLE_TALENT') || $user->hasRole('ROLE_TERRITORY') || ($user->hasRole('ROLE_COMPANY') )) {
|
||||
$company->setPresentationVideo($video);
|
||||
}
|
||||
}
|
||||
@@ -417,4 +379,4 @@ class MediaController extends Controller
|
||||
return $res;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -110,6 +110,38 @@ class Ad
|
||||
*/
|
||||
private $beneficiaire;
|
||||
|
||||
/**
|
||||
* @var int
|
||||
*
|
||||
* @ORM\Column(name="appellationId", type="integer", nullable=true)
|
||||
*
|
||||
*/
|
||||
private $appellationId;
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*
|
||||
* @ORM\Column(name="appellationLibelle", type="text", nullable=true)
|
||||
*
|
||||
*/
|
||||
private $appellationLibelle;
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*
|
||||
* @ORM\Column(name="codeRome", type="text", nullable=true)
|
||||
*
|
||||
*/
|
||||
private $codeRome;
|
||||
|
||||
/**
|
||||
* @var array
|
||||
*
|
||||
* @ORM\Column(name="competences", type="json_document", nullable=true, options={"jsonb":true})
|
||||
*
|
||||
*/
|
||||
private $competences;
|
||||
|
||||
/**
|
||||
* @var \DateTime
|
||||
*
|
||||
@@ -117,12 +149,14 @@ class Ad
|
||||
* @Groups({"ad_detail", "answer_detail"})
|
||||
* @Assert\GreaterThanOrEqual("today", groups={"dates"})
|
||||
*/
|
||||
|
||||
private $publishedAt;
|
||||
|
||||
/**
|
||||
* @var \DateTime
|
||||
*
|
||||
* @ORM\Column(name="unpublished_at", type="datetime", nullable=true)
|
||||
* @Groups({"ad_detail", "answer_detail"})
|
||||
*/
|
||||
private $unpublishedAt;
|
||||
|
||||
@@ -375,6 +409,24 @@ class Ad
|
||||
return $contract_type;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return array|null
|
||||
*
|
||||
* Search temps type in the extra field
|
||||
*/
|
||||
public function getTempstType()
|
||||
{
|
||||
$temps_type = null;
|
||||
$extra = $this->extra;
|
||||
if ($extra) {
|
||||
if (array_key_exists('temps_type', $extra)) {
|
||||
$temps_type = $extra['temps_type'];
|
||||
}
|
||||
}
|
||||
|
||||
return $temps_type;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return array|null
|
||||
*
|
||||
@@ -646,6 +698,78 @@ class Ad
|
||||
return $this->beneficiaire;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Set appellationId.
|
||||
*
|
||||
* @param int|null $appellationId
|
||||
*
|
||||
* @return Ad
|
||||
*/
|
||||
public function setAppellationId($appellationId = null)
|
||||
{
|
||||
$this->appellationId = $appellationId;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get appellationId.
|
||||
*
|
||||
* @return int|null
|
||||
*/
|
||||
public function getAppellationId()
|
||||
{
|
||||
return $this->appellationId;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set appellationLibelle.
|
||||
*
|
||||
* @param string|null $appellationLibelle
|
||||
*
|
||||
* @return Ad
|
||||
*/
|
||||
public function setAppellationLibelle($appellationLibelle = null)
|
||||
{
|
||||
$this->appellationLibelle = $appellationLibelle;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get appellationLibelle.
|
||||
*
|
||||
* @return int|null
|
||||
*/
|
||||
public function getAppellationLibelle()
|
||||
{
|
||||
return $this->AppellationLibelle;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set codeRome.
|
||||
*
|
||||
* @param string|null $codeRome
|
||||
*
|
||||
* @return Ad
|
||||
*/
|
||||
public function setCodeRome($codeRome = null)
|
||||
{
|
||||
$this->codeRome = $codeRome;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get codeRome.
|
||||
*
|
||||
* @return int|null
|
||||
*/
|
||||
public function getCodeRome()
|
||||
{
|
||||
return $this->codeRome;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set publishedAt.
|
||||
*
|
||||
@@ -838,6 +962,31 @@ class Ad
|
||||
return $this->extra;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Set competences.
|
||||
*
|
||||
* @param json_document|null $competences
|
||||
*
|
||||
* @return Ad
|
||||
*/
|
||||
public function setCompetences($competences = null)
|
||||
{
|
||||
$this->competences = $competences;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get competences.
|
||||
*
|
||||
* @return json_document|null
|
||||
*/
|
||||
public function getCompetences()
|
||||
{
|
||||
return $this->competences;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set location.
|
||||
*
|
||||
|
||||
@@ -178,6 +178,7 @@ class Company
|
||||
|
||||
/**
|
||||
* @ORM\OneToMany(targetEntity="AppBundle\Entity\User", mappedBy="company", cascade={"persist"})
|
||||
* @Groups({"company_detail", "company_list", "ad_detail"})
|
||||
*/
|
||||
private $users;
|
||||
|
||||
|
||||
@@ -36,7 +36,7 @@ class User extends BaseUser
|
||||
*
|
||||
* @ORM\Column(name="firstname", type="string", length=255, nullable=true)
|
||||
* @Expose
|
||||
* @Groups({"answer_detail"})
|
||||
* @Groups({"answer_detail", "company_detail", "ad_detail"})
|
||||
*/
|
||||
private $firstname;
|
||||
|
||||
@@ -45,7 +45,7 @@ class User extends BaseUser
|
||||
*
|
||||
* @ORM\Column(name="lastname", type="string", length=255, nullable=true)
|
||||
* @Expose
|
||||
* @Groups({"answer_detail"})
|
||||
* @Groups({"answer_detail", "company_detail", "ad_detail"})
|
||||
*/
|
||||
private $lastname;
|
||||
|
||||
@@ -69,6 +69,7 @@ class User extends BaseUser
|
||||
*
|
||||
* @ORM\Column(name="gender", type="string", length=255, nullable=true)
|
||||
* @Expose
|
||||
* @Groups({"answer_detail", "company_detail"})
|
||||
*/
|
||||
private $gender;
|
||||
|
||||
|
||||
@@ -29,9 +29,10 @@ class AdSearchType extends AbstractType
|
||||
'CDI' => 'CDI',
|
||||
'CDD' => 'CDD',
|
||||
'Apprentissage' => 'Apprentissage',
|
||||
'Professionnalisation' => 'Professionnalisation',
|
||||
'Professionnalisation' => 'Contrat de professionnalisation',
|
||||
'Stage' => 'Stage',
|
||||
'Indépendant' => 'Indépendant'
|
||||
'Indépendant' => 'Indépendant',
|
||||
'Interim' => 'Interim'
|
||||
)
|
||||
))
|
||||
->add('location_gmap', TextType::class, array(
|
||||
|
||||
@@ -20,10 +20,15 @@ class AdSoftType extends AbstractType
|
||||
}
|
||||
}
|
||||
$contract_type = "";
|
||||
$temps_type = "";
|
||||
$extra = $options['data']->getExtra();
|
||||
if ($extra != null) {
|
||||
if(is_array($extra)){
|
||||
$contract_type = $extra['contract_type'];
|
||||
if (array_key_exists("temps_type",$extra)){
|
||||
$temps_type = $extra['temps_type'];
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -40,7 +45,7 @@ class AdSoftType extends AbstractType
|
||||
$builder
|
||||
->add('location_gmap', TextType::class, array(
|
||||
'mapped' => false,
|
||||
'label' => 'Localisation de l\'annonce',
|
||||
'label' => 'Localisation du poste',
|
||||
'attr' => array(
|
||||
'value' => $location_gmap,
|
||||
'class' => 'form-control'
|
||||
@@ -53,7 +58,7 @@ class AdSoftType extends AbstractType
|
||||
)
|
||||
))
|
||||
->add('description', TextareaType::class, array(
|
||||
'label' => 'Description de l\'annonce',
|
||||
'label' => 'Description du poste',
|
||||
'attr' => array(
|
||||
'class' => 'materialize-textarea',
|
||||
'placeholder' => 'Décrire votre annonce',
|
||||
@@ -61,7 +66,7 @@ class AdSoftType extends AbstractType
|
||||
)
|
||||
))
|
||||
->add('beneficiaire', TextType::class, array(
|
||||
'label' => 'Organisation cliente ',
|
||||
'label' => 'Organisation cliente (facultatif)',
|
||||
'required' => false,
|
||||
'attr' => array(
|
||||
'placeholder' => 'Indiquer une organisation',
|
||||
@@ -76,22 +81,37 @@ class AdSoftType extends AbstractType
|
||||
'CDI' => 'CDI',
|
||||
'CDD' => 'CDD',
|
||||
'Apprentissage' => 'Apprentissage',
|
||||
'Professionalisation' => 'Professionalisation',
|
||||
'Contrat de professionnalisation' => 'professionnalisation',
|
||||
'Stage' => 'Stage',
|
||||
'Indépendant' => 'Indépendant'
|
||||
'Indépendant' => 'Indépendant',
|
||||
'Interim' => 'Interim'
|
||||
),
|
||||
'attr' => array(
|
||||
'class' => 'form-control'
|
||||
'class' => 'cs-select cs-skin-slide'
|
||||
)
|
||||
))
|
||||
->add('temps_type', ChoiceType::class, array(
|
||||
'mapped' => false,
|
||||
'label' => 'Type d\'emploi',
|
||||
'data' => $temps_type,
|
||||
'choices' => array(
|
||||
'Temps plein ' => 'FULL_TIME',
|
||||
'Temps partiel ' => 'PART_TIME',
|
||||
'Temps plein ou temps partiel' => 'MIX_TIME',
|
||||
),
|
||||
'attr' => array(
|
||||
'class' => 'cs-select cs-skin-slide',
|
||||
|
||||
)
|
||||
))
|
||||
->add('status', ChoiceType::class, array(
|
||||
'label' =>'Statut',
|
||||
'choices' => array(
|
||||
'Brouillon' => 'DRAFT',
|
||||
'A publier' => 'TO_PUBLISH',
|
||||
'A publier (Validation par Talents Tube)' => 'TO_PUBLISH',
|
||||
),
|
||||
'attr' => array(
|
||||
'class' => 'form-control'
|
||||
'class' => 'cs-select cs-skin-slide',
|
||||
)
|
||||
|
||||
))
|
||||
|
||||
@@ -20,10 +20,12 @@ class AdType extends AbstractType
|
||||
}
|
||||
}
|
||||
$contract_type = "";
|
||||
$temps_type = "";
|
||||
$extra = $options['data']->getExtra();
|
||||
if ($extra != null) {
|
||||
if(is_array($extra)){
|
||||
$contract_type = $extra['contract_type'];
|
||||
$temps_type = $extra['temps_type'];
|
||||
}
|
||||
}
|
||||
|
||||
@@ -46,14 +48,14 @@ class AdType extends AbstractType
|
||||
)
|
||||
))
|
||||
->add('title', TextType::class, array(
|
||||
'label' => 'Titre de l\'annonce',
|
||||
'label' => 'Intitulé du poste',
|
||||
'attr' => array(
|
||||
'placeholder' => 'Indiquer un titre',
|
||||
'class' => 'form-control'
|
||||
)
|
||||
))
|
||||
->add('beneficiaire', TextType::class, array(
|
||||
'label' => 'Organisation cliente ',
|
||||
'label' => 'Organisation cliente (facultatif) ',
|
||||
'required' => false,
|
||||
'attr' => array(
|
||||
'placeholder' => 'Indiquer une organisation',
|
||||
@@ -62,7 +64,7 @@ class AdType extends AbstractType
|
||||
))
|
||||
->add('location_gmap', TextType::class, array(
|
||||
'mapped' => false,
|
||||
'label' => 'Localisation de l\'annonce',
|
||||
'label' => 'Localisation du poste',
|
||||
'attr' => array(
|
||||
'value' => $location_gmap,
|
||||
'class' => 'form-control'
|
||||
@@ -72,7 +74,7 @@ class AdType extends AbstractType
|
||||
'data' => $location,
|
||||
))
|
||||
->add('description', TextareaType::class, array(
|
||||
'label' => 'Description de l\'annonce',
|
||||
'label' => 'Description du poste',
|
||||
'attr' => array(
|
||||
'class' => 'materialize-textarea',
|
||||
'placeholder' => 'Décrire votre annonce',
|
||||
@@ -87,12 +89,28 @@ class AdType extends AbstractType
|
||||
'CDI' => 'CDI',
|
||||
'CDD' => 'CDD',
|
||||
'Apprentissage' => 'Apprentissage',
|
||||
'Professionalisation' => 'Professionalisation',
|
||||
'Contrat de professionnalisation' => 'professionnalisation',
|
||||
'Stage' => 'Stage',
|
||||
'Indépendant' => 'Indépendant'
|
||||
'Indépendant' => 'Indépendant',
|
||||
'Interim' => 'Interim'
|
||||
),
|
||||
'attr' => array(
|
||||
'class' => 'form-control'
|
||||
'class' => 'cs-select cs-skin-slide',
|
||||
|
||||
)
|
||||
))
|
||||
->add('temps_type', ChoiceType::class, array(
|
||||
'mapped' => false,
|
||||
'label' => 'Type d\'emploi',
|
||||
'data' => $temps_type,
|
||||
'choices' => array(
|
||||
'Temps plein ' => 'FULL_TIME',
|
||||
'Temps partiel ' => 'PART_TIME',
|
||||
'Temps plein ou temps partiel' => 'MIX_TIME',
|
||||
),
|
||||
'attr' => array(
|
||||
'class' => 'cs-select cs-skin-slide',
|
||||
|
||||
)
|
||||
))
|
||||
->add('publicTag', TextType::class, array(
|
||||
@@ -107,10 +125,10 @@ class AdType extends AbstractType
|
||||
'label' =>'Statut',
|
||||
'choices' => array(
|
||||
'Brouillon' => 'DRAFT',
|
||||
'A publier' => 'TO_PUBLISH',
|
||||
'A publier (Validation par Talents Tube)' => 'TO_PUBLISH',
|
||||
),
|
||||
'attr' => array(
|
||||
'class' => 'form-control'
|
||||
'class' => 'cs-select cs-skin-slide',
|
||||
)
|
||||
|
||||
));
|
||||
|
||||
@@ -39,7 +39,7 @@ class AdType extends AbstractType
|
||||
)
|
||||
))
|
||||
->add('title', TextType::class, array(
|
||||
'label' => 'Titre de l\'annonce',
|
||||
'label' => 'Intitulé du poste',
|
||||
'attr' => array(
|
||||
'placeholder' => 'Indiquer un titre',
|
||||
'class' => 'form-control'
|
||||
@@ -47,7 +47,7 @@ class AdType extends AbstractType
|
||||
))
|
||||
->add('location_gmap', TextType::class, array(
|
||||
'mapped' => false,
|
||||
'label' => 'Localisation de l\'annonce',
|
||||
'label' => 'Localisation du poste',
|
||||
'attr' => array(
|
||||
'value' => $location_gmap,
|
||||
'class' => 'form-control'
|
||||
@@ -60,7 +60,7 @@ class AdType extends AbstractType
|
||||
)
|
||||
))
|
||||
->add('beneficiaire', TextType::class, array(
|
||||
'label' => 'Organisation cliente ',
|
||||
'label' => 'Organisation cliente (facultatif)',
|
||||
'required' => false,
|
||||
'attr' => array(
|
||||
'placeholder' => 'Indiquer une organisation',
|
||||
@@ -68,7 +68,7 @@ class AdType extends AbstractType
|
||||
)
|
||||
))
|
||||
->add('description', TextareaType::class, array(
|
||||
'label' => 'Description de l\'annonce',
|
||||
'label' => 'Description du poste',
|
||||
'attr' => array(
|
||||
'placeholder' => 'Décrire votre annonce',
|
||||
'class' => 'form-control'
|
||||
@@ -85,7 +85,7 @@ class AdType extends AbstractType
|
||||
'label' =>'Statut',
|
||||
'choices' => array(
|
||||
'Brouillon' => 'DRAFT',
|
||||
'A publier' => 'TO_PUBLISH',
|
||||
'A publier (Validation par Talents Tube)' => 'TO_PUBLISH',
|
||||
'Validée' => 'VALIDATED',
|
||||
'Publiée' => 'PUBLISHED',
|
||||
'Fermée' => 'CLOSED',
|
||||
|
||||
@@ -48,15 +48,16 @@ class TalentProfileType extends AbstractType
|
||||
'data-toggle'=>"datepicker"
|
||||
)
|
||||
))
|
||||
->add('gender', ChoiceType::class, array(
|
||||
'expanded' => true,
|
||||
'multiple' => false,
|
||||
'choices' => array(
|
||||
'Femme' => 'female',
|
||||
'Homme' => 'male',
|
||||
),
|
||||
'label' => 'Sexe'
|
||||
));
|
||||
// ->add('gender', ChoiceType::class, array(
|
||||
// 'expanded' => true,
|
||||
// 'multiple' => false,
|
||||
// 'choices' => array(
|
||||
// 'Femme' => 'female',
|
||||
// 'Homme' => 'male',
|
||||
// ),
|
||||
// 'label' => 'Sexe'
|
||||
// ))
|
||||
;
|
||||
|
||||
$builder->add('company', TalentProfileAddressType::class);
|
||||
}
|
||||
|
||||
@@ -46,18 +46,19 @@ class UserType extends AbstractType
|
||||
'class' => 'calendar'
|
||||
)
|
||||
))*/
|
||||
->add('gender', ChoiceType::class, array(
|
||||
'expanded' => true,
|
||||
'multiple' => false,
|
||||
'choices' => array(
|
||||
'Femme' => 'female',
|
||||
'Homme' => 'male',
|
||||
),
|
||||
'label' => 'Sexe',
|
||||
'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'
|
||||
// )
|
||||
// ))
|
||||
;
|
||||
}
|
||||
|
||||
public function configureOptions(OptionsResolver $resolver)
|
||||
|
||||
@@ -56,18 +56,19 @@ class UserTypeCreate extends AbstractType
|
||||
)
|
||||
))
|
||||
|
||||
->add('gender', ChoiceType::class, array(
|
||||
'expanded' => true,
|
||||
'multiple' => false,
|
||||
'choices' => array(
|
||||
'Femme' => 'female',
|
||||
'Homme' => 'male',
|
||||
),
|
||||
'label' => 'Sexe',
|
||||
'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',
|
||||
|
||||
@@ -46,6 +46,53 @@ class AnswerRepository extends AbstractRepository
|
||||
->getResult();
|
||||
}
|
||||
|
||||
|
||||
// Rechercher si le user a postulé dans l'heure a une annonce donnée
|
||||
public function findExistAdAnswer($user, $addId)
|
||||
{
|
||||
$hier = date('Y-m-d H:i:s', time() - 3600 * 1);
|
||||
$qb = $this
|
||||
->createQueryBuilder('a')
|
||||
->select(['a','ad'])
|
||||
->where('a.user = :user')
|
||||
->andWhere('ad.id = :id')
|
||||
->andWhere('a.sendTime > :datecourant')
|
||||
->setParameter('user', $user)
|
||||
->setParameter('id', $addId)
|
||||
->setParameter('datecourant', $hier)
|
||||
// ->setParameter(':status', array('DRAFT','CONTACT_TALENT'))
|
||||
->leftJoin('a.ad', 'ad')
|
||||
// ->leftJoin('a.company', 'company')
|
||||
|
||||
;
|
||||
return $qb
|
||||
->getQuery()
|
||||
->getResult();
|
||||
}
|
||||
|
||||
// Rechercher si le user a postuler dans l'heure a une annonce d'une entreprise donnée
|
||||
public function findExistEntrepriseAnswer($user, $entrepriseId)
|
||||
{
|
||||
$hier = date('Y-m-d', time() - 3600 * 1);
|
||||
$qb = $this
|
||||
->createQueryBuilder('a')
|
||||
->select(['a','c'])
|
||||
->where('a.user = :user')
|
||||
->andWhere('c.id = :id')
|
||||
->andWhere('a.sendTime > :datecourant')
|
||||
->setParameter('user', $user)
|
||||
->setParameter('id', $entrepriseId)
|
||||
->setParameter('datecourant', $hier)
|
||||
// ->setParameter(':status', array('DRAFT','CONTACT_TALENT'))
|
||||
->leftJoin('a.company', 'c')
|
||||
// ->leftJoin('a.company', 'company')
|
||||
|
||||
;
|
||||
return $qb
|
||||
->getQuery()
|
||||
->getResult();
|
||||
}
|
||||
|
||||
public function getAnswerByCompany($id)
|
||||
{
|
||||
$qb = $this
|
||||
|
||||
@@ -58,7 +58,7 @@ class MailManager
|
||||
));
|
||||
$email = \Swift_Message::newInstance()
|
||||
->setSubject($subject)
|
||||
->setFrom('noreply@talentstube.com')
|
||||
->setFrom('noreply@talentstube.io')
|
||||
->setTo($user->getEmail())
|
||||
->setBody($htmlView, 'text/html')
|
||||
->addPart($plainView, 'text/plain');
|
||||
@@ -72,4 +72,41 @@ class MailManager
|
||||
|
||||
return $message;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @param $subject
|
||||
* @param $message
|
||||
* @param $user
|
||||
* @param $templateName
|
||||
* @return array
|
||||
*/
|
||||
public function sendMailSimple($subject, $message, $user, $templateName)
|
||||
{
|
||||
$htmlView = $this->twig->render('email/' . $templateName . '.html.twig', array(
|
||||
'type' => 'html',
|
||||
'message' => $message,
|
||||
'user' => $user,
|
||||
));
|
||||
$plainView = $this->twig->render('email/' . $templateName . '_plain.html.twig', array(
|
||||
'type' => 'plain',
|
||||
'message' => $message,
|
||||
'user' => $user,
|
||||
));
|
||||
$email = \Swift_Message::newInstance()
|
||||
->setSubject($subject)
|
||||
->setFrom('noreply@talentstube.io')
|
||||
->setTo('c.leveque@talentstube.com')
|
||||
->setBody($message, 'text/html')
|
||||
;
|
||||
if ($this->mailer->send($email)) {
|
||||
// $spool = $this->mailer->getTransport()->getSpool();
|
||||
// $spool->flushQueue($this->transport);
|
||||
$message = array('success' => 200);
|
||||
} else {
|
||||
$message = array('success' => 500);
|
||||
}
|
||||
//var_dump($message);
|
||||
return $message;
|
||||
}
|
||||
}
|
||||
@@ -162,7 +162,7 @@ class MediaManager
|
||||
$linkVimeo = $response['body']['link'];
|
||||
}
|
||||
//TODO : gerer le cas d'erreur
|
||||
//COMENTER POUR TESTER LA PRE PROD
|
||||
//COMENTER POUR TESTER LA PRE PROD
|
||||
}
|
||||
|
||||
//SAVE MEDIA
|
||||
|
||||
@@ -15,6 +15,13 @@ use Doctrine\Common\Collections\ArrayCollection;
|
||||
use Doctrine\Common\Collections\Collection;
|
||||
use JMS\Serializer\Annotation\Type;
|
||||
|
||||
|
||||
use JMS\Serializer\Annotation\ExclusionPolicy;
|
||||
use JMS\Serializer\Annotation\Expose;
|
||||
use Hateoas\Configuration\Annotation as Hateoas;
|
||||
use JMS\Serializer\Annotation\Groups;
|
||||
|
||||
|
||||
/**
|
||||
* Storage agnostic user object.
|
||||
*
|
||||
@@ -41,6 +48,9 @@ abstract class User implements UserInterface, GroupableInterface
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*
|
||||
* @Expose
|
||||
* @Groups({"answer_detail", "company_detail", "ad_detail"})
|
||||
*/
|
||||
protected $email;
|
||||
|
||||
|
||||
@@ -21215,14 +21215,17 @@ button:focus {
|
||||
File for your custom SCSS style
|
||||
------------------------------------*/
|
||||
.statChiffre {
|
||||
font-size: 4.5rem;
|
||||
font-size: 4rem;
|
||||
font-weight : 500;
|
||||
color : #1E2327;
|
||||
padding-left: 0px;
|
||||
margin-left: -40px;
|
||||
}
|
||||
.statTexte {
|
||||
font-size: 1.2rem;
|
||||
font-weight: 200;
|
||||
color: #1E2327;
|
||||
margin-left: -40px;
|
||||
}
|
||||
|
||||
/* Au niveau le plus haut du code */
|
||||
|
||||
Reference in New Issue
Block a user