Compare commits

...

41 Commits

Author SHA1 Message Date
Thomas MONCHICOURT 2dd559fa64 Feat : intervention albéa @0h15 2018-03-30 17:04:26 +02:00
Thomas MONCHICOURT 90ae12995f Fix : admin set presentation on null 2018-03-27 15:16:11 +02:00
Thomas MONCHICOURT 7aa4a92cb6 Feat : Ajout listing user en admin #6108 @2h 2018-03-27 14:29:52 +02:00
Thomas MONCHICOURT 6a9b48d629 Fix : modification linkedin 2018-03-15 14:27:13 +01:00
Thomas MONCHICOURT 032d10bb50 Fix: connexion FB 2018-03-15 12:34:07 +01:00
Thomas MONCHICOURT 7731dd2c23 Fix : erreur js vimeo 2018-03-06 09:56:05 +01:00
Thomas MONCHICOURT 8c6e8f14a4 Fix: erreur photo profil talent @0h15 2018-03-05 11:31:45 +01:00
Thomas MONCHICOURT f1c795e8cd Fix : js date picker 2018-02-15 11:30:11 +01:00
Thomas MONCHICOURT 5dd437d939 Feat : increase lifetime sessions 2018-02-15 10:46:05 +01:00
Thomas MONCHICOURT 59f6854379 Fix : popup option connect FB 2018-02-15 10:24:01 +01:00
Thomas MONCHICOURT c2450d3929 Fix : modification app facebook 2018-02-15 10:14:47 +01:00
Thomas MONCHICOURT 2f626dbad5 Fix : robots txt 2018-02-13 15:20:32 +01:00
Thomas MONCHICOURT 8bccabbcf6 Fix : suppression dissalow 2018-02-13 15:04:53 +01:00
Maxime Thévenot 766335bb19 Merge branch 'master' of https://git.e-declic.net/talents-tube/website 2018-02-13 14:32:58 +01:00
Maxime Thévenot 708e1f1c87 Conf : Update .gitignore 2018-02-13 14:32:53 +01:00
Thomas MONCHICOURT 1d0e0e4c48 Merge branch 'master' into develop 2018-02-09 15:34:05 +01:00
Thomas MONCHICOURT a790f99adb Fix : re error 404 2018-02-09 15:32:59 +01:00
Thomas MONCHICOURT e98a2488eb Fix : error 404 error #5890 @1h30 2018-02-09 15:32:43 +01:00
Maxime Thévenot 8b7a79ef8d Conf : Update robot.txt 2018-02-08 17:12:11 +01:00
Thomas MONCHICOURT 645cf1f05a Fix : change password 2018-02-08 17:12:00 +01:00
Thomas MONCHICOURT 974629794d Merge branch 'develop' 2018-02-07 09:17:43 +01:00
Thomas MONCHICOURT f23e906168 Feat: suppression voeux 2018 2018-02-07 09:17:19 +01:00
Thomas MONCHICOURT 5a47ac168e Fix : liste témoignages 2018-02-02 15:06:14 +01:00
Thomas MONCHICOURT a35647ca1d Merge branch 'develop' 2018-02-02 14:52:38 +01:00
Thomas MONCHICOURT 231a692369 Feat : Ajout des temoignage dans d’autre page #5662 @0h20 2018-02-02 14:52:28 +01:00
Thomas MONCHICOURT 1ad2d8bf1a Merge branch 'develop' 2018-02-02 14:28:47 +01:00
Thomas MONCHICOURT 2047322161 Feat : youtube #5845 @0h15 2018-02-02 14:28:29 +01:00
Thomas MONCHICOURT f90c907942 Feat : add a hover stop on carousel 2018-02-02 14:17:33 +01:00
Thomas MONCHICOURT a2d0a9539f Feat : modif temoignages #5662 @0h20 2018-02-02 12:02:49 +01:00
Thomas MONCHICOURT d5f448483c Feat : Modification #5662 @0h30 2018-01-25 15:15:54 +01:00
Thomas MONCHICOURT 8f12cddd86 Feat : template temoignages #5662 @1h15 2018-01-25 12:12:19 +01:00
Thomas MONCHICOURT 0f195907c5 Merge branch 'develop' 2018-01-24 12:04:38 +01:00
Thomas MONCHICOURT 8dabe7ba82 Fix : provider security 2018-01-24 12:04:20 +01:00
Thomas MONCHICOURT 0bfed4b932 Fix : probleme css dot nav tuto 2018-01-22 15:36:16 +01:00
Thomas MONCHICOURT bf875db942 Fix : dropzone js error 2018-01-22 15:09:57 +01:00
Thomas MONCHICOURT 5c47a00d0e Fix : Start to first panel tuto when restart 2018-01-22 15:09:49 +01:00
Thomas MONCHICOURT 0f8fe7732e Fix : amelioration graphique tuto 2018-01-22 15:09:36 +01:00
Thomas MONCHICOURT bed4cbc7b1 Fix : Start to first panel tuto when restart 2018-01-22 14:27:48 +01:00
Thomas MONCHICOURT b09ca38415 Fix : dropzone js error 2018-01-22 14:07:12 +01:00
Thomas MONCHICOURT c0f09f715c Fix : delevery address 2018-01-22 12:10:57 +01:00
Thomas MONCHICOURT 4cb07a74b6 Fix : conf preprod 2018-01-22 09:29:58 +01:00
42 changed files with 542 additions and 94 deletions
+2 -1
View File
@@ -6,4 +6,5 @@
!/volume/www
/volume/www/**/conf/nginx.conf
/backup
/conf/env/*.env
/conf/env/*.env
volume/www/website/.idea
+1 -1
View File
@@ -16,7 +16,7 @@ server {
# DEV
location / {
try_files $uri /app_dev.php$is_args$args;
try_files $uri /app.php$is_args$args;
}
location ~ ^/(app_dev|config)\.php(/|$) {
@@ -1,17 +1,12 @@
{% extends 'base.html.twig' %}
{% block urlCanonical %}
#!
{% endblock %}
{% block content %}
<div class="row">
<div class="col s12">
<h2 class="center-align">Page introuvable</h2>
<p class="center-align">
Cette page n'existe plus.<br/><br/>
<a class="btn btn-default" href="{{ path('homepage') }}">Retour à l'accueil</a>
</p>
</div>
{% block content %}
<div class="row">
<div class="col s12">
<h2 class="center-align m-t-100">Page introuvable</h2>
<p class="center-align">
Cette page n'existe plus.<br/><br/>
<a class="btn btn-default" href="{{ path('homepage') }}">Retour à l'accueil</a>
</p>
</div>
{% endblock %}
</div>
{% endblock %}
@@ -13,6 +13,8 @@
<link rel="stylesheet" href="{{ asset('admin/AdminLTE/dist/css/AdminLTE.min.css') }}">
<link rel="stylesheet" href="{{ asset('admin/AdminLTE/dist/css/skins/skin-blue.min.css') }}">
<link rel="stylesheet" href="{{ asset('admin/AdminLTE/plugins/datatables/dataTables.bootstrap.css') }}">
<link rel="stylesheet" href="{{ asset('admin/AdminLTE/plugins/datatables/dataTables.bootstrap.css') }}">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jquery-confirm/3.3.2/jquery-confirm.min.css">
<script type="text/javascript" defer="defer" src="https://extend.vimeocdn.com/ga/64189815.js"></script>
{% block css %}
@@ -0,0 +1,107 @@
{% extends 'admin/base_admin.html.twig' %}
{% block contentHeader %}
<h1>
Utilisateurs
<small>Liste</small>
</h1>
<ol class="breadcrumb">
<li><a href="{{ path('admin_dashboard') }}"><i class="fa fa-dashboard"></i> Dashboard</a></li>
<li class="active">Utilisateurs</li>
</ol>
{% endblock %}
{% block content %}
<div class="box box-primary">
<div class="box-body">
<table id="user_list_table" class="table table-hover table-bordered">
<thead>
<tr>
<th>Nom</th>
<th>Prénom</th>
<th class="col-md-3">Email</th>
<th>Roles</th>
<th>Action</th>
</tr>
</thead>
<tbody>
{% for u in users %}
<tr>
<td>{{ u.lastname }}</td>
<td>{{ u.firstname }}</td>
<td>{{ u.email }}</td>
<td>
{% for r in u.roles %}
{% if r != "ROLE_USER" %}
<span class="badge bg-blue" style="font-weight: 400;">{{ r }}</span>
{% endif %}
{% endfor %}
</td>
<td>
<a class="delete-user" href="{{ path('admin_user_delete',{'id':u.id}) }}" data-toggle="tooltip"
title="Supprimer">
<i class="fa fa-trash"></i>
</a>
</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
</div>
{% endblock %}
{% block javascripts %}
<script>
$(function () {
$('#user_list_table').DataTable({
"paging": true,
"lengthChange": true,
"searching": true,
"ordering": true,
"info": true,
"autoWidth": false,
"language": {
"url": "https://cdn.datatables.net/plug-ins/1.10.11/i18n/French.json"
},
"columnDefs": [
{"targets": 0, "searchable": true, "orderable": true},
{"targets": 1, "searchable": true, "orderable": true},
{"targets": 2, "searchable": true, "orderable": true},
{"targets": 3, "searchable": true, "orderable": true, "className": "text-center"},
{"targets": 4, "searchable": false, "orderable": false, "className": "text-center"},
]
});
});
$(document).ready(function () {
$('[data-toggle="popover"]').popover();
$(".delete-user").confirm({
title: "Êtes vous sûr de supprimer cet utilisateur ?",
content: "Supprimer cet utilisateur supprimera, son compte, son entreprise, ses réponses, médias",
type: 'red',
boxWidth: '30%',
useBootstrap: false,
buttons: {
confirm: {
text: 'Confirmer',
action: function(){
console.log(this.$target);
location.href = this.$target.attr('href');
return true;
}
},
cancel: {
text: 'Annuler',
}
}
});
});
</script>
{% endblock %}
@@ -7,10 +7,10 @@
<div class="owl-carousel tuto-carousel">
<div class="item-tuto-webcam carousel-item">
<div class="row">
<div class="col s4 offset-s1">
<div class="col s4 offset-s1 hide-on-med-and-down">
<img class="responsive-img" src="{{ asset('img/img_popupcv/cv_video_step_1.svg')}}" alt="">
</div>
<div class="col s6 offset-s1 left-align">
<div class="col s11 m11 l6 offset-s1 left-align">
<strong><span class="color-blue1">30 Minutes</span> avant lenregistrement</strong>
<br /><br />
<u>Préparez un discours <strong>clair</strong> et <strong>concis</strong></u>
@@ -31,10 +31,10 @@
</div>
<div class="item-tuto-webcam carousel-item">
<div class="row">
<div class="col s4 offset-s1">
<div class="col s4 offset-s1 hide-on-med-and-down">
<img class="responsive-img" src="{{ asset('img/img_popupcv/cv_video_step_2.svg')}}" alt="">
</div>
<div class="col s6 offset-s1 left-align">
<div class="col s11 m11 l6 offset-s1 left-align">
<strong><span class="color-blue1">2 Minutes</span> avant lenregistrement</strong>
<br /><br />
<u>Préparer votre lieu de tournage :</u>
@@ -51,10 +51,10 @@
</div>
<div class="item-tuto-webcam carousel-item">
<div class="row">
<div class="col s4 offset-s1">
<div class="col s4 offset-s1 hide-on-med-and-down">
<img class="responsive-img" src="{{ asset('img/img_popupcv/cv_video_step_3.svg')}}" alt="">
</div>
<div class="col s6 offset-s1 left-align">
<div class="col s11 m11 l6 offset-s1 left-align">
<strong><span class="color-blue1">10 secondes</span> avant lenregistrement</strong>
<br /><br />
<u>Quelques informations à savoir avant le grand bain :</u>
@@ -67,7 +67,7 @@
<li>Recommencez autant de fois que nécessaire.</li>
</ul>
<br /><br />
Bon courage !
Cest à vous !
</strong>
</div>
</div>
@@ -30,26 +30,28 @@
{% endblock %}">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
{# OG et TC #}
{% block ogtc %}
{#Twitter Card data pour les données enrichies sur Twitter#}
<meta name="twitter:card" content="summary">
<meta name="twitter:site" content="@TalentsTube">
<meta name="twitter:title" content="Talents Tube : Le 1er job board 100% vidéo">
<meta name="twitter:description" content="Talents Tube est la première plateforme réservée aux offres d'emploi et aux CV vidéos. Découvrez un nouvelle méthode de recrutement !">
<meta name="twitter:image" content="{{ absolute_url(asset('img/mail/logo-talents-tube.png')) }}">
{% if app.request.attributes.get('_route') != null %}
{% block ogtc %}
{#Twitter Card data pour les données enrichies sur Twitter#}
<meta name="twitter:card" content="summary">
<meta name="twitter:site" content="@TalentsTube">
<meta name="twitter:title" content="Talents Tube : Le 1er job board 100% vidéo">
<meta name="twitter:description" content="Talents Tube est la première plateforme réservée aux offres d'emploi et aux CV vidéos. Découvrez un nouvelle méthode de recrutement !">
<meta name="twitter:image" content="{{ absolute_url(asset('img/mail/logo-talents-tube.png')) }}">
{#Open Graph data pour le partage sur les réseaux sociaux (ex Facebook..)#}
<meta property="og:title" content="Talents Tube : Le 1er job board 100% vidéo" />
<meta property="og:type" content="article" />
<meta property="og:image" content="{{ absolute_url(asset('img/mail/logo-talents-tube.png')) }}" />
<meta property="og:description" content="Talents Tube est la première plateforme réservée aux offres d'emploi et aux CV vidéos. Découvrez un nouvelle méthode de recrutement !" />
<meta property="og:site_name" content="Talents Tube" />
<meta property="og:url" content="{{ url(app.request.attributes.get('_route'), app.request.attributes.get('_route_params')) }}" />
{#Open Graph data pour le partage sur les réseaux sociaux (ex Facebook..)#}
<meta property="og:title" content="Talents Tube : Le 1er job board 100% vidéo" />
<meta property="og:type" content="article" />
<meta property="og:image" content="{{ absolute_url(asset('img/mail/logo-talents-tube.png')) }}" />
<meta property="og:description" content="Talents Tube est la première plateforme réservée aux offres d'emploi et aux CV vidéos. Découvrez un nouvelle méthode de recrutement !" />
<meta property="og:site_name" content="Talents Tube" />
<meta property="og:url" content="{{ url(app.request.attributes.get('_route'), app.request.attributes.get('_route_params')) }}" />
{% endblock %}
{# Canonical #}
<link rel="canonical"
href="{% block urlCanonical %}{{ url(app.request.attributes.get('_route'), app.request.attributes.get('_route_params')) }}{% endblock %}">
{% endblock %}
{# Canonical #}
<link rel="canonical"
href="{% block urlCanonical %}{{ url(app.request.attributes.get('_route'), app.request.attributes.get('_route_params')) }}{% endblock %}">
{% endif %}
{# CSS #}
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<link href="https://fonts.googleapis.com/css?family=Raleway:100,100i,200,200i,300,300i,400,400i,500,500i,600,600i,700,700i,800,800i,900,900i&amp;subset=latin-ext"
@@ -106,11 +106,11 @@
$('.fa-refresh').show();
var month1 = obj.date1.getMonth();
var day1 = obj.date1.getDate();
var year1 = obj.date1.getUTCFullYear();
var year1 = obj.date1.getFullYear();
var month2 = obj.date2.getMonth();
var day2 = obj.date2.getDate();
var year2 = obj.date2.getUTCFullYear();
var date1 = (month1 + 1) + "/" + day1 + "/" + year1 +" 00:00:00";
var year2 = obj.date2.getFullYear();
var date1 = (month1 + 1) + "/" + day1 + "/" + year1 +" 00:00:01";
var date2 = (month2 + 1) +"/" + day2 + "/" + year2 +" 23:59:59";
getChartData(date1, date2);
});
@@ -48,7 +48,6 @@
</div>
</div>
</div>
{% endblock %}
{% block javascripts %}
@@ -35,13 +35,17 @@
<div class="col s12 m12 l8 xl9">
{% if ad.video and ad.status != "CLOSED" %}
<div class="row m-b-0" id="adVideo">
<div class="embed-responsive embed-responsive-16by9">
<div class="col s12">
<iframe src="https://player.vimeo.com/video/{{ ad.video.cdnUrl|replace({ "/videos/": ""}) }}"
width="100%" height="640" frameborder="0" webkitallowfullscreen mozallowfullscreen
allowfullscreen></iframe>
{% if ad.id == 36 %}
<img class="responsive-img" src="{{asset('/img/Albea_alternance_stage_vie_1.jpg')}}">
{% else %}
<div class="embed-responsive embed-responsive-16by9">
<div class="col s12">
<iframe src="https://player.vimeo.com/video/{{ ad.video.cdnUrl|replace({ "/videos/": ""}) }}"
width="100%" height="640" frameborder="0" webkitallowfullscreen mozallowfullscreen
allowfullscreen></iframe>
</div>
</div>
</div>
{% endif %}
{% if ad.isPromoted %}
<div class="isPromoted"><img src="{{asset('/img/offre-pourvue-gauche.png')}}" alt="promoted"></div>
{% endif %}
@@ -41,6 +41,9 @@
<a class="white-text td-none" href="https://twitter.com/TalentsTuber" title="Twitter" target="_blank">
<i class="fa fa-twitter" aria-hidden="true"></i>
</a>
<a class="white-text td-none" href="https://www.youtube.com/channel/UCRNqiJCLAorO0aCzNQu-8ww" title="Youtube" target="_blank">
<i class="fa fa-youtube" aria-hidden="true"></i>
</a>
<a class="white-text td-none" href="https://www.linkedin.com/company/talentstube" title="Linkedin" target="_blank">
<i class="fa fa-linkedin-square" aria-hidden="true"></i>
</a>
@@ -15,10 +15,6 @@
Le concept en vidéo &nbsp;&nbsp;&nbsp;
<img src="{{asset('img/bouton-play.png')}}" />
</a>
<a data-target="modal_voeux" href="#!" class="btn btn-default btn-round btn-voeux modal-trigger">
Voeux 2018 en vidéo &nbsp;&nbsp;&nbsp;
<img src="{{asset('img/bouton-play.png')}}" />
</a>
</div>
<div class="header-video-inner">
<video loop="" preload="metadata" autoplay="" id="vid" muted>
@@ -203,6 +199,7 @@
</div>
</div>
</div>
{% include 'testimony/testimony_list.html.twig' %}
</div>
<div id="modal_concept" class="modal modal-fixed-footer">
<div class="modal-content">
@@ -215,17 +212,6 @@
<a href="#!" class="modal-action modal-close btn btn-default button-round-small">Fermer</a>
</div>
</div>
<div id="modal_voeux" class="modal modal-fixed-footer">
<div class="modal-content">
<div class="video-container">
<iframe id="iframe_concept" src="" frameborder="0" webkitallowfullscreen mozallowfullscreen
allowfullscreen></iframe>
</div>
</div>
<div class="modal-footer">
<a href="#!" class="modal-action modal-close btn btn-default button-round-small">Fermer</a>
</div>
</div>
{% endblock %}
{% block javascripts %}
@@ -12,4 +12,9 @@
{% block description %}{{ page.description }}{% endblock %}
{% block content %}{{ page.content|raw }}{% endblock %}
{% block content %}
{{ page.content|raw }}
{% if isTestimony is defined %}
{% include 'testimony/testimony_list.html.twig' %}
{% endif %}
{% endblock %}
@@ -185,7 +185,7 @@
var urlDelete = '';
var idObject = null;
var typeObject = null;
var videoExist = true;
var videoExist = false;
var mediaDefaultUrl = '{{ path("media_default") }}';
var idUser = '{{ app.user.id }}';
var mediaEditTitleUrl = "{{ path('media_edit_title', {'id': 'id_video'})|escape('js') }}";
@@ -80,12 +80,11 @@
<div id="modalProfilePicture" class="modal">
<div class="modal-content">
<h4>Edition de votre photo de profil</h4>
{#<div class="row">
<div class="row">
{{ render(controller(
'AppBundle:Media:profilePicture'
)) }}
</div>#}
</div>
</div>
<div class="modal-footer">
<a href="#!" class="modal-action modal-close waves-effect waves-green btn-flat">Fermer</a>
@@ -113,10 +113,7 @@
{% block javascripts %}
{{ parent() }}
<script src="https://player.vimeo.com/api/player.js"></script>
<script>
var iframe = document.querySelector('iframe');
var player = new Vimeo.Player(iframe);
$(document).ready(function(){
$.get( "{{ path('talent_ajaxRecStat',{'id': talent.id }) }}", function( data ) {
});
@@ -0,0 +1,40 @@
<div id="liste-testimony" class="bg-white">
<div class="container">
<div class="row flexcontainer row-noMargin">
<div class="owl-carousel owl-carousel-testimony">
<div class="item">
<div class="row">
<div class="col s12 l2">
<img class="circle z-depth-3" src="{{ asset('img/testimony/de-charry.jpg')}}" alt="Jean-Philippe, Gérant, cabinet de Charry"/>
</div>
<div class="col s12 l8 left-align">
<h3><strong>Jean-Philippe</strong>, Gérant, Cabinet de Charry</h3>
<p>
Notre entreprise amorce une nouvelle dynamique grâce à la vidéo de recrutement.<br />
Nous accueillons demain notre nouvel agent commercial, basé à Auray/Lorient.<br />
Il sera suivi de près par un autre très bientôt...<br />
Nous avons eu beaucoup dappréciations positives grâce à cette communication.
</p>
</div>
</div>
</div>
<div class="item">
<div class="row">
<div class="col l2">
<img class="circle z-depth-3" src="{{ asset('img/testimony/lionel.jpg')}}" alt="Jean-Philippe, Gérant, cabinet de Charry"/>
</div>
<div class="col s12 l8 left-align text-testimony">
<h3><strong>Lionel</strong>, dirigeant, LB Groupe</h3>
<p>
Talents Tube nous a permis de recruter deux collaborateurs sur des profils bien spécifiques en un temps rapide.<br />
Loffre demploi vidéo a permis datteindre des candidats aux profils plus divers quune annonce classique sur papier ou web.<br />
Les CV vidéo ont permis de gagner un temps précieux au niveau de la présélection.<br />
Atout supplémentaire : nos annonces en vidéo ont contribué à développer notre marque employeur !
</p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
@@ -40,4 +40,5 @@ assetic:
- 'js/vendors/typeahead.js'
- 'js/company.js'
- 'js/backend.js'
- 'js/tags.js'
- 'js/tags.js'
- 'js/vendors/jquery-confirm.min.js'
+2 -4
View File
@@ -182,13 +182,11 @@ hwi_oauth:
paths:
email: email
profilepicture: picture.data.url
options:
display: popup
#csrf: true
linkedin:
type: linkedin
client_id: 77ywkne3b8tcnk
client_secret: HB9Zdx42s7RPLUqm
client_id: 86m6hegwyj8lbo
client_secret: LIOibqDszsP2vQSr
infos_url: "https://api.linkedin.com/v1/people/~:(id,first-name,last-name,location,email-address,picture-urls::(original))?format=json"
options:
#csrf: true
@@ -27,3 +27,4 @@ parameters:
elastic_host: tt-website.elasticsearch.prod
elastic_port: 9200
delivery_addresses: thomas@e-declic.com
@@ -3,8 +3,8 @@ security:
in_memory:
memory: ~
fos_userbundle:
#id: fos_user.user_provider.username_email
id: app.user_provider
id: fos_user.user_provider.username_email
#id: app.user_provider
firewalls:
dev:
@@ -13,6 +13,11 @@ security:
main:
pattern: ^/
remember_me:
secret: '%kernel.secret%'
lifetime: 14515200
path: /
always_remember_me: true
form_login:
provider: fos_userbundle
csrf_token_generator: security.csrf.token_manager
@@ -3,6 +3,10 @@
namespace AppBundle\Controller\Admin;
use AppBundle\Entity\Company;
use AppBundle\Entity\Media;
use AppBundle\Entity\Answer;
use AppBundle\Entity\Message;
use AppBundle\Entity\Bookmark;
use AppBundle\Form\Admin\TalentAdminType;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
@@ -43,4 +47,98 @@ class TalentController extends Controller
'talent' => $talent,
));
}
/**
* @Route("/admin/config/user/list", name="admin_config_user")
*/
public function adminUserListAction(Request $request)
{
$em = $this->getDoctrine()->getManager();
$t = $em->getRepository('AppBundle:User')->findByRole('ROLE_TALENT');
return $this->render('admin/users_list.html.twig', array(
'users' => $t,
));
}
/**
* @Route("/admin/config/user/{id}/delete", name="admin_user_delete")
*/
public function adminUserDeleteAction(Request $request, $id)
{
$em = $this->getDoctrine()->getManager();
$t = $em->getRepository('AppBundle:User')->findByRole('ROLE_TALENT');
$userManager = $this->get('fos_user.user_manager');;
$user = $userManager->findUserBy(array('id' => $id));
if(\is_null($user)) {
// user not found, generate $notFoundResponse
$this->addFlash(
'notice',
' user not found !'
);
}
\assert(!\is_null($user));
$company = $user->getCompany();
if($company){
$company->setPresentationVideo(null);
}
$this->deleteRelation($user);
$userManager->deleteUser($user);
if($company){
$em->remove($company);
}
$em->flush();
return $this->redirectToRoute('admin_config_user');
}
public function deleteRelation($user) {
$em = $this->getDoctrine()->getManager();
$answers = $em->getRepository('AppBundle:Answer')->findBy(array('user' => $user));
$medias = $em->getRepository('AppBundle:Media')->findBy(array('creator'=> $user));
$sendMessage = $em->getRepository('AppBundle:Message')->findBy(array('sender'=> $user));
$recipMessage = $em->getRepository('AppBundle:Message')->findBy(array('recipient'=> $user));
$bookmarks = $em->getRepository('AppBundle:Bookmark')->findBy(array('creator'=> $user));
if ($sendMessage) {
foreach ($sendMessage as $key => $message) {
$message->setSender(null);
$message->setAnswer(null);
}
$em->flush();
}
if ($recipMessage) {
foreach ($recipMessage as $key => $message) {
$message->setRecipient(null);
$message->setAnswer(null);
}
$em->flush();
}
if ($bookmarks) {
foreach ($bookmarks as $key => $bookmark) {
$em->remove($bookmark);
}
$em->flush();
}
if ($answers) {
foreach ($answers as $key => $answer) {
$em->remove($answer);
}
$em->flush();
}
if ($medias) {
foreach ($medias as $key => $media) {
$em->remove($media);
}
$em->flush();
}
}
}
@@ -109,12 +109,17 @@ class CompanyController extends Controller
$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(),
@@ -188,7 +188,8 @@ class PageController extends Controller
$page = $em->getRepository('AppBundle:Page')->findOneByRef('OFFREEMPLOI');
return $this->render('default/page.html.twig', [
'page' => $page
'page' => $page,
'isTestimony' => true
]);
}
@@ -201,7 +202,8 @@ class PageController extends Controller
$page = $em->getRepository('AppBundle:Page')->findOneByRef('MARQUEEMPLOYEUR');
return $this->render('default/page.html.twig', [
'page' => $page
'page' => $page,
'isTestimony' => true
]);
}
@@ -199,6 +199,22 @@ class User extends BaseUser
return null === $this->photo ? null : $this->getUploadDir() . '/' . $this->photo;
}
public function getFile()
{
return $this->file;
}
/**
* Set file
*
* @param UploadedFile $file
*
*/
public function setFile(UploadedFile $file = null)
{
$this->file = $file;
}
/**
* @param string $type
* @return array|string
@@ -12,4 +12,14 @@ use Doctrine\ORM\EntityRepository;
*/
class UserRepository extends EntityRepository
{
public function findByRole($role)
{
$qb = $this->_em->createQueryBuilder();
$qb->select('u')
->from($this->_entityName, 'u')
->where('u.roles LIKE :roles')
->setParameter('roles', '%"'.$role.'"%');
return $qb->getQuery()->getResult();
}
}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -227,6 +227,19 @@ $(document).ready(function () {
}
});
}
if ($(".owl-carousel-testimony").length ) {
$(".owl-carousel-testimony").owlCarousel({
items:1,
nav: true,
margin: 28,
loop: true,
autoplay: true,
autoplayHoverPause: true,
center:true,
navText: ['<span class="left-arrow"></span>', '<span class="right-arrow"></span>']
});
}
/*GMAP Search*/
if ($("#ad_search_location_gmap").length) {
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+54
View File
@@ -14427,6 +14427,59 @@ a.link-white-underline {
@media (min-width: 1136px) and (max-width: 1226px) {
.owl-carousel .owl-item .card-company .card-content-company .col-infos {
font-size: 14px; } }
#liste-testimony .item .row {
display: flex;
flex-direction: row;
align-items: center;
min-height: 200px;
margin-top: 60px;
margin-bottom: 0; }
#liste-testimony .item .row .col h3 {
font-family: Raleway;
font-size: 18px;
font-weight: 300;
margin: 30px 0 18px 0; }
#liste-testimony .item .row .col p {
font-size: 14px; }
#liste-testimony .item .row .text-testimony {
padding-right: 85px; }
#liste-testimony .owl-dots {
margin: 15px 0 30px 0;
text-align: center;
-webkit-tap-highlight-color: transparent; }
#liste-testimony .owl-dots .owl-dot {
display: inline-block;
zoom: 1; }
#liste-testimony .owl-dots .owl-dot span {
width: 13px;
height: 13px;
margin: 5px 7px;
background: #D6D6D6;
display: block;
-webkit-backface-visibility: visible;
transition: opacity .2s ease;
border-radius: 30px; }
#liste-testimony .owl-dots .owl-dot.active span, #liste-testimony .owl-dots .owl-dot:hover span {
background: #155EE5; }
#liste-testimony .owl-nav {
width: 103%;
z-index: 10; }
@media (max-width: 990px) {
#liste-testimony .item .row {
display: flex;
flex-direction: column;
align-items: center;
min-height: 200px;
margin-top: 60px;
margin-bottom: 0; }
#liste-testimony .item .row .col {
text-align: center; }
#liste-testimony .item .row .col img {
max-width: 200px;
margin: 0 auto; }
#liste-testimony .item .row .text-testimony {
padding-right: 0; } }
/* sidebar */
#sidebar {
background: none; }
@@ -15553,6 +15606,7 @@ table.highlight > tbody > tr:hover {
#answerPage .col-content.bg-arrow {
background: url(/img/img_popupcv/step_arrow.svg) 40px no-repeat #FFFFFF; }
#answerPage #modal-tuto {
min-height: 540px;
background: #FFFFFF; }
#answerPage #modal-tuto .col-content {
margin-bottom: 0; }
File diff suppressed because one or more lines are too long
Binary file not shown.

After

Width:  |  Height:  |  Size: 545 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 107 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 214 KiB

+2
View File
@@ -50,6 +50,8 @@ $(document).ready(function(){
openModal();
}
$(".view-tuto").on('click', function(){
var toIndex = 0;
$(".tuto-carousel").trigger("to.owl.carousel", [toIndex, 1, true]);
openModal();
});
+13
View File
@@ -227,6 +227,19 @@ $(document).ready(function () {
}
});
}
if ($(".owl-carousel-testimony").length ) {
$(".owl-carousel-testimony").owlCarousel({
items:1,
nav: true,
margin: 28,
loop: true,
autoplay: true,
autoplayHoverPause: true,
center:true,
navText: ['<span class="left-arrow"></span>', '<span class="right-arrow"></span>']
});
}
/*GMAP Search*/
if ($("#ad_search_location_gmap").length) {
+3 -1
View File
@@ -2,4 +2,6 @@
# www.google.com/support/webmasters/bin/answer.py?hl=en&answer=156449
User-agent: *
Disallow:
Disallow: /login/facebook*
Disallow: /login/linkedin*
Disallow: /annonce/*/repondre/*
@@ -10,7 +10,6 @@
margin-top: 40px;
}
}
.tuto-carousel{
.owl-item {
display: inline !important;
@@ -49,7 +48,7 @@
}
.carousel-fixed-item{
margin-right: 45px;
margin-top: -40px;
margin-top:-40px;
position: relative;
z-index: 100;
}
@@ -75,6 +74,7 @@
background: url(/img/img_popupcv/step_arrow.svg) 40px no-repeat #FFFFFF;;
}
#modal-tuto{
min-height: 540px;
background: $white;
.col-content{
margin-bottom: 0;
@@ -345,4 +345,81 @@
.owl-carousel .owl-item .card-company .card-content-company .col-infos {
font-size: 14px;
}
}
//Carousel Testimony
#liste-testimony{
.item{
.row{
display: flex;
flex-direction: row;
align-items: center;
min-height:200px;
margin-top: 60px;
margin-bottom: 0;
.col{
h3{
font-family: Raleway;
font-size: 18px;
font-weight: 300;
margin: 30px 0 18px 0;
}
p{
font-size: 14px;
}
}
.text-testimony{
padding-right:85px;
}
}
}
.owl-dots{
margin: 15px 0 30px 0;
text-align:center;
-webkit-tap-highlight-color:transparent;
}
.owl-dots .owl-dot{display:inline-block;zoom:1}
.owl-dots .owl-dot span{
width:13px;
height:13px;
margin:5px 7px;
background:#D6D6D6;
display:block;
-webkit-backface-visibility:visible;
transition:opacity .2s ease;
border-radius:30px;
}
.owl-dots .owl-dot.active span,.owl-dots .owl-dot:hover span{
background:#155EE5;
}
.owl-nav{
width:103%;
z-index: 10;
}
}
@media (max-width: 990px){
#liste-testimony{
.item{
.row{
display: flex;
flex-direction: column;
align-items: center;
min-height:200px;
margin-top: 60px;
margin-bottom: 0;
.col{
text-align: center;
img{
max-width: 200px;
margin: 0 auto;
}
}
.text-testimony{
padding-right:0;
}
}
}
}
}