Compare commits

...

172 Commits

Author SHA1 Message Date
Thomas Berrod d6f8941e47 unknown deletes 2019-05-16 09:46:59 +02:00
Thomas Berrod 5474397f5f Merge branch 'feat/api-rest' of https://git.e-declic.net/talents-tube/website into feat/api-rest 2018-09-17 10:49:18 +02:00
Maxime Thévenot 44d0711dc1 Feat : Add company and answer api base 2018-09-17 10:15:12 +02:00
Thomas Berrod 9f6c1a740f Merge branch 'feat/api-rest' of https://git.e-declic.net/talents-tube/website into feat/api-rest 2018-09-17 09:04:25 +02:00
Thomas Berrod 8063c8479e feat:adding quotes to makefile 2018-09-10 09:53:07 +02:00
Maxime Thévenot 04229b0781 Feat : implement token generation with facebook id 2018-09-07 14:31:32 +02:00
Maxime Thévenot 4edfae9f1c Feat : implement JWT for api authentication 2018-09-07 08:57:44 +02:00
Maxime Thévenot 870654c850 Feat : update ads representation 2018-09-06 09:48:12 +02:00
Maxime Thévenot 9413202660 WIP : test authentication for api 2018-09-06 08:20:27 +02:00
Maxime Thévenot 215e325a8c Feat : configure and test api on add 2018-09-06 08:20:09 +02:00
Maxime Thévenot 9f8682c896 Feat : Install hateoas bundle 2018-09-06 08:19:16 +02:00
Maxime Thévenot c48fe53e6a Feat : install pagerfante bundle and update api 2018-08-31 16:44:42 +02:00
Maxime Thévenot d69f32c657 Feat : update config.yml for fosrest and add some api method 2018-08-31 12:07:29 +02:00
Maxime Thévenot dba776d15f Update : symfony to 3.4 + vendors 2018-08-31 11:26:11 +02:00
Maxime Thévenot bb3ed610ab WIP : testing api 2018-08-31 10:40:47 +02:00
Maxime Thévenot 75145d9e1c Feat : install FOSRestBundle 2018-08-29 15:26:50 +02:00
Maxime Thévenot b885e6866c Feat : install jmsserializer bundle 2018-08-29 14:42:12 +02:00
Maxime Thévenot 74f9c7b884 Fix : update registration template to fix button 2018-08-28 15:29:04 +02:00
Maxime Thévenot 2eb399776b Fix : hover color on territory title 2018-08-28 11:44:22 +02:00
Maxime Thévenot 8986ae738a Fix : typo in wording and redirect castre mazamet 2018-08-28 11:29:07 +02:00
Thomas MONCHICOURT 7dfaf01705 Fix : correction template pour message direct au talent 2018-08-27 12:22:26 +02:00
Thomas MONCHICOURT a4631872e0 Fix : https on graph picture facebook 2018-08-24 12:24:04 +02:00
Thomas MONCHICOURT ddc6b18d0a Fix : erreur 500 talent non connecté 2018-08-24 12:20:43 +02:00
Thomas MONCHICOURT 6033516273 Fix : erreur 500 sur talent en tant qu’admin 2018-08-23 17:10:11 +02:00
Thomas MONCHICOURT 73a44a011d Fix : double tags input 2018-08-23 16:39:01 +02:00
Thomas MONCHICOURT 57299b841e Fix : check birthday if empty talent 2018-08-23 16:09:03 +02:00
Thomas MONCHICOURT fb11613b7c Feat : rechargement de la dropzone au chargement de video sur les réponse 2018-08-23 15:31:54 +02:00
Thomas MONCHICOURT e13ef32197 Merge branch 'master' into develop 2018-08-23 15:23:18 +02:00
Thomas MONCHICOURT e70c1c7f5e Feat : dropzone reload 2018-08-23 15:19:46 +02:00
Thomas MONCHICOURT 0c9c4f0fc2 Fix : video vimeo pour dev 2018-08-23 15:19:37 +02:00
Thomas MONCHICOURT 5cd78b272a Fix : video égérie talent 2018-08-23 14:56:42 +02:00
Thomas MONCHICOURT f3597146ad Feat : ajout title analitycs annonce #7115 @0h10 2018-08-23 14:15:12 +02:00
Thomas MONCHICOURT f52f49ce9a Fix : css form parent probleme 2018-08-23 13:57:16 +02:00
Thomas MONCHICOURT 0b6a04e8d0 Feat : form validation talent + datepicker 2018-08-23 12:32:30 +02:00
Thomas MONCHICOURT 0dfc9af863 Feat : modification couleur cookie bar 2018-08-22 16:48:40 +02:00
Thomas MONCHICOURT fc548bc74c Fix: condition existance vidéo 2018-08-22 16:17:36 +02:00
Thomas MONCHICOURT 5d78b30bef Feat : generation css suite merge 2018-08-22 16:05:10 +02:00
Thomas MONCHICOURT 7372b03e5c Merge branch 'develop'
# Conflicts:
#	volume/www/website/www/web/css/styles.css
#	volume/www/website/www/web/css/styles.css.map
#	volume/www/website/www/web/sass/base/_variables.scss
#	volume/www/website/www/web/sass/modules/_app.scss
2018-08-22 16:04:32 +02:00
Thomas MONCHICOURT eadb2a397f Fix : probleme connexion apres login 2018-08-22 11:34:58 +02:00
Thomas MONCHICOURT 959dd61435 Feat : ajout lien modification menu et title 2018-08-21 14:33:38 +02:00
Thomas MONCHICOURT 6e63c1f2e8 feat : css pour la cookie bar en prod 2018-08-21 14:16:34 +02:00
Thomas MONCHICOURT 8a91476e86 Feat : css suite merge 2018-08-21 12:33:37 +02:00
Thomas MONCHICOURT 714bf6ad8e Feat : cookie bar #7105 @1h
# Conflicts:
#	volume/www/website/www/composer.json
#	volume/www/website/www/composer.lock
#	volume/www/website/www/vendor/composer/installed.json
#	volume/www/website/www/web/css/styles.css
#	volume/www/website/www/web/css/styles.css.map
#	volume/www/website/www/web/sass/modules/_app.scss
2018-08-21 12:33:20 +02:00
Thomas MONCHICOURT 6f5118e500 Feat : cookie bar #7105 @1h 2018-08-21 12:30:58 +02:00
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 85abb49683 Feat : ajout readmore js 2018-08-16 14:38:26 +02:00
Thomas MONCHICOURT 6fb0ad4d40 Fix : message 2018-08-14 15:23:14 +02:00
Thomas MONCHICOURT 1ab9cf6703 Feat : ajout du twig intl extension 2018-08-14 14:50:20 +02:00
Thomas MONCHICOURT e8ab042fe5 Feat : modificaion recommandation 2018-08-14 14:40:44 +02:00
Thomas MONCHICOURT 009bea43ef feat: ajout champ type poste #6838 2018-08-13 17:23:35 +02:00
Thomas MONCHICOURT 0abfa0dca8 Feat : ajout du readmorejs pour les message de candidature #6945 @0h30 2018-08-13 11:04:12 +02:00
Thomas MONCHICOURT 7510b8022a Feat : correction recettage 2018-08-13 10:38:06 +02:00
Thomas MONCHICOURT 69e6f6c16b feat : Correction corentin reponse video #6945 @2h 2018-08-09 12:11:32 +02:00
Thomas MONCHICOURT 4981a3d310 Feat : test unitaire 2018-08-08 11:28:13 +02:00
Thomas MONCHICOURT 13ec5f3d34 Fix : condition territoire prefixe 2018-08-07 16:28:18 +02:00
Thomas MONCHICOURT a08b13591a Merge branch 'develop' of https://git.e-declic.net/talents-tube/website into develop 2018-08-07 16:24:21 +02:00
Thomas MONCHICOURT a470518403 Fix : erreur iframe 2018-08-07 16:24:15 +02:00
Maxime Thévenot 64e76b29f5 Fix : update conf for preprod rebuilding 2018-08-07 16:15:53 +02:00
Maxime Thévenot 983e0b03be Merge branch 'develop' of https://git.e-declic.net/talents-tube/website into develop
# Conflicts:
#	volume/www/website/www/app/Resources/views/default/index.html.twig
2018-08-07 15:44:43 +02:00
Maxime Thévenot 45cb8896de Feat : update territory carrousels 2018-08-07 15:42:21 +02:00
Thomas MONCHICOURT 9bf7065984 Fix : order réponse dashboard talent 2018-08-07 15:24:30 +02:00
Thomas MONCHICOURT 243d1e3945 Fix : img talent homepage 2018-08-07 15:13:35 +02:00
Thomas MONCHICOURT 16951ee895 Feat : design dashboard 2018-08-07 14:54:01 +02:00
Thomas MONCHICOURT e5ce4c7127 Feat: ajout nouveau champ sendTime #6945 @0h20 2018-08-07 14:27:25 +02:00
Thomas MONCHICOURT 18c12c3b3a Feat : modification design #6945 @2h 2018-08-07 10:45:45 +02:00
Thomas MONCHICOURT 13adc1b87c Fix : design retour corentin #6945 @1h15 2018-08-03 11:54:53 +02:00
Thomas MONCHICOURT 75e0f4b99e Fix : dropzone error 2018-08-03 11:53:59 +02:00
Thomas MONCHICOURT 9d659eea7e Fix : count pour candidature spontanée 2018-08-01 16:35:00 +02:00
Thomas MONCHICOURT 8a987d48c1 Feat : modification listing answer 2018-08-01 16:32:58 +02:00
Thomas MONCHICOURT e6d9c72f62 Feat : Candidature spontané talent #6945 @0h20 2018-08-01 15:13:10 +02:00
Thomas MONCHICOURT a92ab7f3cc Feat : Url candidature 2018-08-01 15:08:06 +02:00
Thomas MONCHICOURT d1c37dfd23 Merge branch 'develop' of https://git.e-declic.net/talents-tube/website into develop 2018-08-01 14:57:36 +02:00
Thomas MONCHICOURT a9b16a7a84 Feat : Ajout du détail d’une réponse pour le talent #6945 @1h 2018-08-01 14:57:31 +02:00
Thomas MONCHICOURT 962b9f0633 Fix : facebook connexion
# Conflicts:
#	volume/www/website/www/src/AppBundle/Security/Core/User/FOSUBUserProvider.php
2018-08-01 13:38:56 +02:00
Maxime Thévenot d413fee495 Merge branch 'develop' of https://git.e-declic.net/talents-tube/website into develop 2018-08-01 13:36:33 +02:00
Maxime Thévenot 058763fdbb Feat : update territory on index page 2018-08-01 13:36:28 +02:00
Thomas MONCHICOURT b19184b11b Fix : Correction dashboard recommendation 2018-08-01 11:26:20 +02:00
Thomas MONCHICOURT 642958639c Fix : admin dashboard 2018-08-01 11:24:30 +02:00
Thomas MONCHICOURT 353151a440 Merge branch 'feat/reponse-video' into develop
# Conflicts:
#	volume/www/website/www/app/Resources/views/company/ad_table_listing.html.twig
#	volume/www/website/www/app/Resources/views/company/answer_show.html.twig
#	volume/www/website/www/web/css/styles.css.map
2018-08-01 11:13:37 +02:00
Thomas MONCHICOURT 4bb64ce3e2 Feat : Tableau candidatures #6945 @0h15 2018-08-01 11:09:40 +02:00
Thomas MONCHICOURT 5f1e89b7ea Fix : facebook connexion 2018-08-01 10:43:47 +02:00
Thomas MONCHICOURT c9d52ed240 Feat : Page candidature #6945 @1j 2018-08-01 10:41:09 +02:00
Thomas MONCHICOURT 0c808e2513 Feat : process annonce #6945 @2h 2018-08-01 09:36:46 +02:00
Thomas MONCHICOURT 7e22a202c2 feat : process réponse en vidéo style #6945 @2h30 2018-07-31 12:34:17 +02:00
Maxime Thévenot 8907b9232a Feat : update ad sort order on company_show 2018-07-31 09:58:30 +02:00
Thomas MONCHICOURT 1f588171ef Feat : réponse en vidéo #6945 @2h 2018-07-30 17:00:46 +02:00
Maxime Thévenot 681e5add11 Fix : update typo in nginx conf 2018-07-30 16:28:34 +02:00
Maxime Thévenot 16145c81c0 Conf : update preprod nginx conf 2018-07-30 16:25:30 +02:00
Maxime Thévenot 8a3f502129 Merge branch 'feat/recommandation' into develop 2018-07-30 15:58:54 +02:00
Maxime Thévenot aad4dcb110 Feat : add admin space for recommendation 2018-07-30 14:58:56 +02:00
Thomas MONCHICOURT 129dd22cbb Feat: réponses vidéo #6945 @1h 2018-07-30 12:23:34 +02:00
Thomas MONCHICOURT 2387b1c922 Feat: reponse #6945 @0h15 2018-07-27 17:33:28 +02:00
Thomas MONCHICOURT c43a7655e7 Feat : design page reponse #6945 @2h 2018-07-27 17:10:53 +02:00
Thomas MONCHICOURT 55e8eaf6cd Feat: Design page reponse #6945 @1h30 2018-07-27 12:25:40 +02:00
Thomas MONCHICOURT db9f554792 Merge branch 'feat/recommandation' into feat/reponse-video 2018-07-27 11:20:01 +02:00
Thomas MONCHICOURT 820cc048eb feat: reponse video #6945 @1h30 2018-07-26 16:12:08 +02:00
Maxime Thévenot 1c99889e89 Fix : add missing quote 2018-07-26 15:25:38 +02:00
Maxime Thévenot 552c9ecf9e Merge branch 'feat/upload-video-nologin' into develop
# Conflicts:
#	volume/www/website/www/web/css/styles.css.map
2018-07-26 15:17:54 +02:00
Maxime Thévenot 8bb8afbee7 Feat : add cv import page without answer 2018-07-26 15:17:30 +02:00
Thomas MONCHICOURT daee96533d feat: réponse en vidéo #6945 @3h 2018-07-26 12:24:11 +02:00
root c09f6f0b62 Conf : git erver side updated files 2018-07-26 10:05: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 7494173cde Fix : set store in noindex nofollow 2018-07-26 09:25:06 +02:00
Maxime Thévenot ea3cdf0553 Fix : set store in noindex nofollow 2018-07-26 09:24:55 +02:00
Maxime Thévenot 0dcc5111f4 Fix: set noindex on spontaneous answer 2018-07-25 16:11:44 +02:00
Maxime Thévenot 4518a8a5e2 Fix: set noindex on spontaneous answer 2018-07-25 16:11:32 +02:00
Maxime Thévenot 4cdd9dc256 WIP : cv import pages 2018-07-25 14:17:40 +02:00
Maxime Thévenot 00f38cf4f7 Fix : change fosuser provider and fix admin connection 2018-07-24 15:52:16 +02:00
Maxime Thévenot 5ab04175b8 Feat : update tabs in company dashboard 2018-07-23 16:55:48 +02:00
Maxime Thévenot ce3eda07b4 Feat : add link to answers on ad title in list 2018-07-23 16:24:19 +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
Maxime Thévenot 3b4ebf343a Feat : delete recommendation process 2018-07-23 14:50:35 +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 c9b4a2b30f Feat : Mise en place d’un message prevention sur safari #6307 @0h15 2018-07-20 14:33:38 +02:00
Thomas MONCHICOURT acb87af087 Merge branch 'feat/recommandation' of https://git.e-declic.net/talents-tube/website into feat/recommandation 2018-07-20 14:12:52 +02:00
Thomas MONCHICOURT 8a14b86f03 Feat : modification listing front 2018-07-20 14:12:48 +02:00
Maxime Thévenot c05edac0fd Fix : typo in modale naming 2018-07-20 09:19:53 +02:00
Thomas MONCHICOURT 7a2be30f15 Feat : style css merge 2018-07-19 17:34:43 +02:00
Thomas MONCHICOURT e183729687 Merge branch 'feat/recommandation' of https://git.e-declic.net/talents-tube/website into feat/recommandation
# Conflicts:
#	volume/www/website/www/src/AppBundle/Controller/RecommendationController.php
#	volume/www/website/www/web/css/styles.css
2018-07-19 17:28:10 +02:00
Thomas MONCHICOURT ce498eb526 Feat : Mise en place des recommandation en front #6838 @2h 2018-07-19 17:26:34 +02:00
Maxime Thévenot 4d09bf2ddf Feat : add modal to see recommendation video 2018-07-19 17:24:51 +02:00
Maxime Thévenot d8ee626298 Feat : add toggle for recommendation visibility 2018-07-19 15:56:57 +02:00
Maxime Thévenot 50e9f45369 Feat : Add tabs to navigate between pages - recommendations 2018-07-19 15:19:03 +02:00
Maxime Thévenot c9663ab0d9 Feat : update css, add link to recommendations 2018-07-19 14:56:27 +02:00
Thomas MONCHICOURT 33fc07121b Fix : suite merge 2018-07-19 11:31:01 +02:00
Thomas MONCHICOURT a71e6692a6 Merge branch 'feat/recommandation' of https://git.e-declic.net/talents-tube/website into feat/recommandation
# Conflicts:
#	volume/www/website/www/src/AppBundle/Controller/RecommendationController.php
2018-07-19 11:29:26 +02:00
Thomas MONCHICOURT 2ef6707342 Feat : Recommendation front #6838 @2h30 2018-07-19 11:27:20 +02:00
Maxime Thévenot 728f16ee06 Feat : add recommendation lsit pages for talent 2018-07-19 11:25:53 +02:00
Maxime Thévenot 05d9bcced2 Feat : add nullable to relationType field 2018-07-19 11:04:29 +02:00
Thomas MONCHICOURT 7d2f3353eb Merge branch 'feat/recommandation' of https://git.e-declic.net/talents-tube/website into feat/recommandation 2018-07-18 17:32:24 +02:00
Thomas MONCHICOURT 5d4249984d Feat : Mise en place controller et check talent #6838 @2h 2018-07-18 17:32:21 +02:00
Maxime Thévenot d7114a0219 Feat : add recommandation form 2018-07-18 14:48:14 +02:00
Maxime Thévenot 672d2148c2 Feat : add recommendation entity and relations 2018-07-18 14:32:54 +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
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
12309 changed files with 340976 additions and 79441 deletions
+2
View File
@@ -8,3 +8,5 @@
/backup
/conf/env/*.env
volume/www/website/.idea
/volume/www/website/store/themes/talentstube-20170413/cache/*
/volume/www/website/store/img/tmp/*
+2 -2
View File
@@ -17,7 +17,7 @@ endif
DC_OVERRIDE := $(shell test -e conf/docker-compose.override.yml && echo "--file conf/docker-compose.override.yml")
DC_OVERRIDE_ENV := $(shell test -e conf/docker-compose.$(ENV).yml && echo "--file conf/docker-compose.$(ENV).yml")
DC=ENV=$(ENV) CLIENT=$(CLIENT) $(DOCKERCOMPOSE) --project-name "$(CLIENT)_$(ENV)" --file conf/docker-compose.yml $(DC_OVERRIDE) $(DC_OVERRIDE_ENV)
DC=ENV=$(ENV) CLIENT=$(CLIENT) "$(DOCKERCOMPOSE)" --project-name "$(CLIENT)_$(ENV)" --file conf/docker-compose.yml $(DC_OVERRIDE) $(DC_OVERRIDE_ENV)
default:
$(info $(USAGE))
@@ -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"
+13
View File
@@ -0,0 +1,13 @@
version: '3'
services:
nginx:
networks:
- default
- frontnginx_front
networks:
default:
driver: bridge
frontnginx_front:
external: true
+9 -31
View File
@@ -1,44 +1,22 @@
upstream website_php-preprod {
server tt.website-preprod:9000;
server tt-website.php.preprod:9000;
}
upstream store_php-preprod {
server tt.store-preprod:9000;
server tt-website.store-php.preprod:9000;
}
server {
listen 80;
server_name pp.talentstube.com;
return 301 https://pp.talentstube.com$request_uri;
}
server {
listen 443 ssl http2;
listen 80;
server_name pp.talentstube.com;
client_max_body_size 500M;
root /home/www/website/www/web;
root /home/www/pp.talentstube.com/www/web;
access_log /home/www/website/log/access.log vhosts;
error_log /home/www/website/log/error.log;
access_log /home/www/pp.talentstube.com/log/access.log vhosts;
error_log /home/www/pp.talentstube.com/log/error.log;
ssl on;
ssl_certificate /etc/ssl/private/talentstube.com.chain.crt;
ssl_certificate_key /etc/ssl/private/talentstube.com.key;
ssl_session_timeout 24h;
ssl_session_cache shared:SSL:10m;
ssl_dhparam /etc/ssl/dhparam.pem;
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;
}
@@ -85,7 +63,7 @@ server {
# ---- PRESTASHOP ----
location ^~ /store/ {
root /home/www/pp.talentstube.com;
root /home/www/website;
index index.php;
try_files $uri $uri/ /www/index.php;
@@ -115,6 +93,6 @@ server {
sendfile off;
include /home/www/pp.talentstube.com/conf/redirect.conf;
include /home/www/pp.talentstube.com/conf/expires.conf;
include /home/www/website/conf/redirect.conf;
include /home/www/website/conf/expires.conf;
}
+2 -1
View File
@@ -11,4 +11,5 @@ rewrite ^/page/presentation-talent$ https://www.talentstube.com/cv-video perma
rewrite ^/page/la-plateforme$ https://www.talentstube.com/ permanent;
rewrite ^/tarifs$ https://www.talentstube.com/accompagnement-entreprise permanent;
rewrite ^/annonce/38-charge-de-projets-developpement-h-f$ https://www.talentstube.com/annonce/38-charge-de-projets-developpement-cosmetique-h-f permanent;
rewrite ^/annonce/recherche/$ https://www.talentstube.com/annonce/recherche permanent;
rewrite ^/annonce/recherche/$ https://www.talentstube.com/annonce/recherche permanent;
rewrite ^/territoire/1573-communaute-d-agglomeration-castres-mazamet/$ https://www.talentstube.com/territoire/1573-castres-mazamet/ 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}" />
+10
View File
@@ -48,6 +48,16 @@ class AppKernel extends Kernel
//oAuth
new Http\HttplugBundle\HttplugBundle(),
new HWI\Bundle\OAuthBundle\HWIOAuthBundle(),
//CookieBar
new Fairlane\CookieConsentBundle\FairlaneCookieConsentBundle(),
//Api
new JMS\SerializerBundle\JMSSerializerBundle(),
new FOS\RestBundle\FOSRestBundle(),
new WhiteOctober\PagerfantaBundle\WhiteOctoberPagerfantaBundle(),
new Bazinga\Bundle\HateoasBundle\BazingaHateoasBundle(),
new Lexik\Bundle\JWTAuthenticationBundle\LexikJWTAuthenticationBundle(),
];
if (in_array($this->getEnvironment(), ['dev', 'test'], true)) {
@@ -4,10 +4,6 @@
{% block content %}
{% if app.environment == 'dev' %}
{{dump(app.request.cookies)}}
{% endif %}
<div class="container contentWrapper">
<div class="row">
<div class="col push-s3 s6">
@@ -19,8 +15,10 @@
</p>
{% endif %}
<br/><br/>
{% if destination_login is defined %}
<a href="{{ app.request.cookies.get('redirect_register') }}" class="btn btn-default">Poursuivre votre vandidature</a>
{% if app.request.cookies.get('redirect_register') is defined and app.request.cookies.get('redirect_register') is not null %}
<div class="center">
<a href="{{ app.request.cookies.get('redirect_register') }}" class="btn btn-default">Poursuivre votre candidature</a>
</div>
{% endif %}
</div>
</div>
@@ -29,4 +27,4 @@
{% block metarobot %}
<meta name="robots" content="noindex,nofollow">
{% endblock %}
{% endblock %}
@@ -0,0 +1,46 @@
{% if fairlane_cookie_consent.active == true and app.request.cookies.get('fairlane-cookie-consent') != 'ok'%}
{% if fairlane_cookie_consent.translate == true %}
{% set text_info = fairlane_cookie_consent.twig.text_info | trans %}
{% set text_additional_info_link = fairlane_cookie_consent.twig.text_additional_info_link | trans %}
{% set text_accept_button = fairlane_cookie_consent.twig.text_accept_button | trans %}
{% else %}
{% set text_info = fairlane_cookie_consent.twig.text_info %}
{% set text_additional_info_link = fairlane_cookie_consent.twig.text_additional_info_link %}
{% set text_accept_button = fairlane_cookie_consent.twig.text_accept_button %}
{% endif %}
<div id="fairlane-cookie-consent" {% if fairlane_cookie_consent.useBootstrap == true %}class="navbar navbar-fixed-top"{% endif %}>
<div class="container">
<div class="row">
<div class="col s8">
<p>{{ text_info }}
{% if fairlane_cookie_consent.twig.url_additional_info| length > 1 and text_additional_info_link | length > 1 %}
<a href="{{ fairlane_cookie_consent.twig.url_additional_info }}" target="_blank">{{ text_additional_info_link }}</a>
{% endif %}
</p>
</div>
<div class="col s4">
<button class="btn btn-default">{{ text_accept_button }}</button>
</div>
</div>
</div>
</div>
{% if fairlane_cookie_consent.useJquery %}
<script type="text/javascript">
jQuery(document).ready(function() {
jQuery("#fairlane-cookie-consent button").click(function(){
jQuery.ajax({
async: true,
type: 'POST',
url: '{{ url('fairlane_cookie_consent_accept') }}',
data: JSON.stringify({'cookie-consent': 'ok'}),
success: function(data) {
jQuery("#fairlane-cookie-consent").fadeOut("fast");
},
contentType: "application/json",
dataType: 'json'
});
})
});
</script>
{% endif %}
{% endif %}
@@ -59,6 +59,34 @@
<trans-unit id="DECLINED">
<source>DECLINED</source>
<target>Refusée</target>
</trans-unit>
<trans-unit id="NEW">
<source>NEW</source>
<target>Nouveau</target>
</trans-unit>
<trans-unit id="VIEWED">
<source>VIEWED</source>
<target>Visionnée</target>
</trans-unit>
<trans-unit id="NEGATIVE">
<source>NEGATIVE</source>
<target>Négatif</target>
</trans-unit>
<trans-unit id="POSITIVE">
<source>POSITIVE</source>
<target>Positif</target>
</trans-unit>
<trans-unit id="INFOS">
<source>INFOS</source>
<target>Demande dinformations</target>
</trans-unit>
<trans-unit id="CONTACTED">
<source>CONTACTED</source>
<target>Demande dinformations</target>
</trans-unit>
<trans-unit id="CONTACTED.RDV">
<source>CONTACTED.RDV</source>
<target>Convocation entretien</target>
</trans-unit>
<!-- MENU COMPANY-->
<trans-unit id="profile.territory.brandname">
@@ -79,7 +107,11 @@
</trans-unit>
<trans-unit id="company.menu.ads.label">
<source>company.menu.ads.label</source>
<target>Mes annonces</target>
<target>Espace offres d'emploi</target>
</trans-unit>
<trans-unit id="company.title.ads.label">
<source>company.title.ads.label</source>
<target>Mes offres d'emploi</target>
</trans-unit>
<trans-unit id="company.menu.bookmark.label">
<source>company.menu.bookmark.label</source>
@@ -87,7 +119,11 @@
</trans-unit>
<trans-unit id="company.menu.answers.label">
<source>company.menu.answers.label</source>
<target>Réponses</target>
<target>Candidatures</target>
</trans-unit>
<trans-unit id="company.menu.spontaneous.label">
<source>company.menu.spontaneous.label</source>
<target>Candidatures spontanées</target>
</trans-unit>
<trans-unit id="company.menu.videotheque.label">
<source>company.menu.videotheque.label</source>
@@ -193,7 +229,7 @@
<!-- ANNONCE-->
<trans-unit id="ad.company.add.label">
<source>ad.company.add.label</source>
<target>Ajouter une annonce</target>
<target>Ajouter une offre</target>
</trans-unit>
<trans-unit id="ad.company.video.edit.label">
<source>ad.company.video.edit.label</source>
@@ -233,7 +269,7 @@
</trans-unit>
<trans-unit id="ad.company.list.status">
<source>ad.company.list.status</source>
<target>Statuts</target>
<target>Statut</target>
</trans-unit>
<trans-unit id="ad.save.extension.title">
<source>ad.save.extension.title</source>
@@ -260,6 +296,14 @@
<trans-unit id="profile.talent.account.title">
<source>profile.talent.account.title</source>
<target>Informations de compte</target>
</trans-unit>
<trans-unit id="talent.menu.answers.label">
<source>talent.menu.answers.label</source>
<target>Mes candidatures</target>
</trans-unit>
<trans-unit id="talent.menu.recommandations.label">
<source>talent.menu.recommandations.label</source>
<target>Mes recommandations</target>
</trans-unit>
<!-- TALENT -->
<trans-unit id="ad.talent.answer.label">
@@ -394,7 +438,122 @@
Talents Tube
</target>
</trans-unit>
</trans-unit>
<!-- Recommendations -->
<trans-unit id="label.recommendations">
<source>label.recommendations</source>
<target>Recommandations</target>
</trans-unit>
<trans-unit id="label.button.recommendation">
<source>label.button.recommendation</source>
<target>Je recommande</target>
</trans-unit>
<trans-unit id="label.link.readmore">
<source>label.link.readmore</source>
<target>Lire la suite</target>
</trans-unit>
<trans-unit id="label.choice.imtheboss">
<source>label.choice.imtheboss</source>
<target>%{name} était sous votre responsabilité</target>
</trans-unit>
<trans-unit id="label.choice.sheistheboss">
<source>label.choice.sheistheboss</source>
<target>Vous étiez sous la responsabilité de %{name} </target>
</trans-unit>
<trans-unit id="label.choice.sheismyscollege">
<source>label.choice.sheismyscollege</source>
<target>Vous avez travaillé avec %{name} dans la même entreprise</target>
</trans-unit>
<trans-unit id="label.front.imtheboss">
<source>label.front.imtheboss</source>
<target>%{name2} était responsable de %{name}</target>
</trans-unit>
<trans-unit id="label.front.sheistheboss">
<source>label.front.sheistheboss</source>
<target>%{name2} était sous la responsabilité de %{name}</target>
</trans-unit>
<trans-unit id="label.front.sheismyscollege">
<source>label.front.sheismyscollege</source>
<target>%{name} et %{name2} étaient collègues</target>
</trans-unit>
<trans-unit id="recommendation.email.message.html">
<source>recommendation.email.message.html</source>
<target><![CDATA[
<div style="margin:0 auto;max-width:600px;background:#FFFFFF;"><table class="" cellpadding="0" cellspacing="0" style="width:100%;font-size:0px;background:#FFFFFF;" align="center"><tbody><tr><td style="text-align:center;vertical-align:top;font-size:0;padding:0px;"><!--[if mso]>
<table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:600px;">
<![endif]--><div style="vertical-align:top;display:inline-block;font-size:13px;text-align:left;width:100%;" class="mj-column-per-100" aria-labelledby="mj-column-per-100"><table width="100%"><tbody><tr><td style="font-size:0;padding:40px 35px 20px 35px;" align="left"><div class="mj-content" style="cursor:auto;color:#534F4F;font-family:Trebuchet,Helvetica,sans-serif;font-size:14px;line-height:22px;"><p>Bonjour %firstname% %lastname%,</p>
<p>Vous avez reçu une recommandation vidéo de %firstname_sender% %lastname_sender%.</p>
<p>La recommandation est inactive par défaut, vous pouvez lactiver dans votre espace recommandations.</p>
</div></td></tr></tbody></table></div><!--[if mso]>
</td></tr></table>
<![endif]--></td></tr></tbody></table></div>
<div style="margin:0 auto;max-width:600px;background:#FFFFFF;"><table class="" cellpadding="0" cellspacing="0" style="width:100%;font-size:0px;background:#FFFFFF;" align="center"><tbody><tr><td style="text-align:center;vertical-align:top;font-size:0;padding:0px;"><!--[if mso]>
<table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:600px;">
<![endif]--><div style="vertical-align:top;display:inline-block;font-size:13px;text-align:left;width:100%;" class="mj-column-per-100" aria-labelledby="mj-column-per-100"><table width="100%"><tbody><tr><td style="font-size:0;padding:15px 30px;" align="center"><table cellpadding="0" cellspacing="0" style="border:none;border-radius:30px;" align="center"><tbody><tr><td style="background:#1689FB;border-radius:30px;color:#FFFFFF;cursor:auto;" align="center" valign="middle" bgcolor="#1689FB"><a class="mj-content" href="%recommendationUrl%" style="display:inline-block;text-decoration:none;background:#1689FB;border:1px solid #1689FB;border-radius:30px;color:#FFFFFF;font-family:Trebuchet,Helvetica,sans-serif;font-size:14px;font-weight:normal;padding:15px 30px;" target="_blank">Voir la recommandation</a></td></tr></tbody></table></td></tr></tbody></table></div><!--[if mso]>
</td></tr></table>
]]>
</target>
</trans-unit>
<!-- Dashboard -->
<trans-unit id="global.datereception.label">
<source>global.datereception.label</source>
<target>Date de reception </target>
</trans-unit>
<!-- Réponse en vidéo -->
<trans-unit id="label.message">
<source>label.message</source>
<target>MESSAGE : </target>
</trans-unit>
<trans-unit id="label.noMessage">
<source>label.noMessage</source>
<target>Aucun message</target>
</trans-unit>
<trans-unit id="label.offers">
<source>label.offers</source>
<target>Offres d'emploi</target>
</trans-unit>
<trans-unit id="label.answer">
<source>label.answer</source>
<target>Réponse : </target>
</trans-unit>
<trans-unit id="label.sended">
<source>label.sended</source>
<target>Envoyé : </target>
</trans-unit>
<trans-unit id="label.received">
<source>label.received</source>
<target>Recu : </target>
</trans-unit>
<trans-unit id="label.history.link">
<source>label.history.link</source>
<target>Afficher l'historique</target>
</trans-unit>
<trans-unit id="label.history.talent.link">
<source>label.history.talent.link</source>
<target>Historique des message recus</target>
</trans-unit>
<trans-unit id="label.webcam.answer.step1">
<source>label.webcam.answer.step1</source>
<target>Enregistrer ma vidéo</target>
</trans-unit>
<trans-unit id="label.webcam.answer.step2">
<source>label.webcam.answer.step2</source>
<target>Importer ma vidéo</target>
</trans-unit>
<trans-unit id="label.webcam.answer.step3">
<source>label.webcam.answer.step3</source>
<target>Définir le type de réponse</target>
</trans-unit>
<trans-unit id="label.webcam.answer.videotheque">
<source>label.webcam.answer.videotheque</source>
<target>Choisir une vidéo de réponse</target>
</trans-unit>
<trans-unit id="label.answer.history.title">
<source>label.answer.history.title</source>
<target>Historique des messages envoyés</target>
</trans-unit>
</body>
</file>
</xliff>
@@ -16,6 +16,7 @@
<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>
<link href="https://gitcdn.github.io/bootstrap-toggle/2.2.2/css/bootstrap-toggle.min.css" rel="stylesheet">
{% block css %}
@@ -71,6 +72,7 @@ output='assetic/admin.backend.js' filter='?uglifyjs2' %}
$('[data-toggle="tooltip"]').tooltip();
});
</script>
<script src="https://gitcdn.github.io/bootstrap-toggle/2.2.2/js/bootstrap-toggle.min.js"></script>
{% block javascripts %}
{% endblock %}
@@ -0,0 +1,176 @@
{% extends 'admin/base_admin.html.twig' %}
{% block contentHeader %}
<h1>
Recommandations
<small>Liste</small>
</h1>
<ol class="breadcrumb">
<li>
<a href="{{ path('admin_dashboard') }}">
<i class="fa fa-dashboard"></i>
Dashboard</a>
</li>
<li class="active">Recommandations</li>
</ol>
{% endblock %}
{% block content %}
<div class="box box-primary">
<div class="box-body">
<table id="reco_list_table" class="table table-hover table-bordered">
<thead>
<tr>
<th class="col-xs-2">Date de création</th>
<th>De</th>
<th>Pour</th>
<th>Status</th>
<th>Player</th>
<th>Action</th>
</tr>
</thead>
<tbody>
{% for r in recos %}
<tr>
<td data-order="{{ r.cTime|date('U') }}">{{ r.cTime|date('d/m/Y') }}</td>
<td>
{{ r.sender.lastname }}
{{ r.sender.firstname }}
</td>
<td>
{{ r.user.lastname }}
{{ r.user.firstname }}
</td>
<td>
{% if r.isRemoved %}
<span class="label pull-right bg-red">supprimée</span>
{% elseif r.isEnabled %}
<span class="label pull-right bg-green">Visible</span>
{% endif %}
</td>
<td>
{% if r.video != null %}
<i class="fa fa-eye modalBtn c-pointer hover-blue1" data-url="{{ r.video.cdnUrl }}"></i>
{% endif %}
</td>
<td>
<input class="visibilityToggle" {% if r.isVisible == false %} checked="checked" {% endif %} type="checkbox" data-toggle="toggle" data-size="mini" data-onstyle="danger" data-on="Desactivée" data-off="Activée" data-recid="{{ r.id }}">
</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
</div>
{# <div id="modal_video" class="modal">
<div class="modal-content">
<h4>Vidéo de la recommendation</h4>
<div class="videoContainer" style="text-align:center;">Loading...</div>
</div>
<div class="modal-footer">
<button class="modal-action modal-close waves-effect waves-green btn-flat">Fermer</button>
</div>
</div> #}
<div id="modal_video" class="modal fade" tabindex="-1" role="dialog">
<div class="modal-dialog" role="document" style="width:800px;">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span></button>
<h4 class="modal-title">Vidéo de la recommendation</h4>
</div>
<div class="modal-body">
<div class="videoContainer" style="text-align:center;">Loading...</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Fermer</button>
</div>
</div>
</div>
</div>
{% endblock %}
{% block javascripts %}
{{ parent() }}
<script>
$(function () {
$('#reco_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": true,
"orderable": true,
"className": "text-center"
}
],
"order": [
[0, "desc"]
]
});
});
</script>
<script src="https://player.vimeo.com/api/player.js"></script>
<script type="text/javascript">
$('.modalBtn').click(function () {
$('.videoContainer').html('');
$('#modal_video').modal();
var urlVideo = $(this).data("url");
urlVideo = urlVideo.replace('videos', 'video');
var player = '<div data-vimeo-url="https://vimeo.com' + urlVideo + '" id="player_vimeo"></div>';
$('.videoContainer').html(player);
var player_vimeo = new Vimeo.Player('player_vimeo');
});
</script>
<script>
$('.visibilityToggle').change(function () {
var recId = $(this).data('recid');
var route = '/admin/config/recommandation/' + recId + '/toggle';
$.ajax({
type: "POST",
url: route,
dataType: "json",
success: function (msg) {
console.log(msg);
}
});
});
</script>
{% endblock %}
@@ -53,9 +53,14 @@
<i class="fa fa-user-circle" aria-hidden="true"></i><span>Talents</span>
</a>
</li>
<li>
<a href="{{ path('admin_config_recommendations') }}">
<i class="fa fa-thumbs-up" aria-hidden="true"></i><span>Recommandations</span>
</a>
</li>
<li>
<a href="{{ path('admin_config_territory') }}">
<i class="fa fa-map-marker" aria-hidden="true"></i><span>Territoire</span>
<i class="fa fa-map-marker" aria-hidden="true"></i><span>Territoires</span>
</a>
</li>
<li>
@@ -30,6 +30,7 @@
{{ form_row(form.emphasis) }}
{{ form_row(form.emphasisOrder) }}
{{ form_row(form.brandName) }}
{{ form_row(form.terType) }}
{{ form_row(form.description) }}
{{ form_row(form.descriptionAdmin) }}
{{ form_row(form.website) }}
@@ -52,7 +52,7 @@
</div>
<div class="row m-t-40">
<div class="col s10 offset-s1 center-align">
<button id="submit" class=" btn btn-large btn-default disabled" type="submit">
<button title="import-candidature" id="submit" class=" btn btn-large btn-default disabled" type="submit">
Envoyer ma candidature
</button><br /><br />
<a class="color-grey5" href="{{ path(routeObject,{'alias': object.alias }) }}">Annuler</a>
@@ -1,4 +1,7 @@
{% extends 'base.html.twig' %}
{% block metarobot %}<meta name="robots" content="noindex,follow">{% endblock %}
{% block content %}
{% if typeObject == 'Ad' %}
{% set subtitle = 'Candidature à l\'offre d\'emploi:' %}
@@ -88,7 +88,7 @@
</div>
<div class="row m-t-40">
<div class="col s10 offset-s1 center-align">
<button id="submit" class=" btn btn-large btn-default disabled" type="submit">
<button title="webcam-candidature" id="submit" class=" btn btn-large btn-default disabled" type="submit">
Envoyer ma candidature
</button><br /><br />
<a class="color-grey5" href="{{ path(routeObject,{'alias': object.alias }) }}">Annuler</a>
@@ -21,7 +21,7 @@
<script type="text/javascript" defer="defer" src="https://extend.vimeocdn.com/ga/64189815.js"></script>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>{% block title %}Talents Tube : Le 1er job board 100% vidéo{% endblock %}</title>
<title>{% block title %}Talents Tube : La 1ère plateforme pour lemploi 100% vidéo{% endblock %}</title>
<link rel="icon" type="image/x-icon" href="{{ asset('favicon.ico') }}"/>
{% block metarobot %}<meta name="robots" content="index,follow">{% endblock %}
@@ -54,9 +54,7 @@
{% 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"
rel="stylesheet">
<link href="https://fonts.googleapis.com/css?family=Varela+Round" : 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|Varela+Round" rel="stylesheet">
<link rel="stylesheet" href="{{ asset('css/styles.css') }}">
{% block stylesheets %}
{% endblock %}
@@ -83,5 +81,6 @@
<script src="{{ asset_url }}"></script>
{% endjavascripts %}
{% endblock %}
{{ include('FairlaneCookieConsentBundle::cookie-info.html.twig') }}
</body>
</html>
@@ -35,8 +35,7 @@
href="{% block urlCanonical %}{{ url(app.request.attributes.get('_route'), app.request.attributes.get('_route_params')) }}"{% endblock %}>
{# CSS #}
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<link href="https://fonts.googleapis.com/css?family=Raleway:300,300i,400,400i,700,700i" rel=stylesheet>
<link href="https://fonts.googleapis.com/css?family=Varela+Round" 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|Varela+Round" rel="stylesheet">
<link rel="stylesheet" href="{{ asset('css/styles.css') }}">
{% block stylesheets %}
{% endblock %}
@@ -2,41 +2,58 @@
{% block dashContent %}
{% if type == "spontaneous" %}
{% include 'company/job_submenu.html.twig' with {
'tab' : 3
} %}
{% else %}
{% include 'company/job_submenu.html.twig' with {
'tab' : 2
} %}
{% endif %}
<div class="row bg-bordered p-20">
{% set first = answers|first %}
<h1 class="alttitle">Réponses pour : {{ first.ad.title }}</h1>
{% include 'company/tabs.html.twig' with {'tab':2} %}
{% include 'company/ad_breadcrumb.html.twig' with {'step': 2,'ad': ad} %}
<div id="reponses" class="col s12">
<table id="table-answers" class="bordered highlight responsive-table">
<thead>
<tr>
<th> {{ 'profile.talent.firstname'|trans }} - {{ 'profile.talent.lastname'|trans }}</th>
<th>{{ 'global.intitule.label'|trans }}</th>
<th>{{ 'global.date.label'|trans }}</th>
<th>{{ 'note.title'|trans }}</th>
<th>{{ 'profile.talent.lastname'|trans }} {{ 'profile.talent.firstname'|trans }}</th>
<th>{{ 'global.datereception.label'|trans }}</th>
<th>{{ 'ad.company.list.status'|trans }}</th>
<th class="center-align">{{ 'ad.company.list.actions'|trans }}</th>
</tr>
</thead>
<tbody>
{% for answer in answers %}
<tr>
<td>
<a href="{{ path('company_answer_show',{'id':answer.id }) }}">{{ answer.user.firstname }} {{ answer.user.lastname }}</a>
<a href="{{ path('company_answer_show',{'id':answer.id }) }}">{{ answer.user.lastname }} {{ answer.user.firstname }}</a>
</td>
<td>{{ answer.ad.title }}</td>
<td>{{ answer.uTime()|date('d-m-Y') }}</td>
<td>
{#{% if answer.notes|length <= 0 %}#}
<a href="#" class="note-action c-pointer" data-func="add" data-answer="{{ answer.id }}">
<i class="fa fa-plus " aria-hidden="true"></i>
<td>{{ answer.sendTime()|date('d/m/Y') }}</td>
{% if answer.firstMessage %}
<td>{{ answer.firstMessage.status|trans }}</td>
{% else %}
{% if answer.isViewed %}
{% if answer.isViewed.status == "DRAFT" %}
<td>{{ 'VIEWED'|trans }}</td>
{% endif %}
{% else %}
<td>{{ 'NEW'|trans }}</td>
{% endif %}
{% endif %}
<td class="center-align">
<a title="{{ad.title}}" href="{{ path('company_answer_show',{'id':answer.id }) }}">
<i class="fa fa-eye"></i>
</a>
<a href="#" class="note-action c-pointer" data-func="add" data-answer="{{ answer.id }}">
<i class="fa fa-sticky-note"></i>
</a>
{#{% else %}#}
{% for note in answer.notes %}
<a class="tooltipped note-action c-pointer" data-position="top" data-delay="50"
data-tooltip="{{ note.content }}" data-note="{{ note.id }}" data-func="edit">
<i class="fa fa-commenting" aria-hidden="true"></i>
</a>
{% endfor %}
{#{% endif %}#}
</td>
</tr>
{% endfor %}
@@ -0,0 +1,19 @@
<div class="col s12" id="breadcrumb">
<a href="{{ path('company_ad') }}">
<span>{% trans %}label.offers{% endtrans %}</span>
</a>
{% if step > 1 %}
<span class="sepa-breadcrumb">></span>
<a href="{{ path('company_ad_answer_list',{'id':ad.id}) }}">
<span {% if step == 2 %}class="active"{% endif %}>{{ ad.title }}</span>
</a>
{% endif %}
{% if step > 2 %}
<span class="sepa-breadcrumb">></span>
<span class="active">{{ firstname }} {{ lastname }}</span>
{% endif %}
<div class="border-breadcrumb"></div>
</div>
@@ -1,16 +1,20 @@
{% extends 'company/base_dashboard_company.html.twig' %}
{% block title %} Mes annonces {% endblock %}
{% block title %}
Mes annonces
{% endblock %}
{% block dashContent %}
{% include 'default/flash_message.html.twig' %}
{#<h1 class="alttitle">Espace offres d'emploi</h1>#}
<div class="bg-bordered p-20">
{% include 'company/tabs.html.twig' with {'tab':1} %}
{% include 'company/ad_table_listing.html.twig' with {'ads':ads} %}
<p class="center-align">
<a href="{{ path('company_ad_create') }}" class="btn btn-default">{{ 'ad.company.add.label'|trans }}</a>
</p>
{% include 'company/job_submenu.html.twig' with {
'tab' : 1
} %}
<div class="row bg-bordered p-20">
{% include 'company/ad_breadcrumb.html.twig' with {'step': 1} %}
{% include 'company/ad_table_listing.html.twig' with {
'ads' : ads
} %}
</div>
{% endblock %}
{% endblock %}
@@ -1,5 +1,5 @@
<table id="ads-table" class="bordered highlight responsive-table">
<thead>
<thead>
<tr>
<th>{{ 'ad.company.list.title'|trans }}</th>
<th class="tdCount">{{ 'ad.company.list.answers'|trans }}</th>
@@ -7,15 +7,23 @@
<th>{{ 'ad.company.list.status'|trans }}</th>
<th>{{ 'ad.company.list.actions'|trans }}</th>
</tr>
</thead>
<tbody>
</thead>
<tbody>
{% for ad in ads %}
<tr>
<td>{{ ad.title }}</td>
<td>
{% if ad.countAnswers > 0 %}
<a href="{{ path('company_ad_answer_list',{'id':ad.id}) }}">
{{ ad.title }}
</a>
{% else %}
{{ ad.title }}
{% endif %}
</td>
<td class="tdCount">
{% if ad.countAnswers > 0 %}
<a href="{{ path('company_ad_answer_list',{'id':ad.id}) }}">
{{ ad.countAnswers }}
<i class="fa fa-eye"></i>&nbsp; {{ ad.countAnswers }}
</a>
{% else %}
0
@@ -23,13 +31,12 @@
</td>
<td class="tdCount">
{% if arrayByAds is defined %}
{{ arrayByAds[ad.id]["count"] }}
{{ arrayByAds[ad.id]["count"] }}
{% endif %}
</td>
<td align="center" valign="center">
{% if ad.getStatus() == "DECLINED" %}
<div class="tooltipped" data-position="top" data-delay="50"
data-tooltip="{{ ad.moderationText }}">
<div class="tooltipped" data-position="top" data-delay="50" data-tooltip="{{ ad.moderationText }}">
<span class="">{{ ad.getStatus()|trans }}</span>
<i class="c-pointer fa fa-info-circle color-red" aria-hidden="true"></i>
</div>
@@ -40,57 +47,43 @@
<td>
{% if ad.getStatus() == "DRAFT" or ad.getStatus() == "DECLINED" %}
{#Edit#}
<a class="tooltipped td-none" data-position="top" data-delay="0"
data-tooltip="{{ 'ad.company.edit.label'|trans }}"
href="{{ path('company_ad_edit', { 'id': ad.id }) }}" style="margin-right: 10px">
<a class="tooltipped td-none" data-position="top" data-delay="0" data-tooltip="{{ 'ad.company.edit.label'|trans }}" href="{{ path('company_ad_edit', { 'id': ad.id }) }}" style="margin-right: 10px">
<i class="fa fa-pencil-square-o" aria-hidden="true"></i>
</a>
{% else %}
{#Soft Edit#}
<a class="tooltipped td-none" data-position="top" data-delay="0"
data-tooltip="{{ 'ad.company.edit.label'|trans }}"
href="{{ path('company_ad_soft_edit', { 'id': ad.id }) }}"
style="margin-right: 10px">
<a class="tooltipped td-none" data-position="top" data-delay="0" data-tooltip="{{ 'ad.company.edit.label'|trans }}" href="{{ path('company_ad_soft_edit', { 'id': ad.id }) }}" style="margin-right: 10px">
<i class="fa fa-pencil-square-o" aria-hidden="true"></i>
</a>
{% endif %}
{% if ad.getStatus() == "DRAFT" or ad.getStatus() == "DECLINED" %}
{#Video#}
<a class="tooltipped td-none" data-position="top" data-delay="0"
data-tooltip="{{ 'ad.company.video.edit.label'|trans }}"
href="{{ path('create_media', { 'id': ad.id }) }}">
<a class="tooltipped td-none" data-position="top" data-delay="0" data-tooltip="{{ 'ad.company.video.edit.label'|trans }}" href="{{ path('create_media', { 'id': ad.id }) }}">
<i class="fa fa-video-camera" aria-hidden="true"></i>
</a>
{% endif %}
{% if ad.getStatus() == "PUBLISHED" %}
{% if ad.getStatus() == "PUBLISHED" %}
{#Extension#}
<a class="tooltipped td-none" data-position="top" data-delay="0"
data-tooltip="{{ 'ad.company.dates.extension.label'|trans }}"
href="{{ path('company_ad_extension', { 'id': ad.id }) }}"
style="margin-right: 10px">
<a class="tooltipped td-none" data-position="top" data-delay="0" data-tooltip="{{ 'ad.company.dates.extension.label'|trans }}" href="{{ path('company_ad_extension', { 'id': ad.id }) }}" style="margin-right: 10px">
<i class="fa fa-calendar" aria-hidden="true"></i>
</a>
{#Force ending#}
<a class="tooltipped td-none" data-position="top" data-delay="0"
data-tooltip="{{ 'ad.company.closed.label'|trans }}"
href="{{ path('company_ad_closed', { 'id': ad.id }) }}" style="margin-right: 10px">
<a class="tooltipped td-none" data-position="top" data-delay="0" data-tooltip="{{ 'ad.company.closed.label'|trans }}" href="{{ path('company_ad_closed', { 'id': ad.id }) }}" style="margin-right: 10px">
<i class="fa fa-window-close-o" aria-hidden="true"></i>
</a>
{% endif %}
{% if ad.getStatus() == "TO_PUBLISH" or ad.getStatus() == "VALIDATED" or ad.getStatus() == "CLOSED" or ad.getStatus() == "EXPIRED" %}
{#Edit Dates#}
<a class="tooltipped td-none" data-position="top" data-delay="0"
data-tooltip="{{ 'ad.company.dates.edit.label'|trans }}"
href="{{ path('company_ad_step3', { 'id': ad.id }) }}" style="margin-right: 10px">
<a class="tooltipped td-none" data-position="top" data-delay="0" data-tooltip="{{ 'ad.company.dates.edit.label'|trans }}" href="{{ path('company_ad_step3', { 'id': ad.id }) }}" style="margin-right: 10px">
<i class="fa fa-calendar" aria-hidden="true"></i>
</a>
{% endif %}
</td>
</tr>
{% endfor %}
</tbody>
</table>
</tbody>
</table>
@@ -1,53 +1,86 @@
{% extends 'company/base_dashboard_company.html.twig' %}
{% block dashContent %}
{% include 'company/job_submenu.html.twig' with {'tab' : 2} %}
<div class="row bg-bordered p-20">
{% if type == "spontaneous" %}
{% include 'company/tabs.html.twig' with {'tab':3} %}
{% else %}
{% include 'company/tabs.html.twig' with {'tab':2} %}
{% endif %}
<div id="reponses" class="col s12">
<table id="table-answers" class="bordered highlight responsive-table">
<thead>
<tr>
<th> {{ 'profile.talent.firstname'|trans }} - {{ 'profile.talent.lastname'|trans }}</th>
<th>{{ 'global.intitule.label'|trans }}</th>
<th>{{ 'global.date.label'|trans }}</th>
<th>{{ 'note.title'|trans }}</th>
</tr>
</thead>
<tbody>
{% for answer in answers %}
<tr>
<td>
<a href="{{ path('company_answer_show',{'id':answer.id }) }}">{{ answer.user.firstname }} {{ answer.user.lastname }}</a>
</td>
<td>{% if answer.ad != null %}{{ answer.ad.title }} {% endif %}</td>
<td>{{ answer.cTime()|date('d-m-Y') }}</td>
<td>
{#{% if answer.notes|length <= 0 %}#}
<a href="#" class="note-action c-pointer" data-func="add" data-answer="{{ answer.id }}">
<i class="fa fa-plus " aria-hidden="true"></i>
</a>
{#{% else %}#}
{% for note in answer.notes %}
<a class="tooltipped note-action c-pointer" data-position="top" data-delay="50"
data-tooltip="{{ note.content }}" data-note="{{ note.id }}" data-func="edit">
<i class="fa fa-commenting" aria-hidden="true"></i>
</a>
{% endfor %}
{#{% endif %}#}
</td>
</tr>
{% endfor %}
</table>
<div class="col s12">
<h4 class="title-table">{{ 'company.menu.answers.label'|trans }}</h4>
</div>
</div>
<div id="note-modal"></div>
{% endblock %}
<div id="reponses" class="col s12">
<table id="table-answers" class="bordered highlight responsive-table">
<thead>
<tr>
<th>{{ 'profile.talent.lastname'|trans }} {{ 'profile.talent.firstname'|trans }}</th>
<th>{{ 'global.datereception.label'|trans }}</th>
<th>{{ 'ad.company.list.title'|trans }}</th>
<th class="center-align">{{ 'ad.company.list.actions'|trans }}</th>
</tr>
</thead>
<tbody>
{% for answer in answers %}
<tr>
<td>
<a href="{{ path('company_answer_show',{'id':answer.id }) }}">{{ answer.user.lastname }} {{ answer.user.firstname }}</a>
</td>
<td>{{ answer.sendTime()|date('d/m/Y') }}</td>
<td>{{ answer.ad.title }}</td>
<td class="center-align">
<a title="{{answer.ad.title}}" href="{{ path('company_answer_show',{'id':answer.id }) }}">
<i class="fa fa-eye"></i>
</a>
<a href="#" class="note-action c-pointer" data-func="add" data-answer="{{ answer.id }}">
<i class="fa fa-sticky-note"></i>
</a>
{% for note in answer.notes %}
<a class="tooltipped note-action c-pointer" data-position="top" data-delay="50"
data-tooltip="{{ note.content }}" data-note="{{ note.id }}" data-func="edit">
<i class="fa fa-commenting" aria-hidden="true"></i>
</a>
{% endfor %}
</td>
</tr>
{% endfor %}
</table>
</div>
</div>
<div class="row bg-bordered p-20">
<div class="col s12">
<h4 class="title-table">{{ 'company.menu.spontaneous.label'|trans }}</h4>
</div>
<div id="spontaneous" class="col s12">
<table id="table-answers" class="bordered highlight responsive-table">
<thead>
<tr>
<th>{{ 'profile.talent.lastname'|trans }} {{ 'profile.talent.firstname'|trans }}</th>
<th>{{ 'global.datereception.label'|trans }}</th>
<th class="center-align">{{ 'ad.company.list.actions'|trans }}</th>
</tr>
</thead>
<tbody>
{% for answer in spontaneous %}
<tr>
<td>
<a href="{{ path('company_answer_show',{'id':answer.id }) }}">{{ answer.user.lastname }} {{ answer.user.firstname }}</a>
</td>
<td>{{ answer.sendTime()|date('d/m/Y') }}</td>
<td class="center-align">
<a title="" href="{{ path('company_answer_show',{'id':answer.id }) }}">
<i class="fa fa-eye"></i>
</a>
<a href="#" class="note-action c-pointer" data-func="add" data-answer="{{ answer.id }}">
<i class="fa fa-sticky-note"></i>
</a>
{% for note in answer.notes %}
<a class="tooltipped note-action c-pointer" data-position="top" data-delay="50"
data-tooltip="{{ note.content }}" data-note="{{ note.id }}" data-func="edit">
<i class="fa fa-commenting" aria-hidden="true"></i>
</a>
{% endfor %}
</td>
</tr>
{% endfor %}
</table>
</div>
</div>
<div id="note-modal"></div>
{% endblock %}
@@ -2,93 +2,245 @@
{% block dashContent %}
{% if type == "spontaneous" %}
{% include 'company/job_submenu.html.twig' with {
'tab' : 3
} %}
{% else %}
{% include 'company/job_submenu.html.twig' with {
'tab' : 2
} %}
{% endif %}
<div class="row bg-bordered p-20">
<h1 class="alttitle">Réponse de {{ answer.user.firstname }} {{ answer.user.lastname }}</h1>
{% if type == "spontaneous" %}
{% include 'company/tabs.html.twig' with {'tab':3} %}
{% else %}
{% include 'company/tabs.html.twig' with {'tab':2} %}
{% endif %}
<div class="col s12 m6 l6 col-padding-right">
<div class="bg-bordered inside-m">
<span>Réponse émise le : {{ answer.cTime|date('d-m-Y') }}</span><br/>
{% include 'company/ad_breadcrumb.html.twig' with {'step': 3,'ad': answer.ad,'firstname':answer.user.firstname ,'lastname':answer.user.lastname} %}
<div class="col s12 m6">
<div id="mini-profil-block">
{% include 'talent/talent_picture.html.twig' with {
'user' : answer.user
} %}
<div>
<iframe src="https://player.vimeo.com/video/{{ answer.video.cdnUrl|replace({ "/videos/": ""}) }}"
width="100%" height="300" frameborder="0" webkitallowfullscreen mozallowfullscreen
allowfullscreen></iframe>
<div class="mini-profil-picture-name">{{ answer.user.firstname }} {{ answer.user.lastname }}</div>
<div>Recu le {{ answer.sendTime|date('d/m/Y') }}</div>
</div>
<div>
{% if answer.comment %}
<strong>Message du talent :</strong>
<p>{{ answer.comment }}</p>
{% endif %}
</div>
<h3>Profil du talent : </h3>
<div class="profil">
<p class="profil-picture">
<img src="{{ answer.user.getWebPath() | imagine_filter('profile_square') }}"
alt="{{ answer.user.firstname }} {{ answer.user.lastname }}"
class="circle responsive-img"/>
</p>
<i class="fa fa-user-circle"
aria-hidden="true"></i> {{ answer.user.firstname }} {{ answer.user.lastname }}
{% if answer.user.gender == "female" %}
<i class="fa fa-mars" aria-hidden="true"></i>
{% else %}
<i class="fa fa-venus" aria-hidden="true"></i>
{% endif %}
<br/>
<i class="fa fa-birthday-cake" aria-hidden="true"></i> {{ answer.user.birthday|date('d-m-Y') }}<br/>
</div>
</div>
<div class="embed-responsive embed-responsive-16by9">
<iframe src="https://player.vimeo.com/video/{{ answer.video.cdnUrl|replace({ "/videos/": ""}) }}"
width="100%" height="auto" frameborder="0" webkitallowfullscreen mozallowfullscreen
allowfullscreen></iframe>
</div>
</div>
<div class="col s12 m6 l6 col-padding-left">
<div class="col s12 m12 l12">
<div class="bg-bordered inside-m">
<h4 class="no-margin-top">
Contacter le talent
</h4>
<p>
Expéditeur : {{ app.user.firstname }} {{ app.user.lastname }}
</p>
<div class="col s12 m6">
{% if answer.comment %}
<strong>{% trans %}label.message{% endtrans %}</strong>
<p class="message-answer">{{ answer.comment }}</p>
{% else %}
{% trans %}label.noMessage{% endtrans %}
{% endif %}
</div>
<div class="col s12">
<h4 class="no-margin-top bordered">Contacter {{ answer.user.firstname }} {{ answer.user.lastname }} par : </h4>
</div>
<div class="col s12 col-actions">
<a class="btn btn-default btn-active bnt-choice-message" data-value="message">Message</a><a class="btn btn-default bnt-choice-message" data-value="video">Vidéo</a>
</div>
<div class="col s12">
<div class="col-bordered">
<div class="blockanswer blockanswer-video">
<a class="btn btn-default bnt-choice-video" data-value="webcam" href="#">Enregistrer une vidéo</a>
<a class="btn btn-default bnt-choice-video" data-value="upload" href="#">Importer une vidéo</a>
<a class="btn btn-default bnt-choice-video" data-value="videotheque" ref="#">Choisir depuis la videothèque</a>
</div>
<div class="blockanswer blockanswer-message">
<div class="sender">De : {{ app.user.firstname }} {{ app.user.lastname }}</div>
{{ form_start(form) }}
{{ form_rest(form) }}
<button type="submit" class="btn btn-default">Envoyer</button>
<div class="bottom-form">
<button type="submit" class="btn btn-default disabled">Envoyer</button>
</div>
{{ form_end(form) }}
</div>
{{ form_start(formVideo) }}
<div id="blockanswer-video-webcam" class="panel-hide">
{% include 'message/message_create_webcam.twig' %}
</div>
<div id="blockanswer-video-upload" class="panel-hide">
{% include 'message/message_create_import.twig' %}
</div>
<div id="blockanswer-video-videotheque" class="panel-hide">
{% include 'message/message_create_videotheque.twig' %}
</div>
<div id="validFormVideo" class="panel-hide">
{{ form_widget(formVideo._token, { 'id': 'token_video' }) }}
{{ form_widget(formVideo.status, { 'id': 'contact_talent_status_video' }) }}
{{ form_rest(formVideo) }}
<div class="bottom-form">
<button type="submit" class="btn btn-default disabled">Envoyer</button>
</div>
</div>
{{ form_end(formVideo) }}
</div>
{#{% if answer.contactMessage %}
<div class="col s12 m12 l12 m-t-20">
<div class="bg-bordered inside-m">
<h4 class="no-margin-top">
Réponse
</h4>
<p>
{{ answer.contactMessage|nl2br }}
</p>
</div>
</div>
</div>
{% endif %}#}
</div>
<div class="col s12">
<h4 class="no-margin-top bordered">{% trans %}label.answer.history.title{% endtrans %}</h4>
</div>
<div class="col s12">
{% if answer.messages %}
{% for message in answer.messages %}
<div class="col s12 m12 l12 m-t-20">
<div class="bg-bordered inside-m">
<h4 class="no-margin-top">
Réponse : {{ message.status }}
</h4>
<p>
{{ message.content|nl2br }}
</p>
</div>
{% for message in answer.messages if message.status != "DRAFT" %}
{% set class = '' %}
{% if loop.index > 1 %}
{% set class = 'history-hidden' %}
{% endif %}
<div class="blockanswer-answer {{class}}">
<div class="title-answer">
{% trans %}label.answer{% endtrans %}{{ message.status|trans }}
<span class="date-answer">{% trans %}label.sended{% endtrans %}{{ message.uTime|date('d-m-Y') }}</span>
</div>
<div class="description-answer">
{% if message.video %}
<div class="embed-responsive embed-responsive-16by9">
<iframe src="https://player.vimeo.com/video/{{ message.video.cdnUrl|replace({ "/videos/": ""}) }}"
width="100%" height="300" frameborder="0" webkitallowfullscreen mozallowfullscreen
allowfullscreen></iframe>
</div>
{% endif %}
{{ message.content|nl2br }}
</div>
</div>
{% endfor %}
{% endif %}
</div>
<div class="col s12 center-align m-t-30">
<a class="bnt btn-round btn-grey-2 link-history-more" href="#" title="{% trans %}label.history.link{% endtrans %}">{% trans %}label.history.link{% endtrans %}</a>
</div>
</div>
{% endblock %}
{% block javascripts %}
{{ parent() }}
<script type="text/javascript">
var urlDropzone = '{{ path("upload_media_message", {"id": message.getId()}) }}';
var urlDelete = '{{ path("delete_media_message", {"id": message.getId() }) }}'
var idObject = null;
var typeObject = "answer";
var videoExist = false;
</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/vendors/readmore.min.js') }}"></script>
<script src="{{ asset('/js/answer.js') }}"></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);
form['contact_talent_video'] = 1;
$.ajax({
type: 'POST',
url: '{{ path("link_media_message", {"id": message.getId()}) }}',
data: "idVideo="+idVideo,
dataType: 'html',
success: function (response) {
$(".card-action").removeClass('active');
elem.addClass('active');
Materialize.toast('Vidéo bien associé à la réponse', 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);
}
});
});
$('.bnt-choice-message').on('click',function(){
var type = $(this).data('value');
$('.bnt-choice-message').removeClass('btn-active');
$('.bnt-choice-video').removeClass('active');
$(this).addClass('btn-active');
$(".panel-hide").removeClass('active');
$(".panel-hide").stop().fadeOut();
$('.blockanswer').stop().fadeOut('normal',function(){
$('.blockanswer-'+type).stop().fadeIn();
if(type == 'video'){
$('.bnt-choice-video:first').click();
}
});
});
$('.blockanswer-video').css('display','none');
$('.bnt-choice-video').on('click',function(e){
e.preventDefault();
var type = $(this).data('value');
$('.bnt-choice-video').removeClass('active');
$(this).addClass('active');
$(".panel-hide").removeClass('active');
$('#blockanswer-video-'+type).addClass('active');
$(".panel-hide").not(".active").stop().fadeOut('normal',function(){
$('#blockanswer-video-'+type).stop().fadeIn('fast');
if(type=="webcam"){
$('#blockanswer-video-upload').stop().fadeIn('fast');
}
$('#validFormVideo').stop().fadeIn('fast');
});
});
$('.link-history-more').on('click',function(e) {
e.preventDefault();
$('.history-hidden').fadeIn();
$(this).fadeOut();
});
document.getElementsByName("contact_talent[message]")[0].addEventListener('change', verifySubmitButton);
$('#contact_talent_status').on('change',verifySubmitButton);
var form = [];
form['contact_talent_message'] = 0;
form['contact_talent_video'] = 0;
form['contact_talent_status_video'] = 0;
form['contact_talent_status'] = 0;
function verifySubmitButton(){
if(this.value && this.value != 0){
form[this.id] = 1;
} else {
form[this.id] = 0;
}
if(form['contact_talent_message'] + form['contact_talent_status'] >= 2){
$('.blockanswer-message .btn').removeClass('disabled');
} else {
$('.blockanswer-message .btn').addClass('disabled');
}
}
$('#contact_talent_status_video').on('change',verifyVideoSubmitButton);
function verifyVideoSubmitButton(){
if(this.value && this.value != 0){
form[this.id] = 1;
} else {
form[this.id] = 0;
}
if(form['contact_talent_video'] + form['contact_talent_status_video'] >= 2){
$('#validFormVideo .btn').removeClass('disabled');
} else {
$('#validFormVideo .btn').addClass('disabled');
}
}
$('.message-answer').readmore({
speed: 75,
lessLink: '<a href="#" class="link-message-more">Fermer</a>',
moreLink: '<a href="#" class="link-message-more">{% trans %}label.link.readmore{% endtrans %}</a>',
blockProcessed: function(element,collapsable){
console.log(element);
console.log(collapsable);
if(collapsable == false){
$('.message-answer').readmore('destroy');
}
}
});
</script>
{% endblock %}
@@ -2,7 +2,7 @@
{% block content %}
<div class="fluid-container bg-grey-3 dashboardWrapper">
<div class="fluid-container bg-grey-3 dashboardWrapper dashboardCompanyWrapper">
<div class="container">
<div class="row flexcontainer">
{% include "company/menu.html.twig" ignore missing %}
@@ -130,20 +130,18 @@
<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>
<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>
<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 %}
<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>
</div>
</div>
</div>
@@ -0,0 +1,20 @@
<div class="row bg-bordered p-0">
<ul class="nav-tabs">
<li class="{% if tab == 1 %} active {% endif %} col s3">
<a {% if tab == 1 %}class="active"{% endif %} target="_self"
href="{{ path('company_ad') }}">
{{ 'company.title.ads.label'|trans }}
</a>
</li>
<li class="{% if tab == 2 %} active {% endif %} col s3">
<a {% if tab == 2 %}class="active"{% endif %} target="_self" href="{{ path('company_answer_list') }}">
{{ 'company.menu.answers.label'|trans }}
</a>
</li>
</ul>
<div class="col s4 right m-t-10">
<a class="btn-square" target="_self" href="{{ path('company_ad_create') }}">
<i class="fa fa-plus"></i> {{ 'ad.company.add.label'|trans }}
</a>
</div>
</div>
@@ -12,10 +12,12 @@
<span class="playerbtn"></span>
{% endif %}
</a>
{% if a.isPromoted %}
<div class="isPromoted">
OFFRE POURVUE
</div>
{% endif %}
</div>
{% if a.isPromoted %}
<div class="isPromoted"><img src="{{asset('/img/offre-pourvue-gauche.png')}}" alt="promoted"></div>
{% endif %}
<div class="col s12 m8 col-noPadding">
<div class="row row-infos row-noMargin">
<div class="col s4 m4 l5 company-infos col-noPadding">
@@ -47,7 +47,9 @@
</div>
{#{% endif %}#}
{% if ad.isPromoted %}
<div class="isPromoted"><img src="{{asset('/img/offre-pourvue-gauche.png')}}" alt="promoted"></div>
<div class="isPromoted">
OFFRE POURVUE
</div>
{% endif %}
</div>
{% endif %}
@@ -98,7 +100,7 @@
{% elseif not is_granted('ROLE_COMPANY') %}
{% if not ad.isPromoted %}
<p class="item-detail-reply">
<a href="{{ path('talent_answer_create',{'id': ad.getId()}) }}"
<a title="postuler-bottom" href="{{ path('talent_answer_create',{'id': ad.getId()}) }}"
class="btn btn-default">
Postuler
</a>
@@ -58,7 +58,7 @@
{% elseif not is_granted('ROLE_COMPANY') %}
{% if not ad.isPromoted %}
<p class="item-detail-reply">
<a href="{{ path('talent_answer_create',{'id': ad.getId()}) }}"
<a title="postuler-side" href="{{ path('talent_answer_create',{'id': ad.getId()}) }}"
class="btn btn-default">
Postuler
</a>
@@ -37,80 +37,7 @@
<div class="row m-b-0 p-b-30">
<div class="col s12 m12">
<div id="liste-resultats">
{% for c in companies if c.isPrivate != true %}
{% if (c.presentationVideo is not null or c.getPublishedAds|length > 0 ) %}
<div class="row item-list-bis z-depth-2 row-noMargin">
<div class="col s12 m2 ad-picture col-logo-lg">
<a href="{{ path('company_show',{'alias': c.alias }) }}"
title="{{ c.brandname }}">
{% if c.logo is not null %}
<img src="{{ c.webPath | imagine_filter('profile_thumb') }}"/>
{% endif %}
</a>
</div>
<div class="col s12 m6 col-noPadding">
<div class="row row-infos row-noMargin">
<div class="col s4 m5 l4 col-noPadding company-infos m-l-30">
<div class="item-list-website">
<h2>
<a href="{{ path('company_show',{'alias': c.alias }) }}"
class="hover-blue2">
<b>{{ c.brandName }}</b>
</a>
</h2>
<br/>
{{ c.init }}
{% if c.city != null %}
{{ c.city }}
{% endif %}
</div>
</div>
</div>
<div class="row row-tags row-noMargin">
<div class="col s11 col-noPadding" style="position:relative;">
<div class="chip center-align">
<a class="td-none color-grey3"
href="{{ path('company_show',{'alias': c.alias, '_fragment':'offers' }) }}">
{% set nbAds = c.getPublishedAds|length %}
{% if nbAds > 1 %}
<strong>{{ c.getPublishedAds|length }} offres d'emploi en
cours</strong>
{% else %}
<strong>{{ c.getPublishedAds|length }} offre d'emploi en
cours</strong>
{% endif %}
</a>
</div>
</div>
</div>
</div>
<div class="col s12 m4 col-noPadding ad-picture">
<a href="{{ path('company_show',{'alias': c.alias }) }}"
title="{{ c.brandname }}"
class="item-list-media">
{% if c.presentationVideo %}
{% if c.presentationVideo.thumbnails.0.sizes is defined %}
<img class="thumbnail_list"
src="{{ c.presentationVideo.thumbnails.0.sizes.4.link }}"
alt="{{ c.brandName }}"/>
{% endif %}
<span class="playerbtn"></span>
{% else %}
<img class="thumbnail_list"
src="{{ asset('/img/default_picture_company.svg') }}"
alt="{{ c.brandName }}"/>
{% endif %}
</a>
</div>
<div class="borderList"></div>
<div class="clearfix"></div>
</div>
{% endif %}
{% endfor %}
{% include 'default/company_listing.html.twig' with {'companies':companies} %}
</div>
</div>
</div>
@@ -0,0 +1,74 @@
{% for c in companies if c.isPrivate != true %}
{% if (c.presentationVideo is not null or c.getPublishedAds|length > 0 ) %}
<div class="row item-list-bis z-depth-2 row-noMargin">
<div class="col s12 m2 ad-picture col-logo-lg">
<a href="{{ path('company_show',{'alias': c.alias }) }}"
title="{{ c.brandname }}">
{% if c.logo is not null %}
<img src="{{ c.webPath | imagine_filter('profile_thumb') }}"/>
{% endif %}
</a>
</div>
<div class="col s12 m6 col-noPadding">
<div class="row row-infos row-noMargin">
<div class="col s4 m5 l4 col-noPadding company-infos m-l-30">
<div class="item-list-website">
<h2>
<a href="{{ path('company_show',{'alias': c.alias }) }}"
class="hover-blue2">
<b>{{ c.brandName }}</b>
</a>
</h2>
<br/>
{{ c.init }}
{% if c.city != null %}
{{ c.city }}
{% endif %}
</div>
</div>
</div>
<div class="row row-tags row-noMargin">
<div class="col s11 col-noPadding" style="position:relative;">
<div class="chip center-align">
<a class="td-none color-grey3"
href="{{ path('company_show',{'alias': c.alias, '_fragment':'offers' }) }}">
{% set nbAds = c.getPublishedAds|length %}
{% if nbAds > 1 %}
<strong>{{ c.getPublishedAds|length }} offres d'emploi en
cours</strong>
{% else %}
<strong>{{ c.getPublishedAds|length }} offre d'emploi en
cours</strong>
{% endif %}
</a>
</div>
</div>
</div>
</div>
<div class="col s12 m4 col-noPadding ad-picture">
<a href="{{ path('company_show',{'alias': c.alias }) }}"
title="{{ c.brandname }}"
class="item-list-media">
{% if c.presentationVideo %}
{% if c.presentationVideo.thumbnails.0.sizes is defined %}
<img class="thumbnail_list"
src="{{ c.presentationVideo.thumbnails.0.sizes.4.link }}"
alt="{{ c.brandName }}"/>
{% endif %}
<span class="playerbtn"></span>
{% else %}
<img class="thumbnail_list"
src="{{ asset('/img/default_picture_company.svg') }}"
alt="{{ c.brandName }}"/>
{% endif %}
</a>
</div>
<div class="borderList"></div>
<div class="clearfix"></div>
</div>
{% endif %}
{% endfor %}
@@ -33,6 +33,9 @@
<li>
<a class="white-text" href="{{ path('service_cgu') }}">Conditions générales d'utilisation</a>
</li>
<li>
<a class="white-text" href="{{ path('page_Confidentialite') }}">Politique de confidentialité et protection des données</a>
</li>
</ul>
</div>
<div class="col xl3 l3 m6 s12 left-align">
@@ -53,7 +56,7 @@
</p>
<h5 class="white-text">Contactez-nous !</h5>
<a class="white-text" href="mailto:&#098;&#111;&#110;&#106;&#111;&#117;&#114;&#064;&#116;&#097;&#108;&#101;&#110;&#116;&#115;&#116;&#117;&#098;&#101;&#046;&#099;&#111;&#109;">Par mail</a>
<p class="white-text" >02 97 68 14 02</p>
<p class="white-text">02 30 05 06 31</p>
<p class="footer-newsletter">
<a class="btn-large btn-round" href="#" title="Newsletter" data-token="ecea5416671e97e3abfa8195848a9140" onclick="mjOpenPopin(event, this)">
<i class="fa fa-envelope-open-o left" aria-hidden="true"></i>
@@ -64,7 +67,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>
@@ -7,9 +7,10 @@
<li><a href="{{ path('page_cvVideo') }}" title="Le Cv vidéo">Le CV vidéo</a></li>
<li><a href="{{ path('page_reussirCVvideo') }}" title="Comment faire son CV Vidéo ?">Comment faire son CV Vidéo ?</a></li>
<li><a href="{{ path('page_accompagnementTalent') }}" title="Accompagnement talent">Accompagnement</a></li>
<li><a href="{{ path('talent_cv_import') }}" title="Créer mon CV vidéo">Créer mon CV vidéo</a></li>
</ul>
<ul id='dropdown_company' class='dropdown-content'>
<li><a href="{{ path('company_list') }}" title="Listes entreprises">Listes entreprises</a></li>
<li><a href="{{ path('company_list') }}" title="Les entreprises qui recrutent">Les entreprises qui recrutent</a></li>
<li><a href="{{ path('page_OffreEmploi') }}" title="L'offre d'emploi en vidéo">L'offre d'emploi en vidéo</a></li>
<li><a href="{{ path('page_reussirOffrevideo') }}" title="Comment faire une offre en vidéo">Comment faire une offre en vidéo</a></li>
<li><a href="{{ path('page_MarqueEmployeur') }}" title="Vidéo Marque Employeur">Vidéo Marque Employeur</a></li>
@@ -9,16 +9,17 @@
{# VIDEO #}
<div class="col l12 m12 s12 home-content col-noPadding">
<div id="homeTeaser" class="valign-wrapper">
<h1 class="white-text center-align">1ère plateforme pour lemploi <span>100% vidéo</span></h1><br />
<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')}}" />
<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">
<video loop="" preload="metadata" autoplay="" id="vid" muted="muted">
<source src="/img/home_video.mp4" type="video/mp4">
</video>
</div>
@@ -26,28 +27,34 @@
{# RECHERCHE #}
<div class="fluid-container bg-grey-3 homeSearchWrapper">
<div id="homeSearch" class="container">
{% include 'form/search_form.html.twig' with {'searchform': searchform } %}
{% include 'form/search_form.html.twig' with {
'searchform' : searchform
} %}
</div>
</div>
{# BLOC OFFRE EMPLOI CARDS #}
<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">
<div class="owl-carousel owl-carousel-home">
{% if ads|length > 0 %}
{% include 'default/ad_card.html.twig' with {'ads': ads } %}
{% if ads | length > 0 %}
{% include 'default/ad_card.html.twig' with {
'ads' : ads
} %}
{% endif %}
</div>
</div>
</div>
<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
<a href="{{ path('ad_search_result') }}" title="Découvrir toutes les offres d'emploi" class="btn btn-default btn-round btn-all-jobs">Voir les offres
</a>
</div>
</div>
@@ -60,23 +67,24 @@
<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 companies|length > 0 %}
{% include 'default/company_card.html.twig' with {'companies': companies } %}
{% if companies | length > 0 %}
{% include 'default/company_card.html.twig' with {
'companies' : companies
} %}
{% endif %}
</div>
</div>
</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>
@@ -84,19 +92,22 @@
</div>
</div>
</div>
{# TALENTS #}
<div id="liste-talents" class="bg-dark2 button-plus">
<div class="container">
<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">
{% if talents|length > 0 %}
{% include 'default/talent_card.html.twig' with {'talents': talents } %}
{% if talents | length > 0 %}
{% include 'default/talent_card.html.twig' with {
'talents' : talents
} %}
{% endif %}
</div>
</div>
@@ -107,27 +118,34 @@
<div class="container">
<div class="row center-align">
<div class="col s12">
<h2 class="blue-text no-margin-top">Les territoires <span>pour vivre et travailler</span></h2>
<h2 class="blue-text no-margin-top">Les territoires</h2>
<h3 class="subtitles-homepage">Venez vivre et travailler chez nous.</h3>
{% if territories %}
<div class="owl-carousel owl-carousel-home territory-carousel">
{% for territory in territories if territory.presentationVideo and territory.isPrivate != true %}
<div class="item">
<div class="embed-responsive embed-responsive-16by9">
<div class="col s12">
<iframe src="https://player.vimeo.com/video/{{ territory.presentationVideo.cdnUrl|replace({ "/videos/": ""}) }}"
width="100%" height="640" frameborder="0" webkitallowfullscreen mozallowfullscreen
allowfullscreen></iframe>
<div class="owl-carousel owl-carousel-home territory-carousel">
{% for t in territories if t.presentationVideo and t.isPrivate != true %}
<div class="item">
{% if t.presentationVideo.thumbnails.0. sizes is defined %}
<a href="{{ path('territory_show',{'alias': t.alias }) }}" title="{{ t.brandname }}">
<img src="{{ t.presentationVideo.thumbnails.0.sizes.4.link }}" alt="{{ t.brandName }}" class="overlay-hover"/>
<span class="playerbtn" style="margin-top: -55px;"></span>
</a>
{% endif %}
{% if t.extra.terType is defined %}
<div class="m-t-15 fs-12 text-100">{{ t.extra.terType|upper }}</div>
{% endif %}
<div class="m-t-5 hover-none">
<a href="{{ path('territory_show',{'alias': t.alias }) }}" class="color-white td-none">{{ t.brandName|upper }}</a>
</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>
</div>
</div>
{% endfor %}
</div>
{% endif %}
{% endfor %}
</div>
<div class="m-t-30">
<a title="Voir les territoires" class="btn btn-default" href="{{ path('territory_list') }}">
<span>
Voir les territoires</span>
</a>
</div>
{% endif %}
</div>
</div>
</div>
@@ -137,23 +155,23 @@
<div class="container">
<div class="blocs-texte-video">
<div class="row center-align">
<div class="col s12"><h2 class="blue-text no-margin-top no-margin-bottom">Les conseils de votre
<span>talentstubeuse</span></h2></div>
<div class="col s12">
<h2 class="blue-text no-margin-top no-margin-bottom">Les conseils de votre
<span>talentstubeuse</span></h2>
</div>
</div>
<div class="row flexcontainer row-bloc-video-1 row-noMargin">
<div class="col l6 m12 s12 col-noPadding">
<a href="#!" data-video="#video2" class="img_content embed-responsive embed-responsive-16by9" style="background:url(/img-cnt/cv_video.jpg);background-size:cover;">
<span class="playerbtn"></span>
</a>
<iframe style="display:block;" class="hide" id="video2" src="https://player.vimeo.com/video/215657518?title=0&byline=0&portrait=0" width="100%"
height="344" frameborder="0" webkitallowfullscreen mozallowfullscreen
allowfullscreen></iframe>
<iframe style="display:block;" class="hide" id="video2" src="https://player.vimeo.com/video/286344340?title=0&byline=0&portrait=0" width="100%" height="344" frameborder="0" webkitallowfullscreen="webkitallowfullscreen" mozallowfullscreen="mozallowfullscreen" allowfullscreen="allowfullscreen"></iframe>
</div>
<div class="col l6 m12 s12 valign-wrapper">
<div class="inside-m valign">
<h2 class="no-margin-top">CV vidéo
</h2>
<p>Devenez acteur de vos talents, montrez qui vous êtes !</p>
<p>Devenez acteur de vos talents, montrez qui vous êtes !</p>
</div>
</div>
<div class="clearfix"></div>
@@ -171,9 +189,7 @@
<a href="#!" data-video="#video1" class="img_content embed-responsive embed-responsive-16by9" style="background:url(/img-cnt/offre_emploi.jpg);background-size:cover;">
<span class="playerbtn"></span>
</a>
<iframe style="display:block;" class="hide" id="video1" src="https://player.vimeo.com/video/215657499?title=0&byline=0&portrait=0" width="100%"
height="344" frameborder="0" webkitallowfullscreen mozallowfullscreen
allowfullscreen></iframe>
<iframe style="display:block;" class="hide" id="video1" src="https://player.vimeo.com/video/215657499?title=0&byline=0&portrait=0" width="100%" height="344" frameborder="0" webkitallowfullscreen="webkitallowfullscreen" mozallowfullscreen="mozallowfullscreen" allowfullscreen="allowfullscreen"></iframe>
</div>
<div class="clearfix"></div>
</div>
@@ -182,9 +198,7 @@
<a href="#!" data-video="#video3" class="img_content embed-responsive embed-responsive-16by9" style="background:url(https://i.vimeocdn.com/video/653721887_1024x573.jpg);background-size:cover;">
<span class="playerbtn"></span>
</a>
<iframe style="display:block;" class="hide" id="video3" src="https://player.vimeo.com/video/232618030" width="100%"
height="344" frameborder="0" webkitallowfullscreen mozallowfullscreen
allowfullscreen></iframe>
<iframe style="display:block;" class="hide" id="video3" src="https://player.vimeo.com/video/232618030" width="100%" height="344" frameborder="0" webkitallowfullscreen="webkitallowfullscreen" mozallowfullscreen="mozallowfullscreen" allowfullscreen="allowfullscreen"></iframe>
</div>
<div class="col l6 m12 s12 valign-wrapper">
<div class="inside-m valign">
@@ -204,8 +218,7 @@
<div id="modal_concept" class="modal modal-fixed-footer">
<div class="modal-content">
<div class="video-container">
<iframe id="iframe_concept" src="https://player.vimeo.com/video/215638758?title=0&byline=0&portrait=0" frameborder="0" webkitallowfullscreen mozallowfullscreen
allowfullscreen></iframe>
<iframe id="iframe_concept" src="https://player.vimeo.com/video/215638758?title=0&byline=0&portrait=0" frameborder="0" webkitallowfullscreen="webkitallowfullscreen" mozallowfullscreen="mozallowfullscreen" allowfullscreen="allowfullscreen"></iframe>
</div>
</div>
<div class="modal-footer">
@@ -9,9 +9,8 @@
{% 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"
src="{{ asset('/img/portrait-carre.png') }}"
alt="{{ user.firstname }} {{ user.lastname }}"/>
<div class="circle-letters font-2">{{ user.firstname|first|upper }}{{ user.lastname|first|upper }}</div>
{% endif %}
</a>
<p class="item-list-job item-list-name center-align">
@@ -3,8 +3,21 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title></title>
<!--[if !mso]><!-->
<style type="text/css">
@import url(https://fonts.googleapis.com/css?family=Raleway);
</style>
<style type="text/css">
@media only screen and (max-width:480px) {
@-ms-viewport { width:320px; }
@viewport { width:320px; }
}
</style>
<link href="https://fonts.googleapis.com/css?family=Raleway" rel="stylesheet" type="text/css">
<style type="text/css">
*{
font-family: 'Raleway';
}
#outlook a { padding: 0; }
.ReadMsgBody { width: 100%; }
.ExternalClass { width: 100%; }
@@ -16,25 +29,31 @@
display: block;
margin: 13px 0;
}
.btn-default {
padding: 12px 30px;
border-radius: 30px;
height: 48px;
line-height: 48px;
background: #1689fb;
font-size: 16px;
color: #FFF;
text-decoration: none;
}
.btn-white {
background: #FFF;
color: #1689fb;
border: 1px solid #1689fb;
padding: 10px 29px;
}
</style>
<!--[if !mso]><!-->
<style type="text/css">
@import url(https://fonts.googleapis.com/css?family=Ubuntu:400,500,700,300);
</style>
<style type="text/css">
@media only screen and (max-width:480px) {
@-ms-viewport { width:320px; }
@viewport { width:320px; }
}
</style>
<link href="https://fonts.googleapis.com/css?family=Ubuntu:400,500,700,300" rel="stylesheet" type="text/css">
<!--<![endif]-->
<style type="text/css">
@media only screen and (min-width:480px) {
.mj-column-per-100, * [aria-labelledby="mj-column-per-100"] { width:100%!important; }
}</style></head>
<body id="YIELD_MJML" style="background: #F2F2F2;"><div class="mj-body" style="background-color:#F2F2F2;"><!--[if mso]>
<body id="YIELD_MJML" style="background: #F2F2F2;font-family:'Raleway';"><div class="mj-body" style="background-color:#F2F2F2;"><!--[if mso]>
<table border="0" cellpadding="0" cellspacing="0" width="600" align="center" style="width:600px;"><tr><td>
<![endif]--><div style="margin:0 auto;max-width:600px;background:#F2F2F2;"><table class="" cellpadding="0" cellspacing="0" style="width:100%;font-size:0px;background:#F2F2F2;" align="center"><tbody><tr><td style="text-align:center;vertical-align:top;font-size:0;padding:0px;"><!--[if mso]>
<table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:600px;">
@@ -57,7 +76,7 @@
<table border="0" cellpadding="0" cellspacing="0" width="600" align="center" style="width:600px;"><tr><td>
<![endif]--><div style="margin:0 auto;max-width:600px;background:#FFFFFF;"><table class="" cellpadding="0" cellspacing="0" style="width:100%;font-size:0px;background:#FFFFFF;" align="center"><tbody><tr><td style="text-align:center;vertical-align:top;font-size:0;padding:0px;"><!--[if mso]>
<table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:600px;">
<![endif]--><div style="vertical-align:top;display:inline-block;font-size:13px;text-align:left;width:100%;" class="mj-column-per-100" aria-labelledby="mj-column-per-100"><table width="100%"><tbody><tr><td style="font-size:0;padding:20px 35px 20px 35px;" align="left"><div class="mj-content" style="cursor:auto;color:#534F4F;font-family:Trebuchet,Helvetica,sans-serif;font-size:14px;line-height:22px;">
<![endif]--><div style="vertical-align:top;display:inline-block;font-size:13px;text-align:left;width:100%;" class="mj-column-per-100" aria-labelledby="mj-column-per-100"><table width="100%"><tbody><tr><td style="font-size:0;padding:20px 35px 20px 35px;" align="left"><div class="mj-content" style="cursor:auto;color:#534F4F;font-family:Raleway;font-size:14px;line-height:22px;">
{% block content %}{% endblock %}<!--[if mso]>
</td></tr></table>
<![endif]--></td></tr></tbody></table></div><!--[if mso]>
@@ -67,7 +86,7 @@
<table border="0" cellpadding="0" cellspacing="0" width="600" align="center" style="width:600px;"><tr><td>
<![endif]--><div style="margin:0 auto;max-width:600px;background:#FFFFFF;"><table class="" cellpadding="0" cellspacing="0" style="width:100%;font-size:0px;background:#FFFFFF;" align="center"><tbody><tr><td style="text-align:center;vertical-align:top;font-size:0;padding:0px;"><!--[if mso]>
<table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:600px;">
<![endif]--><div style="vertical-align:top;display:inline-block;font-size:13px;text-align:left;width:100%;" class="mj-column-per-100" aria-labelledby="mj-column-per-100"><table width="100%"><tbody><tr><td style="font-size:0;padding:0px 35px 0px 35px;" align="center"><div class="mj-content" style="cursor:auto;color:#534F4F;font-family:Trebuchet,Helvetica,sans-serif;font-size:14px;line-height:22px;"><p>Suivez-nous&nbsp;!</p>
<![endif]--><div style="vertical-align:top;display:inline-block;font-size:13px;text-align:left;width:100%;" class="mj-column-per-100" aria-labelledby="mj-column-per-100"><table width="100%"><tbody><tr><td style="font-size:0;padding:0px 35px 0px 35px;" align="center"><div class="mj-content" style="cursor:auto;color:#534F4F;font-family:Raleway;font-size:14px;line-height:22px;"><p>Suivez-nous&nbsp;!</p>
<p>
<a style="margin:10px 20px 22px 20px;" href="https://www.facebook.com/TalentsTuber/"><img src="{{ absolute_url(asset('img/mail/facebook.png')) }}" alt="Facebook"></a>
<a style="margin:10px 20px 22px 20px;" href="https://twitter.com/TalentsTuber"><img src="{{ absolute_url(asset('img/mail/twitter.png')) }}" alt="Twitter"></a>
@@ -81,7 +100,7 @@
<table border="0" cellpadding="0" cellspacing="0" width="600" align="center" style="width:600px;"><tr><td>
<![endif]--><div style="margin:0 auto;max-width:600px;background:#F2F2F2;"><table class="" cellpadding="0" cellspacing="0" style="width:100%;font-size:0px;background:#F2F2F2;" align="center"><tbody><tr><td style="text-align:center;vertical-align:top;font-size:0;padding:0px;"><!--[if mso]>
<table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:600px;">
<![endif]--><div style="vertical-align:top;display:inline-block;font-size:13px;text-align:left;width:100%;" class="mj-column-per-100" aria-labelledby="mj-column-per-100"><table width="100%"><tbody><tr><td style="font-size:0;padding:20px 35px 20px 35px;" align="center"><div class="mj-content" style="cursor:auto;color:#7E7878;font-family:Trebuchet,Helvetica,sans-serif;font-size:14px;line-height:22px;"><p style="font-weight:bold;">Talents Tube</p>
<![endif]--><div style="vertical-align:top;display:inline-block;font-size:13px;text-align:left;width:100%;" class="mj-column-per-100" aria-labelledby="mj-column-per-100"><table width="100%"><tbody><tr><td style="font-size:0;padding:20px 35px 20px 35px;" align="center"><div class="mj-content" style="cursor:auto;color:#7E7878;font-family:Raleway;font-size:14px;line-height:22px;"><p style="font-weight:bold;">Talents Tube</p>
<p>Place Albert Einstein 6 Le Prisme CP60 PIBS 6 CS 72001 - 56038 VANNES</p>
<p><a style="text-decoration:none;color:#7E7878;font-weight:bold;" href="mailto:contact@talentstube.com">contact@talentstube.com</a></p></div></td></tr></tbody></table></div><!--[if mso]>
</td></tr></table>
@@ -2,17 +2,47 @@
{% block content %}
{% if type == 'html' %}
<p>{{ user.getCivility()|trans }} {{ user.lastname }} {{ user.firstname }}</p>
<p>{{ message|nl2br}}</p>
<br><br>
<p>Informations : La personne qui vous à contacté ne connaîtra pas votre email tant que vous ne lui aurez pas
répondu</p>
<p>Pensez également à bien vérifier l'identité de votre correspondant pour éviter toute tentative de phishing</p>
{% if video is not null %}
<div style="margin-left: -35px; margin-right: -35px;margin-top: -20px;">
{% if video.thumbnails.0.sizes is defined %}
<img width="100%" src="{{ video.thumbnails.0.sizes.4.link }}"
alt="réponse vidéo"/>
{% endif %}
</div>
<br />
Bonjour {{ user.firstname }} {{ user.lastname }},<br /><br />
<strong>Vous avez reçu une réponse vidéo de lentreprise {{ message.sender.company.brandname }}.</strong><br />
Découvez la réponse vidéo en cliquant sur le bouton ci-dessous.
<br/>
<br/>
<div style="text-align:center;">
<a class="btn btn-default" href="{{ path('talent_ad_detail',{'alias': answer.ad.alias,'id': answer.id }) }}">Visionner la réponse vidéo</a>
</div>
{% else %}
<br />
Bonjour {{ user.firstname }} {{ user.lastname }},<br /><br />
<strong>Vous avez reçu une réponse de lentreprise {{ message.sender.company.brandname }}.</strong><br />
Découvez la réponse en cliquant sur le bouton ci-dessous.
<br/>
<br/>
<div style="text-align:center;">
<a class="btn btn-default" href="{{ path('talent_ad_detail',{'alias': answer.ad.alias,'id': answer.id }) }}">Consulter la réponse</a>
</div>
{% endif %}
<br>
<strong>Vous souhaitez contacter lentreprise ?</strong><br /><br />
Cliquez sur le bouton ci-dessous pour envoyer un email à la personne en charge du recrutement.
<br/>
<br/>
<div style="text-align:center;">
<a class="btn-default btn-white" href="mailto:{{ message.sender.email }}">Répondre à {{ message.sender.firstname }} {{ message.sender.lastname }}</a>
</div>
<br />
<br />
L’équipe Talents Tube
{% elseif type == 'plain' %}
{{ user.getCivility()|trans }} {{ user.lastname }} {{ user.firstname }}
{{ message}}
{{ messageText}}
{% endif %}
{% endblock %}
@@ -6,8 +6,10 @@
<div id="template" class="file-row">
<div class="dz-preview">
<div id="preview_video">
{% if video %}
<iframe src="https://player.vimeo.com{{ video.getCdnUrl()|replace({ "videos": "video"}) }}" width="100%" height="300px" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>
{% if video is defined %}
{% if video is not null %}
<iframe src="https://player.vimeo.com{{ video.getCdnUrl()|replace({ "videos": "video"}) }}" width="100%" height="300px" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>
{% endif %}
{% endif %}
</div>
<div class="progress">
@@ -0,0 +1,59 @@
{% extends 'base.html.twig' %}
{% block content %}
<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">
<h3 class="color-blue1 m-t-10">Importer</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>
<div class="row m-t-40">
<div id="form_media" class="col s10 offset-s1 center-align">
<button id="submit" class=" btn btn-large btn-default disabled" type="submit">
Envoyer mon CV
</button><br/><br/>
</div>
</div>
</div>
</div>
</div>
</div>
{% endblock %}
{% block javascripts %}
{{ parent() }}
<script type="text/javascript">
var urlDropzone = '{{ path("upload_media_default", {"id": app.user.getId()}) }}';
var urlDelete = 'null'
var idObject = '{{ app.user.getId() }}';
var typeObject = "user";
var videoExist = false;
</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,39 @@
{% extends 'base.html.twig' %}
{% block content %}
{% set title = 'Importer son CV Vidéo' %}
{% set route = "media_import_cv" %}
<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">
<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,{'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</p>
<a href="{{ path(route,{'type': 'import'}) }}" class="btn btn btn-default">Importer mon CV vidéo</a><br/><br/>
</div>
</div>
</div>
</div>
</div>
{% endblock %}
{% block javascripts %}
{{ parent() }}
{% endblock %}
@@ -0,0 +1,105 @@
{% extends 'base.html.twig' %}
{% block content %}
<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">
<h3 class="color-blue1 m-t-10">J'enregistre mon CV vidéo</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>
<div class="row m-t-40">
<div id="form_media" class="col s10 offset-s1 center-align">
<button id="submit" class=" btn btn-large btn-default disabled" type="submit">
Envoyer mon CV vidéo
</button><br/><br/>
</div>
</div>
</div>
</div>
</div>
</div>
{% endblock %}
{% block javascripts %}
{{ parent() }}
<script type="text/javascript">
var urlDropzone = '{{ path("upload_media_default", {"id": app.user.getId()}) }}';
var urlDelete = 'null';
var idObject = '{{ app.user.getId() }}';
var typeObject = "user";
var videoExist = false;
</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,10 @@
{% block content %}
<div class="row">
<div class="col s12">
<h4>{% trans %}label.webcam.answer.step2{% endtrans %}</h4>
</div>
<div class="col s10 offset-s1 answer-dropzone">
{% include 'media/dropzone.html.twig' with {'deleting': true } %}
</div>
</div>
{% endblock %}
@@ -0,0 +1,28 @@
{% block content %}
<div class="row">
<div class="col s12">
<h4>{% trans %}label.webcam.answer.videotheque{% endtrans %}</h4>
</div>
{% 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>
{% endblock %}
@@ -0,0 +1,35 @@
{% block content %}
<div class="row">
<div class="col s12">
<h4>{% trans %}label.webcam.answer.step1{% endtrans %}</h4>
</div>
<div class="col s5">
<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 vidéo après un enregistrement, vous pouvez à tout moment recommencer l'enregistrement.</p>
</div>
</div>
<div class="col s2 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 s5">
<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 ma vidéo
</a>
<div class="video-informations-card">
<p>Une fois téléchargé vous pouvez glisser-déposer votre vidéo dans la zone prévue pour lancer le téléchargement.</p>
</div>
</div>
</div>
</div>
{% endblock %}
@@ -0,0 +1,113 @@
{% extends 'base.html.twig' %}
{% block content %}
{% set subtitle = 'Déposer une recommandation pour :' %}
{% set title = userTalent.firstname ~" "~ userTalent.lastname %}
<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 vidéo de recommandation</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 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 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 ma Vidéo de recommandation
</a>
<div class="video-informations-card">
<p>Une fois téléchargé vous pouvez glisser-déposer votre 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 Vidéo de recommandation</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">
<div class="row">
<div class="col s12">
<h4 class="color-blue1 p-0"><span class="title-bubble">3</span> Choix de relation</h4>
</div>
<div class="col s10 offset-s1 answer-dropzone">
{{ form_row(form.relationType) }}
</div>
</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 recommandation
</button><br /><br />
<a class="color-grey5" href="{{ routeReturn }}">Annuler</a>
</div>
</div>
{{ form_end(form) }}
</div>
</div>
</div>
</div>
{% endblock %}
{% block javascripts %}
{{ parent() }}
<script type="text/javascript">
var urlDropzone = '{{ path("upload_media_recommendation", {"id": recommendation.getId()}) }}';
var urlDelete = '{{ path("delete_media_recommendation", {"id": recommendation.getId() }) }}'
var idObject = '{{ recommendation.getId() }}';
var typeObject = "recommendation";
{% 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>
{% endblock %}
@@ -0,0 +1,13 @@
<div class="col s12" id="breadcrumb">
<a href="{{ path('talent_ad_space')}}">
<span {% if step == 1 %}class="active"{% endif %}>{% trans %}talent.menu.answers.label{% endtrans %}</span>
</a>
{% if step >= 2 %}
<span class="sepa-breadcrumb">></span>
<span {% if step == 2 %}class="active"{% endif %}>{{ title }}</span>
{% endif %}
<div class="border-breadcrumb"></div>
</div>
@@ -0,0 +1,97 @@
{% extends 'talent/base_dashboard_talent.html.twig' %}
{% block dashContent %}
{% include 'talent/job_submenu.html.twig' with {
'tab' : 1
} %}
<div class="row bg-bordered p-20">
{% if answer.ad is not null %}
{% set titleAnswer = answer.ad.title %}
{% else %}
{% set titleAnswer = answer.company.brandname %}
{% endif %}
{% include 'talent/ad_breadcrumb.html.twig' with {'step': 2,'title': titleAnswer,'firstname':answer.user.firstname ,'lastname':answer.user.lastname} %}
<div class="col s12 m6">
<div id="mini-profil-block">
{% include 'talent/talent_picture.html.twig' with {
'user' : answer.user
} %}
<div>
<div class="mini-profil-picture-name">{{ answer.user.firstname }} {{ answer.user.lastname }}</div>
<div>Envoyé le {{ answer.sendTime|date('d/m/Y') }}</div>
</div>
</div>
{% if answer.video is not null %}
<div class="embed-responsive embed-responsive-16by9">
<iframe src="https://player.vimeo.com/video/{{ answer.video.cdnUrl|replace({ "/videos/": ""}) }}"
width="100%" height="auto" frameborder="0" webkitallowfullscreen mozallowfullscreen
allowfullscreen></iframe>
</div>
{% endif %}
</div>
<div class="col s12 m6">
{% if answer.comment %}
<strong>{% trans %}label.message{% endtrans %}</strong>
<p class="message-answer">{{ answer.comment }}</p>
<a href="#" class="link-message-more">{% trans %}label.link.readmore{% endtrans %}</a>
{% else %}
{% trans %}label.noMessage{% endtrans %}
{% endif %}
</div>
<div class="col s12">
<h4 class="no-margin-top bordered">HISTORIQUE DES MESSAGES RECUS</h4>
</div>
<div class="col s12">
{% if answer.messages %}
{% set nbMessage = 0 %}
{% for message in answer.messages if message.status != "DRAFT" %}
{% set class = '' %}
{% if loop.index > 1 %}
{% set class = 'history-hidden' %}
{% endif %}
<div class="blockanswer-answer {{class}}">
<div class="title-answer">
{{ message.sender.lastname }} {{ message.sender.firstname }}
<span class="date-answer">{% trans %}label.received{% endtrans %}{{ message.uTime|date('d-m-Y') }}</span>
</div>
<div class="description-answer">
{% if message.video %}
<div class="embed-responsive embed-responsive-16by9">
<iframe src="https://player.vimeo.com/video/{{ message.video.cdnUrl|replace({ "/videos/": ""}) }}"
width="100%" height="300" frameborder="0" webkitallowfullscreen mozallowfullscreen
allowfullscreen></iframe>
</div>
{% endif %}
{{ message.content|nl2br }}
</div>
</div>
{% set nbMessage = nbMessage + 1 %}
{% endfor %}
{% endif %}
</div>
{% if nbMessage > 1 %}
<div class="col s12 center-align m-t-30">
<a class="bnt btn-round btn-grey-2 link-history-more" href="#" title="{% trans %}label.history.talent.link{% endtrans %}">{% trans %}label.history.talent.link{% endtrans %}</a>
</div>
{% endif %}
</div>
{% endblock %}
{% block javascripts %}
{{ parent() }}
<script type="text/javascript">
$('.link-message-more').on('click',function(e) {
e.preventDefault();
$('.message-answer').animate({
'height': '100%'
})
});
$('.link-history-more').on('click',function(e) {
e.preventDefault();
$('.history-hidden').fadeIn();
$(this).fadeOut();
});
</script>
{% endblock %}
@@ -1,49 +1,50 @@
{% extends 'talent/base_dashboard_talent.html.twig' %}
{% block dashContent %}
{#<h1 class="alttitle">Espace offres d'emploi</h1>#}
{% include 'talent/job_submenu.html.twig' with {
'tab' : 1
} %}
<div class=" row bg-bordered p-20">
<ul class="tabs">
<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">
<thead>
<tr>
<th>Intitulé de l'annonce</th>
<th>Date de réponse</th>
<th>Réponses</th>
<th>État</th>
</tr>
</thead>
<tbody>
{% for a in answers %}
<tr>
<td>
{% 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>
{% 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>
{% endif %}
{{ a.status|trans }}
</td>
</tr>
{% endfor %}
</tbody>
</table>
<p class="center-align"></p>
{% include 'talent/ad_breadcrumb.html.twig' with {'step': 1} %}
<div id="reponses" class="col s12">
<table id="table-answers" class="bordered highlight responsive-table">
<thead>
<tr>
<th>Intitulé de l'annonce</th>
<th>Date de réponse</th>
<th>Nombre de candidats</th>
<th>Message recus</th>
<th>État</th>
</tr>
</thead>
<tbody>
{% for a in answers %}
<tr>
<td>
{% if a.ad != null %}
<a href="{{ path('talent_ad_detail',{alias: a.ad.alias, id: a.id })}}">
{{ a.ad.title }}
{% else %}
<a href="{{ path('talent_ad_detail',{alias: a.company.alias, id: a.id })}}">
{{ a.company.brandname }} - {{ 'company.menu.spontaneous.label'|trans }}
{% endif %}
</a>
</td>
<td>{{ a.sendTime|date('d/m/Y') }}</td>
<td> {% if a.ad != null %}{{ a.ad.countAnswers }}{% else %} - {% endif %}</td>
<td>{{ a.mineMessages|length }}</td>
<td style="min-width: 100px;">
{% 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>
{% endif %}{{ a.status|trans }}
</td>
</tr>
{% endfor %}
</tbody>
</table>
<p class="center-align"></p>
</div>
<div id="modal_video" class="modal">
<div class="modal-content">
@@ -51,24 +52,23 @@
<div class="videoContainer" style="text-align:center;">Loading...</div>
</div>
<div class="modal-footer">
<a href="#!" class="modal-action modal-close waves-effect waves-green btn-flat">Fermer</a>
<a href="#!" class="modal-action modal-close waves-effect waves-green btn-flat">Fermer</a>
</div>
</div>
</div>
{% endblock %}
{% block javascripts %}
{{ parent() }}
<script src="https://player.vimeo.com/api/player.js"></script>
<script type="text/javascript">
$('.modalBtn').click(function(){
$('.modalBtn').click(function () {
$('.videoContainer').html('');
$('#modal_video').modal('open');
var urlVideo = $(this).data("url");
urlVideo = urlVideo.replace('videos', 'video');
var player = '<div data-vimeo-url="https://vimeo.com'+urlVideo+'" id="player_vimeo"></div>';
var player = '<div data-vimeo-url="https://vimeo.com' + urlVideo + '" id="player_vimeo"></div>';
$('.videoContainer').html(player);
var player_vimeo = new Vimeo.Player('player_vimeo');
});
@@ -19,6 +19,29 @@
{% endblock %}
{% block javascripts %}
{{ parent() }}
<script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyDYV8IJGtIoWLfXJQQvIuDQ88n2aEuRgpg&libraries=places"></script>
{% javascripts
'@vendors'
'@global'
'@talents'
output='assetic/main.dash.talent.js' filter='?uglifyjs2' %}
<script src="{{ asset_url }}"></script>
{% endjavascripts %}
<script type="text/javascript">
$.fn.datepicker.languages['fr-FR'] = {
format: 'dd/mm/yyyy',
days: ['Dimanche', 'Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi'],
daysShort: ['Dim', 'Lun', 'Mar', 'Mer', 'Jeu', 'Ven', 'Sam'],
daysMin: ['Di', 'Lu', 'Ma', 'Me', 'Je', 'Ve', 'Sa'],
weekStart: 1,
months: ['Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Aout', 'Septembre', 'Octobre', 'Novembre', 'Décembre'],
monthsShort: ['Jan', 'Fev', 'Mar', 'Avr', 'Mai', 'Jun', 'Jui', 'Aou', 'Sep', 'Oct', 'Nov', 'Dec']
};
$('.datepicker').datepicker({
language: 'fr-FR'
});
$('form[name="talent_profile"]').validate();
</script>
{% endblock %}
@@ -0,0 +1,10 @@
<div class="row bg-bordered p-0">
<ul class="nav-tabs">
<li class="{% if tab == 1 %} active {% endif %} col s3">
<a {% if tab == 1 %}class="active"{% endif %} href="{{ path('talent_ad_space') }}">{{'talent.menu.answers.label'|trans}}</a>
</li>
<li class="{% if tab == 2 %} active {% endif %} col s3">
<a {% if tab == 2 %}class="active"{% endif %} href="{{path('recommandation_list')}}">{{'talent.menu.recommandations.label'|trans}}</a>
</li>
</ul>
</div>
@@ -198,6 +198,5 @@
}
});
});
</script>
{% endblock %}
@@ -0,0 +1,27 @@
{% extends 'talent/base_dashboard_talent.html.twig' %}
{% block dashContent %}
{% include 'talent/job_submenu.html.twig' with {
'tab' : 2
} %}
<div class=" row bg-bordered p-20">
<div class="col s12 bb-grey p-b-10">
<span class="bg-blue-1 text-gradient font-2 text-upper text-bold">Supprimer votre recommandation</span>
</div>
<div id="recommendation" class="col s12 p-t-20">
{{form_start(form)}}
{{form_rest(form)}}
<button id="submit" class="btn btn-large btn-default" type="submit">
Supprimer votre recommandation
</button>
{{form_end(form)}}
</div>
</div>
{% endblock %}
{% block javascripts %}
{{ parent() }}
{% endblock %}
@@ -0,0 +1,136 @@
{% extends 'talent/base_dashboard_talent.html.twig' %}
{% block dashContent %}
{% include 'talent/job_submenu.html.twig' with {
'tab' : 2
} %}
<div class=" row bg-bordered p-20">
<div class="col s12 bb-grey p-b-10">
<span class="bg-blue-1 text-gradient font-2 text-upper text-bold">recommandations reçues</span>
</div>
<div id="reponses" class="col s12">
<table class="bordered responsive-table">
<thead>
<tr>
<th>Nom Prénom</th>
<th class="center-align">Date</th>
<th class="center-align">Action</th>
<th>Visibilité</th>
</tr>
</thead>
<tbody>
{% for r in received %}
<tr>
<td>
{{ r.sender.lastname }}
{{ r.sender.firstname }}
</td>
<td class="center-align">
{{ r.uTime|date('d/m/Y') }}
</td>
<td class="center-align">
<i class="fa fa-eye modalBtn c-pointer hover-blue1" data-url="{{ r.video.cdnUrl }}"></i>
</td>
<td>
{% if r.isVisible == false %}
<span class="color-red">Désactivée</span>
{% else %}
<div class="switch d-inblock">
<label>
<input class="visibilityToggle" type="checkbox" {% if r.isEnabled %} checked="checked" {% endif %} data-id="{{r.id}}">
<span class="lever"></span>
</label>
</div>
{% endif %}
</td>
</tr>
{% endfor %}
</tbody>
</table>
<p class="center-align"></p>
</div>
</div>
<div class=" row bg-bordered p-20">
<div class="col s12 bb-grey p-b-10">
<span class="bg-blue-1 text-gradient font-2 text-upper text-bold">recommandations envoyées</span>
</div>
<div id="reponses" class="col s12">
<table class="bordered responsive-table">
<thead>
<tr>
<th>Nom Prénom</th>
<th class="center-align">Date</th>
<th class="center-align">Action</th>
</tr>
</thead>
<tbody>
{% for r in sended %}
<tr>
<td>
{{ r.user.lastname }}
{{ r.user.firstname }}
</td>
<td class="center-align">
{{ r.uTime|date('d/m/Y') }}
</td>
<td class="center-align">
{% if r.video.cdnUrl is defined %}
<i class="fa fa-eye modalBtn c-pointer hover-blue1" data-url="{{ r.video.cdnUrl }}"></i>
{% endif %}
<a href="{{ path('delete_recommendation',{id:r.id}) }}">
<i class="fa fa-trash hover-red c-pointer color-black"></i>
</a>
{% if r.isVisible == false %}
<span class="color-red">Désactivée</span>
{% endif %}
</td>
</tr>
{% endfor %}
</tbody>
</table>
<p class="center-align"></p>
</div>
<div id="modal_video" class="modal">
<div class="modal-content">
<h4>Vidéo de la recommandation</h4>
<div class="videoContainer" style="text-align:center;">Loading...</div>
</div>
<div class="modal-footer">
<button class="modal-action modal-close waves-effect waves-green btn-flat">Fermer</button>
</div>
</div>
</div>
{% endblock %}
{% block javascripts %}
{{ parent() }}
<script src="https://player.vimeo.com/api/player.js"></script>
<script type="text/javascript">
$('.modalBtn').click(function () {
$('.videoContainer').html('');
$('#modal_video').modal('open');
var urlVideo = $(this).data("url");
urlVideo = urlVideo.replace('videos', 'video');
var player = '<div data-vimeo-url="https://vimeo.com' + urlVideo + '" id="player_vimeo"></div>';
$('.videoContainer').html(player);
var player_vimeo = new Vimeo.Player('player_vimeo');
});
</script>
<script>
$('.visibilityToggle').change(function () {
var recId = $(this).data('id');
var route = '/talent/me/recommandation/' + recId + '/toggle';
$.ajax({
type: "POST",
url: route,
dataType: "json",
success: function (msg) {
console.log(msg);
}
});
});
</script>
{% endblock %}
@@ -1,13 +1,6 @@
{% for t in talents %}
{% if t.users[0] is defined %}
{% set user = t.users[0] %}
{#{% if user.photo %}#}
{#<img src="/{{ user.webPath }}" alt="{{ user.firstname }} {{ user.lastname }}"/>#}
{#<span class="playerbtn"></span>#}
{#{% endif %}#}
<div class="row item-list-bis">
<div class="col s12 m12 l4 col-padding-right">
<a href="{{ path('talent_show',{'alias': t.alias }) }}"
@@ -0,0 +1,13 @@
<div class="profil-picture mini-profil-picture">
{% if answer.user.getWebPath() %}
{% 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 %}
{% else %}
<div class="circle-letters font-2">{{ user.firstname|first|upper }}{{ user.lastname|first|upper }}</div>
{% endif %}
</div>
@@ -1,64 +1,71 @@
{% extends 'base.html.twig' %}
{% block title %}Recruter un(e) employé(e) spécialisé(e) {% for t in user.company.publicTag %}{{ t }} {% endfor %}| Talents Tube{% endblock %}
{% block title %}Recruter un(e) employé(e) spécialisé(e)
{% for t in user.company.publicTag %}{{ t }}
{% endfor %}| Talents Tube{% endblock %}
{% block description %}Découvrez le CV vidéo de {{ user.firstname }}. Trouvez le prochain talent de votre équipe sur Talents Tube.{% endblock %}
{% block description %}Découvrez le CV vidéo de
{{ user.firstname }}. Trouvez le prochain talent de votre équipe sur Talents Tube.{% endblock %}
{% block content %}
{% include 'default/flash_message.html.twig' %}
<div class="fluid-container bg-grey-3 ">
<div class="fluid-container bg-grey-3" id="talent-show">
<div class="container contentWrapper contentPage">
<div class="row">
<div class="col s12 m4 l3" id="sidebar">
<div class="profil center-align">
{% set company = user.company %}
<div class="profil-picture">
{% if user.socialPicture is not null and user.photo is null %}
<img class="circle responsive-img" src="{{ user.socialPicture }}" alt="{{ user.firstname }} {{ user.lastname|first|upper }}"/>
{% elseif user.photo %}
<img class="circle responsive-img" src="{{ user.webPath | imagine_filter('profile_square') }}" alt="{{ user.firstname }} {{ user.lastname }}"/>
{% else %}
<div class="circle-letters font-2">{{ user.firstname|first|upper }}{{ user.lastname|first|upper }}</div>
{% endif %}
</div>
<p class="profil-name"><b>{{ user.firstname }} {{ user.lastname|upper }}</b></p>
<div class="profil-picture">
{% if user.socialPicture is not null and user.photo is null %}
<img class="circle responsive-img" src="{{ user.socialPicture }}" alt="{{ user.firstname }} {{ user.lastname|first|upper }}"/>
{% elseif user.photo %}
<img class="circle responsive-img" src="{{ user.webPath | imagine_filter('profile_square') }}" alt="{{ user.firstname }} {{ user.lastname }}"/>
{% else %}
<div class="circle-letters font-2">{{ user.firstname|first|upper }}{{ user.lastname|first|upper }}</div>
{% endif %}
</div>
<p class="profil-name">
<b>{{ user.firstname }}
{{ user.lastname|upper }}</b>
</p>
{% if company.addresses.billing is defined %}
<p class="profil-city">{{ company.addresses.billing.city }}
- {{ company.addresses.billing.country|country }}</p>
-
{{ company.addresses.billing.country|country }}</p>
{% endif %}
</div>
<div class="col s12 profil-links">
{% if talent.extra.linkedin %}
<a target="_blank" href="{{ talent.extra.linkedin }}" class="td-none">
<span class="fa-stack fa-lg">
<i class="fa fa-circle fa-stack-2x z-depth-2"></i>
<i class="fa fa-linkedin fa-stack-1x fa-inverse"></i>
</span>
<span class="fa-stack fa-lg">
<i class="fa fa-circle fa-stack-2x z-depth-2"></i>
<i class="fa fa-linkedin fa-stack-1x fa-inverse"></i>
</span>
</a>
{% endif %}
{% if talent.extra.twitter %}
<a target="_blank" href="{{ talent.extra.twitter }}" class="td-none">
<span class="fa-stack fa-lg">
<i class="fa fa-circle fa-stack-2x z-depth-2"></i>
<i class="fa fa-twitter fa-stack-1x fa-inverse"></i>
</span>
<span class="fa-stack fa-lg">
<i class="fa fa-circle fa-stack-2x z-depth-2"></i>
<i class="fa fa-twitter fa-stack-1x fa-inverse"></i>
</span>
</a>
{% endif %}
{% if talent.website %}
<a target="_blank" href="{{ talent.website }}" class="td-none">
<span class="fa-stack fa-lg">
<i class="fa fa-circle fa-stack-2x z-depth-2"></i>
<i class="fa fa-link fa-stack-1x fa-inverse"></i>
</span>
<span class="fa-stack fa-lg">
<i class="fa fa-circle fa-stack-2x z-depth-2"></i>
<i class="fa fa-link fa-stack-1x fa-inverse"></i>
</span>
</a>
{% endif %}
</div>
<div class="col s12 center-align">
<div class="divider"></div>
<br />
<br/>
{% if is_granted("ROLE_COMPANY") %}
<a class="btn btn-default contact-talent" href="#modal1">Contacter le talent</a>
<a class="btn btn-default contact-talent" href="#modal1">Contacter le talent</a>
{% endif %}
</div>
</div>
@@ -67,26 +74,81 @@
<div class="col s12 detail-item-video">
{% if talent.presentationVideo %}
<div class="video-responsive">
<iframe src="https://player.vimeo.com/video/{{ talent.presentationVideo.cdnUrl|replace({ "/videos/": ""}) }}"
width="100%" height="640" frameborder="0" webkitallowfullscreen mozallowfullscreen
allowfullscreen></iframe>
<iframe src="https://player.vimeo.com/video/{{ talent.presentationVideo.cdnUrl|replace({ "/videos/": ""}) }}" width="100%" height="640" frameborder="0" webkitallowfullscreen="webkitallowfullscreen" mozallowfullscreen="mozallowfullscreen" allowfullscreen="allowfullscreen"></iframe>
</div>
{% endif %}
</div>
</div>
<div class="row bg-bordered">
<div class="col s12">
<h3 class="blue-text no-margin-top"> Le Cv vidéo de {{ user.firstname }} {{ user.lastname }}</h3>
<h3 class="blue-text no-margin-top">
Le Cv vidéo de
{{ user.firstname }}
{{ user.lastname }}</h3>
{% for tag in talent.publicTag %}
<div class="chip">{{ tag }}</div>
{% endfor %}
</div>
</div>
<div class="row bg-bordered">
<div class="col s12 header-recommendations">
<h3 class="blue-text no-margin-top">{% trans %}label.recommendations{% endtrans %}</h3>
{% if showRecommendation %}
<a title="Recommander {{ user.firstname }} {{ user.lastname }}" href="{{urlRecommendation}}" id="recommendation" class=" btn btn-large btn-default" type="submit">
{% trans %}label.button.recommendation{% endtrans %}
{{ user.firstname }}
</a>
{% endif %}
</div>
{% if recommendations is not null %}
<div class="recommendations-list">
{% for recommendation in recommendations if recommendation.isVisible != false %}
<div class="col s6 recommendation-block">
<div class="video-responsive">
<iframe src="https://player.vimeo.com/video/{{ recommendation.video.cdnUrl|replace({ "/videos/": ""}) }}" width="100%" height="640" frameborder="0" webkitallowfullscreen="webkitallowfullscreen" mozallowfullscreen="mozallowfullscreen" allowfullscreen="allowfullscreen"></iframe>
</div>
<div class="recommendation-user-infos">
<div class="profil-picture">
{% if recommendation.sender.socialPicture is not null and recommendation.sender.photo is null %}
<img class="circle responsive-img" src="{{ recommendation.sender.socialPicture }}" alt="{{ recommendation.sender.firstname }} {{ recommendation.sender.lastname|first|upper }}"/>
{% elseif user.photo %}
<img class="circle responsive-img" src="{{ recommendation.sender.webPath | imagine_filter('profile_square') }}" alt="{{ recommendation.sender.firstname }} {{ recommendation.sender.lastname }}"/>
{% else %}
<div class="circle-letters font-2">{{ recommendation.sender.firstname|first|upper }}{{ recommendation.sender.lastname|first|upper }}</div>
{% endif %}
</div>
<div>
<span class="recommendation-user-name">{{ recommendation.sender.firstname }}
{{ recommendation.sender.lastname }}</span>
<br/>
<span class="recommendation-date">{{ recommendation.ctime|localizeddate('medium', 'none', 'fr_FR') }}, {{ recommendation.relationType|replace({'choice': 'front'})|trans({'%{name}' : user.firstname,'%{name2}' : recommendation.sender.firstname})}}</span>
</div>
</div>
</div>
{% endfor %}
</div>
{% endif %}
</div>
</div>
</div>
</div>
</div>
{% set popup_recommendation = app.session.flashbag.get('popup_recommendation') %}
{% if popup_recommendation is not empty %}
{% if popup_recommendation == true %}
<div id="modal-recommendation" class="modal">
<div class="modal-content">
<div class="col-content center-align">
<span class="color-blue1">Votre recommandation a bien été envoyée à <br />{{ user.firstname }} {{ user.lastname }}</span>
<hr />
<a class="btn btn-default modal-action modal-close text-center">Fermer</a>
</div>
</div>
</div>
{% endif %}
{% endif %}
{% if is_granted("ROLE_COMPANY") %}
<div id="modal1" class="modal">
<div class="col s12 m12 l12">
@@ -94,8 +156,10 @@
<h4 class="no-margin-top">
Contacter le talent
</h4>
<p>
Expéditeur : {{ app.user.firstname }} {{ app.user.lastname }}
Ex <p>
péditeur :
{{ app.user.firstname }}
{{ app.user.lastname }}
</p>
{{ form_start(form) }}
{{ form_rest(form) }}
@@ -113,10 +177,24 @@
{% block javascripts %}
{{ parent() }}
<script>
$(document).ready(function(){
$.get( "{{ path('talent_ajaxRecStat',{'id': talent.id }) }}", function( data ) {
<script type="text/javascript">
{% if mustLogin == true %}
$('#recommendation').on('click', function (event) {
event.preventDefault();
$('#modal_login').modal('open');
});
{% endif %}
</script>
<script>
$(document).ready(function () {
$.get("{{ path('talent_ajaxRecStat',{'id': talent.id }) }}", function (data) {});
if ($('#modal-recommendation').length > 0) {
$('#modal-recommendation').modal({
dismissible: false,
ready: function (modal, trigger) {}
});
$('#modal-recommendation').modal('open');
}
});
</script>
{% endblock %}
@@ -67,7 +67,10 @@
<p class="m-0">
<a class="td-none color-grey3"
href="{{ path('territory_show',{'alias': c.alias, '_fragment':'offers' }) }}">
{% set nbAds = c.getTerritoryAds|length %}
{% set nbAds = 0 %}
{% for territoryAd in c.getTerritoryAds if territoryAd.ad != null %}
{% set nbAds = nbAds + 1 %}
{% endfor %}
{% if nbAds > 1 %}
<strong>{{ nbAds }} offres d'emploi en
cours sur ce territoire</strong>
@@ -106,16 +106,34 @@
</div>
</div>
{% endif %}
<br class="clear" />
<div class="row m-t-50">
<div class="col s12 center-align">
<a class="btn-default btn-grey" href="#offers">OFFRES D'EMPLOI</a> /
<a class="btn-default btn-grey" href="#companies">ENTREPRISES</a>
</div>
</div>
{% if companyAds|length > 0 %}
<div id="offers" class="row">
<div class="col s12">
<h1>Les offres demploi pour {{ company.brandname }}</h1>
<h1>Les offres demploi du territoire : {{ company.brandname }}</h1>
<div id="liste-resultats">
{% include 'default/ad_listing.html.twig' with {'ads':companyAds} %}
</div>
</div>
</div>
{% endif %}
{% if companies|length > 0 %}
<div id="companies" class="row">
<div class="col s12">
<h1>Les entreprises du territoire : {{ company.brandname }}</h1>
<div id="liste-resultats">
{% include 'default/company_listing.html.twig' with {'companies':companies} %}
</div>
</div>
</div>
{% endif %}
</div>
</div>
</div>
@@ -19,6 +19,7 @@ assetic:
- 'js/vendors/jquery-confirm.min.js'
- 'js/vendors/sly.min.js'
- 'js/vendors/tooltipster.bundle.min.js'
- 'js/vendors/readmore.min.js'
global:
inputs:
- 'js/global.js'
@@ -29,6 +30,10 @@ assetic:
- 'js/company.js'
- 'js/vendors/moment.min.js'
- 'js/vendors/jquery.daterangepicker.min.js'
talents:
inputs:
- 'js/vendors/datepicker.min.js'
- 'js/vendors/jquery.validate.min.js'
admin:
inputs:
- 'admin/AdminLTE/plugins/jQuery/jquery-2.2.3.min.js'
+43 -3
View File
@@ -59,10 +59,26 @@ doctrine:
naming_strategy: doctrine.orm.naming_strategy.underscore
mappings:
AppBundle: ~
fairlane_cookie_consent:
active: true
use_bootstrap: true
use_jquery: true
translate: false
cookie_lifetime: 90 # days
twig:
text_info: 'Notre site utilise des cookies et recueille des informations vous concernant à des fins fonctionnelles et / ou publicitaires. Nous vous invitons à accepter la collecte ou configurer vos choix. Vous pouvez modifier vos paramètres à tout moment.'
text_accept_button: 'Accepter'
text_additional_info_link: 'En savoir plus'
url_additional_info: 'https://www.talentstube.com/confidentialite'
# Twig Configuration
twig:
debug: "%kernel.debug%"
strict_variables: "%kernel.debug%"
globals:
fairlane_cookie_consent: '@fairlane_cookie_consent.twig'
# Swiftmailer Configuration
swiftmailer:
@@ -96,8 +112,8 @@ fos_user:
# Edeclic Prestashop Bridge
edeclic_prestashop_bridge:
prestashop:
cookie_key: "%prestashop_key%"
presta_path: "%prestashop_path%"
cookie_key: %prestashop_key%
presta_path: %prestashop_path%
shop_id: %prestashop_id%
avoid_mode: %prestashop_avoid%
ad_product_id: %prestashop_ad_id%
@@ -211,4 +227,28 @@ monolog:
level: debug
type: rotating_file
max_files: 15
path: '%kernel.logs_dir%/%kernel.environment%_debug.log'
path: '%kernel.logs_dir%/%kernel.environment%_debug.log'
#Api
fos_rest:
zone:
- { path: ^/api/* }
body_converter:
enabled: true
view:
formats: { json: true, xml: false, rss: false }
view_response_listener: true
mime_types:
json: ['application/json', 'application/json;version=1.0', 'application/json;version=2.0']
serializer:
serialize_null: true
format_listener:
rules:
- { path: '^/api/', priorities: ['json'], fallback_format: 'json' }
param_fetcher_listener: true
lexik_jwt_authentication:
secret_key: '%kernel.root_dir%/../app/config/jwt/private.pem' # required for token creation
public_key: '%kernel.root_dir%/../app/config/jwt/public.pem' # required for token verification
pass_phrase: 'talentstubeforever' # required for token creation, usage of an environment variable is recommended
token_ttl: 3600
@@ -11,6 +11,11 @@ web_profiler:
toolbar: true
intercept_redirects: false
services:
twig.extension.debug:
class: Twig_Extension_Debug
tags: [{ name: 'twig.extension' }]
monolog:
handlers:
main:
@@ -0,0 +1,54 @@
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: AES-256-CBC,1B8B1CB3A64B49F820DD713907974037
0/ahxIYlJ0RiiOqRz78LbR7g+UvBC8r4RrMWFCIOuh/FPbTYyIc0VxRMObrTqvHv
B4oUMnTzHzkOimvLWncZSIA39TL2OuQMTT7g/Cp8uh7Exnf29js7Ywv8EAQA2trw
EsLXjH5St3vLhWLQdxVUBY6tWc5yuqTJ3ze9rFojiJ0mbIoeid7L8sI4mQAocfX2
2/aMWwhQX83AJaRC7liU18nZAP4gAxYjvLAaC6zj7M3wxPv1r3Ox2PuSUfYZFkYA
HbVYq6pi/Dw32CmCniufccSr2wd0f78fZdI/E20tdAviLN6awqrjM2aFgzqZ6zw/
UCD3L1hLfGxRk6uYAFgEiFQB7dT4ZzqjopKNsVuho+DTc55kmx8iPD3xXuTMbeUY
SgiV4KcGCbHRt1HGWWbJgyOkSaPQQQk5Bf63glS4nLVNqzIqzJmpVCKuwOpKCSnK
DTeWpw9MIHLHM4SD2OM8Hh8S8l6v+Y4ash6mEtUNh6a7N+TQ1vEn/wyt8wyM7/Fh
UY/97loUyu0HC2Ox89sP1y6VcNaRQlhNj9hZzLC/q5K+Z4zAQRnGPuTowZL7ztxZ
BD+MTnNZc+Akrti+3c1vAHxzuUoBd7h8NX2pnNNUY2Wme9JqfZnCx9fV4AwVOvx6
8mvTQL5YHOv8HpsGnDoOak1r+QzHM8IrL8SSrJ/DBXMIWmFefhcIDgrXZG8LV+ck
RlSuP5Lsyy3e8AQ6hrM06DXkhjGi7gCeHIHySbzw0AiFERQz0d7XgU75DL/ALPqh
0lyqlXdrx/+qqTc0wwjYIerNLNdVqN9kvLg+aqFSwZrfiZyEy6rYdUoqYXoInwle
QBt2uqcjVUhMwdQYaDWiqHidSpIMP5nuTKDm6Z8J/SLf4iy+It1qXUEcoRKhDavm
fy+dw3JvthpoNjP3Bq+moygP8J8msS5Ti3UgVug21Fsp89fmvUO8FO2JRXLXP8+U
3HG1Ij/KKk1dxC6PT7qu9gVeoKM+W8maCVV/O84Qx/N3aXY+sHm1HsSssg0cLEC7
zaEai16xhVGI8aagYwxBHVkVVXk/CBS7zq1JYBnZOIw56d1NTjvJ3YmTx619Hyek
PJuMNjGV4mM0jONzHJbI6deE2B+f1/ej1JwoeGyBhynrZjwtTCd3JAtwRK9WO1fq
owdoCAnDOV7yDcwfFEYaNV2ie/R/kQo/fIIanykQs59Op2M0yhLvmch+C3RghLVg
qfR3Jngbqjwz/uh5ZQShZtHFirdAyer/eLD0CteDt4TrAiQxiHqrEOdqwF/G/STq
+3SSkChf6uhqUUqfmJFwxaF6AiNTkdk0YyxucWY2JXYf3qyz7ADGnI/KZZ+1LchF
2bLUKjyjnFKQoaFtDd7qMGxrTD80egN/fFV4Nybt+DTsGjdUjvCFS69j+YvZ0vIP
8rZHK7etISTfiauP9SrIR9UKpNA8fGrUgJGOMo/5Wkz4YS6LmMceQkpDxj46p8Ia
Iv+pOKez6NsckP1OiDfTxLtXL1S3xQHP3V0dYI5UcWt8Bczi2VylZCcS8JiV8Cqy
+EYRaIB9Qi1X5uLQsbiyS70rJp9mJ3xUR2dIzD70njCIDtLPA2b9dXqXm1IyqdkB
46W0MOnyI699XgiywvPovwhzTH8uO5Xn5gnjEgD92pHdJ2iTVQDTC9qtKhODrhbC
ouOCbS/LPAnQMwlLD1rWAeJcBJ3PL1KdAlaxWq3Jd/iMhDh/hSboS88Lm88RYtBh
3DhMCyxY1gu6jyzuWN2pHKzCvZ1Aqqm1SMS/8nAPe/KtPJO7zTRQJIrrfPK1pt2B
u5tu1zupVKihoRkLZtV4FUwDBo8DE9V65b/LAJZtuId77ci7aWRoD5b1Lc9X9iyH
cFJTQbMxzA76/8F9/Y1h8D9mdP+N9Tfw6iOvRxszqciGAsUasqo4Xm3ZOQqCcOo5
djoywGnzqsfxrV733i2KHRqz7XUkLf8n6URloH2i1tSbHWl7fmYAC0N85IUs1PxQ
DB0LUtQgS03gjE4pRJSlgf8JX/0KrG8sYpcvz9R5CqMKrkM6rDy6ehe4P5xVQ+3m
WNCZFfGjCTcuEVLFDNx8CdF8qIV/BCcUSty7KXXoC3AMOAsVlZSwskmKN61GJmBS
Sz1bDwZO6QCZgXR2fH0UMEnCkpksS4xf3f0oq5/WzWzC4ZaDHnwt5NqKE8XXeYpn
isulqUFmCK2VhkqRX1rwND8E45yDG8+U5lyJSHp4y8Fe+AEQjxXUxXDefc80s09i
LMXM7iNUtESFge3BZvocdRrqvp21tkPElzaDoW0nMb0VoNI4Xfe113vBeBdEq0Hr
yuGvM8ZgvKjzl1T4h9PTaBu97kR1QjBSiY0PeEeSMtq/W1XbFO5jU4g/utVRluBm
z64kldtRW1RC8vosrN4sNbdVDAvL43Dynl0wYMI+jgIN3HP2QnOTDH1MLQ5BJZg4
aZFSMZ70e9kF2HXpFnfp+SsuT0lMhzZrSrLvKg0pkuD8jc7FtP/HoLcay2doBufd
fS4VheiaGm7om9Ggmkowld1CUpuzfyi7NDcymWH6J37Ypcvprn1Ts9iBcBDaOsbZ
T3pP0mU4glmRPFRq2IRZXOgTQFXIJKYFpnt0LCC2IuzbQLTKy0LVr6Ksc6ZD21j5
AR/xblSp8dZDS4ltrN44r+rtcio7dN9KlDctURpoqdw8oatwpk5QLFfYeMKPRn6j
yQA4tatWlTxr/UR8Xy8JNcJfg7JQIYjdf36atxpv5xYvnkf6Gs56xVnRthwNYawn
h44emyq/Tuflc9FZqptUDwEPKzLvH0NWxVkNvGG92H0OtES3q9OpGPTnqhIPUTme
Jrbu7knwD5sdzYRh64BhbXem8glPStYnW7B0dSdvyvGpArF1W2cKKURgnr7XokrB
DqbeSpdRf7fE5bw9jHJgcpUJOZ3o6kGA3l309Cdcbigm7gnK0KiY0y/P8MSWEu00
C4WZOFLxuaO1iVav+spACFbFkdVmLoRBPE2hFUc6BA3E/7qNHAjlVYXbUrIR3NA+
iioXf1XFM7K0LG02mMKEFSuWIpZacDyAfjHUlrid7cFBBXLk/EWcwNyGSlRdQl7w
rn7V+QfAdTxmk2FAyO80odbrdZQaBR6oLZaFgz/MzkT6dLJXwCjKG/qJrwwV/2sv
-----END RSA PRIVATE KEY-----
@@ -0,0 +1,14 @@
-----BEGIN PUBLIC KEY-----
MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA0emZKHHTXLKphYp1XLeh
YApXdcWoZenqaFeE9pa3yzP888bsvka7t41JZy7+LOACkjnZj8VQNhMl/JIwtuv8
L276Tox94l1CeLSDvH0vxGAvCyZzpW4pgx2xAJk1xWndkEWcx/6A7/kgdePOFNJt
41JdDsefqRMlsMjw5vCxxX4V1mlebi6owKkxVBXii476xheX1M2k3cfVbC95h++h
Yd7h10DwA17SPbmIDN07QygKqRH7RGkEU5gK2Psc+NFstmYaYj4ew1NF4X9e2Erj
5M3RnYoUfkQBaigv+GSjefL6zdp+yZwjrPtZo+YDC/M1SQLEPAsoxQZvOISrLtkH
usqdvLB8rsVysZOipJyO3OClI+Vvqy9p4CggM3rHlpzMu+e+sgpZersaNxDEz/rX
J/rMXpPTfkVSRMddkQ/s0e0w4oop/tr2Zi4fYfmaJ2Ha49PFBPT7buZeyabLyAOk
utwRBkaGiUGmfVidlb0TMK2fQQOS5WottAJJOhEDzl7woCtCBgCeclsuM6v/EDd/
9KCeMcWrx7/PHBH2I8RGSfoqTKrZ8plOOPccaY2G6zZjvceExyBjewlzOm5zXI7Z
c/L5H9mghOdLjEJ+eRLZIYL9yw1LSDjY3Q0ENkxdvkMdVnZxmsf+UFMFdxBU3VjB
hqeH8T9lC2ZWC8OJ5kA4y4ECAwEAAQ==
-----END PUBLIC KEY-----
@@ -24,4 +24,4 @@ parameters:
media_photo_dir: '%kernel.root_dir%/../web/uploads/photos/'
elastic_host: tt-website.elasticsearch.dev
elastic_port: 9200
delivery_addresses: thomas@e-declic.com
delivery_addresses: maxime.thevenot@e-declic.com
@@ -38,4 +38,6 @@ parameters:
# Elastic
elastic_host: tt.search_db
elastic_port: 9200
elastic_port: 9200
delivery_addresses: maxime.thevenot@e-declic.com
@@ -19,4 +19,10 @@ hwi_oauth_connect:
hwi_oauth_redirect:
resource: "@HWIOAuthBundle/Resources/config/routing/redirect.xml"
prefix: /login
prefix: /login
fairlane_cookie_consent:
resource: "@FairlaneCookieConsentBundle/Resources/config/routing.yml"
api_login_check:
path: /api/login_check
+28 -3
View File
@@ -3,14 +3,33 @@ security:
in_memory:
memory: ~
fos_userbundle:
id: fos_user.user_provider.username_email
#id: app.user_provider
#id: fos_user.user_provider.username_email
id: app.user_provider
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
api_login:
pattern: ^/api/login_check
stateless: true
anonymous: true
provider: fos_userbundle
json_login:
check_path: /api/login_check
success_handler: lexik_jwt_authentication.handler.authentication_success
failure_handler: lexik_jwt_authentication.handler.authentication_failure
api:
pattern: ^/api
stateless: true
anonymous: true
provider: fos_userbundle
guard:
authenticators:
- lexik_jwt_authentication.jwt_token_authenticator
main:
pattern: ^/
remember_me:
@@ -33,6 +52,8 @@ security:
anonymous: true
switch_user:
provider: fos_userbundle
access_control:
- { path: ^/login$, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/register, roles: IS_AUTHENTICATED_ANONYMOUSLY }
@@ -44,6 +65,10 @@ security:
- { path: ^/talent/recherche/, roles: ROLE_COMPANY }
- { path: ^/entreprise/me/, roles: ROLE_COMPANY }
- { path: ^/territoire/me/, roles: ROLE_TERRITORY }
- { path: ^/api/login_check, roles: IS_AUTHENTICATED_ANONYMOUSLY}
- { path: ^/api/login_check_oauth, roles: IS_AUTHENTICATED_ANONYMOUSLY}
- { path: ^/api, roles: IS_AUTHENTICATED_FULLY, methods: [POST, PUT, DELETE, PATCH] }
- { path: ^/api, roles: IS_AUTHENTICATED_ANONYMOUSLY, methods: [GET]}
encoders:
FOS\UserBundle\Model\UserInterface: bcrypt

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