Compare commits
33 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| d56dc27fe1 | |||
| 2ee49175ef | |||
| 6f0379c7aa | |||
| 2491b253c6 | |||
| df3bb979e9 | |||
| bc75bb7afc | |||
| ef5f0e81da | |||
| 88ceb319af | |||
| f314a614fe | |||
| b19498ef46 | |||
| 6313039500 | |||
| f098e4b6b8 | |||
| ed70e8c940 | |||
| 9762aee7ae | |||
| d0fd19d760 | |||
| 3ccf2b9604 | |||
| babfa473fb | |||
| 0bcd46fde8 | |||
| c976bb6d21 | |||
| d301c3b029 | |||
| c5a1aebecc | |||
| e516e45cb0 | |||
| 441304c363 | |||
| 3399a82379 | |||
| 4e111ae3cd | |||
| ed669974a1 | |||
| 02c68a48c9 | |||
| cce45d834f | |||
| 0373f01013 | |||
| cbcf51f93d | |||
| dffb439bb3 | |||
| 4b2c5fc222 | |||
| 13073d59e4 |
@@ -68,11 +68,11 @@
|
||||
- {{ company.addresses.billing.country|country }}</p>
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="col s12 profil-links">
|
||||
<div class="col s12 profil-links center-align">
|
||||
{% if company.website %}
|
||||
<a target="_blank" href="{{ company.website }}" class="td-none">
|
||||
<span class="fa-stack fa-lg">
|
||||
<i class="fa fa-circle fa-stack-2x z-depth-2"></i>
|
||||
<i class="fa fa-circle fa-stack-2x"></i>
|
||||
<i class="fa fa-link fa-stack-1x fa-inverse"></i>
|
||||
</span>
|
||||
</a>
|
||||
|
||||
@@ -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 %}
|
||||
@@ -12,16 +12,18 @@
|
||||
<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 %}
|
||||
<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 %}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
{% if medias|length == 0 %}
|
||||
<div class="col s12 col-actions center-align">
|
||||
<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>
|
||||
@@ -33,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">
|
||||
@@ -93,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
|
||||
@@ -134,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>
|
||||
@@ -147,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 l’image.
|
||||
<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">
|
||||
@@ -204,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 %}
|
||||
@@ -38,11 +38,13 @@
|
||||
<a href="{{ path('talent_answer_create',{id:a.ad.id}) }}">
|
||||
<i class="fa fa-pencil-square-o" aria-hidden="true"></i>
|
||||
</a>
|
||||
{% elseif a.status == "DRAFT" and a.company != null %}
|
||||
<a href="{{ path('talent_spontaneous_application_create',{id:a.company.id}) }}">
|
||||
<i class="fa fa-pencil-square-o" aria-hidden="true"></i>
|
||||
</a>
|
||||
{% endif %}
|
||||
{% if a.isViewed %}
|
||||
{% if a.isViewed.status == "DRAFT" %}
|
||||
{{ 'VIEWED'|trans }}
|
||||
{% endif %}
|
||||
{{ 'VIEWED'|trans }}
|
||||
{% else %}
|
||||
{{ a.status|trans }}
|
||||
{% endif %}
|
||||
|
||||
@@ -25,29 +25,4 @@
|
||||
output='assetic/main.dashboard.talent.js' filter='?uglifyjs2' %}
|
||||
<script src="{{ asset_url }}"></script>
|
||||
{% endjavascripts %}
|
||||
<script type="text/javascript">
|
||||
$.fn.datepicker.languages['fr-FR'] = {
|
||||
format: 'dd/mm/yyyy',
|
||||
days: ['Dimanche', 'Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi'],
|
||||
daysShort: ['Dim', 'Lun', 'Mar', 'Mer', 'Jeu', 'Ven', 'Sam'],
|
||||
daysMin: ['Di', 'Lu', 'Ma', 'Me', 'Je', 'Ve', 'Sa'],
|
||||
weekStart: 1,
|
||||
months: ['Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Aout', 'Septembre', 'Octobre', 'Novembre', 'Décembre'],
|
||||
monthsShort: ['Jan', 'Fev', 'Mar', 'Avr', 'Mai', 'Jun', 'Jui', 'Aou', 'Sep', 'Oct', 'Nov', 'Dec']
|
||||
};
|
||||
|
||||
$('.datepicker').datepicker({
|
||||
language: 'fr-FR'
|
||||
});
|
||||
|
||||
jQuery.extend(jQuery.validator.messages, {
|
||||
required: "Ce champ est obligatoire"
|
||||
});
|
||||
|
||||
$('form[name="talent"]').validate();
|
||||
$('form[name="talent_profile"]').validate();
|
||||
$('form[name="careers"]').validate();
|
||||
$('form[name="formations"]').validate();
|
||||
$('form[name="languages"]').validate();
|
||||
</script>
|
||||
{% endblock %}
|
||||
@@ -71,11 +71,11 @@
|
||||
- {{ company.addresses.billing.country|country }}</p>
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="col s12 profil-links">
|
||||
<div class="col s12 profil-links center-align">
|
||||
{% if company.website %}
|
||||
<a target="_blank" href="{{ company.website }}" class="td-none">
|
||||
<span class="fa-stack fa-lg">
|
||||
<i class="fa fa-circle fa-stack-2x z-depth-2"></i>
|
||||
<i class="fa fa-circle fa-stack-2x"></i>
|
||||
<i class="fa fa-link fa-stack-1x fa-inverse"></i>
|
||||
</span>
|
||||
</a>
|
||||
|
||||
@@ -41,6 +41,7 @@ assetic:
|
||||
- 'js/vendors/tooltipster.bundle.min.js'
|
||||
- 'js/vendors/datepicker.min.js'
|
||||
- 'js/vendors/jquery.validate.min.js'
|
||||
- 'js/talent.js'
|
||||
admin:
|
||||
inputs:
|
||||
- 'admin/AdminLTE/plugins/jQuery/jquery-2.2.3.min.js'
|
||||
|
||||
@@ -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")
|
||||
*/
|
||||
|
||||
@@ -63,6 +63,7 @@ class TalentController extends Controller
|
||||
*/
|
||||
public function talentProfileAction(Request $request)
|
||||
{
|
||||
setlocale(LC_TIME, 'fr_FR.UTF8', 'fr.UTF8', 'fr_FR.UTF-8', 'fr.UTF-8');
|
||||
$em = $this->getDoctrine()->getManager();
|
||||
$history = $this->get('edeclic.history.record');
|
||||
$records = $history->recordShow($this->getUser()->getId(), "r", 'AppBundle\Entity\Ad', null);
|
||||
@@ -92,8 +93,6 @@ class TalentController extends Controller
|
||||
if ($formCompany->isSubmitted() && $formCompany->isValid()) {
|
||||
$companyManager = $this->get('app.company_manager');
|
||||
$companyManager->updateTalent($user);
|
||||
$event = new UserEvent($user);
|
||||
$this->get('event_dispatcher')->dispatch(PrestashopBridgeEvents::USER_PROFIL_EDIT_SUCCESS, $event);
|
||||
$this->addFlash(
|
||||
'notice',
|
||||
$this->get('translator')->trans('company.profile.save.title')
|
||||
@@ -108,8 +107,6 @@ class TalentController extends Controller
|
||||
$user->setCareer($careers);
|
||||
$em->persist($user);
|
||||
$em->flush();
|
||||
$event = new UserEvent($user);
|
||||
$this->get('event_dispatcher')->dispatch(PrestashopBridgeEvents::USER_PROFIL_EDIT_SUCCESS, $event);
|
||||
$this->addFlash(
|
||||
'notice',
|
||||
$this->get('translator')->trans('company.profile.save.title')
|
||||
@@ -124,8 +121,6 @@ class TalentController extends Controller
|
||||
$user->setFormation($formations);
|
||||
$em->persist($user);
|
||||
$em->flush();
|
||||
$event = new UserEvent($user);
|
||||
$this->get('event_dispatcher')->dispatch(PrestashopBridgeEvents::USER_PROFIL_EDIT_SUCCESS, $event);
|
||||
$this->addFlash(
|
||||
'notice',
|
||||
$this->get('translator')->trans('company.profile.save.title')
|
||||
@@ -139,8 +134,6 @@ class TalentController extends Controller
|
||||
$user->setLanguage($languages);
|
||||
$em->persist($user);
|
||||
$em->flush();
|
||||
$event = new UserEvent($user);
|
||||
$this->get('event_dispatcher')->dispatch(PrestashopBridgeEvents::USER_PROFIL_EDIT_SUCCESS, $event);
|
||||
$this->addFlash(
|
||||
'notice',
|
||||
$this->get('translator')->trans('company.profile.save.title')
|
||||
|
||||
@@ -140,7 +140,7 @@ class Answer
|
||||
}
|
||||
|
||||
public function getIsViewed(){
|
||||
if($this->messages->count() <= 1){
|
||||
if($this->messages->count() >= 1){
|
||||
|
||||
return $this->messages->last();
|
||||
} else {
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -95,10 +95,9 @@ class CareerType extends AbstractType
|
||||
|
||||
private function getMonths()
|
||||
{
|
||||
setlocale(LC_TIME, "fr_FR");
|
||||
$months = array();
|
||||
for ($m=1; $m<=12; $m++) {
|
||||
$month = utf8_encode(strftime('%B', mktime(0,0,0,$m, 1, date('Y'))));
|
||||
$month = strftime('%B', mktime(0,0,0,$m, 1, date('Y')));
|
||||
$months[$month] = $m;
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -82,17 +82,17 @@ class CompanyManager
|
||||
);
|
||||
$addrs['billing'] = $billing;
|
||||
$talent->setAddresses($addrs);
|
||||
$publicTags = explode(',', $talent->getTagsComma());
|
||||
$talent->setPublicTag($publicTags);
|
||||
$extra = array(
|
||||
'linkedin' => $talent->getLinkedin(),
|
||||
'twitter' => $talent->getTwitter(),
|
||||
'titleTalent' => $talent->getTitleTalent(),
|
||||
'situationTalent' => $talent->getSituationTalent(),
|
||||
'descriptionTalent' => $talent->getDescriptionTalent(),
|
||||
);
|
||||
$talent->setExtra($extra);
|
||||
}
|
||||
$publicTags = explode(',', $talent->getTagsComma());
|
||||
$talent->setPublicTag($publicTags);
|
||||
$extra = array(
|
||||
'linkedin' => $talent->getLinkedin(),
|
||||
'twitter' => $talent->getTwitter(),
|
||||
'titleTalent' => $talent->getTitleTalent(),
|
||||
'situationTalent' => $talent->getSituationTalent(),
|
||||
'descriptionTalent' => $talent->getDescriptionTalent(),
|
||||
);
|
||||
$talent->setExtra($extra);
|
||||
|
||||
$this->em->persist($talent);
|
||||
$this->em->persist($user);
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -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; }
|
||||
|
||||
|
||||
@@ -13167,6 +13167,16 @@ coloring of icons.
|
||||
.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; }
|
||||
|
||||
@@ -13447,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; }
|
||||
|
||||
@@ -14612,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 {
|
||||
@@ -15163,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;
|
||||
@@ -15551,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; }
|
||||
@@ -15562,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 {
|
||||
@@ -16065,6 +16123,12 @@ span.titleVideo {
|
||||
font-family: "Raleway", sans-serif;
|
||||
font-size: 14px; }
|
||||
|
||||
#no-video-talents {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-around;
|
||||
height: 250px; }
|
||||
|
||||
.tooltip_templates {
|
||||
display: none; }
|
||||
|
||||
@@ -16891,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
@@ -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>']
|
||||
});
|
||||
|
||||
@@ -0,0 +1,66 @@
|
||||
$.fn.datepicker.languages['fr-FR'] = {
|
||||
format: 'dd/mm/yyyy',
|
||||
days: ['Dimanche', 'Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi'],
|
||||
daysShort: ['Dim', 'Lun', 'Mar', 'Mer', 'Jeu', 'Ven', 'Sam'],
|
||||
daysMin: ['Di', 'Lu', 'Ma', 'Me', 'Je', 'Ve', 'Sa'],
|
||||
weekStart: 1,
|
||||
months: ['Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Aout', 'Septembre', 'Octobre', 'Novembre', 'Décembre'],
|
||||
monthsShort: ['Jan', 'Fev', 'Mar', 'Avr', 'Mai', 'Jun', 'Jui', 'Aou', 'Sep', 'Oct', 'Nov', 'Dec']
|
||||
};
|
||||
|
||||
$('.datepicker').datepicker({
|
||||
language: 'fr-FR'
|
||||
});
|
||||
|
||||
jQuery.extend(jQuery.validator.messages, {
|
||||
required: "Ce champ est obligatoire"
|
||||
});
|
||||
|
||||
$('form[name="talent"]').validate();
|
||||
$('form[name="talent_profile"]').validate();
|
||||
$('form[name="careers"]').validate();
|
||||
$('form[name="formations"]').validate();
|
||||
$('form[name="languages"]').validate();
|
||||
|
||||
window.URL = window.URL || window.webkitURL;
|
||||
var useBlob = false && window.URL;
|
||||
|
||||
function readURL(file) {
|
||||
var reader = new FileReader();
|
||||
reader.addEventListener("load", function () {
|
||||
var image = new Image();
|
||||
image.addEventListener("load", function () {
|
||||
if (Math.round(file.size / 1024) > 4000) {
|
||||
$('#preview_profile_picture').html("");
|
||||
$('.btn-save-profile-picture').addClass('hide');
|
||||
$('#card-alert').slideDown();
|
||||
$(".errors").html("L'image que vous tentez de charger est trop lourde.<br />Merci de choisir une autre photo ne dépassant pas les 4Mo.");
|
||||
} else {
|
||||
$('#card-alert').fadeOut();
|
||||
$(".errors").html("");
|
||||
$('#preview_profile_picture').html(this);
|
||||
$('.btn-save-profile-picture').removeClass('hide');
|
||||
}
|
||||
});
|
||||
image.src = useBlob ? window.URL.createObjectURL(file) : reader.result;
|
||||
});
|
||||
reader.readAsDataURL(file);
|
||||
}
|
||||
|
||||
$("#profile_picture_file, #profile_logo_file").change(function () {
|
||||
var files = this.files;
|
||||
if (files && files[0]) {
|
||||
for (var i = 0; i < files.length; i++) {
|
||||
var file = files[i];
|
||||
if ((/\.(png|jpeg|jpg|gif)$/i).test(file.name)) {
|
||||
readURL(file);
|
||||
} else {
|
||||
var errors = file.name + "<br />Le format de l'image n'est pas supporté. Merci de charger une image de type png,jpeg,jpg ou gif.";
|
||||
$('#preview_profile_picture').html("");
|
||||
$('.btn-save-profile-picture').addClass('hide');
|
||||
$('#card-alert').slideDown();
|
||||
$(".errors").html(errors);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
@@ -486,3 +486,24 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.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;
|
||||
}
|
||||
|
||||
@@ -427,4 +427,11 @@
|
||||
font-family: $font-1;
|
||||
font-size: 14px;
|
||||
}
|
||||
}
|
||||
|
||||
#no-video-talents{
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-around;
|
||||
height: 250px;
|
||||
}
|
||||
@@ -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{
|
||||
|
||||
Reference in New Issue
Block a user