Compare commits

..

284 Commits

Author SHA1 Message Date
llaniau 07531fb0de Organisation cliente 2020-09-07 16:00:41 +02:00
llaniau e4cd963ffd cv theque 2020-09-03 18:49:58 +02:00
llaniau 96367dd0af cv videotheque 2020-09-03 17:34:07 +02:00
llaniau 857e32e574 base temporaire pour avoir des pages en mode V1 meme en V2 2020-09-02 18:40:24 +02:00
llaniau 6b4581bd5d Amelioration dashboard entreprise sur la gestion des offres 2020-09-01 16:57:24 +02:00
llaniau 52ec51b973 Fix : dashboard entreprise - ajout ad 2020-09-01 14:24:44 +02:00
llaniau 1b5a4ff368 Dashboard / gestion annonce 2020-09-01 13:03:27 +02:00
llaniau b9b93ee8f1 modif user dashboard entreprise 2020-09-01 12:04:04 +02:00
llaniau 5bcc995f81 Modif inscription 2020-09-01 11:33:16 +02:00
llaniau 36d67ead43 Mise a jour video de test 216125621 2020-09-01 09:01:04 +02:00
llaniau 34cffed212 Test vimeo avec la video 217844541 2020-09-01 08:45:26 +02:00
llaniau 45e9031268 Mise au point de CSS 2020-08-31 17:25:50 +02:00
llaniau af0e1db407 dashboard V2 (inscription, login, candidatures) 2020-08-31 16:12:13 +02:00
llaniau f12b6f16a9 Dashboard entreprise : reponse texte et video en mode V2 2020-08-27 16:59:32 +02:00
llaniau 301a0c4496 Prise en compte des remarques de Corentins + Dashboard Entreoprise V2 2020-08-26 18:34:45 +02:00
llaniau fd8226ab33 Mise en place dashboard entreprise V2 - Espace offre d'emploi 2020-08-25 17:47:36 +02:00
llaniau a937a21150 Mise en place template dashboard 2020-08-24 18:27:29 +02:00
llaniau f19baff135 modif user 2020-08-20 17:55:55 +02:00
llaniau 6a5bbdcd84 multi utilisateur 2020-08-20 17:44:04 +02:00
llaniau bc15ae214e Fix : connexion avec address json qui ne fonctionnait pas 2020-08-19 18:34:37 +02:00
llaniau 10fcbc2c2e upload en pre prod 2020-08-19 14:55:16 +02:00
llaniau 74385e0791 cas cabinet recrutement (champ entreprise) 2020-08-18 18:15:35 +02:00
llaniau aaafc20e54 Prise en compte remarques suite Pre prod V2 2020-08-17 18:34:48 +02:00
llaniau ca485d04ab Modif du referencement pour priorise Web app 2020-08-17 11:29:31 +02:00
llaniau e17cbd0537 referencement espace recruteur 2020-08-13 17:30:23 +02:00
llaniau e5d4cb1223 Ajout de date pubmished pour web app pour joposting 2020-08-13 17:13:40 +02:00
llaniau 6a1aebb22c Mise a jour adresse Webapp 2020-08-13 11:38:17 +02:00
llaniau 1cc7fb2622 indexV1 a la place de indexV2 2020-08-11 17:33:11 +02:00
llaniau 8be4b1ad36 Mise en place page marque employeur et inscription 2020-07-22 17:40:01 +02:00
llaniau bde583e14e Mise en place mentions, cgu et connexion V2 2020-07-22 08:34:05 +02:00
llaniau d803cb4bdd cgu v2.0.1 2020-07-20 18:14:30 +02:00
llaniau 1a987283b7 Mise en place api pour upload CV ds web app 2020-07-20 14:39:02 +02:00
llaniau d72095f615 SQL a passer en pre prod/prod4 2020-07-15 18:08:50 +02:00
llaniau 90be4bfea7 update bug company 2020-07-15 16:26:36 +02:00
llaniau de07e5f26c Mise à jour témoignage V2.0.1 2020-07-15 16:07:29 +02:00
llaniau 910f9645d8 Mise en place upload video presentation cote Symfony 2020-07-08 19:49:57 +02:00
llaniau 227fe09a94 Push de fin de journée du 07/07 : Mise en place connection plateforme V2 2020-07-07 17:14:00 +02:00
llaniau c660c11879 Commit de mise en place page offre d'emploi video V2 2020-07-06 17:04:18 +02:00
llaniau 8899a93ea5 mise a jour du menu du haut 2020-07-06 16:21:39 +02:00
llaniau 305bf4deb3 Mise en place candidature video Design V2 2020-07-06 16:12:06 +02:00
llaniau d564ca1b85 Modif template V2 2020-07-06 10:26:23 +02:00
llaniau b3135e62f5 modif Company 2020-06-30 14:52:15 +02:00
llaniau dc2872e178 modif entity company 2020-06-30 14:46:40 +02:00
llaniau cf057c9c63 V2.0.1 2020-06-29 17:15:02 +02:00
llaniau e5c46b2985 Mise en place bootstrap V2.0.1 2020-06-29 15:44:07 +02:00
Sébastien 47d571baae Fix : Button disabled 2020-02-12 09:26:05 +01:00
Sébastien f5f0c39dd7 Feat : Update style of answer page 2020-02-04 08:15:33 +01:00
Grégoire c83b71853b feat and fix : statut of answer last message / add no empty message / delete statut CHAT 2020-01-14 16:05:31 +01:00
Grégoire 8bc3165995 fix : ajaxRecStat on user null for google robot (3) 2020-01-03 11:13:20 +01:00
Grégoire dffcf66ce3 fix : ajaxRecStat on user null for google robot (2) 2020-01-03 11:09:31 +01:00
Grégoire 41c046392e fix : ajaxRecStat on user null for google robot 2020-01-03 10:59:25 +01:00
Grégoire e81e2dce9d fix : problem saving company user parameters
hide birthday field (date issue) /entreprise/me/mon_compte
2020-01-03 10:25:26 +01:00
Grégoire 3ffc3c8d3b fix : sendtime + message video + contact_talent 2020-01-02 15:29:55 +01:00
Grégoire e35cb0c461 fix : link mail answer spontaneous 2019-12-30 16:22:13 +01:00
Grégoire db084707bb fix : search bar v2 2019-12-30 13:20:11 +01:00
Grégoire 1a9fff778a fix : search bar 2019-12-30 12:27:11 +01:00
Sébastien 90a38edb29 Fix: Add new noreply email 2019-11-28 08:31:58 +01:00
Sébastien fc1b4a3e2a Feat: add popup when change company user email 2019-11-26 08:52:59 +01:00
Sebastien Glatz 94a946e36d Fix: little space fix 2019-11-22 16:12:09 +01:00
Sébastien f06cbe296f Fix: Banner color and padding 2019-11-21 15:56:48 +01:00
Sébastien e2a98aaed3 Feat: Edit form to add bootstrap style on input 2019-11-21 15:36:32 +01:00
Sébastien beee2c5635 Feat: Add field email on Company Edition 2019-11-21 14:33:42 +01:00
Grégoire bca29b9547 delete TalentController api 2019-11-05 14:07:50 +01:00
Grégoire 823a781d3a minor fix Push Notification 2019-11-05 11:24:34 +01:00
Grégoire 2a9e728354 correctif Menu 2019-10-28 17:03:46 +01:00
Grégoire 074c125f8c Redirect monCompte API 2019-10-28 14:36:14 +01:00
Grégoire 0b2898d170 Add twitter, linkedin … for getIdCard() 2019-10-15 09:57:37 +02:00
Grégoire 12525dbf16 Merge branch 'master' of https://git.e-declic.net/talents-tube/website 2019-10-14 16:43:13 +02:00
Grégoire 4a17adf687 add phone / linkedin / twitter … field for API form 2019-10-14 16:32:39 +02:00
Huaoe f4e412d792 Merge branch 'master' of https://git.e-declic.net/talents-tube/website 2019-10-11 15:48:44 +02:00
Grégoire 61786797c8 API : add getUserSubscriptionToPush (old : isUserSubscribedToPush) 2019-10-11 15:17:43 +02:00
Huaoe 57587a4a97 Merge branch 'master' of https://git.e-declic.net/talents-tube/website 2019-10-11 14:29:20 +02:00
Grégoire fd048d5a0e Merge branch 'master' of https://git.e-declic.net/talents-tube/website 2019-10-11 14:19:28 +02:00
Grégoire 229893dc95 API : add isUserSubscribedToPush 2019-10-11 14:19:02 +02:00
Grégoire 26c6e2103d API : ad visit record for companies and ads pages 2019-10-10 16:59:08 +02:00
Grégoire 8830b5ccde Set isPrivate true by default for companies 2019-10-10 16:57:50 +02:00
Huaoe 2bc2d87b8c UpdateUser fix request->request 2019-10-10 16:24:23 +02:00
Huaoe 278c558c9e Merge branch 'master' of https://git.e-declic.net/talents-tube/website 2019-10-10 14:49:02 +02:00
Huaoe 98545707b3 photo return 2019-10-09 17:01:58 +02:00
Sébastien 52d105efb4 Feat: add field phone and edit set extra 2019-10-09 11:31:53 +02:00
Sébastien 027c3fd2d1 Fix: presentationVideo syntax error 2019-10-09 11:27:52 +02:00
Grégoire 824ff9f1ec Change query / no selecting talent video in chat 2019-10-09 10:48:56 +02:00
Grégoire 606e29280b Fix bug draft message show app 2019-10-08 16:05:19 +02:00
Sébastien 3a29c647dd Fix: serialize tags for answer 2019-10-07 15:15:18 +02:00
Huaoe 57dd053693 Merge branch 'master' of https://git.e-declic.net/talents-tube/website 2019-10-07 09:51:42 +02:00
Huaoe e57173f835 upload profil picture 2019-10-07 09:51:35 +02:00
Sébastien 8f4ef35ddf Feat: Serialize publicTag for offer detail 2019-10-04 13:48:37 +02:00
Sébastien 346b788f83 Feat: Add titleTalent in extra to update from app 2019-10-04 13:48:08 +02:00
Sébastien edf35c74e8 Feat: Serialize territory type 2019-10-01 18:11:08 +02:00
Sébastien 75f2bbf6a7 Fix: php syntax error 2019-10-01 18:10:15 +02:00
Grégoire 0cbe670c90 change order for entreprises 2019-10-01 16:28:52 +02:00
Sébastien 2d595c1c3a Serialize territories for ad detail 2019-09-26 11:41:08 +02:00
Sébastien 98ebde7e72 Add linkedin twitter and website data for app 2019-09-26 11:40:36 +02:00
Huaoe d607962523 style.css generated 2019-09-16 16:20:09 +02:00
Huaoe b4ae35f4a6 yellow banner Off 2019-09-16 16:18:44 +02:00
Huaoe be37e97a19 fix PWA link 2019-09-16 15:50:53 +02:00
Huaoe d21febaaa1 css update 2019-09-16 14:54:03 +02:00
Huaoe 6acba9c082 css + tag manager 2019-09-16 14:43:38 +02:00
Huaoe 65147a9ac6 dev BDDD paswword 2019-09-13 14:00:00 +02:00
Huaoe a366ed749e merge Ad repo 2019-09-12 12:02:22 +02:00
Huaoe 87f6956958 isPrivate 2019-09-12 12:00:27 +02:00
Huaoe 3a78ac68f2 isPrivate in search ad 2019-09-11 16:21:11 +02:00
Sébastien 39774c1ed9 Merge branch 'master' of https://git.e-declic.net/talents-tube/website 2019-09-10 15:40:15 +02:00
Sébastien bd477b3354 Fix: ads order list 2019-09-10 15:38:13 +02:00
Sébastien 86e33a5e0a Fix: mysql-client to mariadb-client 2019-09-10 08:45:20 +02:00
Huaoe 365c71751d assetic fix 2019-09-09 17:27:40 +02:00
Huaoe 46399bd8ed typo notifications 2019-09-09 15:07:52 +02:00
Huaoe c3a8fa73cd Makefile CLIENT name 2019-09-09 14:08:36 +02:00
Huaoe fe7c9992a5 Makefile + Security spaces removal 2019-09-09 10:40:03 +02:00
Huaoe 1922ab328b uncomment video de la home 2019-09-09 09:24:53 +02:00
Huaoe a91f2df040 Update Docker SEb 2019-09-06 16:41:05 +02:00
Huaoe 1a4e81963e delete css 2019-09-04 15:47:19 +02:00
Huaoe 5ae61ff2c7 sass gen
don't know if delete would be good
2019-09-04 15:44:25 +02:00
Huaoe 995bb0b43e Merge branch 'feat/push'
# Conflicts:
#	volume/www/website/www/app/config/fos_elastica.yml
#	volume/www/website/www/src/AppBundle/Entity/User.php
#	volume/www/website/www/web/assetic/main.dash.talent.js
#	volume/www/website/www/web/css/styles.css
2019-09-04 15:42:48 +02:00
Huaoe 4c841aaafa use Authentication\Token\UsernamePasswordToken 2019-09-02 17:15:29 +02:00
Huaoe 49abf8d86f purge elastica + db user pass 2019-09-02 14:28:32 +02:00
Huaoe e3ca74f09b sass execution 2019-09-02 14:08:06 +02:00
Huaoe 6818e82c92 style sass transform stalling 2019-09-02 14:07:47 +02:00
Huaoe 2ea95f529e config fos elastica +backup 2019-09-02 11:11:55 +02:00
Huaoe 6cec286886 Merge branch 'push'
# Conflicts:
#	volume/www/website/www/app/config/fos_elastica.yml
#	volume/www/website/www/src/AppBundle/Entity/User.php
#	volume/www/website/www/vendor/bin/doctrine
#	volume/www/website/www/vendor/bin/doctrine-dbal
#	volume/www/website/www/vendor/bin/security-checker
#	volume/www/website/www/vendor/bin/simple-phpunit
#	volume/www/website/www/web/assetic/main.dash.talent.js
#	volume/www/website/www/web/css/styles.css
2019-09-02 11:11:05 +02:00
Huaoe f38d22d70d delete vendors 2019-09-02 10:37:49 +02:00
Huaoe b5791997d8 Merge remote-tracking branch 'origin/master' into feat/push
# Conflicts:
#	volume/www/website/www/app/config/fos_elastica.yml
#	volume/www/website/www/src/AppBundle/Entity/User.php
#	volume/www/website/www/web/assetic/main.dash.talent.js
#	volume/www/website/www/web/css/styles.css
2019-09-02 10:30:32 +02:00
Huaoe d51add8f1d comment yellow bar 2019-09-02 09:31:47 +02:00
Huaoe 579c800dc9 📲 2019-08-29 16:01:46 +02:00
Huaoe 24897eab5e space 2019-08-29 15:59:52 +02:00
Sébastien GLATZ bde2c84cde Add banner for new app 2019-08-29 15:56:04 +02:00
Huaoe eee791b08f address in add company 2019-08-27 16:52:35 +02:00
Huaoe 874027d494 chat messages api done 2019-08-26 15:16:46 +02:00
Thomas Berrod 328a3821b8 message 2019-08-21 17:30:54 +02:00
Thomas Berrod 807a9351ea facebook stalling 2019-08-19 17:19:33 +02:00
Thomas Berrod 21f5912384 wkf Answer + reset password 2019-08-12 15:45:29 +02:00
Thomas Berrod 2d35cd41f1 formating 2019-08-09 15:14:52 +02:00
Thomas Berrod 04a3a0d9c7 bug fix :undefined varible 2019-08-09 15:14:13 +02:00
Thomas Berrod be7e738839 test join company 2019-08-09 14:53:32 +02:00
Thomas Berrod 67825d024d Company join on ads 2019-08-09 11:50:47 +02:00
Thomas Berrod 85ba5dcbae thomas email change 2019-08-09 09:47:42 +02:00
Thomas Berrod b914b0ea96 answer directly to status SENDED 2019-08-08 15:43:14 +02:00
Thomas Berrod 48240d5cab fix : candidature spontanée even if answered to ad 2019-08-08 15:38:05 +02:00
Thomas Berrod c1dc54d036 comment out 2019-08-07 17:09:44 +02:00
Thomas Berrod c801856bfc filtre company 2019-08-07 17:05:01 +02:00
Thomas Berrod e8c9052e35 exposing businessname on ad_detail 2019-08-06 11:18:04 +02:00
Thomas Berrod b86aa8960b bug fix on POST answer 2019-08-05 17:00:37 +02:00
Thomas Berrod c770fd16c2 $token missing 2019-08-01 17:18:31 +02:00
gregoire 36fa91f2b3 Merge branch 'feat/push' of https://git.e-declic.net/talents-tube/website into feat/push 2019-08-01 14:53:11 +02:00
gregoire ff55b409e0 variable verification + security 2019-08-01 14:53:05 +02:00
Thomas Berrod ee57f4ebaf fix echo in login facebook flow 2019-07-31 15:02:07 +02:00
Thomas Berrod cd3b2986a5 fix facebook email issue 2019-07-31 14:56:50 +02:00
Thomas Berrod 79a075a034 facebook use accesstoken for profile fetch 2019-07-31 14:37:22 +02:00
Thomas Berrod ad8581d9e7 facebook get profil PROD access code 2019-07-31 11:11:38 +02:00
Thomas Berrod 371493e01f Merge branch 'feat/push' of https://git.e-declic.net/talents-tube/website into feat/push 2019-07-30 17:12:58 +02:00
Thomas Berrod 64210c330b hard change facebook access_token 2019-07-30 17:12:54 +02:00
Thomas Berrod 088f7f2edc creation time added to JSON answers... 2019-07-30 17:12:12 +02:00
Thomas Berrod d01afc28aa bug fix offre pourvues 2019-07-30 15:27:39 +02:00
gregoire d831ffaff5 Only one answer by user / offer implementation 2019-07-30 10:15:34 +02:00
gregoire f540542aa0 Merge branch 'feat/push' of https://git.e-declic.net/talents-tube/website into feat/push 2019-07-26 10:22:00 +02:00
Thomas Berrod dd9d6f7901 Answers fixes 2019-07-25 14:56:06 +02:00
gregoire 714bd5ff87 debut Exception 2019-07-25 09:15:55 +02:00
gregoire 9cb079cbba question readme + spontaneous answer 2019-07-23 17:29:01 +02:00
gregoire 8003feec05 Post answer 2019-07-23 16:34:17 +02:00
gregoire 4616dbd65a add type annotation 2019-07-23 12:08:29 +02:00
Thomas Berrod 1ef4a57848 Merge branch 'feat/push' of https://git.e-declic.net/talents-tube/website into feat/push 2019-07-22 17:36:40 +02:00
Thomas Berrod 8bae304f0d beginnings on post answers 2019-07-22 17:36:27 +02:00
gregoire acacaae6de readme notification + public key 2019-07-22 17:29:44 +02:00
Thomas Berrod fb8239e987 groups on company / ads 2019-07-22 11:38:42 +02:00
gregoire 088e680230 change keys for push notification 2019-07-22 10:01:43 +02:00
Thomas Berrod 2fdc095c31 "company_detail" added 2019-07-19 16:53:55 +02:00
Thomas Berrod 4ca1962829 zzz off 2019-07-19 16:49:35 +02:00
Thomas Berrod 19e3b11066 Merge branch 'feat/push' of https://git.e-declic.net/talents-tube/website into feat/push 2019-07-19 16:49:04 +02:00
Thomas Berrod ef2550568f Revert "Add group serializer"
This reverts commit b50ad1de77.
2019-07-19 16:48:40 +02:00
gregoire 9845e11954 fuck 2019-07-19 16:48:40 +02:00
gregoire 0447b333ec fix problem website + test 2019-07-19 16:48:40 +02:00
Thomas Berrod fb58eaec0f company search fix 2019-07-19 16:48:40 +02:00
gregoire b145eb1628 fix company for user 2019-07-19 16:48:40 +02:00
Sébastien GLATZ d29cb07d46 Merge branch 'feat/push' of https://git.e-declic.net/talents-tube/website into feat/push 2019-07-19 16:33:23 +02:00
Sébastien GLATZ b50ad1de77 Add group serializer 2019-07-19 16:33:12 +02:00
gregoire 4cad444833 fuck 2019-07-19 16:13:20 +02:00
gregoire 94885d96bc fix problem website + test 2019-07-19 14:54:39 +02:00
gregoire 6902b005b4 Merge branch 'feat/push' of https://git.e-declic.net/talents-tube/website into feat/push 2019-07-19 14:17:47 +02:00
gregoire 2b9abe5bec fix company for user 2019-07-19 14:16:46 +02:00
Thomas Berrod 8fa429e35a Merge branch 'feat/push' of https://git.e-declic.net/talents-tube/website into feat/push 2019-07-19 14:09:32 +02:00
Sébastien GLATZ 81eb21d84b Add group serializer 2019-07-19 11:45:01 +02:00
Thomas Berrod 097dd88b5e company search fix 2019-07-19 09:21:13 +02:00
gregoire 527ab850db regex for requirements companycontroller 2019-07-18 11:04:27 +02:00
gregoire fbc2e414ea securit.yml correction + add extra serialize group 2019-07-18 09:57:07 +02:00
gregoire c81b5e9c51 Add comment in serialize answer + path security 2019-07-18 09:30:32 +02:00
gregoire 57e5c2eff6 Merge branch 'feat/push' of https://git.e-declic.net/talents-tube/website into feat/push 2019-07-17 17:12:58 +02:00
gregoire 6e29500a1b ORM pdf schema + serialize candidature 2019-07-17 17:12:53 +02:00
Sébastien GLATZ 23423cd831 Merge branch 'feat/push' of https://git.e-declic.net/talents-tube/website into feat/push 2019-07-17 14:41:43 +02:00
Sébastien GLATZ 3e2827d624 Add group serializer 2019-07-17 14:41:35 +02:00
Thomas Berrod 08bb1ea10e bug fix : search company on brandName 2019-07-17 12:09:14 +02:00
Thomas Berrod f1e23410d4 bug fix : to lower search 2019-07-17 11:13:52 +02:00
Thomas Berrod 922f526ddd bug fix : consecutive where setparrameter distinct id 2019-07-17 11:12:28 +02:00
Thomas Berrod 9a4de2f6ca company emphasis 2019-07-17 10:13:10 +02:00
gregoire a4995ac616 Reset Password API 2019-07-17 10:08:49 +02:00
Sébastien GLATZ 8f70911b2e Merge branch 'feat/push' of https://git.e-declic.net/talents-tube/website into feat/push 2019-07-17 08:37:08 +02:00
Sébastien GLATZ 54c255cf33 Add group serializer to is_promoted (pourvue) 2019-07-17 08:37:00 +02:00
gregoire 553727cbe1 Add UpdateUser function for API 2019-07-16 15:49:35 +02:00
gregoire 783485b96e merge emphasis 2019-07-16 11:33:15 +02:00
gregoire f01215b074 countAds implementation 2019-07-16 11:25:29 +02:00
Thomas Berrod e65afe3b24 emphasis 2019-07-16 11:18:50 +02:00
Thomas Berrod c3696934e9 push params prod config 2019-07-16 09:20:06 +02:00
Thomas Berrod 12cc628f14 preprod conf 2019-07-11 11:07:21 +02:00
Thomas Berrod c63302acbf Merge branch 'feat/push' of https://git.e-declic.net/talents-tube/website into feat/push 2019-07-11 10:27:18 +02:00
Sébastien GLATZ 6aa736a4a2 Update serialized field 2019-07-11 10:23:56 +02:00
Sébastien GLATZ 05ceeb440e Add countAds 2019-07-11 10:23:56 +02:00
Sébastien GLATZ 539878e73b Merge branch 'feat/push' of https://git.e-declic.net/talents-tube/website into feat/push 2019-07-09 09:26:29 +02:00
Thomas Berrod 1c7a1732a6 slug service fix 2019-07-08 18:37:50 +02:00
Thomas Berrod ac975c7604 fix findUserWithFacebookEmailAndAttach 2019-07-08 18:26:27 +02:00
Thomas Berrod 56d2f199b5 remove dumps 2019-07-08 18:22:17 +02:00
Thomas Berrod 1a3955a605 composer update 2019-07-08 14:50:37 +02:00
Sébastien GLATZ e69b5d80cd Update API data 2019-07-08 10:02:14 +02:00
Thomas Berrod 8706d63867 api register + twig loginbutton logical fix 2019-07-05 15:26:11 +02:00
Thomas Berrod 8c0c1f7720 return $data->elements[0]->{'handle~'}->emailAdress; 2019-07-04 17:41:12 +02:00
Thomas Berrod 2628883568 typo 2019-07-04 17:33:29 +02:00
Thomas Berrod 8918b3708b linkedin double request for email 2019-07-04 17:19:58 +02:00
Thomas Berrod f75989129e docker file + facebook photo 2019-07-03 17:11:27 +02:00
Thomas Berrod 0b563e9658 security config + fetch user 2019-06-21 16:28:03 +02:00
Thomas Berrod 9e70ee745b removed proxy generation during dev 2019-06-20 17:24:58 +02:00
Thomas Berrod 3bdc496c03 company groups stable 2019-06-20 12:12:46 +02:00
Thomas Berrod 1cccee38b8 Rest auth facebook linkedin Beta 2019-06-17 17:36:09 +02:00
Thomas MONCHICOURT e613fa78fb #9766 texte 2019-06-14 11:42:38 +02:00
Thomas MONCHICOURT a552221f60 #9792 déactivation linkedIn 2019-06-14 11:34:33 +02:00
Thomas MONCHICOURT 0b7db51bfb Feat #9689 texttrack=fr forcé 2019-06-05 16:08:21 +02:00
Thomas Berrod a97a794dec media upload config 2019-06-05 11:59:24 +02:00
Sébastien GLATZ 1c2a944ca5 Merge branch 'feat/push' of https://git.e-declic.net/talents-tube/website into feat/push
# Conflicts:
#	conf/build/php/Dockerfile
2019-05-29 14:31:13 +02:00
Sébastien GLATZ 08555463fd Ajout groupes de sérialization 2019-05-29 14:24:03 +02:00
Thomas Berrod a8c04f48b0 #9658 first upload Answer controller 2019-05-23 15:04:47 +02:00
Thomas Berrod 0c86cd00ac #9658 : first media upload 2019-05-23 15:04:17 +02:00
Sébastien GLATZ 60365023ac Feat : Ajout groupe sérialisation pour API 2019-05-22 10:06:24 +02:00
Sébastien GLATZ 2c40323718 Fix : Modification configurations base + libpng-dev 2019-05-22 09:57:30 +02:00
Thomas Berrod 76a028cd88 Fix: typo + company search 2019-05-17 15:38:59 +02:00
Thomas Berrod 52ad0cf32e Fix : typo 2019-05-16 15:19:51 +02:00
Thomas Berrod 7e94b1e104 delete makefile backup 2019-05-16 10:18:14 +02:00
Thomas Berrod 54e971d918 make file windows compat 2019-05-16 10:17:43 +02:00
Thomas Berrod 3a82158fe3 deletes 2019-05-16 10:14:05 +02:00
Thomas Berrod 34b3e260bc Merge branch 'feat/api-rest' into feat/push
# Conflicts:
#	Makefile
2019-05-16 10:13:28 +02:00
Thomas Berrod 362006818e makefile 2019-05-16 09:58:18 +02:00
Thomas Berrod d6f8941e47 unknown deletes 2019-05-16 09:46:59 +02:00
Thomas MONCHICOURT 4faedfa9b9 Fix : temporary fix to display upload response message instead of preview 2019-04-12 12:09:03 +02:00
Thomas MONCHICOURT 77989ab3d8 fix: removed space 2019-04-11 15:32:53 +02:00
Thomas MONCHICOURT 8b0b253f4a fix videojs.record createObjectURL deprecation 2019-02-07 15:05:05 +01:00
Thomas MONCHICOURT 560669f316 Deprecation Fix #8730 @14 2019-02-06 15:09:00 +01:00
Thomas Berrod 0d0c725aaf dernier travaux sur notif : voir les todos 2019-02-05 12:07:41 +01:00
Thomas MONCHICOURT ea11a42efd Fix : path mail annonce 2019-01-31 10:24:24 +01:00
Thomas MONCHICOURT 0be29b5255 Fix : probleme lien dans mail réponse talent 2019-01-31 10:19:51 +01:00
Thomas MONCHICOURT 6f539f0605 Feat : ajout d’un lien dashboard #8703 @0h20 2019-01-30 17:13:24 +01:00
Thomas MONCHICOURT e91582f846 Fix : status recommendation in dashboard 2018-12-10 10:03:23 +01:00
Thomas MONCHICOURT e72b86c95a Feat : Suite #8027 2018-11-22 09:50:46 +01:00
Thomas MONCHICOURT 58feccb9d0 Feat : suite #8027 @0h10 2018-11-22 09:48:24 +01:00
Thomas MONCHICOURT 09484f45ca Merge branch 'master' of https://git.e-declic.net/talents-tube/website 2018-11-22 09:36:05 +01:00
Thomas MONCHICOURT 39bf55c815 Feat : demande spe pour lid 53 #8027 @0h15 2018-11-22 09:36:01 +01:00
Maxime Thévenot e8f7cce07b Merge branch 'develop' 2018-10-31 14:14:30 +01:00
Maxime Thévenot 6fc93372a7 Conf : update parameters preprod according to server 2018-10-31 14:05:55 +01:00
Thomas Berrod a5742f2c1e typo sur offstet 2018-09-24 16:33:55 +02:00
Thomas Berrod 57b7db7f43 styling notification toast 2018-09-20 11:51:17 +02:00
Thomas Berrod db07bc80c8 analytics plug on push 2018-09-19 13:57:12 +02:00
Thomas Berrod 1e03451b37 notification param in talent/me + delayed trigger on 3 times entreprise viewed 2018-09-18 16:48:56 +02:00
Maxime Thévenot b1185018de Feat : composer update after merge 2018-09-17 12:30:04 +02:00
Maxime Thévenot 5d8357231c Conf : add gmp to php container 2018-09-17 12:29:42 +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 aeb4328e23 Merge branch 'feat/api-rest' into feat/push
# Conflicts:
#	volume/www/website/www/app/AppKernel.php
#	volume/www/website/www/app/config/config.yml
#	volume/www/website/www/app/config/parameters-dev.yml
#	volume/www/website/www/app/config/parameters.yml.dist
#	volume/www/website/www/app/config/routing.yml
#	volume/www/website/www/app/config/services.yml
#	volume/www/website/www/composer.json
#	volume/www/website/www/composer.lock
#	volume/www/website/www/vendor/composer/autoload_files.php
#	volume/www/website/www/vendor/composer/autoload_psr4.php
#	volume/www/website/www/vendor/composer/autoload_static.php
#	volume/www/website/www/vendor/composer/installed.json
#	volume/www/website/www/vendor/ocramius/package-versions/src/PackageVersions/Versions.php
#	volume/www/website/www/web/css/styles.css
2018-09-17 10:29:41 +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
Thomas Berrod 56444f6363 feat: update coriolis json 2018-09-10 09:04:00 +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
Thomas Berrod ff33129d80 merge windows makefile 2018-09-03 17:28:40 +02:00
Thomas Berrod 1b76548c91 Merge branch 'push_feature' of https://git.e-declic.net/talents-tube/website into push_feature 2018-09-03 17:18:52 +02:00
Thomas Berrod 9578eb96c9 profil & tags ùatching push 2018-09-03 17:14:46 +02:00
Thomas Berrod c4af665c26 general + email + profil completeness 2018-08-31 17:36:01 +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 dbb06990d5 Conf: update uglify-js to uglify-es 2018-08-29 12:01:23 +02:00
Maxime Thévenot f8c0b75ec2 Conf : update docker config for windows compatbility 2018-08-29 11:56:57 +02:00
Thomas Berrod dca95338a9 push localhost only 2018-08-28 15:12:51 +02:00
18294 changed files with 1187190 additions and 148395 deletions
+6
View File
@@ -10,3 +10,9 @@
volume/www/website/.idea
/volume/www/website/store/themes/talentstube-20170413/cache/*
/volume/www/website/store/img/tmp/*
volume/www/website/www/app/Resources/views/default/index.html.twig
volume/www/website/www/.vscode/settings.json
volume/www/website/www/app/config/jwt/private.pem
volume/www/website/www/app/config/jwt/public.pem
volume/www/website/www/web/sql/upload.pgsql
+23 -7
View File
@@ -2,7 +2,7 @@
CLIENT=tt-website
DOCKERCOMPOSE := $(shell command -v docker-compose 2> /dev/null)
USAGE := Usage: make ENV={prod|preprod|dev} {docker-build|docker-start|docker-stop|docker-restart}
USAGE := Usage: make ENV={prod|preprod|dev} {SYS=windows|linux} {docker-build|docker-start|docker-stop|docker-restart}
ifndef DOCKERCOMPOSE
$(error docker-compose is not available)
@@ -14,16 +14,23 @@ $(info $(USAGE))
$(error Exiting)
endif
SYS=linux
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)
ifeq ($(SYS),linux)
DC=ENV=$(ENV) CLIENT=$(CLIENT) "$(DOCKERCOMPOSE)" --project-name "$(CLIENT)_$(ENV)" --file conf/docker-compose.yml $(DC_OVERRIDE) $(DC_OVERRIDE_ENV)
else
DC=ENV=$(ENV) CLIENT=$(CLIENT) "$(DOCKERCOMPOSE)" --project-name "$(CLIENT)_$(ENV)" --file conf/docker-compose.win.yml $(DC_OVERRIDE) $(DC_OVERRIDE_ENV)
endif
default:
$(info $(USAGE))
$(error Exiting)
docker-build:
$(DC) pull
$(DC) build
$(DC) up -d
@@ -57,8 +64,8 @@ config:
@echo " --> Generating mysql auth file"
@cat conf/env/store-mysql.env \
| python -c "import sys; import string; v=sys.stdin.readline().split('MYSQL_ROOT_PASSWORD=')[1]; print(string.Template(open('conf/build/mysql/my.cnf').read()).substitute({'PASSWORD':v}))" \
| docker exec -i $(CLIENT).store-mysql.$(ENV) sh -c 'cat > /root/.my.cnf'
| python -c "import sys; import string; v=sys.stdin.readline().split('MYSQL_ROOT_PASSWORD=')[1]; print(string.Template(open('conf/build/mysql/my.cnf').read()).substitute({'PASSWORD':v}))" \
| docker exec -i $(CLIENT).store-mysql.$(ENV) sh -c 'cat > /root/.my.cnf'
db-backup-all: db-backup-website db-backup-store
@@ -76,9 +83,14 @@ db-backup-store:
db-restore-all: db-restore-website db-restore-store
db-backup-script:
@mkdir -p backup/
@docker exec $(CLIENT).postgres.$(ENV) pg_dumpall --database database -c -U postgres > backup/postgres_$(ENV)_`date +%d-%m-%Y"_"%H_%M_%S`.sql
@docker exec $(CLIENT).store-mysql.$(ENV) mysqldump -uroot database > backup/store-mysql_$(ENV)_`date +%d-%m-%Y"_"%H_%M_%S`.sql
db-restore-website:
@echo "Restoring file to database (backup/store-mysql.sql)"
@cat backup/postgres.sql | docker exec -i $(CLIENT).postgres.$(ENV) psql --dbname database -U postgres
@echo "Restoring file to database (backup/postgres.sql)"
@cat backup/postgres.sql | docker exec -i $(CLIENT).postgres.$(ENV) psql --dbname database -U user
@docker cp backup/mongo $(CLIENT).mongo.$(ENV):/
@docker exec -t $(CLIENT).mongo.$(ENV) mongorestore --drop --gzip --db=tt_history /mongo/tt_history
@@ -95,7 +107,7 @@ entities:
@docker exec -i $(CLIENT).php.$(ENV) su www-data --shell=/bin/bash -c "/home/www/website/www/bin/console doctrine:generate:entities AppBundle"
db-diff:
@docker exec -i $(CLIENT).php.$(ENV) su www-data --shell=/bin/bash -c "/home/www/website/www/bin/console doctrine:migrations:diff"
@docker exec -i $(CLIENT).php.$(ENV) su www-data -c "/home/www/website/www/bin/console doctrine:migrations:diff"
db-migrate:
@docker exec -i $(CLIENT).php.$(ENV) su www-data --shell=/bin/bash -c "/home/www/website/www/bin/console doctrine:migrations:migrate"
@@ -104,3 +116,7 @@ db-deploy: db-diff db-migrate
es-populate:
@docker exec -i $(CLIENT).php.$(ENV) su www-data --shell=/bin/bash -c "/home/www/website/www/bin/console fos:elastica:populate"
sys:
@echo $(SYS)
@echo $(DC)
+3
View File
@@ -0,0 +1,3 @@
Todo:
☐ Item
+31 -24
View File
@@ -1,47 +1,54 @@
FROM php:7.1-fpm
FROM php:7.1-fpm-buster
ENV TERM=xterm
RUN echo 'deb http://ftp.debian.org/debian jessie-backports main' > /etc/apt/sources.list.d/debian-backports.list
#RUN printf "deb http://archive.debian.org/debian/ jessie main\ndeb-src http://archive.debian.org/debian/ jessie main\ndeb http://security.debian.org jessie/updates main\ndeb-src http://security.debian.org jessie/updates main\ndeb http://archive.debian.org/debian/ jessie-backports main" > /etc/apt/sources.list.d/debian-backports.list
RUN apt-get clean \
&& apt-get update \
&& apt-get install -y lsof nano less git locales
&& apt-get update \
&& apt-get install -y lsof nano less git locales
RUN echo 'fr_FR.UTF-8 UTF-8' > /etc/locale.gen \
&& /usr/sbin/locale-gen
&& /usr/sbin/locale-gen
RUN apt-get update \
&& apt-get install -y ffmpeg exiftool graphviz libfreetype6-dev libjpeg62-turbo-dev libpng12-dev libmcrypt-dev libxslt-dev libicu-dev libxml2-dev libpq-dev libgeoip-dev libedit-dev mysql-client nodejs npm \
&& apt-get install -y --no-install-recommends libmagickwand-dev \
&& docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \
&& docker-php-ext-install -j4 gd mcrypt xsl zip intl gettext soap pdo_pgsql pdo_mysql mysqli pgsql json readline opcache \
&& pecl install geoip-1.1.1 redis imagick mongodb \
&& docker-php-ext-enable geoip redis imagick mongodb
&& apt-get -y install libgmp-dev \
&& ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/local/include/gmp.h \
&& docker-php-ext-install gmp \
&& docker-php-ext-configure gmp
RUN apt-get update \
&& apt-get install -y ffmpeg exiftool graphviz libfreetype6-dev libjpeg62-turbo-dev libpng-dev libmcrypt-dev libxslt-dev libicu-dev libxml2-dev libpq-dev libgeoip-dev libedit-dev mariadb-client nodejs npm \
&& apt-get install -y --no-install-recommends libmagickwand-dev \
&& docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \
&& docker-php-ext-install -j4 gd mcrypt xsl zip intl gettext soap pdo_pgsql pdo_mysql mysqli pgsql json readline opcache \
&& pecl install geoip-1.1.1 redis imagick mongodb \
&& docker-php-ext-enable geoip redis imagick mongodb
RUN { \
echo 'opcache.memory_consumption=128'; \
echo 'opcache.interned_strings_buffer=8'; \
echo 'opcache.max_accelerated_files=4000'; \
echo 'opcache.revalidate_freq=60'; \
echo 'opcache.fast_shutdown=1'; \
echo 'opcache.enable_cli=1'; \
} >> /usr/local/etc/php/conf.d/docker-php-ext-opcache.ini
echo 'opcache.memory_consumption=128'; \
echo 'opcache.interned_strings_buffer=8'; \
echo 'opcache.max_accelerated_files=4000'; \
echo 'opcache.revalidate_freq=60'; \
echo 'opcache.fast_shutdown=1'; \
echo 'opcache.enable_cli=1'; \
} >> /usr/local/etc/php/conf.d/docker-php-ext-opcache.ini
COPY zz-logformat.conf /usr/local/etc/php-fpm.d/
COPY php.ini /usr/local/etc/php/conf.d/
RUN (curl --silent --show-error https://getcomposer.org/installer | php) \
&& mv composer.phar /usr/local/bin/composer
&& mv composer.phar /usr/local/bin/composer
RUN curl --location --silent --show-error https://symfony.com/installer -o /usr/local/bin/symfony \
&& chmod a+x /usr/local/bin/symfony
&& chmod a+x /usr/local/bin/symfony
RUN curl --location --silent --show-error https://s3.amazonaws.com/files.drush.org/drush.phar -o /usr/local/bin/drush \
&& chmod a+x /usr/local/bin/drush
&& chmod a+x /usr/local/bin/drush
RUN (npm install -g uglify-js) \
&& ln -s /usr/bin/nodejs /usr/local/bin/node
RUN (npm install -g uglify-es) \
&& ln -s /usr/bin/nodejs /usr/local/bin/node
RUN apt-get clean \
&& rm -rf /var/lib/apt/lists/
&& rm -rf /var/lib/apt/lists/
+3 -3
View File
@@ -1,4 +1,4 @@
FROM php:7.1-fpm
FROM php:7.1-fpm-buster
ENV TERM=xterm
@@ -10,7 +10,7 @@ RUN echo 'fr_FR.UTF-8 UTF-8' > /etc/locale.gen \
&& /usr/sbin/locale-gen
RUN apt-get update \
&& apt-get install -y libfreetype6-dev libjpeg62-turbo-dev libpng12-dev libmcrypt-dev libxslt-dev libicu-dev libxml2-dev libpq-dev libgeoip-dev libedit-dev mysql-client \
&& apt-get install -y libfreetype6-dev libjpeg62-turbo-dev libpng-dev libmcrypt-dev libxslt-dev libicu-dev libxml2-dev libpq-dev libgeoip-dev libedit-dev mariadb-client \
&& apt-get install -y --no-install-recommends libmagickwand-dev \
&& docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \
&& docker-php-ext-install -j4 gd mcrypt xsl zip intl gettext soap pdo_pgsql pdo_mysql mysqli pgsql json readline opcache \
@@ -33,4 +33,4 @@ RUN (curl --silent --show-error https://getcomposer.org/installer | php) \
&& mv composer.phar /usr/local/bin/composer
RUN apt-get clean \
&& rm -rf /var/lib/apt/lists/
&& rm -rf /var/lib/apt/lists/
+35
View File
@@ -0,0 +1,35 @@
FROM php:7.1-fpm
ENV TERM=xterm
RUN apt-get clean \
&& apt-get update \
&& apt-get install -y lsof nano less git locales
RUN echo 'fr_FR.UTF-8 UTF-8' > /etc/locale.gen \
&& /usr/sbin/locale-gen
RUN apt-get update \
&& apt-get install -y libfreetype6-dev libjpeg62-turbo-dev libpng-dev libmcrypt-dev libxslt-dev libicu-dev libxml2-dev libpq-dev libgeoip-dev libedit-dev mysql-client \
&& apt-get install -y --no-install-recommends libmagickwand-dev \
&& docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \
&& docker-php-ext-install -j4 gd mcrypt xsl zip intl gettext soap pdo_pgsql pdo_mysql mysqli pgsql json readline opcache \
&& pecl install geoip-1.1.1 redis imagick \
&& docker-php-ext-enable geoip redis imagick
RUN { \
echo 'opcache.memory_consumption=128'; \
echo 'opcache.interned_strings_buffer=8'; \
echo 'opcache.max_accelerated_files=4000'; \
echo 'opcache.revalidate_freq=60'; \
echo 'opcache.fast_shutdown=1'; \
echo 'opcache.enable_cli=1'; \
} >> /usr/local/etc/php/conf.d/docker-php-ext-opcache.ini
COPY zz-logformat.conf /usr/local/etc/php-fpm.d/
COPY php.ini /usr/local/etc/php/conf.d/
RUN (curl --silent --show-error https://getcomposer.org/installer | php) \
&& mv composer.phar /usr/local/bin/composer
RUN apt-get clean \
&& rm -rf /var/lib/apt/lists/
+7
View File
@@ -0,0 +1,7 @@
date.timezone = Europe/Paris
display_errors = Off
memory_limit = 256M
log_errors = On
error_reporting = E_ALL
error_log = /dev/stdout
report_memleaks = On
@@ -0,0 +1,2 @@
[www]
access.format = "%R [%t] \"%m %r%Q%q\" %s %f %{mili}dms %{kilo}MKb %C%%"
+55
View File
@@ -0,0 +1,55 @@
FROM php:7.1-fpm
ENV TERM=xterm
#RUN echo 'deb http://ftp.debian.org/debian jessie-backports main' > /etc/apt/sources.list.d/debian-backports.list
RUN printf "deb http://archive.debian.org/debian/ jessie main\ndeb-src http://archive.debian.org/debian/ jessie main\ndeb http://security.debian.org jessie/updates main\ndeb-src http://security.debian.org jessie/updates main" > /etc/apt/sources.list.d/debian-backports.list
RUN apt-get clean \
&& apt-get update \
&& apt-get install -y lsof nano less git locales
RUN echo 'fr_FR.UTF-8 UTF-8' > /etc/locale.gen \
&& /usr/sbin/locale-gen
RUN apt-get update && apt-get install -my wget gnupg
RUN curl -sL https://deb.nodesource.com/setup_9.x | bash - \
&& apt-get install -y nodejs
RUN apt-get update \
&& apt-get install -y ffmpeg exiftool graphviz libfreetype6-dev libjpeg62-turbo-dev libpng-dev libmcrypt-dev libxslt-dev libicu-dev libxml2-dev libpq-dev libgeoip-dev libedit-dev mysql-client libgmp-dev nodejs \
&& apt-get install -y --no-install-recommends libmagickwand-dev \
&& docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \
&& docker-php-ext-install -j4 gd mcrypt xsl zip intl gettext soap pdo_pgsql pdo_mysql mysqli pgsql json readline opcache gmp \
&& docker-php-ext-configure gmp \
&& pecl install geoip-1.1.1 redis imagick mongodb \
&& docker-php-ext-enable geoip redis imagick mongodb
RUN { \
echo 'opcache.memory_consumption=128'; \
echo 'opcache.interned_strings_buffer=8'; \
echo 'opcache.max_accelerated_files=4000'; \
echo 'opcache.revalidate_freq=60'; \
echo 'opcache.fast_shutdown=1'; \
echo 'opcache.enable_cli=1'; \
} >> /usr/local/etc/php/conf.d/docker-php-ext-opcache.ini
COPY zz-logformat.conf /usr/local/etc/php-fpm.d/
COPY php.ini /usr/local/etc/php/conf.d/
RUN (curl --silent --show-error https://getcomposer.org/installer | php) \
&& mv composer.phar /usr/local/bin/composer
RUN curl --location --silent --show-error https://symfony.com/installer -o /usr/local/bin/symfony \
&& chmod a+x /usr/local/bin/symfony
RUN curl --location --silent --show-error https://s3.amazonaws.com/files.drush.org/drush.phar -o /usr/local/bin/drush \
&& chmod a+x /usr/local/bin/drush
RUN (npm install -g uglify-es) \
&& ln -s /usr/bin/nodejs /usr/local/bin/node
RUN apt-get clean \
&& rm -rf /var/lib/apt/lists/
+9
View File
@@ -0,0 +1,9 @@
date.timezone = Europe/Paris
display_errors = Off
memory_limit = 768M
log_errors = On
error_reporting = E_ALL
error_log = /dev/stdout
report_memleaks = On
upload_max_filesize = 512M
post_max_size = 512M
+2
View File
@@ -0,0 +1,2 @@
[www]
access.format = "%R [%t] \"%m %r%Q%q\" %s %f %{mili}dms %{kilo}MKb %C%%"
+75
View File
@@ -0,0 +1,75 @@
version: "3"
services:
##
## WEBSITE RESSOURCES
##
nginx:
build: build/nginx
container_name: ${CLIENT}.nginx.${ENV}
hostname: nginx
volumes:
- ../volume/nginx/etc.nginx.sites-enabled:/etc/nginx/sites-enabled
- ../volume/www:/home/www
restart: always
php:
build: build/php_win
container_name: ${CLIENT}.php.${ENV}
hostname: php
volumes:
- ../volume/www:/home/www
restart: always
postgres:
image: postgres:9.6
container_name: ${CLIENT}.postgres.${ENV}
hostname: postgres
env_file: env/postgres.env
volumes:
- tt-postgres:/var/lib/postgresql/data
restart: always
mongo:
image: mongo:3.4
container_name: ${CLIENT}.mongo.${ENV}
hostname: mongo
volumes:
- tt-mongo:/data/db
restart: always
elasticsearch:
build: build/elasticsearch
container_name: ${CLIENT}.elasticsearch.${ENV}
hostname: elasticsearch
volumes:
- search_db_data:/usr/share/elasticsearch/data
restart: always
##
## STORE RESSOURCES
##
store-php:
build: build/php_light_win
container_name: ${CLIENT}.store-php.${ENV}
hostname: store-php
volumes:
- ../volume/www:/home/www
restart: always
store-mysql:
build: build/mysql
container_name: ${CLIENT}.store-mysql.${ENV}
hostname: store-mysql
env_file: env/store-mysql.env
volumes:
- ../volume/store-mysql/var.lib.mysql:/var/lib/mysql
restart: always
# Elastic does not play well with physical volume (folder rights trouble)
volumes:
? search_db_data
tt-postgres:
external: true
tt-mongo:
external: true
-4
View File
@@ -1,4 +0,0 @@
MYSQL_ROOT_PASSWORD=
MYSQL_DATABASE=database
MYSQL_USER=user
MYSQL_PASSWORD=
-3
View File
@@ -1,3 +0,0 @@
POSTGRES_USER=
POSTGRES_PASSWORD=
POSTGRES_DB=
+1
View File
@@ -1 +1,2 @@
conf/nginx.conf
/vendor/
+49
View File
@@ -2,3 +2,52 @@ tt
==
A Symfony project created on February 23, 2017, 1:42 pm.
## To have a representation of entity's mappings
In php container, do php bin/console yuml:mappings
To personnalize, see https://github.com/Nono1971/doctrine-yuml-bundle
## If memory issues when installing bundle
Copy this before composer require : COMPOSER_MEMORY_LIMIT=-1
## To update database schema
In php container, root@php:/home/www/website/www# php bin/console doctrine:schema:update --force
It'll update database based on entities
## For Js : use assetic commande inside server container
- do a cache-clear to update the assectic.yml file
bin/console cache:clear --env=prod --no-debug
- then
php bin/console assetic:dump --env=prod --no-debug
## To push notifications
- Create new .json file in web/push folder.
- This file is composed of two arrays : parameters, where you select specific subscribers to receive notifications,
and notification, where you write the content.
- Values for parameters :
* "pushType" : define the rule to find subscribers, only one value which fits with next ones. Values : "general", "profil", "users", "tags".
* "profilCompletenessPercentage" : define the % of profil completeness. Works with "profil" value of pushType.
* "users" : enters subscriber's mail. Works with "users" value of pushType.
* "keywords" : enters tags to identify subscribers. Works with "tags" value of pushType.
- Values for notification :
* "title" : the title!
* "body" : the content.
* "icon" : the website icon.
* "image" : to add an image.
* "tag" : Used to regroup notifications.
* "data" : array where you can add "link" property. Link will redirect to the given URL.
* "actions" : array where you can add specific action with "action", "title".
* "badge" : to add an image for small device.
- Open SendPushCommand.php, go to configure(), and change the last line of addOption() for files with your filename.
## Stacktrace exception API
All exceptions catched are written in the dev.log file (for ENV=dev I guess) in the AppBundle/var/logs folder.
To have an exception that can be written in this file, create or use an already existing Exception (in AppBundle/Exception) in your Controller.
## Question to ask to Corentin
* Is there a validation from Talents Tube operator to set the answer status to published?
* Is there a comment to be written when post an answer ? (not here in mock-up)
+13
View File
@@ -49,8 +49,20 @@ class AppKernel extends Kernel
new Http\HttplugBundle\HttplugBundle(),
new HWI\Bundle\OAuthBundle\HWIOAuthBundle(),
//bentools push
new BenTools\WebPushBundle\WebPushBundle(),
//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(),
//CORS
new Nelmio\CorsBundle\NelmioCorsBundle(),
];
if (in_array($this->getEnvironment(), ['dev', 'test'], true)) {
@@ -59,6 +71,7 @@ class AppKernel extends Kernel
$bundles[] = new Sensio\Bundle\DistributionBundle\SensioDistributionBundle();
$bundles[] = new Sensio\Bundle\GeneratorBundle\SensioGeneratorBundle();
$bundles[] = new Alex\DoctrineExtraBundle\AlexDoctrineExtraBundle();
$bundles[] = new Onurb\Bundle\YumlBundle\OnurbYumlBundle();
}
return $bundles;
@@ -0,0 +1,29 @@
<?php declare(strict_types=1);
namespace Application\Migrations;
use Doctrine\DBAL\Schema\Schema;
use Doctrine\Migrations\AbstractMigration;
/**
* Auto-generated Migration: Please modify to your needs!
*/
final class Version20200715123752 extends AbstractMigration
{
public function up(Schema $schema) : void
{
// this up() migration is auto-generated, please modify it to your needs
$this->abortIf($this->connection->getDatabasePlatform()->getName() !== 'postgresql', 'Migration can only be executed safely on \'postgresql\'.');
$this->addSql('ALTER TABLE company ADD cv VARCHAR(255) DEFAULT NULL');
}
public function down(Schema $schema) : void
{
// this down() migration is auto-generated, please modify it to your needs
$this->abortIf($this->connection->getDatabasePlatform()->getName() !== 'postgresql', 'Migration can only be executed safely on \'postgresql\'.');
$this->addSql('CREATE SCHEMA public');
$this->addSql('ALTER TABLE company DROP cv');
}
}
@@ -0,0 +1,29 @@
<?php declare(strict_types=1);
namespace Application\Migrations;
use Doctrine\DBAL\Schema\Schema;
use Doctrine\Migrations\AbstractMigration;
/**
* Auto-generated Migration: Please modify to your needs!
*/
final class Version20200818075231 extends AbstractMigration
{
public function up(Schema $schema) : void
{
// this up() migration is auto-generated, please modify it to your needs
$this->abortIf($this->connection->getDatabasePlatform()->getName() !== 'postgresql', 'Migration can only be executed safely on \'postgresql\'.');
$this->addSql('ALTER TABLE ad ADD beneficiaire TEXT DEFAULT NULL');
}
public function down(Schema $schema) : void
{
// this down() migration is auto-generated, please modify it to your needs
$this->abortIf($this->connection->getDatabasePlatform()->getName() !== 'postgresql', 'Migration can only be executed safely on \'postgresql\'.');
$this->addSql('CREATE SCHEMA public');
$this->addSql('ALTER TABLE ad DROP beneficiaire');
}
}
@@ -0,0 +1,183 @@
{% extends 'basev2.html.twig' %}
{% block title %}Talents Tube : Le 1er job board 100% vidéo{% endblock %}
{% trans_default_domain 'FOSUserBundle' %}
{% block content %}
<main id="content">
<div class="container space-2 ">
<div class="row row justify-content-lg-end ">
<div class="col-md-12 ">
<div class="text-center mb-4">
<h1 class="h3 mb-0"></h1>
<p></p>
</div>
<!-- End Title -->
<div class="container contentWrapper">
<div class="row">
<div class="col push-s3 s6">
<h1 class="m-t-20 alttitle center-align">{{'user.register.title'|trans({},"messages") }}</h1>
<p>{{ 'registration.check_email'|trans({'%email%': user.email}) }}</p>
</div>
</div>
</div>
</div>
</div>
</div>
</main>
<!-- ========== END MAIN CONTENT ========== -->
{% include 'defaultv2/accueil/footer.html.twig' %}
<!-- Begin Panel Login -->
{% include 'defaultv2/accueil/blocLogin.html.twig'
with {
'csrf_token': csrf_token,
'error' : error
} %}
<!-- Go to Top -->
<a class="js-go-to u-go-to" href="javascript:;" data-position='{"bottom": 30, "right": 100 }' data-type="fixed"
data-offset-top="400" data-compensation="#header" data-show-effect="slideInUp" data-hide-effect="slideOutDown">
<i class="fa fa-arrow-up u-go-to__inner"></i>
</a>
<!-- End Go to Top -->
<!-- JS Global Compulsory -->
<script src="{{ asset('v2/vendor/jquery/dist/jquery.min.js') }}"></script>
<script src="{{ asset('v2/vendor/jquery-migrate/dist/jquery-migrate.min.js') }}"></script>
<script src="{{ asset('v2/vendor/popper.js/dist/umd/popper.min.js') }}"></script>
<script src="{{ asset('v2/vendor/bootstrap/bootstrap.min.js') }}"></script>
<!-- JS Implementing Plugins -->
<script src="{{ asset('v2/vendor/hs-megamenu/src/hs.megamenu.js') }}"></script>
<script src="{{ asset('v2/vendor/jquery-validation/dist/jquery.validate.min.js') }}"></script>
<script src="{{ asset('v2/vendor/malihu-custom-scrollbar-plugin/jquery.mCustomScrollbar.concat.min.js') }}"></script>
<script src="{{ asset('v2/vendor/custombox/dist/custombox.min.js') }}"></script>
<script src="{{ asset('v2/vendor/custombox/dist/custombox.legacy.min.js') }}"></script>
<script src="{{ asset('v2/vendor/typed.js/lib/typed.min.js') }}"></script>
<script src="{{ asset('v2/vendor/slick-carousel/slick/slick.js') }}"></script>
<script src="{{ asset('v2/vendor/cubeportfolio/js/jquery.cubeportfolio.min.js') }}"></script>
<script src="{{ asset('v2/vendor/fancybox/jquery.fancybox.min.js') }}"></script>
<!-- JS Space -->
<script src="{{ asset('v2/js/hs.core.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.header.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.unfold.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.validation.js') }}"></script>
<script src="{{ asset('v2/js/helpers/hs.focus-state.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.malihu-scrollbar.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.fancybox.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.modal-window.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.show-animation.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.slick-carousel.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.cubeportfolio.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.g-map.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.go-to.js') }}"></script>
<!-- JS Plugins Init. -->
<script>
// initialization of google map
{
#
function initMap() {
$.HSCore.components.HSGMap.init('.js-g-map');
}#
}
$(window).on('load', function () {
// initialization of HSMegaMenu component
$('.js-mega-menu').HSMegaMenu({
event: 'hover',
pageContainer: $('.container'),
breakpoint: 767,
hideTimeOut: 0
});
});
$(document).on('ready', function () {
// initialization of header
$.HSCore.components.HSHeader.init($('#header'));
// initialization of fancybox
$.HSCore.components.HSFancyBox.init('.js-fancybox');
// initialization of unfold component
$.HSCore.components.HSUnfold.init($('[data-unfold-target]'), {
afterOpen: function () {
if (!$('body').hasClass('IE11')) {
$(this).find('input[type="search"]').focus();
}
}
});
// initialization of form validation
$.HSCore.components.HSValidation.init('.js-validate', {
rules: {
confirmPassword: {
equalTo: '#password'
}
}
});
// initialization of forms
$.HSCore.helpers.HSFocusState.init();
// initialization of malihu scrollbar
$.HSCore.components.HSMalihuScrollBar.init($('.js-scrollbar'));
// initialization of autonomous popups
$.HSCore.components.HSModalWindow.init('[data-modal-target]', '.js-signup-modal', {
autonomous: true
});
// initialization of show animations
$.HSCore.components.HSShowAnimation.init('.js-animation-link');
// initialization of slick carousel
$.HSCore.components.HSSlickCarousel.init('.js-slick-carousel');
$('.u-text-animation.u-text-animation').html("");
// initialization of text animation (typing)
var typed = new Typed(".u-text-animation.u-text-animation--typing", {
strings: ["Recrutez les candidats", "Boostez vos recrutements", "Valorisez vos collaborateurs"],
typeSpeed: 60,
loop: true,
backSpeed: 25,
backDelay: 3000
});
// initialization of cubeportfolio
$.HSCore.components.HSCubeportfolio.init('.cbp');
// initialization of go to
$.HSCore.components.HSGoTo.init('.js-go-to');
});
$(document).ready(function () {
$(window).scroll(function () { // check if scroll event happened
if ($(document).scrollTop() > 50) { // check if user scrolled more than 50 from top of the browser window
$("#logoAndNav").css("background-color",
"#000"); // if yes, then change the color of class "navbar-fixed-top" to white (#f8f8f8)
$("#sidebarNavToggler").css("color", "#fff");
} else {
$("#logoAndNav").css("background-color", "transparent"); // if not, change it back to transparent
$("#sidebarNavToggler").css("color", "#000");
}
});
});
</script>
{% endblock %}
{% block javascripts %}
{{ parent() }}
<script src="https://player.vimeo.com/api/player.js"></script>
{% endblock %}
@@ -1,4 +1,4 @@
{% extends "base.html.twig" %}
{% extends "basetemporaire.html.twig" %}
{% trans_default_domain 'FOSUserBundle' %}
@@ -27,4 +27,5 @@
{% block metarobot %}
<meta name="robots" content="noindex,nofollow">
<meta http-equiv="refresh" content="3; URL=/">
{% endblock %}
@@ -2,46 +2,46 @@
<div class="row">
<div class="col s8 offset-s2">
{#<h3>Je suis ?</h3>#}
<h3>Merci de sélectionner votre profil :</h3>
{# <h3>Merci de sélectionner votre profil :</h3>
<button class="waves-effect waves-light btn btn-dark roleUser active" data-value="TALENT">Je suis un talent</button>
<button class="waves-effect waves-light btn btn-dark roleUser" data-value="COMPANY">Je suis une entreprise</button>
<button class="waves-effect waves-light btn btn-dark roleUser" data-value="COMPANY">Je suis une entreprise</button> #}
<h3>Mes informations</h3>
{{ form_start(form, {'method': 'post', 'action': path('fos_user_registration_register'), 'attr': {'class': 'fos_user_registration_register'}}) }}
{{ form_errors(form) }}
<div class="row">
<div class="js-form-message mb-3">
<div class="input-field col s12">
{{ form_row(form.firstname, {'label': 'Prénom'}) }}
{{ form_row(form.firstname, {'label': 'Prénom', 'attr': {'class': 'form-control'}}) }}
</div>
</div>
<div class="row">
<div class="js-form-message mb-3">
<div class="input-field col s12">
{{ form_row(form.lastname, {'label': 'Nom'}) }}
{{ form_row(form.lastname, {'label': 'Nom', 'attr': {'class': 'form-control'}}) }}
</div>
</div>
<div class="row">
<div class="js-form-message mb-3">
<div class="input-field col s12">
{{ form_row(form.email, {'label': 'E-mail'}) }}
{{ form_row(form.email, {'label': 'E-mail', 'attr': {'class': 'form-control'}}) }}
</div>
</div>
<div class="row">
<div class="js-form-message mb-3">
<div class="input-field col s12">
{{ form_row(form.username, {'label': 'Nom d\'utilisateur'}) }}
{{ form_row(form.username, {'label': 'Nom d\'utilisateur', 'attr': {'class': 'form-control'}}) }}
</div>
</div>
<div class="row">
<div class="js-form-message mb-3">
<div class="input-field col s12">
{{ form_row(form.plainPassword.first, {'label': 'Mot de passe'}) }}
{{ form_row(form.plainPassword.first, {'label': 'Mot de passe', 'attr': {'class': 'form-control'}}) }}
</div>
</div>
<div class="row">
<div class="js-form-message mb-3">
<div class="input-field col s12">
{{ form_row(form.plainPassword.second, {'label': 'Répéter le mot de passe'}) }}
{{ form_row(form.plainPassword.second, {'label': 'Répéter le mot de passe', 'attr': {'class': 'form-control'}}) }}
</div>
</div>
{% if destination_login is defined %}
<input type="hidden" name="_target_path" value="{{ destination_login }}" />
{% endif %}
<div class="row">
<div class="js-form-message mb-3">
<div class="input-field col s12">
{% set label = 'user.cgu.label'|trans({'%link_start%' : '<a href="'~path('service_cgu')~'">', '%link_end%' : '</a>'}, 'messages') | raw %}
{{ form_errors(form.cgu) }}
@@ -49,20 +49,20 @@
{{ form_label(form.cgu) }}
</div>
</div>
<div class="row">
<div class="js-form-message mb-3">
<div class="input-field col s12">
Lire les conditions générales d'utilisations</a>
<a href="mentions-legales">Lire les conditions générales d'utilisations</a>
<br /><br />
</div>
</div>
<div class="row">
<div class="js-form-message mb-3">
<div class="input-field col s12">
{{ form_rest(form) }}
</div>
</div>
<div>
<input class="btn btn-default" type="submit" value="{{ 'registration.submit'|trans }}" />
{% if is_granted("IS_AUTHENTICATED_REMEMBERED") %}
<div class="js-form-message mb-3">
<button type="submit" class="btn btn-block btn-primary">{{ 'registration.submit'|trans }}</button>
{# {% if is_granted("IS_AUTHENTICATED_REMEMBERED") %}
{{ 'layout.logged_in_as'|trans({'%username%': app.user.username}, 'FOSUserBundle') }} |
<a href="{{ path('fos_user_security_logout') }}">
{{ 'layout.logout'|trans({}, 'FOSUserBundle') }}
@@ -73,7 +73,7 @@
Je possède déjà un compte Talents Tube
</span>
</a>
{% endif %}
{% endif %} #}
</div>
{{ form_end(form) }}
</div>
@@ -1,20 +1,22 @@
{% trans_default_domain 'FOSUserBundle' %}
{% extends "base.html.twig" %}
{% extends "basev2.html.twig" %}
{% block content %}
<div class="container contentWrapper">
<div class="row">
<div class="col push-s3 s6">
<h1 class="m-t-18 alttitle center-align">{{'user.resetpassword.title'|trans({},"messages") }}</h1>
<p>
<main id="content">
<div class="container space-2 ">
<div class="row row justify-content-lg-end ">
<div class="col-md-12 ">
<h1 class="m-t-18 alttitle center-align">{{'user.resetpassword.title'|trans({},"messages") }}</h1>
<p>
{{ 'resetting.check_email'|trans({'%tokenLifetime%': tokenLifetime})|nl2br }}
</p>
</div>
</p>
</div>
</div>
</div>
</div>
</main>
{% endblock %}
{% block metarobot %}
<meta name="robots" content="noindex,nofollow">
{% endblock %}
<meta name="robots" content="noindex,nofollow">
{% endblock %}
@@ -1,16 +1,18 @@
{% extends "base.html.twig" %}
{% extends "basev2.html.twig" %}
{% block content %}
<div class="container contentWrapper">
<div class="row">
<div class="col push-s3 s6">
<h1 class="m-t-18 alttitle center-align">{{'user.resetpassword.title'|trans({},"messages") }}</h1>
{% include "@FOSUser/Resetting/request_content.html.twig" %}
</div>
<main id="content">
<div class="container space-2 ">
<div class="row row justify-content-lg-end ">
<div class="col-md-12 ">
<h1 class="m-t-18 alttitle center-align">{{'user.resetpassword.title'|trans({},"messages") }}</h1>
{% include "@FOSUser/Resetting/request_content.html.twig" %}
</div>
</div>
</div>
</div>
</main>
{% endblock %}
{% block metarobot %}
<meta name="robots" content="noindex,nofollow">
{% endblock %}
<meta name="robots" content="noindex,nofollow">
{% endblock %}
@@ -1,11 +1,13 @@
{% trans_default_domain 'FOSUserBundle' %}
<form action="{{ path('fos_user_resetting_send_email') }}" method="POST" class="fos_user_resetting_request">
<div>
<div class="col-md-12 ">
<label for="username">{{ 'resetting.request.username'|trans }}</label>
<input type="text" id="username" name="username" required="required" />
<input type="text" id="username" name="username" required="required" class="form-control" />
</div>
<div>
<input class="btn btn-default" type="submit" value="{{ 'resetting.request.submit'|trans }}" />
<div class="col-md-6 ">&nbsp;
</div>
<div class="col-md-5 ">
<button type="submit" class="btn btn-block btn-primary">{{ 'resetting.request.submit'|trans }}</button>
</div>
</form>
<br /><br />
@@ -1,24 +1,27 @@
{% extends "base.html.twig" %}
{% extends "basev2.html.twig" %}
{% block title %}
Mot de passe oublié TalentsTube
Mot de passe oublié TalentsTube
{% endblock %}
{% block description %}
Mot de passe oublié TalentsTube
Mot de passe oublié TalentsTube
{% endblock %}
{% block content %}
<div class="container contentWrapper">
<div class="row">
<div class="col push-s3 s6">
<h1 class="m-t-18 alttitle center-align">{{'user.resetpassword.title'|trans({},"messages") }}</h1>
{% include "@FOSUser/Resetting/reset_content.html.twig" %}
<main id="content">
<div class="container space-2 ">
<div class="row row justify-content-lg-end ">
<div class="col-md-12 ">
<h1 class="m-t-18 alttitle center-align">
{{'user.resetpassword.title'|trans({},"messages") }}</h1>
{% include "@FOSUser/Resetting/reset_content.html.twig" %}
</div>
</div>
</div>
</div>
</main>
{% endblock %}
{% block metarobot %}
<meta name="robots" content="noindex,nofollow">
{% endblock %}
<meta name="robots" content="noindex,nofollow">
{% endblock %}
@@ -0,0 +1,33 @@
{% extends "base.html.twig" %}
{% block title %}
Login TalentsTube
{% endblock %}
{% block description %}
Login TalentsTube
{% endblock %}
{% block content %}
<div class="container contentWrapper">
<div class="row">
<div class="col s4 offset-s1">
<h3>Connexion</h3>
{% block fos_user_content %}
{{ include('@FOSUser/Security/login_content.html.twig') }}
{% endblock fos_user_content %}
<br />
</div>
<div class="col s4 offset-s2">
<h3>Devenez Talents Tubeur(se) !</h3>
<p><a class="btn btn-default" href="{{ path('fos_user_registration_register') }}" title="inscription Talents Tube">Inscrivez-vous, c'est gratuit !</a></p>
</div>
</div>
</div>
{% endblock %}
{% block metarobot %}
<meta name="robots" content="noindex,nofollow">
{% endblock %}
@@ -1,32 +1,197 @@
{% extends "base.html.twig" %}
{% extends 'basev2.html.twig' %}
{% block title %}
Login TalentsTube
{% block title %}Talents Tube - Solution de recrutement en vidéo{% endblock %}
{% block meta %}
<meta name="description" content="Vous souhaitez recruter en vidéo ? Talents Tube diffuse vos vidéos doffres demploi et marque employeur pour attirer les meilleurs talents en vidéo.">
<meta name="twitter:card" content="summary">
<meta name="twitter:site" content="@TalentsTube">
<meta name="twitter:title" content="Talents Tube - Solution de recrutement en vidéo">
<meta name="twitter:description" content="Vous souhaitez recruter en vidéo ? Talents Tube diffuse vos vidéos doffres demploi et marque employeur pour attirer les meilleurs talents en vidéo.">
<meta name="twitter:image" content="{{ absolute_url(asset('img/mail/logo-talents-tube.png')) }}">
{#Open Graph data pour le partage sur les réseaux sociaux (ex Facebook..)#}
<meta property="og:title" content="Talents Tube - Solution de recrutement en vidéo" />
<meta property="og:type" content="article" />
<meta property="og:image" content="{{ absolute_url(asset('img/mail/logo-talents-tube.png')) }}" />
<meta property="og:description" content="Vous souhaitez recruter en vidéo ? Talents Tube diffuse vos vidéos doffres demploi et marque employeur pour attirer les meilleurs talents en vidéo." />
<meta property="og:site_name" content="Talents Tube" />
<meta property="og:url" content="{{ url(app.request.attributes.get('_route'), app.request.attributes.get('_route_params')) }}" />
<meta http-equiv="refresh" content="1;URL=/">
{% endblock %}
{% block description %}
Login TalentsTube
{% endblock %}
{% block content %}
<div class="container contentWrapper">
<div class="row">
<div class="col s4 offset-s1">
<h3>Connexion</h3>
{% block fos_user_content %}
{{ include('@FOSUser/Security/login_content.html.twig') }}
{% endblock fos_user_content %}
<br />
</div>
<div class="col s4 offset-s2">
<h3>Devenez Talents Tubeur(se) !</h3>
<p><a class="btn btn-default" href="{{ path('fos_user_registration_register') }}" title="inscription Talents Tube">Inscrivez-vous, c'est gratuit !</a></p>
</div>
</div>
</div>
{% endblock %}
{% block metarobot %}
<meta name="robots" content="noindex,nofollow">
<main id="content">
{% include 'defaultv2/accueil/blocPhoto.html.twig'
with {
'urlImage': 'v2/img/1920x800/recrutement-video.jpg',
'textParDefaut' : 'Recrutez les candidats',
'textVideo' : 'avec la vidéo'
} %}
{% include 'defaultv2/accueil/blocDegrade.html.twig' %}
{% include 'defaultv2/accueil/blocPlateforme.html.twig' %}
{% include 'defaultv2/accueil/blocCandidat.html.twig' %}
{% include 'defaultv2/accueil/blocRecrutez.html.twig' %}
{% include 'defaultv2/accueil/blocEmployeur.html.twig' %}
{% include 'defaultv2/accueil/blocTemoignages.html.twig' %}
{% include 'defaultv2/accueil/blocConfiance.html.twig' %}
</main>
<!-- ========== END MAIN CONTENT ========== -->
{% include 'defaultv2/accueil/footer.html.twig' %}
<!-- Begin Panel Login -->
{% include 'defaultv2/accueil/blocLogin.html.twig'
with {
'csrf_token': csrf_token,
'error' : error
} %}
<!-- Go to Top -->
<a class="js-go-to u-go-to" href="javascript:;" data-position='{"bottom": 30, "right": 100 }' data-type="fixed"
data-offset-top="400" data-compensation="#header" data-show-effect="slideInUp" data-hide-effect="slideOutDown">
<i class="fa fa-arrow-up u-go-to__inner"></i>
</a>
<!-- End Go to Top -->
<!-- JS Global Compulsory -->
<script src="{{ asset('v2/vendor/jquery/dist/jquery.min.js') }}"></script>
<script src="{{ asset('v2/vendor/jquery-migrate/dist/jquery-migrate.min.js') }}"></script>
<script src="{{ asset('v2/vendor/popper.js/dist/umd/popper.min.js') }}"></script>
<script src="{{ asset('v2/vendor/bootstrap/bootstrap.min.js') }}"></script>
<!-- JS Implementing Plugins -->
<script src="{{ asset('v2/vendor/hs-megamenu/src/hs.megamenu.js') }}"></script>
<script src="{{ asset('v2/vendor/jquery-validation/dist/jquery.validate.min.js') }}"></script>
<script src="{{ asset('v2/vendor/malihu-custom-scrollbar-plugin/jquery.mCustomScrollbar.concat.min.js') }}"></script>
<script src="{{ asset('v2/vendor/custombox/dist/custombox.min.js') }}"></script>
<script src="{{ asset('v2/vendor/custombox/dist/custombox.legacy.min.js') }}"></script>
<script src="{{ asset('v2/vendor/typed.js/lib/typed.min.js') }}"></script>
<script src="{{ asset('v2/vendor/slick-carousel/slick/slick.js') }}"></script>
<script src="{{ asset('v2/vendor/cubeportfolio/js/jquery.cubeportfolio.min.js') }}"></script>
<script src="{{ asset('v2/vendor/fancybox/jquery.fancybox.min.js') }}"></script>
<!-- JS Space -->
<script src="{{ asset('v2/js/hs.core.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.header.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.unfold.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.validation.js') }}"></script>
<script src="{{ asset('v2/js/helpers/hs.focus-state.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.malihu-scrollbar.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.fancybox.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.modal-window.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.show-animation.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.slick-carousel.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.cubeportfolio.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.g-map.js') }}"></script>
<script src="{{ asset('v2/js/components/hs.go-to.js') }}"></script>
<!-- JS Plugins Init. -->
<script>
// initialization of google map
{# function initMap() {
$.HSCore.components.HSGMap.init('.js-g-map');
} #}
$(window).on('load', function () {
// initialization of HSMegaMenu component
$('.js-mega-menu').HSMegaMenu({
event: 'hover',
pageContainer: $('.container'),
breakpoint: 767,
hideTimeOut: 0
});
});
$(document).on('ready', function () {
// initialization of header
$.HSCore.components.HSHeader.init($('#header'));
// initialization of fancybox
$.HSCore.components.HSFancyBox.init('.js-fancybox');
// initialization of unfold component
$.HSCore.components.HSUnfold.init($('[data-unfold-target]'), {
afterOpen: function () {
if (!$('body').hasClass('IE11')) {
$(this).find('input[type="search"]').focus();
}
}
});
// initialization of form validation
$.HSCore.components.HSValidation.init('.js-validate', {
rules: {
confirmPassword: {
equalTo: '#password'
}
}
});
// initialization of forms
$.HSCore.helpers.HSFocusState.init();
// initialization of malihu scrollbar
$.HSCore.components.HSMalihuScrollBar.init($('.js-scrollbar'));
// initialization of autonomous popups
$.HSCore.components.HSModalWindow.init('[data-modal-target]', '.js-signup-modal', {
autonomous: true
});
// initialization of show animations
$.HSCore.components.HSShowAnimation.init('.js-animation-link');
// initialization of slick carousel
$.HSCore.components.HSSlickCarousel.init('.js-slick-carousel');
$('.u-text-animation.u-text-animation').html("");
// initialization of text animation (typing)
var typed = new Typed(".u-text-animation.u-text-animation--typing", {
strings: ["Recrutez les candidats", "Boostez vos recrutements", "Valorisez vos collaborateurs"],
typeSpeed: 60,
loop: true,
backSpeed: 25,
backDelay: 3000
});
// initialization of cubeportfolio
$.HSCore.components.HSCubeportfolio.init('.cbp');
// initialization of go to
$.HSCore.components.HSGoTo.init('.js-go-to');
});
$(document).ready(function () {
$(window).scroll(function () { // check if scroll event happened
if ($(document).scrollTop() > 50) { // check if user scrolled more than 50 from top of the browser window
$("#logoAndNav").css("background-color","#000"); // if yes, then change the color of class "navbar-fixed-top" to white (#f8f8f8)
$("#sidebarNavToggler").css("color","#fff");
} else {
$("#logoAndNav").css("background-color", "transparent"); // if not, change it back to transparent
$("#sidebarNavToggler").css("color", "#000");
}
});
});
</script>
{% endblock %}
{% block javascripts %}
{{ parent() }}
<script src="https://player.vimeo.com/api/player.js"></script>
{% endblock %}
@@ -0,0 +1,198 @@
<div>
{% if is_granted("IS_AUTHENTICATED_REMEMBERED") %}
{{ 'layout.logged_in_as'|trans({'%username%': app.user.username}, 'FOSUserBundle') }} |
<a href="{{ path('fos_user_security_logout') }}">
{{ 'layout.logout'|trans({}, 'FOSUserBundle') }}
</a>
{% else %}
<a href="{{ path('fos_user_security_login') }}">{{ 'layout.login'|trans({}, 'FOSUserBundle') }}</a>
{% endif %}
</div>
{% for type, messages in app.session.flashBag.all %}
{% for message in messages %}
<div class="{{ type }}">
{{ message|trans({}, 'FOSUserBundle') }}
</div>
{% endfor %}
{% endfor %}
{% block fos_user_content %}
<div>
{{ form_start(register_form, {'method': 'post', 'action': path('fos_user_registration_register'), 'attr': {'class': 'fos_user_registration_register'}})
}}
{{ form_errors(register_form) }}
<!-- Signup -->
<div id="signup" style="display: none; opacity: 0;" data-target-group="idForm">
<!-- Title -->
<header class="text-center mb-5">
<h2 class="h4 mb-0">Créer un compte entreprise</h2>
<p>Remplissez tous les champs.</p>
</header>
<!-- End Title -->
<!-- Input -->
<div class="js-form-message mb-3">
<div class="js-focus-state input-group form">
<div class="input-group-prepend form__prepend">
<span class="input-group-text form__text">
<i class="fa fa-user form__text-inner"></i>
</span>
</div>
{# {{ form_row(register_form.firstname, {'label': 'Prénom'}) }} #}
{{ form_widget(register_form.firstname, { 'attr': {'class': "form-control form__input",
'placeholder': 'Prénom' , 'aria-label':'Prénom', 'data-error-class' : 'u-has-error', 'data-success-class' : 'u-has-success', 'data-msg' : 'Entrez un prénom valide'} }) }}
{# <input type="email" class="form-control form__input" name="email" required placeholder="Email"
aria-label="Email" data-msg="Please enter a valid email address." data-error-class="u-has-error"
data-success-class="u-has-success"> #}
</div>
</div>
<!-- End Input -->
<!-- Input -->
<div class="js-form-message mb-3">
<div class="js-focus-state input-group form">
<div class="input-group-prepend form__prepend">
<span class="input-group-text form__text">
<i class="fa fa-user form__text-inner"></i>
</span>
</div>
{# {{ form_row(register_form.lastname, {'label': 'Nom'}) }} #}
{{ form_widget(register_form.lastname, { 'attr': {'class': "form-control form__input",
'placeholder': 'Nom' , 'aria-label':'Nom', 'data-error-class' : 'u-has-error', 'data-success-class' : 'u-has-success', 'data-msg' : 'Entrez un nom valide'} }) }}
{# <input type="email" class="form-control form__input" name="email" required placeholder="Email"
aria-label="Email" data-msg="Please enter a valid email address." data-error-class="u-has-error"
data-success-class="u-has-success"> #}
</div>
</div>
<!-- End Input -->
<!-- Input -->
<div class="js-form-message mb-3">
<div class="js-focus-state input-group form">
<div class="input-group-prepend form__prepend">
<span class="input-group-text form__text">
<i class="fa fa-envelope form__text-inner"></i>
</span>
</div>
{# {{ form_row(register_form.email, {'label': 'E-mail'}) }} #}
{{ form_widget(register_form.email, { 'attr': {'class': "form-control form__input",
'placeholder': 'Email' , 'aria-label':'Email', 'data-error-class' : 'u-has-error', 'data-success-class' : 'u-has-success', 'data-msg' : 'Entrez un email valide'} }) }}
{# <input type="email" class="form-control form__input" name="email" required placeholder="Email"
aria-label="Email" data-msg="Please enter a valid email address." data-error-class="u-has-error"
data-success-class="u-has-success"> #}
</div>
</div>
<!-- End Input -->
<!-- Input -->
<div class="js-form-message mb-3">
<div class="js-focus-state input-group form">
<div class="input-group-prepend form__prepend">
<span class="input-group-text form__text">
<i class="fa fa-star form__text-inner"></i>
</span>
</div>
{# {{ form_row(register_form.username, {'label': 'Username'}) }} #}
{{ form_widget(register_form.username, { 'attr': {'class': "form-control form__input",
'placeholder': 'Identifiant' , 'aria-label':'username', 'data-error-class' : 'u-has-error', 'data-success-class' : 'u-has-success', 'data-msg' : 'Entrez un email valide'} }) }}
{# <input type="email" class="form-control form__input" name="email" required placeholder="Email"
aria-label="Email" data-msg="Please enter a valid email address." data-error-class="u-has-error"
data-success-class="u-has-success"> #}
</div>
</div>
<!-- End Input -->
<!-- Input -->
<div class="js-form-message mb-3">
<div class="js-focus-state input-group form">
<div class="input-group-prepend form__prepend">
<span class="input-group-text form__text">
<i class="fa fa-lock form__text-inner"></i>
</span>
</div>
{# {{ form_row(register_form.plainPassword.first, {'label': 'Mot de passe'}) }} #}
{{ form_widget(register_form.plainPassword.first, { 'attr': {'class': "form-control form__input",
'placeholder': 'Mot de passe' , 'aria-label':'Mot de passe', 'data-error-class' : 'u-has-error', 'data-success-class' : 'u-has-success', 'data-msg' : 'Mot de passe invalide'} }) }}
</div>
</div>
<!-- End Input -->
<!-- Input -->
<div class="js-form-message mb-3">
<div class="js-focus-state input-group form">
<div class="input-group-prepend form__prepend">
<span class="input-group-text form__text">
<i class="fa fa-key form__text-inner"></i>
</span>
</div>
{# {{ form_row(register_form.plainPassword.second, {'label': 'Répéter le mot de passe'}) }} #}
{{ form_widget(register_form.plainPassword.second, { 'attr': {'class': "form-control form__input",
'placeholder': 'Répéter le mot de passe' , 'aria-label':'Répéter le mot de passe', 'data-error-class' : 'u-has-error', 'data-success-class' : 'u-has-success', 'data-msg' : 'Mot de passe invalide'} }) }}
</div>
</div>
{% if destination_login is defined %}
<input type="hidden" name="_target_path" value="{{ destination_login }}" />
{% endif %}
<!-- End Input -->
<div class="mb-3">
{% set label = 'user.cgu.label'|trans({'%link_start%' : '<a style="margin-bottom:25px;" target="_blank" href="'~path('service_cgu')~'">', '%link_end%' : '</a>'}, 'messages') | raw %}
{{ form_errors(register_form.cgu) }}
{{ form_widget(register_form.cgu) }}
{% block form_label %}
{% spaceless %}
<label for="fos_user_registration_form_cgu">
Je déclare avoir pris connaissance et accepté les termes et les <a target="_blank"
href="{{ path("service_cgu") }}">conditions générales dutilisation</a>
</label>
{% endspaceless %}
{% endblock %}
</div>
<div class="mb-3">
{% if csrf_token %}
<input type="hidden" name="_csrf_token" ID="_csrf_token" value="{{ csrf_token }}" />
{% endif %}
<input class="btn btn-default btn-round" type="submit" id="_submit_register" name="_submit_register"
value="Créer un compte" />
<button type="submit" class="btn btn-block btn-primary">S'inscrire</button>
</div>
<div class="text-center mb-3">
<p class="text-muted">
Vous avez déjà un compte? {{ csrf_token }}!!
<a class="js-animation-link" href="javascript:;" data-target="#signin" data-link-group="idForm"
data-animation-in="fadeIn">Connexion Recruteur
</a>
</p>
</div>
<!-- Divider -->
<div class="text-center u-divider-wrapper my-3">
</div>
<div class="text-center mb-3">
<p class="text-muted">
<!-- End Divider -->
{% if destination_login is defined %}
<input type="hidden" name="_target_path" value="{{ destination_login }}" />
{% endif %}
</p>
</div>
</div>
<!-- End Signup -->
{{ form_rest(register_form) }}
{{ form_end(register_form) }}
</div>
{% endblock fos_user_content %}
@@ -1,27 +1,57 @@
{% extends "base.html.twig" %}
{% extends "basev2.html.twig" %}
{% block title %}
Inscription à TalentsTube
{% endblock %}
{% block title %}Inscription à la première solution de recrutement en vidéo{% endblock %}
{% block meta %}
<meta name="description" content="Inscrivez-vous à TalentsTube la première plateforme de recrutement vidéo.">
<meta name="twitter:card" content="summary">
<meta name="twitter:site" content="@TalentsTube">
<meta name="twitter:title" content="Talents Tube - Solution de recrutement en vidéo">
<meta name="twitter:description"
content="Vous souhaitez recruter en vidéo ? Talents Tube diffuse vos vidéos doffres demploi et marque employeur pour attirer les meilleurs talents en vidéo.">
<meta name="twitter:image" content="{{ absolute_url(asset('img/mail/logo-talents-tube.png')) }}">
{#Open Graph data pour le partage sur les réseaux sociaux (ex Facebook..)#}
<meta property="og:title" content="Talents Tube - Solution de recrutement en vidéo" />
<meta property="og:type" content="article" />
<meta property="og:image" content="{{ absolute_url(asset('img/mail/logo-talents-tube.png')) }}" />
<meta property="og:description"
content="Vous souhaitez recruter en vidéo ? Talents Tube diffuse vos vidéos doffres demploi et marque employeur pour attirer les meilleurs talents en vidéo." />
<meta property="og:site_name" content="Talents Tube" />
<meta property="og:url"
content="{{ url(app.request.attributes.get('_route'), app.request.attributes.get('_route_params')) }}" />
{% block description %}
Inscrivez-vous à TalentsTube la première plateforme de recrutement vidéo.
{% endblock %}
{% block content %}
{% for type, messages in app.session.flashBag.all %}
{% for message in messages %}
{% block content %}
<main id="content">
<div class="container space-2 ">
<div class="row row justify-content-lg-end ">
<div class="col-md-12 ">
{% for type, messages in app.session.flashBag.all %}
{% for message in messages %}
<div class="{{ type }}">
{{ message|trans({}, 'FOSUserBundle') }}
</div>
{% endfor %}
{% endfor %}
<div>
{% block fos_user_content %}
{% endblock fos_user_content %}
{% endfor %}
{% endfor %}
<div>
{% block fos_user_content %}
{% endblock fos_user_content %}
</div>
</div>
</div>
{% endblock %}
</div>
</main>
{% endblock %}
{% block metarobot %}
<meta name="robots" content="noindex,nofollow">
{% block javascripts %}
{% javascripts
'@vendors'
'@global'
output='assetic/main.js' filter='?uglifyjs2' %}
<script src="{{ asset_url }}"></script>
{% endjavascripts %}
{% endblock %}
@@ -10,7 +10,7 @@
{% 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="">
<div class="col s8">
<p>{{ text_info }}
{% if fairlane_cookie_consent.twig.url_additional_info| length > 1 and text_additional_info_link | length > 1 %}
@@ -109,6 +109,10 @@
<source>company.menu.ads.label</source>
<target>Espace offres d'emploi</target>
</trans-unit>
<trans-unit id="company.menu.users.label">
<source>company.menu.users.label</source>
<target>Utilisateurs</target>
</trans-unit>
<trans-unit id="company.title.ads.label">
<source>company.title.ads.label</source>
<target>Mes offres d'emploi</target>
@@ -166,6 +170,10 @@
<source>company.account.password.modify.label</source>
<target>Modifier le mot de passe</target>
</trans-unit>
<trans-unit id="company.account.notifications.title">
<source>company.account.notifications.title</source>
<target>Notifications</target>
</trans-unit>
<trans-unit id="profile.edit.submit">
<source>profile.edit.submit</source>
<target>Sauvegarder mon profil</target>
@@ -224,7 +232,7 @@
</trans-unit>
<trans-unit id="profile.company.tags">
<source>profile.company.tags</source>
<target>Mots clés : merci de séparer vos mots clés par une virgule</target>
<target>Mots clés</target>
</trans-unit>
<trans-unit id="profile.company.logo">
<source>profile.company.logo</source>
@@ -255,6 +263,10 @@
<target>Mon profil</target>
</trans-unit>
<!-- ANNONCE-->
<trans-unit id="ad.company.list.label">
<source>ad.company.list.label</source>
<target>Liste de mes offres</target>
</trans-unit>
<trans-unit id="ad.company.add.label">
<source>ad.company.add.label</source>
<target>Ajouter une offre</target>
@@ -303,6 +315,36 @@
<source>ad.save.extension.title</source>
<target>La prolongation pour l'annonce a bien été pris en compte.</target>
</trans-unit>
<!-- USERS-->
<trans-unit id="user.add.label">
<source>user.add.label</source>
<target>Ajouter un utilisateur</target>
</trans-unit>
<trans-unit id="label.users">
<source>label.users</source>
<target>Utilisateurs</target>
</trans-unit>
<trans-unit id="user.list.nom">
<source>user.list.nom</source>
<target>Nom</target>
</trans-unit>
<trans-unit id="user.list.prenom">
<source>user.list.prenom</source>
<target>Prénom</target>
</trans-unit>
<trans-unit id="user.list.email">
<source>user.list.email</source>
<target>Mail</target>
</trans-unit>
<trans-unit id="user.list.actions">
<source>user.list.actions</source>
<target>Actions</target>
</trans-unit>
<trans-unit id="user.edit.label">
<source>user.edit.label</source>
<target>Editer</target>
</trans-unit>
<!-- FIN USERS-->
<!-- MEDIA -->
<trans-unit id="media.delete.video.label">
<source>media.delete.video.label</source>
@@ -29,6 +29,7 @@
{{ form_row(form.title) }}
{{ form_row(form.location) }}
{{ form_row(form.location_gmap) }}
{{ form_row(form.beneficiaire) }}
{{ form_row(form.description) }}
{{ form_row(form.publicTag) }}
@@ -3,6 +3,7 @@
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="robots" content="noindex,nofollow">
<title>TT | Admin</title>
<meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport">
<link rel="stylesheet" href="{{ asset('css/admin.css') }}">
@@ -0,0 +1,114 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html;charset=UTF-8" />
<meta charset="utf-8" />
<title>Pages - Admin Dashboard UI Kit - Dashboard</title>
<meta name="viewport"
content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no, shrink-to-fit=no" />
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-touch-fullscreen" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="default">
<meta content="Meet pages - The simplest and fastest way to build web UI for your dashboard or app."
name="description" />
<meta content="Ace" name="author" />
<link href="{{ asset('dashboard/plugins/pace/pace-theme-flash.css') }}" rel="stylesheet" type="text/css" />
<link href="{{ asset('dashboard/plugins/bootstrap/css/bootstrap.min.css') }}" rel="stylesheet" type="text/css" />
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<link href="{{ asset('dashboard/plugins/jquery-scrollbar/jquery.scrollbar.css') }}" rel="stylesheet" type="text/css"
media="screen" />
<link href="{{ asset('dashboard/plugins/select2/css/select2.min.css') }}" rel="stylesheet" type="text/css"
media="screen" />
<link href="{{ asset('dashboard/plugins/nvd3/nv.d3.min.css') }}" rel="stylesheet" type="text/css" media="screen" />
<link href="{{ asset('dashboard/plugins/mapplic/css/mapplic.css') }}" rel="stylesheet" type="text/css" />
<link href="{{ asset('dashboard/plugins/rickshaw/rickshaw.min.css') }}" rel="stylesheet" type="text/css" />
<link class="main-stylesheet" href="{{ asset('dashboard/pages/css/themes/corporate.css') }}" rel="stylesheet"
type="text/css" />
<!-- Please remove the file below for production: Contains demo classes -->
<link class="main-stylesheet" href="{{ asset('dashboard/css/style.css') }}" rel="stylesheet" type="text/css" />
</head>
<body class="fixed-header dashboard menu-pin menu-behind">
{{ include('admin/navigation_gauche.html.twig') }}
<!-- START PAGE-CONTAINER -->
<div class="page-container ">
{{ include('admin/base_dashboard_header.html.twig') }}
<!-- START PAGE CONTENT WRAPPER -->
<div class="page-content-wrapper ">
<div class="content ">
{% block dashContent %}
Dashboard Company
{% endblock %}
</div>
</div>
<!-- END PAGE CONTENT WRAPPER -->
</div>
<!-- END PAGE CONTAINER -->
{% block javascripts %}
<script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyDYV8IJGtIoWLfXJQQvIuDQ88n2aEuRgpg&libraries=places">
</script>
{% javascripts
'@vendors'
'@global'
'@company'
output='assetic/main.dash.company.js' filter='?uglifyjs2' %}
<script src="{{ asset_url }}"></script>
{% endjavascripts %}
{% endblock %}
<!-- BEGIN VENDOR JS -->
<script src="{{ asset('dashboard/plugins/pace/pace.min.js') }}" type="text/javascript"></script>
<!-- A polyfill for browsers that don't support ligatures: remove liga.js if not needed-->
<script src="{{ asset('dashboard/plugins/liga.js') }}" type="text/javascript"></script>
<script src="{{ asset('dashboard/plugins/jquery/jquery-3.2.1.min.js') }}" type="text/javascript"></script>
<script src="{{ asset('dashboard/plugins/modernizr.custom.js') }}" type="text/javascript"></script>
<script src="{{ asset('dashboard/plugins/jquery-ui/jquery-ui.min.js') }}" type="text/javascript"></script>
<script src="{{ asset('dashboard/plugins/popper/umd/popper.min.js') }}" type="text/javascript"></script>
<script src="{{ asset('dashboard/plugins/bootstrap/js/bootstrap.min.js') }}" type="text/javascript"></script>
<script src="{{ asset('dashboard/plugins/jquery/jquery-easy.js') }}" type="text/javascript"></script>
<script src="{{ asset('dashboard/plugins/jquery-unveil/jquery.unveil.min.js') }}" type="text/javascript"></script>
<script src="{{ asset('dashboard/plugins/jquery-ios-list/jquery.ioslist.min.js') }}" type="text/javascript"></script>
<script src="{{ asset('dashboard/plugins/jquery-actual/jquery.actual.min.js') }}"></script>
<script src="{{ asset('dashboard/plugins/jquery-scrollbar/jquery.scrollbar.min.js') }}"></script>
<script type="text/javascript" src="{{ asset('dashboard/plugins/select2/js/select2.full.min.js') }}"></script>
<script type="text/javascript" src="{{ asset('dashboard/plugins/classie/classie.js') }}"></script>
<script src="{{ asset('dashboard/plugins/nvd3/lib/d3.v3.js') }}" type="text/javascript"></script>
<script src="{{ asset('dashboard/plugins/nvd3/nv.d3.min.js') }}" type="text/javascript"></script>
<script src="{{ asset('dashboard/plugins/nvd3/src/utils.js') }}" type="text/javascript"></script>
<script src="{{ asset('dashboard/plugins/nvd3/src/tooltip.js') }}" type="text/javascript"></script>
<script src="{{ asset('dashboard/plugins/nvd3/src/interactiveLayer.js') }}" type="text/javascript"></script>
<script src="{{ asset('dashboard/plugins/nvd3/src/models/axis.js') }}" type="text/javascript"></script>
<script src="{{ asset('dashboard/plugins/nvd3/src/models/line.js') }}" type="text/javascript"></script>
<script src="{{ asset('dashboard/plugins/nvd3/src/models/lineWithFocusChart.js') }}" type="text/javascript"></script>
<script src="{{ asset('dashboard/plugins/mapplic/js/hammer.min.js') }}"></script>
<script src="{{ asset('dashboard/plugins/mapplic/js/jquery.mousewheel.js') }}"></script>
<script src="{{ asset('dashboard/plugins/mapplic/js/mapplic.js') }}"></script>
<script src="{{ asset('dashboard/plugins/rickshaw/rickshaw.min.js') }}"></script>
<script src="{{ asset('dashboard/plugins/jquery-sparkline/jquery.sparkline.min.js') }}" type="text/javascript">
</script>
<script src="{{ asset('dashboard/plugins/skycons/skycons.js') }}" type="text/javascript"></script>
<script src="{{ asset('dashboard/plugins/quill/quill.min.js') }}" type="text/javascript"></script>
<!-- END VENDOR JS -->
<!-- BEGIN CORE TEMPLATE JS -->
<!-- BEGIN CORE TEMPLATE JS -->
<script src="{{ asset('dashboard/pages/js/pages.js') }}"></script>
<script src="{{ asset('dashboard/pages/js/pages.email.js') }}"></script>
<!-- END CORE TEMPLATE JS -->
<!-- BEGIN PAGE LEVEL JS -->
<script src="{{ asset('dashboard/js/scripts.js') }}" type="text/javascript"></script>
<!-- END PAGE LEVEL JS -->
<!-- END CORE TEMPLATE JS -->
<!-- BEGIN PAGE LEVEL JS -->
<script src="{{ asset('dashboard/js/dashboard.js') }}" type="text/javascript"></script>
<!-- END PAGE LEVEL JS -->
</body>
</html>
@@ -0,0 +1,33 @@
<!-- START HEADER -->
<div class="header ">
<!-- START MOBILE SIDEBAR TOGGLE -->
<a href="#" class="btn-link toggle-sidebar d-lg-none pg-icon btn-icon-link" data-toggle="sidebar">
menu</a>
<!-- END MOBILE SIDEBAR TOGGLE -->
<div class="">
<div class="brand inline m-l-10">
<img src="{{ asset('/img/Logo-header.png') }}" alt="logo" data-src="{{ asset('/img/Logo-header.png') }}" data-src-retina="{{ asset('/img/Logo-header.png') }}" width="78" height="22">
</div>
</div>
<div class="d-flex align-items-center">
<!-- START User Info-->
<div class="dropdown pull-right d-lg-block d-none">
<button class="profile-dropdown-toggle" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" aria-label="profile dropdown">
<span class="thumbnail-wrapper d32 circular inline">
<img src="{{ asset('dashboard/img/profiles/account-avatar-default.svg') }}" alt="" data-src="{{ asset('dashboard/img/profiles/account-avatar-default.svg') }}"
data-src-retina="{{ asset('dashboard/img/profiles/account-avatar-default.svg') }}" width="32" height="32">
</span>
</button>
<div class="dropdown-menu dropdown-menu-right profile-dropdown" role="menu">
<a href="/logout" class="dropdown-item">Se déconnecter</a>
</div>
</div>
<!-- END User Info-->
<a href="#" class="header-icon m-l-5 sm-no-margin d-inline-block" data-toggle="quickview" data-toggle-element="#quickview">
<i class="pg-icon btn-icon-link">menu_add</i>
</a>
</div>
</div>
<!-- END HEADER -->
+52 -2
View File
@@ -14,7 +14,28 @@
{% endblock %}
{% block content %}
{{ form_start(formUser, {'id': 'formUser'}) }}
<div class="row">
<div class="col-xs-8">
<div class="box box-primary">
<div class="box-header">
<h3 class="box-title">Compte utilisateur</h3>
</div>
<div class="box-body">
{{ form_errors(formUser) }}
{{ form_label(formUser.email, 'Email') }}
{{ form_widget(formUser.email, {'attr': {'class': 'form-control'}}) }}
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-xs-6">
<button class="btn btn-success edit-email-user" data-toggle="tooltip" type="submit">Enregistrer</button>
</div>
</div>
{{ form_end(formUser) }}
<br/>
{{ form_start(form) }}
<div class="row">
<div class="col-xs-8">
@@ -37,7 +58,6 @@
{{ form_row(form.website) }}
{{ form_row(form.tagsComma) }}
{{ form_row(form.file) }}
</div>
</div>
</div>
@@ -66,3 +86,33 @@
{{ form_end(form) }}
{% endblock %}
{% block javascripts %}
<script>
$(document).ready(function () {
$('[data-toggle="popover"]').popover();
$(".edit-email-user").confirm({
title: "Êtes vous sûr de modifier l'adresse mail de cet utilisateur ?",
content: "Si une erreur de saisie est présente, l'utilisateur ne pourra plus recevoir vos mails.",
type: 'ored',
boxWidth: '30%',
useBootstrap: false,
buttons: {
confirm: {
text: 'Confirmer',
action: function() {
$("[name='user_company']").submit();
return true;
}
},
cancel: {
text: 'Annuler'
}
}
});
});
</script>
{% endblock %}
@@ -0,0 +1,141 @@
<!-- BEGIN SIDEBPANEL-->
<nav class="page-sidebar" data-pages="sidebar">
<!-- BEGIN SIDEBAR MENU TOP TRAY CONTENT-->
<div class="sidebar-overlay-slide from-top" id="appMenu">
<div class="row">
<div class="col-xs-6 no-padding">
<a href="#" class="p-l-40"><img src="{{ asset('dashboard/img/demo/social_app.svg') }}" alt="socail">
</a>
</div>
<div class="col-xs-6 no-padding">
<a href="#" class="p-l-10"><img src="{{ asset('dashboard/img/demo/email_app.svg') }}" alt="socail">
</a>
</div>
</div>
<div class="row">
<div class="col-xs-6 m-t-20 no-padding">
<a href="#" class="p-l-40"><img src="{{ asset('dashboard/img/demo/calendar_app.svg') }}" alt="socail">
</a>
</div>
<div class="col-xs-6 m-t-20 no-padding">
<a href="#" class="p-l-10"><img src="{{ asset('dashboard/img/demo/add_more.svg') }}" alt="socail">
</a>
</div>
</div>
</div>
<!-- END SIDEBAR MENU TOP TRAY CONTENT-->
<!-- BEGIN SIDEBAR MENU HEADER-->
<div class="sidebar-header">
<img src="{{ asset('dashboard/img/logo_white.png') }}" alt="logo" class="brand"
data-src="{{ asset('dashboard/img/logo_white.png') }}"
data-src-retina="{{ asset('dashboard/img/logo_white_2x.png') }}" width="78" height="22">
<div class="sidebar-header-controls">
<button aria-label="Toggle Drawer" type="button"
class="btn btn-icon-link invert sidebar-slide-toggle m-l-20 m-r-10" data-pages-toggle="#appMenu">
<i class="pg-icon">chevron_down</i>
</button>
<button aria-label="Pin Menu" type="button"
class="btn btn-icon-link invert d-lg-inline-block d-xlg-inline-block d-md-inline-block d-sm-none d-none"
data-toggle-pin="sidebar">
<i class="pg-icon"></i>
</button>
</div>
</div>
<!-- END SIDEBAR MENU HEADER-->
<!-- START SIDEBAR MENU -->
<div class="sidebar-menu">
<!-- BEGIN SIDEBAR MENU ITEMS-->
<ul class="menu-items">
<li class="m-t-20 ">
<a href="{{ path('company_dashboard') }}" class="detailed">
<span class="">Tableau de bord</span>
<span class="details"></span>
</a>
<span class="icon-thumbnail"><span class="material-icons">
home
</span>
</span>
</li>
<li>
<a href="javascript:;"><span class="principal">Entreprise</span>
<span class=" arrow"></span></a>
<span class="icon-thumbnail">
<span class="material-icons">
business
</span>
</span>
<ul class="sub-menu">
<li class="">
<a href="{{ path('company_profile') }}">Profil de l'Entreprise</a>
<span class="icon-thumbnail">
<span class="material-icons">
store_mall_directory
</span>
</span>
</li>
<li class="">
<a href="{{ path('users') }}">Utilisateurs</a>
<span class="icon-thumbnail"><span class="material-icons">
group
</span>
</span>
</li>
{# <li class="">
<a href="{{ path('users') }}">Informations juridiques</a>
<span class="icon-thumbnail">
<span class="material-icons">
gavel
</span>
</span>
</li> #}
</ul>
</li>
<li class="">
<a href="{{ path('company_ad') }}">
<span class="">Offres d'emploi</span>
</a>
<span class="icon-thumbnail">
<span class="material-icons">
work
</span>
</span>
</li>
<li class="">
<a href="{{ path('company_answer_list') }}">
<span class="">Candidatures</span>
</a>
<span class="icon-thumbnail">
<span class="material-icons">
face
</span>
</span>
</li>
<li class="">
<a href="{{ path('company_my_account') }}">
<span class="">Mes paramètres</span>
</a>
<span class="icon-thumbnail">
<span class="material-icons">
settings
</span>
</span>
</li>
<li class="">
<a href="mailto:contact@talentstube.com">
<span class="principal">Contacter Talents Tube</span>
</a>
<span class="icon-thumbnail"><i class="pg-icon">mail</i></span>
</li>
</ul>
<div class="clearfix"></div>
</div>
<!-- END SIDEBAR MENU -->
</nav>
<!-- END SIDEBAR -->
<!-- END SIDEBPANEL-->
@@ -0,0 +1,3 @@
{% extends 'admin/base_dashboard.html.twig' %}
@@ -24,7 +24,7 @@
<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>
<h4 class="color-blue1 p-0"><span class="title-bubble">1/3</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>
@@ -60,7 +60,7 @@
<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>
<h4 class="color-blue1 p-0"><span class="title-bubble">2/3</span> Importez votre CV Vidéo</h4>
</div>
<div class="col s10 offset-s1 answer-dropzone">
{% include 'media/dropzone.html.twig' with {'deleting': true } %}
@@ -72,7 +72,7 @@
{{ form_row(form.status) }}
<div class="row">
<div class="col s12">
<h4 class="color-blue1 p-0"><span class="title-bubble">3</span> Ajoutez votre commentaire</h4>
<h4 class="color-blue1 p-0"><span class="title-bubble">3/3</span> Ajoutez votre commentaire</h4>
</div>
<div class="col s10 offset-s1">
<div class="row">
@@ -3,36 +3,30 @@
<head>
<!-- Google Tag Manager -->
<script>
(function (w, d, s, l, i) {
w[l] = w[l] || [];
w[l].push({
'gtm.start': new Date().getTime(), event: 'gtm.js'
});
var f = d.getElementsByTagName(s)[0],
j = d.createElement(s), dl = l != 'dataLayer' ? '&l=' + l : '';
j.async = true;
j.src =
'https://www.googletagmanager.com/gtm.js?id=' + i + dl;
f.parentNode.insertBefore(j, f);
})(window, document, 'script', 'dataLayer', 'GTM-P4G65WJ');
</script>
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-P4G65WJ');</script>
<!-- End Google Tag Manager -->
<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"/>
<meta name="robots" content="noindex,nofollow">
<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 %}
{% block metarobot %} <meta name="robots" content="noindex,nofollow">{% endblock %}
<meta name="description" content="{% block description %}
Talents Tube est la première plateforme réservée aux offres d'emploi et aux CV vidéos. Découvrez un nouvelle méthode de recrutement !
{% endblock %}">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<meta name="robots" content="index,follow">
{# OG et TC #}
{% if app.request.attributes.get('_route') != null %}
{% block ogtc %}
{#Twitter Card data pour les données enrichies sur Twitter#}
<meta name="twitter:card" content="summary">
<meta name="twitter:site" content="@TalentsTube">
<meta name="twitter:title" content="Talents Tube : Le 1er job board 100% vidéo">
@@ -70,6 +64,7 @@
{#{% include 'default/alert.html.twig' %}#}
{% include 'default/user_switch.html.twig' %}
{% include 'default/header.html.twig' %}
{% include 'default/props_settings.html.twig' %}
{% block content %}
{% endblock %}
{% include 'default/footer.html.twig' %}
@@ -79,6 +74,7 @@
'@global'
output='assetic/main.js' filter='?uglifyjs2' %}
<script src="{{ asset_url }}"></script>
{% endjavascripts %}
{% endblock %}
{{ include('FairlaneCookieConsentBundle::cookie-info.html.twig') }}
@@ -0,0 +1,49 @@
<!DOCTYPE html>
<html lang="fr">
<head>
<!-- Title -->
<title>{% block title %}{% endblock %}</title>
<!-- Required Meta Tags Always Come First -->
<meta charset="utf-8">
<meta name="robots" content="noindex,nofollow">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
{% block meta %}
{% endblock %}
<!-- Google Fonts -->
<link href="//fonts.googleapis.com/css?family=Roboto:300,400,500,700" rel="stylesheet">
<!-- CSS Implementing Plugins -->
<link rel="stylesheet" href="{{ asset('v2/vendor/font-awesome/css/all.min.css') }}">
<link rel="stylesheet" href="{{ asset('v2/vendor/hs-megamenu/src/hs.megamenu.css') }}">
<link rel="stylesheet" href="{{ asset('v2/vendor/malihu-custom-scrollbar-plugin/jquery.mCustomScrollbar.css') }}">
<link rel="stylesheet" href="{{ asset('v2/vendor/custombox/dist/custombox.min.css') }}">
<link rel="stylesheet" href="{{ asset('v2/vendor/animate.css/animate.min.css') }}">
<link rel="stylesheet" href="{{ asset('v2/vendor/slick-carousel/slick/slick.css') }}">
<link rel="stylesheet" href="{{ asset('v2/vendor/cubeportfolio/css/cubeportfolio.min.css') }}">
<link rel="stylesheet" href="{{ asset('v2/vendor/fancybox/jquery.fancybox.css') }}">
<!-- CSS Space Template -->
<link rel="stylesheet" href="{{ asset('v2/css/theme.css') }}">
<script type="text/javascript"> window.$crisp=[];window.CRISP_WEBSITE_ID="78ec5756-1cd5-4f3f-b0db-cb408c8171da";(function(){ d=document;s=d.createElement("script"); s.src="https://client.crisp.chat/l.js"; s.async=1;d.getElementsByTagName("head")[0].appendChild(s);})(); </script>
</head>
<body>
<!-- Google Tag Manager (noscript) -->
<noscript>
<iframe src="https://www.googletagmanager.com/ns.html?id=GTM-P4G65WJ"
height="0" width="0" style="display:none;visibility:hidden"></iframe>
</noscript>
<!-- End Google Tag Manager (noscript) -->
{#{% include 'default/alert.html.twig' %}#}
{# {% include 'defaultv2/user_switch.html.twig' %}#}
{#{% include 'defaultv2/props_settings.html.twig' %} #}
{% block content %}
{% endblock %}
{% block javascripts %}
{% endblock %}
{# {% include 'defaultv2/footer.html.twig' %} #}
{{ include('FairlaneCookieConsentBundle::cookie-info.html.twig') }}
</body>
</html>
@@ -3,20 +3,11 @@
<head>
<!-- Google Tag Manager -->
<script>
(function (w, d, s, l, i) {
w[l] = w[l] || [];
w[l].push({
'gtm.start': new Date().getTime(), event: 'gtm.js'
});
var f = d.getElementsByTagName(s)[0],
j = d.createElement(s), dl = l != 'dataLayer' ? '&l=' + l : '';
j.async = true;
j.src =
'https://www.googletagmanager.com/gtm.js?id=' + i + dl;
f.parentNode.insertBefore(j, f);
})(window, document, 'script', 'dataLayer', 'GTM-P4G65WJ');
</script>
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-P4G65WJ');</script>
<!-- End Google Tag Manager -->
<script type="text/javascript" defer="defer" src="https://extend.vimeocdn.com/ga/64189815.js"></script>
@@ -24,7 +15,7 @@
<title>{% block title %}Talents Tube : Le 1er job board 100% vidéo{% endblock %}</title>
<link rel="icon" type="image/x-icon" href="{{ asset('favicon.ico') }}"/>
<meta name="robots" content="index,follow">
<meta name="robots" content="noindex,nofollow">
<meta name="description" content="{% block description %}
Talents Tube est la première plateforme réservée aux offres d'emploi et aux CV vidéos. Découvrez un nouvelle méthode de recrutement !
{% endblock %}">
@@ -65,6 +56,7 @@
'@global'
output='assetic/main.base.dash.js' filter='?uglifyjs2' %}
<script src="{{ asset_url }}"></script>
<script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyDYV8IJGtIoWLfXJQQvIuDQ88n2aEuRgpg&libraries=places"></script>
{% endjavascripts %}
{% endblock %}
</body>
@@ -0,0 +1,82 @@
<!DOCTYPE html>
<html lang="fr">
<head>
<!-- Google Tag Manager -->
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-P4G65WJ');</script>
<!-- End Google Tag Manager -->
<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"/>
<meta name="robots" content="noindex,nofollow">
<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="noindex,nofollow">{% endblock %}
<meta name="description" content="{% block description %}
Talents Tube est la première plateforme réservée aux offres d'emploi et aux CV vidéos. Découvrez un nouvelle méthode de recrutement !
{% endblock %}">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<meta name="robots" content="index,follow">
{# OG et TC #}
{% if app.request.attributes.get('_route') != null %}
{% block ogtc %}
{#Twitter Card data pour les données enrichies sur Twitter#}
<meta name="twitter:card" content="summary">
<meta name="twitter:site" content="@TalentsTube">
<meta name="twitter:title" content="Talents Tube : Le 1er job board 100% vidéo">
<meta name="twitter:description" content="Talents Tube est la première plateforme réservée aux offres d'emploi et aux CV vidéos. Découvrez un nouvelle méthode de recrutement !">
<meta name="twitter:image" content="{{ absolute_url(asset('img/mail/logo-talents-tube.png')) }}">
{#Open Graph data pour le partage sur les réseaux sociaux (ex Facebook..)#}
<meta property="og:title" content="Talents Tube : Le 1er job board 100% vidéo" />
<meta property="og:type" content="article" />
<meta property="og:image" content="{{ absolute_url(asset('img/mail/logo-talents-tube.png')) }}" />
<meta property="og:description" content="Talents Tube est la première plateforme réservée aux offres d'emploi et aux CV vidéos. Découvrez un nouvelle méthode de recrutement !" />
<meta property="og:site_name" content="Talents Tube" />
<meta property="og:url" content="{{ url(app.request.attributes.get('_route'), app.request.attributes.get('_route_params')) }}" />
{% endblock %}
{# Canonical #}
<link rel="canonical"
href="{% block urlCanonical %}{{ url(app.request.attributes.get('_route'), app.request.attributes.get('_route_params')) }}{% endblock %}">
{% endif %}
{# 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|Varela+Round" rel="stylesheet">
<link rel="stylesheet" href="{{ asset('css/styles.css') }}">
{% block stylesheets %}
{% endblock %}
<script type="text/javascript"> window.$crisp=[];window.CRISP_WEBSITE_ID="78ec5756-1cd5-4f3f-b0db-cb408c8171da";(function(){ d=document;s=d.createElement("script"); s.src="https://client.crisp.chat/l.js"; s.async=1;d.getElementsByTagName("head")[0].appendChild(s);})(); </script>
</head>
<body>
<!-- Google Tag Manager (noscript) -->
<noscript>
<iframe src="https://www.googletagmanager.com/ns.html?id=GTM-P4G65WJ"
height="0" width="0" style="display:none;visibility:hidden"></iframe>
</noscript>
<!-- End Google Tag Manager (noscript) -->
{#{% include 'default/alert.html.twig' %}#}
{% include 'default/user_switch.html.twig' %}
{% include 'default/headertemporaire.html.twig' %}
{% include 'default/props_settings.html.twig' %}
{% block content %}
{% endblock %}
{# {% include 'default/footertemporaire.html.twig' %} #}
{% block javascripts %}
{% javascripts
'@vendors'
'@global'
output='assetic/main.js' filter='?uglifyjs2' %}
<script src="{{ asset_url }}"></script>
{% endjavascripts %}
{% endblock %}
{{ include('FairlaneCookieConsentBundle::cookie-info.html.twig') }}
</body>
</html>
@@ -0,0 +1,49 @@
<!DOCTYPE html>
<html lang="fr">
<head>
<!-- Title -->
<title>{% block title %}{% endblock %}</title>
<!-- Required Meta Tags Always Come First -->
<meta charset="utf-8">
<meta name="robots" content="noindex,nofollow">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
{% block meta %}
{% endblock %}
<!-- Google Fonts -->
<link href="//fonts.googleapis.com/css?family=Roboto:300,400,500,700" rel="stylesheet">
<!-- CSS Implementing Plugins -->
<link rel="stylesheet" href="{{ asset('v2/vendor/font-awesome/css/all.min.css') }}">
<link rel="stylesheet" href="{{ asset('v2/vendor/hs-megamenu/src/hs.megamenu.css') }}">
<link rel="stylesheet" href="{{ asset('v2/vendor/malihu-custom-scrollbar-plugin/jquery.mCustomScrollbar.css') }}">
<link rel="stylesheet" href="{{ asset('v2/vendor/custombox/dist/custombox.min.css') }}">
<link rel="stylesheet" href="{{ asset('v2/vendor/animate.css/animate.min.css') }}">
<link rel="stylesheet" href="{{ asset('v2/vendor/slick-carousel/slick/slick.css') }}">
<link rel="stylesheet" href="{{ asset('v2/vendor/cubeportfolio/css/cubeportfolio.min.css') }}">
<link rel="stylesheet" href="{{ asset('v2/vendor/fancybox/jquery.fancybox.css') }}">
<!-- CSS Space Template -->
<link rel="stylesheet" href="{{ asset('v2/css/theme.css') }}">
<script type="text/javascript"> window.$crisp=[];window.CRISP_WEBSITE_ID="78ec5756-1cd5-4f3f-b0db-cb408c8171da";(function(){ d=document;s=d.createElement("script"); s.src="https://client.crisp.chat/l.js"; s.async=1;d.getElementsByTagName("head")[0].appendChild(s);})(); </script>
</head>
<body>
<!-- Google Tag Manager (noscript) -->
<noscript>
<iframe src="https://www.googletagmanager.com/ns.html?id=GTM-P4G65WJ"
height="0" width="0" style="display:none;visibility:hidden"></iframe>
</noscript>
<!-- End Google Tag Manager (noscript) -->
{#{% include 'default/alert.html.twig' %}#}
{# {% include 'defaultv2/user_switch.html.twig' %}#}
{% include 'defaultv2/header.html.twig' %}
{#{% include 'defaultv2/props_settings.html.twig' %} #}
{% block content %}
{% endblock %}
{% block javascripts %}
{% endblock %}
{# {% include 'defaultv2/footer.html.twig' %} #}
{{ include('FairlaneCookieConsentBundle::cookie-info.html.twig') }}
</body>
</html>
@@ -1,66 +1,119 @@
{% extends 'company/base_dashboard_company.html.twig' %}
{# {% extends 'company/base_dashboard_company.html.twig' %} #}
{% extends 'admin/base_dashboard.html.twig' %}
{% 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">
{% 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.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.lastname }} {{ answer.user.firstname }}</a>
</td>
<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>
{% 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>
<!-- START JUMBOTRON -->
<div class="jumbotron" data-pages="parallax">
<div class=" container-fluid container-fixed-lg sm-p-l-0 sm-p-r-0">
<div class="inner">
<!-- START BREADCRUMB -->
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="/">Accueil</a></li>
<li class="breadcrumb-item"><a href="{{ path('company_ad') }}">Offres d'emploi</a></li>
<li class="breadcrumb-item"><a href="{{ path('company_ad_answer_list',{'id':ad.id}) }}">{{ ad.title }}
</a></li>
</ol>
<!-- END BREADCRUMB -->
</div>
</div>
</div>
{# {% 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">
<div id="note-modal"></div>
<!-- START CONTAINER FLUID -->
<div class=" container-fluid container-fixed-lg bg-white">
<!-- START card -->
<div class="card card-transparent">
<div class="card-header ">
<div class="card-title">Candidatures de l'offre {{ ad.title }}
</div>
</div>
<div class="card-body">
<div id="reponses" class="table-responsive">
<table class="table table-hover" id="basicTable">
<thead>
<tr>
<!-- NOTE * : Inline Style Width For Table Cell is Required as it may differ from user to user
Comman Practice Followed
-->
<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.lastname }}
{{ answer.user.firstname }}</a>
</td>
<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="v-align-middle">
<a title="{{ad.title}}" href="{{ path('company_answer_show',{'id':answer.id }) }}">
<i class="pg-icon">eye</i>
</a>
<a href="#" class="note-action c-pointer" data-func="add" data-answer="{{ answer.id }}">
<i class="pg-icon">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="pg-icon">comment</i>
</a>
{% endfor %}
</td>
</tr>
{% endfor %}
{% if answers|length == 0 %}
<tr><th colspan="4" class="text-center">Aucune candidature pour le moment</th></tr>
{% endif %}
</tbody>
</table>
</div>
</div>
</div>
<!-- END card -->
</div>
<!-- END CONTAINER FLUID -->
</div>
<div id="note-modal"></div>
{% endblock %}
@@ -1,7 +1,7 @@
<div class="col s12" id="breadcrumb">
<a href="{{ path('company_ad') }}">
{# <a href="{{ path('company_ad') }}">
<span>{% trans %}label.offers{% endtrans %}</span>
</a>
</a> #}
{% if step > 1 %}
<span class="sepa-breadcrumb">></span>
<a href="{{ path('company_ad_answer_list',{'id':ad.id}) }}">
@@ -17,3 +17,5 @@
@@ -1,23 +1,240 @@
{% extends 'company/base_dashboard_company.html.twig' %}
{# {% extends 'company/base_dashboard_company.html.twig' %} #}
{% extends 'admin/base_dashboard.html.twig' %}
{% block dashContent %}
<div class="row bg-bordered p-0">
{% include 'company/ad_steps.html.twig' with {'tab':1} %}
<div class="p-20">
{% if form_errors(form) %}
<span class="red-text text-darken-2">{{ form_errors(form) }}</span>
{% endif %}
{{ form_start(form) }}
{{ form_widget(form) }}
<br/>
<div style="text-align: right;">
<button class="btn btn-default" type="submit">Je crée mon annonce</button>
</div>
{{ form_end(form) }}
<!-- START JUMBOTRON -->
<div class="jumbotron" data-pages="parallax">
<div class=" container-fluid container-fixed-lg sm-p-l-0 sm-p-r-0">
<div class="inner">
<!-- START BREADCRUMB -->
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="/">Accueil</a></li>
<li class="breadcrumb-item"><a href="{{ path('company_ad') }}">Offres d'emploi</a></li>
</ol>
<!-- END BREADCRUMB -->
</div>
</div>
</div>
<!-- END JUMBOTRON -->
<!-- START CONTAINER FLUID -->
<div class=" container-fluid container-fixed-lg">
<div id="rootwizard" class="m-t-50">
{% if type is defined and type == 'update' %}
{% include 'company/ad_stepsV2.html.twig' with {'tab':1, 'type':'update'} %}
{% else %}
{% include 'company/ad_stepsV2.html.twig' with {'tab':1} %}
{% endif %}
<div class="tab-content">
{{ form_start(form, {'attr': {'class': ''}}) }}
{% endblock %}
<div class="tab-pane padding-20 sm-no-padding active slide-left" id="tab1">
<div class="row row-same-height">
<div class="col-md-5 b-r b-dashed b-grey sm-b-b">
<div class="padding-30 sm-padding-5 sm-m-t-15 m-t-50">
<i class="material-icons hint-text">info</i>
<h2>Etape 1 : Je crée une annonce</h2>
<p>Pour trouver le bon profil, renseignez et personnalisez votre annonce.
Plus votre annonce est précise et attractive, plus les candidatures seront ciblées.
Afin de créer votre annonce, renseignez lensemble des champs relatifs au poste proposé.</p>
{# <p class="small hint-text">Below is a sample page for your cart , Created using pages design
UI Elementes</p> #}
</div>
</div>
<div class="col-md-7">
<div class="padding-30 sm-padding-5">
<table class="table table-condensed ">
<tr>
<td class="col-lg-12 col-md-12 col-sm-12 ">
{% if form_errors(form) %}
<span class="red-text text-darken-2">{{ form_errors(form) }}</span>
{% endif %}
</td>
</tr>
<tr>
<td class="col-lg-12 col-md-12 col-sm-12 ">
{{ form_row(form.reference) }}
</td>
</tr>
<tr>
<td class="col-lg-12 col-md-12 col-sm-12 ">
{{ form_row(form.title) }}
</td>
</tr>
<tr>
<td class="col-lg-12 col-md-12 col-sm-12">
{{ form_row(form.beneficiaire) }}
</td>
</tr>
<tr>
<td class="col-lg-12 col-md-12 col-sm-12">
{{ form_row(form.location_gmap) }}
{{ form_row(form.location) }}
</td>
</tr>
<tr>
<td class="col-lg-12 col-md-12 col-sm-12">
{{ form_row(form.description) }}
</td>
</tr>
<tr>
<td class="col-lg-12 col-md-12 col-sm-12">
{{ form_row(form.contract_type) }}
</td>
</tr>
<tr>
<td class="col-lg-12 col-md-12 col-sm-12">
{{ form_row(form.status) }}
</td>
</tr>
<tr>
<td class="col-lg-12 col-md-12 col-sm-12">
{{ form_row(form.publicTag) }}
</td>
</tr>
<tr>
<td class="col-lg-12 col-md-12 col-sm-12 ">
<button aria-label="" type="submit" class="btn btn-primary btn-cons btn-animated from-left pull-right"
type="button">
<span>{% if type is defined and type == 'update' %}Sauvegarde et étape suivante {% else %}Je crée mon annonce{% endif %}</span>
<span class="hidden-block">
<i class="material-icons fs-16">videocam</i>
</span>
</button>
{# <button class="btn btn-default" type="submit">Je crée mon annonce!</button> #}
</td>
</tr>
</table>
</div>
</div>
</div>
</div>
{{ form_end(form) }}
<div class="tab-pane slide-left padding-20 sm-no-padding disabled" id="tab2">
<div class="row row-same-height">
<div class="col-md-5 b-r b-dashed b-grey ">
<div class="padding-30 sm-padding-5 sm-m-t-15 m-t-50">
</div>
</div>
<div class="col-md-7">
<div class="padding-30 sm-padding-5">
</div>
</div>
</div>
</div>
<div class="tab-pane slide-left padding-20 sm-no-padding disabled" id="tab3">
<div class="row row-same-height">
<div class="col-md-5 b-r b-dashed b-grey ">
<div class="padding-30 sm-padding-5 sm-m-t-15 m-t-50">
<h2>We Secured Your Line</h2>
<p>Below is a sample page for your cart , Created using pages design UI Elementes</p>
<p class="small hint-text">Below is a sample page for your cart , Created using pages design
UI Elementes</p>
<table class="table table-condensed">
<tr>
<td class=" col-md-9">
<span class="m-l-10 font-montserrat fs-11 all-caps">Webarch UI Framework</span>
<span class="m-l-10 ">Dashboard UI Pack</span>
</td>
<td class=" col-md-3 text-right">
<span>Qty 1</span>
</td>
</tr>
<tr>
<td class=" col-md-9">
<span class="m-l-10 font-montserrat fs-11 all-caps">Pages UI Framework</span>
<span class="m-l-10 ">Next Gen UI Pack</span>
</td>
<td class=" col-md-3 text-right">
<span>Qty 1</span>
</td>
</tr>
<tr>
<td colspan="2" class=" col-md-3 text-right">
<h4 class="text-primary no-margin font-montserrat">$27</h4>
</td>
</tr>
</table>
<p class="small">Invoice are issued on the date of despatch. Payment terms: Pre-orders:
within 10 days of invoice date with 4% discount, from the 11th to the 30th day net.
Re-orders: non-reduced stock items are payable net after 20 days. </p>
<p class="small">By pressing Pay Now You will Agree to the Payment <a href="#">Terms &amp;
Conditions</a></p>
</div>
</div>
<div class="col-md-7">
<div class="padding-30 sm-padding-5">
</div>
</div>
</div>
</div>
<div class="padding-20 sm-padding-5 sm-m-b-20 sm-m-t-20 bg-white clearfix">
{# <ul class="pager wizard no-style">
<li class="next">
<button aria-label="" class="btn btn-primary btn-cons btn-animated from-left pull-right"
type="button">
<span>Je crée mon annonce</span>
<span class="hidden-block">
<i class="material-icons fs-16">local_shipping</i>
</span>
</button>
</li>
<li class="next finish hidden">
<button aria-label="" class="btn btn-primary btn-cons btn-animated from-left pull-right"
type="button">
<span>Finish</span>
<span class="hidden-block">
<i class="material-icons fs-16">settings</i>
</span>
</button>
</li>
<li class="previous first hidden">
<button aria-label="" class="btn btn-default btn-cons btn-animated from-left pull-right"
type="button">
<span>First</span>
<span class="hidden-block">
<i class="material-icons fs-16">settings</i>
</span>
</button>
</li>
<li class="previous">
<button aria-label="" class="btn btn-default btn-cons btn-animated from-left pull-right"
type="button">
<span>Previous</span>
<span class="hidden-block">
<i class="material-icons fs-14">settings</i>
</span>
</button>
</li>
</ul> #}
</div>
<div class="wizard-footer padding-20 bg-contrast-low">
<p class="small hint-text pull-left no-margin">
</p>
<div class="pull-right">
</div>
<div class="clearfix"></div>
</div>
</div>
</div>
</div>
<!-- END CONTAINER FLUID -->
{% endblock %}
@@ -1,29 +1,236 @@
{% extends 'company/base_dashboard_company.html.twig' %}
{# {% extends 'company/base_dashboard_company.html.twig' %} #}
{% extends 'admin/base_dashboard.html.twig' %}
{% block dashContent %}
<div class="row bg-bordered p-0">
{% include 'company/ad_steps.html.twig' with {'tab':1} %}
<div class="p-20">
{% if form_errors(form) %}
<div class="card-panel">
<span class="red-text text-darken-2">
{{ form_errors(form) }}
</span>
</div>
{% endif %}
{{ form_start(form) }}
{{ form_rest(form) }}
<br/>
{% if type is defined and type == "soft" %}
<button class="btn btn-default" type="submit">Enregistrer</button>
{% else %}
<button class="btn btn-default" type="submit">Etape suivante</button>
{% endif %}
{{ form_end(form) }}
<!-- START JUMBOTRON -->
<div class="jumbotron" data-pages="parallax">
<div class=" container-fluid container-fixed-lg sm-p-l-0 sm-p-r-0">
<div class="inner">
<!-- START BREADCRUMB -->
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="/">Accueil</a></li>
<li class="breadcrumb-item"><a href="{{ path('company_ad') }}">Offres d'emploi</a></li>
</ol>
<!-- END BREADCRUMB -->
</div>
</div>
</div>
<!-- END JUMBOTRON -->
<!-- START CONTAINER FLUID -->
<div class=" container-fluid container-fixed-lg">
<div id="rootwizard" class="m-t-50">
{% include 'company/ad_stepsV2.html.twig' with {'tab':1} %}
<div class="tab-content">
<div class="tab-pane padding-20 sm-no-padding active slide-left" id="tab1">
<div class="row row-same-height">
<div class="col-md-5 b-r b-dashed b-grey sm-b-b">
<div class="padding-30 sm-padding-5 sm-m-t-15 m-t-50">
<i class="material-icons hint-text">shopping_cart</i>
<h2>Etape 1 : Je crée/modifie une annonce</h2>
<p>Pour trouver le bon profil, renseignez et personnalisez votre annonce.
Plus votre annonce est précise et attractive, plus les candidatures seront ciblées.
Afin de créer votre annonce, renseignez lensemble des champs relatifs au poste proposé.</p>
{# <p class="small hint-text">Below is a sample page for your cart , Created using pages design
UI Elementes</p> #}
</div>
</div>
<div class="col-md-7">
<div class="padding-30 sm-padding-5">
{{ form_start(form, {'attr': {'class': 'form-horizontal'}}) }}
<table class="table table-condensed form-horizontal">
<tr>
<td class="col-lg-12 col-md-12 col-sm-12 ">
{% if form_errors(form) %}
<span class="red-text text-darken-2">{{ form_errors(form) }}</span>
{% endif %}
</td>
</tr>
<tr>
<td class="col-lg-12 col-md-12 col-sm-12 ">
{% if form.reference is defined%}
{{ form_row(form.reference) }}
{% endif %}
</td>
</tr>
<tr>
<td class="col-lg-12 col-md-12 col-sm-12 ">
{% if form.title is defined%}
{{ form_row(form.title) }}
{% endif %}
</td>
</tr>
<tr>
<td class="col-lg-12 col-md-12 col-sm-12">
{{ form_row(form.beneficiaire) }}
</td>
</tr>
<tr>
<td class="col-lg-12 col-md-12 col-sm-12">
{{ form_row(form.location_gmap) }}
{{ form_row(form.location) }}
</td>
</tr>
<tr>
<td class="col-lg-12 col-md-12 col-sm-12">
{{ form_row(form.description) }}
</td>
</tr>
<tr>
<td class="col-lg-12 col-md-12 col-sm-12">
{{ form_row(form.contract_type) }}
</td>
</tr>
<tr>
<td class="col-lg-12 col-md-12 col-sm-12">
{{ form_row(form.publicTag) }}
</td>
</tr>
<tr>
<td class="col-lg-12 col-md-12 col-sm-12">
{{ form_row(form.status) }}
</td>
</tr>
<tr>
<td class="col-lg-12 col-md-12 col-sm-12 ">
<button aria-label="" type="submit" class="btn btn-primary btn-cons btn-animated from-left pull-right"
type="button">
<span>Je crée mon annonce</span>
<span class="hidden-block">
<i class="material-icons fs-16">local_shipping</i>
</span>
</button>
{# <button class="btn btn-default" type="submit">Je crée mon annonce!</button> #}
</td>
</tr>
</table>
{{ form_end(form) }}
</div>
</div>
</div>
</div>
<div class="tab-pane slide-left padding-20 sm-no-padding disabled" id="tab2">
<div class="row row-same-height">
<div class="col-md-5 b-r b-dashed b-grey ">
<div class="padding-30 sm-padding-5 sm-m-t-15 m-t-50">
</div>
</div>
<div class="col-md-7">
<div class="padding-30 sm-padding-5">
</div>
</div>
</div>
</div>
<div class="tab-pane slide-left padding-20 sm-no-padding disabled" id="tab3">
<div class="row row-same-height">
<div class="col-md-5 b-r b-dashed b-grey ">
<div class="padding-30 sm-padding-5 sm-m-t-15 m-t-50">
<h2>We Secured Your Line</h2>
<p>Below is a sample page for your cart , Created using pages design UI Elementes</p>
<p class="small hint-text">Below is a sample page for your cart , Created using pages design
UI Elementes</p>
<table class="table table-condensed">
<tr>
<td class=" col-md-9">
<span class="m-l-10 font-montserrat fs-11 all-caps">Webarch UI Framework</span>
<span class="m-l-10 ">Dashboard UI Pack</span>
</td>
<td class=" col-md-3 text-right">
<span>Qty 1</span>
</td>
</tr>
<tr>
<td class=" col-md-9">
<span class="m-l-10 font-montserrat fs-11 all-caps">Pages UI Framework</span>
<span class="m-l-10 ">Next Gen UI Pack</span>
</td>
<td class=" col-md-3 text-right">
<span>Qty 1</span>
</td>
</tr>
<tr>
<td colspan="2" class=" col-md-3 text-right">
<h4 class="text-primary no-margin font-montserrat">$27</h4>
</td>
</tr>
</table>
<p class="small">Invoice are issued on the date of despatch. Payment terms: Pre-orders:
within 10 days of invoice date with 4% discount, from the 11th to the 30th day net.
Re-orders: non-reduced stock items are payable net after 20 days. </p>
<p class="small">By pressing Pay Now You will Agree to the Payment <a href="#">Terms &amp;
Conditions</a></p>
</div>
</div>
<div class="col-md-7">
<div class="padding-30 sm-padding-5">
</div>
</div>
</div>
</div>
<div class="padding-20 sm-padding-5 sm-m-b-20 sm-m-t-20 bg-white clearfix">
{# <ul class="pager wizard no-style">
<li class="next">
<button aria-label="" class="btn btn-primary btn-cons btn-animated from-left pull-right"
type="button">
<span>Je crée mon annonce</span>
<span class="hidden-block">
<i class="material-icons fs-16">local_shipping</i>
</span>
</button>
</li>
<li class="next finish hidden">
<button aria-label="" class="btn btn-primary btn-cons btn-animated from-left pull-right"
type="button">
<span>Finish</span>
<span class="hidden-block">
<i class="material-icons fs-16">settings</i>
</span>
</button>
</li>
<li class="previous first hidden">
<button aria-label="" class="btn btn-default btn-cons btn-animated from-left pull-right"
type="button">
<span>First</span>
<span class="hidden-block">
<i class="material-icons fs-16">settings</i>
</span>
</button>
</li>
<li class="previous">
<button aria-label="" class="btn btn-default btn-cons btn-animated from-left pull-right"
type="button">
<span>Previous</span>
<span class="hidden-block">
<i class="material-icons fs-14">settings</i>
</span>
</button>
</li>
</ul> #}
</div>
<div class="wizard-footer padding-20 bg-contrast-low">
<p class="small hint-text pull-left no-margin">
</p>
<div class="pull-right">
</div>
<div class="clearfix"></div>
</div>
</div>
</div>
</div>
<!-- END CONTAINER FLUID -->
{% endblock %}
@@ -3,7 +3,7 @@
{% block dashContent %}
{% include 'default/flash_message.html.twig' %}
<div class="row bg-bordered p-20">
<h1 class="alttitle">Prolongondation de mon annonce : {{ ad.title }}</h1>
<h1 class="alttitle">Prolongation de mon annonce : {{ ad.title }}</h1>
<div class="row">
<div class="col s12">
Date actuelle de fin de publication de votre annonce : {{ ad.unpublishedat|date('d-m-Y') }}

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