Compare commits

...

140 Commits

Author SHA1 Message Date
Thomas MONCHICOURT 1907aeb647 Feat : Mise en place des titles pour le suivi event #7071 @0h10 2018-08-16 14:43:46 +02:00
Thomas MONCHICOURT 5f1e89b7ea Fix : facebook connexion 2018-08-01 10:43:47 +02:00
root 0f7f85c39e Merge branch 'master' of https://git.e-declic.net/talents-tube/website 2018-07-26 09:31:57 +02:00
root e912a508d3 Conf : git erver side updated files 2018-07-26 09:31:46 +02:00
Maxime Thévenot ea3cdf0553 Fix : set store in noindex nofollow 2018-07-26 09:24:55 +02:00
Maxime Thévenot 4518a8a5e2 Fix: set noindex on spontaneous answer 2018-07-25 16:11:32 +02:00
Thomas MONCHICOURT c6a00a24c7 Merge branch 'develop'
# Conflicts:
#	volume/www/website/www/web/css/styles.css.map
2018-07-23 14:59:36 +02:00
Thomas MONCHICOURT 68ca21136a Fix : merge css 2018-07-23 14:55:29 +02:00
Thomas MONCHICOURT d14bea9c1a Fix : Territoires en homepage #6769 @0h10 2018-07-23 14:47:01 +02:00
Thomas MONCHICOURT b2a6e425aa Fix : modif css suite merge 2018-07-23 14:13:21 +02:00
Thomas MONCHICOURT fd48045549 Merge branch 'feat/new-style-title' into develop
# Conflicts:
#	volume/www/website/www/web/css/styles.css.map
2018-07-23 14:12:46 +02:00
Thomas MONCHICOURT 512d269f53 feat : Modification des titles en home #6769 @0h15 2018-07-23 11:07:07 +02:00
Thomas MONCHICOURT 3743166ac2 Feat: modification recherche #6770 @1h20 2018-07-23 10:45:31 +02:00
Thomas MONCHICOURT 72c72a5986 Feat : modification recherche #6770 @0h30 2018-07-20 17:08:08 +02:00
Thomas MONCHICOURT f3e2cb2cf1 Feat : Nouveau bandeau offre pourvu #6779 @0h30 2018-07-20 16:36:18 +02:00
Thomas MONCHICOURT c83832cdc1 Fix : liste annonce territoire 2018-07-10 10:15:14 +02:00
Thomas MONCHICOURT dc4fbb6d63 Fix : calcul nb annonce territoire 2018-07-10 10:12:43 +02:00
Thomas MONCHICOURT 58f9c35f7b Fix : style map 2018-07-10 10:10:08 +02:00
Thomas MONCHICOURT 9e79171e62 Merge branch 'develop'
# Conflicts:
#	volume/www/website/www/app/Resources/views/territory/territory_show.html.twig
#	volume/www/website/www/web/css/styles.css
#	volume/www/website/www/web/css/styles.css.map
#	volume/www/website/www/web/sass/modules/_buttons.scss
2018-07-10 10:09:57 +02:00
Thomas MONCHICOURT 8e7f6d1d08 Fix : wording 2018-07-10 09:56:04 +02:00
Thomas MONCHICOURT 271883412d Feat: modification style #6755 @0h20 2018-07-10 09:46:42 +02:00
Thomas MONCHICOURT 6c0b2e1fe5 Fix : erreur calcul liste territoire 2018-07-10 09:32:31 +02:00
Thomas MONCHICOURT 80c4dc5910 fix: dump 2018-07-09 17:37:51 +02:00
Thomas MONCHICOURT b008f12954 Feat : modification css btn territoire #6755 @0h30 2018-07-09 17:26:18 +02:00
Thomas MONCHICOURT d0f6533984 Feat : Liste des company page territoire #6755 @1h 2018-07-09 17:26:18 +02:00
Thomas MONCHICOURT c60b2ce9fe Feat : modification css btn territoire #6755 @0h30 2018-07-09 17:24:24 +02:00
Thomas MONCHICOURT 8bfc3a37c0 Feat : Liste des company page territoire #6755 @1h 2018-07-09 15:47:53 +02:00
Maxime Thévenot aa162dff57 Merge branch 'develop' 2018-06-28 15:39:44 +02:00
Maxime Thévenot 29cc1e2658 Fix : restore store database conf 2018-06-28 15:39:35 +02:00
Maxime Thévenot 47d9a08311 Merge branch 'develop' 2018-06-27 15:29:04 +02:00
Maxime Thévenot 2072f1f231 Conf: update makefile and gitignore 2018-06-27 15:28:59 +02:00
Maxime Thévenot a55828306a Merge branch 'develop' 2018-06-27 14:56:12 +02:00
Maxime Thévenot 2757340f8e Feat : update footer 2018-06-27 11:13:24 +02:00
Maxime Thévenot 6ef1ab86c1 Fix: bad typo in wording 2018-06-27 10:41:02 +02:00
Maxime Thévenot 76fa1bdb59 Feat : change phone number and add RB image to resources 2018-06-27 10:40:40 +02:00
Maxime Thévenot 96a9a58af6 Fix: bad typo in wording 2018-06-08 17:04:04 +02:00
Maxime Thévenot 1e199008b3 Merge branch 'master' into develop
# Conflicts:
#	volume/www/website/www/app/Resources/FOSUserBundle/views/Registration/confirmed.html.twig
2018-06-08 12:15:11 +02:00
Maxime Thévenot 7464000fea Fix : add center to a button 2018-06-08 12:07:34 +02:00
Maxime Thévenot 7ae1389c7b Fix : update redirect route 2018-06-08 12:00:40 +02:00
Maxime Thévenot 8b2e6612be Fix : add cookie to response 2018-06-08 11:47:31 +02:00
Maxime Thévenot 457d6c4e5a Fix : update link to redirect after reg 2018-06-08 11:23:05 +02:00
Maxime Thévenot 0b59a5bbaa Feat : add redirect button after register 2018-06-08 10:29:06 +02:00
Maxime Thévenot a0aebfa52c Fix : remove response send after cookie setting 2018-06-08 10:06:21 +02:00
Maxime Thévenot 38d84a0257 Fix : bad cookie setting 2018-06-08 10:04:10 +02:00
Maxime Thévenot d3d8339a6f Fix : set cookie for redirect after registration 2018-06-08 10:01:11 +02:00
Maxime Thévenot 8ef169197d Fix : redirection when creating account after spontaneous 2018-06-05 16:38:46 +02:00
Thomas MONCHICOURT 1cf0e33b07 Fix: recherceh url 2018-06-05 15:26:37 +02:00
Thomas MONCHICOURT fbfadf425f Fix : optimisation mobile css 2018-06-05 15:26:37 +02:00
Thomas MONCHICOURT 2d097a0424 Fix : style detail annonce 2018-06-05 15:26:36 +02:00
Thomas MONCHICOURT 27963ab492 Fix : du fix … 2018-06-05 15:26:36 +02:00
Maxime Thévenot c801d92143 Fix : redirection when creating account after spontaneous 2018-06-05 14:32:04 +02:00
Thomas MONCHICOURT 737af1052b Fix: recherceh url 2018-05-28 12:26:30 +02:00
Thomas MONCHICOURT 85b1e2406d Fix : optimisation mobile css 2018-05-25 16:49:33 +02:00
Thomas MONCHICOURT 5cb2f6d2cb Fix : style detail annonce 2018-05-25 15:23:12 +02:00
Thomas MONCHICOURT b070ae8e28 Fix : du fix … 2018-05-25 15:19:00 +02:00
Thomas MONCHICOURT 5b9c7e57fe Fix : check si variable existe 2018-05-25 15:15:32 +02:00
Thomas MONCHICOURT 8f8e2c3b2f Merge branch 'feat/offres_pourvues' into develop
# Conflicts:
#	volume/www/website/www/src/AppBundle/Utils/Services/AdSearcher.php
2018-05-25 15:15:05 +02:00
Thomas MONCHICOURT d0e7ee8b74 Fix : libelle 2018-05-25 15:06:40 +02:00
Thomas MONCHICOURT c0445c9ad3 Fix : orthographe 2018-05-25 15:03:44 +02:00
Thomas MONCHICOURT 65dfac1af5 Feat : mise en place de la page de detail ad et company #5964 @0h20 2018-05-25 14:50:05 +02:00
Thomas MONCHICOURT 50831adf20 Feat : Page de detail annonce #5964 @0h20 2018-05-25 12:33:12 +02:00
Thomas MONCHICOURT 6f7d329cc6 Feat : Mise en place d’un champ type privé pour ad et company #6472 @1h10 2018-05-25 11:33:39 +02:00
Thomas MONCHICOURT 5f2e5fddbf Feat: filtre offres pourvues #5964 2018-05-25 10:27:59 +02:00
Thomas MONCHICOURT e905cb063c feat : Modification de la recherche #5964 @0h20 2018-05-24 17:01:53 +02:00
Thomas MONCHICOURT 44ae8a01fb Merge branch 'master' into develop 2018-05-24 16:36:55 +02:00
Thomas MONCHICOURT 703b8891e6 Feat : Nouvelles fleches + recherche non fixe pour mobile #5966 @2h 2018-05-24 16:21:52 +02:00
Thomas MONCHICOURT 724e175a6c Feat : Ajout liens territoires dans le footer #5963 @0h10 2018-05-23 17:22:31 +02:00
Thomas MONCHICOURT e9a7da75bc Feat : remise en ligne annonce rocher 2018-05-18 12:26:34 +02:00
Thomas MONCHICOURT 5612f87999 Fix : probleme connexion user admin 2018-05-02 15:09:54 +02:00
Thomas MONCHICOURT b63983b61e Feat : modification profil talent #6313 @0h15 2018-05-02 14:19:00 +02:00
Thomas MONCHICOURT 43858b06ff Feat : modification Css 2018-04-30 15:21:57 +02:00
Thomas MONCHICOURT f012f91ca4 Merge branch 'master' of https://git.e-declic.net/talents-tube/website 2018-04-30 15:11:14 +02:00
Thomas MONCHICOURT 2ba454f2ab Feat : style responsive 2018-04-30 15:11:05 +02:00
Thomas MONCHICOURT 2426dc5abc Feat : correction tuto responsive @1h 2018-04-30 15:10:26 +02:00
Maxime Thévenot 703ec9a1bb Fix : bug on talent deleting 2018-04-26 17:18:42 +02:00
Maxime Thévenot 4a72e4dfe6 Merge branch 'develop' of https://git.e-declic.net/talents-tube/website into develop
# Conflicts:
#	volume/www/website/www/src/AppBundle/Entity/Company.php
2018-04-26 16:42:01 +02:00
Maxime Thévenot 607f7706ca Feat : add capability to delete company from secret admin 2018-04-26 16:40:49 +02:00
Thomas MONCHICOURT b0b1179bdc Feat : Modification listing company #6269 @1h30 2018-04-24 14:16:19 +02:00
Thomas MONCHICOURT 0e2494797e Fix : Bloc vidéo après mot clés #6266 @0h25 2018-04-23 16:09:00 +02:00
Thomas MONCHICOURT 69a7595966 Fix : page detail territoire 2018-04-23 16:04:33 +02:00
Thomas MONCHICOURT e404b4d876 Merge branch 'develop' 2018-04-23 16:00:15 +02:00
Thomas MONCHICOURT fa8b21b93c Merge branch 'develop' of https://git.e-declic.net/talents-tube/website into develop 2018-04-23 15:59:43 +02:00
Thomas MONCHICOURT 8e8312c0f9 Feat : modification video territoire #6266 @0H15 2018-04-23 15:59:40 +02:00
Maxime Thévenot 0297191e07 Fix : update teritory sorting order 2018-04-20 15:23:45 +02:00
Maxime Thévenot e64ce55b66 Merge branch 'develop' 2018-04-20 15:16:04 +02:00
Thomas MONCHICOURT eda0562edc Feat : mise en ligne vidéo albéa + changement home 2018-04-20 15:11:53 +02:00
Maxime Thévenot 01f5823885 Feat : permit admin to refresh vimeo image + sorting list 2018-04-20 15:10:44 +02:00
Thomas MONCHICOURT 9ed2745e8d Feat : mise en ligne vidéo albéa + changement home 2018-04-17 09:33:37 +02:00
Thomas MONCHICOURT 82c4911770 Feat : Modification du code et mise en git #6185 @0h10 2018-04-16 09:34:10 +02:00
Thomas MONCHICOURT 8df9b7af43 Feat : Ajout champ description admin pour territoire #6181 @1h 2018-04-13 10:50:33 +02:00
Thomas MONCHICOURT 71259c40c6 Feat : Ajout d’un col list user + action resend confirm mail #6151 @0h20 2018-04-09 14:49:14 +02:00
Thomas MONCHICOURT 2dd559fa64 Feat : intervention albéa @0h15 2018-03-30 17:04:26 +02:00
Thomas MONCHICOURT 90ae12995f Fix : admin set presentation on null 2018-03-27 15:16:11 +02:00
Thomas MONCHICOURT 7aa4a92cb6 Feat : Ajout listing user en admin #6108 @2h 2018-03-27 14:29:52 +02:00
Thomas MONCHICOURT 6a9b48d629 Fix : modification linkedin 2018-03-15 14:27:13 +01:00
Thomas MONCHICOURT 032d10bb50 Fix: connexion FB 2018-03-15 12:34:07 +01:00
Thomas MONCHICOURT 7731dd2c23 Fix : erreur js vimeo 2018-03-06 09:56:05 +01:00
Thomas MONCHICOURT 8c6e8f14a4 Fix: erreur photo profil talent @0h15 2018-03-05 11:31:45 +01:00
Thomas MONCHICOURT f1c795e8cd Fix : js date picker 2018-02-15 11:30:11 +01:00
Thomas MONCHICOURT 5dd437d939 Feat : increase lifetime sessions 2018-02-15 10:46:05 +01:00
Thomas MONCHICOURT 59f6854379 Fix : popup option connect FB 2018-02-15 10:24:01 +01:00
Thomas MONCHICOURT c2450d3929 Fix : modification app facebook 2018-02-15 10:14:47 +01:00
Thomas MONCHICOURT 2f626dbad5 Fix : robots txt 2018-02-13 15:20:32 +01:00
Thomas MONCHICOURT 8bccabbcf6 Fix : suppression dissalow 2018-02-13 15:04:53 +01:00
Maxime Thévenot 766335bb19 Merge branch 'master' of https://git.e-declic.net/talents-tube/website 2018-02-13 14:32:58 +01:00
Maxime Thévenot 708e1f1c87 Conf : Update .gitignore 2018-02-13 14:32:53 +01:00
Thomas MONCHICOURT 1d0e0e4c48 Merge branch 'master' into develop 2018-02-09 15:34:05 +01:00
Thomas MONCHICOURT a790f99adb Fix : re error 404 2018-02-09 15:32:59 +01:00
Thomas MONCHICOURT e98a2488eb Fix : error 404 error #5890 @1h30 2018-02-09 15:32:43 +01:00
Maxime Thévenot 8b7a79ef8d Conf : Update robot.txt 2018-02-08 17:12:11 +01:00
Thomas MONCHICOURT 645cf1f05a Fix : change password 2018-02-08 17:12:00 +01:00
Thomas MONCHICOURT 974629794d Merge branch 'develop' 2018-02-07 09:17:43 +01:00
Thomas MONCHICOURT f23e906168 Feat: suppression voeux 2018 2018-02-07 09:17:19 +01:00
Thomas MONCHICOURT 5a47ac168e Fix : liste témoignages 2018-02-02 15:06:14 +01:00
Thomas MONCHICOURT a35647ca1d Merge branch 'develop' 2018-02-02 14:52:38 +01:00
Thomas MONCHICOURT 231a692369 Feat : Ajout des temoignage dans d’autre page #5662 @0h20 2018-02-02 14:52:28 +01:00
Thomas MONCHICOURT 1ad2d8bf1a Merge branch 'develop' 2018-02-02 14:28:47 +01:00
Thomas MONCHICOURT 2047322161 Feat : youtube #5845 @0h15 2018-02-02 14:28:29 +01:00
Thomas MONCHICOURT f90c907942 Feat : add a hover stop on carousel 2018-02-02 14:17:33 +01:00
Thomas MONCHICOURT a2d0a9539f Feat : modif temoignages #5662 @0h20 2018-02-02 12:02:49 +01:00
Thomas MONCHICOURT d5f448483c Feat : Modification #5662 @0h30 2018-01-25 15:15:54 +01:00
Thomas MONCHICOURT 8f12cddd86 Feat : template temoignages #5662 @1h15 2018-01-25 12:12:19 +01:00
Thomas MONCHICOURT 0f195907c5 Merge branch 'develop' 2018-01-24 12:04:38 +01:00
Thomas MONCHICOURT 8dabe7ba82 Fix : provider security 2018-01-24 12:04:20 +01:00
Thomas MONCHICOURT 0bfed4b932 Fix : probleme css dot nav tuto 2018-01-22 15:36:16 +01:00
Thomas MONCHICOURT bf875db942 Fix : dropzone js error 2018-01-22 15:09:57 +01:00
Thomas MONCHICOURT 5c47a00d0e Fix : Start to first panel tuto when restart 2018-01-22 15:09:49 +01:00
Thomas MONCHICOURT 0f8fe7732e Fix : amelioration graphique tuto 2018-01-22 15:09:36 +01:00
Thomas MONCHICOURT bed4cbc7b1 Fix : Start to first panel tuto when restart 2018-01-22 14:27:48 +01:00
Thomas MONCHICOURT b09ca38415 Fix : dropzone js error 2018-01-22 14:07:12 +01:00
Thomas MONCHICOURT c0f09f715c Fix : delevery address 2018-01-22 12:10:57 +01:00
Thomas MONCHICOURT 77d695f67a Fix : conf preprod 2018-01-22 09:30:44 +01:00
Thomas MONCHICOURT 4cb07a74b6 Fix : conf preprod 2018-01-22 09:29:58 +01:00
Thomas MONCHICOURT 43997a3493 Feat : Merge develop => master à la mano 2018-01-19 15:53:06 +01:00
Thomas MONCHICOURT e6316504f1 Feat : Voeux 2018 #5816 @2h 2018-01-18 11:21:05 +01:00
Thomas MONCHICOURT d8ac0993d6 Fix : port docker dev 2018-01-17 14:59:17 +01:00
Thomas MONCHICOURT 67575e53e4 Fix : stats 2018-01-15 11:27:29 +01:00
Thomas MONCHICOURT 182a1b5078 Fix : nginx conf prod 2018-01-11 11:00:33 +01:00
Thomas MONCHICOURT 4b9cd98266 Fix : correction 2018-01-11 10:50:58 +01:00
Thomas MONCHICOURT cf4e5020f5 Fix : conf static 2017-12-27 11:40:41 +01:00
3463 changed files with 124950 additions and 24705 deletions
+4 -1
View File
@@ -6,4 +6,7 @@
!/volume/www
/volume/www/**/conf/nginx.conf
/backup
/conf/env/*.env
/conf/env/*.env
volume/www/website/.idea
/volume/www/website/store/themes/talentstube-20170413/cache/*
/volume/www/website/store/img/tmp/*
+1 -1
View File
@@ -84,7 +84,7 @@ db-restore-website:
db-restore-store:
@echo "Restoring file to database (backup/store-mysql.sql)"
@docker exec -i $(CLIENT).mysql.$(ENV) mysql -uroot database < backup/store-mysql.sql
@docker exec -i $(CLIENT).store-mysql.$(ENV) mysql -uroot database < backup/store-mysql.sql
cc:
@echo "Clearing symfony cache"
+2
View File
@@ -10,6 +10,8 @@ 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
@@ -0,0 +1,22 @@
-----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
@@ -0,0 +1,28 @@
-----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-----
+2 -1
View File
@@ -4,7 +4,8 @@ services:
nginx:
ports:
- "8080:80"
- "80:80"
- "443:443"
volumes:
- ../volume/www:/home/www:cached
restart: "no"
+5 -2
View File
@@ -8,15 +8,18 @@ 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_dev.php$is_args$args;
try_files $uri /app.php$is_args$args;
}
location ~ ^/(app_dev|config)\.php(/|$) {
+3 -1
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,6 +58,7 @@ server {
# for more information).
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
fastcgi_param DOCUMENT_ROOT $realpath_root;
fastcgi_param HTTPS on;
}
# PROD
@@ -78,6 +79,7 @@ server {
# http://domain.tld/app.php/some-path
# Remove the internal directive to allow URIs like this
internal;
fastcgi_param HTTPS on;
}
# ---- PRESTASHOP ----
+16 -1
View File
@@ -6,6 +6,21 @@ 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;
@@ -13,7 +28,7 @@ server {
client_max_body_size 500M;
root /home/www/www.talentstube.com/www/web;
root /home/www/website/www/web;
access_log /home/www/website/log/access.log vhosts;
error_log /home/www/website/log/error.log;
+3 -1
View File
@@ -9,4 +9,6 @@ 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 ^/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;
@@ -1,5 +1,5 @@
<?php
define('_DB_SERVER_', 'tt-website.store-php.prod');
define('_DB_SERVER_', 'tt-website.store-mysql.prod');
define('_DB_NAME_', 'database');
define('_DB_USER_', 'user');
define('_DB_PASSWD_', 'O}lk|45&J,kT+DDM{uk[');
@@ -1,93 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?><rss version="2.0" xml:base="https://www.prestashop.com/fr/blog/feed.xml" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:og="http://ogp.me/ns#" xmlns:article="http://ogp.me/ns/article#" xmlns:book="http://ogp.me/ns/book#" xmlns:profile="http://ogp.me/ns/profile#" xmlns:video="http://ogp.me/ns/video#" xmlns:product="http://ogp.me/ns/product#" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:sioc="http://rdfs.org/sioc/ns#" xmlns:sioct="http://rdfs.org/sioc/types#" xmlns:skos="http://www.w3.org/2004/02/skos/core#" xmlns:xsd="http://www.w3.org/2001/XMLSchema#">
<channel>
<title>Blog Feed</title>
<link>https://www.prestashop.com/fr/blog/feed.xml</link>
<description></description>
<language>fr</language>
<atom:link href="https://www.prestashop.com/fr/blog/feed.xml" rel="self" type="application/rss+xml" />
<item>
<title>4 moyens daugmenter votre taux de conversion grâce à votre page de paiement</title>
<link>https://www.prestashop.com/fr/4-moyens-daugmenter-votre-taux-de-conversion-grace-a-votre-page-de-paiement-6</link>
<description>Par 
Dernier contact entre un marchand et son client, nous savons que le check-out est un passage délicat dans le tunnel de conversion.
</description>
<pubDate>Thu, 20 Jul 2017 16:30:04 +0200</pubDate>
<dc:creator>Anonymous</dc:creator>
<guid isPermaLink="false">https://www.prestashop.com/fr/4-moyens-daugmenter-votre-taux-de-conversion-grace-a-votre-page-de-paiement-6</guid>
</item>
<item>
<title>Comment une agence de développement web peut-elle vous être utile ?</title>
<link>https://www.prestashop.com/fr/comment-une-agence-de-developpement-web-peut-elle-vous-etre-utile</link>
<description>Par 
Lorsquun marchand nous contacte pour la première fois, lune des questions récurrentes est : &quot;Pourquoi confier ses développements à une agence ?&quot;. Puis, à propos de PrestaShop: &quot;Puisque le logiciel est gratuit, ai-je vraiment besoin d&#039;un prestataire technique ?&quot;.
</description>
<pubDate>Thu, 20 Jul 2017 14:46:24 +0200</pubDate>
<dc:creator>Anonymous</dc:creator>
<guid isPermaLink="false">https://www.prestashop.com/fr/comment-une-agence-de-developpement-web-peut-elle-vous-etre-utile</guid>
</item>
<item>
<title>Rencontrez Nicolas, Ambassadeur du mois | Juillet 2017</title>
<link>https://www.prestashop.com/fr/blog/prestashop-ambassadors/rencontrez-nicolas-ambassadeur-du-mois-juillet-2017-2</link>
<description>CreaNico est notre Ambassadeur à Montpellier, France, et est très actif dans la région.</description>
<pubDate>Tue, 18 Jul 2017 17:27:38 +0200</pubDate>
<dc:creator>Manon Plommet</dc:creator>
<guid isPermaLink="false">https://www.prestashop.com/fr/blog/prestashop-ambassadors/rencontrez-nicolas-ambassadeur-du-mois-juillet-2017-2</guid>
</item>
<item>
<title>Zoom sur l&amp;#039;e-commerce italien</title>
<link>https://www.prestashop.com/fr/blog/tendances-e-commerce/zoom-sur-le-commerce-italien</link>
<description>Avec un taux de croissance des ventes de 18% en 2016, une base dacheteurs en ligne de 18 millions de personnes et un panier moyen en augmentation, le e-commerce italie</description>
<pubDate>Mon, 17 Jul 2017 18:34:12 +0200</pubDate>
<dc:creator>vMartelli</dc:creator>
<guid isPermaLink="false">https://www.prestashop.com/fr/blog/tendances-e-commerce/zoom-sur-le-commerce-italien</guid>
</item>
<item>
<title>Rentrée, Black Friday, Noël : Téléchargez votre guide e-commerce de fin d&amp;#039;année</title>
<link>https://www.prestashop.com/fr/blog/actualites-prestashop/rentree-black-friday-noel-telechargez-votre-guide-e-commerce-de-fin-dannee-1</link>
<description>La rentrée, Black Friday, Noël : en quelques mois seulement se joue la majeure partie du chiffre daffaires de lactivité e-commerce.</description>
<pubDate>Mon, 17 Jul 2017 14:28:47 +0200</pubDate>
<dc:creator>Cécile Dubouis</dc:creator>
<guid isPermaLink="false">https://www.prestashop.com/fr/blog/actualites-prestashop/rentree-black-friday-noel-telechargez-votre-guide-e-commerce-de-fin-dannee-1</guid>
</item>
<item>
<title>Lutte contre la fraude à la TVA, allègement de la loi</title>
<link>https://www.prestashop.com/fr/blog/actualites-prestashop/lutte-fraude-tva-allegement-loi</link>
<description>Suite à notre article Conformité à larticl</description>
<pubDate>Mon, 26 Jun 2017 10:10:00 +0200</pubDate>
<dc:creator>Mohammed Bellamine</dc:creator>
<guid isPermaLink="false">https://www.prestashop.com/fr/blog/actualites-prestashop/lutte-fraude-tva-allegement-loi</guid>
</item>
<item>
<title>Planning et astuces pour créer des promotions efficaces sur PrestaShop</title>
<link>https://www.prestashop.com/fr/blog/conseils-e-commerce/planning-et-astuces-pour-creer-des-promotions-efficaces-sur-prestashop</link>
<description>Été, rentrée, Black Friday, Noël… Les promotions de fin dannée sont primordiales en e-commerce, mais leur préparation peut être chronophage.</description>
<pubDate>Mon, 19 Jun 2017 11:24:19 +0200</pubDate>
<dc:creator>Cécile Dubouis</dc:creator>
<guid isPermaLink="false">https://www.prestashop.com/fr/blog/conseils-e-commerce/planning-et-astuces-pour-creer-des-promotions-efficaces-sur-prestashop</guid>
</item>
<item>
<title>10 ans 10 interviews « portrait » : Keiko ITO, développeuse web au Japon </title>
<link>https://www.prestashop.com/fr/blog/actualites-prestashop/10-ans-10-interviews-portrait-keiko-ito-developpeuse-web-au-japon</link>
<description>Le pitch / Originaire de Kobe, au Japon, Keiko est passionnée par le web et la France.</description>
<pubDate>Fri, 16 Jun 2017 16:17:35 +0200</pubDate>
<dc:creator>Mpierrot</dc:creator>
<guid isPermaLink="false">https://www.prestashop.com/fr/blog/actualites-prestashop/10-ans-10-interviews-portrait-keiko-ito-developpeuse-web-au-japon</guid>
</item>
<item>
<title>Rencontrez Claudia, Ambassadrice du mois | Juin 2017</title>
<link>https://www.prestashop.com/fr/blog/prestashop-ambassadors/clone-of-meet-claudia-ambassador-of-the-month-june-2017</link>
<description>Claudia est notre Ambassadrice à Monterrey, Mexique, et y organise des meetups très régulièrement. Elle est toujours partante pour parler de PrestaShop !</description>
<pubDate>Fri, 16 Jun 2017 11:38:21 +0200</pubDate>
<dc:creator>Manon Plommet</dc:creator>
<guid isPermaLink="false">https://www.prestashop.com/fr/blog/prestashop-ambassadors/clone-of-meet-claudia-ambassador-of-the-month-june-2017</guid>
</item>
<item>
<title>10 ans 10 interviews « portrait » : Corinne Lejbowicz, CEO de PrestaShop</title>
<link>https://www.prestashop.com/fr/blog/actualites-prestashop/10-ans-10-interviews-portrait-corinne-lejbowicz-ceo-de-prestashop</link>
<description>Le pitch / En 2007, Corinne Lejbowicz est CEO de LeGuide.com, où elle rencontre le jeune Bruno Lévêque.</description>
<pubDate>Wed, 14 Jun 2017 15:06:02 +0200</pubDate>
<dc:creator>Mpierrot</dc:creator>
<guid isPermaLink="false">https://www.prestashop.com/fr/blog/actualites-prestashop/10-ans-10-interviews-portrait-corinne-lejbowicz-ceo-de-prestashop</guid>
</item>
</channel>
</rss>
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -261,7 +261,7 @@
</tab>
<tab class_name="AdminPayment" display_type="default_list">
<module name="secureframe" position="1"/>
<module name="paypalmx" position="2"/>
<module name="paypal" position="13"/>
<module name="mercadopagobr" position="3"/>
<module name="payulatam" position="4"/>
<module name="dotpay" position="5"/>
@@ -272,14 +272,14 @@
<module name="simplifycommerce" position="10"/>
<module name="klarnaofficial" position="11"/>
<module name="spsrsmartsepa" position="12"/>
<module name="oyst" position="13"/>
<module name="ewayrapid" position="14"/>
<module name="fcpayone" position="15"/>
<module name="pagseguro" position="16"/>
<module name="ewayrapid" position="17"/>
<module name="hipay" position="18"/>
<module name="ogone" position="19"/>
<module name="payplug" position="20"/>
<module name="payplug" position="2"/>
<module name="oyst" position="14"/>
<module name="ewayrapid" position="15"/>
<module name="fcpayone" position="16"/>
<module name="pagseguro" position="17"/>
<module name="ewayrapid" position="18"/>
<module name="hipay" position="19"/>
<module name="ogone" position="20"/>
<module name="realexredirect" position="21"/>
<module name="stripe_official" position="22"/>
<module name="skrill" position="23"/>
File diff suppressed because one or more lines are too long
@@ -1,2 +0,0 @@
<?xml version="1.0"?>
<modules_list><modules type="untrusted"><module name="blockreinsurance"/><module name="etransactions"/><module name="trackingfront"/></modules></modules_list>
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1,2 +0,0 @@
@charset "UTF-8";
@media only print{#header .nav,#header .banner,#header .row > div{display:none}#header .row div#header_logo{display:block}#center_column{width:100% !important}#left_column,#right_column{display:none}.no-print,#quantity_wanted_p > a,a.quick-view{display:none !important}div.selector,div.selector span,div.selector select{background:none}#thumbs_list li a:hover,#thumbs_list li a.shown{border-color:#fff}.product_attributes,.box-cart-bottom{-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none}.pb-left-column #views_block{margin-top:10px;width:278px !important}#thumbs_list_frame,#thumbs_list{width:100% !important;height:100% !important}#thumbs_list li,#thumbs_list li:first-child{margin:4px;width:82px;height:82px}#view_scroll_left,#view_scroll_right,.view_scroll_spacer{display:none !important}.bx-wrapper{width:100% !important;max-width:100% !important}.bx-viewport{height:auto !important}#bxslider,#bxslider1,#crossselling_list_car{width:100% !important;height:auto !important;overflow:visible !important}#bxslider1 .product-box{min-height:200px}.bx-controls-direction{display:none}#footer .row > div,#footer .row > section{display:none}#footer .row > div#block_contact_infos,#footer .row > section#block_contact_infos{display:block;width:100%;border-left:none;border-top:1px solid #515151;padding-top:20px}.footer-container #footer h4:after{display:none}}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -51,7 +51,8 @@ j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
<meta name="keywords" content="{$meta_keywords|escape:'html':'UTF-8'}" />
{/if}
<meta name="generator" content="PrestaShop" />
<meta name="robots" content="{if isset($nobots)}no{/if}index,{if isset($nofollow) && $nofollow}no{/if}follow" />
<!-- <meta name="robots" content="{if isset($nobots)}no{/if}index,{if isset($nofollow) && $nofollow}no{/if}follow" /> -->
<meta name="robots" content="noindex, nofollow" />
<meta name="viewport" content="width=device-width, minimum-scale=0.25, maximum-scale=1.6, initial-scale=1.0" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<link rel="icon" type="image/vnd.microsoft.icon" href="{$favicon_url}?{$img_update_time}" />
+4
View File
@@ -44,6 +44,10 @@ 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,18 +3,26 @@
{% trans_default_domain 'FOSUserBundle' %}
{% block content %}
<div class="container contentWrapper">
<div class="row">
<div class="col push-s3 s6">
<h1 class="m-t-20 alttitle center-align">{{'user.register.title'|trans({},"messages") }}</h1>
<p>{{ 'registration.confirmed'|trans({'%username%': user.username}) }}</p>
{% if targetUrl %}
<p><a href="{{ targetUrl }}">{{ 'registration.back'|trans }}</a></p>
{% endif %}
<br /><br />
<div class="container contentWrapper">
<div class="row">
<div class="col push-s3 s6">
<h1 class="m-t-20 alttitle center-align">{{'user.register.title'|trans({},"messages") }}</h1>
<p>{{ 'registration.confirmed'|trans({'%username%': user.username}) }}</p>
{% if targetUrl %}
<p>
<a href="{{ targetUrl }}">{{ 'registration.back'|trans }}</a>
</p>
{% endif %}
<br/><br/>
{% if app.request.cookies.get('redirect_register')is defined %}
<div class="center">
<a href="{{ app.request.cookies.get('redirect_register') }}" class="btn btn-default">Poursuivre votre candidature</a>
</div>
{% endif %}
</div>
</div>
</div>
</div>
</div>
{% endblock %}
{% block metarobot %}
@@ -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">
<a href="{{ path('service_cgu') }}" title="conditions d'utilisations" style="margin-left:45px;">Lire les conditions générales d'utilisations</a>
Lire les conditions générales d'utilisations</a>
<br /><br />
</div>
</div>
@@ -1,16 +1,78 @@
{% block fos_user_content %}
<div class="row">
<div class="col s12 m12 l6 col-login-first col-login">
<h4>Connexion</h4>
<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"/>
{{ include('@FOSUser/Security/login_content.html.twig') }}
</div>
<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>
<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>
<a href="{{ path('fos_user_registration_register') }}" class="btn btn-default btn-round">
Créer un compte
</a>
<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) }}
</div>
</div>
{% endblock fos_user_content %}
@@ -1,5 +1,6 @@
{% trans_default_domain 'FOSUserBundle' %}
{% include 'default/facebook.html.twig' %}
{% if error %}
<div>{{ error.messageKey|trans(error.messageData, 'security') }}</div>
{% endif %}
@@ -7,38 +8,33 @@
{% if csrf_token %}
<input type="hidden" name="_csrf_token" value="{{ csrf_token }}" />
{% endif %}
<div class="row">
<div class="row field-login">
<div class="input-field col s12">
<label for="username">{{ 'security.login.username'|trans }}</label>
<label for="username">e-mail</label>
<input type="text" id="username" name="_username" value="{{ last_username }}" required="required" />
</div>
</div>
<div class="row">
<div class="row field-login">
<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>
<p>
<input type="checkbox" id="remember_me" name="_remember_me" value="on" />
<label for="remember_me">{{ 'security.login.remember_me'|trans }}</label>
</p>
<br />
<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>
<div class="row hide-on-med-and-down">
<div class="row field-login-checkbox">
<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>
<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>
</form>
<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>
</div>
</form>
@@ -1,17 +1,12 @@
{% extends 'base.html.twig' %}
{% block urlCanonical %}
#!
{% endblock %}
{% block content %}
<div class="row">
<div class="col s12">
<h2 class="center-align">Page introuvable</h2>
<p class="center-align">
Cette page n'existe plus.<br/><br/>
<a class="btn btn-default" href="{{ path('homepage') }}">Retour à l'accueil</a>
</p>
</div>
{% block content %}
<div class="row">
<div class="col s12">
<h2 class="center-align m-t-100">Page introuvable</h2>
<p class="center-align">
Cette page n'existe plus.<br/><br/>
<a class="btn btn-default" href="{{ path('homepage') }}">Retour à l'accueil</a>
</p>
</div>
{% endblock %}
</div>
{% endblock %}
@@ -3,7 +3,8 @@
<div class="row center-align">
<div class="col s12">
<div class="owl-carousel territory-carousel">
{% for territory in territories %}
{% for territory in territories if territory.territory.isPrivate != true %}
{% set territory = territory.territory %}
<div class="item">
<h2 class="blue-text no-margin-top">
@@ -19,6 +19,7 @@
<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) }}
@@ -41,7 +42,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.status) }} {{ form_row(form.isPromoted) }} {{ form_row(form.isVerified) }} {{ form_row(form.isPrivate) }}
</div>
</div>
</div>
@@ -66,6 +66,10 @@
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,6 +13,8 @@
<link rel="stylesheet" href="{{ asset('admin/AdminLTE/dist/css/AdminLTE.min.css') }}">
<link rel="stylesheet" href="{{ asset('admin/AdminLTE/dist/css/skins/skin-blue.min.css') }}">
<link rel="stylesheet" href="{{ asset('admin/AdminLTE/plugins/datatables/dataTables.bootstrap.css') }}">
<link rel="stylesheet" href="{{ asset('admin/AdminLTE/plugins/datatables/dataTables.bootstrap.css') }}">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jquery-confirm/3.3.2/jquery-confirm.min.css">
<script type="text/javascript" defer="defer" src="https://extend.vimeocdn.com/ga/64189815.js"></script>
{% block css %}
@@ -22,9 +22,11 @@
<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,6 +58,10 @@
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"
@@ -88,7 +92,7 @@
"language": {
"url": "https://cdn.datatables.net/plug-ins/1.10.11/i18n/French.json"
},
"order": [[1, 'desc']],
"order": [[0, '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": [[1, "asc"]]
"order": [[0, "desc"]]
});
});
</script>
@@ -22,13 +22,16 @@
<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) }}
@@ -60,11 +63,24 @@
</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>
{% endblock %}
<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 %}
@@ -100,7 +100,7 @@
{"targets": 3, "searchable": true, "orderable": true, "className": "text-center"},
{"targets": 4, "searchable": false, "orderable": false, "className": "text-center"},
],
"order": [[1, "asc"]]
"order": [[0, "desc"]]
});
});
</script>
@@ -0,0 +1,147 @@
{% 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 %}
@@ -0,0 +1,98 @@
{% 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 %}
@@ -0,0 +1,58 @@
{% 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 %}
@@ -0,0 +1,131 @@
{% 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 %}
@@ -0,0 +1,138 @@
{% 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 %}
@@ -0,0 +1,84 @@
<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,26 +30,28 @@
{% endblock %}">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
{# OG et TC #}
{% block ogtc %}
{#Twitter Card data pour les données enrichies sur Twitter#}
<meta name="twitter:card" content="summary">
<meta name="twitter:site" content="@TalentsTube">
<meta name="twitter:title" content="Talents Tube : Le 1er job board 100% vidéo">
<meta name="twitter:description" content="Talents Tube est la première plateforme réservée aux offres d'emploi et aux CV vidéos. Découvrez un nouvelle méthode de recrutement !">
<meta name="twitter:image" content="{{ absolute_url(asset('img/mail/logo-talents-tube.png')) }}">
{% if app.request.attributes.get('_route') != null %}
{% block ogtc %}
{#Twitter Card data pour les données enrichies sur Twitter#}
<meta name="twitter:card" content="summary">
<meta name="twitter:site" content="@TalentsTube">
<meta name="twitter:title" content="Talents Tube : Le 1er job board 100% vidéo">
<meta name="twitter:description" content="Talents Tube est la première plateforme réservée aux offres d'emploi et aux CV vidéos. Découvrez un nouvelle méthode de recrutement !">
<meta name="twitter:image" content="{{ absolute_url(asset('img/mail/logo-talents-tube.png')) }}">
{#Open Graph data pour le partage sur les réseaux sociaux (ex Facebook..)#}
<meta property="og:title" content="Talents Tube : Le 1er job board 100% vidéo" />
<meta property="og:type" content="article" />
<meta property="og:image" content="{{ absolute_url(asset('img/mail/logo-talents-tube.png')) }}" />
<meta property="og:description" content="Talents Tube est la première plateforme réservée aux offres d'emploi et aux CV vidéos. Découvrez un nouvelle méthode de recrutement !" />
<meta property="og:site_name" content="Talents Tube" />
<meta property="og:url" content="{{ url(app.request.attributes.get('_route'), app.request.attributes.get('_route_params')) }}" />
{#Open Graph data pour le partage sur les réseaux sociaux (ex Facebook..)#}
<meta property="og:title" content="Talents Tube : Le 1er job board 100% vidéo" />
<meta property="og:type" content="article" />
<meta property="og:image" content="{{ absolute_url(asset('img/mail/logo-talents-tube.png')) }}" />
<meta property="og:description" content="Talents Tube est la première plateforme réservée aux offres d'emploi et aux CV vidéos. Découvrez un nouvelle méthode de recrutement !" />
<meta property="og:site_name" content="Talents Tube" />
<meta property="og:url" content="{{ url(app.request.attributes.get('_route'), app.request.attributes.get('_route_params')) }}" />
{% endblock %}
{# Canonical #}
<link rel="canonical"
href="{% block urlCanonical %}{{ url(app.request.attributes.get('_route'), app.request.attributes.get('_route_params')) }}{% endblock %}">
{% endblock %}
{# Canonical #}
<link rel="canonical"
href="{% block urlCanonical %}{{ url(app.request.attributes.get('_route'), app.request.attributes.get('_route_params')) }}{% endblock %}">
{% endif %}
{# CSS #}
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<link href="https://fonts.googleapis.com/css?family=Raleway:100,100i,200,200i,300,300i,400,400i,500,500i,600,600i,700,700i,800,800i,900,900i&amp;subset=latin-ext"
@@ -58,6 +60,7 @@
<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,7 +3,13 @@
{% block dashContent %}
<div class="row bg-bordered p-20">
{% include 'company/tabs.html.twig' with {'tab':2} %}
{% if type == "spontaneous" %}
{% include 'company/tabs.html.twig' with {'tab':3} %}
{% else %}
{% include 'company/tabs.html.twig' with {'tab':2} %}
{% endif %}
<div id="reponses" class="col s12">
<table id="table-answers" class="bordered highlight responsive-table">
<thead>
@@ -20,7 +26,7 @@
<td>
<a href="{{ path('company_answer_show',{'id':answer.id }) }}">{{ answer.user.firstname }} {{ answer.user.lastname }}</a>
</td>
<td>{{ answer.ad.title }}</td>
<td>{% if answer.ad != null %}{{ answer.ad.title }} {% endif %}</td>
<td>{{ answer.cTime()|date('d-m-Y') }}</td>
<td>
{#{% if answer.notes|length <= 0 %}#}
@@ -4,7 +4,11 @@
{% block dashContent %}
<div class="row bg-bordered p-20">
<h1 class="alttitle">Réponse de {{ answer.user.firstname }} {{ answer.user.lastname }}</h1>
{% include 'company/tabs.html.twig' with {'tab':2} %}
{% if type == "spontaneous" %}
{% include 'company/tabs.html.twig' with {'tab':3} %}
{% else %}
{% include 'company/tabs.html.twig' with {'tab':2} %}
{% endif %}
<div class="col s12 m6 l6 col-padding-right">
<div class="bg-bordered inside-m">
@@ -23,9 +27,11 @@
<h3>Profil du talent : </h3>
<div class="profil">
<p class="profil-picture">
{% if answer.user.getWebPath() %}
<img src="{{ answer.user.getWebPath() | imagine_filter('profile_square') }}"
alt="{{ answer.user.firstname }} {{ answer.user.lastname }}"
class="circle responsive-img"/>
{% endif %}
</p>
<i class="fa fa-user-circle"
aria-hidden="true"></i> {{ answer.user.firstname }} {{ answer.user.lastname }}
@@ -29,6 +29,7 @@
{% 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">
@@ -90,7 +91,19 @@
{% 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>
@@ -107,6 +120,37 @@
{% 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 %}
@@ -118,8 +162,14 @@
{{ 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.getUTCFullYear();
var year1 = obj.date1.getFullYear();
var month2 = obj.date2.getMonth();
var day2 = obj.date2.getDate();
var year2 = obj.date2.getUTCFullYear();
var date1 = (month1 + 1) + "/" + day1 + "/" + year1 +" 00:00:00";
var year2 = obj.date2.getFullYear();
var date1 = (month1 + 1) + "/" + day1 + "/" + year1 +" 00:00:01";
var date2 = (month2 + 1) +"/" + day2 + "/" + year2 +" 23:59:59";
getChartData(date1, date2);
});
@@ -1,5 +1,18 @@
<ul class="tabs">
<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>#}
<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>
</ul>
@@ -1,4 +1,4 @@
{% for a in ads %}
{% for a in ads if a.isPrivate != true %}
<div class="col s12">
<div class="card z-depth-3">
<div class="card-image">
@@ -1,4 +1,4 @@
{% for a in ads %}
{% for a in ads if a.isPrivate != true %}
<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,10 +12,12 @@
<span class="playerbtn"></span>
{% endif %}
</a>
{% if a.isPromoted %}
<div class="isPromoted">
OFFRE POURVUE
</div>
{% endif %}
</div>
{% if a.isPromoted %}
<div class="isPromoted"><img src="{{asset('/img/offre-pourvue-gauche.png')}}" alt="promoted"></div>
{% endif %}
<div class="col s12 m8 col-noPadding">
<div class="row row-infos row-noMargin">
<div class="col s4 m4 l5 company-infos col-noPadding">
@@ -34,6 +34,15 @@
</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} %}
@@ -48,7 +57,6 @@
</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,6 +35,9 @@
<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/": ""}) }}"
@@ -42,8 +45,11 @@
allowfullscreen></iframe>
</div>
</div>
{#{% endif %}#}
{% if ad.isPromoted %}
<div class="isPromoted"><img src="{{asset('/img/offre-pourvue-gauche.png')}}" alt="promoted"></div>
<div class="isPromoted">
OFFRE POURVUE
</div>
{% endif %}
</div>
{% endif %}
@@ -92,16 +98,29 @@
{{ 'ad.talent.isAnswer.label'|trans }}
</div>
{% elseif not is_granted('ROLE_COMPANY') %}
<p class="item-detail-reply">
<a href="{{ path('talent_answer_create',{'id': ad.getId()}) }}"
class="btn btn-default">
Postuler
</a>
</p>
{% 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 %}
{% 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>
@@ -124,6 +143,44 @@
{% 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 %}
@@ -133,15 +190,19 @@
$(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écouvir l'employeur
Découvrir l'employeur
</a>
<p class="profil-name">
<a href="{{ path('company_show',{'alias': company.alias }) }}" title="{{ company.brandName }}">
@@ -56,12 +56,18 @@
{{ 'ad.talent.isAnswer.label'|trans }}
</div>
{% elseif not is_granted('ROLE_COMPANY') %}
<p class="item-detail-reply">
<a href="{{ path('talent_answer_create',{'id': ad.getId()}) }}"
class="btn btn-default">
Postuler
</a>
</p>
{% 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 %}
{% endif %}
{% endif %}
</div>
@@ -1,4 +1,4 @@
{% if not app.user %}
{% if not app.user or is_granted('ROLE_TALENT_TMP')%}
<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 %}
{% for company in companies if company.isPrivate != true %}
<div class="col s12">
<div class="card z-depth-3 card-company">
<div class="card-content card-content-company">
@@ -37,80 +37,7 @@
<div class="row m-b-0 p-b-30">
<div class="col s12 m12">
<div id="liste-resultats">
{% for c in companies %}
{% if (c.presentationVideo is not null or c.getPublishedAds|length > 0 ) %}
<div class="row item-list-bis z-depth-2 row-noMargin">
<div class="col s12 m2 ad-picture col-logo-lg">
<a href="{{ path('company_show',{'alias': c.alias }) }}"
title="{{ c.brandname }}">
{% if c.logo is not null %}
<img src="{{ c.webPath | imagine_filter('profile_thumb') }}"/>
{% endif %}
</a>
</div>
<div class="col s12 m6 col-noPadding">
<div class="row row-infos row-noMargin">
<div class="col s4 m5 l4 col-noPadding company-infos m-l-30">
<div class="item-list-website">
<h2>
<a href="{{ path('company_show',{'alias': c.alias }) }}"
class="hover-blue2">
<b>{{ c.brandName }}</b>
</a>
</h2>
<br/>
{{ c.init }}
{% if c.city != null %}
{{ c.city }}
{% endif %}
</div>
</div>
</div>
<div class="row row-tags row-noMargin">
<div class="col s11 col-noPadding" style="position:relative;">
<div class="chip center-align">
<a class="td-none color-grey3"
href="{{ path('company_show',{'alias': c.alias, '_fragment':'offers' }) }}">
{% set nbAds = c.getPublishedAds|length %}
{% if nbAds > 1 %}
<strong>{{ c.getPublishedAds|length }} offres d'emploi en
cours</strong>
{% else %}
<strong>{{ c.getPublishedAds|length }} offre d'emploi en
cours</strong>
{% endif %}
</a>
</div>
</div>
</div>
</div>
<div class="col s12 m4 col-noPadding ad-picture">
<a href="{{ path('company_show',{'alias': c.alias }) }}"
title="{{ c.brandname }}"
class="item-list-media">
{% if c.presentationVideo %}
{% if c.presentationVideo.thumbnails.0.sizes is defined %}
<img class="thumbnail_list"
src="{{ c.presentationVideo.thumbnails.0.sizes.4.link }}"
alt="{{ c.brandName }}"/>
{% endif %}
<span class="playerbtn"></span>
{% else %}
<img class="thumbnail_list"
src="{{ asset('/img/default_picture_company.svg') }}"
alt="{{ c.brandName }}"/>
{% endif %}
</a>
</div>
<div class="borderList"></div>
<div class="clearfix"></div>
</div>
{% endif %}
{% endfor %}
{% include 'default/company_listing.html.twig' with {'companies':companies} %}
</div>
</div>
</div>
@@ -0,0 +1,74 @@
{% for c in companies if c.isPrivate != true %}
{% if (c.presentationVideo is not null or c.getPublishedAds|length > 0 ) %}
<div class="row item-list-bis z-depth-2 row-noMargin">
<div class="col s12 m2 ad-picture col-logo-lg">
<a href="{{ path('company_show',{'alias': c.alias }) }}"
title="{{ c.brandname }}">
{% if c.logo is not null %}
<img src="{{ c.webPath | imagine_filter('profile_thumb') }}"/>
{% endif %}
</a>
</div>
<div class="col s12 m6 col-noPadding">
<div class="row row-infos row-noMargin">
<div class="col s4 m5 l4 col-noPadding company-infos m-l-30">
<div class="item-list-website">
<h2>
<a href="{{ path('company_show',{'alias': c.alias }) }}"
class="hover-blue2">
<b>{{ c.brandName }}</b>
</a>
</h2>
<br/>
{{ c.init }}
{% if c.city != null %}
{{ c.city }}
{% endif %}
</div>
</div>
</div>
<div class="row row-tags row-noMargin">
<div class="col s11 col-noPadding" style="position:relative;">
<div class="chip center-align">
<a class="td-none color-grey3"
href="{{ path('company_show',{'alias': c.alias, '_fragment':'offers' }) }}">
{% set nbAds = c.getPublishedAds|length %}
{% if nbAds > 1 %}
<strong>{{ c.getPublishedAds|length }} offres d'emploi en
cours</strong>
{% else %}
<strong>{{ c.getPublishedAds|length }} offre d'emploi en
cours</strong>
{% endif %}
</a>
</div>
</div>
</div>
</div>
<div class="col s12 m4 col-noPadding ad-picture">
<a href="{{ path('company_show',{'alias': c.alias }) }}"
title="{{ c.brandname }}"
class="item-list-media">
{% if c.presentationVideo %}
{% if c.presentationVideo.thumbnails.0.sizes is defined %}
<img class="thumbnail_list"
src="{{ c.presentationVideo.thumbnails.0.sizes.4.link }}"
alt="{{ c.brandName }}"/>
{% endif %}
<span class="playerbtn"></span>
{% else %}
<img class="thumbnail_list"
src="{{ asset('/img/default_picture_company.svg') }}"
alt="{{ c.brandName }}"/>
{% endif %}
</a>
</div>
<div class="borderList"></div>
<div class="clearfix"></div>
</div>
{% endif %}
{% endfor %}
@@ -0,0 +1,15 @@
{% 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 s6">
<div class="col xl2 l2 m6 s12 col-footer-logo">
<img src="{{ asset('/img/logo-mini-white.svg') }}" alt="Talents Tube 1er job board 100% vidéo">
</div>
<div class="col xl3 l3 m6 s6">
@@ -16,6 +16,9 @@
<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>
@@ -41,13 +44,16 @@
<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 97 68 14 02</p>
<p class="white-text">02 30 05 06 31</p>
<p class="footer-newsletter">
<a class="btn-large btn-round" href="#" title="Newsletter" data-token="ecea5416671e97e3abfa8195848a9140" onclick="mjOpenPopin(event, this)">
<i class="fa fa-envelope-open-o left" aria-hidden="true"></i>
@@ -58,7 +64,11 @@
</div>
<div class="row footer-more-links">
<div class="col s12 center-align">
<a class="text-center white-text" href="https://www.e-declic.com" target="_blank" title="Agence Web">&copy;&nbsp;2017 Talents Tube</a>
<p class="text-center white-text">Entreprise soutenue par</p>
<a href="https://www.bretagne.bzh/"><img src="{{ asset('img/RB_monochrome_blanc.svg')}}" alt="Region Bretagne"></a><br>
</div>
<div class="col s12 center-align m-t-30">
<a class="text-center white-text" href="https://www.e-declic.com" target="_blank" title="Agence Web">&copy;&nbsp;2018 Talents Tube</a>
</div>
</div>
</div>
@@ -70,4 +80,4 @@
{{ render(controller('AppBundle:SecurityModal:loginModal')) }}
</div>
</div>
{% endif %}
{% endif %}
@@ -9,12 +9,13 @@
{# VIDEO #}
<div class="col l12 m12 s12 home-content col-noPadding">
<div id="homeTeaser" class="valign-wrapper">
<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>
<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>
<div class="header-video-inner">
<video loop="" preload="metadata" autoplay="" id="vid" muted>
<source src="/img/home_video.mp4" type="video/mp4">
@@ -32,7 +33,10 @@
<div id="liste-jobs" class="fuild-container bg-grey-3 button-plus">
<div class="container">
<div class="row center-align">
<div class="col s12"><h2 class="blue-text no-margin-top">Les offres <span>d'emploi</span></h2></div>
<div class="col s12">
<h2 class="blue-text no-margin-top">Les offres d'emploi</h2>
<h3 class="subtitles-homepage">Postulez en CV vidéo ou vidéo de motivation</h3>
</div>
</div>
<div class="row">
<div class="col s12 col-noPadding">
@@ -46,7 +50,7 @@
<div class="row center-align">
<div class="col s12">
<a href="{{ path('ad_search_result') }}" title="Découvrir toutes les offres d'emploi"
class="btn btn-default btn-round btn-all-jobs">Découvrir toutes les offres d'emploi
class="btn btn-default btn-round btn-all-jobs">Voir les offres
</a>
</div>
</div>
@@ -59,15 +63,14 @@
<div class="container">
<div class="row center-align">
<div class="col s12">
<h2 class="blue-text no-margin-top">
La marque employeur des <span>entreprises de talents</span>
</h2>
<h2 class="blue-text no-margin-top">Ils recrutent</h2>
<h3 class="subtitles-homepage">Ils méritent votre candidature spontanée, découvrez leur réalité, leur marque employeur.</h3>
</div>
</div>
<div class="row">
<div class="col s12 col-noPadding">
<div class="owl-carousel owl-carousel-home home-company-carousel">
{% if talents|length > 0 %}
{% if companies|length > 0 %}
{% include 'default/company_card.html.twig' with {'companies': companies } %}
{% endif %}
</div>
@@ -75,7 +78,7 @@
</div>
<div class="row center-align">
<div class="col s12">
<a href="{{ path('company_list') }}" title="Toutes les entreprise" class="btn btn-default btn-round btn-all-talents">Découvrir toutes les entreprises</a>
<a href="{{ path('company_list') }}" title="Toutes les entreprise" class="btn btn-default btn-round btn-all-talents">Voir les entreprises</a>
</div>
</div>
</div>
@@ -89,8 +92,8 @@
<div id="liste-talents" class="bg-dark2 button-plus">
<div class="container">
<div class="row center-align">
<div class="col s12"><h2 class="blue-text no-margin-top">Les CV vidéo
<span>à la une</span></h2></div>
<div class="col s12"><h2 class="blue-text no-margin-top">Les talents</h2></div>
<h3 class="subtitles-homepage">Découvrez leurs CV vidéo et vidéo de motivation.</h3>
</div>
<div class="row">
<div class="owl-carousel owl-carousel-home home-talent-carousel">
@@ -106,10 +109,11 @@
<div class="container">
<div class="row center-align">
<div class="col s12">
<h2 class="blue-text no-margin-top">Les territoires <span>pour vivre et travailler</span></h2>
<h2 class="blue-text no-margin-top">Les territoires</h2>
<h3 class="subtitles-homepage">Venez vivre et travailler chez nous.</h3>
{% if territories %}
<div class="owl-carousel owl-carousel-home territory-carousel">
{% for territory in territories if territory.presentationVideo %}
{% for territory in territories if territory.presentationVideo and territory.isPrivate != true %}
<div class="item">
<div class="embed-responsive embed-responsive-16by9">
<div class="col s12">
@@ -119,8 +123,8 @@
</div>
</div>
<div class="m-t-30">
<a title="territoire de {{ territory.brandname }}" class="btn btn-default" href="{{ path('territory_show',{'alias': territory.alias }) }}">
Voir le territoire de <span>{{ territory.brandname }}</span>
<a title="Voir les territoires" class="btn btn-default" href="{{ path('territory_list') }}">
Voir les territoires</span>
</a>
</div>
</div>
@@ -198,6 +202,7 @@
</div>
</div>
</div>
{% include 'testimony/testimony_list.html.twig' %}
</div>
<div id="modal_concept" class="modal modal-fixed-footer">
<div class="modal-content">
@@ -12,4 +12,9 @@
{% block description %}{{ page.description }}{% endblock %}
{% block content %}{{ page.content|raw }}{% endblock %}
{% block content %}
{{ page.content|raw }}
{% if isTestimony is defined %}
{% include 'testimony/testimony_list.html.twig' %}
{% endif %}
{% endblock %}
@@ -4,7 +4,9 @@
<div class="item">
<a href="{{ path('talent_show',{'alias': talent.alias }) }}"
title="{{ user.firstname }} {{ user.lastname }}">
{% if user.photo %}
{% 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 %}
<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="btn btn-default bnt-round dz-remove" data-dz-remove>Supprimer la vidéo</a>
<a href="javascript:undefined;" class="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 réponses</a></li>
<li class="tab col s4"><a class="active" href="#reponses">Mes candidatures</a></li>
</ul>
<div id="reponses" class="col s12">
<table class="bordered highlight responsive-table">
@@ -21,15 +21,18 @@
{% for a in answers %}
<tr>
<td>
{{ a.ad.title }}<br />
{% if a.ad != null %}{{ a.ad.title }}{% else %}{{ a.company.brandname }}{% endif %}<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.status == "DRAFT" %}
{% if a.ad != null %} {{ a.ad.countAnswers }}{% endif %}
</td>
<td>
{% if a.status == "DRAFT" and a.ad != null %}
<a href="{{ path('talent_answer_create',{id:a.ad.id}) }}">
<i class="fa fa-pencil-square-o" aria-hidden="true"></i>
</a>
@@ -0,0 +1,227 @@
{% 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,13 +3,20 @@
<div class="profil center-align">
{% set company = app.user.company %}
<div class="profil-picture">
{% if app.user.photo %}
{% if app.user.photo is not null %}
<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">
@@ -78,7 +85,6 @@
'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">
<div class="owl-carousel owl-carousel-ptalent">
{% 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.photo %}
<img src="{{ user.webPath | imagine_filter('profile_square') }}"
alt="{{ user.firstname }} {{ user.lastname|first|upper }}"
class="circle responsive-img"/>
{% 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 }}"/>
{% else %}
<div class="circle-letters font-2">{{ user.firstname|first|upper }}{{ user.lastname|first|upper }}</div>
{% endif %}
@@ -113,10 +113,7 @@
{% block javascripts %}
{{ parent() }}
<script src="https://player.vimeo.com/api/player.js"></script>
<script>
var iframe = document.querySelector('iframe');
var player = new Vimeo.Player(iframe);
$(document).ready(function(){
$.get( "{{ path('talent_ajaxRecStat',{'id': talent.id }) }}", function( data ) {
});
@@ -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 %}
{% 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">
@@ -67,7 +67,10 @@
<p class="m-0">
<a class="td-none color-grey3"
href="{{ path('territory_show',{'alias': c.alias, '_fragment':'offers' }) }}">
{% set nbAds = c.getTerritoryAds|length %}
{% set nbAds = 0 %}
{% for territoryAd in c.getTerritoryAds if territoryAd.ad != null %}
{% set nbAds = nbAds + 1 %}
{% endfor %}
{% if nbAds > 1 %}
<strong>{{ nbAds }} offres d'emploi en
cours sur ce territoire</strong>
@@ -95,16 +95,45 @@
</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 pour {{ company.brandname }}</h1>
<h1>Les offres demploi du territoire : {{ company.brandname }}</h1>
<div id="liste-resultats">
{% include 'default/ad_listing.html.twig' with {'ads':companyAds} %}
</div>
</div>
</div>
{% endif %}
{% if companies|length > 0 %}
<div id="companies" class="row">
<div class="col s12">
<h1>Les entreprises du territoire : {{ company.brandname }}</h1>
<div id="liste-resultats">
{% include 'default/company_listing.html.twig' with {'companies':companies} %}
</div>
</div>
</div>
{% endif %}
</div>
</div>
</div>
@@ -0,0 +1,42 @@
<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,4 +40,5 @@ assetic:
- 'js/vendors/typeahead.js'
- 'js/company.js'
- 'js/backend.js'
- 'js/tags.js'
- 'js/tags.js'
- 'js/vendors/jquery-confirm.min.js'
+35 -1
View File
@@ -25,7 +25,9 @@ framework:
engines: ['twig']
default_locale: "%locale%"
trusted_hosts: ~
trusted_proxies: ~
# 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]
session:
handler_id: session.handler.native_file
save_path: "%kernel.root_dir%/../var/sessions/%kernel.environment%"
@@ -157,6 +159,38 @@ 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: ['me@example.com']
swiftmailer:
delivery_addresses: ['%delivery_addresses%']
@@ -1,17 +1,16 @@
# 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
#Mongo
mongodb_server: "mongodb://tt-website.mongo.dev:27017"
#Prestashop
mongodb_server: 'mongodb://tt-website.mongo.dev:27017'
prestashop_key: 9YUQ5jPqT4Z4x5s9B25pb1yuGBtpaeBDxpWDgicPF3CuP8F2p9aK18ZS
prestashop_path: /home/projects/prestashop1/store
prestashop_id: 1
@@ -19,11 +18,10 @@ parameters:
prestashop_month_id: 2
prestashop_ad_id: 1
prestashop_video_corporate_id: 3
prestashop_url: https://www.talentstube.com/store/
#Media
prestashop_url: 'https://www.talentstube.com/store/'
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
@@ -27,3 +27,4 @@ parameters:
elastic_host: tt-website.elasticsearch.preprod
elastic_port: 9200
delivery_addresses: thomas@e-declic.com
@@ -13,7 +13,7 @@ parameters:
mongodb_server: "mongodb://tt-website.mongo.prod:27017"
#Prestashop
prestashop_key: 9YUQ5jPqT4Z4x5s9B25pb1yuGBtpaeBDxpWDgicPF3CuP8F2p9aK18ZS
prestashop_path: /home/www/website/www/store/
prestashop_path: /home/www/website/store/
prestashop_id: 1
prestashop_avoid: false
prestashop_month_id: 11
@@ -27,3 +27,4 @@ parameters:
elastic_host: tt-website.elasticsearch.prod
elastic_port: 9200
delivery_addresses: thomas@e-declic.com
+13 -1
View File
@@ -7,4 +7,16 @@ app:
type: annotation
_liip_imagine:
resource: "@LiipImagineBundle/Resources/config/routing.xml"
resource: "@LiipImagineBundle/Resources/config/routing.xml"
hwi_oauth_security:
resource: "@HWIOAuthBundle/Resources/config/routing/login.xml"
prefix: /login
hwi_oauth_connect:
resource: "@HWIOAuthBundle/Resources/config/routing/connect.xml"
prefix: /login
hwi_oauth_redirect:
resource: "@HWIOAuthBundle/Resources/config/routing/redirect.xml"
prefix: /login
+14 -6
View File
@@ -4,6 +4,7 @@ security:
memory: ~
fos_userbundle:
id: fos_user.user_provider.username_email
#id: app.user_provider
firewalls:
dev:
@@ -12,17 +13,26 @@ security:
main:
pattern: ^/
remember_me:
secret: '%kernel.secret%'
lifetime: 14515200
path: /
always_remember_me: true
form_login:
provider: fos_userbundle
csrf_token_generator: security.csrf.token_manager
success_handler: redirect.after.login
# logout: true
logout:
handlers: ['edeclic.prestashop.logout']
anonymous: true
oauth:
resource_owners:
facebook: "/login/check-facebook"
linkedin: "/login/check-linkedin"
login_path: "/login"
oauth_user_provider:
service: app.user_provider
anonymous: true
switch_user:
provider: fos_userbundle
access_control:
- { path: ^/login$, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/register, roles: IS_AUTHENTICATED_ANONYMOUSLY }
@@ -32,9 +42,7 @@ security:
- { path: ^/admin/config/, role: [ROLE_WEBMASTER,ROLE_SUPER_ADMIN] }
- { path: ^/talent/me/, roles: ROLE_TALENT }
- { path: ^/talent/recherche/, roles: ROLE_COMPANY }
#- { path: ^/talent/(.+)/, roles: ROLE_COMPANY }
- { path: ^/entreprise/me/, roles: ROLE_COMPANY }
- { path: ^/annonce/(.+)/repondre, roles: ROLE_TALENT }
- { path: ^/territoire/me/, roles: ROLE_TERRITORY }
encoders:

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