Compare commits

..

30 Commits

Author SHA1 Message Date
sstolz 644eec0e84 gitignore backup folder 2017-12-20 17:16:19 +01:00
sstolz 851ca86cb7 add mongo backup/restore 2017-12-20 17:16:11 +01:00
sstolz a01e857b72 move store to right location :) 2017-12-20 16:35:33 +01:00
sstolz 1363060c07 symfony conf update 2017-12-20 16:06:42 +01:00
sstolz c781458763 nginx conf update 2017-12-20 16:06:22 +01:00
sstolz aa60d39522 docker conf refactoring 2017-12-20 16:06:07 +01:00
sstolz 3ddc3bbd00 remove mlocate package on containers 2017-12-20 16:05:33 +01:00
sstolz f2a0b27418 add volume to gitignore 2017-12-20 16:05:05 +01:00
sstolz b638c63812 first docker struct 2017-12-20 10:08:55 +01:00
sstolz 71c6f90685 rename nginx config file 2017-12-20 09:51:30 +01:00
sstolz d667905f07 add store to repo 2017-12-20 09:38:27 +01:00
sstolz 3ef1d29081 move website gitignore patterns to new location 2017-12-20 09:28:27 +01:00
sstolz 03604e29ff move website files to new folder 2017-12-20 09:28:03 +01:00
sstolz 722db3bb55 gitignore 2017-12-20 09:27:19 +01:00
sstolz d5eb5b2f86 remove gitsubmodule config file 2017-12-20 09:27:06 +01:00
Sébastien STOLZ ff5ca40f3f remove store submodule 2017-12-20 09:21:41 +01:00
Thomas MONCHICOURT 65b4ec05b9 Fix : date 2017-12-19 16:56:19 +01:00
Thomas MONCHICOURT 188e40fda4 Fix : probleme heure pour jour complet #5737 @0h15 2017-12-19 16:53:30 +01:00
Thomas MONCHICOURT 0b1af02535 Fix : bug stats array 2017-12-19 16:33:30 +01:00
Thomas MONCHICOURT d277462d40 Feat : modif call stat 2017-12-19 15:57:49 +01:00
Thomas MONCHICOURT 7f7678737c Feat : ajout du chevron #5737 @0h15 2017-12-19 15:08:11 +01:00
Thomas MONCHICOURT 46aef95e61 Fix : date js 2017-12-19 14:33:07 +01:00
Thomas MONCHICOURT 1b8dbdf0b6 Fix : no stats 2017-12-19 11:41:36 +01:00
Thomas MONCHICOURT 4409b75edf Merge branch 'develop' of https://git.e-declic.net/talents-tube/website into develop 2017-12-19 11:23:43 +01:00
Thomas MONCHICOURT 5652cbf9d1 Fix : calcul #5737 @0h30 2017-12-19 11:23:31 +01:00
Maxime Thévenot b630d2fb4e Merge remote-tracking branch 'origin/develop' into develop 2017-12-19 11:11:48 +01:00
Maxime Thévenot bac003c30d Fix : Display full lastname
#5739
2017-12-19 11:11:44 +01:00
Thomas MONCHICOURT 58ac0b9e91 Merge branch 'feat/stats_ajax' into develop 2017-12-19 10:41:12 +01:00
Thomas MONCHICOURT 73eb2761c6 Feat : Modification des stats en ajax #5737 @4h30 2017-12-19 10:38:32 +01:00
Maxime Thévenot 1e9df9ce55 Fix : missing typo in ad meta description
#5746
2017-12-19 09:31:22 +01:00
3468 changed files with 24808 additions and 125114 deletions
+1 -5
View File
@@ -5,8 +5,4 @@
/volume/*
!/volume/www
/volume/www/**/conf/nginx.conf
/backup
/conf/env/*.env
volume/www/website/.idea
/volume/www/website/store/themes/talentstube-20170413/cache/*
/volume/www/website/store/img/tmp/*
/backup
+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).store-mysql.$(ENV) mysql -uroot database < backup/store-mysql.sql
@docker exec -i $(CLIENT).mysql.$(ENV) mysql -uroot database < backup/store-mysql.sql
cc:
@echo "Clearing symfony cache"
-2
View File
@@ -10,8 +10,6 @@ RUN rm /etc/nginx/conf.d/default.conf \
&& sed -i 's|include /etc/nginx/conf.d/\*.conf;|include /etc/nginx/conf.d/\*.conf;\ninclude /etc/nginx/sites-enabled/\*.conf;\n|' /etc/nginx/nginx.conf
COPY log_format.conf /etc/nginx/conf.d/
COPY tt-dev.crt /etc/nginx/ssl/server.crt
COPY tt-dev.key /etc/nginx/ssl/server.key
RUN apt-get clean \
&& rm -rf /var/lib/apt/lists/
-22
View File
@@ -1,22 +0,0 @@
-----BEGIN CERTIFICATE-----
MIIDrjCCApYCCQD0c9mokUtilTANBgkqhkiG9w0BAQsFADCBmDELMAkGA1UEBhMC
RlIxDDAKBgNVBAgMA0JaSDEOMAwGA1UEBwwFQXVyYXkxGTAXBgNVBAoMEHRhbGVu
dHN0dWJlLnRlc3QxETAPBgNVBAsMCGUtZGVjbGljMRkwFwYDVQQDDBB0YWxlbnRz
dHViZS50ZXN0MSIwIAYJKoZIhvcNAQkBFhN0aG9tYXNAZS1kZWNsaWMuY29tMB4X
DTE4MDQzMDA5MTkwMVoXDTE5MDQzMDA5MTkwMVowgZgxCzAJBgNVBAYTAkZSMQww
CgYDVQQIDANCWkgxDjAMBgNVBAcMBUF1cmF5MRkwFwYDVQQKDBB0YWxlbnRzdHVi
ZS50ZXN0MREwDwYDVQQLDAhlLWRlY2xpYzEZMBcGA1UEAwwQdGFsZW50c3R1YmUu
dGVzdDEiMCAGCSqGSIb3DQEJARYTdGhvbWFzQGUtZGVjbGljLmNvbTCCASIwDQYJ
KoZIhvcNAQEBBQADggEPADCCAQoCggEBANVTxapL6RtTjEoO4wWTswIqTW/zTI4B
bETbPHYOeb8+kgLTxH04ETmVzPYz0b5RfkotY0EZzwntv3c5JsLnqqrQAXN4fcl3
iIXCXMKUo1Nrbp0yAMGzGDmnpmvABE/nkg0ZJ3YeKV9xkEYcyMCU+DhUuazd1W3d
odjMs/BHeuoZau9HRE+6lE+/tqWhHrmgRghP8g2Z2g8lrHak5BuQNwnvVmg6oJae
94DWygKV7ZJ3vBHRkLIOaG+mVI8FRjrlHQke/tFStD2dd3TgsqvzYBM3f1VBm85y
qhyIxr2s+xgOl2/Z0VZzmVgI2jAPhvN8VNvXtlFM6BOkyHAFwm7jCtcCAwEAATAN
BgkqhkiG9w0BAQsFAAOCAQEAjlPu5wtZwW0jP0cBBBvZWLRe9+Wlz9uJXiOb2AMF
ibYeKgcGNbruY8Ayvmm++C/mMpkm50NG5ycEiO5rB/1665zB5ibWAswRD+F5rjzx
8qM4YsUVDkiuW5ul0RI2KO6llAbdQaCfaqXtsCZ+b/XVwe41S1ZkvigLaL99pscU
ghgD9yz/RY6C7PHPS+8dF0Uc+YND3vqWfAhUQCXdXetXndPMxwBOXnT08RQOWMBK
lTSHIsFACFhynL3wfQ6xH4+/TQkquxzqqh3MeB1LpqHiFChCoNmBPKWf7ZvFkg/p
4DzXTkLs6G6/WM7DuBmwB6e5tevJfe/BSkzCLaJKABDaOA==
-----END CERTIFICATE-----
-28
View File
@@ -1,28 +0,0 @@
-----BEGIN PRIVATE KEY-----
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDVU8WqS+kbU4xK
DuMFk7MCKk1v80yOAWxE2zx2Dnm/PpIC08R9OBE5lcz2M9G+UX5KLWNBGc8J7b93
OSbC56qq0AFzeH3Jd4iFwlzClKNTa26dMgDBsxg5p6ZrwARP55INGSd2HilfcZBG
HMjAlPg4VLms3dVt3aHYzLPwR3rqGWrvR0RPupRPv7aloR65oEYIT/INmdoPJax2
pOQbkDcJ71ZoOqCWnveA1soCle2Sd7wR0ZCyDmhvplSPBUY65R0JHv7RUrQ9nXd0
4LKr82ATN39VQZvOcqociMa9rPsYDpdv2dFWc5lYCNowD4bzfFTb17ZRTOgTpMhw
BcJu4wrXAgMBAAECggEACj5ikIHiqLBDXU8Hsb3c666yVzzcoTkKROguKBEb4YYU
ptQabFTj5tr9o5jranMpWFCDop2lpnlnJ0d0SAmt1VP1reDMUX9O6/VgVOukSB4x
ipTbGnIKKMKXKDdpPZkGF2Ds1ywtmmqund9F+JFute3DmLxyQjtRSULTJSeZjGIj
kk4mUHIZr71q2KocBEhDZhoaf6aiM3tfyXIlg0C6GzcfGKk4a2C6Ia7D24icPLa7
JE4Omh6w8duQsme8YeFbbixLlwm+74qvo7k8ubqZAvvODQlKz4xiT1App4cTq6nm
PbAuFvLX0DtkndBSgAUa3h8iuchdv15M2FkUWkenaQKBgQD7iup0vZqqIFh6Sk08
k3Skbit6TXwMt4yjP9/JTgMaIO5LfZiht2xyxN4gN2XVp6k4Jn5SPxGuGV+e5QSr
9R04x5wN6NwZAprL70UuztHZdXpzNVogF4hF4LdGDT8CbeFF5ciiTQaAKwX9euOT
HRf6RGT80qiKVcZ+C3zhR6CxAwKBgQDZG39+6DzdGetLzls7B6R1PPV7RLOn6bts
jbxSkx/VksHkS1Q4lG1fXM2q/VdSTFg/gNNKzLCADDVrO9KonvVrvMZlshiSLXTJ
GVgfe+UGSL7VjbH4G4bAqznK5zK8ADI1BRyCU3UrzFqRHoV9h9e2qIfjJrK4taX7
G5KAukDUnQKBgQC6GBLOnTtgY5+xkWjEyP6Ba7QkvlBpBB465FWGk31+BiDlnpyd
/5pu6jC/OtzPDUQG84t/A4Pr/n+ciShEo4mj6SENtVmn8yJcf776Gy5rKBuYQj9U
ALTjpZVRcRlNjccctBwT3tJRXgMHfbQBsYN8tr7TwHHKLh00QQF5lUlPywKBgB2a
SkAbmnDrX9HuSTI7UIlLzo0ISRbUH+IlUVBRDz4nzJg8TTeJxYADP2fZM1bdYgsG
ncjNMCPFhmMgvRCQ3BXcn5CuP/tuh0YEVqe0VP4OXTbxIxsZZb5Pmom4DIrl2/Ku
x7xddNSMAK1Y5ArBwv/86spmNGhLHF6o28kBnGVhAoGAOcGzpJi1l0BzNUKBS512
XlLUYswFW6OqcEk1iGTvEFUzZ9Agp2Yc7HZ3MrmCAjugx37tAfNKQglF2/AJ9Uuy
yoUpPtdXX6CuPTMkzCkvAYbRGohE/cw7ZjI6vTqoEPiyrQA1lJYTIMQm3FYivjJl
z84K0Vlv64BeiIpJrvzW+2A=
-----END PRIVATE KEY-----
-3
View File
@@ -3,9 +3,6 @@ version: '3'
services:
nginx:
ports:
- "80:80"
- "443:443"
volumes:
- ../volume/www:/home/www:cached
restart: "no"
+2
View File
@@ -9,6 +9,8 @@ services:
build: build/nginx
container_name: ${CLIENT}.nginx.${ENV}
hostname: nginx
ports:
- "80:80"
volumes:
- ../volume/nginx/etc.nginx.sites-enabled:/etc/nginx/sites-enabled
- ../volume/www:/home/www
+3
View File
@@ -0,0 +1,3 @@
POSTGRES_DB=database
POSTGRES_USER=user
POSTGRES_PASSWORD=edcl56
+4
View File
@@ -0,0 +1,4 @@
MYSQL_ROOT_PASSWORD=n1O060}8S<()+G;X
MYSQL_DATABASE=db
MYSQL_USER=dbuser
MYSQL_PASSWORD=|;YR1,rf-E}ICoh5
+2 -5
View File
@@ -8,18 +8,15 @@ upstream store_php {
}
server {
listen 80;
listen 443 ssl;
server_name talentstube.test;
root /home/www/website/www/web;
client_max_body_size 500M;
sendfile off;
ssl_certificate /etc/nginx/ssl/server.crt;
ssl_certificate_key /etc/nginx/ssl/server.key;
# DEV
location / {
try_files $uri /app.php$is_args$args;
try_files $uri /app_dev.php$is_args$args;
}
location ~ ^/(app_dev|config)\.php(/|$) {
+1 -3
View File
@@ -36,7 +36,7 @@ server {
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA';
ssl_prefer_server_ciphers on;
location / {
# try to serve file directly, fallback to app.php
try_files $uri /app.php$is_args$args;
@@ -58,7 +58,6 @@ server {
# for more information).
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
fastcgi_param DOCUMENT_ROOT $realpath_root;
fastcgi_param HTTPS on;
}
# PROD
@@ -79,7 +78,6 @@ server {
# http://domain.tld/app.php/some-path
# Remove the internal directive to allow URIs like this
internal;
fastcgi_param HTTPS on;
}
# ---- PRESTASHOP ----
+1 -16
View File
@@ -6,21 +6,6 @@ upstream store_php {
server tt-website.store-php.prod:9000;
}
server {
listen 80;
server_name static.talentstube.com;
index index.html;
root /home/www/website/www/web/uploads/;
access_log /home/www/website/log/access.log vhosts;
error_log /home/www/website/log/error.log;
location / {
try_files $uri $uri/ /index.html;
}
}
server {
listen 80;
@@ -28,7 +13,7 @@ server {
client_max_body_size 500M;
root /home/www/website/www/web;
root /home/www/www.talentstube.com/www/web;
access_log /home/www/website/log/access.log vhosts;
error_log /home/www/website/log/error.log;
+1 -3
View File
@@ -9,6 +9,4 @@ rewrite ^/plateforme$ https://www.talentstube.com/ permanent;
rewrite ^/page/les-conseils$ https://www.talentstube.com/accompagnement-entreprise permanent;
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/recherche/$ https://www.talentstube.com/annonce/recherche permanent;
rewrite ^/tarifs$ https://www.talentstube.com/accompagnement-entreprise permanent;
@@ -1,8 +1,8 @@
<?php
define('_DB_SERVER_', 'tt-website.store-mysql.prod');
define('_DB_SERVER_', 'tt-website.store-php.prod');
define('_DB_NAME_', 'database');
define('_DB_USER_', 'user');
define('_DB_PASSWD_', 'O}lk|45&J,kT+DDM{uk[');
define('_DB_PASSWD_', '|;YR1,rf-E}ICoh5');
define('_DB_PREFIX_', '');
define('_MYSQL_ENGINE_', 'InnoDB');
define('_PS_CACHING_SYSTEM_', 'CacheFs');
@@ -0,0 +1,93 @@
<?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="paypal" position="13"/>
<module name="paypalmx" position="2"/>
<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="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="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="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
@@ -0,0 +1,2 @@
<?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
@@ -0,0 +1,2 @@
@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,8 +51,7 @@ 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="noindex, nofollow" />
<meta name="robots" content="{if isset($nobots)}no{/if}index,{if isset($nofollow) && $nofollow}no{/if}follow" />
<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}" />
-4
View File
@@ -44,10 +44,6 @@ class AppKernel extends Kernel
new Edeclic\PrestashopBridgeBundle\EdeclicPrestashopBridgeBundle(),
new Edeclic\HistoryBundle\EdeclicHistoryBundle(),
new AppBundle\AppBundle(),
//oAuth
new Http\HttplugBundle\HttplugBundle(),
new HWI\Bundle\OAuthBundle\HWIOAuthBundle(),
];
if (in_array($this->getEnvironment(), ['dev', 'test'], true)) {
@@ -3,26 +3,18 @@
{% 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/>
{% 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 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>
</div>
</div>
</div>
{% endblock %}
{% block metarobot %}
@@ -38,20 +38,20 @@
{{ form_row(form.plainPassword.second, {'label': 'Répéter le mot de passe'}) }}
</div>
</div>
{% if destination_login is defined %}
<input type="hidden" name="_target_path" value="{{ destination_login }}" />
{% endif %}
<div class="row">
<div class="input-field col s12">
{% set label = 'user.cgu.label'|trans({'%link_start%' : '<a href="'~path('service_cgu')~'">', '%link_end%' : '</a>'}, 'messages') | raw %}
{{ form_errors(form.cgu) }}
{{ form_widget(form.cgu) }}
{{ form_label(form.cgu) }}
<br />
{#{{ form_widget(form.cgu) }}
{{ form_label(form.cgu) }}#}
</div>
</div>
<div class="row">
<div class="input-field col s12">
Lire les conditions générales d'utilisations</a>
<a href="{{ path('service_cgu') }}" title="conditions d'utilisations" style="margin-left:45px;">Lire les conditions générales d'utilisations</a>
<br /><br />
</div>
</div>
@@ -1,78 +1,16 @@
{% block fos_user_content %}
<div class="row login_face active_face">
<div class="col s12 col-login-first col-login">
<h4 class="color-blue1 pull-left">Connexion</h4>
<div class="pull-right">
ou
<a href="#" class="color-blue1 change_to_register">
Créer un compte
</a>
</div>
<br class="clearfix"/>
<div class="row">
<div class="col s12 m12 l6 col-login-first col-login">
<h4>Connexion</h4>
{{ include('@FOSUser/Security/login_content.html.twig') }}
</div>
</div>
<div class="row register_face">
<div class="col s12 col-login-first col-login">
<h4 class="color-blue1 pull-left">Créer un compte</h4>
<div class="pull-right">
ou
<a href="#" class="color-blue1 change_to_login">
Se connecter
</a>
<div class="col s12 m12 l6 col-login-first col-login-subscribe hide-on-med-and-down">
<div class="center-align">
<strong>Je ne possède pas de<br />compte Talents Tube</strong>
</div>
<br class="clearfix"/>
{{ form_start(register_form, {'method': 'post', 'action': path('fos_user_registration_register'), 'attr': {'class': 'fos_user_registration_register'}}) }}
{{ form_errors(register_form) }}
<div class="row">
<div class="input-field col s6">
{{ form_row(register_form.firstname, {'label': 'Prénom'}) }}
</div>
<div class="input-field col s6">
{{ form_row(register_form.lastname, {'label': 'Nom'}) }}
</div>
</div>
<div class="row">
<div class="input-field col s12">
{{ form_row(register_form.email, {'label': 'E-mail'}) }}
</div>
</div>
<div class="hide">
{{ form_row(register_form.username, {'label': 'Username'}) }}
</div>
<div class="row">
<div class="input-field col s12">
{{ form_row(register_form.plainPassword.first, {'label': 'Mot de passe'}) }}
</div>
</div>
<div class="row">
<div class="input-field col s12">
{{ form_row(register_form.plainPassword.second, {'label': 'Répéter le mot de passe'}) }}
</div>
</div>
{% if destination_login is defined %}
<input type="hidden" name="_target_path" value="{{ destination_login }}" />
{% endif %}
<div class="row">
<div class="input-field col s12">
{% set label = 'user.cgu.label'|trans({'%link_start%' : '<a style="margin-bottom:25px;" target="_blank" href="'~path('service_cgu')~'">', '%link_end%' : '</a>'}, 'messages') | raw %}
{{ form_errors(register_form.cgu) }}
{{ form_widget(register_form.cgu) }}
{% block form_label %}
{% spaceless %}
<label for="fos_user_registration_form_cgu">
Je déclare avoir pris connaissance et accepté les termes et les <a target="_blank" href="{{ path("service_cgu") }}">conditions générales dutilisation</a>
</label>
{% endspaceless %}
{% endblock %}
</div>
</div>
<div class="row m-t-30">
<div class="col s12 center-align">
<input class="btn btn-default btn-round" type="submit" id="_submit_register" name="_submit_register" value="Créer un compte" />
</div>
</div>
{{ form_end(register_form) }}
<a href="{{ path('fos_user_registration_register') }}" class="btn btn-default btn-round">
Créer un compte
</a>
</div>
</div>
{% endblock fos_user_content %}
@@ -1,6 +1,5 @@
{% trans_default_domain 'FOSUserBundle' %}
{% include 'default/facebook.html.twig' %}
{% if error %}
<div>{{ error.messageKey|trans(error.messageData, 'security') }}</div>
{% endif %}
@@ -8,33 +7,38 @@
{% if csrf_token %}
<input type="hidden" name="_csrf_token" value="{{ csrf_token }}" />
{% endif %}
<div class="row field-login">
<div class="row">
<div class="input-field col s12">
<label for="username">e-mail</label>
<label for="username">{{ 'security.login.username'|trans }}</label>
<input type="text" id="username" name="_username" value="{{ last_username }}" required="required" />
</div>
</div>
<div class="row field-login">
<div class="row">
<div class="input-field col s12">
<label for="password">{{ 'security.login.password'|trans }}</label>
<input type="password" id="password" name="_password" required="required" />
</div>
</div>
<div class="row field-login-checkbox">
<div class="col s12">
<input type="checkbox" id="remember_me" name="_remember_me" value="on" />
<label for="remember_me">{{ 'security.login.remember_me'|trans }}</label>
<br class="clearfix"/>
</div>
</div>
<p>
<input type="checkbox" id="remember_me" name="_remember_me" value="on" />
<label for="remember_me">{{ 'security.login.remember_me'|trans }}</label>
</p>
<br />
{% if destination_login is defined %}
<input type="hidden" name="_target_path" value="{{ destination_login }}" />
{% endif %}
<div class="row">
<div class="col s12 center-align">
<input class="btn btn-default btn-round" type="submit" id="_submit" name="_submit" value="Se connecter" /><br />
<a href="{{path('fos_user_resetting_request')}}"><span class="tiny-text font-black m-l-10">Mot de passe oublié ?</span></a>
<div class="row hide-on-large-only">
<div class="col s6">
<input class="btn btn-default btn-round" type="submit" id="_submit" name="_submit" value="{{ 'security.login.submit'|trans }}" /><br />
<a href="{{path('fos_user_resetting_request')}}"><span class="tiny-text font-black m-l-10">J'ai oublié mon mot de passe</span></a>
</div>
<div class="col s6">
<a href="{{ path('fos_user_registration_register') }}" class="btn btn-default btn-round">
Créer un compte
</a>
</div>
</div>
</form>
<div class="row hide-on-med-and-down">
<div class="col s12">
<input class="btn btn-default btn-round" type="submit" id="_submit" name="_submit" value="{{ 'security.login.submit'|trans }}" /><br />
<a href="{{path('fos_user_resetting_request')}}"><span class="tiny-text font-black m-l-10">J'ai oublié mon mot de passe</span></a>
</div>
</div>
</form>
@@ -1,12 +1,17 @@
{% extends 'base.html.twig' %}
{% block content %}
<div class="row">
<div class="col s12">
<h2 class="center-align m-t-100">Page introuvable</h2>
<p class="center-align">
Cette page n'existe plus.<br/><br/>
<a class="btn btn-default" href="{{ path('homepage') }}">Retour à l'accueil</a>
</p>
{% block urlCanonical %}
#!
{% endblock %}
{% block content %}
<div class="row">
<div class="col s12">
<h2 class="center-align">Page introuvable</h2>
<p class="center-align">
Cette page n'existe plus.<br/><br/>
<a class="btn btn-default" href="{{ path('homepage') }}">Retour à l'accueil</a>
</p>
</div>
</div>
</div>
{% endblock %}
{% endblock %}
@@ -3,8 +3,7 @@
<div class="row center-align">
<div class="col s12">
<div class="owl-carousel territory-carousel">
{% for territory in territories if territory.territory.isPrivate != true %}
{% for territory in territories %}
{% set territory = territory.territory %}
<div class="item">
<h2 class="blue-text no-margin-top">
@@ -19,7 +19,6 @@
<div class="box box-primary">
<div class="box-header">
<h3 class="box-title">{{ ad.title }}</h3>
<br/><i class="fa fa-link"></i>Url : {{ path("ad_show",{'alias':ad.alias})}}<br />
</div>
<div class="box-body">
{{ form_errors(form) }}
@@ -42,7 +41,7 @@
<h3 class="box-title">Informations</h3>
</div>
<div class="box-body">
{{ form_row(form.status) }} {{ form_row(form.isPromoted) }} {{ form_row(form.isVerified) }} {{ form_row(form.isPrivate) }}
{{ form_row(form.status) }} {{ form_row(form.isPromoted) }} {{ form_row(form.isVerified) }}
</div>
</div>
</div>
@@ -66,10 +66,6 @@
title="Modifier">
<i class="fa fa-pencil-square-o" aria-hidden="true"></i>
</a>
<a href="{{ path('admin_ad_refresh_img',{'id':ad.id}) }}" data-toggle="tooltip"
title="Mise à jour image vimeo">
<i class="fa fa-picture-o" aria-hidden="true"></i>
</a>
</td>
</tr>
{% endfor %}
@@ -13,8 +13,6 @@
<link rel="stylesheet" href="{{ asset('admin/AdminLTE/dist/css/AdminLTE.min.css') }}">
<link rel="stylesheet" href="{{ asset('admin/AdminLTE/dist/css/skins/skin-blue.min.css') }}">
<link rel="stylesheet" href="{{ asset('admin/AdminLTE/plugins/datatables/dataTables.bootstrap.css') }}">
<link rel="stylesheet" href="{{ asset('admin/AdminLTE/plugins/datatables/dataTables.bootstrap.css') }}">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jquery-confirm/3.3.2/jquery-confirm.min.css">
<script type="text/javascript" defer="defer" src="https://extend.vimeocdn.com/ga/64189815.js"></script>
{% block css %}
@@ -22,11 +22,9 @@
<div class="box-header">
<h3 class="box-title">{{ company.brandName }}</h3>
<br><span>{{ company.mainUser.email }}</span>
<br/><i class="fa fa-link"></i>Url : {{ path("company_show",{'alias':company.alias})}}<br />
</div>
<div class="box-body">
{{ form_errors(form) }}
{{ form_row(form.isPrivate) }}
{{ form_row(form.emphasis) }}
{{ form_row(form.emphasisOrder) }}
{{ form_row(form.brandName) }}
@@ -58,10 +58,6 @@
style="margin-left: 5px;">
<i class="fa fa-cart-plus" aria-hidden="true"></i>
</a>
<a href="{{ path('admin_company_refresh_img',{'id':company.id}) }}" data-toggle="tooltip"
title="Mise à jour image vimeo">
<i class="fa fa-picture-o" aria-hidden="true"></i>
</a>
{% if is_granted('ROLE_ALLOWED_TO_SWITCH') %}
<a href="{{ path('company_dashboard',{'_switch_user':company.MainUser.username}) }}"
data-toggle="tooltip" title="Se connecter avec ce compte"
@@ -92,7 +88,7 @@
"language": {
"url": "https://cdn.datatables.net/plug-ins/1.10.11/i18n/French.json"
},
"order": [[0, 'desc']],
"order": [[1, 'desc']],
"columnDefs": [
{"targets": 0, "searchable": true, "orderable": true},
{"targets": 1, "searchable": true, "orderable": true},
@@ -94,7 +94,7 @@
{"targets": 4, "searchable": true, "orderable": true, "className": "text-center"},
{"targets": 5, "searchable": false, "orderable": false, "className": "text-center"},
],
"order": [[0, "desc"]]
"order": [[1, "asc"]]
});
});
</script>
@@ -22,16 +22,13 @@
<div class="box-header">
<h3 class="box-title">{{ territory.brandName }}</h3>
<br><span>{{ territory.mainUser.email }}</span>
<br/><i class="fa fa-link"></i>Url : {{ path("territory_show",{'alias':territory.alias})}}<br />
</div>
<div class="box-body">
{{ form_errors(form) }}
{{ form_row(form.isPrivate) }}
{{ form_row(form.emphasis) }}
{{ form_row(form.emphasisOrder) }}
{{ form_row(form.brandName) }}
{{ form_row(form.description) }}
{{ form_row(form.descriptionAdmin) }}
{{ form_row(form.website) }}
{{ form_row(form.tagsComma) }}
{{ form_row(form.file) }}
@@ -63,24 +60,11 @@
</div>
{{ form_end(form) }}
{% endblock %}
{% block css %}
<link rel="stylesheet" href="{{ asset('codemirror/lib/codemirror.css') }}">
{% endblock %}
{% block javascripts %}
<script>
$(document).ready(function () {
$('[data-toggle="popover"]').popover();
});
</script>
<script src="{{ asset('codemirror/lib/codemirror.js') }}"></script>
<script src="{{ asset('codemirror/mode/xml/xml.js') }}"></script>
<script src="{{ asset('codemirror/mode/javascript/javascript.js') }}"></script>
<script src="{{ asset('codemirror/mode/css/css.js') }}"></script>
<script src="{{ asset('codemirror/mode/vbscript/vbscript.js') }}"></script>
<script src="{{ asset('codemirror/mode/htmlmixed/htmlmixed.js') }}"></script>
<script>
var myCodeMirror = CodeMirror.fromTextArea(document.getElementById('territory_admin_descriptionAdmin'), {
lineNumbers: true,
});
</script>
{% endblock %}
{% endblock %}
@@ -100,7 +100,7 @@
{"targets": 3, "searchable": true, "orderable": true, "className": "text-center"},
{"targets": 4, "searchable": false, "orderable": false, "className": "text-center"},
],
"order": [[0, "desc"]]
"order": [[1, "asc"]]
});
});
</script>
@@ -1,147 +0,0 @@
{% extends 'admin/base_admin.html.twig' %}
{% block contentHeader %}
<h1>
Utilisateurs
<small>Liste</small>
</h1>
<ol class="breadcrumb">
<li>
<a href="{{ path('admin_dashboard') }}">
<i class="fa fa-dashboard"></i>
Dashboard</a>
</li>
<li>Secret</li>
<li class="active">Utilisateurs</li>
</ol>
{% endblock %}
{% block content %}
<div class="box box-primary">
<div class="box-body">
<table id="user_list_table" class="table table-hover table-bordered">
<thead>
<tr>
<th class="col-md-2">Nom</th>
<th class="col-md-2">Prénom</th>
<th class="col-md-3">Email</th>
<th class="col-md-1">Rôle</th>
<th class="col-md-3">Etat</th>
<th class="col-md-1">Action</th>
</tr>
</thead>
<tbody>
{% for u in users %}
<tr>
<td>{{ u.lastname }}</td>
<td>{{ u.firstname }}</td>
<td>{{ u.email }}</td>
<td>
{% for r in u.roles %}
{% if r != "ROLE_USER" and r == "ROLE_TALENT" %}
<span class="badge bg-blue" style="font-weight: 400;">{{ r }}</span>
{% elseif r != "ROLE_USER" and r == "ROLE_COMPANY" %}
<span class="badge bg-orange" style="font-weight: 400;">{{ r }}</span>
{% endif %}
{% endfor %}
</td>
<td>
{% if u.enabled %}
Activé
{% else %}
Désactivé
<br/>
<a href="{{ path('admin_user_resend',{'id':u.id}) }}">Renvoyer le mail de confirmation</a>
{% endif %}
</td>
<td>
<a class="delete-user" href="{{ path('admin_user_delete',{'id':u.id}) }}" data-toggle="tooltip" title="Supprimer">
<i class="fa fa-trash"></i>
</a>
</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
</div>
{% endblock %}
{% block javascripts %}
<script>
$(function () {
$('#user_list_table').DataTable({
"paging": true,
"lengthChange": true,
"searching": true,
"ordering": true,
"info": true,
"autoWidth": false,
"language": {
"url": "https://cdn.datatables.net/plug-ins/1.10.11/i18n/French.json"
},
"columnDefs": [
{
"targets": 0,
"searchable": true,
"orderable": true
}, {
"targets": 1,
"searchable": true,
"orderable": true
}, {
"targets": 2,
"searchable": true,
"orderable": true
}, {
"targets": 3,
"searchable": true,
"orderable": true,
"className": "text-center"
}, {
"targets": 4,
"searchable": false,
"orderable": false,
"className": "text-center"
}, {
"targets": 5,
"searchable": false,
"orderable": false,
"className": "text-center"
}
]
});
});
$(document).ready(function () {
$('[data-toggle="popover"]').popover();
$(".delete-user").confirm({
title: "Êtes vous sûr de supprimer cet utilisateur ?",
content: "Supprimer cet utilisateur supprimera, son compte, son entreprise, ses réponses, médias",
type: 'red',
boxWidth: '30%',
useBootstrap: false,
buttons: {
confirm: {
text: 'Confirmer',
action: function () {
console.log(this.$target);
location.href = this.$target.attr('href');
return true;
}
},
cancel: {
text: 'Annuler'
}
}
});
});
</script>
{% endblock %}
@@ -1,98 +0,0 @@
{% extends 'base.html.twig' %}
{% block content %}
{% if typeObject == 'Ad' %}
{% set subtitle = 'Candidature à l\'offre d\'emploi:' %}
{% set title = object.title %}
{% set route = "answer_create_ad_step2" %}
{% elseif typeObject == 'Company' %}
{% set subtitle = 'Candidature pour l\'entreprise :' %}
{% set title = object.brandName %}
{% set route = "answer_create_company_step2" %}
{% endif %}
<div class="fluid-container bg-grey-3">
<div class="container contentWrapper contentPage" id="answerPage">
<div class="row">
<div class="col s12">
<div class="center-align bg-grey-3 m-t-20">
<strong>{{ subtitle }}</strong>
<h3 class="color-blue1 m-t-10">{{ title }}</h3>
</div>
</div>
</div>
<div class="row">
<div class="col s12">
<div class="col-content bg-arrow z-depth-2 p-20">
<div class="row">
<div class="col s12">
<h4 class="color-blue1 p-0"><span class="title-bubble">1</span> Importez votre CV Vidéo</h4>
</div>
<div class="col s10 offset-s1 answer-dropzone">
{% include 'media/dropzone.html.twig' with {'deleting': true } %}
</div>
</div>
</div>
{{ form_start(form, {'attr': { 'id': 'form_media' } }) }}
<div class="col-content z-depth-2 p-20 m-t-40">
{{ form_row(form.status) }}
<div class="row">
<div class="col s12">
<h4 class="color-blue1 p-0"><span class="title-bubble">2</span> Ajoutez votre commentaire</h4>
</div>
<div class="col s10 offset-s1">
<div class="row">
<div class="input-field col s12">
{{ form_errors(form.comment) }}
{{ form_widget(form.comment) }}
{{ form_label(form.comment) }}
</div>
</div>
</div>
{{ form_rest(form) }}
</div>
</div>
<div class="row m-t-40">
<div class="col s10 offset-s1 center-align">
<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>
</div>
</div>
{{ form_end(form) }}
</div>
</div>
{% include 'answer/answer_tuto.twig' %}
</div>
</div>
{% endblock %}
{% block javascripts %}
{{ parent() }}
<script type="text/javascript">
var routeComment = '{{ path("anwser_edit_comment", {"id": answer.getId()}) }}';
var urlDropzone = '{{ path("upload_media_answer", {"id": answer.getId()}) }}';
var urlDelete = '{{ path("delete_media_answer", {"id": answer.getId() }) }}'
var idObject = '{{ answer.getId() }}';
var typeObject = "answer";
{% if video %}
if($("#form_media").length){
$("#submit").removeClass('disabled');
$("#submit").addClass('pulse');
}
var videoExist = true;
var videoOriginal = "{{video.getOriginalUrl()}}";
var mockFile = { name: '{{video.getTitle()}}', size: '181818181', type: 'mp4', serverID: 0, accepted: true };
{% else %}
var videoExist = false;
{% endif %}
</script>
<script src="{{ asset('/js/dropzone.js') }}"></script>
<script src="{{ asset('/js/answer.js') }}"></script>
<script type="text/javascript">
{% if mustLogin == true %}
$('#submit').on('click',function(event){
event.preventDefault();
$('#modal_login').modal('open');
});
{% endif %}
</script>
{% endblock %}
@@ -1,58 +0,0 @@
{% 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:' %}
{% set title = object.title %}
{% set route = "answer_create_ad_step2" %}
{% elseif typeObject == 'Company' %}
{% set subtitle = 'Candidature pour l\'entreprise :' %}
{% set title = object.brandName %}
{% set route = "answer_create_company_step2" %}
{% endif %}
<div class="fluid-container bg-grey-3">
<div class="container contentWrapper contentPage">
<div class="row">
<div class="col s12">
<div class="col-content center-align m-t-20">
<strong>{{ subtitle }}</strong>
<h3 class="color-blue1 m-0 m-t-10">{{ title }}</h3>
</div>
</div>
</div>
<div class="row">
<div class="col s12 m6 ">
<div class="col-content p-15 bg-blue-1 center-align whiteColor z-depth-2 choice-answer-item">
<img src="{{ asset('img/img_popupcv/webcam_cv_video.svg')}}">
<h3>J'enregistre mon CV vidéo !</h3>
<p>Suivez nos conseils puis enregistrez votre CV vidéo directement depuis votre webcam.</p>
<a href="{{ path(route,{'id': object.id,'type': 'webcam' }) }}" class="btn btn-default white">Enregistrer mon CV vidéo</a>
</div>
</div>
<div class="col s12 m6">
<div class="col-content p-15 center-align z-depth-2 choice-answer-item bg-white">
<img src="{{ asset('img/img_popupcv/videotheque_cv_video.svg')}}">
<h3>Je possède un CV vidéo !</h3>
<p>Importez une vidéo ou séléctionnez une vidéo<br /> dans votre vidéothèque</p>
<a href="{{ path(route,{'id': object.id, 'type': 'import'}) }}" class="btn btn btn-default">Importer mon CV vidéo</a><br /><br />
<a id="link-videotheque" href="{{ route_videotheque }}">Choisir une vidéo de ma vidéothèque</a>
</div>
</div>
</div>
</div>
</div>
{% endblock %}
{% block javascripts %}
{{ parent() }}
<script type="text/javascript">
{% if mustLogin == true %}
$('#link-videotheque').on('click',function(event){
event.preventDefault();
$('#modal_login').modal('open');
});
{% endif %}
</script>
{% endblock %}
@@ -1,131 +0,0 @@
{% extends 'base.html.twig' %}
{% block content %}
{% if typeObject == 'Ad' %}
{% set subtitle = 'Candidature à l\'offre d\'emploi:' %}
{% set title = object.title %}
{% set route = "answer_create_ad_step2" %}
{% elseif typeObject == 'Company' %}
{% set subtitle = 'Candidature pour l\'entreprise :' %}
{% set title = object.brandName %}
{% set route = "answer_create_company_step2" %}
{% endif %}
<div class="fluid-container bg-grey-3">
<div class="container contentWrapper contentPage" id="answerPage">
<div class="row">
<div class="col s12">
<div class="center-align bg-grey-3 m-t-20">
<strong>{{ subtitle }}</strong>
<h3 class="color-blue1 m-t-10">{{ title }}</h3>
</div>
</div>
</div>
<div class="row">
<div class="col s12">
<div class="col-content bg-arrow z-depth-2 p-20">
<div class="row">
<div class="col s12">
<h4 class="color-blue1 p-0"><span class="title-bubble">1</span> Selectionnez votre CV vidéo</h4>
</div>
<div class="col s12">
<div class="row">
<div class="col s10 offset-s1">
<div class="p-30">
{% for vid in videos %}
{% set img = "" %}
{% if vid.thumbnails.0 is defined %}
{% set img = vid.thumbnails.0.sizes.4.link %}
{% endif %}
<div class="col s4">
<div class="card">
<div class="card-image">
<div class="embed-responsive embed-responsive-16by9">
<iframe src="https://player.vimeo.com{{ vid.getCdnUrl()|replace({ "videos": "video"}) }}" width="100%" height="auto" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>
</div>
</div>
<div style="cursor:pointer;" class="card-action" data-url="https://player.vimeo.com{{ vid.getCdnUrl()|replace({ "videos": "video"}) }}" data-img="{{ img }}" data-position="top" data-tooltip="Choisir cette vidéo" href="#" data-title="{{ vid.getTitle() }}" data-id="{{ vid.getId() }}">
<a class="addExistingVideo" >
<span>{{ vid.getTitle() }}</span>
</a>
</div>
</div>
</div>
{% endfor %}
</div>
</div>
</div>
</div>
</div>
</div>
{{ form_start(form, {'attr': { 'id': 'form_media' } }) }}
<div class="col-content z-depth-2 p-20 m-t-40">
{{ form_row(form.status) }}
<div class="row">
<div class="col s12">
<h4 class="color-blue1 p-0"><span class="title-bubble">2</span> Ajoutez votre commentaire</h4>
</div>
<div class="col s10 offset-s1">
<div class="row">
<div class="input-field col s12">
{{ form_errors(form.comment) }}
{{ form_widget(form.comment) }}
{{ form_label(form.comment) }}
</div>
</div>
</div>
{{ form_rest(form) }}
</div>
</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">
Envoyer ma candidature
</button><br /><br />
<a class="color-grey5" href="{{ path(routeObject,{'alias': object.alias }) }}">Annuler</a>
</div>
</div>
{{ form_end(form) }}
</div>
</div>
{% include 'answer/answer_tuto.twig' %}
</div>
</div>
{% endblock %}
{% block javascripts %}
{{ parent() }}
<script src="{{ asset('/js/answer.js') }}"></script>
<script type="text/javascript">
{% if mustLogin == true %}
$('#submit').on('click',function(event){
event.preventDefault();
$('#modal_login').modal('open');
});
{% endif %}
</script>
<script type="text/javascript">
$(".card-action").click(function(){
var idVideo = $(this).data("id");
var titleVideo = $(this).data("title");
var imgVideo = $(this).data("img");
var urlVideo = $(this).data("url");
var elem = $(this);
$.ajax({
type: 'POST',
url: '{{ path("link_media_answer", {"id": answer.getId()}) }}',
data: "idVideo="+idVideo,
dataType: 'html',
success: function (response) {
$(".card-action").removeClass('active');
elem.addClass('active');
Materialize.toast('Vidéo bien associé', 4000);
if($("#submit").hasClass('disabled')){
$("#submit").removeClass('disabled');
$("#submit").addClass('pulse');
}
},
error: function (response, xhr, ajaxOptions, thrownError) {
Materialize.toast('Erreur lors de l\'association de la vidéo!', 4000);
}
});
});
</script>
{% endblock %}
@@ -1,138 +0,0 @@
{% extends 'base.html.twig' %}
{% block content %}
{% if typeObject == 'Ad' %}
{% set subtitle = 'Candidature à l\'offre d\'emploi:' %}
{% set title = object.title %}
{% set route = "answer_create_ad_step2" %}
{% elseif typeObject == 'Company' %}
{% set subtitle = 'Candidature pour l\'entreprise :' %}
{% set title = object.brandName %}
{% set route = "answer_create_company_step2" %}
{% endif %}
<div class="fluid-container bg-grey-3">
<div class="container contentWrapper contentPage" id="answerPage">
<div class="row">
<div class="col s12">
<div class="center-align bg-grey-3 m-t-20">
<strong>{{ subtitle }}</strong>
<h3 class="color-blue1 m-t-10">{{ title }}</h3>
</div>
</div>
</div>
<div class="row">
<div class="col s12">
<div class="col-content bg-arrow z-depth-2 p-20">
<div class="row">
<div class="col s12">
<h4 class="color-blue1 p-0"><span class="title-bubble">1</span> Enregistrez votre cv vidéo</h4>
</div>
<div class="col m4 offset-m1 s12">
<video id="myCvVideo" class="video-js vjs-default-skin"></video>
<div class="video-informations-card center-align">
<p>Merci de cliquer sur l'icône <span class="vjs-icon-device-perm"></span> afin d'activer votre webcam.</p>
<p>Votre webcam activée, lancez l'enregistrement en cliquant sur le bouton rond en bas à gauche du lecteur.</p>
<p>Si vous n'êtes pas satisfait(e) de votre CV vidéo après un enregistrement, vous pouvez à tout moment recommencer l'enregistrement.</p>
<p><a class="view-tuto">Revoir le tutoriel</a></p>
</div>
</div>
<div class="col m2 hide-on-small-only">
<div class="valign-wrapper" style="align-items:center;justify-content: center;height: 300px;width:100%;">
<div style="font-size:40px;">
<i class="fa fa-arrow-right center-align" aria-hidden="true"></i>
</div>
</div>
</div>
<div class="col m4 s12">
<video id="preview" controls="true">
<span class="vjs-control-text">Play Video</span>
</video>
<div class="btnContainer center-align" style="display:none;">
<a id="saveRecord" href="#!" class="saveVideo btn btn-default">
<i class="fa fa-floppy-o" aria-hidden="true"></i>&nbsp; Télécharger mon CV Vidéo
</a>
<div class="video-informations-card">
<p>Une fois téléchargé vous pouvez glisser-déposer votre CV vidéo dans la zone prévue pour lancer le téléchargement.</p>
</div>
</div>
</div>
</div>
</div>
<div class="col-content bg-arrow z-depth-2 p-20">
<div class="row">
<div class="col s12">
<h4 class="color-blue1 p-0"><span class="title-bubble">2</span> Importez votre CV Vidéo</h4>
</div>
<div class="col s10 offset-s1 answer-dropzone">
{% include 'media/dropzone.html.twig' with {'deleting': true } %}
</div>
</div>
</div>
{{ form_start(form, {'attr': { 'id': 'form_media' } }) }}
<div class="col-content z-depth-2 p-20 m-t-40">
{{ form_row(form.status) }}
<div class="row">
<div class="col s12">
<h4 class="color-blue1 p-0"><span class="title-bubble">3</span> Ajoutez votre commentaire</h4>
</div>
<div class="col s10 offset-s1">
<div class="row">
<div class="input-field col s12">
{{ form_errors(form.comment) }}
{{ form_widget(form.comment) }}
{{ form_label(form.comment) }}
</div>
</div>
</div>
{{ form_rest(form) }}
</div>
</div>
<div class="row m-t-40">
<div class="col s10 offset-s1 center-align">
<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>
</div>
</div>
{{ form_end(form) }}
</div>
</div>
{% include 'answer/answer_tuto.twig' %}
</div>
</div>
{% endblock %}
{% block javascripts %}
{{ parent() }}
<script type="text/javascript">
var routeComment = '{{ path("anwser_edit_comment", {"id": answer.getId()}) }}';
var urlDropzone = '{{ path("upload_media_answer", {"id": answer.getId()}) }}';
var urlDelete = '{{ path("delete_media_answer", {"id": answer.getId() }) }}'
var idObject = '{{ answer.getId() }}';
var typeObject = "answer";
{% if video %}
if($("#form_media").length){
$("#submit").removeClass('disabled');
$("#submit").addClass('pulse');
}
var videoExist = true;
var videoOriginal = "{{video.getOriginalUrl()}}";
var mockFile = { name: '{{video.getTitle()}}', size: '181818181', type: 'mp4', serverID: 0, accepted: true };
{% else %}
var videoExist = false;
{% endif %}
</script>
<script src="{{ asset('/js/dropzone.js') }}"></script>
<script src="{{ asset('/js/vendors/video.min.js') }}"></script>
<script src="{{ asset('/js/vendors/RecordRTC.js') }}"></script>
<script src="{{ asset('/js/vendors/videojs.record.js') }}"></script>
<script src="{{ asset('/js/vendors/jquery.browser.min.js') }}"></script>
<script src="{{ asset('/js/answer.js') }}"></script>
<script type="text/javascript">
{% if mustLogin == true %}
$('#submit').on('click',function(event){
event.preventDefault();
$('#modal_login').modal('open');
});
{% endif %}
</script>
{% endblock %}
@@ -1,84 +0,0 @@
<div id="modal-tuto" class="modal">
<div class="modal-content">
<div class="row">
<div class="col s12">
<div class="col-content">
<h3 class="color-blue1 center-align">Les conseils de Talents Tube</h3>
<div class="owl-carousel tuto-carousel">
<div class="item-tuto-webcam carousel-item">
<div class="row">
<div class="col s4 offset-s1 hide-on-med-and-down">
<img class="responsive-img" src="{{ asset('img/img_popupcv/cv_video_step_1.svg')}}" alt="">
</div>
<div class="col s11 m11 l6 offset-s1 left-align">
<strong><span class="color-blue1">30 Minutes</span> avant lenregistrement</strong>
<br /><br />
<u>Préparez un discours <strong>clair</strong> et <strong>concis</strong></u>
<br /><br />
<strong>Posez-vous les bonnes questions : <br />
<ul>
<li>Quelle est ma situation ? </li>
<li>Quelles sont mes compétences ?</li>
<li>Que puis-je apporter à lentreprise? </li>
<li>Pourquoi je souhaite rejoindre lentreprise?</li>
</ul>
</strong>
Une fois votre scénario terminé, <strong>répétez-le plusieurs fois à voix haute pour maîtriser votre sujet.</strong>
<br /><br />
Noubliez pas quen vidéo, <strong>il faut rester soi même !</strong>
</div>
</div>
</div>
<div class="item-tuto-webcam carousel-item">
<div class="row">
<div class="col s4 offset-s1 hide-on-med-and-down">
<img class="responsive-img" src="{{ asset('img/img_popupcv/cv_video_step_2.svg')}}" alt="">
</div>
<div class="col s11 m11 l6 offset-s1 left-align">
<strong><span class="color-blue1">2 Minutes</span> avant lenregistrement</strong>
<br /><br />
<u>Préparer votre lieu de tournage :</u>
<br /><br />
<ul>
<li>Privilégiez un fond <strong>neutre</strong> et <strong>clair</strong></li>
<li>Trouvez un lieu <strong>peu bruyant</strong></li>
<li>Installez-vous dans un endroit <strong>bien éclairé de préférence naturel, sans contre jour</strong></li>
<li>Portez des <strong>habits de couleurs neutres et évitez les rayures, les pois et les carreaux.</strong></li>
<li>Privilégiez un <strong>cadrage au niveau du buste</strong></li>
</ul>
</div>
</div>
</div>
<div class="item-tuto-webcam carousel-item">
<div class="row">
<div class="col s4 offset-s1 hide-on-med-and-down">
<img class="responsive-img" src="{{ asset('img/img_popupcv/cv_video_step_3.svg')}}" alt="">
</div>
<div class="col s11 m11 l6 offset-s1 left-align">
<strong><span class="color-blue1">10 secondes</span> avant lenregistrement</strong>
<br /><br />
<u>Quelques informations à savoir avant le grand bain :</u>
<br /><br />
<strong>
<ul>
<li>Le CV doit durer entre 1.30 et 2 minutes.</li>
<li>Pensez à bien articuler.</li>
<li>Évitez les euuuh et les baaah !</li>
<li>Recommencez autant de fois que nécessaire.</li>
</ul>
<br /><br />
Cest à vous !
</strong>
</div>
</div>
</div>
</div>
<div class="carousel-fixed-item right">
<a class="text close-tuto">Passer l'intro</a>
<a class="btn btn-default next-slide">suivant</a>
</div>
</div>
</div>
</div>
</div>
</div>
@@ -30,28 +30,26 @@
{% endblock %}">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
{# OG et TC #}
{% if app.request.attributes.get('_route') != null %}
{% block ogtc %}
{#Twitter Card data pour les données enrichies sur Twitter#}
<meta name="twitter:card" content="summary">
<meta name="twitter:site" content="@TalentsTube">
<meta name="twitter:title" content="Talents Tube : Le 1er job board 100% vidéo">
<meta name="twitter:description" content="Talents Tube est la première plateforme réservée aux offres d'emploi et aux CV vidéos. Découvrez un nouvelle méthode de recrutement !">
<meta name="twitter:image" content="{{ absolute_url(asset('img/mail/logo-talents-tube.png')) }}">
{% block ogtc %}
{#Twitter Card data pour les données enrichies sur Twitter#}
<meta name="twitter:card" content="summary">
<meta name="twitter:site" content="@TalentsTube">
<meta name="twitter:title" content="Talents Tube : Le 1er job board 100% vidéo">
<meta name="twitter:description" content="Talents Tube est la première plateforme réservée aux offres d'emploi et aux CV vidéos. Découvrez un nouvelle méthode de recrutement !">
<meta name="twitter:image" content="{{ absolute_url(asset('img/mail/logo-talents-tube.png')) }}">
{#Open Graph data pour le partage sur les réseaux sociaux (ex Facebook..)#}
<meta property="og:title" content="Talents Tube : Le 1er job board 100% vidéo" />
<meta property="og:type" content="article" />
<meta property="og:image" content="{{ absolute_url(asset('img/mail/logo-talents-tube.png')) }}" />
<meta property="og:description" content="Talents Tube est la première plateforme réservée aux offres d'emploi et aux CV vidéos. Découvrez un nouvelle méthode de recrutement !" />
<meta property="og:site_name" content="Talents Tube" />
<meta property="og:url" content="{{ url(app.request.attributes.get('_route'), app.request.attributes.get('_route_params')) }}" />
{#Open Graph data pour le partage sur les réseaux sociaux (ex Facebook..)#}
<meta property="og:title" content="Talents Tube : Le 1er job board 100% vidéo" />
<meta property="og:type" content="article" />
<meta property="og:image" content="{{ absolute_url(asset('img/mail/logo-talents-tube.png')) }}" />
<meta property="og:description" content="Talents Tube est la première plateforme réservée aux offres d'emploi et aux CV vidéos. Découvrez un nouvelle méthode de recrutement !" />
<meta property="og:site_name" content="Talents Tube" />
<meta property="og:url" content="{{ url(app.request.attributes.get('_route'), app.request.attributes.get('_route_params')) }}" />
{% endblock %}
{# Canonical #}
<link rel="canonical"
href="{% block urlCanonical %}{{ url(app.request.attributes.get('_route'), app.request.attributes.get('_route_params')) }}{% endblock %}">
{% endif %}
{% endblock %}
{# Canonical #}
<link rel="canonical"
href="{% block urlCanonical %}{{ url(app.request.attributes.get('_route'), app.request.attributes.get('_route_params')) }}{% endblock %}">
{# CSS #}
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<link href="https://fonts.googleapis.com/css?family=Raleway:100,100i,200,200i,300,300i,400,400i,500,500i,600,600i,700,700i,800,800i,900,900i&amp;subset=latin-ext"
@@ -60,7 +58,6 @@
<link rel="stylesheet" href="{{ asset('css/styles.css') }}">
{% block stylesheets %}
{% endblock %}
<script type="text/javascript"> window.$crisp=[];window.CRISP_WEBSITE_ID="78ec5756-1cd5-4f3f-b0db-cb408c8171da";(function(){ d=document;s=d.createElement("script"); s.src="https://client.crisp.chat/l.js"; s.async=1;d.getElementsByTagName("head")[0].appendChild(s);})(); </script>
</head>
<body>
<!-- Google Tag Manager (noscript) -->
@@ -3,13 +3,7 @@
{% block dashContent %}
<div class="row bg-bordered p-20">
{% if type == "spontaneous" %}
{% include 'company/tabs.html.twig' with {'tab':3} %}
{% else %}
{% include 'company/tabs.html.twig' with {'tab':2} %}
{% endif %}
{% include 'company/tabs.html.twig' with {'tab':2} %}
<div id="reponses" class="col s12">
<table id="table-answers" class="bordered highlight responsive-table">
<thead>
@@ -26,7 +20,7 @@
<td>
<a href="{{ path('company_answer_show',{'id':answer.id }) }}">{{ answer.user.firstname }} {{ answer.user.lastname }}</a>
</td>
<td>{% if answer.ad != null %}{{ answer.ad.title }} {% endif %}</td>
<td>{{ answer.ad.title }}</td>
<td>{{ answer.cTime()|date('d-m-Y') }}</td>
<td>
{#{% if answer.notes|length <= 0 %}#}
@@ -4,11 +4,7 @@
{% block dashContent %}
<div class="row bg-bordered p-20">
<h1 class="alttitle">Réponse de {{ answer.user.firstname }} {{ answer.user.lastname }}</h1>
{% if type == "spontaneous" %}
{% include 'company/tabs.html.twig' with {'tab':3} %}
{% else %}
{% include 'company/tabs.html.twig' with {'tab':2} %}
{% endif %}
{% include 'company/tabs.html.twig' with {'tab':2} %}
<div class="col s12 m6 l6 col-padding-right">
<div class="bg-bordered inside-m">
@@ -27,11 +23,9 @@
<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 }}
@@ -29,7 +29,6 @@
{% block content %}
{% include 'default/flash_message.html.twig' %}
<div class="fluid-container bg-grey-3">
<div class="container">
<div id="detail-offre-video" class="row">
@@ -91,19 +90,7 @@
{% endfor %}
</div>
</div>
{% if not is_granted('ROLE_COMPANY') %}
<div class="row bg-bordered row-promoted">
<div class="col s12 center-align">
<h3>Vous souhaitez rejoindre <span class="color-blue1">{{ company.brandname }}</span> ?</h3>
<a href="{{ path('talent_spontaneous_application_create',{'id': company.getId()}) }}"
class="btn btn-default">
Candidature spontanée
</a>
</div>
</div>
{% endif %}
</div>
<div id="offers" class="row">
<div class="col s12">
<h1>Les offres demploi pour {{ company.brandname }}</h1>
@@ -120,37 +107,6 @@
{% if company.territories|length %}
{% include 'ad/carrousel_territory.html.twig' with {'territories': company.territories } %}
{% endif %}
{% set popup_answer_send = app.session.flashbag.get('popup_answer_send') %}
{% set popup_answer_already_send = app.session.flashbag.get('popup_answer_already_send') %}
{% if popup_answer_send is not empty %}
{% if popup_answer_send[0] == true %}
<div id="modal-answer" class="modal">
<div class="modal-content">
<div class="row">
<div class="col s12">
<div class="col-content p-30">
{% if popup_answer_already_send is not empty and popup_answer_already_send[0] == true %}
<h3 class="color-blue1 center-align">Votre candidature a bien été envoyée à {{ company.brandname }} !</h3>
<div class="col offset-s2 s8 center-align">
<div class="embed-responsive embed-responsive-16by9">
<div class="col s12">
<iframe src="https://player.vimeo.com/video/249822507"
width="100%" height="640" frameborder="0"></iframe>
</div>
</div>
<a href="{{ path('talent_dashboard') }}" class="btn btn-default m-t-20">Accéder à mon profil</a>
<br /><br />
<a class="text modal-action modal-close">Fermer</a>
</div>
{% endif %}
</div>
</div>
</div>
</div>
</div>
{% endif %}
{% endif %}
{% endblock %}
@@ -162,14 +118,8 @@
{{ parent() }}
<script type="text/javascript">
document.addEventListener("DOMContentLoaded", function(event) {
console.log("passe");
$.get("{{ path('company_ajaxRecStat',{'id': company.id }) }}", function (data) {});
if ($('#modal-answer').length > 0) {
$('#modal-answer').modal({
dismissible: false,
ready: function(modal, trigger) {}
});
$('#modal-answer').modal('open');
}
});
</script>
{% endblock %}
@@ -106,11 +106,11 @@
$('.fa-refresh').show();
var month1 = obj.date1.getMonth();
var day1 = obj.date1.getDate();
var year1 = obj.date1.getFullYear();
var year1 = obj.date1.getUTCFullYear();
var month2 = obj.date2.getMonth();
var day2 = obj.date2.getDate();
var year2 = obj.date2.getFullYear();
var date1 = (month1 + 1) + "/" + day1 + "/" + year1 +" 00:00:01";
var year2 = obj.date2.getUTCFullYear();
var date1 = (month1 + 1) + "/" + day1 + "/" + year1 +" 00:00:00";
var date2 = (month2 + 1) +"/" + day2 + "/" + year2 +" 23:59:59";
getChartData(date1, date2);
});
@@ -1,18 +1,5 @@
<ul class="tabs">
<li class="tab col s4">
<a {% if tab == 1 %}class="active"{% endif %} target="_self"
href="{{ path('company_ad') }}">
{{ 'company.menu.ads.label'|trans }}
</a>
</li>
<li class="tab col s4">
<a {% if tab == 2 %}class="active"{% endif %} target="_self" href="{{ path('company_answer_list') }}">
{{ 'company.menu.answers.label'|trans }}
</a>
</li>
<li class="tab col s4">
<a {% if tab == 3 %}class="active"{% endif %} target="_self" href="{{ path('company_spontaneous_list') }}">
Candidatures spontanées
</a>
</li>
<li class="tab col s6"><a {% if tab == 1 %}class="active"{% endif %} target="_self" href="{{ path('company_ad') }}">{{ 'company.menu.ads.label'|trans }}</a></li>
<li class="tab col s6"><a {% if tab == 2 %}class="active"{% endif %} target="_self" href="{{ path('company_answer_list') }}">{{ 'company.menu.answers.label'|trans }}</a></li>
{#<li class="tab col s4"><a {% if tab == 3 %}class="active"{% endif %} href="#favoris">{{ 'company.menu.bookmark.label'|trans }}</a></li>#}
</ul>
@@ -1,4 +1,4 @@
{% for a in ads if a.isPrivate != true %}
{% for a in ads %}
<div class="col s12">
<div class="card z-depth-3">
<div class="card-image">
@@ -1,4 +1,4 @@
{% for a in ads if a.isPrivate != true %}
{% for a in ads %}
<div id="adRow" class="row item-list-bis z-depth-2 row-noMargin">
<div class="col s12 m4 col-noPadding ad-picture">
<a href="{{ path('ad_show',{'alias': a.alias }) }}" title="{{ a.title }}" class="item-list-media">
@@ -12,12 +12,10 @@
<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">
@@ -34,15 +34,6 @@
</div>
<div class="row m-b-0 p-b-30">
<div class="col s12 m12">
<div id="header-resultats">
{% if isPromotedAds %}
<div><span class="color-blue2">{{ ads|length }}</span> offres d'emploi pourvues</div>
<div><span><a href="{{ path('ad_search_result') }}">Voir les offres d'emploi en cours</a></span></div>
{% else %}
<div><span class="color-blue2">{{ ads|length }}</span> offres d'emploi en cours</div>
<div><span><a href="{{ path('ad_search_result', {'promoted': true }) }}">Voir les offres d'emploi pourvues</a></span></div>
{% endif %}
</div>
<div id="liste-resultats">
{% if ads|length > 0 and noResults == false %}
{% include 'default/ad_listing.html.twig' with {'ads':ads} %}
@@ -57,6 +48,7 @@
</div>
</div>
</div>
{% endblock %}
{% block javascripts %}
@@ -1,4 +1,4 @@
{% extends 'base.html.twig' %}
{% extends 'base.html.twig' %}
{% block title %}{{ ad.htmlTitle|raw }}{% endblock %}
@@ -35,9 +35,6 @@
<div class="col s12 m12 l8 xl9">
{% if ad.video and ad.status != "CLOSED" %}
<div class="row m-b-0" id="adVideo">
{#{% if ad.id == 38 %}
<img class="responsive-img" src="{{asset('/img/GROUPE-ROCHER-TT.jpg')}}">
{% else %}#}
<div class="embed-responsive embed-responsive-16by9">
<div class="col s12">
<iframe src="https://player.vimeo.com/video/{{ ad.video.cdnUrl|replace({ "/videos/": ""}) }}"
@@ -45,11 +42,8 @@
allowfullscreen></iframe>
</div>
</div>
{#{% endif %}#}
{% if ad.isPromoted %}
<div class="isPromoted">
OFFRE POURVUE
</div>
<div class="isPromoted"><img src="{{asset('/img/offre-pourvue-gauche.png')}}" alt="promoted"></div>
{% endif %}
</div>
{% endif %}
@@ -98,29 +92,16 @@
{{ 'ad.talent.isAnswer.label'|trans }}
</div>
{% elseif not is_granted('ROLE_COMPANY') %}
{% if not ad.isPromoted %}
<p class="item-detail-reply">
<a href="{{ path('talent_answer_create',{'id': ad.getId()}) }}"
class="btn btn-default">
Postuler
</a>
</p>
{% endif %}
<p class="item-detail-reply">
<a href="{{ path('talent_answer_create',{'id': ad.getId()}) }}"
class="btn btn-default">
Postuler
</a>
</p>
{% endif %}
{% endif %}
</div>
</div>
{% if ad.isPromoted %}
<div class="row bg-bordered row-promoted">
<div class="col s12 center-align">
<h3>Vous souhaitez rejoindre <span class="color-blue1">{{ ad.company.brandname }}</span> ?</h3>
<a href="{{ path('talent_spontaneous_application_create',{'id': ad.company.getId()}) }}"
class="btn btn-default">
Candidature spontanée
</a>
</div>
</div>
{% endif %}
<div class="col s12 hide-on-large-only m-b-50">
{% include 'default/ad_sidebar.html.twig' with {'ad': ad, 'showBrand': true} %}
</div>
@@ -143,44 +124,6 @@
{% elseif ad.company.territories|length %}
{% include 'ad/carrousel_territory.html.twig' with {'territories': ad.company.territories } %}
{% endif %}
{% set popup_answer_send = app.session.flashbag.get('popup_answer_send') %}
{% set popup_answer_already_send = app.session.flashbag.get('popup_answer_already_send') %}
{% if popup_answer_send is not empty %}
{% if popup_answer_send[0] == true %}
<div id="modal-answer" class="modal">
<div class="modal-content">
<div class="row">
<div class="col s12">
<div class="col-content p-30">
{% if popup_answer_already_send is not empty and popup_answer_already_send[0] == true %}
<h3 class="color-blue1 center-align">Candidature pour {{ ad.company.brandname }} !</h3>
<div class="col offset-s2 s8 center-align">
<p>Vous avez déjà répondu à cette annonce.</p>
<a href="{{ path('talent_dashboard') }}" class="btn btn-default m-t-20">Accéder à mon profil</a>
<br /><br />
<a class="text modal-action modal-close">Fermer</a>
</div>
{% else %}
<h3 class="color-blue1 center-align">Votre candidature a bien été envoyée à {{ ad.company.brandname }} !</h3>
<div class="col offset-s2 s8 center-align">
<div class="embed-responsive embed-responsive-16by9">
<div class="col s12">
<iframe src="https://player.vimeo.com/video/249822507"
width="100%" height="640" frameborder="0"></iframe>
</div>
</div>
<a href="{{ path('talent_dashboard') }}" class="btn btn-default m-t-20">Accéder à mon profil</a>
<br /><br />
<a class="text modal-action modal-close">Fermer</a>
</div>
{% endif %}
</div>
</div>
</div>
</div>
</div>
{% endif %}
{% endif %}
{% endblock %}
{% block javascripts %}
@@ -190,19 +133,15 @@
$(document).ready(function(){
$('.tooltipped').tooltip();
$.get( "{{ path('ad_ajaxRecStat',{'id': ad.id }) }}", function( data ) {});
if ($('#modal-answer').length > 0) {
$('#modal-answer').modal({
dismissible: false,
ready: function(modal, trigger) {}
});
$('#modal-answer').modal('open');
}
});
</script>
{% endblock %}
{% block stylesheets %}
<script type="application/ld+json">
{{- ad.structuredData|raw -}}
{{- ad.structuredData|raw -}}
</script>
<script type="text/javascript" src="//s7.addthis.com/js/300/addthis_widget.js#pubid=ra-5a095d2dd3cf90df"></script>
{% endblock %}
@@ -21,7 +21,7 @@
{% endif %}
{% endif %}
<a href="{{ path('company_show',{'alias': ad.company.alias }) }}" title="{{ ad.company.brandName }}" class="btn btn-default btn-small-grey">
Découvrir l'employeur
Découvir l'employeur
</a>
<p class="profil-name">
<a href="{{ path('company_show',{'alias': company.alias }) }}" title="{{ company.brandName }}">
@@ -56,18 +56,12 @@
{{ 'ad.talent.isAnswer.label'|trans }}
</div>
{% elseif not is_granted('ROLE_COMPANY') %}
{% if not ad.isPromoted %}
<p class="item-detail-reply">
<a href="{{ path('talent_answer_create',{'id': ad.getId()}) }}"
class="btn btn-default">
Postuler
</a>
</p>
{% else %}
<div class="item-detail-ispromoted">
Offre pourvue
</div>
{% endif %}
<p class="item-detail-reply">
<a href="{{ path('talent_answer_create',{'id': ad.getId()}) }}"
class="btn btn-default">
Postuler
</a>
</p>
{% endif %}
{% endif %}
</div>
@@ -1,4 +1,4 @@
{% if not app.user or is_granted('ROLE_TALENT_TMP')%}
{% if not app.user %}
<div class="header-link header-link-signin right-align">
{% if app.request.get('_route') == "fos_user_security_login" %}
{% set href = "" %}
@@ -1,4 +1,4 @@
{% for company in companies if company.isPrivate != true %}
{% for company in companies %}
<div class="col s12">
<div class="card z-depth-3 card-company">
<div class="card-content card-content-company">
@@ -37,7 +37,80 @@
<div class="row m-b-0 p-b-30">
<div class="col s12 m12">
<div id="liste-resultats">
{% include 'default/company_listing.html.twig' with {'companies':companies} %}
{% for c in companies %}
{% 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 %}
</div>
</div>
</div>
@@ -1,74 +0,0 @@
{% 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,15 +0,0 @@
{% if destination_login is defined %}
{% set destination = destination_login %}
{% else %}
{% set destination = path('redirect_dashboard') %}
{% endif %}
<a class="btn btn-default btn-facebook z-depth-2" href="{{ url("hwi_oauth_service_redirect", {service: "facebook"}) }}?_destination={{ destination }}">Connexion avec Facebook</a>
<a class="btn btn-default btn-linkedin z-depth-2" href="{{ url("hwi_oauth_service_redirect", {service: "linkedin"}) }}?_destination={{ destination }}">Connexion avec Linkedin</a>
<div class="row">
<div class="col s12">
<div class="separator-with-label">
<hr>
<label><span>ou</span></label>
</div>
</div>
</div>
@@ -1,7 +1,7 @@
<footer class="page-footer">
<div class="container">
<div class="row footer-info">
<div class="col xl2 l2 m6 s12 col-footer-logo">
<div class="col xl2 l2 m6 s6">
<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">
@@ -16,9 +16,6 @@
<li>
<a class="white-text" href="{{ path('company_list') }}" title="Listes entreprises">Nos entreprises</a>
</li>
<li>
<a class="white-text" href="{{ path('territory_list') }}" title="Listes des territoires">Nos territoires</a>
</li>
<li>
<a class="white-text" href="https://blog.talentstube.com/contact.html" title="Talents Tube ">Contact</a>
</li>
@@ -44,16 +41,13 @@
<a class="white-text td-none" href="https://twitter.com/TalentsTuber" title="Twitter" target="_blank">
<i class="fa fa-twitter" aria-hidden="true"></i>
</a>
<a class="white-text td-none" href="https://www.youtube.com/channel/UCRNqiJCLAorO0aCzNQu-8ww" title="Youtube" target="_blank">
<i class="fa fa-youtube" aria-hidden="true"></i>
</a>
<a class="white-text td-none" href="https://www.linkedin.com/company/talentstube" title="Linkedin" target="_blank">
<i class="fa fa-linkedin-square" aria-hidden="true"></i>
</a>
</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 30 05 06 31</p>
<p class="white-text" >02 97 68 14 02</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,11 +58,7 @@
</div>
<div class="row footer-more-links">
<div class="col s12 center-align">
<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>
<a class="text-center white-text" href="https://www.e-declic.com" target="_blank" title="Agence Web">&copy;&nbsp;2017 Talents Tube</a>
</div>
</div>
</div>
@@ -80,4 +70,4 @@
{{ render(controller('AppBundle:SecurityModal:loginModal')) }}
</div>
</div>
{% endif %}
{% endif %}
@@ -9,13 +9,12 @@
{# VIDEO #}
<div class="col l12 m12 s12 home-content col-noPadding">
<div id="homeTeaser" class="valign-wrapper">
<h1 class="white-text center-align">1ère plateforme pour lemploi <span>100% vidéo</span></h1><br />
<div class="link-home-head">
<a data-target="modal_concept" href="#!" class="btn btn-default btn-round btn-concept modal-trigger">
Le concept en vidéo &nbsp;&nbsp;&nbsp;
<img src="{{asset('img/bouton-play.png')}}" />
</a>
</div>
<h1 class="white-text center-align">1er job board <span>100% vidéo</span></h1><br />
<a data-target="modal_concept" href="#!" class="btn btn-default btn-round btn-concept modal-trigger">
Le concept en vidéo &nbsp;&nbsp;&nbsp;
<img src="{{asset('img/bouton-play.png')}}" />
</a>
<div class="header-video-inner">
<video loop="" preload="metadata" autoplay="" id="vid" muted>
<source src="/img/home_video.mp4" type="video/mp4">
@@ -33,10 +32,7 @@
<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 d'emploi</h2>
<h3 class="subtitles-homepage">Postulez en CV vidéo ou vidéo de motivation</h3>
</div>
<div class="col s12"><h2 class="blue-text no-margin-top">Les offres <span>d'emploi</span></h2></div>
</div>
<div class="row">
<div class="col s12 col-noPadding">
@@ -50,7 +46,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">Voir les offres
class="btn btn-default btn-round btn-all-jobs">Découvrir toutes les offres d'emploi
</a>
</div>
</div>
@@ -63,14 +59,15 @@
<div class="container">
<div class="row center-align">
<div class="col s12">
<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>
<h2 class="blue-text no-margin-top">
La marque employeur des <span>entreprises de talents</span>
</h2>
</div>
</div>
<div class="row">
<div class="col s12 col-noPadding">
<div class="owl-carousel owl-carousel-home home-company-carousel">
{% if companies|length > 0 %}
{% if talents|length > 0 %}
{% include 'default/company_card.html.twig' with {'companies': companies } %}
{% endif %}
</div>
@@ -78,7 +75,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">Voir les entreprises</a>
<a href="{{ path('company_list') }}" title="Toutes les entreprise" class="btn btn-default btn-round btn-all-talents">Découvrir toutes les entreprises</a>
</div>
</div>
</div>
@@ -92,8 +89,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 talents</h2></div>
<h3 class="subtitles-homepage">Découvrez leurs CV vidéo et vidéo de motivation.</h3>
<div class="col s12"><h2 class="blue-text no-margin-top">Les CV vidéo
<span>à la une</span></h2></div>
</div>
<div class="row">
<div class="owl-carousel owl-carousel-home home-talent-carousel">
@@ -109,11 +106,10 @@
<div class="container">
<div class="row center-align">
<div class="col s12">
<h2 class="blue-text no-margin-top">Les territoires</h2>
<h3 class="subtitles-homepage">Venez vivre et travailler chez nous.</h3>
<h2 class="blue-text no-margin-top">Les territoires <span>pour vivre et travailler</span></h2>
{% if territories %}
<div class="owl-carousel owl-carousel-home territory-carousel">
{% for territory in territories if territory.presentationVideo and territory.isPrivate != true %}
{% for territory in territories if territory.presentationVideo %}
<div class="item">
<div class="embed-responsive embed-responsive-16by9">
<div class="col s12">
@@ -123,8 +119,8 @@
</div>
</div>
<div class="m-t-30">
<a title="Voir les territoires" class="btn btn-default" href="{{ path('territory_list') }}">
Voir les territoires</span>
<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>
</div>
</div>
@@ -202,7 +198,6 @@
</div>
</div>
</div>
{% include 'testimony/testimony_list.html.twig' %}
</div>
<div id="modal_concept" class="modal modal-fixed-footer">
<div class="modal-content">
@@ -12,9 +12,4 @@
{% block description %}{{ page.description }}{% endblock %}
{% block content %}
{{ page.content|raw }}
{% if isTestimony is defined %}
{% include 'testimony/testimony_list.html.twig' %}
{% endif %}
{% endblock %}
{% block content %}{{ page.content|raw }}{% endblock %}
@@ -4,9 +4,7 @@
<div class="item">
<a href="{{ path('talent_show',{'alias': talent.alias }) }}"
title="{{ user.firstname }} {{ user.lastname }}">
{% if user.socialPicture is not null and user.photo is null %}
<img class="circle z-depth-3" src="{{ user.socialPicture }}" alt="{{ user.firstname }} {{ user.lastname }}"/>
{% elseif user.photo %}
{% if user.photo %}
<img class="circle z-depth-3" src="{{ user.webPath | imagine_filter('profile_square') }}" alt="{{ user.firstname }} {{ user.lastname }}"/>
{% else %}
<img class="circle z-depth-3"
@@ -17,7 +17,7 @@
<div class="dz-error-mark"><span>✘</span></div>
<div class="dz-error-message"><span data-dz-errormessage></span></div>
{% if deleting is defined %}
<a href="javascript:undefined;" class="dz-remove" data-dz-remove>Supprimer la vidéo</a>
<a href="javascript:undefined;" class="btn btn-default bnt-round dz-remove" data-dz-remove>Supprimer la vidéo</a>
{% endif %}
</div>
</div>
@@ -5,7 +5,7 @@
{#<h1 class="alttitle">Espace offres d'emploi</h1>#}
<div class=" row bg-bordered p-20">
<ul class="tabs">
<li class="tab col s4"><a class="active" href="#reponses">Mes candidatures</a></li>
<li class="tab col s4"><a class="active" href="#reponses">Mes réponses</a></li>
</ul>
<div id="reponses" class="col s12">
<table class="bordered highlight responsive-table">
@@ -21,18 +21,15 @@
{% for a in answers %}
<tr>
<td>
{% if a.ad != null %}{{ a.ad.title }}{% else %}{{ a.company.brandname }}{% endif %}<br />
{{ a.ad.title }}<br />
{% if a.video is not null %}
<a class="waves-effect waves-light btn btn-default modalBtn" href="#" data-url="{{ a.video.cdnUrl }}">Voir la vidéo</a>
{% endif %}
</td>
<td>{{ a.uTime|date('d/m/Y') }}</td>
<td>{{ a.ad.countAnswers }}</td>
<td>
{% if a.ad != null %} {{ a.ad.countAnswers }}{% endif %}
</td>
<td>
{% if a.status == "DRAFT" and a.ad != null %}
{% if a.status == "DRAFT" %}
<a href="{{ path('talent_answer_create',{id:a.ad.id}) }}">
<i class="fa fa-pencil-square-o" aria-hidden="true"></i>
</a>
@@ -1,227 +0,0 @@
{% extends 'base.html.twig' %}
{% block content %}
<div id="wrapper" class="contentWrapper">
<div class="row">
<div class="col s8 offset-s2">
<h3>Candidature pour l'entreprise : {{ company.brandName() }}</h3>
<div class="card-panel">
<strong><b>Comment procéder ?</b></strong>
<div class="row">
<div class="col s12 m5">
<h4 class="color-blue1">Vous ne disposez pas de CV vidéo</h4>
<p>Vous pouvez enregistrer directement votre réponse si vous disposez d'une webcam en <b>cliquant
sur le bouton ci-dessous</b>.
Une fois votre vidéo enregistrée et téléchargée vous pouvez la déposer dans la zone de
téléchargement afin de valider votre réponse.</p><br/>
<a class="modal-trigger waves-effect waves-light btn btn-default" href="#modal1">Filmer mon
CV vidéo</a>
</div>
<div class="col offset-m2 s12 m5">
<h4 class="color-blue1">Vous disposez déjà d'un cv vidéo</h4>
<p>Pour répondre à cette annonce il vous suffit de glisser votre vidéo de réponse dans la
<strong><a href="#infosDropzone">zone ci-dessous</a></strong>. Une fois la vidéo
téléchargée vous pourrez valider votre réponse. Vous pouvez néanmoins laisser
un message en complément de la vidéo dans la zone prévue à cette effet plus bas.
</p>
<a class="modal-trigger waves-effect waves-light btn btn-default" href="#modal2">Choisir une
vidéo de ma vidéothèque</a>
</div>
</div>
</div>
<p></p>
{% set video = null %}
{% include 'media/dropzone.html.twig' %}
{{ form_start(form, {'attr': { 'id': 'form_media' } }) }}
{{ form_row(form.status) }}
<br/><br/>
<div class="row">
<div class="input-field col s12">
{{ form_errors(form.comment) }}
{{ form_widget(form.comment) }}
{{ form_label(form.comment) }}
</div>
</div>
<br/>
{{ form_rest(form) }}
<button id="submit" class="btn btn-large btn-default disabled" type="submit">
Valider ma réponse
</button>
{{ form_end(form) }}
<br/>
</div>
</div>
</div>
<!-- Modal Vidéotheque -->
<div id="modal2" class="modal modal-fixed-footer">
<div class="modal-content modal-choiceExistingVideo">
<h2>Choisir une vidéo existante</h2>
<div class="row">
{% for vid in videos %}
{% set img = "" %}
{% if vid.thumbnails.0 is defined %}
{% set img = vid.thumbnails.0.sizes.4.link %}
{% endif %}
<div class="col s4">
<a class="addExistingVideo tooltipped btn btn-default"
data-url="https://player.vimeo.com{{ vid.getCdnUrl()|replace({ "videos": "video"}) }}"
data-img="{{ img }}" data-position="top" data-tooltip="Choisir cette vidéo" href="#"
data-title="{{ vid.getTitle() }}" data-id="{{ vid.getId() }}">
<span class="truncate">{{ vid.getTitle() }}</span><br/>
</a>
<iframe src="https://player.vimeo.com{{ vid.getCdnUrl()|replace({ "videos": "video"}) }}"
width="100%" height="auto" frameborder="0" webkitallowfullscreen mozallowfullscreen
allowfullscreen></iframe>
</div>
{% endfor %}
</div>
</div>
</div>
<!-- Modal Structure -->
<div id="modal1" class="modal modal-fixed-footer">
<div class="modal-content">
<div class="row">
<div class="col m5 s12">
<h4 class="color-blue1">J'enregistre mon CV vidéo</h4>
<video id="myCvVideo" class="video-js vjs-default-skin"></video>
<div class="video-informations-card">
<p>Merci de cliquer sur l'icone <span class="vjs-icon-device-perm"></span> afin d'activer votre
webcam.</p>
<p>Votre webcam activée, lancez l'enregistrement en cliquant sur le bouton rond en bas à gauche
du lecteur.</p>
<p>Si vous n'êtes pas satisfait de votre CV vidéo après un enregistrement, vous pouvez à tout
moment recommencer l'enregistrement.</p>
</div>
</div>
<div class="col m2 hide-on-small-only">
<div class="valign-wrapper"
style="align-items:center;justify-content: center;height: 300px;width:100%;">
<div style="font-size:40px;">
<i class="fa fa-arrow-right center-align" aria-hidden="true"></i>
</div>
</div>
</div>
<div class="col m5 s12">
<h4 class="color-blue1">Je prévisualise mon CV vidéo</h4>
<video id="preview" controls="true">
<span class="vjs-control-text">Play Video</span>
</video>
<div class="btnContainer center-align" style="display:none;">
<a id="saveRecord" href="#!" class="saveVideo btn btn-default">
<i class="fa fa-floppy-o" aria-hidden="true"></i>&nbsp; Télécharger mon cv-vidéo
</a>
<div class="video-informations-card">
<p>Une fois téléchargé vous pouvez glisser-déposer votre CV-vidéo dans la zone prévue pour
lancer le téléchargement.</p>
</div>
</div>
</div>
</div>
</div>
<div class="modal-footer">
<a href="#!" class="modal-action modal-close waves-effect waves-blue btn-flat ">Fermer</a>
</div>
</div>
{% endblock %}
{% block javascripts %}
{{ parent() }}
<script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyDYV8IJGtIoWLfXJQQvIuDQ88n2aEuRgpg&libraries=places"></script>
<script type="text/javascript">
var urlDropzone = '{{ path("upload_media_answer", {"id": answer.getId()}) }}';
var urlDelete = '{{ path("delete_media_answer", {"id": answer.getId() }) }}';
var idObject = '{{ answer.getId() }}';
var typeObject = "answer";
var videoExist = false;
</script>
<script type="text/javascript">
$(".addExistingVideo").click(function () {
var idVideo = $(this).data("id");
var titleVideo = $(this).data("title");
var imgVideo = $(this).data("img");
var urlVideo = $(this).data("url");
var drop = $("#my-awesome-dropzone")[0].dropzone;
drop.removeAllFiles(true);
$.ajax({
type: 'POST',
url: '{{ path("link_media_answer", {"id": answer.getId()}) }}',
data: "idVideo=" + idVideo,
dataType: 'html',
success: function (response) {
Materialize.toast('Vidéo associé Merci', 4000);
$('#modal2').modal();
$('#modal2').modal('close');
videoOriginal = urlVideo;
videoExist = true;
var mockFile = {name: titleVideo, size: '100', type: 'mp4', serverID: 0, accepted: true};
drop.emit("addedfile", mockFile);
drop.files.push(mockFile);
iframe = '{% include "media/dropzoneTemplateSuccess.html.twig" with {"url_iframe": "#URL_PLACEHOLDER#"} only %}';
iframe = iframe.replace('#URL_PLACEHOLDER#', urlVideo);
if ($('#preview_video > iframe').length) {
$('#preview_video > iframe').attr('src', urlVideo);
$('#preview_video > *').fadeIn();
if ($("#form_media #submit").hasClass('disabled')) {
$("#form_media > #submit").removeClass('disabled');
$("#form_media > #submit").addClass('pulse');
}
} else {
$('#preview_video').html(iframe);
}
if ($("#form_media #submit").hasClass('disabled')) {
$("#form_media > #submit").removeClass('disabled');
$("#form_media > #submit").addClass('pulse');
}
},
error: function (response, xhr, ajaxOptions, thrownError) {
Materialize.toast('Erreur lors de l\'association de la vidéo!', 4000);
}
});
});
</script>
<script src="{{ asset('/js/dropzone.js') }}"></script>
<script src="{{ asset('/js/vendors/video.min.js') }}"></script>
<script src="{{ asset('/js/vendors/RecordRTC.js') }}"></script>
<script src="{{ asset('/js/vendors/videojs.record.js') }}"></script>
<script src="{{ asset('/js/vendors/jquery.browser.min.js') }}"></script>
<script language="JavaScript">
var player = videojs("myCvVideo",
{
controls: true,
width: 320,
height: 240,
plugins: {
record: {
audio: true,
video: true,
maxLength: 300,
debug: true,
videoMimeType: 'video/mp4',
}
}
});
player.on('deviceError', function () {
console.log('device error:', player.deviceErrorCode);
});
player.on('error', function (error) {
console.log('error:', error);
});
player.on('startRecord', function () {
console.log('started recording!');
});
player.on('finishRecord', function () {
$(".btnContainer").fadeIn();
var preview = document.querySelector('#preview');
var file = player.recordedData;
var agent = navigator.userAgent;
if ($.browser.mozilla) {
window.URL = window.URL || window.webkitURL;
fileURL = window.URL.createObjectURL(file);
preview.src = fileURL;
} else {
preview.src = URL.createObjectURL(file.video);
}
});
$("#saveRecord").on('click', function () {
player.recorder.saveAs({'video': 'mon-cv-talentstube'});
});
</script>
{% endblock %}
@@ -3,20 +3,13 @@
<div class="profil center-align">
{% set company = app.user.company %}
<div class="profil-picture">
{% if app.user.photo is not null %}
{% if app.user.photo %}
<img src="{{ app.user.webPath | imagine_filter('profile_square') }}"
alt="{{ app.user.firstname }} {{ app.user.lastname|first|upper }}"
class="circle responsive-img"/>
<a href="#modalProfilePicture">
<i class="fa fa-pencil" aria-hidden="true"></i>
</a>
{% elseif app.user.socialPicture is not null %}
<img src="{{ app.user.socialPicture }}"
alt="{{ app.user.firstname }} {{ app.user.lastname|first|upper }}"
class="circle responsive-img"/>
<a href="#modalProfilePicture">
<i class="fa fa-pencil" aria-hidden="true"></i>
</a>
{% else %}
<div class="circle-letters font-2">{{ app.user.firstname|first|upper }}{{ app.user.lastname|first|upper }}</div>
<a href="#modalProfilePicture">
@@ -85,6 +78,7 @@
'AppBundle:Media:profilePicture'
)) }}
</div>
</div>
<div class="modal-footer">
<a href="#!" class="modal-action modal-close waves-effect waves-green btn-flat">Fermer</a>
@@ -133,7 +133,7 @@
<div class="col s12">
<span class="bg-blue-1 text-gradient font-2 fs-20">Mes dernières offres consultées</span>
</div>
<div class="owl-carousel owl-carousel-ptalent">
<div class="owl-carousel">
{% for historyAd in historyAds %}
<div class="item">
<a href="{{ path('ad_show',{'alias': historyAd.alias }) }}"
@@ -14,10 +14,10 @@
<div class="profil center-align">
{% set company = user.company %}
<div class="profil-picture">
{% if user.socialPicture is not null and user.photo is null %}
<img class="circle responsive-img" src="{{ user.socialPicture }}" alt="{{ user.firstname }} {{ user.lastname|first|upper }}"/>
{% elseif user.photo %}
<img class="circle responsive-img" src="{{ user.webPath | imagine_filter('profile_square') }}" alt="{{ user.firstname }} {{ user.lastname }}"/>
{% if user.photo %}
<img src="{{ user.webPath | imagine_filter('profile_square') }}"
alt="{{ user.firstname }} {{ user.lastname|first|upper }}"
class="circle responsive-img"/>
{% else %}
<div class="circle-letters font-2">{{ user.firstname|first|upper }}{{ user.lastname|first|upper }}</div>
{% endif %}
@@ -113,7 +113,10 @@
{% block javascripts %}
{{ parent() }}
<script src="https://player.vimeo.com/api/player.js"></script>
<script>
var iframe = document.querySelector('iframe');
var player = new Vimeo.Player(iframe);
$(document).ready(function(){
$.get( "{{ path('talent_ajaxRecStat',{'id': talent.id }) }}", function( data ) {
});
@@ -16,37 +16,43 @@
</div>
</div>
{% endif %}
<div class="col s3">
<div class="col s5">
<h5 class="blue-text no-margin-top">Volumes des visites</h5>
</div>
<div class="col s9 choiceMonthWrapper right-align">
{% set thisYear = "now"|date("Y") %}
{% set thisMonth = "now"|date("m") %}
{% set thisDay = "now"|date("d") %}
{% set dateTextMoins = "now -1 Month"|date("d-m-Y") %}
{% set dateText = "now"|date("d-m-Y") %}
<input id="choiceMonth" type="text" name="daterange" value="{{ dateTextMoins }} au {{ dateText }}" />
<i class="fa fa-refresh fa-spin fa-fw"></i>
<span class="sr-only">Loading...</span>
<div class="col s2 choiceMonthWrapper right-align">
<select id="choiceMonth">
{% set thisYear = "now"|date("Y") %}
{% set thisMonth = "now"|date("m") %}
{% for month in 1..thisMonth %}
{% set date = month ~ "/01/" ~ thisYear %}
<option {% if loop.last %}selected{% endif %} value="{{ date|date("m") }}">{{ date|datetime('%B') }}</option>
{% endfor %}
</select>
</div>
<div class="col s5 right-align">
{% set totalAds = 0 %}
{% if arrayByAds is defined %}
{% for record in arrayByAds %}
{% set totalAds = totalAds + record.count %}
{% endfor %}
{% endif %}
<span class="btn-countVisitsAds">{{ totalAds }} visites</span>
<span class="btn-countVisitsCompany">{{ totalRecordsCompany }} visites</span>
</div>
<div class="col s12">
<canvas id="nb_visits" width="600" height="300"></canvas>
</div>
<div class="col s6 countLegend">
<div class="col s12">
<p><span class="btn-countVisitsAds">&nbsp;</span>Nombre de visites d'annonces rattachées à votre territoire</p>
<p><span class="btn-countVisitsCompany">&nbsp;</span>Nombre de visites de votre page territoire</p>
</div>
<div class="col s6 countBlock">
<span class="btn-countVisitsAds"><span class="countVisitsAds"></span>&nbsp;visites</span>
<span class="btn-countVisitsCompany"><span class="countVisitsCompany"></span>&nbsp;visites</span>
</div>
</div>
<div id="donutChart-wrapper" class="row bg-bordered p-20">
<div class="col s6">
<h5 class="blue-text no-margin-top">Répartition des visites</h5>
<canvas id="donught_visits" width="300" height="300"></canvas>
</div>
<div class="col s6 donutLegend countLegend">
<div class="col s6 donutLegend">
<p><span class="btn-count btn-countVisitsTalentByCompany">&nbsp;</span>Visites de talents</p>
<p><span class="btn-count btn-countVisitsCompanyByCompany">&nbsp;</span>Visites d'entreprises</p>
<p><span class="btn-count btn-countVisitsAnonymByCompany">&nbsp;</span>Visites d'internautes non-inscrits</p>
@@ -55,123 +61,61 @@
{% endblock %}
{% block javascripts %}
{{ parent() }}
<script src="{{ asset('/js/vendors/Chart.bundle.min.js') }}"></script>
<script type="text/javascript">
var currentMonth = '{{ "now"|date("m") }}';
var arrayRecords;
var ctx,myChart,arrayCurrentsLabel,arrayCurrentsAdsValues,arrayCurrentsCompanyValues,donughtRecords;
var sumVisitsAds = 0;
var sumCompanyValues = 0;
function loadChartData() {
{{ parent() }}
<script src="{{ asset('/js/vendors/Chart.bundle.min.js') }}"></script>
<script type="text/javascript">
$('#choiceMonth').on('change',function(){
currentMonth = $(this).val();
setArrayValues();
dataLine.labels = arrayCurrentsLabel;
dataLine.datasets[0].data = arrayCurrentsAdsValues;
dataLine.datasets[1].data = arrayCurrentsCompanyValues;
myChart.update();
});
var currentMonth = '{{ "now"|date("m") }}';
var arrayRecords = JSON.parse('{{ lineRecords|json_encode()|raw }}');
var arrayCurrentsLabel,arrayCurrentsAdsValues,arrayCurrentsCompanyValues;
setArrayValues();
myChart.update();
myDoughnutChart.update();
}
function getChartData(date1,date2) {
$.ajax({
type: "POST",
url: '{{ path("territory_ajax_dashboard") }}',
data: 'date1='+date1+'&date2='+date2,
dataType: "json",
success: function (data) {
arrayRecords = data.lineRecords;
donughtRecords = data.donughtRecords;
myDoughnutChart.data.datasets[0].data = donughtRecords;
loadChartData();
$('.fa-refresh').hide();
},
error: function (data) {
$('.fa-refresh').hide();
}
});
}
document.addEventListener("DOMContentLoaded", function(event) {
$('.fa-refresh').hide();
getChartData(0, 0);
configDatePicker = {
applyBtnClass: 'btn btn-default',
format: 'DD-MM-YYYY',
separator: ' au ',
endDate: new Date(),
maxDays: 365
}
$('#choiceMonth').dateRangePicker(configDatePicker).bind('datepicker-apply',function(event,obj) {
$('.fa-refresh').show();
var month1 = obj.date1.getMonth();
var day1 = obj.date1.getDate();
var year1 = obj.date1.getUTCFullYear();
var month2 = obj.date2.getMonth();
var day2 = obj.date2.getDate();
var year2 = obj.date2.getUTCFullYear();
var date1 = (month1 + 1) + "/" + day1 + "/" + year1 +" 00:00:00";
var date2 = (month2 + 1) +"/" + day2 + "/" + year2 +" 23:59:59";
getChartData(date1, date2);
});
$('.apply-btn').attr('value','Valider');
});
function setArrayValues(){
arrayCurrentsLabel = [];
arrayCurrentsAdsValues = [];
arrayCurrentsCompanyValues = [];
arrayRecords['labels'].forEach(function(element, index) {
var date = element.split("-");
var dateAffiche = date[2]+"-"+date[1]+"-"+date[0];
arrayCurrentsLabel.push(dateAffiche);
arrayCurrentsAdsValues.push(arrayRecords['datasetsAd'][index]);
arrayCurrentsCompanyValues.push(arrayRecords['datasetsCompany'][index]);
});
myChart.data.labels = arrayCurrentsLabel;
myChart.data.datasets[0].data = arrayCurrentsAdsValues;
myChart.data.datasets[1].data = arrayCurrentsCompanyValues;
if (arrayCurrentsAdsValues.length > 0) {
sumVisitsAds = arrayCurrentsAdsValues.reduce(function(memo, val) {
let value = val || 0;
if (value != null) {
return memo + value;
function setArrayValues(){
arrayCurrentsLabel = [];
arrayCurrentsAdsValues = [];
arrayCurrentsCompanyValues = [];
arrayRecords['labels'].forEach(function(element, index) {
var date = element.split("-");
if(date[1] == currentMonth){
var dateAffiche = date[2]+"-"+date[1]+"-"+date[0];
arrayCurrentsLabel.push(dateAffiche);
arrayCurrentsAdsValues.push(arrayRecords['datasetsAd'][index]);
arrayCurrentsCompanyValues.push(arrayRecords['datasetsCompany'][index]);
}
});
} else {
sumVisitsAds = 0;
}
if (arrayCurrentsCompanyValues.length > 0) {
sumCompanyValues = arrayCurrentsCompanyValues.reduce(function(memo, val) {
let value = val || 0;
if (value != null) {
return memo + value;
var dataLine = {
labels: arrayCurrentsLabel,
datasets: [
{
label: "Nombre de visite d'annonce par jour",
fill: false,
fontColor: "rgba(39,139,231,1)",
backgroundColor: "rgba(39,139,231,1)",
borderColor: "rgba(39,139,231,1)",
data: arrayCurrentsAdsValues
}, {
label: "Nombre de visite de votre page entreprise",
fill: false,
fontColor: "#F9C339",
backgroundColor: "#F9C339",
borderColor: "#F9C339",
data: arrayCurrentsCompanyValues
}
});
} else {
sumCompanyValues = 0;
}
]
};
$('.countVisitsAds').html(sumVisitsAds);
$('.countVisitsCompany').html(sumCompanyValues);
}
var dataLine = {
datasets: [
{
label: "Nombre de visite d'annonce par jour",
fill: false,
fontColor: "rgba(39,139,231,1)",
backgroundColor: "rgba(39,139,231,1)",
borderColor: "rgba(39,139,231,1)"
}, {
label: "Nombre de visite de votre page entreprise",
fill: false,
fontColor: "#F9C339",
backgroundColor: "#F9C339",
borderColor: "#F9C339"
}
]
};
var ctx = document.getElementById("nb_visits");
var ctx = document.getElementById("nb_visits");
var myChart = new Chart(ctx, {
type: 'line',
data: dataLine,
@@ -181,58 +125,59 @@
},
scales: {
xAxes: [{
display: true,
scaleLabel: {
display: true,
labelString: 'Date'
}
display: true,
scaleLabel: {
display: true,
labelString: 'Date'
}
}],
yAxes: [{
ticks: {
min: 0
},
scaleLabel: {
display: true,
labelString: 'Valeur'
}
}]
scaleLabel: {
display: true,
labelString: 'Valeur'
}
}]
}
}
});
var dataDonught = {
labels: [
"Visites de talents",
"Visites d'entreprises",
"Visites d'internautes non inscrit"
],
datasets: [
{
data: donughtRecords,
backgroundColor: [
"#FF6384",
"#36A2EB",
"#FFCE56"
],
hoverBackgroundColor: [
"#FF6384",
"#36A2EB",
"#FFCE56"
]
}]
};
var ctxDonught = document.getElementById("donught_visits");
var myDoughnutChart = new Chart(ctxDonught, {
type: 'doughnut',
data: dataDonught,
options: {
legend: {
display: false,
},
animation: {
animateScale: true
var dataDonught = {
labels: [
"Visites de talents",
"Visites d'entreprises",
"Visites d'internautes non inscrit"
],
datasets: [
{
data: {{ donughtRecords|json_encode() }},
backgroundColor: [
"#FF6384",
"#36A2EB",
"#FFCE56"
],
hoverBackgroundColor: [
"#FF6384",
"#36A2EB",
"#FFCE56"
]
}]
};
var ctxDonught = document.getElementById("donught_visits");
var myDoughnutChart = new Chart(ctxDonught, {
type: 'doughnut',
data: dataDonught,
options: {
legend: {
display: false,
},
animation: {
animateScale: true
}
}
}
});
});
</script>
{% endblock %}
@@ -36,7 +36,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 %}
{% for c in companies %}
{% if (c.presentationVideo is not null or c.getPublishedAds|length > 0 ) %}
<div class="row item-list-bis z-depth-2 row-noMargin">
@@ -67,10 +67,7 @@
<p class="m-0">
<a class="td-none color-grey3"
href="{{ path('territory_show',{'alias': c.alias, '_fragment':'offers' }) }}">
{% set nbAds = 0 %}
{% for territoryAd in c.getTerritoryAds if territoryAd.ad != null %}
{% set nbAds = nbAds + 1 %}
{% endfor %}
{% set nbAds = c.getTerritoryAds|length %}
{% if nbAds > 1 %}
<strong>{{ nbAds }} offres d'emploi en
cours sur ce territoire</strong>
@@ -95,45 +95,16 @@
</div>
</div>
</div>
{% if company.descriptionAdmin %}
<div class="col s12 m12 l8 xl9 right">
<div class="row bg-bordered">
<div class="col s12">
<div class="item-detail-description-bo">
<p>{{ company.descriptionAdmin|raw }}</p>
</div>
</div>
</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 du territoire : {{ company.brandname }}</h1>
<h1>Les offres demploi pour {{ 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>
@@ -1,42 +0,0 @@
<div id="liste-testimony" class="bg-white">
<div class="container">
<div class="row row-noMargin">
<div class="owl-carousel owl-carousel-testimony">
<div class="item">
<div class="row">
<div class="col s12 l2">
<img class="circle z-depth-3" src="{{ asset('img/testimony/de-charry.jpg')}}" alt="Jean-Philippe, Gérant, cabinet de Charry"/>
</div>
<div class="col s12 l8 left-align">
<h3><strong>Jean-Philippe</strong>, Gérant, Cabinet de Charry</h3>
<p>
Notre entreprise amorce une nouvelle dynamique grâce à la vidéo de recrutement.<br />
Nous accueillons demain notre nouvel agent commercial, basé à Auray/Lorient.<br />
Il sera suivi de près par un autre très bientôt...<br />
Nous avons eu beaucoup dappréciations positives grâce à cette communication.
</p>
</div>
<div class="clear"></div>
</div>
</div>
<div class="item">
<div class="row">
<div class="col l2">
<img class="circle z-depth-3" src="{{ asset('img/testimony/lionel.jpg')}}" alt="Jean-Philippe, Gérant, cabinet de Charry"/>
</div>
<div class="col s12 l8 left-align text-testimony">
<h3><strong>Lionel</strong>, dirigeant, LB Groupe</h3>
<p>
Talents Tube nous a permis de recruter deux collaborateurs sur des profils bien spécifiques en un temps rapide.<br />
Loffre demploi vidéo a permis datteindre des candidats aux profils plus divers quune annonce classique sur papier ou web.<br />
Les CV vidéo ont permis de gagner un temps précieux au niveau de la présélection.<br />
Atout supplémentaire : nos annonces en vidéo ont contribué à développer notre marque employeur !
</p>
</div>
<div class="clear"></div>
</div>
</div>
</div>
</div>
</div>
</div>
@@ -40,5 +40,4 @@ assetic:
- 'js/vendors/typeahead.js'
- 'js/company.js'
- 'js/backend.js'
- 'js/tags.js'
- 'js/vendors/jquery-confirm.min.js'
- 'js/tags.js'
+1 -35
View File
@@ -25,9 +25,7 @@ framework:
engines: ['twig']
default_locale: "%locale%"
trusted_hosts: ~
# http://symfony.com/doc/master/deployment/proxies.html
# https://symfony.com/blog/fixing-the-trusted-proxies-configuration-for-symfony-3-3
trusted_proxies: [192.0.0.1, 10.0.0.0/8, 172.16.0.0/12]
trusted_proxies: ~
session:
handler_id: session.handler.native_file
save_path: "%kernel.root_dir%/../var/sessions/%kernel.environment%"
@@ -159,38 +157,6 @@ doctrine_migrations:
table_name: migration_versions
name: Application Migrations
hwi_oauth:
connect:
confirmation: false
account_connector: app.user_provider
target_path_parameter: _destination
#use_referer: true
firewall_names:
- main
fosub:
username_iterations: 30
properties:
facebook: facebookId
linkedin: linkedinId
resource_owners:
facebook:
type: facebook
client_id: 1800752833559014
client_secret: 454de729b1e58f506f94c8b50ca5c011
scope: "email, public_profile, user_birthday"
infos_url: "https://graph.facebook.com/me?fields=id,email,first_name,last_name,gender,birthday,picture.type(square)"
paths:
email: email
profilepicture: picture.data.url
#csrf: true
linkedin:
type: linkedin
client_id: 86m6hegwyj8lbo
client_secret: LIOibqDszsP2vQSr
infos_url: "https://api.linkedin.com/v1/people/~:(id,first-name,last-name,location,email-address,picture-urls::(original))?format=json"
options:
#csrf: true
# Monolog
monolog:
handlers:
@@ -30,5 +30,5 @@ monolog:
# type: chromephp
# level: info
swiftmailer:
delivery_addresses: ['%delivery_addresses%']
#swiftmailer:
# delivery_addresses: ['me@example.com']
@@ -1,16 +1,17 @@
# This file is auto-generated during the composer install
parameters:
mailer_transport: smtp
mailer_host: mail.gandi.net
mailer_user: noreply@talentstube.com
mailer_password: zfYwOGBHweCQ8OI9ghF6lUyo
secret: 416157a2389cec970df2a46fa8ffd361b76516d1
database_host: tt-website.postgres.dev
database_host: 'tt-website.postgres.dev'
database_port: '5432'
database_name: database
database_user: user
database_password: edcl56
mongodb_server: 'mongodb://tt-website.mongo.dev:27017'
#Mongo
mongodb_server: "mongodb://tt-website.mongo.dev:27017"
#Prestashop
prestashop_key: 9YUQ5jPqT4Z4x5s9B25pb1yuGBtpaeBDxpWDgicPF3CuP8F2p9aK18ZS
prestashop_path: /home/projects/prestashop1/store
prestashop_id: 1
@@ -18,10 +19,11 @@ parameters:
prestashop_month_id: 2
prestashop_ad_id: 1
prestashop_video_corporate_id: 3
prestashop_url: 'https://www.talentstube.com/store/'
prestashop_url: https://www.talentstube.com/store/
#Media
media_video_dir: '%kernel.root_dir%/../web/uploads/videos/'
media_video_url: 'http://pp-static.talentstube.com/videos/'
media_photo_dir: '%kernel.root_dir%/../web/uploads/photos/'
elastic_host: tt-website.elasticsearch.dev
elastic_port: 9200
delivery_addresses: thomas@e-declic.com

Some files were not shown because too many files have changed in this diff Show More