Compare commits
243 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| b5791997d8 | |||
| d51add8f1d | |||
| 579c800dc9 | |||
| 24897eab5e | |||
| bde2c84cde | |||
| eee791b08f | |||
| 874027d494 | |||
| 328a3821b8 | |||
| 807a9351ea | |||
| 21f5912384 | |||
| 2d35cd41f1 | |||
| 04a3a0d9c7 | |||
| be7e738839 | |||
| 67825d024d | |||
| 85ba5dcbae | |||
| b914b0ea96 | |||
| 48240d5cab | |||
| c1dc54d036 | |||
| c801856bfc | |||
| e8c9052e35 | |||
| b86aa8960b | |||
| c770fd16c2 | |||
| 36fa91f2b3 | |||
| ff55b409e0 | |||
| ee57f4ebaf | |||
| cd3b2986a5 | |||
| 79a075a034 | |||
| ad8581d9e7 | |||
| 371493e01f | |||
| 64210c330b | |||
| 088f7f2edc | |||
| d01afc28aa | |||
| d831ffaff5 | |||
| f540542aa0 | |||
| dd9d6f7901 | |||
| 714bd5ff87 | |||
| 9cb079cbba | |||
| 8003feec05 | |||
| 4616dbd65a | |||
| 1ef4a57848 | |||
| 8bae304f0d | |||
| acacaae6de | |||
| fb8239e987 | |||
| 088e680230 | |||
| 2fdc095c31 | |||
| 4ca1962829 | |||
| 19e3b11066 | |||
| ef2550568f | |||
| 9845e11954 | |||
| 0447b333ec | |||
| fb58eaec0f | |||
| b145eb1628 | |||
| d29cb07d46 | |||
| b50ad1de77 | |||
| 4cad444833 | |||
| 94885d96bc | |||
| 6902b005b4 | |||
| 2b9abe5bec | |||
| 8fa429e35a | |||
| 81eb21d84b | |||
| 097dd88b5e | |||
| 527ab850db | |||
| fbc2e414ea | |||
| c81b5e9c51 | |||
| 57e5c2eff6 | |||
| 6e29500a1b | |||
| 23423cd831 | |||
| 3e2827d624 | |||
| 08bb1ea10e | |||
| f1e23410d4 | |||
| 922f526ddd | |||
| 9a4de2f6ca | |||
| a4995ac616 | |||
| 8f70911b2e | |||
| 54c255cf33 | |||
| 553727cbe1 | |||
| 783485b96e | |||
| f01215b074 | |||
| e65afe3b24 | |||
| c3696934e9 | |||
| 12cc628f14 | |||
| c63302acbf | |||
| 6aa736a4a2 | |||
| 05ceeb440e | |||
| 539878e73b | |||
| 1c7a1732a6 | |||
| ac975c7604 | |||
| 56d2f199b5 | |||
| 1a3955a605 | |||
| e69b5d80cd | |||
| 8706d63867 | |||
| 8c0c1f7720 | |||
| 2628883568 | |||
| 8918b3708b | |||
| f75989129e | |||
| 0b563e9658 | |||
| 9e70ee745b | |||
| 3bdc496c03 | |||
| 1cccee38b8 | |||
| e613fa78fb | |||
| a552221f60 | |||
| 0b7db51bfb | |||
| a97a794dec | |||
| 1c2a944ca5 | |||
| 08555463fd | |||
| a8c04f48b0 | |||
| 0c86cd00ac | |||
| 60365023ac | |||
| 2c40323718 | |||
| 76a028cd88 | |||
| 52ad0cf32e | |||
| 7e94b1e104 | |||
| 54e971d918 | |||
| 3a82158fe3 | |||
| 34b3e260bc | |||
| 362006818e | |||
| d6f8941e47 | |||
| 4faedfa9b9 | |||
| 77989ab3d8 | |||
| 8b0b253f4a | |||
| 560669f316 | |||
| 0d0c725aaf | |||
| ea11a42efd | |||
| 0be29b5255 | |||
| 6f539f0605 | |||
| e91582f846 | |||
| e72b86c95a | |||
| 58feccb9d0 | |||
| 09484f45ca | |||
| 39bf55c815 | |||
| e8f7cce07b | |||
| d56dc27fe1 | |||
| 2ee49175ef | |||
| 6fc93372a7 | |||
| 6f0379c7aa | |||
| 2491b253c6 | |||
| df3bb979e9 | |||
| bc75bb7afc | |||
| ef5f0e81da | |||
| 88ceb319af | |||
| f314a614fe | |||
| b19498ef46 | |||
| 6313039500 | |||
| f098e4b6b8 | |||
| ed70e8c940 | |||
| 9762aee7ae | |||
| d0fd19d760 | |||
| 3ccf2b9604 | |||
| babfa473fb | |||
| 0bcd46fde8 | |||
| c976bb6d21 | |||
| d301c3b029 | |||
| c5a1aebecc | |||
| e516e45cb0 | |||
| 441304c363 | |||
| 3399a82379 | |||
| 4e111ae3cd | |||
| ed669974a1 | |||
| a5742f2c1e | |||
| 02c68a48c9 | |||
| cce45d834f | |||
| 0373f01013 | |||
| cbcf51f93d | |||
| dffb439bb3 | |||
| 4b2c5fc222 | |||
| 13073d59e4 | |||
| 8e995cef82 | |||
| 57b7db7f43 | |||
| 349bc309bd | |||
| 492d2687c5 | |||
| 2fa50e3d5b | |||
| e6e00c1659 | |||
| db7cc56e3a | |||
| 7b5e7bc53a | |||
| db07bc80c8 | |||
| 0d7c6466ec | |||
| 27ecf6f81c | |||
| 1e03451b37 | |||
| 55eb1ed363 | |||
| 6ddf703f9e | |||
| 6f8671bc8f | |||
| b1185018de | |||
| 5d8357231c | |||
| 5474397f5f | |||
| aeb4328e23 | |||
| 44d0711dc1 | |||
| 9f6c1a740f | |||
| 4da427bac0 | |||
| 766e57e849 | |||
| 3c3b8c8428 | |||
| 717e57dc81 | |||
| 8063c8479e | |||
| 56444f6363 | |||
| 9e7ef88bea | |||
| 04229b0781 | |||
| 3f7c0803f1 | |||
| c99b3d2236 | |||
| 580bf6ecb4 | |||
| 4edfae9f1c | |||
| 82bf5fa76f | |||
| 3fb8262649 | |||
| 870654c850 | |||
| 9413202660 | |||
| 215e325a8c | |||
| 9f8682c896 | |||
| f4f9191bd1 | |||
| 9709b69125 | |||
| 6f19c7df97 | |||
| ff33129d80 | |||
| 1b76548c91 | |||
| 9578eb96c9 | |||
| c4af665c26 | |||
| c48fe53e6a | |||
| d69f32c657 | |||
| dba776d15f | |||
| bb3ed610ab | |||
| 7779cdbf66 | |||
| 95d58a14e0 | |||
| f8db5a4b1c | |||
| ca23af2623 | |||
| 75145d9e1c | |||
| b885e6866c | |||
| dbb06990d5 | |||
| f8c0b75ec2 | |||
| b54d162032 | |||
| 78c15596cd | |||
| 74f9c7b884 | |||
| dca95338a9 | |||
| 5bb76aa419 | |||
| d5532926aa | |||
| 1707d28fc7 | |||
| 39143908af | |||
| b2b075ffe7 | |||
| 91c7ebb145 | |||
| 66e5fd4c6c | |||
| 80f8ad7043 | |||
| e1c3f77e68 | |||
| 14cc09b25f | |||
| bdbe45e1a2 | |||
| 66af01c050 | |||
| a38b63f87f | |||
| 2a2ef6673d | |||
| f3d618b640 |
@@ -10,3 +10,5 @@
|
||||
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
|
||||
TODO
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -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,10 +14,17 @@ $(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))
|
||||
@@ -77,8 +84,8 @@ db-backup-store:
|
||||
db-restore-all: db-restore-website db-restore-store
|
||||
|
||||
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 +102,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 +111,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)
|
||||
@@ -2,8 +2,7 @@ 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
|
||||
@@ -12,7 +11,14 @@ RUN echo 'fr_FR.UTF-8 UTF-8' > /etc/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 -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 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 \
|
||||
@@ -40,7 +46,7 @@ RUN curl --location --silent --show-error https://symfony.com/installer -o /usr/
|
||||
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-js) \
|
||||
RUN (npm install -g uglify-es) \
|
||||
&& ln -s /usr/bin/nodejs /usr/local/bin/node
|
||||
|
||||
RUN apt-get clean \
|
||||
|
||||
@@ -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 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 \
|
||||
@@ -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/
|
||||
@@ -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/
|
||||
@@ -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%%"
|
||||
@@ -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/
|
||||
@@ -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
|
||||
@@ -0,0 +1,2 @@
|
||||
[www]
|
||||
access.format = "%R [%t] \"%m %r%Q%q\" %s %f %{mili}dms %{kilo}MKb %C%%"
|
||||
@@ -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
|
||||
Vendored
-4
@@ -1,4 +0,0 @@
|
||||
MYSQL_ROOT_PASSWORD=
|
||||
MYSQL_DATABASE=database
|
||||
MYSQL_USER=user
|
||||
MYSQL_PASSWORD=
|
||||
Vendored
-3
@@ -1,3 +0,0 @@
|
||||
POSTGRES_USER=
|
||||
POSTGRES_PASSWORD=
|
||||
POSTGRES_DB=
|
||||
@@ -1 +1,2 @@
|
||||
conf/nginx.conf
|
||||
/vendor/
|
||||
@@ -2,3 +2,46 @@ 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
|
||||
|
||||
## 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)
|
||||
@@ -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;
|
||||
|
||||
@@ -166,9 +166,17 @@
|
||||
<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>
|
||||
</trans-unit>
|
||||
<trans-unit id="profile.edit.save">
|
||||
<source>profile.edit.save</source>
|
||||
<target>Enregistrer</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="profile.company.title">
|
||||
<source>profile.company.title</source>
|
||||
@@ -226,6 +234,30 @@
|
||||
<source>profile.company.logo</source>
|
||||
<target>Logo de l'entreprise</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="talent.profile.title.label">
|
||||
<source>talent.profile.title.label</source>
|
||||
<target>Titre de votre profil</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="talent.profile.situation.label">
|
||||
<source>talent.profile.situation.label</source>
|
||||
<target>Votre situation</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="talent.profile.description.label">
|
||||
<source>talent.profile.description.label</source>
|
||||
<target>Quelques mots sur vous</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="profile.talent.tags">
|
||||
<source>profile.talent.tags</source>
|
||||
<target>Vos compétences.</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="profile.talent.under.tags">
|
||||
<source>profile.talent.under.tags</source>
|
||||
<target>Définissez vos clés dans l’ordre d’importance. Vous pouvez indiquer jusqu’à 50 compétences.</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="talent.menu.dashboard.label">
|
||||
<source>talent.menu.dashboard.label</source>
|
||||
<target>Mon profil</target>
|
||||
</trans-unit>
|
||||
<!-- ANNONCE-->
|
||||
<trans-unit id="ad.company.add.label">
|
||||
<source>ad.company.add.label</source>
|
||||
@@ -305,6 +337,82 @@
|
||||
<source>talent.menu.recommandations.label</source>
|
||||
<target>Mes recommandations</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="talent.profile.career.company.label">
|
||||
<source>talent.profile.career.company.label</source>
|
||||
<target>Entreprise</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="talent.profile.career.job.label">
|
||||
<source>talent.profile.career.job.label</source>
|
||||
<target>Intitulé du poste</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="talent.profile.career.begin.label">
|
||||
<source>talent.profile.career.begin.label</source>
|
||||
<target>Début</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="talent.profile.career.end.label">
|
||||
<source>talent.profile.career.end.label</source>
|
||||
<target>Fin</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="talent.profile.career.skills.label">
|
||||
<source>talent.profile.career.skills.label</source>
|
||||
<target>Vos compétences</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="talent.profile.career.actualJob.label">
|
||||
<source>talent.profile.career.actualJob.label</source>
|
||||
<target>Toujours en poste</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="talent.profile.career.place.label">
|
||||
<source>talent.profile.career.place.label</source>
|
||||
<target>Lieux</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="talent.profile.formation.name.label">
|
||||
<source>talent.profile.formation.name.label</source>
|
||||
<target>Diplome</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="talent.profile.formation.school.label">
|
||||
<source>talent.profile.formation.school.label</source>
|
||||
<target>Ecole</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="talent.profile.formation.actual.label">
|
||||
<source>talent.profile.formation.actual.label</source>
|
||||
<target>Toujours en cours</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="talent.profile.formation.obtention.label">
|
||||
<source>talent.profile.formation.obtention.label</source>
|
||||
<target>Année d'obtention</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="talent.profile.language.skill.1.label">
|
||||
<source>talent.profile.language.skill.1.label</source>
|
||||
<target>Notions</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="talent.profile.language.skill.2.label">
|
||||
<source>talent.profile.language.skill.2.label</source>
|
||||
<target>Compétence professionnelle limitée</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="talent.profile.language.skill.3.label">
|
||||
<source>talent.profile.language.skill.3.label</source>
|
||||
<target>Compétence professionnelle complète</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="talent.profile.language.skill.4.label">
|
||||
<source>talent.profile.language.skill.4.label</source>
|
||||
<target>Bilingue ou natif</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="talent.profile.language.name.label">
|
||||
<source>talent.profile.language.name.label</source>
|
||||
<target>Langue</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="talent.profile.situation.1.label">
|
||||
<source>talent.profile.situation.1.label</source>
|
||||
<target>En recherche d’emploi</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="talent.profile.situation.2.label">
|
||||
<source>talent.profile.situation.2.label</source>
|
||||
<target>À l’écoute d’opportunités</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="talent.profile.situation.3.label">
|
||||
<source>talent.profile.situation.3.label</source>
|
||||
<target>En poste</target>
|
||||
</trans-unit>
|
||||
<!-- TALENT -->
|
||||
<trans-unit id="ad.talent.answer.label">
|
||||
<source>ad.talent.answer.label</source>
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
j.src =
|
||||
'https://www.googletagmanager.com/gtm.js?id=' + i + dl;
|
||||
f.parentNode.insertBefore(j, f);
|
||||
})(window, document, 'script', 'dataLayer', 'GTM-P4G65WJ');
|
||||
})(window, document, 'script', 'dataLayer', 'UA-98246968-1');
|
||||
</script>
|
||||
<!-- End Google Tag Manager -->
|
||||
<script type="text/javascript" defer="defer" src="https://extend.vimeocdn.com/ga/64189815.js"></script>
|
||||
@@ -70,6 +70,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 +80,7 @@
|
||||
'@global'
|
||||
output='assetic/main.js' filter='?uglifyjs2' %}
|
||||
<script src="{{ asset_url }}"></script>
|
||||
|
||||
{% endjavascripts %}
|
||||
{% endblock %}
|
||||
{{ include('FairlaneCookieConsentBundle::cookie-info.html.twig') }}
|
||||
|
||||
@@ -15,11 +15,18 @@
|
||||
{% include 'company/ad_breadcrumb.html.twig' with {'step': 3,'ad': answer.ad,'firstname':answer.user.firstname ,'lastname':answer.user.lastname} %}
|
||||
<div class="col s12 m6">
|
||||
<div id="mini-profil-block">
|
||||
<a target="_blank" href="{{ path('talent_show',{'alias':answer.user.company.alias} ) }}">
|
||||
{% include 'talent/talent_picture.html.twig' with {
|
||||
'user' : answer.user
|
||||
} %}
|
||||
</a>
|
||||
<div>
|
||||
<div class="mini-profil-picture-name">{{ answer.user.firstname }} {{ answer.user.lastname }}</div>
|
||||
<div class="mini-profil-picture-name">
|
||||
<a target="_blank" href="{{ path('talent_show',{'alias':answer.user.company.alias} ) }}">
|
||||
{{ answer.user.firstname }} {{ answer.user.lastname }}
|
||||
<i class="fa fa-user-circle"></i>
|
||||
</a>
|
||||
</div>
|
||||
<div>Recu le {{ answer.sendTime|date('d/m/Y') }}</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -68,11 +68,11 @@
|
||||
- {{ company.addresses.billing.country|country }}</p>
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="col s12 profil-links">
|
||||
<div class="col s12 profil-links center-align">
|
||||
{% if company.website %}
|
||||
<a target="_blank" href="{{ company.website }}" class="td-none">
|
||||
<span class="fa-stack fa-lg">
|
||||
<i class="fa fa-circle fa-stack-2x z-depth-2"></i>
|
||||
<i class="fa fa-circle fa-stack-2x"></i>
|
||||
<i class="fa fa-link fa-stack-1x fa-inverse"></i>
|
||||
</span>
|
||||
</a>
|
||||
|
||||
@@ -46,9 +46,9 @@
|
||||
<span class="clearfix"></span>
|
||||
<div class="keywords">
|
||||
{% if a.publicTag %}
|
||||
{% for keyword in a.publicTag %}
|
||||
{% for tag in a.publicTag %}
|
||||
<div class="chip">
|
||||
{{ keyword }}
|
||||
<a href="{{ path('ad_search_result',{'tag':tag }) }}">{{ tag }}</a>
|
||||
</div>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
|
||||
@@ -52,7 +52,9 @@
|
||||
<div class="col s11 col-noPadding" style="position:relative;">
|
||||
<div class="frame" id="basic">
|
||||
<ul class="slidee">{% for tag in a.publicTag %}
|
||||
<li class="chip">{{ tag }}</li>{% endfor %}</ul>
|
||||
<li class="chip">
|
||||
<a href="{{ path('ad_search_result',{'tag':tag }) }}" class="hover-blue2">{{ tag }}</a>
|
||||
</li>{% endfor %}</ul>
|
||||
</div>
|
||||
<div class="controls center">
|
||||
<a class="prev"><i class="fa fa-arrow-circle-left" aria-hidden="true"></i></a>
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
{% else %}#}
|
||||
<div class="embed-responsive embed-responsive-16by9">
|
||||
<div class="col s12">
|
||||
<iframe src="https://player.vimeo.com/video/{{ ad.video.cdnUrl|replace({ "/videos/": ""}) }}"
|
||||
<iframe src="https://player.vimeo.com/video/{{ ad.video.cdnUrl|replace({ "/videos/": ""}) }}?texttrack=fr"
|
||||
width="100%" height="640" frameborder="0" webkitallowfullscreen mozallowfullscreen
|
||||
allowfullscreen></iframe>
|
||||
</div>
|
||||
@@ -51,6 +51,11 @@
|
||||
OFFRE POURVUE
|
||||
</div>
|
||||
{% endif %}
|
||||
{% if ad.id == 53 %}
|
||||
<div class="isPromoted">
|
||||
Traitement des candidatures vidéos
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
@@ -76,9 +81,8 @@
|
||||
</div>
|
||||
<div class="col s12">
|
||||
{% for tag in ad.publicTag %}
|
||||
<p class="chip">{{ tag }}</p>
|
||||
<p class="chip"><a href="{{ path('ad_search_result',{'tag':tag }) }}" class="hover-blue2">{{ tag }}</a></p>
|
||||
{% endfor %}
|
||||
|
||||
<div class="item-detail-description">
|
||||
<h3 class="blue-text">Détails de l'offre d'emploi</h3>
|
||||
<p>{{ ad.description|nl2br }}</p>
|
||||
@@ -99,12 +103,14 @@
|
||||
</div>
|
||||
{% elseif not is_granted('ROLE_COMPANY') %}
|
||||
{% if not ad.isPromoted %}
|
||||
{% if ad.id != 53 %}
|
||||
<p class="item-detail-reply">
|
||||
<a title="postuler-bottom" href="{{ path('talent_answer_create',{'id': ad.getId()}) }}"
|
||||
class="btn btn-default">
|
||||
Postuler
|
||||
</a>
|
||||
</p>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
@@ -188,6 +194,10 @@
|
||||
<script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyDYV8IJGtIoWLfXJQQvIuDQ88n2aEuRgpg&libraries=places"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function(){
|
||||
//asking for push
|
||||
EdeclicLib = window.EdeclicLib || {};
|
||||
EdeclicLib.delayedAsk();
|
||||
//
|
||||
$('.tooltipped').tooltip();
|
||||
$.get( "{{ path('ad_ajaxRecStat',{'id': ad.id }) }}", function( data ) {});
|
||||
if ($('#modal-answer').length > 0) {
|
||||
|
||||
@@ -57,12 +57,14 @@
|
||||
</div>
|
||||
{% elseif not is_granted('ROLE_COMPANY') %}
|
||||
{% if not ad.isPromoted %}
|
||||
{% if ad.id != 53 %}
|
||||
<p class="item-detail-reply">
|
||||
<a title="postuler-side" href="{{ path('talent_answer_create',{'id': ad.getId()}) }}"
|
||||
class="btn btn-default">
|
||||
Postuler
|
||||
</a>
|
||||
</p>
|
||||
{% endif %}
|
||||
{% else %}
|
||||
<div class="item-detail-ispromoted">
|
||||
Offre pourvue
|
||||
|
||||
@@ -13,15 +13,17 @@
|
||||
{% else %}
|
||||
<div class="header-link header-link-signin right-align">
|
||||
{% if is_granted('ROLE_TALENT') %}
|
||||
{% set path = path('talent_dashboard') %}
|
||||
{% set pathDash = path('talent_dashboard') %}
|
||||
{% elseif is_granted('ROLE_COMPANY') %}
|
||||
{% set path = path('company_dashboard') %}
|
||||
{% set pathDash = path('company_dashboard') %}
|
||||
{% elseif is_granted('ROLE_TERRITORY') %}
|
||||
{% set path = path('territory_dashboard') %}
|
||||
{% set pathDash = path('territory_dashboard') %}
|
||||
{% elseif is_granted('ROLE_ADMIN') %}
|
||||
{% set path = path('admin_dashboard') %}
|
||||
{% set pathDash = path('admin_dashboard') %}
|
||||
{% else %}
|
||||
{% set pathDash = path('talent_dashboard') %}
|
||||
{% endif %}
|
||||
<a class="btn button-round-small" href="{{ path }}">
|
||||
<a class="btn button-round-small" href="{{ pathDash }}">
|
||||
<i class="material-icons">perm_identity</i>
|
||||
<span>Mon compte</span>
|
||||
</a>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
{% set destination = path('redirect_dashboard') %}
|
||||
{% endif %}
|
||||
<a class="btn btn-default btn-facebook z-depth-2" href="{{ url("hwi_oauth_service_redirect", {service: "facebook"}) }}?_destination={{ destination }}">Connexion avec Facebook</a>
|
||||
<a class="btn btn-default btn-linkedin z-depth-2" href="{{ url("hwi_oauth_service_redirect", {service: "linkedin"}) }}?_destination={{ destination }}">Connexion avec Linkedin</a>
|
||||
{# <a class="btn btn-default btn-linkedin z-depth-2" href="{{ url("hwi_oauth_service_redirect", {service: "linkedin"}) }}?_destination={{ destination }}">Connexion avec Linkedin</a> #}
|
||||
<div class="row">
|
||||
<div class="col s12">
|
||||
<div class="separator-with-label">
|
||||
|
||||
@@ -3,23 +3,49 @@
|
||||
<div class="row">
|
||||
<div class="col s12 m12 l10">
|
||||
<ul id='dropdown_talents' class='dropdown-content'>
|
||||
<li><a href="{{ path('ad_search_result') }}" title="Offres d'emploi vidéos">Offres d'emploi</a></li>
|
||||
<li><a href="{{ path('page_cvVideo') }}" title="Le Cv vidéo">Le CV vidéo</a></li>
|
||||
<li><a href="{{ path('page_reussirCVvideo') }}" title="Comment faire son CV Vidéo ?">Comment faire son CV Vidéo ?</a></li>
|
||||
<li><a href="{{ path('page_accompagnementTalent') }}" title="Accompagnement talent">Accompagnement</a></li>
|
||||
<li><a href="{{ path('talent_cv_import') }}" title="Créer mon CV vidéo">Créer mon CV vidéo</a></li>
|
||||
<li>
|
||||
<a href="{{ path('ad_search_result') }}" title="Offres d'emploi vidéos">Offres d'emploi</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="{{ path('page_cvVideo') }}" title="Le Cv vidéo">Le CV vidéo</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="{{ path('page_reussirCVvideo') }}" title="Comment faire son CV Vidéo ?">Comment faire son CV Vidéo ?</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="{{ path('page_accompagnementTalent') }}" title="Accompagnement talent">Accompagnement</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="{{ path('talent_cv_import') }}" title="Créer mon CV vidéo">Créer mon CV vidéo</a>
|
||||
</li>
|
||||
</ul>
|
||||
<ul id='dropdown_company' class='dropdown-content'>
|
||||
<li><a href="{{ path('company_list') }}" title="Les entreprises qui recrutent">Les entreprises qui recrutent</a></li>
|
||||
<li><a href="{{ path('page_OffreEmploi') }}" title="L'offre d'emploi en vidéo">L'offre d'emploi en vidéo</a></li>
|
||||
<li><a href="{{ path('page_reussirOffrevideo') }}" title="Comment faire une offre en vidéo">Comment faire une offre en vidéo</a></li>
|
||||
<li><a href="{{ path('page_MarqueEmployeur') }}" title="Vidéo Marque Employeur">Vidéo Marque Employeur</a></li>
|
||||
<li><a href="{{ path('page_accompagnementEntreprise') }}" title="Conseils & accompagnement">Conseils & accompagnement</a></li>
|
||||
<li>
|
||||
<a href="{{ path('company_list') }}" title="Les entreprises qui recrutent">Les entreprises qui recrutent</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="{{ path('page_OffreEmploi') }}" title="L'offre d'emploi en vidéo">L'offre d'emploi en vidéo</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="{{ path('page_reussirOffrevideo') }}" title="Comment faire une offre en vidéo">Comment faire une offre en vidéo</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="{{ path('page_MarqueEmployeur') }}" title="Vidéo Marque Employeur">Vidéo Marque Employeur</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="{{ path('page_accompagnementEntreprise') }}" title="Conseils & accompagnement">Conseils & accompagnement</a>
|
||||
</li>
|
||||
</ul>
|
||||
<ul id='dropdown_territoire' class='dropdown-content'>
|
||||
<li><a href="{{ path('territory_list') }}">Liste des territoires</a></li>
|
||||
<li><a href="{{ path('page_VideoTerritory') }}">La vidéo territoire</a></li>
|
||||
<li><a href="{{ path('page_AccompagnementTerritory') }}">Conseils et accompagnement</a></li>
|
||||
<li>
|
||||
<a href="{{ path('territory_list') }}">Liste des territoires</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="{{ path('page_VideoTerritory') }}">La vidéo territoire</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="{{ path('page_AccompagnementTerritory') }}">Conseils et accompagnement</a>
|
||||
</li>
|
||||
</ul>
|
||||
<nav>
|
||||
<div class="nav-wrapper">
|
||||
@@ -28,16 +54,25 @@
|
||||
<img src="{{ asset('img/Logo-header.png') }}" alt="Talents Tube"/>
|
||||
</a>
|
||||
</div>
|
||||
<a href="#" data-activates="mobile-demo" class="button-collapse"><i class="material-icons">menu</i></a>
|
||||
<a href="#" data-activates="mobile-demo" class="button-collapse">
|
||||
<i class="material-icons">menu</i>
|
||||
</a>
|
||||
<ul class="right hide-on-med-and-down">
|
||||
<li><a class="dropdown-button" data-activates="dropdown_talents" href="{{ path('page_cvVideo') }}"
|
||||
title="Talents">Talents</a></li>
|
||||
<li><a href="{{ path('ad_search_result') }}" title="Offres d'emploi vidéos">Offres d'emploi</a></li>
|
||||
<li><a class="dropdown-button" data-activates="dropdown_company" href="{{ path('company_list') }}"
|
||||
title="Les entreprises de talents">Entreprises</a></li>
|
||||
<li><a class="dropdown-button" data-activates="dropdown_territoire" href="{{ path('territory_list') }}"
|
||||
title="Les territoires">Territoires</a></li>
|
||||
<li><a href="https://blog.talentstube.com" title="Blog Talents Tube">Blog</a></li>
|
||||
<li>
|
||||
<a class="dropdown-button" data-activates="dropdown_talents" href="{{ path('page_cvVideo') }}" title="Talents">Talents</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="{{ path('ad_search_result') }}" title="Offres d'emploi vidéos">Offres d'emploi</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="dropdown-button" data-activates="dropdown_company" href="{{ path('company_list') }}" title="Les entreprises de talents">Entreprises</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="dropdown-button" data-activates="dropdown_territoire" href="{{ path('territory_list') }}" title="Les territoires">Territoires</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="https://blog.talentstube.com" title="Blog Talents Tube">Blog</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
@@ -48,6 +83,13 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{#<div id="newApp" class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="col s12 m12">
|
||||
<p>"Nouveau ! Trouvez un job plus facilement avec notre <a href="http://pp.app.talentstube.com">web application</a>.📲"</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>#}
|
||||
</div>
|
||||
<div class="nav-wrapper">
|
||||
<ul class="side-nav collapsible" data-collapsible="accordion" id="mobile-demo">
|
||||
@@ -58,10 +100,10 @@
|
||||
<a class="collapsible-header" title="Talents">Talents</a>
|
||||
<div class="collapsible-body">
|
||||
<ul>
|
||||
<li><a href="{{ path('ad_search_result') }}" title="Offres d'emploi vidéos">Offres d'emploi</a></li>
|
||||
<li><a href="{{ path('page_cvVideo') }}" title="Le Cv vidéo">Le CV vidéo</a></li>
|
||||
<li><a href="{{ path('page_reussirCVvideo') }}" title="Comment faire son CV Vidéo ?">Comment faire son CV Vidéo ?</a></li>
|
||||
<li><a href="{{ path('page_accompagnementTalent') }}" title="Accompagnement talent">Accompagnement</a></li>
|
||||
<li><ahref="{{ path('ad_search_result') }}" title="Offres d'emploi vidéos">Offres d'emploi</a></li>
|
||||
<li><ahref="{{ path('page_cvVideo') }}" title="Le Cv vidéo">Le CV vidéo</a></li>
|
||||
<li><ahref="{{ path('page_reussirCVvideo') }}" title="Comment faire son CV Vidéo ?">Comment faire son CV Vidéo ?</a></li>
|
||||
<li><ahref="{{ path('page_accompagnementTalent') }}" title="Accompagnement talent">Accompagnement</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</li>
|
||||
@@ -72,11 +114,11 @@
|
||||
<a class="collapsible-header" title="Les entreprises de talents">Entreprises</a>
|
||||
<div class="collapsible-body">
|
||||
<ul>
|
||||
<li><a href="{{ path('company_list') }}" title="Listes entreprises">Listes entreprises</a></li>
|
||||
<li><a href="{{ path('page_OffreEmploi') }}" title="L'offre d'emploi en vidéo">L'offre d'emploi en vidéo</a></li>
|
||||
<li><a href="{{ path('page_reussirOffrevideo') }}" title="Comment faire une offre en vidéo">Comment faire une offre en vidéo</a></li>
|
||||
<li><a href="{{ path('page_MarqueEmployeur') }}" title="Vidéo Marque Employeur">Vidéo Marque Employeur</a></li>
|
||||
<li><a href="{{ path('page_accompagnementEntreprise') }}" title="Conseils & accompagnement">Conseils & accompagnement</a></li>
|
||||
<li><ahref="{{ path('company_list') }}" title="Listes entreprises">Listes entreprises</a></li>
|
||||
<li><ahref="{{ path('page_OffreEmploi') }}" title="L'offre d'emploi en vidéo">L'offre d'emploi en vidéo</a></li>
|
||||
<li><ahref="{{ path('page_reussirOffrevideo') }}" title="Comment faire une offre en vidéo">Comment faire une offre en vidéo</a></li>
|
||||
<li><ahref="{{ path('page_MarqueEmployeur') }}" title="Vidéo Marque Employeur">Vidéo Marque Employeur</a></li>
|
||||
<li><ahref="{{ path('page_accompagnementEntreprise') }}" title="Conseils & accompagnement">Conseils & accompagnement</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</li>
|
||||
@@ -84,9 +126,9 @@
|
||||
<a class="collapsible-header" title="Les territoires">Territoires</a>
|
||||
<div class="collapsible-body">
|
||||
<ul>
|
||||
<li><a href="{{ path('territory_list') }}">Liste des territoires</a></li>
|
||||
<li><a href="{{ path('page_VideoTerritory') }}">La vidéo territoire</a></li>
|
||||
<li><a href="{{ path('page_AccompagnementTerritory') }}">Conseils et accompagnement</a></li>
|
||||
<li><ahref="{{ path('territory_list') }}">Liste des territoires</a></li>
|
||||
<li><ahref="{{ path('page_VideoTerritory') }}">La vidéo territoire</a></li>
|
||||
<li><ahref="{{ path('page_AccompagnementTerritory') }}">Conseils et accompagnement</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</li>
|
||||
@@ -94,4 +136,4 @@
|
||||
<a class="collapsible-header" href="https://blog.talentstube.com" title="Blog Talents Tube">Blog</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
</div>
|
||||
<div class="header-video-inner">
|
||||
<video loop="" preload="metadata" autoplay="" id="vid" muted="muted">
|
||||
<source src="/img/home_video.mp4" type="video/mp4">
|
||||
{# <source src="/img/home_video.mp4" type="video/mp4"> #}
|
||||
</video>
|
||||
</div>
|
||||
|
||||
@@ -98,9 +98,9 @@
|
||||
<div class="container">
|
||||
<div class="row center-align">
|
||||
<div class="col s12">
|
||||
<h2 class="blue-text no-margin-top">Les talents</h2>
|
||||
<h2 class="blue-text no-margin-top">Les talents à la une</h2>
|
||||
</div>
|
||||
<h3 class="subtitles-homepage">Découvrez leurs CV vidéo et vidéo de motivation.</h3>
|
||||
<h3 class="subtitles-homepage">Découvrez leur CV vidéo et vidéo de motivation.</h3>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="owl-carousel owl-carousel-home home-talent-carousel">
|
||||
@@ -111,6 +111,12 @@
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="row center-align">
|
||||
<h2>Rejoignez une communauté de plus de <strong>1000</strong> candidats</h2>
|
||||
<div class="col s12 m-t-50">
|
||||
<a href="#!" title="Créer Mon profil" class="btn btn-default btn-round btn-create-account">Créer mon profil</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{# TERRITOIRE #}
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
|
||||
<!-- props_settings.html.twig Parameters used in EdeclicPushAndNotificationClient.js -->
|
||||
<div id="pushParams"
|
||||
data-service-worker-url="{{ app.request.uriForPath('/Edeclic-service-worker.js') | replace({'/app_dev.php': ''}) }}"
|
||||
data-analytics-helper-url="{{ app.request.uriForPath('js/analytics-helper.js') | replace({'/app_dev.php': ''}) }}"
|
||||
data-delete-subscription-url="{{ url('delete-subscription') }}"
|
||||
data-save-subscription-url="{{ url('save-subscription') }}"
|
||||
data-push-public-key="{{ push_public_key }}"
|
||||
>
|
||||
</div>
|
||||
@@ -19,13 +19,13 @@
|
||||
{{ user.firstname }} {{ user.lastname }}
|
||||
</a>
|
||||
</p>
|
||||
{% if talent.publicTag %}
|
||||
{#{% if talent.publicTag %}
|
||||
{% for keyword in talent.publicTag %}
|
||||
{% if keyword != "" %}
|
||||
<div class="chip">{{ keyword }}</div>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
{% endif %}#}
|
||||
</div>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
@@ -8,7 +8,7 @@
|
||||
<h2>Détail de mon annonce</h2>
|
||||
<div>
|
||||
<div>
|
||||
<a href="{{ path('ad_show',{'alias': ad.alias }) }}" title="{{ ad.title }}" class="item-list-media">
|
||||
<a href="{{ absolute_url(path('ad_show',{'alias': ad.alias })) }}" title="{{ ad.title }}" class="item-list-media">
|
||||
{% if ad.video %}
|
||||
{% if ad.video.thumbnails.0.sizes is defined %}
|
||||
<img width="100%" src="{{ ad.video.thumbnails.0.sizes.4.link }}"
|
||||
@@ -19,7 +19,7 @@
|
||||
</div>
|
||||
<div>
|
||||
<h3>
|
||||
<a href="{{ path('ad_show',{'alias': ad.alias }) }}"
|
||||
<a href="{{ absolute_url(path('ad_show',{'alias': ad.alias })) }}"
|
||||
title="{{ ad.title }}">{{ ad.title }}</a>
|
||||
</h3>
|
||||
<p>
|
||||
@@ -40,10 +40,10 @@
|
||||
</p>
|
||||
{% endif %}
|
||||
<p>Entité :
|
||||
<a href="{{ path('company_show',{'alias': ad.company.alias }) }}">{{ ad.company.brandName }}</a>
|
||||
<a href="{{ absolute_url(path('company_show',{'alias': ad.company.alias })) }}">{{ ad.company.brandName }}</a>
|
||||
</p>
|
||||
<p>
|
||||
<a href="{{ path('ad_show',{'alias': ad.alias }) }}" title="{{ ad.title }}" class="btn btn-default">Voir
|
||||
<a href="{{ absolute_url(path('ad_show',{'alias': ad.alias })) }}" title="{{ ad.title }}" class="btn btn-default">Voir
|
||||
l'offre d'emploi</a>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
<br/>
|
||||
<br/>
|
||||
<div style="text-align:center;">
|
||||
<a class="btn btn-default" href="{{ path('talent_ad_detail',{'alias': answer.ad.alias,'id': answer.id }) }}">Visionner la réponse vidéo</a>
|
||||
<a class="btn btn-default" href="{{ absolute_url(path('talent_ad_detail',{'alias': answer.ad.alias,'id': answer.id })) }}">Visionner la réponse vidéo</a>
|
||||
</div>
|
||||
{% else %}
|
||||
<br />
|
||||
@@ -26,7 +26,7 @@
|
||||
<br/>
|
||||
<br/>
|
||||
<div style="text-align:center;">
|
||||
<a class="btn btn-default" href="{{ path('talent_ad_detail',{'alias': answer.ad.alias,'id': answer.id }) }}">Consulter la réponse</a>
|
||||
<a class="btn btn-default" href="{{ absolute_url(path('talent_ad_detail',{'alias': answer.ad.alias,'id': answer.id })) }}">Consulter la réponse</a>
|
||||
</div>
|
||||
{% endif %}
|
||||
<br>
|
||||
|
||||
@@ -8,7 +8,11 @@
|
||||
<div id="preview_video">
|
||||
{% if video is defined %}
|
||||
{% if video is not null %}
|
||||
<iframe src="https://player.vimeo.com{{ video.getCdnUrl()|replace({ "videos": "video"}) }}" width="100%" height="300px" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>
|
||||
<iframe
|
||||
src="https://player.vimeo.com{{ video.getCdnUrl()|replace({ "videos": "video"}) }}"
|
||||
width="100%" height="300px" frameborder="0"
|
||||
webkitallowfullscreen mozallowfullscreen allowfullscreen>
|
||||
</iframe>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
@@ -0,0 +1,315 @@
|
||||
{% if is_granted('ROLE_COMPANY') %}
|
||||
{% set extendTemplate='company/base_dashboard_company.html.twig' %}
|
||||
{% elseif is_granted('ROLE_TERRITORY') %}
|
||||
{% set extendTemplate='territory/base_dashboard_territory.html.twig' %}
|
||||
{% else %}
|
||||
{% set extendTemplate='talent/base_dashboard_talent.html.twig' %}
|
||||
{% endif %}
|
||||
|
||||
{% extends extendTemplate %}
|
||||
|
||||
{% block dashContent %}
|
||||
<div class="row">
|
||||
<div class="col s12">
|
||||
{#<a class="waves-effect waves-light btn btn-default modal-trigger left m-r-10" href="#addVideo">Créer une vidéo</a>#}
|
||||
{% if medias|length > 0 %}
|
||||
<a class="waves-effect waves-light btn btn-default modal-trigger left" href="#addVideo">Ajouter une vidéo</a>
|
||||
<a class="btn btn-delete-video btn-round tooltipped red right" href="#!" data-position="top"
|
||||
data-tooltip="Supprimer des vidéos"><i class="fa fa-trash" aria-hidden="true"></i>
|
||||
</a>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
{% if medias|length == 0 %}
|
||||
<div class="col s12 col-actions center-align" id="no-video-talents">
|
||||
<br/><br/>
|
||||
<strong class="color-grey3">Vous ne possédez pas encore de CV vidéo!</strong><br/>
|
||||
<span class="color-grey2">Cliquez sur le bouton pour ajouter votre première vidéo.</span>
|
||||
<br/><br/>
|
||||
<a class="waves-effect waves-light btn btn-default modal-trigger" href="#addVideo">Ajouter une
|
||||
vidéo</a>
|
||||
</div>
|
||||
{% else %}
|
||||
{% if app.user.company.presentationVideo %}
|
||||
{% set media = app.user.company.presentationVideo %}
|
||||
{% endif %}
|
||||
<div class="row video_premier z-depth-3">
|
||||
{% if app.user.company.presentationVideo %}
|
||||
<div class="col s4 video_col col-card">
|
||||
<div class="preloader-wrapper small">
|
||||
<div class="spinner-layer spinner-blue-only">
|
||||
<div class="circle-clipper left">
|
||||
<div class="circle"></div>
|
||||
</div><div class="gap-patch">
|
||||
<div class="circle"></div>
|
||||
</div><div class="circle-clipper right">
|
||||
<div class="circle"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="embed-responsive embed-responsive-16by9">
|
||||
<iframe src="https://player.vimeo.com{{ media.getCdnUrl()|replace({ "videos": "video"}) }}"
|
||||
width="100%" height="550" frameborder="0" webkitallowfullscreen
|
||||
mozallowfullscreen allowfullscreen></iframe>
|
||||
</div>
|
||||
<a data-id="{{ media.getCdnUrl()|replace({ "/videos/": ""}) }}" href="#!" class="btn-floating left halfway-fab changeThumbnail"><i class="material-icons">image</i></a>
|
||||
</div>
|
||||
{% else %}
|
||||
<div class="col s12 video_col">
|
||||
<div class="no-presentation-video">
|
||||
<strong>
|
||||
Vous ne disposez pas de vidéo de présentation !
|
||||
</strong><br/>
|
||||
Cliquez sur le bouton ci-dessous pour la sélectionner dans votre bibliothèque.
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
{% if media is defined %}
|
||||
<div class="col s8 content_col">
|
||||
<div class="col s12 video_col_content">
|
||||
<h3>{{ media.title }}</h3>
|
||||
</div>
|
||||
<div class="video_col_actions">
|
||||
<div class="col s6 video_col_link_share">
|
||||
<a class="btn btn-default modal-trigger" href="#shareCv">Partager le profil
|
||||
<i class="fa fa-share-alt" aria-hidden="true"></i>
|
||||
</a>
|
||||
</div>
|
||||
<div class="col s6 video_col_edit_premier">
|
||||
<a class="btn btn-cancel-premier red right" href="#!" data-position="top" data-tooltip="Annuler">
|
||||
<span>Annuler</span> <i class="fa fa-ban" aria-hidden="true"></i>
|
||||
</a>
|
||||
<a class="btn btn-default btn-video-premier right">
|
||||
<span>Remplacer la vidéo</span>
|
||||
<i class="fa fa-pencil" aria-hidden="true"></i>
|
||||
</a>
|
||||
<div class="clearfix"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
<div class="row">
|
||||
{% for media in medias %}
|
||||
{% set classVideo = "" %}
|
||||
{% if app.user.company.presentationVideo %}
|
||||
{% set idPresentationVideo = app.user.company.presentationVideo.id %}
|
||||
{% else %}
|
||||
{% set idPresentationVideo = false %}
|
||||
{% endif %}
|
||||
{% if idPresentationVideo != media.id %}
|
||||
<div class="col s12 m6 l4 col-card">
|
||||
<div class="card card-video-action z-depth-1">
|
||||
<div class="card-image">
|
||||
<div class="preloader-wrapper small">
|
||||
<div class="spinner-layer spinner-blue-only">
|
||||
<div class="circle-clipper left">
|
||||
<div class="circle"></div>
|
||||
</div><div class="gap-patch">
|
||||
<div class="circle"></div>
|
||||
</div><div class="circle-clipper right">
|
||||
<div class="circle"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="embed-responsive embed-responsive-16by9">
|
||||
<iframe src="https://player.vimeo.com{{ media.getCdnUrl()|replace({ "videos": "video"}) }}"
|
||||
width="100%" height="230px" frameborder="0" webkitallowfullscreen
|
||||
mozallowfullscreen allowfullscreen></iframe>
|
||||
</div>
|
||||
<div class="card-fog choice-fog">
|
||||
<div class="card-fog-container">
|
||||
<a data-id="{{ media.getId() }}"
|
||||
class="btn btn-default btn-default-video {{ classVideo }} tooltipped"
|
||||
data-position="top"
|
||||
data-tooltip="{{ 'global.video.defaultaction.label'|trans }}">
|
||||
Choisir cette vidéo
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
{% set classFog ="" %}
|
||||
{% set messageTooltipFog ="" %}
|
||||
{% if media.getAds().toArray() %}
|
||||
{% set classFog = "fogLight" %}
|
||||
{% set messageTooltipFog ="Vidéo associée à une annonce" %}
|
||||
{% endif %}
|
||||
|
||||
{% if media.getAnswers().toArray() %}
|
||||
{% set classFog = "fogLight" %}
|
||||
{% set messageTooltipFog ="Vidéo associée à une réponse" %}
|
||||
{% endif %}
|
||||
<div class="card-fog delete-fog {{ classFog }}">
|
||||
<div class="card-fog-container">
|
||||
{% if media.getAds().toArray() or media.getAnswers().toArray() %}
|
||||
<div class="card-fog-message">
|
||||
Vous ne pouvez pas supprimer cette vidéo.<br/>
|
||||
<i data-position="top" data-tooltip="{{ messageTooltipFog }}"
|
||||
class="fa fa-question-circle tooltipped" aria-hidden="true"></i>
|
||||
</div>
|
||||
{% else %}
|
||||
<a class="btn btn-default halfway-fab waves-effect waves-light red delete_unattached_media tooltipped"
|
||||
href="{{ path("delete_unattached_media",{"id" : media.getId()}) }}"
|
||||
data-position="top" data-tooltip="{{ 'media.delete.video.label'|trans }}">Supprimer</a>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
<a data-id="{{ media.getCdnUrl()|replace({ "/videos/": ""}) }}" href="#!" class="btn-floating left halfway-fab changeThumbnail"><i class="material-icons">image</i></a>
|
||||
</div>
|
||||
<div class="card-content">
|
||||
<p>
|
||||
<strong><span data-id="{{ media.id }}" class="titleVideo truncate tooltipped"
|
||||
data-position="top"
|
||||
data-tooltip="{{ media.title }}">{{ media.title }}</span></strong>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</div>
|
||||
|
||||
|
||||
<div id="changeThumbnailVideo" class="modal modal-fixed-footer modal-fixed-header">
|
||||
<div class="modal-header">
|
||||
<h3 class="color-blue1">Modifier la vignette</h3>
|
||||
<span class="right">
|
||||
<a href="#!" class="modal-close">
|
||||
<img src="{{ asset('/img/close-modal.svg') }}" >
|
||||
</a>
|
||||
</span>
|
||||
</div>
|
||||
<div class="modal-content">
|
||||
<div class="row">
|
||||
<div class="col s6">
|
||||
<div class="embed-responsive embed-responsive-16by9">
|
||||
<div class="col s12">
|
||||
<div id="video-vimeo"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col s6">
|
||||
<p><strong>Lancez la vidéo</strong> , puis <strong>appuyer sur pause</strong> pour définir l’image.
|
||||
<br />Une fois votre vignette définie, cliquez sur le bouton
|
||||
<strong>Sauvegarder</strong>.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<a href="#!" class="modal-action modal-close btn btn-default btn-round captur">Sauvegarder</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
{% set video = null %}
|
||||
<div id="addVideo" class="modal modal-fixed-footer">
|
||||
<div class="modal-content">
|
||||
<div class="row">
|
||||
{{ form_start(form, {'attr': { 'id': 'form_media' } }) }}
|
||||
<div class="input-field col s8">
|
||||
{{ form_rest(form) }}
|
||||
</div>
|
||||
<div class="col s4 right-align">
|
||||
<button id="submit" class="btn btn-default disabled" type="submit">Enregistrer</button>
|
||||
{% set messageTooltiped = "Votre vidéo ne doit pas dépasser les 500Mo.\n
|
||||
Les formats de vidéo acceptés sont les suivants : .mp4, .mov, .qt, .mkv, .avi, .m4v, .webm." %}
|
||||
<i class="fa fa-question-circle tooltipped" data-position="top" data-delay="50"
|
||||
data-tooltip="{{ messageTooltiped }}" aria-hidden="true"></i>
|
||||
</div>
|
||||
{{ form_end(form) }}
|
||||
<div class="col s12">
|
||||
{% include 'media/dropzone.html.twig' with {'deleting': 'false'} %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<a href="#!" class="modal-action modal-close btn btn-default btn-round">Fermer</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="shareCv" class="modal modal-fixed-footer">
|
||||
<div class="modal-content">
|
||||
<div class="row">
|
||||
<h2>Vous souhaitez partager votre profil à d'autres entreprises?</h2>
|
||||
<h3>Copiez et ajoutez l'adresse ci-dessous lors de vos candidatures</h3>
|
||||
|
||||
<input id="linkToCopy" type="text" value="https://www.talentstube.com{{ path("talent_show", {"alias": app.user.company.alias }) }}">
|
||||
<a class="btn btn-default btn-round" id="copyLink">Copier</a><br />
|
||||
<a class="modal-action modal-close">Fermer</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% endblock %}
|
||||
{% block javascripts %}
|
||||
{{ parent() }}
|
||||
<script type="text/javascript">
|
||||
var urlDropzone = '{{ path("upload_media_default", {"id": app.user.id }) }}';
|
||||
var urlDelete = '';
|
||||
var idObject = null;
|
||||
var typeObject = null;
|
||||
var videoExist = false;
|
||||
var mediaDefaultUrl = '{{ path("media_default") }}';
|
||||
var idUser = '{{ app.user.id }}';
|
||||
var mediaEditTitleUrl = "{{ path('media_edit_title', {'id': 'id_video'})|escape('js') }}";
|
||||
$(document).ready(function(){
|
||||
$('.modal').modal();
|
||||
});
|
||||
</script>
|
||||
<script src="{{ asset('/js/mediaListing.js') }}"></script>
|
||||
<script src="{{ asset('/js/dropzone.js') }}"></script>
|
||||
<script src="https://player.vimeo.com/api/player.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function(){
|
||||
var options = {
|
||||
id: null
|
||||
};
|
||||
var player = null;
|
||||
$('.modal-close').on('click',function(){
|
||||
$('#changeThumbnailVideo').modal('close');
|
||||
});
|
||||
$('.changeThumbnail').on('click',function(){
|
||||
$('#changeThumbnailVideo').modal();
|
||||
$('#changeThumbnailVideo').modal('open');
|
||||
var idVideo = $(this).data('id');
|
||||
options = {
|
||||
id: idVideo
|
||||
};
|
||||
player = new Vimeo.Player('video-vimeo', options);
|
||||
});
|
||||
|
||||
$('.captur').on('click',function(e){
|
||||
e.preventDefault();
|
||||
$('a.changeThumbnail').data('id',options.id).parents('.col-card').find('.preloader-wrapper').addClass('active');
|
||||
player.getCurrentTime().then(function(seconds) {
|
||||
var data = {'duration': seconds, 'id':options.id};
|
||||
$.ajax({
|
||||
url:"{{ path('video_changeThumbnail') }}",
|
||||
type:"POST",
|
||||
data: JSON.stringify(data),
|
||||
success:function(response) {
|
||||
$('a.changeThumbnail').data('id',options.id).parents('.col-card').each(function( index ) {
|
||||
var iframe = $( this ).contents().find('iframe');
|
||||
iframe[0].src = iframe[0].src;
|
||||
});
|
||||
},
|
||||
error:function(error){
|
||||
console.log(error)
|
||||
}
|
||||
});
|
||||
}).catch(function(error) {
|
||||
console.log(error);
|
||||
});
|
||||
});
|
||||
$("iframe").on("load", function () {
|
||||
$('.preloader-wrapper').removeClass('active');
|
||||
});
|
||||
});
|
||||
</script>
|
||||
{% endblock %}
|
||||
@@ -0,0 +1,23 @@
|
||||
{% extends 'base.html.twig' %} {% block content %}
|
||||
<div id="page-static" class="contentWrapper">
|
||||
<h1 class="alttitle center-align">Test PUSH</h1>
|
||||
<div class="fluid-container bg-dark2">
|
||||
<div class="container">
|
||||
<div class="row first-row">
|
||||
<div class="col s12 m6 video-wrapper">
|
||||
<div class="video-container">
|
||||
<img src="/img/img_content/accompagnement_img.png" alt="accompagnement">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col s12 m6">
|
||||
<h5 class="m-t-0">TEST PUSH</h5>
|
||||
<p>
|
||||
</p>
|
||||
<p>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
@@ -38,11 +38,13 @@
|
||||
<a href="{{ path('talent_answer_create',{id:a.ad.id}) }}">
|
||||
<i class="fa fa-pencil-square-o" aria-hidden="true"></i>
|
||||
</a>
|
||||
{% elseif a.status == "DRAFT" and a.company != null %}
|
||||
<a href="{{ path('talent_spontaneous_application_create',{id:a.company.id}) }}">
|
||||
<i class="fa fa-pencil-square-o" aria-hidden="true"></i>
|
||||
</a>
|
||||
{% endif %}
|
||||
{% if a.isViewed %}
|
||||
{% if a.isViewed.status == "DRAFT" %}
|
||||
{{ 'VIEWED'|trans }}
|
||||
{% endif %}
|
||||
{{ 'VIEWED'|trans }}
|
||||
{% else %}
|
||||
{{ a.status|trans }}
|
||||
{% endif %}
|
||||
@@ -80,4 +82,11 @@
|
||||
var player_vimeo = new Vimeo.Player('player_vimeo');
|
||||
});
|
||||
</script>
|
||||
<script type="text/javascript">
|
||||
(function ($) {
|
||||
$(function () {
|
||||
$('.modal').modal();
|
||||
});
|
||||
})(jQuery);
|
||||
</script>
|
||||
{% endblock %}
|
||||
@@ -21,27 +21,8 @@
|
||||
{% block javascripts %}
|
||||
<script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyDYV8IJGtIoWLfXJQQvIuDQ88n2aEuRgpg&libraries=places"></script>
|
||||
{% javascripts
|
||||
'@vendors'
|
||||
'@global'
|
||||
'@talents'
|
||||
output='assetic/main.dashboard.talent.js' filter='?uglifyjs2' %}
|
||||
<script src="{{ asset_url }}"></script>
|
||||
{% endjavascripts %}
|
||||
<script type="text/javascript">
|
||||
$.fn.datepicker.languages['fr-FR'] = {
|
||||
format: 'dd/mm/yyyy',
|
||||
days: ['Dimanche', 'Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi'],
|
||||
daysShort: ['Dim', 'Lun', 'Mar', 'Mer', 'Jeu', 'Ven', 'Sam'],
|
||||
daysMin: ['Di', 'Lu', 'Ma', 'Me', 'Je', 'Ve', 'Sa'],
|
||||
weekStart: 1,
|
||||
months: ['Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Aout', 'Septembre', 'Octobre', 'Novembre', 'Décembre'],
|
||||
monthsShort: ['Jan', 'Fev', 'Mar', 'Avr', 'Mai', 'Jun', 'Jui', 'Aou', 'Sep', 'Oct', 'Nov', 'Dec']
|
||||
};
|
||||
|
||||
$('.datepicker').datepicker({
|
||||
language: 'fr-FR'
|
||||
});
|
||||
|
||||
$('form[name="talent_profile"]').validate();
|
||||
</script>
|
||||
{% endblock %}
|
||||
@@ -7,26 +7,26 @@
|
||||
<img src="{{ app.user.webPath | imagine_filter('profile_square') }}"
|
||||
alt="{{ app.user.firstname }} {{ app.user.lastname|first|upper }}"
|
||||
class="circle responsive-img"/>
|
||||
<a href="#modalProfilePicture">
|
||||
<a data-target="modalProfilePicture" class="modal-trigger" href="#modalProfilePicture">
|
||||
<i class="fa fa-pencil" aria-hidden="true"></i>
|
||||
</a>
|
||||
{% elseif app.user.socialPicture is not null %}
|
||||
<img src="{{ app.user.socialPicture }}"
|
||||
alt="{{ app.user.firstname }} {{ app.user.lastname|first|upper }}"
|
||||
class="circle responsive-img"/>
|
||||
<a href="#modalProfilePicture">
|
||||
<a data-target="modalProfilePicture" class="modal-trigger" href="#modalProfilePicture">
|
||||
<i class="fa fa-pencil" aria-hidden="true"></i>
|
||||
</a>
|
||||
{% else %}
|
||||
<div class="circle-letters font-2">{{ app.user.firstname|first|upper }}{{ app.user.lastname|first|upper }}</div>
|
||||
<a href="#modalProfilePicture">
|
||||
<a data-target="modalProfilePicture" class="modal-trigger" href="#modalProfilePicture">
|
||||
<i class="fa fa-pencil" aria-hidden="true"></i>
|
||||
</a>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
<p class="profil-name">
|
||||
<b>{{ app.user.firstname }} {{ app.user.lastname|upper }}</b>
|
||||
<a href="https://www.talentstube.com{{ path("talent_show", {"alias": app.user.company.alias }) }}"><b>{{ app.user.firstname }} {{ app.user.lastname|upper }}</b></a>
|
||||
</p>
|
||||
{% if company.addresses.billing is defined %}
|
||||
<p class="profil-city">{{ company.addresses.billing.city }}
|
||||
@@ -41,7 +41,7 @@
|
||||
<li>
|
||||
<a href="{{ path('talent_dashboard') }}">
|
||||
<i class="fa fa-user"></i>
|
||||
{{ 'company.menu.dashboard.label'|trans }}
|
||||
{{ 'talent.menu.dashboard.label'|trans }}
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
{% extends 'talent/base_dashboard_talent.html.twig' %}
|
||||
|
||||
|
||||
{% block dashContent %}
|
||||
|
||||
{% include 'default/props_settings.html.twig' %}
|
||||
{% include 'default/flash_message.html.twig' %}
|
||||
<div class=" row bg-bordered p-20">
|
||||
{#<h1 class="alttitle">{{ 'profile.talent.account.title'|trans }}</h1>#}
|
||||
@@ -11,18 +11,71 @@
|
||||
<h4>{{ 'company.account.password.modify'|trans }}</h4>
|
||||
{% if form_errors(formPw) %}
|
||||
<div class="card-panel">
|
||||
<span class="red-text text-darken-2">
|
||||
{{ form_errors(formPw) }}
|
||||
</span>
|
||||
<span class="red-text text-darken-2">
|
||||
{{ form_errors(formPw) }}
|
||||
</span>
|
||||
</div>
|
||||
{% endif %}
|
||||
{{ form_start(formPw) }}
|
||||
{{ form_rest(formPw) }}
|
||||
<br/>
|
||||
<input class="btn btn-default" type="submit"
|
||||
value="{{ 'company.account.password.modify.label'|trans }}"/>
|
||||
<input class="btn btn-default" type="submit" value="{{ 'company.account.password.modify.label'|trans }}"/>
|
||||
{{ form_end(formPw) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class=" row bg-bordered p-20">
|
||||
<div class="row flexcontainer">
|
||||
<div class="col s12">
|
||||
<h4>{{ 'company.account.notifications.title'|trans }}</h4>
|
||||
|
||||
<br/>
|
||||
|
||||
<input type="checkbox" id="notificationChecked" name="notificationChecked" {{isNotificationAllowed ? "checked=checked":""}}/>
|
||||
|
||||
<label for="notificationChecked">Autoriser les notificaitons</label>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
{% block javascripts %}
|
||||
{{ parent() }}
|
||||
<script type="text/javascript">
|
||||
|
||||
$('#notificationChecked').on('click', function (event) {
|
||||
|
||||
let EdeclicLib = window.EdeclicLib;
|
||||
let notifConsent = $('#notificationChecked').is(":checked");
|
||||
|
||||
if (notifConsent == true) {
|
||||
//ask for subscription
|
||||
var promise1 = new Promise(EdeclicLib.askForNotifications)
|
||||
.then(() => $('#notificationChecked').prop('checked', true), () => $('#notificationChecked').prop('checked', false))
|
||||
.catch((err) => {
|
||||
$('#notificationChecked').prop('checked', false);
|
||||
alert(err);
|
||||
});
|
||||
|
||||
} else {
|
||||
//require unsubscription
|
||||
EdeclicLib.unsubscribe();
|
||||
$.ajax({
|
||||
async: true,
|
||||
type: 'POST',
|
||||
url: '{{ url('talent_notification_consent') }}',
|
||||
data: JSON.stringify({'notificationConsent': false}),
|
||||
|
||||
success: function (data) {
|
||||
data = JSON.parse(data);
|
||||
$('#notificationChecked').prop('checked', data['notificationConsent']);
|
||||
},
|
||||
contentType: "application/json",
|
||||
dataType: 'json'
|
||||
});
|
||||
}
|
||||
|
||||
});
|
||||
</script>
|
||||
|
||||
{% endblock %}
|
||||
@@ -3,13 +3,102 @@
|
||||
{% set video = null %}
|
||||
{% block title %} Profil Talent{% endblock %}
|
||||
|
||||
|
||||
{% macro printTalentRow(form, loop_index, typeform, add) %}
|
||||
{% set loop_index = loop_index|default(1000) %}
|
||||
{% set typeform = typeform|default('default') %}
|
||||
{% set add = add|default('false') %}
|
||||
<div class="modal modal-fixed-footer {{ "modal-" ~ typeform }} {{ "modal-" ~ typeform ~ "-" ~ (loop_index) }}">
|
||||
<div class="modal-content">
|
||||
<div id="modal-header" class="row">
|
||||
<div class="col s12">
|
||||
{% if typeform == "career" %}
|
||||
<h4>Expériences</h4>
|
||||
{% endif %}
|
||||
{% if typeform == "formation" %}
|
||||
<h4>Formations & certifications</h4>
|
||||
{% endif %}
|
||||
{% if typeform == "language" %}
|
||||
<h4>Langues</h4>
|
||||
{% endif %}
|
||||
<span class="right">
|
||||
<a href="#!" class="modal-close">
|
||||
<img src="{{ asset('/img/close-modal.svg') }}" >
|
||||
</a>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row {{ "form-container-" ~ typeform }}">
|
||||
{% set index = loop_index %}
|
||||
{% for row in form %}
|
||||
{% set type = row.vars.block_prefixes.1 %}
|
||||
{% if type == "choice" %}
|
||||
{% if row.vars.name == "beginMonth" ~ typeform|capitalize %}
|
||||
<div class="col s12"><h5 class="required">Dates</h5></div>
|
||||
<div class="col s6"><span class="undertitle">Début</span></div>
|
||||
<div class="col s6"><span class="undertitle">Fin</span></div>
|
||||
{% endif %}
|
||||
{% if row.vars.name == "skillLanguage" %}
|
||||
<div class="col s12">
|
||||
{% else %}
|
||||
<div class="col s3">
|
||||
{% endif %}
|
||||
{% elseif type == "checkbox" %}
|
||||
{% if typeform == "formation" %}
|
||||
<div class="col s12">
|
||||
{% else %}
|
||||
<div class="col s6">
|
||||
{% endif %}
|
||||
{% else %}
|
||||
<div class="col s12">
|
||||
{% endif %}
|
||||
{% if type == "checkbox" %}
|
||||
<p>
|
||||
{{ form_widget(row, { 'attr': {'class': 'checkbox-' ~ typeform,'data-index': (index)} }) }}
|
||||
{{ form_label(row) }}
|
||||
</p><br />
|
||||
{% else %}
|
||||
{% if type != "choice" %}
|
||||
{% if row.vars.block_prefixes.2 matches '{^(.*)(_tagsComma)$}' %}
|
||||
<div class="m-t-10 m-b-20">
|
||||
{{ form_label(row) }}
|
||||
<br />
|
||||
<span class="small">{{ 'profile.talent.under.tags'|trans }}</span>
|
||||
{{ form_widget(row) }}
|
||||
<span class="xsmall">Insérez une virgule ou appuyez sur ENTRÉE pour séparer vos mots-clés.</span>
|
||||
<br />
|
||||
</div>
|
||||
{% else %}
|
||||
{{ form_label(row) }}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{{ form_widget(row) }}
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
{% if add == 'add' %}
|
||||
<a class="btn btn-default {{ "cancel-" ~ typeform }} left">Annuler</a>
|
||||
{% else %}
|
||||
<a data-type="{{ typeform }}" class="btn btn-default {{ "delete-" ~ typeform }} left">Supprimer</a>
|
||||
{% endif %}
|
||||
<a href="#!" data-type="{{ typeform }}" class="btn btn-default {{ typeform ~ "-save-action " }} right">Sauvegarder</a>
|
||||
</div>
|
||||
</div>
|
||||
{% endmacro %}
|
||||
|
||||
{% import _self as formMacros %}
|
||||
|
||||
|
||||
{% block dashContent %}
|
||||
{% include 'default/flash_message.html.twig' %}
|
||||
{{ render(controller('AppBundle:Talent:profileProgression',{'talent':app.user.company.id})) }}
|
||||
|
||||
<div class="bg-bordered row m-b-10 p-20">
|
||||
<div class="col s12">
|
||||
<span class="bg-blue-1 text-gradient font-2 fs-20">CV Vidéo générique</span>
|
||||
<h4>CV Vidéo générique</h4>
|
||||
<div class="switch d-inblock pull-right">
|
||||
<label>
|
||||
Etre visible des recruteurs
|
||||
@@ -49,89 +138,145 @@
|
||||
<span><strong><a href="{{ path('talent_media') }}">Choisir depuis votre videothèque</a></strong></span>
|
||||
</div>
|
||||
</div>
|
||||
{#
|
||||
<div class="row">
|
||||
<div class="col s6">
|
||||
<div class="input-field">
|
||||
{{ form_rest(formMedia) }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="col s6 ">
|
||||
<button id="submit" class="btn btn-default disabled" type="submit">Enregistrer</button>
|
||||
</div>
|
||||
<div class="col s12">
|
||||
<span><strong><a href="{{ path('talent_media') }}">Choisir depuis votre videothèque</a></strong></span>
|
||||
</div>
|
||||
</div>
|
||||
#}
|
||||
</div>
|
||||
{{ form_end(formMedia) }}
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
{{ form_start(form) }}
|
||||
<div class="bg-bordered row m-b-10 p-20">
|
||||
|
||||
{{ form_start(formCompany, {'attr': {'id': 'form_profile_edit','novalidate': 'novalidate'}}) }}
|
||||
<div class="bg-bordered professional-info row m-b-10 p-20">
|
||||
<div class="col s12">
|
||||
<span class="bg-blue-1 text-gradient font-2 fs-20">Information Professionnelles</span>
|
||||
<h4>Information Professionnelles</h4>
|
||||
</div>
|
||||
<div class="col s12">
|
||||
<div class="m-t-10">
|
||||
{{ form_label(form.company.tagsComma) }}
|
||||
{{ form_row(formCompany.titleTalent) }}
|
||||
{{ form_row(formCompany.situationTalent) }}
|
||||
<div class="m-t-10 m-b-20">
|
||||
{{ form_label(formCompany.tagsComma) }}
|
||||
<br />
|
||||
<span class="small">{{ 'profile.talent.under.tags'|trans }}</span>
|
||||
<i class="fa fa-question-circle-o fs-20 color-blue1 tooltipped" data-position="top"
|
||||
data-tooltip="Les mots clés permettent la mise en relation des talents et des entreprises. Vous pourrez les changer à tout moment."></i>
|
||||
{{ form_widget(form.company.tagsComma) }}
|
||||
{{ form_widget(formCompany.tagsComma) }}
|
||||
<span class="xsmall">Insérez une virgule ou appuyez sur ENTRÉE pour séparer vos mots-clés.</span>
|
||||
<br />
|
||||
</div>
|
||||
{{ form_row(form.company.tagsComma) }}
|
||||
{{ form_row(form.company.website) }}
|
||||
{{ form_row(form.company.twitter) }}
|
||||
{{ form_row(form.company.linkedin) }}
|
||||
{{ form_row(formCompany.descriptionTalent) }}
|
||||
{{ form_row(formCompany.website) }}
|
||||
{{ form_row(formCompany.twitter) }}
|
||||
{{ form_row(formCompany.linkedin) }}
|
||||
</div>
|
||||
<div class="col s12">
|
||||
<input class="btn btn-default btn-round pull-right m-t-15 m-b-20" type="submit"
|
||||
value="{{ 'profile.edit.save'|trans }}"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{ form_end(formCompany) }}
|
||||
|
||||
{# Espace Experiences professionnelle #}
|
||||
{{ form_start(formCareer, {'attr': {'id': 'form_profile_career','novalidate': 'novalidate'}}) }}
|
||||
{% do formCareer.career.setRendered %}
|
||||
<div class="bg-bordered row m-b-10 p-20">
|
||||
<div class="col s12">
|
||||
<span class="bg-blue-1 text-gradient font-2 fs-20">Information personnelles</span>
|
||||
<h4>Experiences</h4>
|
||||
<a class="btn btn-default right" id="add_career">Ajouter une experience professionnelle</a>
|
||||
</div>
|
||||
<div class="col s12" id="career_container">
|
||||
{% include 'talent/profile_career.html.twig' with {'carrer': career, 'edit': true} %}
|
||||
{{ form_errors(formCareer.career) }}
|
||||
<span class="career-holder" data-prototype="{{ formMacros.printTalentRow(formCareer.career.vars.prototype, (formCareer.career|length + 1), 'career','add')|e('html_attr') }}"></span>
|
||||
{% for careerField in formCareer.career %}
|
||||
{{ formMacros.printTalentRow(careerField, (loop.index - 1), 'career') }}
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
{{ form_end(formCareer) }}
|
||||
|
||||
{{ form_start(formFormation, {'attr': {'id': 'form_profile_formation','novalidate': 'novalidate'}}) }}
|
||||
{% do formFormation.formation.setRendered %}
|
||||
{# Espace Formation #}
|
||||
<div class="bg-bordered row m-b-10 p-20">
|
||||
<div class="col s12">
|
||||
<h4>Formations et certifications</h4>
|
||||
<a class="btn btn-default right" id="add_formation">Ajouter une formation</a>
|
||||
</div>
|
||||
<div class="col s12" id="formation_container">
|
||||
{% include 'talent/profile_formation.html.twig' with {'formation': formation, 'edit': true} %}
|
||||
{{ form_errors(formFormation.formation) }}
|
||||
<span class="formation-holder" data-prototype="{{ formMacros.printTalentRow(formFormation.formation.vars.prototype, (formFormation.formation|length + 1), 'formation','add')|e('html_attr') }}"></span>
|
||||
{% for formationField in formFormation.formation %}
|
||||
{{ formMacros.printTalentRow(formationField, (loop.index - 1), 'formation') }}
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
{{ form_end(formFormation) }}
|
||||
|
||||
{{ form_start(formLanguage, {'attr': {'id': 'form_profile_language','novalidate': 'novalidate'}}) }}
|
||||
{% do formLanguage.language.setRendered %}
|
||||
<div class="bg-bordered row m-b-10 p-20">
|
||||
<div class="col s12">
|
||||
<h4>Langues</h4>
|
||||
<a class="btn btn-default right" id="add_language">Ajouter une langues</a>
|
||||
</div>
|
||||
<div class="col s12" id="language_container">
|
||||
{% include 'talent/profile_language.html.twig' with {'language': language, 'edit': true} %}
|
||||
{{ form_errors(formLanguage.language) }}
|
||||
<span class="language-holder" data-prototype="{{ formMacros.printTalentRow(formLanguage.language.vars.prototype, (formLanguage.language|length + 1 ), 'language','add')|e('html_attr') }}"></span>
|
||||
{% for languageField in formLanguage.language %}
|
||||
{{ formMacros.printTalentRow(languageField, (loop.index - 1), 'language') }}
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
{{ form_end(formLanguage) }}
|
||||
|
||||
|
||||
{{ form_start(formProfile, {'attr': {'id': 'form_profile_edit2','novalidate': 'novalidate'}}) }}
|
||||
<div class="bg-bordered personal-info row m-b-10 p-20">
|
||||
<div class="col s12">
|
||||
<h4>Information personnelles</h4>
|
||||
</div>
|
||||
<div class="col s12">
|
||||
<div class="p-t-10">
|
||||
<div class="col s6 p-r-10">
|
||||
{{ form_row(form.firstname) }}
|
||||
{{ form_row(formProfile.firstname) }}
|
||||
</div>
|
||||
<div class="col s6">
|
||||
{{ form_row(form.lastname) }}
|
||||
{{ form_row(formProfile.lastname) }}
|
||||
</div>
|
||||
<div class="col s6">
|
||||
{{ form_row(form.birthday) }}
|
||||
{{ form_row(formProfile.birthday) }}
|
||||
</div>
|
||||
<div class="col s6">
|
||||
{{ form_row(form.gender) }}
|
||||
{{ form_row(formProfile.gender) }}
|
||||
</div>
|
||||
<div class="col s12">
|
||||
{{ form_row(form.company.address) }}
|
||||
{{ form_row(form.company.addressComp) }}
|
||||
{{ form_row(formProfile.company.address) }}
|
||||
{{ form_row(formProfile.company.addressComp) }}
|
||||
</div>
|
||||
<div class="col s6 p-r-10">
|
||||
{{ form_row(form.company.city) }}
|
||||
{{ form_row(formProfile.company.city) }}
|
||||
</div>
|
||||
<div class="col s6">
|
||||
{{ form_row(form.company.zipcode) }}
|
||||
{{ form_row(formProfile.company.zipcode) }}
|
||||
</div>
|
||||
<div class="col s12">
|
||||
{{ form_row(form.company.country) }}
|
||||
{{ form_row(formProfile.company.country) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col s12">
|
||||
<input class="btn btn-default btn-round pull-right m-t-15 m-b-20" type="submit"
|
||||
value="{{ 'profile.edit.save'|trans }}"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<input class="btn btn-default btn-round pull-right m-t-15" type="submit"
|
||||
value="{{ 'profile.edit.submit'|trans }}"/>
|
||||
</div>
|
||||
{{ form_end(form) }}
|
||||
{{ form_end(formProfile) }}
|
||||
|
||||
|
||||
<div id="liste-offres" class="bg-bordered row m-t-20 m-b-10 p-20">
|
||||
<div class="col s12">
|
||||
<span class="bg-blue-1 text-gradient font-2 fs-20">Mes dernières offres consultées</span>
|
||||
<h4>Mes dernières offres consultées</h4>
|
||||
</div>
|
||||
<div class="owl-carousel owl-carousel-ptalent">
|
||||
{% for historyAd in historyAds %}
|
||||
@@ -166,6 +311,7 @@
|
||||
|
||||
{% block javascripts %}
|
||||
{{ parent() }}
|
||||
{% if app.user.company.presentationVideo is null %}
|
||||
<script type="text/javascript">
|
||||
var urlDropzone = '{{ path("upload_media_presentation") }}';
|
||||
var urlDelete = '';
|
||||
@@ -177,25 +323,14 @@
|
||||
var mediaEditTitleUrl = "{{ path('media_edit_title', {'id': 'id_video'})|escape('js') }}";
|
||||
</script>
|
||||
<script src="{{ asset('/js/dropzone.js') }}"></script>
|
||||
<script>
|
||||
$(document).ready(function () {
|
||||
$('.tooltipster').tooltipster({
|
||||
theme: 'tooltipster-ttube',
|
||||
side: 'bottom',
|
||||
{% endif %}
|
||||
<script src="{{ asset('/js/profileTalent.js') }}"></script>
|
||||
<script type="text/javascript">
|
||||
(function ($) {
|
||||
$(function () {
|
||||
$('.modal').modal();
|
||||
});
|
||||
});
|
||||
</script>
|
||||
<script>
|
||||
$('#searchableToggle').change(function () {
|
||||
var route = '/talent/me/searchable/toggle';
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: route,
|
||||
dataType: "json",
|
||||
success: function (msg) {
|
||||
console.log(msg);
|
||||
}
|
||||
});
|
||||
});
|
||||
})(jQuery);
|
||||
</script>
|
||||
|
||||
{% endblock %}
|
||||
@@ -0,0 +1,44 @@
|
||||
{% for c in career %}
|
||||
<div class="row row-career">
|
||||
<div class="col s12">
|
||||
<span class="titleCompanyCareer">{{c.companyCareer}}</span>
|
||||
{% if edit is defined %}
|
||||
<span class="right">
|
||||
<a class="edit-career" data-index="{{ loop.index - 1 }}">
|
||||
<i class="fa fa-pencil" aria-hidden="true"></i>
|
||||
</a>
|
||||
</span>
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="col s12">
|
||||
<span class="titleJobCareer">{{c.jobCareer}}</span>
|
||||
</div>
|
||||
<div class="col s12 titleDateCareer">
|
||||
{% if c.beginMonthCareer is defined %}
|
||||
{% set fullDate = '2018-' ~ c.beginMonthCareer ~ '-01' %}
|
||||
{% if c.beginMonthCareer matches '/^\\d+$/' %}
|
||||
<span>{{ fullDate|datetime }} {{ c.beginYearCareer }}</span>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
<span>-
|
||||
{% if c.actualJobCareer is defined and c.actualJobCareer == true %}
|
||||
Aujourd'hui{% else %} {% set fullDateEnd = '2018-' ~ c.endMonthCareer ~ '-01' %} {% if c.endMonthCareer matches '/^\\d+$/' %}{{ fullDateEnd|datetime }}{% endif %} {{ c.endYearCareer }}{% endif %}, {{ c.placeCareer }}
|
||||
</span>
|
||||
</div>
|
||||
<div class="col s12">
|
||||
<span class="titleDescriptionCareer">{{c.descriptionCareer|nl2br}}</span>
|
||||
</div>
|
||||
<div class="col s12">
|
||||
<div class="keywords">
|
||||
{% if c.tagsComma %}
|
||||
{% for keyword in c.tagsComma|split(',') %}
|
||||
<div class="chip">
|
||||
{{ keyword }}
|
||||
</div>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
</div>
|
||||
<hr />
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
@@ -0,0 +1,29 @@
|
||||
{% for f in formation %}
|
||||
<div class="row row-formation">
|
||||
<div class="col s12">
|
||||
<span class="titleCompanyCareer">{{f.nameFormation}}</span>
|
||||
{% if edit is defined %}
|
||||
<span class="right">
|
||||
<a class="edit-formation" data-index="{{ loop.index - 1 }}">
|
||||
<i class="fa fa-pencil" aria-hidden="true"></i>
|
||||
</a>
|
||||
</span>
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="col s12 titleDateCareer">
|
||||
<span>
|
||||
{% if f.actualJobFormation is defined and f.actualJobFormation == true %}
|
||||
En cours
|
||||
{% else %}
|
||||
{{ f.beginYearFormation }}
|
||||
{% endif %}
|
||||
</span>
|
||||
</div>
|
||||
<div class="col s12">
|
||||
<span class="titleDescriptionCareer">{{f.descriptionFormation|nl2br}}</span>
|
||||
</div>
|
||||
<div class="col s12">
|
||||
<hr />
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
@@ -0,0 +1,17 @@
|
||||
{% for l in language %}
|
||||
<div class="row row-language">
|
||||
<div class="col s12">
|
||||
<span class="titleCompanyCareer">{{l.nameLanguage}}</span>
|
||||
{% if edit is defined %}
|
||||
<span class="right">
|
||||
<a class="edit-language" data-index="{{ loop.index - 1 }}">
|
||||
<i class="fa fa-pencil" aria-hidden="true"></i>
|
||||
</a>
|
||||
</span>
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="col s12">
|
||||
<span class="titleJobCareer">{{ l.skillLanguage|trans }}</span>
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
@@ -35,32 +35,6 @@
|
||||
{{ company.addresses.billing.country|country }}</p>
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="col s12 profil-links">
|
||||
{% if talent.extra.linkedin %}
|
||||
<a target="_blank" href="{{ talent.extra.linkedin }}" class="td-none">
|
||||
<span class="fa-stack fa-lg">
|
||||
<i class="fa fa-circle fa-stack-2x z-depth-2"></i>
|
||||
<i class="fa fa-linkedin fa-stack-1x fa-inverse"></i>
|
||||
</span>
|
||||
</a>
|
||||
{% endif %}
|
||||
{% if talent.extra.twitter %}
|
||||
<a target="_blank" href="{{ talent.extra.twitter }}" class="td-none">
|
||||
<span class="fa-stack fa-lg">
|
||||
<i class="fa fa-circle fa-stack-2x z-depth-2"></i>
|
||||
<i class="fa fa-twitter fa-stack-1x fa-inverse"></i>
|
||||
</span>
|
||||
</a>
|
||||
{% endif %}
|
||||
{% if talent.website %}
|
||||
<a target="_blank" href="{{ talent.website }}" class="td-none">
|
||||
<span class="fa-stack fa-lg">
|
||||
<i class="fa fa-circle fa-stack-2x z-depth-2"></i>
|
||||
<i class="fa fa-link fa-stack-1x fa-inverse"></i>
|
||||
</span>
|
||||
</a>
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="col s12 center-align">
|
||||
<div class="divider"></div>
|
||||
<br/>
|
||||
@@ -79,17 +53,64 @@
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="row bg-bordered">
|
||||
<div class="col s12">
|
||||
<h3 class="blue-text no-margin-top">
|
||||
Le Cv vidéo de
|
||||
{{ user.firstname }}
|
||||
{{ user.lastname }}</h3>
|
||||
{% for tag in talent.publicTag %}
|
||||
<div class="chip">{{ tag }}</div>
|
||||
<div class="row bg-bordered talent-profile">
|
||||
<div class="col s8">
|
||||
<h3 class="no-margin-top">{{ user.company.extra.titleTalent }}</h3>
|
||||
<span>{{ user.company.extra.situationTalent|trans }}</span>
|
||||
</div>
|
||||
<div class="col s4 talent-border-left">
|
||||
<h3 class="no-margin-top talent-profile-title">DÉCOUVRIR SON PROFIL</h3>
|
||||
<div class="profil-links">
|
||||
{% if talent.extra.linkedin %}
|
||||
<a target="_blank" href="{{ talent.extra.linkedin }}" >
|
||||
<i class="fa fa-linkedin fa-inverse"></i>
|
||||
</a>
|
||||
{% endif %}
|
||||
{% if talent.extra.twitter %}
|
||||
<a target="_blank" href="{{ talent.extra.twitter }}" >
|
||||
<i class="fa fa-twitter fa-inverse"></i>
|
||||
</a>
|
||||
{% endif %}
|
||||
{% if talent.website %}
|
||||
<a target="_blank" href="{{ talent.website }}" >
|
||||
<i class="fa fa-globe-africa fa-inverse"></i>
|
||||
</a>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="col s12 talent-border-top">
|
||||
{% for tag in talent.publicTag if talent.publicTag[0] is not empty %}
|
||||
<div class="chip {% if loop.index > 5 %}chip-invisible{% endif %}">{{ tag }}</div>
|
||||
{% endfor %}
|
||||
{% if talent.publicTag|length > 5 %}
|
||||
<div class="chip chip-more">+ {{ talent.publicTag|length - 5 }}</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
{% if user.company.extra.descriptionTalent %}
|
||||
<div class="row bg-bordered">
|
||||
<div class="col s12">
|
||||
<h3 class="blue-text no-margin-top">{{ user.firstname }} {% trans %}en quelques mots{% endtrans %}</h3>
|
||||
</div>
|
||||
<div class="col s12">
|
||||
<p>
|
||||
{{ user.company.extra.descriptionTalent|raw|nl2br }}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% if user.career %}
|
||||
<div class="row bg-bordered">
|
||||
<div class="col s12">
|
||||
<h3 class="blue-text no-margin-top">Expériences</h3>
|
||||
</div>
|
||||
<div class="col s12">
|
||||
<div class="col s12" id="career_container">
|
||||
{% include 'talent/profile_career.html.twig' with {'career': user.career } %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
<div class="row bg-bordered">
|
||||
<div class="col s12 header-recommendations">
|
||||
<h3 class="blue-text no-margin-top">{% trans %}label.recommendations{% endtrans %}</h3>
|
||||
@@ -129,6 +150,30 @@
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% if user.formation %}
|
||||
<div class="row bg-bordered">
|
||||
<div class="col s12">
|
||||
<h3 class="blue-text no-margin-top">Formations & Certifications </h3>
|
||||
</div>
|
||||
<div class="col s12">
|
||||
<div class="col s12" id="formation_container">
|
||||
{% include 'talent/profile_formation.html.twig' with {'formation': user.formation } %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% if user.language %}
|
||||
<div class="row bg-bordered">
|
||||
<div class="col s12">
|
||||
<h3 class="blue-text no-margin-top">Langues </h3>
|
||||
</div>
|
||||
<div class="col s12">
|
||||
<div class="col s12" id="formation_container">
|
||||
{% include 'talent/profile_language.html.twig' with {'language': user.language } %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -195,6 +240,11 @@
|
||||
});
|
||||
$('#modal-recommendation').modal('open');
|
||||
}
|
||||
|
||||
$(".chip-more").on('click',function(){
|
||||
$(this).fadeOut();
|
||||
$(".chip-invisible").css('display','inline-block');
|
||||
});
|
||||
});
|
||||
</script>
|
||||
{% endblock %}
|
||||
@@ -71,11 +71,11 @@
|
||||
- {{ company.addresses.billing.country|country }}</p>
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="col s12 profil-links">
|
||||
<div class="col s12 profil-links center-align">
|
||||
{% if company.website %}
|
||||
<a target="_blank" href="{{ company.website }}" class="td-none">
|
||||
<span class="fa-stack fa-lg">
|
||||
<i class="fa fa-circle fa-stack-2x z-depth-2"></i>
|
||||
<i class="fa fa-circle fa-stack-2x"></i>
|
||||
<i class="fa fa-link fa-stack-1x fa-inverse"></i>
|
||||
</span>
|
||||
</a>
|
||||
|
||||
@@ -5,7 +5,8 @@ assetic:
|
||||
filters:
|
||||
cssrewrite: ~
|
||||
uglifyjs2:
|
||||
bin: /usr/local/bin/uglifyjs
|
||||
bin: /usr/lib/node_modules/uglify-es/bin/uglifyjs
|
||||
# bin: /usr/local/bin/uglifyjs2
|
||||
assets:
|
||||
vendors:
|
||||
inputs:
|
||||
@@ -25,6 +26,9 @@ assetic:
|
||||
- 'js/global.js'
|
||||
- 'js/register.js'
|
||||
- 'js/tags.js'
|
||||
- 'js/EdeclicTools.js'
|
||||
- 'js/EdeclicPushAndNotificationClient.js'
|
||||
|
||||
company:
|
||||
inputs:
|
||||
- 'js/company.js'
|
||||
@@ -32,8 +36,16 @@ assetic:
|
||||
- 'js/vendors/jquery.daterangepicker.min.js'
|
||||
talents:
|
||||
inputs:
|
||||
- 'js/vendors/jquery-3.1.1.min.js'
|
||||
- 'js/vendors/dropzone.js'
|
||||
- 'js/vendors/materialize.min.js'
|
||||
- 'js/vendors/materialize-tags.min.js'
|
||||
- 'js/vendors/typeahead.js'
|
||||
- 'js/vendors/jquery-confirm.min.js'
|
||||
- 'js/vendors/tooltipster.bundle.min.js'
|
||||
- 'js/vendors/datepicker.min.js'
|
||||
- 'js/vendors/jquery.validate.min.js'
|
||||
- 'js/talent.js'
|
||||
admin:
|
||||
inputs:
|
||||
- 'admin/AdminLTE/plugins/jQuery/jquery-2.2.3.min.js'
|
||||
|
||||
@@ -51,7 +51,8 @@ doctrine:
|
||||
password: "%database_password%"
|
||||
charset: UTF8
|
||||
orm:
|
||||
auto_generate_proxy_classes: "%kernel.debug%"
|
||||
#auto_generate_proxy_classes: "%kernel.debug%"
|
||||
auto_generate_proxy_classes: false
|
||||
entity_managers:
|
||||
default:
|
||||
connection: default
|
||||
@@ -77,6 +78,7 @@ twig:
|
||||
debug: "%kernel.debug%"
|
||||
strict_variables: "%kernel.debug%"
|
||||
globals:
|
||||
push_public_key: "%push_params.public_key%"
|
||||
fairlane_cookie_consent: '@fairlane_cookie_consent.twig'
|
||||
|
||||
|
||||
@@ -191,8 +193,12 @@ hwi_oauth:
|
||||
resource_owners:
|
||||
facebook:
|
||||
type: facebook
|
||||
# PROD
|
||||
client_id: 1800752833559014
|
||||
client_secret: 454de729b1e58f506f94c8b50ca5c011
|
||||
client_secret: 454de729b1e58f506f94c8b50ca5c011
|
||||
#DEV TT app
|
||||
# client_id: 2332071840142634
|
||||
# client_secret: afb8bbca72bd8c517c64f81e998e4f12
|
||||
scope: "email, public_profile, user_birthday"
|
||||
infos_url: "https://graph.facebook.com/me?fields=id,email,first_name,last_name,gender,birthday,picture.type(square)"
|
||||
paths:
|
||||
@@ -227,4 +233,44 @@ monolog:
|
||||
level: debug
|
||||
type: rotating_file
|
||||
max_files: 15
|
||||
path: '%kernel.logs_dir%/%kernel.environment%_debug.log'
|
||||
path: '%kernel.logs_dir%/%kernel.environment%_debug.log'
|
||||
|
||||
#Api
|
||||
fos_rest:
|
||||
zone:
|
||||
- { path: ^/api/* }
|
||||
body_converter:
|
||||
enabled: true
|
||||
view:
|
||||
formats: { json: true, xml: false, rss: false }
|
||||
view_response_listener: true
|
||||
mime_types:
|
||||
json: ['application/json', 'application/json;version=1.0', 'application/json;version=2.0']
|
||||
serializer:
|
||||
serialize_null: true
|
||||
format_listener:
|
||||
rules:
|
||||
- { path: '^/api/', priorities: ['json'], fallback_format: 'json' }
|
||||
param_fetcher_listener: true
|
||||
exception:
|
||||
enabled: true
|
||||
codes:
|
||||
{ 'AppBundle\Exception\ResourceValidationException': 400 }
|
||||
messages:
|
||||
{ 'AppBundle\Exception\ResourceValidationException': true }
|
||||
|
||||
lexik_jwt_authentication:
|
||||
secret_key: '%kernel.root_dir%/../app/config/jwt/private.pem' # required for token creation
|
||||
public_key: '%kernel.root_dir%/../app/config/jwt/public.pem' # required for token verification
|
||||
pass_phrase: 'talentstubeforever' # required for token creation, usage of an environment variable is recommended
|
||||
token_ttl: 3600000
|
||||
|
||||
nelmio_cors:
|
||||
paths:
|
||||
'^/':
|
||||
allow_credentials: true
|
||||
allow_origin: ['*']
|
||||
allow_headers: ['Origin', 'X-Requested-With', 'Content-Type', 'Accept', 'Authorization']
|
||||
allow_methods: ['POST','GET','DELETE','PUT']
|
||||
expose_headers: []
|
||||
max_age: 3600000
|
||||
@@ -1,7 +1,22 @@
|
||||
fos_elastica:
|
||||
clients:
|
||||
default: { host: %elastic_host%, port: %elastic_port% }
|
||||
<<<<<<< HEAD
|
||||
|
||||
=======
|
||||
indexes:
|
||||
tags:
|
||||
types:
|
||||
tagsfr:
|
||||
mappings:
|
||||
publicTag:
|
||||
analyzer: keyword
|
||||
type: text
|
||||
persistence:
|
||||
driver: orm
|
||||
model: AppBundle\Entity\Ad
|
||||
provider: ~
|
||||
finder: ~
|
||||
ads:
|
||||
settings:
|
||||
index:
|
||||
@@ -127,4 +142,5 @@ fos_elastica:
|
||||
driver: orm
|
||||
model: AppBundle\Entity\User
|
||||
provider: ~
|
||||
finder: ~
|
||||
finder: ~
|
||||
>>>>>>> origin/master
|
||||
|
||||
@@ -0,0 +1,54 @@
|
||||
-----BEGIN RSA PRIVATE KEY-----
|
||||
Proc-Type: 4,ENCRYPTED
|
||||
DEK-Info: AES-256-CBC,1B8B1CB3A64B49F820DD713907974037
|
||||
|
||||
0/ahxIYlJ0RiiOqRz78LbR7g+UvBC8r4RrMWFCIOuh/FPbTYyIc0VxRMObrTqvHv
|
||||
B4oUMnTzHzkOimvLWncZSIA39TL2OuQMTT7g/Cp8uh7Exnf29js7Ywv8EAQA2trw
|
||||
EsLXjH5St3vLhWLQdxVUBY6tWc5yuqTJ3ze9rFojiJ0mbIoeid7L8sI4mQAocfX2
|
||||
2/aMWwhQX83AJaRC7liU18nZAP4gAxYjvLAaC6zj7M3wxPv1r3Ox2PuSUfYZFkYA
|
||||
HbVYq6pi/Dw32CmCniufccSr2wd0f78fZdI/E20tdAviLN6awqrjM2aFgzqZ6zw/
|
||||
UCD3L1hLfGxRk6uYAFgEiFQB7dT4ZzqjopKNsVuho+DTc55kmx8iPD3xXuTMbeUY
|
||||
SgiV4KcGCbHRt1HGWWbJgyOkSaPQQQk5Bf63glS4nLVNqzIqzJmpVCKuwOpKCSnK
|
||||
DTeWpw9MIHLHM4SD2OM8Hh8S8l6v+Y4ash6mEtUNh6a7N+TQ1vEn/wyt8wyM7/Fh
|
||||
UY/97loUyu0HC2Ox89sP1y6VcNaRQlhNj9hZzLC/q5K+Z4zAQRnGPuTowZL7ztxZ
|
||||
BD+MTnNZc+Akrti+3c1vAHxzuUoBd7h8NX2pnNNUY2Wme9JqfZnCx9fV4AwVOvx6
|
||||
8mvTQL5YHOv8HpsGnDoOak1r+QzHM8IrL8SSrJ/DBXMIWmFefhcIDgrXZG8LV+ck
|
||||
RlSuP5Lsyy3e8AQ6hrM06DXkhjGi7gCeHIHySbzw0AiFERQz0d7XgU75DL/ALPqh
|
||||
0lyqlXdrx/+qqTc0wwjYIerNLNdVqN9kvLg+aqFSwZrfiZyEy6rYdUoqYXoInwle
|
||||
QBt2uqcjVUhMwdQYaDWiqHidSpIMP5nuTKDm6Z8J/SLf4iy+It1qXUEcoRKhDavm
|
||||
fy+dw3JvthpoNjP3Bq+moygP8J8msS5Ti3UgVug21Fsp89fmvUO8FO2JRXLXP8+U
|
||||
3HG1Ij/KKk1dxC6PT7qu9gVeoKM+W8maCVV/O84Qx/N3aXY+sHm1HsSssg0cLEC7
|
||||
zaEai16xhVGI8aagYwxBHVkVVXk/CBS7zq1JYBnZOIw56d1NTjvJ3YmTx619Hyek
|
||||
PJuMNjGV4mM0jONzHJbI6deE2B+f1/ej1JwoeGyBhynrZjwtTCd3JAtwRK9WO1fq
|
||||
owdoCAnDOV7yDcwfFEYaNV2ie/R/kQo/fIIanykQs59Op2M0yhLvmch+C3RghLVg
|
||||
qfR3Jngbqjwz/uh5ZQShZtHFirdAyer/eLD0CteDt4TrAiQxiHqrEOdqwF/G/STq
|
||||
+3SSkChf6uhqUUqfmJFwxaF6AiNTkdk0YyxucWY2JXYf3qyz7ADGnI/KZZ+1LchF
|
||||
2bLUKjyjnFKQoaFtDd7qMGxrTD80egN/fFV4Nybt+DTsGjdUjvCFS69j+YvZ0vIP
|
||||
8rZHK7etISTfiauP9SrIR9UKpNA8fGrUgJGOMo/5Wkz4YS6LmMceQkpDxj46p8Ia
|
||||
Iv+pOKez6NsckP1OiDfTxLtXL1S3xQHP3V0dYI5UcWt8Bczi2VylZCcS8JiV8Cqy
|
||||
+EYRaIB9Qi1X5uLQsbiyS70rJp9mJ3xUR2dIzD70njCIDtLPA2b9dXqXm1IyqdkB
|
||||
46W0MOnyI699XgiywvPovwhzTH8uO5Xn5gnjEgD92pHdJ2iTVQDTC9qtKhODrhbC
|
||||
ouOCbS/LPAnQMwlLD1rWAeJcBJ3PL1KdAlaxWq3Jd/iMhDh/hSboS88Lm88RYtBh
|
||||
3DhMCyxY1gu6jyzuWN2pHKzCvZ1Aqqm1SMS/8nAPe/KtPJO7zTRQJIrrfPK1pt2B
|
||||
u5tu1zupVKihoRkLZtV4FUwDBo8DE9V65b/LAJZtuId77ci7aWRoD5b1Lc9X9iyH
|
||||
cFJTQbMxzA76/8F9/Y1h8D9mdP+N9Tfw6iOvRxszqciGAsUasqo4Xm3ZOQqCcOo5
|
||||
djoywGnzqsfxrV733i2KHRqz7XUkLf8n6URloH2i1tSbHWl7fmYAC0N85IUs1PxQ
|
||||
DB0LUtQgS03gjE4pRJSlgf8JX/0KrG8sYpcvz9R5CqMKrkM6rDy6ehe4P5xVQ+3m
|
||||
WNCZFfGjCTcuEVLFDNx8CdF8qIV/BCcUSty7KXXoC3AMOAsVlZSwskmKN61GJmBS
|
||||
Sz1bDwZO6QCZgXR2fH0UMEnCkpksS4xf3f0oq5/WzWzC4ZaDHnwt5NqKE8XXeYpn
|
||||
isulqUFmCK2VhkqRX1rwND8E45yDG8+U5lyJSHp4y8Fe+AEQjxXUxXDefc80s09i
|
||||
LMXM7iNUtESFge3BZvocdRrqvp21tkPElzaDoW0nMb0VoNI4Xfe113vBeBdEq0Hr
|
||||
yuGvM8ZgvKjzl1T4h9PTaBu97kR1QjBSiY0PeEeSMtq/W1XbFO5jU4g/utVRluBm
|
||||
z64kldtRW1RC8vosrN4sNbdVDAvL43Dynl0wYMI+jgIN3HP2QnOTDH1MLQ5BJZg4
|
||||
aZFSMZ70e9kF2HXpFnfp+SsuT0lMhzZrSrLvKg0pkuD8jc7FtP/HoLcay2doBufd
|
||||
fS4VheiaGm7om9Ggmkowld1CUpuzfyi7NDcymWH6J37Ypcvprn1Ts9iBcBDaOsbZ
|
||||
T3pP0mU4glmRPFRq2IRZXOgTQFXIJKYFpnt0LCC2IuzbQLTKy0LVr6Ksc6ZD21j5
|
||||
AR/xblSp8dZDS4ltrN44r+rtcio7dN9KlDctURpoqdw8oatwpk5QLFfYeMKPRn6j
|
||||
yQA4tatWlTxr/UR8Xy8JNcJfg7JQIYjdf36atxpv5xYvnkf6Gs56xVnRthwNYawn
|
||||
h44emyq/Tuflc9FZqptUDwEPKzLvH0NWxVkNvGG92H0OtES3q9OpGPTnqhIPUTme
|
||||
Jrbu7knwD5sdzYRh64BhbXem8glPStYnW7B0dSdvyvGpArF1W2cKKURgnr7XokrB
|
||||
DqbeSpdRf7fE5bw9jHJgcpUJOZ3o6kGA3l309Cdcbigm7gnK0KiY0y/P8MSWEu00
|
||||
C4WZOFLxuaO1iVav+spACFbFkdVmLoRBPE2hFUc6BA3E/7qNHAjlVYXbUrIR3NA+
|
||||
iioXf1XFM7K0LG02mMKEFSuWIpZacDyAfjHUlrid7cFBBXLk/EWcwNyGSlRdQl7w
|
||||
rn7V+QfAdTxmk2FAyO80odbrdZQaBR6oLZaFgz/MzkT6dLJXwCjKG/qJrwwV/2sv
|
||||
-----END RSA PRIVATE KEY-----
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user