Compare commits

...

20 Commits

Author SHA1 Message Date
Author Name d56dc27fe1 Feat : Update js with assetic 2018-10-31 14:13:19 +01:00
Maxime Thévenot 2ee49175ef Conf : update parameters preprod according to server 2018-10-31 14:10:58 +01:00
Maxime Thévenot 6f0379c7aa Feat : update carrousel to not loop with less than 3 item 2018-10-31 12:18:57 +01:00
Maxime Thévenot 2491b253c6 Fix : update css for select visibility 2018-10-11 11:25:45 +02:00
Thomas MONCHICOURT df3bb979e9 Merge branch 'feat/choose-thumbnail' into develop 2018-10-03 16:51:04 +02:00
Thomas MONCHICOURT bc75bb7afc Feat: Mise en place du changement de vignette #7354 @2h30 2018-10-03 16:50:29 +02:00
Thomas MONCHICOURT ef5f0e81da Fix : birthdate null 2018-10-03 12:17:40 +02:00
Thomas MONCHICOURT 88ceb319af Merge branch 'master' into develop 2018-10-03 11:32:36 +02:00
Thomas MONCHICOURT f314a614fe Fix: probleme set date anniversaire Facebook 2018-10-03 11:26:50 +02:00
Thomas MONCHICOURT b19498ef46 Feat: mise en place du choix de la vignette #7354 @2h 2018-10-03 11:07:51 +02:00
Thomas MONCHICOURT 6313039500 Feat : modification talent en home #7339 @1h 2018-09-26 14:17:28 +02:00
Thomas MONCHICOURT f098e4b6b8 Merge branch 'develop' 2018-09-26 10:46:39 +02:00
Thomas MONCHICOURT ed70e8c940 Fix: delete dump 2018-09-26 10:46:24 +02:00
Thomas MONCHICOURT 9762aee7ae Feat : ajout nouveau type search #7317 @0h15 2018-09-25 16:40:34 +02:00
Thomas MONCHICOURT 3ccf2b9604 Feat : test elastic #7317 @0h30 2018-09-25 16:34:29 +02:00
Thomas MONCHICOURT babfa473fb Merge branch 'master' into develop
# Conflicts:
#	volume/www/website/www/web/css/styles.css
#	volume/www/website/www/web/css/styles.css.map
#	volume/www/website/www/web/sass/base/_mtgenerics.scss
2018-09-25 16:13:31 +02:00
Thomas MONCHICOURT c976bb6d21 Feat : Modification recherche par tag #7317 @0h20 2018-09-25 15:59:34 +02:00
Thomas MONCHICOURT c5a1aebecc Merge branch 'feat/research-keywords' into develop 2018-09-25 14:59:26 +02:00
Thomas MONCHICOURT e516e45cb0 Feat: ajout lien + css #7317 @0h30 2018-09-25 14:58:51 +02:00
Thomas MONCHICOURT cce45d834f Feat : Mots clefs cliquable #7317 @2h 2018-09-24 15:32:50 +02:00
29 changed files with 378 additions and 34 deletions
@@ -46,9 +46,9 @@
<span class="clearfix"></span>
<div class="keywords">
{% if a.publicTag %}
{% for keyword in a.publicTag %}
{% for tag in a.publicTag %}
<div class="chip">
{{ keyword }}
<a href="{{ path('ad_search_result',{'tag':tag }) }}">{{ tag }}</a>
</div>
{% endfor %}
{% endif %}
@@ -52,7 +52,9 @@
<div class="col s11 col-noPadding" style="position:relative;">
<div class="frame" id="basic">
<ul class="slidee">{% for tag in a.publicTag %}
<li class="chip">{{ tag }}</li>{% endfor %}</ul>
<li class="chip">
<a href="{{ path('ad_search_result',{'tag':tag }) }}" class="hover-blue2">{{ tag }}</a>
</li>{% endfor %}</ul>
</div>
<div class="controls center">
<a class="prev"><i class="fa fa-arrow-circle-left" aria-hidden="true"></i></a>
@@ -76,9 +76,8 @@
</div>
<div class="col s12">
{% for tag in ad.publicTag %}
<p class="chip">{{ tag }}</p>
<p class="chip"><a href="{{ path('ad_search_result',{'tag':tag }) }}" class="hover-blue2">{{ tag }}</a></p>
{% endfor %}
<div class="item-detail-description">
<h3 class="blue-text">Détails de l'offre d'emploi</h3>
<p>{{ ad.description|nl2br }}</p>
@@ -98,9 +98,9 @@
<div class="container">
<div class="row center-align">
<div class="col s12">
<h2 class="blue-text no-margin-top">Les talents</h2>
<h2 class="blue-text no-margin-top">Les talents à la une</h2>
</div>
<h3 class="subtitles-homepage">Découvrez leurs CV vidéo et vidéo de motivation.</h3>
<h3 class="subtitles-homepage">Découvrez leur CV vidéo et vidéo de motivation.</h3>
</div>
<div class="row">
<div class="owl-carousel owl-carousel-home home-talent-carousel">
@@ -111,6 +111,12 @@
{% endif %}
</div>
</div>
<div class="row center-align">
<h2>Rejoignez une communauté de plus de <strong>500</strong> candidats</h2>
<div class="col s12 m-t-50">
<a href="#!" title="Créer Mon profil" class="btn btn-default btn-round btn-create-account">Créer mon profil</a>
</div>
</div>
</div>
</div>
{# TERRITOIRE #}
@@ -19,13 +19,13 @@
{{ user.firstname }} {{ user.lastname }}
</a>
</p>
{% if talent.publicTag %}
{#{% if talent.publicTag %}
{% for keyword in talent.publicTag %}
{% if keyword != "" %}
<div class="chip">{{ keyword }}</div>
{% endif %}
{% endfor %}
{% endif %}
{% endif %}#}
</div>
{% endif %}
{% endfor %}
@@ -35,15 +35,26 @@
{% if app.user.company.presentationVideo %}
{% set media = app.user.company.presentationVideo %}
{% endif %}
<div class="row video_premier z-depth-3">
<div class="row video_premier z-depth-3">
{% if app.user.company.presentationVideo %}
<div class="col s4 video_col">
<div class="col s4 video_col col-card">
<div class="preloader-wrapper small">
<div class="spinner-layer spinner-blue-only">
<div class="circle-clipper left">
<div class="circle"></div>
</div><div class="gap-patch">
<div class="circle"></div>
</div><div class="circle-clipper right">
<div class="circle"></div>
</div>
</div>
</div>
<div class="embed-responsive embed-responsive-16by9">
<iframe src="https://player.vimeo.com{{ media.getCdnUrl()|replace({ "videos": "video"}) }}"
width="100%" height="550" frameborder="0" webkitallowfullscreen
mozallowfullscreen allowfullscreen></iframe>
</div>
<a data-id="{{ media.getCdnUrl()|replace({ "/videos/": ""}) }}" href="#!" class="btn-floating left halfway-fab changeThumbnail"><i class="material-icons">image</i></a>
</div>
{% else %}
<div class="col s12 video_col">
@@ -95,6 +106,17 @@
<div class="col s12 m6 l4 col-card">
<div class="card card-video-action z-depth-1">
<div class="card-image">
<div class="preloader-wrapper small">
<div class="spinner-layer spinner-blue-only">
<div class="circle-clipper left">
<div class="circle"></div>
</div><div class="gap-patch">
<div class="circle"></div>
</div><div class="circle-clipper right">
<div class="circle"></div>
</div>
</div>
</div>
<div class="embed-responsive embed-responsive-16by9">
<iframe src="https://player.vimeo.com{{ media.getCdnUrl()|replace({ "videos": "video"}) }}"
width="100%" height="230px" frameborder="0" webkitallowfullscreen
@@ -136,6 +158,7 @@
{% endif %}
</div>
</div>
<a data-id="{{ media.getCdnUrl()|replace({ "/videos/": ""}) }}" href="#!" class="btn-floating left halfway-fab changeThumbnail"><i class="material-icons">image</i></a>
</div>
<div class="card-content">
<p>
@@ -149,6 +172,41 @@
{% endif %}
{% endfor %}
</div>
<div id="changeThumbnailVideo" class="modal modal-fixed-footer modal-fixed-header">
<div class="modal-header">
<h3 class="color-blue1">Modifier la vignette</h3>
<span class="right">
<a href="#!" class="modal-close">
<img src="{{ asset('/img/close-modal.svg') }}" >
</a>
</span>
</div>
<div class="modal-content">
<div class="row">
<div class="col s6">
<div class="embed-responsive embed-responsive-16by9">
<div class="col s12">
<div id="video-vimeo"></div>
</div>
</div>
</div>
<div class="col s6">
<p><strong>Lancez la vidéo</strong> , puis <strong>appuyer sur pause</strong> pour définir limage.
<br />Une fois votre vignette définie, cliquez sur le bouton
<strong>Sauvegarder</strong>.</p>
</div>
</div>
</div>
<div class="modal-footer">
<a href="#!" class="modal-action modal-close btn btn-default btn-round captur">Sauvegarder</a>
</div>
</div>
{% set video = null %}
<div id="addVideo" class="modal modal-fixed-footer">
<div class="modal-content">
@@ -206,4 +264,52 @@
</script>
<script src="{{ asset('/js/mediaListing.js') }}"></script>
<script src="{{ asset('/js/dropzone.js') }}"></script>
<script src="https://player.vimeo.com/api/player.js"></script>
<script type="text/javascript">
$(document).ready(function(){
var options = {
id: null
};
var player = null;
$('.modal-close').on('click',function(){
$('#changeThumbnailVideo').modal('close');
});
$('.changeThumbnail').on('click',function(){
$('#changeThumbnailVideo').modal();
$('#changeThumbnailVideo').modal('open');
var idVideo = $(this).data('id');
options = {
id: idVideo
};
player = new Vimeo.Player('video-vimeo', options);
});
$('.captur').on('click',function(e){
e.preventDefault();
$('a.changeThumbnail').data('id',options.id).parents('.col-card').find('.preloader-wrapper').addClass('active');
player.getCurrentTime().then(function(seconds) {
var data = {'duration': seconds, 'id':options.id};
$.ajax({
url:"{{ path('video_changeThumbnail') }}",
type:"POST",
data: JSON.stringify(data),
success:function(response) {
$('a.changeThumbnail').data('id',options.id).parents('.col-card').each(function( index ) {
var iframe = $( this ).contents().find('iframe');
iframe[0].src = iframe[0].src;
});
},
error:function(error){
console.log(error)
}
});
}).catch(function(error) {
console.log(error);
});
});
$("iframe").on("load", function () {
$('.preloader-wrapper').removeClass('active');
});
});
</script>
{% endblock %}
@@ -2,6 +2,18 @@ fos_elastica:
clients:
default: { host: %elastic_host%, port: %elastic_port% }
indexes:
tags:
types:
tagsfr:
mappings:
publicTag:
analyzer: keyword
type: text
persistence:
driver: orm
model: AppBundle\Entity\Ad
provider: ~
finder: ~
ads:
settings:
index:
@@ -8,7 +8,8 @@ parameters:
database_port: '5432'
database_name: database
database_user: user
database_password: 7C|Uk2B[.>"6{QO{
#database_password: 7C|Uk2B[.>"6{QO{
database_password: b|RN:iR<g,TNMqM6
#Mongo
mongodb_server: "mongodb://tt-website.mongo.preprod:27017"
#Prestashop
@@ -19,6 +19,10 @@ services:
class: AppBundle\Utils\Services\AdSearcher
arguments: ['@fos_elastica.finder.ads.adfr']
app.ad_tags_searcher:
class: AppBundle\Utils\Services\AdSearcher
arguments: ['@fos_elastica.finder.tags.tagsfr']
# Twig Extensions
twig.country_extension:
class: AppBundle\Twig\CountryExtension
@@ -298,7 +298,6 @@ class AdController extends Controller
if ($form->isSubmitted() && $form->isValid()) {
$data = $form->getData();
if (is_null($data['job'])) {
//return $this->redirectToRoute('homepage');
$session->remove('jobSearch');
unset($data['job']);
} else {
@@ -330,8 +329,13 @@ class AdController extends Controller
]);
} else {
$ads = $this->getPublishedAds($promoted);
if($request->get('tag')){
$data['tag'] = $request->get('tag');
$adSearcher = $this->get('app.ad_tags_searcher');
$ads = $adSearcher->process($data,'tag');
} else {
$ads = $this->getPublishedAds($promoted);
}
}
return $this->render('default/ad_search_result.html.twig', [
@@ -144,6 +144,18 @@ class MediaController extends Controller
* Ajax & Webservices
***********************/
/**
* @Route("/media/changeThumbnail", name="video_changeThumbnail")
*/
public function changeThumbnailAction(Request $request)
{
$data = json_decode($request->getContent());
$mediaManager = $this->get('media_manager');
$message = $mediaManager->changeThumbnail($data->duration, $data->id);
return new JsonResponse($message);
}
/**
* @Route("/media/upload/{id}", name="upload_media")
*/
@@ -371,9 +371,16 @@ class User extends BaseUser
*
* @return User
*/
public function setBirthday($birthday = null)
public function setBirthday($birthday = null, $isSocial = false)
{
$birthday = \DateTime::createFromFormat('d/m/Y', $birthday);
if($birthday != null){
if($isSocial){
$birthday = \DateTime::createFromFormat('m/d/Y', $birthday);
} else {
$birthday = \DateTime::createFromFormat('d/m/Y', $birthday);
}
}
$this->birthday = $birthday;
return $this;
@@ -148,7 +148,7 @@ class FOSUBUserProvider extends BaseFOSUBProvider
} else {
$userPhoto = 'https://graph.facebook.com/'.$data['id'].'/picture?height=200';
if(isset($data['birthday'])){
$birthday = \DateTime::createFromFormat ('m/d/Y', $data['birthday']);
$birthday = $data['birthday'];
} else {
$birthday = null;
}
@@ -25,12 +25,38 @@ class AdSearcher
{
if ($param == 'lite') {
$ads = $this->searchLite($data);
} elseif ($param == 'tag') {
$ads = $this->searchTag($data);
} else {
return null;
}
return $ads;
}
/**
* @param $data
* @return mixed
*
* ElasticSearch query for ad search
*/
public function searchTag($data)
{
$query = new \Elastica\Query();
$boolQuery = new \Elastica\Query\BoolQuery();
$fieldQuery = new \Elastica\Query\MultiMatch();
if(isset($data['tag'])){
$fieldQuery->setQuery($data['tag']);
$fieldQuery->setFields(['publicTag']);
//$fieldQuery->setFieldQuery('publicTag', $data['tag']);
$boolQuery->addMust($fieldQuery);
}
$query->setQuery($boolQuery);
$result = $this->finder->find($query);
$ads = $this->filterStatus($result);
return $ads;
}
/**
* @param $data
* @return mixed
@@ -101,6 +101,17 @@ class MediaManager
}
}
/**
* @param $entity
* @return array
*/
public function changeThumbnail($duration, $id)
{
$response = $this->vimeo->request('/videos/'.$id.'/pictures', array('active' => true, 'time' => $duration), 'POST');
return array('success' => $response);
}
/**
* @param $entity
* @return array
+6 -1
View File
@@ -154,6 +154,11 @@ $(document).ready(function () {
}
);
$('.btn-create-account').on('click',function(){
$('#modal_login').modal('open');
$('.change_to_register').click();
});
//$('select').material_select();
/*menu responsive*/
@@ -189,7 +194,7 @@ $(document).ready(function () {
margin: marginValue,
// stagePadding: paddingValue,
nav: true,
loop: true,
loop: $('.territory-carousel > .item').length <= 2 ? false : true,
center:true,
navText: ['<span class="left-arrow"></span>', '<span class="right-arrow"></span>']
});
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
File diff suppressed because one or more lines are too long
+10
View File
@@ -2808,6 +2808,16 @@
.hover-none a:hover {
color: #ffffff; }
.chip a {
color: rgba(0, 0, 0, 0.6); }
#liste-jobs .card .card-action .chip a {
color: rgba(0, 0, 0, 0.6);
text-transform: initial;
text-decoration: none;
text-align: center;
margin: 0; }
.color-white {
color: #FFFFFF; }
+58 -5
View File
@@ -13167,8 +13167,15 @@ coloring of icons.
.hover-none a:hover {
color: #ffffff; }
select {
display: block; }
.chip a {
color: rgba(0, 0, 0, 0.6); }
#liste-jobs .card .card-action .chip a {
color: rgba(0, 0, 0, 0.6);
text-transform: initial;
text-decoration: none;
text-align: center;
margin: 0; }
.color-white {
color: #FFFFFF; }
@@ -13450,6 +13457,29 @@ a.link-white-underline {
.modal-content .btn {
box-shadow: none; }
#dashboard .modal-fixed-header .modal-header {
position: fixed;
z-index: 100;
top: 0;
left: 0;
height: auto;
width: 100%;
padding: 20px;
border-bottom: 1px solid #E0E0E0; }
#dashboard .modal-fixed-header .modal-header h3 {
font-size: 20px;
font-family: "Raleway", sans-serif;
font-weight: 300;
margin: 0;
float: left; }
#dashboard .modal-fixed-header .modal-header a.modal-close {
cursor: pointer; }
#dashboard .modal-fixed-header .modal-content {
padding-top: 100px; }
.modal-fixed-header .modal-footer {
height: 68px; }
#modal-recommendation span {
font-size: 22px; }
@@ -14615,7 +14645,6 @@ a.link-white-underline {
#liste-talents .owl-carousel .item {
text-align: center; }
#liste-talents .owl-carousel .item .item-list-name {
border-bottom: 1px solid #333A40;
padding: 15px 0;
margin-bottom: 15px; }
#liste-talents .owl-carousel .item .item-list-name a {
@@ -15166,6 +15195,9 @@ h6 {
.bg-white.button-plus:after {
background: url(/img/decroche-white.png) top center no-repeat; }
select {
display: block; }
.btn, .btn-large {
-webkit-border-radius: 0px;
-moz-border-radius: 0px;
@@ -15554,8 +15586,19 @@ h6 {
padding: 0 5px; }
.row .col-card .card-video {
margin-top: 0; }
.row .col-card .changeThumbnail {
background-color: #155ee4; }
.row .col-card .preloader-wrapper {
z-index: 1000;
position: absolute;
top: 10px;
left: 30px;
margin-left: -18px; }
.row .col-card .preloader-wrapper .spinner-blue-only {
border-color: #155ee4; }
.video_premier {
position: relative;
display: flex; }
.video_premier .content_col, .video_premier .video_col_edit_premier, .video_premier .video_col_link_share {
padding: 0; }
@@ -15565,6 +15608,18 @@ h6 {
justify-content: space-between;
flex-wrap: wrap;
background: #FFF; }
.video_premier .btn-floating.halfway-fab.left.changeThumbnail {
background-color: #155ee4;
bottom: 10px;
left: 16px; }
.video_premier .preloader-wrapper {
z-index: 1000;
position: absolute;
top: 10px;
left: 30px;
margin-left: -18px; }
.video_premier .preloader-wrapper .spinner-blue-only {
border-color: #155ee4; }
.video_premier .video_col_content {
margin-bottom: 10px; }
.video_premier .video_col_content h3 {
@@ -16900,5 +16955,3 @@ tbody td {
border-top: 1px solid #F2F3F5; }
#talent-show .talent-border-left {
border-left: 1px solid #F2F3F5; }
/*# sourceMappingURL=styles.css.map */
File diff suppressed because one or more lines are too long
+6 -1
View File
@@ -154,6 +154,11 @@ $(document).ready(function () {
}
);
$('.btn-create-account').on('click',function(){
$('#modal_login').modal('open');
$('.change_to_register').click();
});
//$('select').material_select();
/*menu responsive*/
@@ -189,7 +194,7 @@ $(document).ready(function () {
margin: marginValue,
// stagePadding: paddingValue,
nav: true,
loop: true,
loop: $('.territory-carousel > .item').length <= 2 ? false : true,
center:true,
navText: ['<span class="left-arrow"></span>', '<span class="right-arrow"></span>']
});
@@ -487,6 +487,23 @@
}
}
select{
display: block;
.chip{
a{
color: rgba(0, 0, 0, 0.6);
}
}
#liste-jobs{
.card .card-action{
.chip{
a{
color: rgba(0, 0, 0, 0.6);
text-transform: initial;
text-decoration: none;
text-align: center;
margin: 0;
}
}
}
}
@@ -259,6 +259,38 @@
}
}
#dashboard{
.modal-fixed-header{
.modal-header{
position: fixed;
z-index: 100;
top: 0;
left: 0;
height: auto;
width: 100%;
padding: 20px;
border-bottom: 1px solid $grey1;
h3{
font-size: 20px;
font-family: $font-1;
font-weight: 300;
margin: 0;
float:left;
}
a.modal-close {
cursor:pointer;
}
}
.modal-content{
padding-top: 100px;
}
}
}
.modal-fixed-header .modal-footer {
height: 68px;
}
#modal-recommendation{
span{
font-size: 22px;
@@ -295,7 +295,6 @@
color: $white;
text-decoration: none;
}
border-bottom: 1px solid $grey4;
padding: 15px 0;
margin-bottom: 15px;
}
@@ -211,6 +211,10 @@ h6 {
}
}
select{
display: block;
}
@@ -48,8 +48,22 @@
.card-video{
margin-top: 0;
}
.changeThumbnail{
background-color: $blue1;
}
.preloader-wrapper{
z-index: 1000;
position: absolute;
top: 10px;
left: 30px;
margin-left: -18px;
.spinner-blue-only{
border-color: $blue1;
}
}
}
.video_premier{
position: relative;
display: flex;
.content_col,.video_col_edit_premier,.video_col_link_share{
padding:0;
@@ -61,6 +75,21 @@
flex-wrap: wrap;
background: #FFF;
}
.btn-floating.halfway-fab.left.changeThumbnail{
background-color: $blue1;
bottom: 10px;
left: 16px;
}
.preloader-wrapper{
z-index: 1000;
position: absolute;
top: 10px;
left: 30px;
margin-left: -18px;
.spinner-blue-only{
border-color: $blue1;
}
}
.video_col_content{
margin-bottom: 10px;
h3{