Compare commits
237 Commits
ef5f0e81da
...
1.6.74
| Author | SHA1 | Date | |
|---|---|---|---|
| db084707bb | |||
| 1a9fff778a | |||
| 90a38edb29 | |||
| fc1b4a3e2a | |||
| 94a946e36d | |||
| f06cbe296f | |||
| e2a98aaed3 | |||
| beee2c5635 | |||
| bca29b9547 | |||
| 823a781d3a | |||
| 2a9e728354 | |||
| 074c125f8c | |||
| 0b2898d170 | |||
| 12525dbf16 | |||
| 4a17adf687 | |||
| f4e412d792 | |||
| 61786797c8 | |||
| 57587a4a97 | |||
| fd048d5a0e | |||
| 229893dc95 | |||
| 26c6e2103d | |||
| 8830b5ccde | |||
| 2bc2d87b8c | |||
| 278c558c9e | |||
| 98545707b3 | |||
| 52d105efb4 | |||
| 027c3fd2d1 | |||
| 824ff9f1ec | |||
| 606e29280b | |||
| 3a29c647dd | |||
| 57dd053693 | |||
| e57173f835 | |||
| 8f4ef35ddf | |||
| 346b788f83 | |||
| edf35c74e8 | |||
| 75f2bbf6a7 | |||
| 0cbe670c90 | |||
| 2d595c1c3a | |||
| 98ebde7e72 | |||
| d607962523 | |||
| b4ae35f4a6 | |||
| be37e97a19 | |||
| d21febaaa1 | |||
| 6acba9c082 | |||
| 65147a9ac6 | |||
| a366ed749e | |||
| 87f6956958 | |||
| 3a78ac68f2 | |||
| 39774c1ed9 | |||
| bd477b3354 | |||
| 86e33a5e0a | |||
| 365c71751d | |||
| 46399bd8ed | |||
| c3a8fa73cd | |||
| fe7c9992a5 | |||
| 1922ab328b | |||
| a91f2df040 | |||
| 1a4e81963e | |||
| 5ae61ff2c7 | |||
| 995bb0b43e | |||
| 4c841aaafa | |||
| 49abf8d86f | |||
| e3ca74f09b | |||
| 6818e82c92 | |||
| 2ea95f529e | |||
| 6cec286886 | |||
| f38d22d70d | |||
| 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 | |||
| b19498ef46 | |||
| a5742f2c1e | |||
| 57b7db7f43 | |||
| db07bc80c8 | |||
| 1e03451b37 | |||
| b1185018de | |||
| 5d8357231c | |||
| 5474397f5f | |||
| aeb4328e23 | |||
| 44d0711dc1 | |||
| 9f6c1a740f | |||
| 8063c8479e | |||
| 56444f6363 | |||
| 04229b0781 | |||
| 4edfae9f1c | |||
| 870654c850 | |||
| 9413202660 | |||
| 215e325a8c | |||
| 9f8682c896 | |||
| ff33129d80 | |||
| 1b76548c91 | |||
| 9578eb96c9 | |||
| c4af665c26 | |||
| c48fe53e6a | |||
| d69f32c657 | |||
| dba776d15f | |||
| bb3ed610ab | |||
| 75145d9e1c | |||
| b885e6866c | |||
| dbb06990d5 | |||
| f8c0b75ec2 | |||
| dca95338a9 |
@@ -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,16 +14,23 @@ $(info $(USAGE))
|
||||
$(error Exiting)
|
||||
endif
|
||||
|
||||
SYS=linux
|
||||
|
||||
DC_OVERRIDE := $(shell test -e conf/docker-compose.override.yml && echo "--file conf/docker-compose.override.yml")
|
||||
DC_OVERRIDE_ENV := $(shell test -e conf/docker-compose.$(ENV).yml && echo "--file conf/docker-compose.$(ENV).yml")
|
||||
|
||||
DC=ENV=$(ENV) CLIENT=$(CLIENT) $(DOCKERCOMPOSE) --project-name "$(CLIENT)_$(ENV)" --file conf/docker-compose.yml $(DC_OVERRIDE) $(DC_OVERRIDE_ENV)
|
||||
ifeq ($(SYS),linux)
|
||||
DC=ENV=$(ENV) CLIENT=$(CLIENT) "$(DOCKERCOMPOSE)" --project-name "$(CLIENT)_$(ENV)" --file conf/docker-compose.yml $(DC_OVERRIDE) $(DC_OVERRIDE_ENV)
|
||||
else
|
||||
DC=ENV=$(ENV) CLIENT=$(CLIENT) "$(DOCKERCOMPOSE)" --project-name "$(CLIENT)_$(ENV)" --file conf/docker-compose.win.yml $(DC_OVERRIDE) $(DC_OVERRIDE_ENV)
|
||||
endif
|
||||
|
||||
default:
|
||||
$(info $(USAGE))
|
||||
$(error Exiting)
|
||||
|
||||
docker-build:
|
||||
$(DC) pull
|
||||
$(DC) build
|
||||
$(DC) up -d
|
||||
|
||||
@@ -57,8 +64,8 @@ config:
|
||||
|
||||
@echo " --> Generating mysql auth file"
|
||||
@cat conf/env/store-mysql.env \
|
||||
| python -c "import sys; import string; v=sys.stdin.readline().split('MYSQL_ROOT_PASSWORD=')[1]; print(string.Template(open('conf/build/mysql/my.cnf').read()).substitute({'PASSWORD':v}))" \
|
||||
| docker exec -i $(CLIENT).store-mysql.$(ENV) sh -c 'cat > /root/.my.cnf'
|
||||
| python -c "import sys; import string; v=sys.stdin.readline().split('MYSQL_ROOT_PASSWORD=')[1]; print(string.Template(open('conf/build/mysql/my.cnf').read()).substitute({'PASSWORD':v}))" \
|
||||
| docker exec -i $(CLIENT).store-mysql.$(ENV) sh -c 'cat > /root/.my.cnf'
|
||||
|
||||
db-backup-all: db-backup-website db-backup-store
|
||||
|
||||
@@ -76,9 +83,14 @@ db-backup-store:
|
||||
|
||||
db-restore-all: db-restore-website db-restore-store
|
||||
|
||||
db-backup-script:
|
||||
@mkdir -p backup/
|
||||
@docker exec $(CLIENT).postgres.$(ENV) pg_dumpall --database database -c -U postgres > backup/postgres_$(ENV)_`date +%d-%m-%Y"_"%H_%M_%S`.sql
|
||||
@docker exec $(CLIENT).store-mysql.$(ENV) mysqldump -uroot database > backup/store-mysql_$(ENV)_`date +%d-%m-%Y"_"%H_%M_%S`.sql
|
||||
|
||||
db-restore-website:
|
||||
@echo "Restoring file to database (backup/store-mysql.sql)"
|
||||
@cat backup/postgres.sql | docker exec -i $(CLIENT).postgres.$(ENV) psql --dbname database -U postgres
|
||||
@echo "Restoring file to database (backup/postgres.sql)"
|
||||
@cat backup/postgres.sql | docker exec -i $(CLIENT).postgres.$(ENV) psql --dbname database -U user
|
||||
@docker cp backup/mongo $(CLIENT).mongo.$(ENV):/
|
||||
@docker exec -t $(CLIENT).mongo.$(ENV) mongorestore --drop --gzip --db=tt_history /mongo/tt_history
|
||||
|
||||
@@ -95,7 +107,7 @@ entities:
|
||||
@docker exec -i $(CLIENT).php.$(ENV) su www-data --shell=/bin/bash -c "/home/www/website/www/bin/console doctrine:generate:entities AppBundle"
|
||||
|
||||
db-diff:
|
||||
@docker exec -i $(CLIENT).php.$(ENV) su www-data --shell=/bin/bash -c "/home/www/website/www/bin/console doctrine:migrations:diff"
|
||||
@docker exec -i $(CLIENT).php.$(ENV) su www-data -c "/home/www/website/www/bin/console doctrine:migrations:diff"
|
||||
|
||||
db-migrate:
|
||||
@docker exec -i $(CLIENT).php.$(ENV) su www-data --shell=/bin/bash -c "/home/www/website/www/bin/console doctrine:migrations:migrate"
|
||||
@@ -104,3 +116,7 @@ db-deploy: db-diff db-migrate
|
||||
|
||||
es-populate:
|
||||
@docker exec -i $(CLIENT).php.$(ENV) su www-data --shell=/bin/bash -c "/home/www/website/www/bin/console fos:elastica:populate"
|
||||
|
||||
sys:
|
||||
@echo $(SYS)
|
||||
@echo $(DC)
|
||||
|
||||
+31
-24
@@ -1,47 +1,54 @@
|
||||
FROM php:7.1-fpm
|
||||
FROM php:7.1-fpm-buster
|
||||
|
||||
ENV TERM=xterm
|
||||
|
||||
RUN echo 'deb http://ftp.debian.org/debian jessie-backports main' > /etc/apt/sources.list.d/debian-backports.list
|
||||
#RUN printf "deb http://archive.debian.org/debian/ jessie main\ndeb-src http://archive.debian.org/debian/ jessie main\ndeb http://security.debian.org jessie/updates main\ndeb-src http://security.debian.org jessie/updates main\ndeb http://archive.debian.org/debian/ jessie-backports main" > /etc/apt/sources.list.d/debian-backports.list
|
||||
|
||||
RUN apt-get clean \
|
||||
&& apt-get update \
|
||||
&& apt-get install -y lsof nano less git locales
|
||||
&& apt-get update \
|
||||
&& apt-get install -y lsof nano less git locales
|
||||
|
||||
RUN echo 'fr_FR.UTF-8 UTF-8' > /etc/locale.gen \
|
||||
&& /usr/sbin/locale-gen
|
||||
&& /usr/sbin/locale-gen
|
||||
|
||||
RUN apt-get update \
|
||||
&& apt-get install -y ffmpeg exiftool graphviz libfreetype6-dev libjpeg62-turbo-dev libpng12-dev libmcrypt-dev libxslt-dev libicu-dev libxml2-dev libpq-dev libgeoip-dev libedit-dev mysql-client nodejs npm \
|
||||
&& apt-get install -y --no-install-recommends libmagickwand-dev \
|
||||
&& docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \
|
||||
&& docker-php-ext-install -j4 gd mcrypt xsl zip intl gettext soap pdo_pgsql pdo_mysql mysqli pgsql json readline opcache \
|
||||
&& pecl install geoip-1.1.1 redis imagick mongodb \
|
||||
&& docker-php-ext-enable geoip redis imagick mongodb
|
||||
&& apt-get -y install libgmp-dev \
|
||||
&& ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/local/include/gmp.h \
|
||||
&& docker-php-ext-install gmp \
|
||||
&& docker-php-ext-configure gmp
|
||||
|
||||
|
||||
RUN apt-get update \
|
||||
&& apt-get install -y ffmpeg exiftool graphviz libfreetype6-dev libjpeg62-turbo-dev libpng-dev libmcrypt-dev libxslt-dev libicu-dev libxml2-dev libpq-dev libgeoip-dev libedit-dev mariadb-client nodejs npm \
|
||||
&& apt-get install -y --no-install-recommends libmagickwand-dev \
|
||||
&& docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \
|
||||
&& docker-php-ext-install -j4 gd mcrypt xsl zip intl gettext soap pdo_pgsql pdo_mysql mysqli pgsql json readline opcache \
|
||||
&& pecl install geoip-1.1.1 redis imagick mongodb \
|
||||
&& docker-php-ext-enable geoip redis imagick mongodb
|
||||
|
||||
RUN { \
|
||||
echo 'opcache.memory_consumption=128'; \
|
||||
echo 'opcache.interned_strings_buffer=8'; \
|
||||
echo 'opcache.max_accelerated_files=4000'; \
|
||||
echo 'opcache.revalidate_freq=60'; \
|
||||
echo 'opcache.fast_shutdown=1'; \
|
||||
echo 'opcache.enable_cli=1'; \
|
||||
} >> /usr/local/etc/php/conf.d/docker-php-ext-opcache.ini
|
||||
echo 'opcache.memory_consumption=128'; \
|
||||
echo 'opcache.interned_strings_buffer=8'; \
|
||||
echo 'opcache.max_accelerated_files=4000'; \
|
||||
echo 'opcache.revalidate_freq=60'; \
|
||||
echo 'opcache.fast_shutdown=1'; \
|
||||
echo 'opcache.enable_cli=1'; \
|
||||
} >> /usr/local/etc/php/conf.d/docker-php-ext-opcache.ini
|
||||
|
||||
COPY zz-logformat.conf /usr/local/etc/php-fpm.d/
|
||||
COPY php.ini /usr/local/etc/php/conf.d/
|
||||
|
||||
RUN (curl --silent --show-error https://getcomposer.org/installer | php) \
|
||||
&& mv composer.phar /usr/local/bin/composer
|
||||
&& mv composer.phar /usr/local/bin/composer
|
||||
|
||||
RUN curl --location --silent --show-error https://symfony.com/installer -o /usr/local/bin/symfony \
|
||||
&& chmod a+x /usr/local/bin/symfony
|
||||
&& chmod a+x /usr/local/bin/symfony
|
||||
|
||||
RUN curl --location --silent --show-error https://s3.amazonaws.com/files.drush.org/drush.phar -o /usr/local/bin/drush \
|
||||
&& chmod a+x /usr/local/bin/drush
|
||||
&& chmod a+x /usr/local/bin/drush
|
||||
|
||||
RUN (npm install -g uglify-js) \
|
||||
&& ln -s /usr/bin/nodejs /usr/local/bin/node
|
||||
RUN (npm install -g uglify-es) \
|
||||
&& ln -s /usr/bin/nodejs /usr/local/bin/node
|
||||
|
||||
RUN apt-get clean \
|
||||
&& rm -rf /var/lib/apt/lists/
|
||||
&& rm -rf /var/lib/apt/lists/
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
FROM php:7.1-fpm
|
||||
FROM php:7.1-fpm-buster
|
||||
|
||||
ENV TERM=xterm
|
||||
|
||||
@@ -10,7 +10,7 @@ RUN echo 'fr_FR.UTF-8 UTF-8' > /etc/locale.gen \
|
||||
&& /usr/sbin/locale-gen
|
||||
|
||||
RUN apt-get update \
|
||||
&& apt-get install -y libfreetype6-dev libjpeg62-turbo-dev libpng12-dev libmcrypt-dev libxslt-dev libicu-dev libxml2-dev libpq-dev libgeoip-dev libedit-dev mysql-client \
|
||||
&& apt-get install -y libfreetype6-dev libjpeg62-turbo-dev libpng-dev libmcrypt-dev libxslt-dev libicu-dev libxml2-dev libpq-dev libgeoip-dev libedit-dev mariadb-client \
|
||||
&& apt-get install -y --no-install-recommends libmagickwand-dev \
|
||||
&& docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \
|
||||
&& docker-php-ext-install -j4 gd mcrypt xsl zip intl gettext soap pdo_pgsql pdo_mysql mysqli pgsql json readline opcache \
|
||||
@@ -33,4 +33,4 @@ RUN (curl --silent --show-error https://getcomposer.org/installer | php) \
|
||||
&& mv composer.phar /usr/local/bin/composer
|
||||
|
||||
RUN apt-get clean \
|
||||
&& rm -rf /var/lib/apt/lists/
|
||||
&& rm -rf /var/lib/apt/lists/
|
||||
@@ -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,52 @@ tt
|
||||
==
|
||||
|
||||
A Symfony project created on February 23, 2017, 1:42 pm.
|
||||
|
||||
## To have a representation of entity's mappings
|
||||
In php container, do php bin/console yuml:mappings
|
||||
To personnalize, see https://github.com/Nono1971/doctrine-yuml-bundle
|
||||
|
||||
## If memory issues when installing bundle
|
||||
Copy this before composer require : COMPOSER_MEMORY_LIMIT=-1
|
||||
|
||||
## To update database schema
|
||||
In php container, root@php:/home/www/website/www# php bin/console doctrine:schema:update --force
|
||||
It'll update database based on entities
|
||||
|
||||
## For Js : use assetic commande inside server container
|
||||
- do a cache-clear to update the assectic.yml file
|
||||
bin/console cache:clear --env=prod --no-debug
|
||||
- then
|
||||
php bin/console assetic:dump --env=prod --no-debug
|
||||
|
||||
## To push notifications
|
||||
- Create new .json file in web/push folder.
|
||||
|
||||
- This file is composed of two arrays : parameters, where you select specific subscribers to receive notifications,
|
||||
and notification, where you write the content.
|
||||
|
||||
- Values for parameters :
|
||||
* "pushType" : define the rule to find subscribers, only one value which fits with next ones. Values : "general", "profil", "users", "tags".
|
||||
* "profilCompletenessPercentage" : define the % of profil completeness. Works with "profil" value of pushType.
|
||||
* "users" : enters subscriber's mail. Works with "users" value of pushType.
|
||||
* "keywords" : enters tags to identify subscribers. Works with "tags" value of pushType.
|
||||
|
||||
- Values for notification :
|
||||
* "title" : the title!
|
||||
* "body" : the content.
|
||||
* "icon" : the website icon.
|
||||
* "image" : to add an image.
|
||||
* "tag" : Used to regroup notifications.
|
||||
* "data" : array where you can add "link" property. Link will redirect to the given URL.
|
||||
* "actions" : array where you can add specific action with "action", "title".
|
||||
* "badge" : to add an image for small device.
|
||||
|
||||
- Open SendPushCommand.php, go to configure(), and change the last line of addOption() for files with your filename.
|
||||
|
||||
## Stacktrace exception API
|
||||
All exceptions catched are written in the dev.log file (for ENV=dev I guess) in the AppBundle/var/logs folder.
|
||||
To have an exception that can be written in this file, create or use an already existing Exception (in AppBundle/Exception) in your Controller.
|
||||
|
||||
## Question to ask to Corentin
|
||||
* Is there a validation from Talents Tube operator to set the answer status to published?
|
||||
* Is there a comment to be written when post an answer ? (not here in mock-up)
|
||||
@@ -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,6 +166,10 @@
|
||||
<source>company.account.password.modify.label</source>
|
||||
<target>Modifier le mot de passe</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="company.account.notifications.title">
|
||||
<source>company.account.notifications.title</source>
|
||||
<target>Notifications</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="profile.edit.submit">
|
||||
<source>profile.edit.submit</source>
|
||||
<target>Sauvegarder mon profil</target>
|
||||
|
||||
Executable → Regular
+52
-2
@@ -14,7 +14,28 @@
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
{{ form_start(formUser, {'id': 'formUser'}) }}
|
||||
<div class="row">
|
||||
<div class="col-xs-8">
|
||||
<div class="box box-primary">
|
||||
<div class="box-header">
|
||||
<h3 class="box-title">Compte utilisateur</h3>
|
||||
</div>
|
||||
<div class="box-body">
|
||||
{{ form_errors(formUser) }}
|
||||
{{ form_label(formUser.email, 'Email') }}
|
||||
{{ form_widget(formUser.email, {'attr': {'class': 'form-control'}}) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-xs-6">
|
||||
<button class="btn btn-success edit-email-user" data-toggle="tooltip" type="submit">Enregistrer</button>
|
||||
</div>
|
||||
</div>
|
||||
{{ form_end(formUser) }}
|
||||
<br/>
|
||||
{{ form_start(form) }}
|
||||
<div class="row">
|
||||
<div class="col-xs-8">
|
||||
@@ -37,7 +58,6 @@
|
||||
{{ form_row(form.website) }}
|
||||
{{ form_row(form.tagsComma) }}
|
||||
{{ form_row(form.file) }}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -66,3 +86,33 @@
|
||||
{{ form_end(form) }}
|
||||
|
||||
{% endblock %}
|
||||
|
||||
|
||||
{% block javascripts %}
|
||||
<script>
|
||||
$(document).ready(function () {
|
||||
$('[data-toggle="popover"]').popover();
|
||||
|
||||
$(".edit-email-user").confirm({
|
||||
title: "Êtes vous sûr de modifier l'adresse mail de cet utilisateur ?",
|
||||
content: "Si une erreur de saisie est présente, l'utilisateur ne pourra plus recevoir vos mails.",
|
||||
type: 'ored',
|
||||
boxWidth: '30%',
|
||||
useBootstrap: false,
|
||||
buttons: {
|
||||
confirm: {
|
||||
text: 'Confirmer',
|
||||
action: function() {
|
||||
$("[name='user_company']").submit();
|
||||
return true;
|
||||
}
|
||||
},
|
||||
cancel: {
|
||||
text: 'Annuler'
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
{% endblock %}
|
||||
@@ -3,20 +3,11 @@
|
||||
<head>
|
||||
|
||||
<!-- Google Tag Manager -->
|
||||
<script>
|
||||
(function (w, d, s, l, i) {
|
||||
w[l] = w[l] || [];
|
||||
w[l].push({
|
||||
'gtm.start': new Date().getTime(), event: 'gtm.js'
|
||||
});
|
||||
var f = d.getElementsByTagName(s)[0],
|
||||
j = d.createElement(s), dl = l != 'dataLayer' ? '&l=' + l : '';
|
||||
j.async = true;
|
||||
j.src =
|
||||
'https://www.googletagmanager.com/gtm.js?id=' + i + dl;
|
||||
f.parentNode.insertBefore(j, f);
|
||||
})(window, document, 'script', 'dataLayer', 'GTM-P4G65WJ');
|
||||
</script>
|
||||
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
|
||||
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
|
||||
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
|
||||
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
|
||||
})(window,document,'script','dataLayer','GTM-P4G65WJ');</script>
|
||||
<!-- End Google Tag Manager -->
|
||||
<script type="text/javascript" defer="defer" src="https://extend.vimeocdn.com/ga/64189815.js"></script>
|
||||
|
||||
@@ -70,6 +61,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 +71,7 @@
|
||||
'@global'
|
||||
output='assetic/main.js' filter='?uglifyjs2' %}
|
||||
<script src="{{ asset_url }}"></script>
|
||||
|
||||
{% endjavascripts %}
|
||||
{% endblock %}
|
||||
{{ include('FairlaneCookieConsentBundle::cookie-info.html.twig') }}
|
||||
|
||||
@@ -3,20 +3,11 @@
|
||||
<head>
|
||||
|
||||
<!-- Google Tag Manager -->
|
||||
<script>
|
||||
(function (w, d, s, l, i) {
|
||||
w[l] = w[l] || [];
|
||||
w[l].push({
|
||||
'gtm.start': new Date().getTime(), event: 'gtm.js'
|
||||
});
|
||||
var f = d.getElementsByTagName(s)[0],
|
||||
j = d.createElement(s), dl = l != 'dataLayer' ? '&l=' + l : '';
|
||||
j.async = true;
|
||||
j.src =
|
||||
'https://www.googletagmanager.com/gtm.js?id=' + i + dl;
|
||||
f.parentNode.insertBefore(j, f);
|
||||
})(window, document, 'script', 'dataLayer', 'GTM-P4G65WJ');
|
||||
</script>
|
||||
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
|
||||
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
|
||||
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
|
||||
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
|
||||
})(window,document,'script','dataLayer','GTM-P4G65WJ');</script>
|
||||
<!-- End Google Tag Manager -->
|
||||
<script type="text/javascript" defer="defer" src="https://extend.vimeocdn.com/ga/64189815.js"></script>
|
||||
|
||||
@@ -65,6 +56,7 @@
|
||||
'@global'
|
||||
output='assetic/main.base.dash.js' filter='?uglifyjs2' %}
|
||||
<script src="{{ asset_url }}"></script>
|
||||
<script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyDYV8IJGtIoWLfXJQQvIuDQ88n2aEuRgpg&libraries=places"></script>
|
||||
{% endjavascripts %}
|
||||
{% endblock %}
|
||||
</body>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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 %}
|
||||
|
||||
@@ -98,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 %}
|
||||
@@ -187,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://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">
|
||||
@@ -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>
|
||||
|
||||
@@ -112,7 +112,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="row center-align">
|
||||
<h2>Rejoignez une communauté de plus de <strong>500</strong> candidats</h2>
|
||||
<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>
|
||||
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
|
||||
@@ -35,15 +35,26 @@
|
||||
{% if app.user.company.presentationVideo %}
|
||||
{% set media = app.user.company.presentationVideo %}
|
||||
{% endif %}
|
||||
<div class="row video_premier z-depth-3">
|
||||
|
||||
<div class="row video_premier z-depth-3">
|
||||
{% if app.user.company.presentationVideo %}
|
||||
<div class="col s4 video_col">
|
||||
<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">
|
||||
@@ -95,6 +106,17 @@
|
||||
<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
|
||||
@@ -136,6 +158,7 @@
|
||||
{% 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>
|
||||
@@ -149,6 +172,41 @@
|
||||
{% 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">
|
||||
@@ -206,4 +264,52 @@
|
||||
</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 %}
|
||||
@@ -18,11 +18,3 @@
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
{% block javascripts %}
|
||||
<script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyDYV8IJGtIoWLfXJQQvIuDQ88n2aEuRgpg&libraries=places"></script>
|
||||
{% javascripts
|
||||
'@talents'
|
||||
output='assetic/main.dashboard.talent.js' filter='?uglifyjs2' %}
|
||||
<script src="{{ asset_url }}"></script>
|
||||
{% endjavascripts %}
|
||||
{% endblock %}
|
||||
@@ -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 notifications</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 %}
|
||||
@@ -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/uglifyjs #sym linked in container (see makefile)
|
||||
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'
|
||||
@@ -42,6 +46,8 @@ assetic:
|
||||
- 'js/vendors/datepicker.min.js'
|
||||
- 'js/vendors/jquery.validate.min.js'
|
||||
- 'js/talent.js'
|
||||
- 'js/EdeclicTools.js'
|
||||
- 'js/EdeclicPushAndNotificationClient.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'
|
||||
|
||||
|
||||
@@ -104,7 +106,7 @@ fos_user:
|
||||
email:
|
||||
template: email/password_resetting.email.twig
|
||||
from_email:
|
||||
address: noreply@talentstube.com
|
||||
address: noreply@talentstube.io
|
||||
sender_name: talentstube.com
|
||||
service:
|
||||
mailer: fos_user.mailer.twig_swift
|
||||
@@ -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,61 @@ 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/talent', priorities: ['html'], fallback_format: 'html' }
|
||||
- { 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
|
||||
token_extractors:
|
||||
# look for a token as Authorization Header
|
||||
authorization_header:
|
||||
enabled: true
|
||||
prefix: Bearer
|
||||
name: Authorization
|
||||
|
||||
# check token in a cookie
|
||||
cookie:
|
||||
enabled: false
|
||||
name: BEARER
|
||||
|
||||
# check token in query string parameter
|
||||
query_parameter:
|
||||
enabled: true
|
||||
name: bearer
|
||||
|
||||
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,6 +1,7 @@
|
||||
fos_elastica:
|
||||
clients:
|
||||
default: { host: %elastic_host%, port: %elastic_port% }
|
||||
|
||||
indexes:
|
||||
tags:
|
||||
types:
|
||||
@@ -139,4 +140,5 @@ fos_elastica:
|
||||
driver: orm
|
||||
model: AppBundle\Entity\User
|
||||
provider: ~
|
||||
finder: ~
|
||||
finder: ~
|
||||
|
||||
|
||||
@@ -0,0 +1,54 @@
|
||||
-----BEGIN RSA PRIVATE KEY-----
|
||||
Proc-Type: 4,ENCRYPTED
|
||||
DEK-Info: AES-256-CBC,1B8B1CB3A64B49F820DD713907974037
|
||||
|
||||
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
|
||||
-----END RSA PRIVATE KEY-----
|
||||
@@ -0,0 +1,14 @@
|
||||
-----BEGIN PUBLIC KEY-----
|
||||
MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA0emZKHHTXLKphYp1XLeh
|
||||
YApXdcWoZenqaFeE9pa3yzP888bsvka7t41JZy7+LOACkjnZj8VQNhMl/JIwtuv8
|
||||
L276Tox94l1CeLSDvH0vxGAvCyZzpW4pgx2xAJk1xWndkEWcx/6A7/kgdePOFNJt
|
||||
41JdDsefqRMlsMjw5vCxxX4V1mlebi6owKkxVBXii476xheX1M2k3cfVbC95h++h
|
||||
Yd7h10DwA17SPbmIDN07QygKqRH7RGkEU5gK2Psc+NFstmYaYj4ew1NF4X9e2Erj
|
||||
5M3RnYoUfkQBaigv+GSjefL6zdp+yZwjrPtZo+YDC/M1SQLEPAsoxQZvOISrLtkH
|
||||
usqdvLB8rsVysZOipJyO3OClI+Vvqy9p4CggM3rHlpzMu+e+sgpZersaNxDEz/rX
|
||||
J/rMXpPTfkVSRMddkQ/s0e0w4oop/tr2Zi4fYfmaJ2Ha49PFBPT7buZeyabLyAOk
|
||||
utwRBkaGiUGmfVidlb0TMK2fQQOS5WottAJJOhEDzl7woCtCBgCeclsuM6v/EDd/
|
||||
9KCeMcWrx7/PHBH2I8RGSfoqTKrZ8plOOPccaY2G6zZjvceExyBjewlzOm5zXI7Z
|
||||
c/L5H9mghOdLjEJ+eRLZIYL9yw1LSDjY3Q0ENkxdvkMdVnZxmsf+UFMFdxBU3VjB
|
||||
hqeH8T9lC2ZWC8OJ5kA4y4ECAwEAAQ==
|
||||
-----END PUBLIC KEY-----
|
||||
@@ -1,5 +1,6 @@
|
||||
# This file is auto-generated during the composer install
|
||||
parameters:
|
||||
onurb_yuml.extension: jpg
|
||||
mailer_transport: smtp
|
||||
mailer_host: mail.gandi.net
|
||||
mailer_user: noreply@talentstube.com
|
||||
@@ -9,7 +10,7 @@ parameters:
|
||||
database_port: '5432'
|
||||
database_name: database
|
||||
database_user: user
|
||||
database_password: edcl56
|
||||
database_password: b|RN:iR<g,TNMqM6
|
||||
mongodb_server: 'mongodb://tt-website.mongo.dev:27017'
|
||||
prestashop_key: 9YUQ5jPqT4Z4x5s9B25pb1yuGBtpaeBDxpWDgicPF3CuP8F2p9aK18ZS
|
||||
prestashop_path: /home/projects/prestashop1/store
|
||||
@@ -24,4 +25,14 @@ parameters:
|
||||
media_photo_dir: '%kernel.root_dir%/../web/uploads/photos/'
|
||||
elastic_host: tt-website.elasticsearch.dev
|
||||
elastic_port: 9200
|
||||
delivery_addresses: thomas@e-declic.com
|
||||
delivery_addresses: thomas.berrod@e-declic.com
|
||||
push_params:
|
||||
push_notification_file_path: '%kernel.root_dir%/../web/push/'
|
||||
push_network_config:
|
||||
public_key: '%push_params.public_key%'
|
||||
private_key: MgPlINZBO4yIQM8Op2QkQJZNLEuLYUkRhDsbm1a0IpE=
|
||||
service_mail_subject: 'mailto:looping@talentstube.com'
|
||||
ttl: 300
|
||||
urgency: high
|
||||
topic: Emploi
|
||||
push_params.public_key: BNFyiyPiLH97Dgc0m1vXluUNaCN6y3Hkgd4YcqS2lVkP8my3tq2D5gM5g7cY6R4VxC7GljSzkLRu+k+oO+2TtjU=
|
||||
|
||||
@@ -9,6 +9,7 @@ parameters:
|
||||
database_name: database
|
||||
database_user: user
|
||||
database_password: 7C|Uk2B[.>"6{QO{
|
||||
#database_password: b|RN:iR<g,TNMqM6
|
||||
#Mongo
|
||||
mongodb_server: "mongodb://tt-website.mongo.preprod:27017"
|
||||
#Prestashop
|
||||
@@ -27,4 +28,14 @@ parameters:
|
||||
|
||||
elastic_host: tt-website.elasticsearch.preprod
|
||||
elastic_port: 9200
|
||||
delivery_addresses: thomas@e-declic.com
|
||||
delivery_addresses: thomas.berrod@e-declic.com
|
||||
push_params:
|
||||
push_notification_file_path: '%kernel.root_dir%/../web/push/'
|
||||
push_network_config:
|
||||
public_key: '%push_params.public_key%'
|
||||
private_key: M2KltnIzI3K89cYz4cjlYaOQjqcGlicqKuoga6YsZcc
|
||||
service_mail_subject: 'mailto:looping@talentstube.com'
|
||||
ttl: 300
|
||||
urgency: high
|
||||
topic: Emploi
|
||||
push_params.public_key: BC9XGBLNGm0RWczR4IjEPWQ9_P1BmlvT-oaVgr_GJTI2OZtT85olmi3xzQhgZF4-Bi0rPafpa8vqt5pudQ4Na6w
|
||||
|
||||
@@ -27,4 +27,15 @@ parameters:
|
||||
|
||||
elastic_host: tt-website.elasticsearch.prod
|
||||
elastic_port: 9200
|
||||
delivery_addresses: thomas@e-declic.com
|
||||
delivery_addresses: thomas.berrod@e-declic.com
|
||||
push_params:
|
||||
push_notification_file_path: '%kernel.root_dir%/../web/push/'
|
||||
push_network_config:
|
||||
public_key: '%push_params.public_key%'
|
||||
private_key: g2Yimi3AK1ppvRqwikPyTTWcEEsTdRPxoBJ2Vi9bOWw
|
||||
service_mail_subject: 'mailto:looping@talentstube.com'
|
||||
ttl: 300
|
||||
urgency: high
|
||||
topic: Emploi
|
||||
push_params.public_key: BG2lV673DvB67dzEwX9GKfds3sXaEdtZo2oWO1cO2xUdTJAFZ_rV_UrP1nHQz-F8LJNO9HxG0kmQRIb54JL1ZCA
|
||||
|
||||
|
||||
@@ -38,4 +38,17 @@ parameters:
|
||||
|
||||
# Elastic
|
||||
elastic_host: tt.search_db
|
||||
elastic_port: 9200
|
||||
elastic_port: 9200
|
||||
#Push
|
||||
push_params:
|
||||
#don't forget trailing slash for dir
|
||||
push_notification_file_path: '%kernel.root_dir%/../web/push/'
|
||||
push_network_config:
|
||||
public_key: 'BNFyiyPiLH97Dgc0m1vXluUNaCN6y3Hkgd4YcqS2lVkP8my3tq2D5gM5g7cY6R4VxC7GljSzkLRu+k+oO+2TtjU='
|
||||
private_key: 'MgPlINZBO4yIQM8Op2QkQJZNLEuLYUkRhDsbm1a0IpE='
|
||||
service_mail_subject: 'mailto:thomas.berrod@e-declic.com'
|
||||
ttl: 300
|
||||
urgency: 'high'
|
||||
topic: 'Emploi'
|
||||
push_params.public_key: 'BNFyiyPiLH97Dgc0m1vXluUNaCN6y3Hkgd4YcqS2lVkP8my3tq2D5gM5g7cY6R4VxC7GljSzkLRu+k+oO+2TtjU='
|
||||
delivery_addresses: thomas.berrod@e-declic.com
|
||||
|
||||
@@ -20,6 +20,12 @@ hwi_oauth_connect:
|
||||
hwi_oauth_redirect:
|
||||
resource: "@HWIOAuthBundle/Resources/config/routing/redirect.xml"
|
||||
prefix: /login
|
||||
bentools_webpush:
|
||||
resource: '@WebPushBundle/Resources/config/routing.xml'
|
||||
prefix: /webpush
|
||||
|
||||
fairlane_cookie_consent:
|
||||
resource: "@FairlaneCookieConsentBundle/Resources/config/routing.yml"
|
||||
resource: "@FairlaneCookieConsentBundle/Resources/config/routing.yml"
|
||||
|
||||
api_login_check:
|
||||
path: /api/login_check
|
||||
@@ -13,3 +13,7 @@ _errors:
|
||||
_main:
|
||||
resource: routing.yml
|
||||
|
||||
doctrine_yuml:
|
||||
resource: "@OnurbYumlBundle/Resources/config/routing.yml"
|
||||
prefix: /my_prefix/
|
||||
|
||||
|
||||
@@ -5,12 +5,31 @@ security:
|
||||
fos_userbundle:
|
||||
#id: fos_user.user_provider.username_email
|
||||
id: app.user_provider
|
||||
|
||||
|
||||
firewalls:
|
||||
dev:
|
||||
pattern: ^/(_(profiler|wdt)|css|images|js)/
|
||||
security: false
|
||||
|
||||
api_login:
|
||||
pattern: ^/api/login_check
|
||||
stateless: true
|
||||
anonymous: true
|
||||
provider: fos_userbundle
|
||||
json_login:
|
||||
check_path: /api/login_check
|
||||
success_handler: lexik_jwt_authentication.handler.authentication_success
|
||||
failure_handler: lexik_jwt_authentication.handler.authentication_failure
|
||||
|
||||
api:
|
||||
pattern: ^/api
|
||||
stateless: true
|
||||
anonymous: true
|
||||
provider: fos_userbundle
|
||||
guard:
|
||||
authenticators:
|
||||
- lexik_jwt_authentication.jwt_token_authenticator
|
||||
|
||||
main:
|
||||
pattern: ^/
|
||||
remember_me:
|
||||
@@ -33,6 +52,8 @@ security:
|
||||
anonymous: true
|
||||
switch_user:
|
||||
provider: fos_userbundle
|
||||
|
||||
|
||||
access_control:
|
||||
- { path: ^/login$, roles: IS_AUTHENTICATED_ANONYMOUSLY }
|
||||
- { path: ^/register, roles: IS_AUTHENTICATED_ANONYMOUSLY }
|
||||
@@ -44,6 +65,15 @@ security:
|
||||
- { path: ^/talent/recherche/, roles: ROLE_COMPANY }
|
||||
- { path: ^/entreprise/me/, roles: ROLE_COMPANY }
|
||||
- { path: ^/territoire/me/, roles: ROLE_TERRITORY }
|
||||
- { path: ^/api/login_check, roles: IS_AUTHENTICATED_ANONYMOUSLY}
|
||||
- { path: ^/api/login_check_oauth, roles: IS_AUTHENTICATED_ANONYMOUSLY}
|
||||
- { path: ^/api/register, roles: IS_AUTHENTICATED_ANONYMOUSLY, methods: [POST]}
|
||||
- { path: ^/api/reset_password, roles: IS_AUTHENTICATED_ANONYMOUSLY, methods: [POST]}
|
||||
- { path: ^/api/confirmAccount, roles: IS_AUTHENTICATED_ANONYMOUSLY, methods: [POST]}
|
||||
- { path: ^/api/answers, roles: IS_AUTHENTICATED_FULLY, methods: [GET]}
|
||||
- { path: ^/api/answer/[0-9]+/messages, roles: IS_AUTHENTICATED_FULLY, methods: [GET]}
|
||||
- { path: ^/api, roles: IS_AUTHENTICATED_FULLY, methods: [POST, PUT, DELETE, PATCH] }
|
||||
- { path: ^/api, roles: IS_AUTHENTICATED_ANONYMOUSLY, methods: [GET]}
|
||||
|
||||
encoders:
|
||||
FOS\UserBundle\Model\UserInterface: bcrypt
|
||||
|
||||
@@ -60,7 +60,7 @@ services:
|
||||
class: AppBundle\Utils\Services\CompanyManager
|
||||
arguments: ["@doctrine.orm.entity_manager", "@mt.slug"]
|
||||
|
||||
app.ad_manager:
|
||||
app.ad_manager:
|
||||
class: AppBundle\Utils\Services\AdManager
|
||||
arguments: ["@doctrine.orm.entity_manager","@security.token_storage", "@mt.slug", "@app.mail_manager"]
|
||||
|
||||
@@ -83,3 +83,13 @@ services:
|
||||
app.user_provider:
|
||||
class: AppBundle\Security\Core\User\FOSUBUserProvider
|
||||
arguments: ["@fos_user.user_manager","@doctrine.orm.entity_manager","@mt.slug","@service_container", { facebook: facebookId, linkedin: linkedinId}]
|
||||
# PUSH
|
||||
app.notification_sender:
|
||||
class: AppBundle\Utils\Services\NotificationSender
|
||||
arguments: ["@doctrine.orm.entity_manager","@fos_user.user_manager", "%push_params%"]
|
||||
app.user_subscription_manager:
|
||||
class: AppBundle\Utils\Services\UserSubscriptionManager
|
||||
arguments: ["@doctrine.orm.entity_manager"]
|
||||
|
||||
app.api_key_authenticator:
|
||||
class: AppBundle\Security\ApiKeyAuthenticator
|
||||
|
||||
@@ -23,8 +23,8 @@
|
||||
},
|
||||
"require": {
|
||||
"php": ">=5.5.9",
|
||||
"symfony/symfony": "3.2.*",
|
||||
"doctrine/orm": "2.6.*@dev",
|
||||
"symfony/symfony": "^3.4",
|
||||
"doctrine/orm": "^2.6.2",
|
||||
"doctrine/doctrine-bundle": "^1.6",
|
||||
"doctrine/doctrine-cache-bundle": "^1.2",
|
||||
"symfony/swiftmailer-bundle": "^2.3.10",
|
||||
@@ -37,7 +37,6 @@
|
||||
"friendsofsymfony/user-bundle": "~2.0",
|
||||
"doctrine/mongodb-odm-bundle": "^3.0",
|
||||
"doctrine/mongodb-odm": "^1.0",
|
||||
"alcaeus/mongo-php-adapter": "^1.0",
|
||||
"dunglas/doctrine-json-odm": "dev-master",
|
||||
"php-ffmpeg/php-ffmpeg": "^0.5",
|
||||
"requestlab/vimeo-bundle": "^0.0.3",
|
||||
@@ -51,8 +50,16 @@
|
||||
"symfony/assetic-bundle": "^2.8",
|
||||
"friendsofsymfony/elastica-bundle": "4.1.*",
|
||||
"liip/imagine-bundle": "^1.9",
|
||||
"bentools/webpush-bundle": "0.3.*",
|
||||
"twig/extensions": "^1.5",
|
||||
"fairlane/cookie-consent-bundle": "^1.0"
|
||||
"fairlane/cookie-consent-bundle": "^1.0",
|
||||
"jms/serializer-bundle": "^2.4",
|
||||
"friendsofsymfony/rest-bundle": "^2.4",
|
||||
"white-october/pagerfanta-bundle": "^1.2",
|
||||
"willdurand/hateoas-bundle": "^1.4",
|
||||
"lexik/jwt-authentication-bundle": "^2.5",
|
||||
"nelmio/cors-bundle": "^1.5",
|
||||
"onurb/doctrine-yuml-bundle": "^1.1"
|
||||
},
|
||||
"require-dev": {
|
||||
"sensio/generator-bundle": "^3.0",
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user