Compare commits

...

53 Commits

Author SHA1 Message Date
Thomas MONCHICOURT 1907aeb647 Feat : Mise en place des titles pour le suivi event #7071 @0h10 2018-08-16 14:43:46 +02:00
Thomas MONCHICOURT 5f1e89b7ea Fix : facebook connexion 2018-08-01 10:43:47 +02:00
root 0f7f85c39e Merge branch 'master' of https://git.e-declic.net/talents-tube/website 2018-07-26 09:31:57 +02:00
root e912a508d3 Conf : git erver side updated files 2018-07-26 09:31:46 +02:00
Maxime Thévenot ea3cdf0553 Fix : set store in noindex nofollow 2018-07-26 09:24:55 +02:00
Maxime Thévenot 4518a8a5e2 Fix: set noindex on spontaneous answer 2018-07-25 16:11:32 +02:00
Thomas MONCHICOURT c6a00a24c7 Merge branch 'develop'
# Conflicts:
#	volume/www/website/www/web/css/styles.css.map
2018-07-23 14:59:36 +02:00
Thomas MONCHICOURT 68ca21136a Fix : merge css 2018-07-23 14:55:29 +02:00
Thomas MONCHICOURT d14bea9c1a Fix : Territoires en homepage #6769 @0h10 2018-07-23 14:47:01 +02:00
Thomas MONCHICOURT b2a6e425aa Fix : modif css suite merge 2018-07-23 14:13:21 +02:00
Thomas MONCHICOURT fd48045549 Merge branch 'feat/new-style-title' into develop
# Conflicts:
#	volume/www/website/www/web/css/styles.css.map
2018-07-23 14:12:46 +02:00
Thomas MONCHICOURT 512d269f53 feat : Modification des titles en home #6769 @0h15 2018-07-23 11:07:07 +02:00
Thomas MONCHICOURT 3743166ac2 Feat: modification recherche #6770 @1h20 2018-07-23 10:45:31 +02:00
Thomas MONCHICOURT 72c72a5986 Feat : modification recherche #6770 @0h30 2018-07-20 17:08:08 +02:00
Thomas MONCHICOURT f3e2cb2cf1 Feat : Nouveau bandeau offre pourvu #6779 @0h30 2018-07-20 16:36:18 +02:00
Thomas MONCHICOURT c83832cdc1 Fix : liste annonce territoire 2018-07-10 10:15:14 +02:00
Thomas MONCHICOURT dc4fbb6d63 Fix : calcul nb annonce territoire 2018-07-10 10:12:43 +02:00
Thomas MONCHICOURT 58f9c35f7b Fix : style map 2018-07-10 10:10:08 +02:00
Thomas MONCHICOURT 9e79171e62 Merge branch 'develop'
# Conflicts:
#	volume/www/website/www/app/Resources/views/territory/territory_show.html.twig
#	volume/www/website/www/web/css/styles.css
#	volume/www/website/www/web/css/styles.css.map
#	volume/www/website/www/web/sass/modules/_buttons.scss
2018-07-10 10:09:57 +02:00
Thomas MONCHICOURT 8e7f6d1d08 Fix : wording 2018-07-10 09:56:04 +02:00
Thomas MONCHICOURT 271883412d Feat: modification style #6755 @0h20 2018-07-10 09:46:42 +02:00
Thomas MONCHICOURT 6c0b2e1fe5 Fix : erreur calcul liste territoire 2018-07-10 09:32:31 +02:00
Thomas MONCHICOURT 80c4dc5910 fix: dump 2018-07-09 17:37:51 +02:00
Thomas MONCHICOURT b008f12954 Feat : modification css btn territoire #6755 @0h30 2018-07-09 17:26:18 +02:00
Thomas MONCHICOURT d0f6533984 Feat : Liste des company page territoire #6755 @1h 2018-07-09 17:26:18 +02:00
Thomas MONCHICOURT c60b2ce9fe Feat : modification css btn territoire #6755 @0h30 2018-07-09 17:24:24 +02:00
Thomas MONCHICOURT 8bfc3a37c0 Feat : Liste des company page territoire #6755 @1h 2018-07-09 15:47:53 +02:00
Maxime Thévenot aa162dff57 Merge branch 'develop' 2018-06-28 15:39:44 +02:00
Maxime Thévenot 29cc1e2658 Fix : restore store database conf 2018-06-28 15:39:35 +02:00
Maxime Thévenot 47d9a08311 Merge branch 'develop' 2018-06-27 15:29:04 +02:00
Maxime Thévenot 2072f1f231 Conf: update makefile and gitignore 2018-06-27 15:28:59 +02:00
Maxime Thévenot a55828306a Merge branch 'develop' 2018-06-27 14:56:12 +02:00
Maxime Thévenot 2757340f8e Feat : update footer 2018-06-27 11:13:24 +02:00
Maxime Thévenot 6ef1ab86c1 Fix: bad typo in wording 2018-06-27 10:41:02 +02:00
Maxime Thévenot 76fa1bdb59 Feat : change phone number and add RB image to resources 2018-06-27 10:40:40 +02:00
Maxime Thévenot 96a9a58af6 Fix: bad typo in wording 2018-06-08 17:04:04 +02:00
Maxime Thévenot 1e199008b3 Merge branch 'master' into develop
# Conflicts:
#	volume/www/website/www/app/Resources/FOSUserBundle/views/Registration/confirmed.html.twig
2018-06-08 12:15:11 +02:00
Maxime Thévenot 7464000fea Fix : add center to a button 2018-06-08 12:07:34 +02:00
Maxime Thévenot 7ae1389c7b Fix : update redirect route 2018-06-08 12:00:40 +02:00
Maxime Thévenot 8b2e6612be Fix : add cookie to response 2018-06-08 11:47:31 +02:00
Maxime Thévenot 457d6c4e5a Fix : update link to redirect after reg 2018-06-08 11:23:05 +02:00
Maxime Thévenot 0b59a5bbaa Feat : add redirect button after register 2018-06-08 10:29:06 +02:00
Maxime Thévenot a0aebfa52c Fix : remove response send after cookie setting 2018-06-08 10:06:21 +02:00
Maxime Thévenot 38d84a0257 Fix : bad cookie setting 2018-06-08 10:04:10 +02:00
Maxime Thévenot d3d8339a6f Fix : set cookie for redirect after registration 2018-06-08 10:01:11 +02:00
Maxime Thévenot 8ef169197d Fix : redirection when creating account after spontaneous 2018-06-05 16:38:46 +02:00
Thomas MONCHICOURT 1cf0e33b07 Fix: recherceh url 2018-06-05 15:26:37 +02:00
Thomas MONCHICOURT fbfadf425f Fix : optimisation mobile css 2018-06-05 15:26:37 +02:00
Thomas MONCHICOURT 2d097a0424 Fix : style detail annonce 2018-06-05 15:26:36 +02:00
Thomas MONCHICOURT 27963ab492 Fix : du fix … 2018-06-05 15:26:36 +02:00
Maxime Thévenot c801d92143 Fix : redirection when creating account after spontaneous 2018-06-05 14:32:04 +02:00
Thomas MONCHICOURT 737af1052b Fix: recherceh url 2018-05-28 12:26:30 +02:00
Thomas MONCHICOURT 85b1e2406d Fix : optimisation mobile css 2018-05-25 16:49:33 +02:00
74 changed files with 624 additions and 8702 deletions
+2
View File
@@ -8,3 +8,5 @@
/backup
/conf/env/*.env
volume/www/website/.idea
/volume/www/website/store/themes/talentstube-20170413/cache/*
/volume/www/website/store/img/tmp/*
+1 -1
View File
@@ -84,7 +84,7 @@ db-restore-website:
db-restore-store:
@echo "Restoring file to database (backup/store-mysql.sql)"
@docker exec -i $(CLIENT).mysql.$(ENV) mysql -uroot database < backup/store-mysql.sql
@docker exec -i $(CLIENT).store-mysql.$(ENV) mysql -uroot database < backup/store-mysql.sql
cc:
@echo "Clearing symfony cache"
+2 -1
View File
@@ -10,4 +10,5 @@ rewrite ^/page/les-conseils$ https://www.talentstube.com/accompagnement-entrep
rewrite ^/page/presentation-talent$ https://www.talentstube.com/cv-video permanent;
rewrite ^/page/la-plateforme$ https://www.talentstube.com/ permanent;
rewrite ^/tarifs$ https://www.talentstube.com/accompagnement-entreprise permanent;
rewrite ^/annonce/38-charge-de-projets-developpement-h-f$ https://www.talentstube.com/annonce/38-charge-de-projets-developpement-cosmetique-h-f permanent;
rewrite ^/annonce/38-charge-de-projets-developpement-h-f$ https://www.talentstube.com/annonce/38-charge-de-projets-developpement-cosmetique-h-f permanent;
rewrite ^/annonce/recherche/$ https://www.talentstube.com/annonce/recherche permanent;
@@ -1,5 +1,5 @@
<?php
define('_DB_SERVER_', 'tt-website.store-php.prod');
define('_DB_SERVER_', 'tt-website.store-mysql.prod');
define('_DB_NAME_', 'database');
define('_DB_USER_', 'user');
define('_DB_PASSWD_', 'O}lk|45&J,kT+DDM{uk[');
@@ -1,93 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?><rss version="2.0" xml:base="https://www.prestashop.com/fr/blog/feed.xml" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:og="http://ogp.me/ns#" xmlns:article="http://ogp.me/ns/article#" xmlns:book="http://ogp.me/ns/book#" xmlns:profile="http://ogp.me/ns/profile#" xmlns:video="http://ogp.me/ns/video#" xmlns:product="http://ogp.me/ns/product#" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:sioc="http://rdfs.org/sioc/ns#" xmlns:sioct="http://rdfs.org/sioc/types#" xmlns:skos="http://www.w3.org/2004/02/skos/core#" xmlns:xsd="http://www.w3.org/2001/XMLSchema#">
<channel>
<title>Blog Feed</title>
<link>https://www.prestashop.com/fr/blog/feed.xml</link>
<description></description>
<language>fr</language>
<atom:link href="https://www.prestashop.com/fr/blog/feed.xml" rel="self" type="application/rss+xml" />
<item>
<title>4 moyens daugmenter votre taux de conversion grâce à votre page de paiement</title>
<link>https://www.prestashop.com/fr/4-moyens-daugmenter-votre-taux-de-conversion-grace-a-votre-page-de-paiement-6</link>
<description>Par 
Dernier contact entre un marchand et son client, nous savons que le check-out est un passage délicat dans le tunnel de conversion.
</description>
<pubDate>Thu, 20 Jul 2017 16:30:04 +0200</pubDate>
<dc:creator>Anonymous</dc:creator>
<guid isPermaLink="false">https://www.prestashop.com/fr/4-moyens-daugmenter-votre-taux-de-conversion-grace-a-votre-page-de-paiement-6</guid>
</item>
<item>
<title>Comment une agence de développement web peut-elle vous être utile ?</title>
<link>https://www.prestashop.com/fr/comment-une-agence-de-developpement-web-peut-elle-vous-etre-utile</link>
<description>Par 
Lorsquun marchand nous contacte pour la première fois, lune des questions récurrentes est : &quot;Pourquoi confier ses développements à une agence ?&quot;. Puis, à propos de PrestaShop: &quot;Puisque le logiciel est gratuit, ai-je vraiment besoin d&#039;un prestataire technique ?&quot;.
</description>
<pubDate>Thu, 20 Jul 2017 14:46:24 +0200</pubDate>
<dc:creator>Anonymous</dc:creator>
<guid isPermaLink="false">https://www.prestashop.com/fr/comment-une-agence-de-developpement-web-peut-elle-vous-etre-utile</guid>
</item>
<item>
<title>Rencontrez Nicolas, Ambassadeur du mois | Juillet 2017</title>
<link>https://www.prestashop.com/fr/blog/prestashop-ambassadors/rencontrez-nicolas-ambassadeur-du-mois-juillet-2017-2</link>
<description>CreaNico est notre Ambassadeur à Montpellier, France, et est très actif dans la région.</description>
<pubDate>Tue, 18 Jul 2017 17:27:38 +0200</pubDate>
<dc:creator>Manon Plommet</dc:creator>
<guid isPermaLink="false">https://www.prestashop.com/fr/blog/prestashop-ambassadors/rencontrez-nicolas-ambassadeur-du-mois-juillet-2017-2</guid>
</item>
<item>
<title>Zoom sur l&amp;#039;e-commerce italien</title>
<link>https://www.prestashop.com/fr/blog/tendances-e-commerce/zoom-sur-le-commerce-italien</link>
<description>Avec un taux de croissance des ventes de 18% en 2016, une base dacheteurs en ligne de 18 millions de personnes et un panier moyen en augmentation, le e-commerce italie</description>
<pubDate>Mon, 17 Jul 2017 18:34:12 +0200</pubDate>
<dc:creator>vMartelli</dc:creator>
<guid isPermaLink="false">https://www.prestashop.com/fr/blog/tendances-e-commerce/zoom-sur-le-commerce-italien</guid>
</item>
<item>
<title>Rentrée, Black Friday, Noël : Téléchargez votre guide e-commerce de fin d&amp;#039;année</title>
<link>https://www.prestashop.com/fr/blog/actualites-prestashop/rentree-black-friday-noel-telechargez-votre-guide-e-commerce-de-fin-dannee-1</link>
<description>La rentrée, Black Friday, Noël : en quelques mois seulement se joue la majeure partie du chiffre daffaires de lactivité e-commerce.</description>
<pubDate>Mon, 17 Jul 2017 14:28:47 +0200</pubDate>
<dc:creator>Cécile Dubouis</dc:creator>
<guid isPermaLink="false">https://www.prestashop.com/fr/blog/actualites-prestashop/rentree-black-friday-noel-telechargez-votre-guide-e-commerce-de-fin-dannee-1</guid>
</item>
<item>
<title>Lutte contre la fraude à la TVA, allègement de la loi</title>
<link>https://www.prestashop.com/fr/blog/actualites-prestashop/lutte-fraude-tva-allegement-loi</link>
<description>Suite à notre article Conformité à larticl</description>
<pubDate>Mon, 26 Jun 2017 10:10:00 +0200</pubDate>
<dc:creator>Mohammed Bellamine</dc:creator>
<guid isPermaLink="false">https://www.prestashop.com/fr/blog/actualites-prestashop/lutte-fraude-tva-allegement-loi</guid>
</item>
<item>
<title>Planning et astuces pour créer des promotions efficaces sur PrestaShop</title>
<link>https://www.prestashop.com/fr/blog/conseils-e-commerce/planning-et-astuces-pour-creer-des-promotions-efficaces-sur-prestashop</link>
<description>Été, rentrée, Black Friday, Noël… Les promotions de fin dannée sont primordiales en e-commerce, mais leur préparation peut être chronophage.</description>
<pubDate>Mon, 19 Jun 2017 11:24:19 +0200</pubDate>
<dc:creator>Cécile Dubouis</dc:creator>
<guid isPermaLink="false">https://www.prestashop.com/fr/blog/conseils-e-commerce/planning-et-astuces-pour-creer-des-promotions-efficaces-sur-prestashop</guid>
</item>
<item>
<title>10 ans 10 interviews « portrait » : Keiko ITO, développeuse web au Japon </title>
<link>https://www.prestashop.com/fr/blog/actualites-prestashop/10-ans-10-interviews-portrait-keiko-ito-developpeuse-web-au-japon</link>
<description>Le pitch / Originaire de Kobe, au Japon, Keiko est passionnée par le web et la France.</description>
<pubDate>Fri, 16 Jun 2017 16:17:35 +0200</pubDate>
<dc:creator>Mpierrot</dc:creator>
<guid isPermaLink="false">https://www.prestashop.com/fr/blog/actualites-prestashop/10-ans-10-interviews-portrait-keiko-ito-developpeuse-web-au-japon</guid>
</item>
<item>
<title>Rencontrez Claudia, Ambassadrice du mois | Juin 2017</title>
<link>https://www.prestashop.com/fr/blog/prestashop-ambassadors/clone-of-meet-claudia-ambassador-of-the-month-june-2017</link>
<description>Claudia est notre Ambassadrice à Monterrey, Mexique, et y organise des meetups très régulièrement. Elle est toujours partante pour parler de PrestaShop !</description>
<pubDate>Fri, 16 Jun 2017 11:38:21 +0200</pubDate>
<dc:creator>Manon Plommet</dc:creator>
<guid isPermaLink="false">https://www.prestashop.com/fr/blog/prestashop-ambassadors/clone-of-meet-claudia-ambassador-of-the-month-june-2017</guid>
</item>
<item>
<title>10 ans 10 interviews « portrait » : Corinne Lejbowicz, CEO de PrestaShop</title>
<link>https://www.prestashop.com/fr/blog/actualites-prestashop/10-ans-10-interviews-portrait-corinne-lejbowicz-ceo-de-prestashop</link>
<description>Le pitch / En 2007, Corinne Lejbowicz est CEO de LeGuide.com, où elle rencontre le jeune Bruno Lévêque.</description>
<pubDate>Wed, 14 Jun 2017 15:06:02 +0200</pubDate>
<dc:creator>Mpierrot</dc:creator>
<guid isPermaLink="false">https://www.prestashop.com/fr/blog/actualites-prestashop/10-ans-10-interviews-portrait-corinne-lejbowicz-ceo-de-prestashop</guid>
</item>
</channel>
</rss>
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
@@ -261,7 +261,7 @@
</tab>
<tab class_name="AdminPayment" display_type="default_list">
<module name="secureframe" position="1"/>
<module name="paypalmx" position="2"/>
<module name="paypal" position="13"/>
<module name="mercadopagobr" position="3"/>
<module name="payulatam" position="4"/>
<module name="dotpay" position="5"/>
@@ -272,14 +272,14 @@
<module name="simplifycommerce" position="10"/>
<module name="klarnaofficial" position="11"/>
<module name="spsrsmartsepa" position="12"/>
<module name="oyst" position="13"/>
<module name="ewayrapid" position="14"/>
<module name="fcpayone" position="15"/>
<module name="pagseguro" position="16"/>
<module name="ewayrapid" position="17"/>
<module name="hipay" position="18"/>
<module name="ogone" position="19"/>
<module name="payplug" position="20"/>
<module name="payplug" position="2"/>
<module name="oyst" position="14"/>
<module name="ewayrapid" position="15"/>
<module name="fcpayone" position="16"/>
<module name="pagseguro" position="17"/>
<module name="ewayrapid" position="18"/>
<module name="hipay" position="19"/>
<module name="ogone" position="20"/>
<module name="realexredirect" position="21"/>
<module name="stripe_official" position="22"/>
<module name="skrill" position="23"/>
File diff suppressed because one or more lines are too long
@@ -1,2 +0,0 @@
<?xml version="1.0"?>
<modules_list><modules type="untrusted"><module name="blockreinsurance"/><module name="etransactions"/><module name="trackingfront"/></modules></modules_list>
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
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
@@ -1,2 +0,0 @@
@charset "UTF-8";
@media only print{#header .nav,#header .banner,#header .row > div{display:none}#header .row div#header_logo{display:block}#center_column{width:100% !important}#left_column,#right_column{display:none}.no-print,#quantity_wanted_p > a,a.quick-view{display:none !important}div.selector,div.selector span,div.selector select{background:none}#thumbs_list li a:hover,#thumbs_list li a.shown{border-color:#fff}.product_attributes,.box-cart-bottom{-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none}.pb-left-column #views_block{margin-top:10px;width:278px !important}#thumbs_list_frame,#thumbs_list{width:100% !important;height:100% !important}#thumbs_list li,#thumbs_list li:first-child{margin:4px;width:82px;height:82px}#view_scroll_left,#view_scroll_right,.view_scroll_spacer{display:none !important}.bx-wrapper{width:100% !important;max-width:100% !important}.bx-viewport{height:auto !important}#bxslider,#bxslider1,#crossselling_list_car{width:100% !important;height:auto !important;overflow:visible !important}#bxslider1 .product-box{min-height:200px}.bx-controls-direction{display:none}#footer .row > div,#footer .row > section{display:none}#footer .row > div#block_contact_infos,#footer .row > section#block_contact_infos{display:block;width:100%;border-left:none;border-top:1px solid #515151;padding-top:20px}.footer-container #footer h4:after{display:none}}
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
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
File diff suppressed because one or more lines are too long
@@ -51,7 +51,8 @@ j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
<meta name="keywords" content="{$meta_keywords|escape:'html':'UTF-8'}" />
{/if}
<meta name="generator" content="PrestaShop" />
<meta name="robots" content="{if isset($nobots)}no{/if}index,{if isset($nofollow) && $nofollow}no{/if}follow" />
<!-- <meta name="robots" content="{if isset($nobots)}no{/if}index,{if isset($nofollow) && $nofollow}no{/if}follow" /> -->
<meta name="robots" content="noindex, nofollow" />
<meta name="viewport" content="width=device-width, minimum-scale=0.25, maximum-scale=1.6, initial-scale=1.0" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<link rel="icon" type="image/vnd.microsoft.icon" href="{$favicon_url}?{$img_update_time}" />
@@ -3,18 +3,26 @@
{% trans_default_domain 'FOSUserBundle' %}
{% block content %}
<div class="container contentWrapper">
<div class="row">
<div class="col push-s3 s6">
<h1 class="m-t-20 alttitle center-align">{{'user.register.title'|trans({},"messages") }}</h1>
<p>{{ 'registration.confirmed'|trans({'%username%': user.username}) }}</p>
{% if targetUrl %}
<p><a href="{{ targetUrl }}">{{ 'registration.back'|trans }}</a></p>
{% endif %}
<br /><br />
<div class="container contentWrapper">
<div class="row">
<div class="col push-s3 s6">
<h1 class="m-t-20 alttitle center-align">{{'user.register.title'|trans({},"messages") }}</h1>
<p>{{ 'registration.confirmed'|trans({'%username%': user.username}) }}</p>
{% if targetUrl %}
<p>
<a href="{{ targetUrl }}">{{ 'registration.back'|trans }}</a>
</p>
{% endif %}
<br/><br/>
{% if app.request.cookies.get('redirect_register')is defined %}
<div class="center">
<a href="{{ app.request.cookies.get('redirect_register') }}" class="btn btn-default">Poursuivre votre candidature</a>
</div>
{% endif %}
</div>
</div>
</div>
</div>
</div>
{% endblock %}
{% block metarobot %}
@@ -52,7 +52,7 @@
</div>
<div class="row m-t-40">
<div class="col s10 offset-s1 center-align">
<button id="submit" class=" btn btn-large btn-default disabled" type="submit">
<button title="import-candidature" id="submit" class=" btn btn-large btn-default disabled" type="submit">
Envoyer ma candidature
</button><br /><br />
<a class="color-grey5" href="{{ path(routeObject,{'alias': object.alias }) }}">Annuler</a>
@@ -1,4 +1,7 @@
{% extends 'base.html.twig' %}
{% block metarobot %}<meta name="robots" content="noindex,follow">{% endblock %}
{% block content %}
{% if typeObject == 'Ad' %}
{% set subtitle = 'Candidature à l\'offre d\'emploi:' %}
@@ -88,7 +88,7 @@
</div>
<div class="row m-t-40">
<div class="col s10 offset-s1 center-align">
<button id="submit" class=" btn btn-large btn-default disabled" type="submit">
<button title="webcam-candidature" id="submit" class=" btn btn-large btn-default disabled" type="submit">
Envoyer ma candidature
</button><br /><br />
<a class="color-grey5" href="{{ path(routeObject,{'alias': object.alias }) }}">Annuler</a>
@@ -27,9 +27,11 @@
<h3>Profil du talent : </h3>
<div class="profil">
<p class="profil-picture">
{% if answer.user.getWebPath() %}
<img src="{{ answer.user.getWebPath() | imagine_filter('profile_square') }}"
alt="{{ answer.user.firstname }} {{ answer.user.lastname }}"
class="circle responsive-img"/>
{% endif %}
</p>
<i class="fa fa-user-circle"
aria-hidden="true"></i> {{ answer.user.firstname }} {{ answer.user.lastname }}
@@ -12,10 +12,12 @@
<span class="playerbtn"></span>
{% endif %}
</a>
{% if a.isPromoted %}
<div class="isPromoted">
OFFRE POURVUE
</div>
{% endif %}
</div>
{% if a.isPromoted %}
<div class="isPromoted"><img src="{{asset('/img/offre-pourvue-gauche.png')}}" alt="promoted"></div>
{% endif %}
<div class="col s12 m8 col-noPadding">
<div class="row row-infos row-noMargin">
<div class="col s4 m4 l5 company-infos col-noPadding">
@@ -47,7 +47,9 @@
</div>
{#{% endif %}#}
{% if ad.isPromoted %}
<div class="isPromoted"><img src="{{asset('/img/offre-pourvue-gauche.png')}}" alt="promoted"></div>
<div class="isPromoted">
OFFRE POURVUE
</div>
{% endif %}
</div>
{% endif %}
@@ -37,80 +37,7 @@
<div class="row m-b-0 p-b-30">
<div class="col s12 m12">
<div id="liste-resultats">
{% for c in companies if c.isPrivate != true %}
{% if (c.presentationVideo is not null or c.getPublishedAds|length > 0 ) %}
<div class="row item-list-bis z-depth-2 row-noMargin">
<div class="col s12 m2 ad-picture col-logo-lg">
<a href="{{ path('company_show',{'alias': c.alias }) }}"
title="{{ c.brandname }}">
{% if c.logo is not null %}
<img src="{{ c.webPath | imagine_filter('profile_thumb') }}"/>
{% endif %}
</a>
</div>
<div class="col s12 m6 col-noPadding">
<div class="row row-infos row-noMargin">
<div class="col s4 m5 l4 col-noPadding company-infos m-l-30">
<div class="item-list-website">
<h2>
<a href="{{ path('company_show',{'alias': c.alias }) }}"
class="hover-blue2">
<b>{{ c.brandName }}</b>
</a>
</h2>
<br/>
{{ c.init }}
{% if c.city != null %}
{{ c.city }}
{% endif %}
</div>
</div>
</div>
<div class="row row-tags row-noMargin">
<div class="col s11 col-noPadding" style="position:relative;">
<div class="chip center-align">
<a class="td-none color-grey3"
href="{{ path('company_show',{'alias': c.alias, '_fragment':'offers' }) }}">
{% set nbAds = c.getPublishedAds|length %}
{% if nbAds > 1 %}
<strong>{{ c.getPublishedAds|length }} offres d'emploi en
cours</strong>
{% else %}
<strong>{{ c.getPublishedAds|length }} offre d'emploi en
cours</strong>
{% endif %}
</a>
</div>
</div>
</div>
</div>
<div class="col s12 m4 col-noPadding ad-picture">
<a href="{{ path('company_show',{'alias': c.alias }) }}"
title="{{ c.brandname }}"
class="item-list-media">
{% if c.presentationVideo %}
{% if c.presentationVideo.thumbnails.0.sizes is defined %}
<img class="thumbnail_list"
src="{{ c.presentationVideo.thumbnails.0.sizes.4.link }}"
alt="{{ c.brandName }}"/>
{% endif %}
<span class="playerbtn"></span>
{% else %}
<img class="thumbnail_list"
src="{{ asset('/img/default_picture_company.svg') }}"
alt="{{ c.brandName }}"/>
{% endif %}
</a>
</div>
<div class="borderList"></div>
<div class="clearfix"></div>
</div>
{% endif %}
{% endfor %}
{% include 'default/company_listing.html.twig' with {'companies':companies} %}
</div>
</div>
</div>
@@ -0,0 +1,74 @@
{% for c in companies if c.isPrivate != true %}
{% if (c.presentationVideo is not null or c.getPublishedAds|length > 0 ) %}
<div class="row item-list-bis z-depth-2 row-noMargin">
<div class="col s12 m2 ad-picture col-logo-lg">
<a href="{{ path('company_show',{'alias': c.alias }) }}"
title="{{ c.brandname }}">
{% if c.logo is not null %}
<img src="{{ c.webPath | imagine_filter('profile_thumb') }}"/>
{% endif %}
</a>
</div>
<div class="col s12 m6 col-noPadding">
<div class="row row-infos row-noMargin">
<div class="col s4 m5 l4 col-noPadding company-infos m-l-30">
<div class="item-list-website">
<h2>
<a href="{{ path('company_show',{'alias': c.alias }) }}"
class="hover-blue2">
<b>{{ c.brandName }}</b>
</a>
</h2>
<br/>
{{ c.init }}
{% if c.city != null %}
{{ c.city }}
{% endif %}
</div>
</div>
</div>
<div class="row row-tags row-noMargin">
<div class="col s11 col-noPadding" style="position:relative;">
<div class="chip center-align">
<a class="td-none color-grey3"
href="{{ path('company_show',{'alias': c.alias, '_fragment':'offers' }) }}">
{% set nbAds = c.getPublishedAds|length %}
{% if nbAds > 1 %}
<strong>{{ c.getPublishedAds|length }} offres d'emploi en
cours</strong>
{% else %}
<strong>{{ c.getPublishedAds|length }} offre d'emploi en
cours</strong>
{% endif %}
</a>
</div>
</div>
</div>
</div>
<div class="col s12 m4 col-noPadding ad-picture">
<a href="{{ path('company_show',{'alias': c.alias }) }}"
title="{{ c.brandname }}"
class="item-list-media">
{% if c.presentationVideo %}
{% if c.presentationVideo.thumbnails.0.sizes is defined %}
<img class="thumbnail_list"
src="{{ c.presentationVideo.thumbnails.0.sizes.4.link }}"
alt="{{ c.brandName }}"/>
{% endif %}
<span class="playerbtn"></span>
{% else %}
<img class="thumbnail_list"
src="{{ asset('/img/default_picture_company.svg') }}"
alt="{{ c.brandName }}"/>
{% endif %}
</a>
</div>
<div class="borderList"></div>
<div class="clearfix"></div>
</div>
{% endif %}
{% endfor %}
@@ -1,7 +1,7 @@
<footer class="page-footer">
<div class="container">
<div class="row footer-info">
<div class="col xl2 l2 m6 s6">
<div class="col xl2 l2 m6 s12 col-footer-logo">
<img src="{{ asset('/img/logo-mini-white.svg') }}" alt="Talents Tube 1er job board 100% vidéo">
</div>
<div class="col xl3 l3 m6 s6">
@@ -53,7 +53,7 @@
</p>
<h5 class="white-text">Contactez-nous !</h5>
<a class="white-text" href="mailto:&#098;&#111;&#110;&#106;&#111;&#117;&#114;&#064;&#116;&#097;&#108;&#101;&#110;&#116;&#115;&#116;&#117;&#098;&#101;&#046;&#099;&#111;&#109;">Par mail</a>
<p class="white-text" >02 97 68 14 02</p>
<p class="white-text">02 30 05 06 31</p>
<p class="footer-newsletter">
<a class="btn-large btn-round" href="#" title="Newsletter" data-token="ecea5416671e97e3abfa8195848a9140" onclick="mjOpenPopin(event, this)">
<i class="fa fa-envelope-open-o left" aria-hidden="true"></i>
@@ -64,7 +64,11 @@
</div>
<div class="row footer-more-links">
<div class="col s12 center-align">
<a class="text-center white-text" href="https://www.e-declic.com" target="_blank" title="Agence Web">&copy;&nbsp;2017 Talents Tube</a>
<p class="text-center white-text">Entreprise soutenue par</p>
<a href="https://www.bretagne.bzh/"><img src="{{ asset('img/RB_monochrome_blanc.svg')}}" alt="Region Bretagne"></a><br>
</div>
<div class="col s12 center-align m-t-30">
<a class="text-center white-text" href="https://www.e-declic.com" target="_blank" title="Agence Web">&copy;&nbsp;2018 Talents Tube</a>
</div>
</div>
</div>
@@ -33,7 +33,10 @@
<div id="liste-jobs" class="fuild-container bg-grey-3 button-plus">
<div class="container">
<div class="row center-align">
<div class="col s12"><h2 class="blue-text no-margin-top">Les offres <span>d'emploi</span></h2></div>
<div class="col s12">
<h2 class="blue-text no-margin-top">Les offres d'emploi</h2>
<h3 class="subtitles-homepage">Postulez en CV vidéo ou vidéo de motivation</h3>
</div>
</div>
<div class="row">
<div class="col s12 col-noPadding">
@@ -47,7 +50,7 @@
<div class="row center-align">
<div class="col s12">
<a href="{{ path('ad_search_result') }}" title="Découvrir toutes les offres d'emploi"
class="btn btn-default btn-round btn-all-jobs">Découvrir toutes les offres d'emploi
class="btn btn-default btn-round btn-all-jobs">Voir les offres
</a>
</div>
</div>
@@ -60,9 +63,8 @@
<div class="container">
<div class="row center-align">
<div class="col s12">
<h2 class="blue-text no-margin-top">
La marque employeur des <span>entreprises de talents</span>
</h2>
<h2 class="blue-text no-margin-top">Ils recrutent</h2>
<h3 class="subtitles-homepage">Ils méritent votre candidature spontanée, découvrez leur réalité, leur marque employeur.</h3>
</div>
</div>
<div class="row">
@@ -76,7 +78,7 @@
</div>
<div class="row center-align">
<div class="col s12">
<a href="{{ path('company_list') }}" title="Toutes les entreprise" class="btn btn-default btn-round btn-all-talents">Découvrir toutes les entreprises</a>
<a href="{{ path('company_list') }}" title="Toutes les entreprise" class="btn btn-default btn-round btn-all-talents">Voir les entreprises</a>
</div>
</div>
</div>
@@ -90,8 +92,8 @@
<div id="liste-talents" class="bg-dark2 button-plus">
<div class="container">
<div class="row center-align">
<div class="col s12"><h2 class="blue-text no-margin-top">Les CV vidéo
<span>à la une</span></h2></div>
<div class="col s12"><h2 class="blue-text no-margin-top">Les talents</h2></div>
<h3 class="subtitles-homepage">Découvrez leurs CV vidéo et vidéo de motivation.</h3>
</div>
<div class="row">
<div class="owl-carousel owl-carousel-home home-talent-carousel">
@@ -107,7 +109,8 @@
<div class="container">
<div class="row center-align">
<div class="col s12">
<h2 class="blue-text no-margin-top">Les territoires <span>pour vivre et travailler</span></h2>
<h2 class="blue-text no-margin-top">Les territoires</h2>
<h3 class="subtitles-homepage">Venez vivre et travailler chez nous.</h3>
{% if territories %}
<div class="owl-carousel owl-carousel-home territory-carousel">
{% for territory in territories if territory.presentationVideo and territory.isPrivate != true %}
@@ -120,8 +123,8 @@
</div>
</div>
<div class="m-t-30">
<a title="territoire de {{ territory.brandname }}" class="btn btn-default" href="{{ path('territory_show',{'alias': territory.alias }) }}">
Voir le territoire de <span>{{ territory.brandname }}</span>
<a title="Voir les territoires" class="btn btn-default" href="{{ path('territory_list') }}">
Voir les territoires</span>
</a>
</div>
</div>
@@ -67,7 +67,10 @@
<p class="m-0">
<a class="td-none color-grey3"
href="{{ path('territory_show',{'alias': c.alias, '_fragment':'offers' }) }}">
{% set nbAds = c.getTerritoryAds|length %}
{% set nbAds = 0 %}
{% for territoryAd in c.getTerritoryAds if territoryAd.ad != null %}
{% set nbAds = nbAds + 1 %}
{% endfor %}
{% if nbAds > 1 %}
<strong>{{ nbAds }} offres d'emploi en
cours sur ce territoire</strong>
@@ -106,16 +106,34 @@
</div>
</div>
{% endif %}
<br class="clear" />
<div class="row m-t-50">
<div class="col s12 center-align">
<a class="btn-default btn-grey" href="#offers">OFFRES D'EMPLOI</a> /
<a class="btn-default btn-grey" href="#companies">ENTREPRISES</a>
</div>
</div>
{% if companyAds|length > 0 %}
<div id="offers" class="row">
<div class="col s12">
<h1>Les offres demploi pour {{ company.brandname }}</h1>
<h1>Les offres demploi du territoire : {{ company.brandname }}</h1>
<div id="liste-resultats">
{% include 'default/ad_listing.html.twig' with {'ads':companyAds} %}
</div>
</div>
</div>
{% endif %}
{% if companies|length > 0 %}
<div id="companies" class="row">
<div class="col s12">
<h1>Les entreprises du territoire : {{ company.brandname }}</h1>
<div id="liste-resultats">
{% include 'default/company_listing.html.twig' with {'companies':companies} %}
</div>
</div>
</div>
{% endif %}
</div>
</div>
</div>
@@ -298,11 +298,17 @@ class AdController extends Controller
if ($form->isSubmitted() && $form->isValid()) {
$data = $form->getData();
if (is_null($data['job'])) {
return $this->redirectToRoute('homepage');
//return $this->redirectToRoute('homepage');
$session->remove('jobSearch');
unset($data['job']);
} else {
$session->set('jobSearch', $data['job']);
}
$session->set('jobSearch', $data['job']);
if (!is_null($data['contrat'])) {
$session->set('contratSearch', $data['contrat']);
} else {
$session->remove('contratSearch');
}
$adSearcher = $this->get('app.ad_searcher');
$ads = $adSearcher->process($data);
@@ -319,7 +325,8 @@ class AdController extends Controller
return $this->render('default/ad_search_result.html.twig', [
'ads' => $ads,
'noResults' => $noResults
'noResults' => $noResults,
'isPromotedAds' => $promoted
]);
} else {
@@ -357,6 +364,7 @@ class AdController extends Controller
$ads[] = $ad;
}
}
return $ads;
}
@@ -86,7 +86,7 @@ class UserController extends Controller
$mailer = $this->get('fos_user.mailer');
$mailer->sendConfirmationEmailMessage($user);
return $this->redirectToRoute('admin_config_user');
return $this->redirectToRoute('admin_config_users');
}
/**
@@ -8,33 +8,29 @@ use AppBundle\Entity\Company;
use AppBundle\Entity\Message;
use AppBundle\Form\AnswerType;
use AppBundle\Form\ContactTalentType;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\ParamConverter;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Security;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Cookie;
use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\Routing\Generator\UrlGeneratorInterface;
use Symfony\Component\HttpFoundation\Session\Session;
use Symfony\Component\EventDispatcher\EventDispatcher,
Symfony\Component\Security\Core\Authentication\Token\UsernamePasswordToken,
Symfony\Component\Security\Http\Event\InteractiveLoginEvent;
use Symfony\Component\Routing\Generator\UrlGeneratorInterface;
use Symfony\Component\Security\Core\Authentication\Token\UsernamePasswordToken;
class AnswerController extends Controller
{
/**
/**
* @Route("/anwser/edit/comment/{id}", name="anwser_edit_comment")
*/
public function anwserEditCommentAction(Request $request, Answer $answer)
{
if($answer) {
{
if ($answer) {
$em = $this->getDoctrine()->getManager();
$answer->setComment($request->get('comment'));
$em->persist($answer);
$em->flush();
}
}
return new JsonResponse(array('success' => "true"));
}
@@ -57,15 +53,16 @@ class AnswerController extends Controller
return $this->finishAnswerAction($request, $company, $answer);
}
public function finishAnswerAction($request, $object, $answer) {
public function finishAnswerAction($request, $object, $answer)
{
$securityContext = $this->container->get('security.authorization_checker');
if($object instanceof Ad) {
if ($object instanceof Ad) {
$route = "ad_show";
$varReqAnswer = "ad";
$contact = $object->getCreator();
$title = $answer->getAd()->getTitle();
}
if($object instanceof Company) {
if ($object instanceof Company) {
$route = "company_show";
$varReqAnswer = "company";
$contact = $object->getMainUser();
@@ -74,7 +71,7 @@ class AnswerController extends Controller
if (!$securityContext->isGranted('IS_AUTHENTICATED_FULLY')) {
return $this->redirectToRoute($route, array('alias' => $object->getAlias()));
}
if($answer) {
if ($answer) {
$em = $this->getDoctrine()->getManager();
$existAnswer = $em->getRepository('AppBundle:Answer')->findOneBy(array('user' => $this->getUser(), $varReqAnswer => $object));
if (!$this->getUser()->hasRole('ROLE_TALENT')) {
@@ -82,7 +79,7 @@ class AnswerController extends Controller
$session = new Session();
$session->getFlashBag()->add('popup_answer_not_allowed', true);
} else {
if($existAnswer && ($existAnswer->getId() !== $answer->getid())){
if ($existAnswer && ($existAnswer->getId() !== $answer->getid())) {
$em->remove($answer);
$session = new Session();
$session->getFlashBag()->add('popup_answer_already_send', true);
@@ -91,31 +88,31 @@ class AnswerController extends Controller
$session->getFlashBag()->add('popup_answer_already_send', false);
$answer->setStatus('SENDED');
$em->persist($answer);
$mediaManager = $this->get('media_manager');
$mediaManager->getThumbnails($answer);
$thumbnailsArray = $answer->getVideo()->getThumbnails();
$img = $thumbnailsArray[0]['sizes'][3]['link'];
$mailManager = $this->get('app.mail_manager');
$link = $this->generateUrl('company_answer_show', array('id' => $answer->getId()),UrlGeneratorInterface::ABSOLUTE_URL);
$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]>
<![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 '.$contact->getLastname().' '.$contact->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]>
<![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 ' . $contact->getLastname() . ' ' . $contact->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]>
<![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>',
$contact,
@@ -123,9 +120,9 @@ class AnswerController extends Controller
);
}
}
$session->getFlashBag()->add('popup_answer_send', true);
$em->flush();
$session->getFlashBag()->add('popup_answer_send', true);
$em->flush();
}
return $this->redirect($this->generateUrl($route, array('alias' => $object->getAlias())));
@@ -147,22 +144,25 @@ class AnswerController extends Controller
return $this->generateStep2($request, $company, $type);
}
public function generateStep2(Request $request, $object, $type) {
if($object instanceof Ad) {
public function generateStep2(Request $request, $object, $type)
{
if ($object instanceof Ad) {
$route = "ad_show";
$routeStep2 = 'answer_create_ad_step2';
$routeStep3 = 'answer_create_ad_step3';
$varReqAnswer = "ad";
$typeObject = "Ad";
}
if($object instanceof Company) {
if ($object instanceof Company) {
$route = "company_show";
$routeStep2 = 'answer_create_company_step2';
$routeStep3 = 'answer_create_company_step3';
$varReqAnswer = "company";
$typeObject = "Company";
}
$securityContext = $this->container->get('security.authorization_checker');
if (!$securityContext->isGranted('IS_AUTHENTICATED_FULLY')) {
return $this->redirectToRoute($route, array('alias' => $object->getAlias()));
return $this->redirectToRoute($route, array('alias' => $object->getAlias()));
}
$em = $this->getDoctrine()->getManager();
$user = $this->getUser();
@@ -182,18 +182,18 @@ class AnswerController extends Controller
}
if ($form->isSubmitted() && $form->isValid()) {
if(!$mustLogin){
return $this->redirect($this->generateUrl($routeStep3, array($varReqAnswer => $object->getId(), 'answer'=> $answer->getId())));
if (!$mustLogin) {
return $this->redirect($this->generateUrl($routeStep3, array($varReqAnswer => $object->getId(), 'answer' => $answer->getId())));
}
}
/*Definition des urls de destination pour ouath login et register*/
$destination_login = $this->generateUrl($routeStep3, array($varReqAnswer => $object->getId(), 'answer'=> $answer->getId()));
/*Definition des urls de destination pour oauth login et register*/
$destination_login = $this->generateUrl($routeStep3, array($varReqAnswer => $object->getId(), 'answer' => $answer->getId()));
$this->get('twig')->addGlobal('destination_login', $destination_login);
$session = new Session();
$session->set('registration_destination', $destination_login);
return $this->render('answer/answer_create_'.$type.'.twig', array(
$res = $this->render('answer/answer_create_' . $type . '.twig', array(
'routeObject' => $route,
'typeObject' => $typeObject,
'object' => $object,
@@ -202,23 +202,27 @@ class AnswerController extends Controller
'video' => $video,
'videos' => $videos,
$varReqAnswer => $object,
'mustLogin' => $mustLogin
'mustLogin' => $mustLogin,
));
$redirectReg = $this->generateUrl($routeStep2, array('id' => $object->getId(), 'type' => $type));
$res->headers->setCookie(new Cookie('redirect_register', $redirectReg));
return $res;
}
private function createAnonymousUser() {
private function createAnonymousUser()
{
$userManager = $this->get('fos_user.user_manager');
$user = $userManager->createUser();
$uniqId = uniqId();
$user->setUsername("anonym_".$uniqId);
$user->setUsername("anonym_" . $uniqId);
$user->setFirstname("anonym");
$user->setLastname("anonym");
$user->setEmail("anonym_".$uniqId."@talentstube.com");
$user->setEmail("anonym_" . $uniqId . "@talentstube.com");
$user->setPlainPassword($uniqId);
$user->setEnabled(false);
$user->setRoles(array('ROLE_TALENT_TMP'));
$company = new Company();
$company->setAlias("anonym_".$uniqId);
$company->setAlias("anonym_" . $uniqId);
$company->setType("TALENT_TMP");
$user->setCompany($company);
$userManager->updateUser($user);
@@ -267,7 +271,7 @@ class AnswerController extends Controller
'answer' => $answer,
'object' => $company,
'mustLogin' => $mustLogin,
'route_videotheque' => $route_videotheque
'route_videotheque' => $route_videotheque,
));
}
@@ -306,7 +310,7 @@ class AnswerController extends Controller
'answer' => $answer,
'object' => $ad,
'mustLogin' => $mustLogin,
'route_videotheque' => $route_videotheque
'route_videotheque' => $route_videotheque,
));
}
@@ -368,7 +372,7 @@ class AnswerController extends Controller
$answers = $em->getRepository('AppBundle:Answer')->getAnswerByCompany($user->getCompany()->getId());
return $this->render('company/answer_list.html.twig', [
'answers' => $answers,
'type' => 'answer'
'type' => 'answer',
]);
}
@@ -382,7 +386,7 @@ class AnswerController extends Controller
$answers = $em->getRepository('AppBundle:Answer')->findBy(array('company' => $user->getCompany()->getId(), 'status' => 'SENDED'));
return $this->render('company/answer_list.html.twig', [
'answers' => $answers,
'type' => 'spontaneous'
'type' => 'spontaneous',
]);
}
@@ -423,7 +427,7 @@ class AnswerController extends Controller
{
$message = array('success' => 200,
'filename' => null,
'originalFilename' => null
'originalFilename' => null,
);
foreach ($request->files as $uploadedFile) {
$mediaManager = $this->get('media_manager');
@@ -447,5 +451,4 @@ class AnswerController extends Controller
return new JsonResponse(array('success' => "true"));
}
}
}
@@ -174,10 +174,16 @@ class TerritoryController extends Controller
$mediaManager->getThumbnails($ad);
}
}
$companiesArray = array();
$territoryCompanies = $em->getRepository('AppBundle:TerritoryAd')->getFrontTerritoryCompanies($company->getId());
foreach ($territoryCompanies as $territoryCompany) {
$companiesArray[] = $territoryCompany->getCompany();
}
return $this->render('territory/territory_show.html.twig', [
'company' => $company,
'companyAds' => $companyAds
'companyAds' => $companyAds,
'companies' => $companiesArray
]);
}
}
@@ -16,7 +16,7 @@ class AdSearchType extends AbstractType
$builder
->add('job', TextType::class, array(
'label' => false,
'required' => true,
'required' => false,
'attr' => array(
'placeholder' => 'Rechercher une offre d\'emploi vidéo par mots clés',
)
@@ -9,6 +9,7 @@ use Symfony\Component\Form\Extension\Core\Type\CountryType;
use Symfony\Component\Form\Extension\Core\Type\FileType;
use Symfony\Component\Form\Extension\Core\Type\IntegerType;
use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\Form\Extension\Core\Type\TextareaType;
use Symfony\Component\Form\Extension\Core\Type\UrlType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
@@ -23,7 +24,7 @@ class CompanyAdminType extends AbstractType
$builder
->add('brandName', TextType::class, array('label' => 'profile.company.brandname'))
->add('businessName', TextType::class, array('label' => 'profile.company.businessname'))
->add('description', TextType::class, array('label' => 'profile.company.description'))
->add('description', TextareaType::class, array('label' => 'profile.company.description'))
->add('website', UrlType::class, array(
'label' => 'profile.company.website',
'required' => false,
@@ -21,6 +21,16 @@ class TerritoryAdRepository extends \Doctrine\ORM\EntityRepository
return $qb;
}
public function getFrontTerritoryCompanies($id)
{
$qb = $this->createQueryBuilder('t');
$qb->where('t.territory = :id')
->andWhere($qb->expr()->isNotNull('t.company'))
->setParameter('id', $id);
return $qb->getQuery()
->getResult();
}
public function getTerritoryAds($id)
{
@@ -135,8 +135,16 @@ class FOSUBUserProvider extends BaseFOSUBProvider
} else {
$userPhoto = 'http://graph.facebook.com/'.$data['id'].'/picture?height=200';
$birthday = \DateTime::createFromFormat ('m/d/Y', $data['birthday']);
$gender = $data['gender'];
if(isset($data['birthday'])){
$birthday = \DateTime::createFromFormat ('m/d/Y', $data['birthday']);
} else {
$birthday = null;
}
if (isset($data['gender'])) {
$gender = $data['gender'];
} else {
$gender = null;
}
$id = $data['id'];
$firstname = $data['first_name'];
$lastname = $data['last_name'];
@@ -52,11 +52,12 @@ class AdSearcher
}
$boolQuery = new \Elastica\Query\BoolQuery();
$fieldQuery = new \Elastica\Query\MultiMatch();
$fieldQuery->setQuery($data['job']);
$fieldQuery->setFields(['title', 'publicTag', 'company.brandname']);
$boolQuery->addMust($fieldQuery);
if(isset($data['job'])){
$fieldQuery->setQuery($data['job']);
$fieldQuery->setFields(['title', 'publicTag', 'company.brandname']);
$boolQuery->addMust($fieldQuery);
}
if($data['contrat']){
$fieldQueryContract = new \Elastica\Query\Match();
$fieldQueryContract->setFieldQuery('contract_type', $data['contrat']);
+44 -8
View File
@@ -1,3 +1,8 @@
window.onresize = resize;
var w = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;
function resize() {
w = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;
}
$(document).ready(function () {
//Slide sur tags
if($('.frame').length) {
@@ -172,10 +177,18 @@ $(document).ready(function () {
/*owl carousel*/
if( $(".territory-carousel").length ) {
//Carousel territoire
console.log("carousel =="+w);
if(w <= 640){
var marginValue = 20;
var paddingValue = 10;
} else {
var marginValue = 150;
var paddingValue = 100;
}
$(".territory-carousel").owlCarousel({
items:1,
margin: 150,
stagePadding: 100,
margin: marginValue,
stagePadding: paddingValue,
nav: true,
loop: true,
center:true,
@@ -256,6 +269,24 @@ $(document).ready(function () {
$("#ad_search_location").val(JSON.stringify(gmap_address));
}
}
$("#ad_search_location_gmap").keydown(function (e) {
if (e.keyCode == 13) {
e.preventDefault();
var geocoder = new google.maps.Geocoder();
geocoder.geocode({ 'address': $(this).val()}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
if( results[0]['types'][0] == "locality"){
var gmap_address = {'gmap_address': results[0]}
$("#ad_search_location").val(JSON.stringify(gmap_address));
$("form[name='ad_search']").submit();
}
} else {
Materialize.toast('Aucune position trouvé pour cette ville.', 4000);
}
});
}
});
}
$('.bm-talent').on('click', 'span', function () {
@@ -335,14 +366,19 @@ $(document).ready(function () {
$('#modal_voeux').find('.modal-close').on('click',function(){
$('#modal_voeux').find("iframe").attr('src',"");
});
//Smoothscroll
$(function() {
$("a[href*='#']:not([href='#'])").click(function() {
var anchor = $(this.hash);
anchor = anchor.length ? anchor : $("[name=" + this.hash.slice(1) +"]");
if ( anchor.length ) {
$("html, body").animate( { scrollTop: anchor.offset().top }, 1500);
}
});
});
});
window.onresize = resize;
var w = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;
function resize() {
w = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;
}
$('.roleUser').click(function(){
$('.roleUser').removeClass('btn-default');
$('.roleUser').addClass('btn-dark');
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
+97 -9
View File
@@ -13096,6 +13096,11 @@ a.link-white-underline {
.blocs-texte-video .btn {
margin-bottom: 15px; }
@media screen and (max-width: 420px) {
.blocs-texte-video h2 {
font-size: 20px; }
.blocs-texte-video a {
font-size: 10px; } }
/*Détail*/
.btn-logo-company {
padding: 10px;
@@ -13308,15 +13313,29 @@ a.link-white-underline {
#liste-jobs {
padding-bottom: 40px; }
@media screen and (max-width: 420px) {
#liste-jobs h2 {
font-size: 20px; } }
#liste-talents {
padding: 120px 0 40px 0; }
@media screen and (max-width: 420px) {
#liste-talents h2 {
font-size: 20px; } }
#liste-company {
padding: 120px 0 40px 0; }
@media screen and (max-width: 420px) {
#liste-company h2 {
font-size: 20px; } }
#liste-territoires {
padding: 120px 0 40px 0; }
@media screen and (max-width: 420px) {
#liste-territoires h2 {
font-size: 20px; }
#liste-territoires a {
font-size: 10px; } }
/*Blocs fixes accueil*/
#endScroll {
@@ -13622,6 +13641,13 @@ a.link-white-underline {
.blocs-texte-video .inside-m {
padding: 40px 40px 40px 80px; }
@media screen and (max-width: 420px) {
.blocs-texte-video .inside-m {
padding: 10px 10px 30px 10px; }
.row-bloc-video-2 {
display: flex;
flex-direction: column-reverse; } }
.no-margin-top {
margin-top: 0px; }
@@ -14597,6 +14623,11 @@ footer {
footer .footer-more-links {
margin-top: 80px;
font-size: 13px; }
@media screen and (max-width: 420px) {
footer .col-footer-logo {
text-align: center; }
footer.page-footer {
padding: 10px 0 20px 0; } }
/*onglets*/
.tabs {
@@ -14757,6 +14788,9 @@ a:hover {
strong {
font-weight: 600; }
.clear {
clear: both; }
#global_wrapper {
display: flex;
flex-direction: column; }
@@ -14792,7 +14826,8 @@ h1 {
h2 {
font-size: 35px;
margin: 60px 0 45px 0; }
margin: 60px 0 15px 0;
font-weight: 500; }
h2 span {
text-decoration: none;
border-bottom: 1px solid; }
@@ -14813,6 +14848,14 @@ h6 {
font-size: 17px;
margin: 0px 0 10px 0; }
.subtitles-homepage {
margin-bottom: 30px;
color: #999CA2;
font-weight: 400;
font-family: 'Raleway';
font-size: 13px;
margin: 0 0 30px 0; }
.z-depth-2 {
box-shadow: 1px 5px 20px rgba(0, 0, 0, 0.1); }
@@ -15131,6 +15174,20 @@ h6 {
line-height: 40px;
box-shadow: none; }
.btn-grey {
padding: 10px 15px;
margin: 10px 0 20px 0;
width: 100%;
text-transform: inherit;
background: #E0E0E0;
border: 0;
color: #333A40;
font-weight: normal;
box-shadow: none; }
.btn-grey:hover {
background: #bababa;
color: #333A40; }
.button-plus {
position: relative; }
.button-plus:after {
@@ -15757,18 +15814,37 @@ table.highlight > tbody > tr:hover {
margin: 0 5px 0 20px; }
/* Offre Pourvue */
#adRow,
#adRow .ad-picture {
position: relative; }
#adRow .isPromoted {
font-family: raleway, sans-serif;
font-weight: 600;
font-size: 13px;
color: #1E2327;
letter-spacing: 4px;
background-color: #FCB857;
height: 33px;
line-height: 32px;
width: 100%;
position: absolute;
bottom: 30px;
text-align: center; }
#adVideo {
position: relative; }
#adRow .isPromoted,
#adVideo .isPromoted {
font-family: raleway, sans-serif;
font-weight: 600;
font-size: 13px;
color: #1E2327;
letter-spacing: 4px;
background-color: #FCB857;
height: 33px;
line-height: 32px;
width: 100%;
position: absolute;
top: -3px;
left: -3px; }
#adRow .isPromoted img,
#adVideo .isPromoted img {
width: 101px;
height: 101px; }
top: 0px;
text-align: center; }
.card-image {
position: relative; }
@@ -15804,6 +15880,18 @@ table.highlight > tbody > tr:hover {
#company_show .item-detail-date {
font-size: 13px; }
#company_show #offers h1 {
font-size: 16px;
font-weight: bold;
margin-top: 30px;
margin-bottom: 33px;
text-transform: uppercase; }
#company_show #companies h1 {
font-size: 16px;
font-weight: bold;
margin-top: 70px;
margin-bottom: 33px;
text-transform: uppercase; }
#company_show #companies h1 {
font-size: 16px;
font-weight: bold;
margin-top: 70px;
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 27 KiB

+45 -9
View File
@@ -1,3 +1,8 @@
window.onresize = resize;
var w = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;
function resize() {
w = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;
}
$(document).ready(function () {
//Slide sur tags
if($('.frame').length) {
@@ -172,10 +177,18 @@ $(document).ready(function () {
/*owl carousel*/
if( $(".territory-carousel").length ) {
//Carousel territoire
console.log("carousel =="+w);
if(w <= 640){
var marginValue = 20;
var paddingValue = 10;
} else {
var marginValue = 150;
var paddingValue = 100;
}
$(".territory-carousel").owlCarousel({
items:1,
margin: 150,
stagePadding: 100,
margin: marginValue,
stagePadding: paddingValue,
nav: true,
loop: true,
center:true,
@@ -256,6 +269,24 @@ $(document).ready(function () {
$("#ad_search_location").val(JSON.stringify(gmap_address));
}
}
$("#ad_search_location_gmap").keydown(function (e) {
if (e.keyCode == 13) {
e.preventDefault();
var geocoder = new google.maps.Geocoder();
geocoder.geocode({ 'address': $(this).val()}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
if( results[0]['types'][0] == "locality"){
var gmap_address = {'gmap_address': results[0]}
$("#ad_search_location").val(JSON.stringify(gmap_address));
$("form[name='ad_search']").submit();
}
} else {
Materialize.toast('Aucune position trouvé pour ce lieu.', 4000);
}
});
}
});
}
$('.bm-talent').on('click', 'span', function () {
@@ -335,11 +366,16 @@ $(document).ready(function () {
$('#modal_voeux').find('.modal-close').on('click',function(){
$('#modal_voeux').find("iframe").attr('src',"");
});
});
window.onresize = resize;
var w = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;
function resize() {
w = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;
}
//Smoothscroll
$(function() {
$("a[href*='#']:not([href='#'])").click(function() {
var anchor = $(this.hash);
anchor = anchor.length ? anchor : $("[name=" + this.hash.slice(1) +"]");
if ( anchor.length ) {
$("html, body").animate( { scrollTop: anchor.offset().top }, 1500);
}
});
});
});
@@ -13,8 +13,8 @@ $grey2: #AAAAAA;
$grey3: #F2F3F5;
$grey4: #333A40;
$grey5 : #535353;
$grey6 : #999CA2;
$orange: #ff9800;
$font-1: "Raleway", sans-serif;
$font-2: "Varela Round", sans-serif;
@@ -23,6 +23,16 @@
margin-bottom: 15px;
}
}
@media screen and (max-width: 420px){
.blocs-texte-video{
h2{
font-size: 20px;
}
a{
font-size: 10px;
}
}
}
/*Détail*/
@@ -282,6 +282,22 @@
box-shadow: none;
}
.btn-grey {
padding: 10px 15px;
margin: 10px 0 20px 0;
width: 100%;
text-transform: inherit;
background: $grey1;
border: 0;
color: $grey4;
font-weight: normal;
box-shadow: none;
&:hover{
background: darken($grey1,15%);
color: $grey4;
}
}
.button-plus {
position: relative;
&:after {
@@ -49,18 +49,41 @@
#liste-jobs {
padding-bottom: 40px;
@media screen and (max-width: 420px){
h2{
font-size: 20px;
}
}
}
#liste-talents {
padding: 120px 0 40px 0;
@media screen and (max-width: 420px){
h2{
font-size: 20px;
}
}
}
#liste-company {
padding: 120px 0 40px 0;
@media screen and (max-width: 420px){
h2{
font-size: 20px;
}
}
}
#liste-territoires {
padding: 120px 0 40px 0;
@media screen and (max-width: 420px){
h2{
font-size: 20px;
}
a{
font-size: 10px;
}
}
}
/*Blocs fixes accueil*/
@@ -51,4 +51,12 @@ footer{
margin-top:80px;
font-size:13px;
}
@media screen and (max-width: 420px){
.col-footer-logo{
text-align: center;
}
&.page-footer{
padding: 10px 0 20px 0;
}
}
}
@@ -25,6 +25,10 @@ strong {
font-weight: 600;
}
.clear{
clear: both;
}
#global_wrapper {
display: flex;
flex-direction: column;
@@ -65,7 +69,8 @@ h1 {
h2 {
font-size: 35px;
margin: 60px 0 45px 0;
margin: 60px 0 15px 0;
font-weight: 500;
span {
text-decoration: none;
border-bottom: 1px solid;
@@ -92,6 +97,17 @@ h6 {
margin: 0px 0 10px 0;
}
.subtitles-homepage{
margin-bottom : 30px;
color : $grey6;
font-weight: 400;
font-family: 'Raleway';
font-size: 13px;
margin: 0 0 30px 0;
}
.z-depth-2{
box-shadow : 1px 5px 20px rgba(0,0,0,0.1)
}
@@ -20,6 +20,17 @@
padding:40px 40px 40px 80px;
}
}
@media screen and (max-width: 420px){
.blocs-texte-video{
.inside-m{
padding: 10px 10px 30px 10px;
}
}
.row-bloc-video-2{
display: flex;
flex-direction: column-reverse;
}
}
.no-margin-top{
margin-top:0px;
}
@@ -97,17 +97,40 @@
/* Offre Pourvue */
#adRow,
#adRow{
.ad-picture{
position: relative;
}
.isPromoted {
font-family: raleway, sans-serif;
font-weight: 600;
font-size: 13px;
color: #1E2327;
letter-spacing : 4px;
background-color : #FCB857;
height : 33px;
line-height: 32px;
width : 100%;
position: absolute;
bottom : 30px;
text-align: center;
}
}
#adVideo {
position: relative;
.isPromoted {
font-family: raleway, sans-serif;
font-weight: 600;
font-size: 13px;
color: #1E2327;
letter-spacing : 4px;
background-color : #FCB857;
height : 33px;
line-height: 32px;
width : 100%;
position: absolute;
top: -3px;
left: -3px;
img {
width: 101px;
height: 101px;
}
top : 0px;
text-align: center;
}
}
@@ -11,6 +11,24 @@
font-size: 13px;
}
#offers {
h1 {
font-size: 16px;
font-weight: bold;
margin-top: 30px;
margin-bottom: 33px;
text-transform: uppercase;
}
}
#companies {
h1 {
font-size: 16px;
font-weight: bold;
margin-top: 70px;
margin-bottom: 33px;
text-transform: uppercase;
}
}
#companies {
h1 {
font-size: 16px;
font-weight: bold;