Compare commits
150 Commits
202210.10.
...
upgrade-sf
Author | SHA1 | Date | |
---|---|---|---|
bf29c7756f
|
|||
002fd7b632
|
|||
8d70ca871b
|
|||
ca84e9416d
|
|||
e03b0f71bf
|
|||
e287a832d2
|
|||
1b5b62ba49
|
|||
eb3c561f85
|
|||
008291bddb
|
|||
c466dc297c
|
|||
2c6fb97f31 | |||
|
c58443dd72 | ||
b6c17f62d0 | |||
7712d146c7 | |||
9b42f328ae
|
|||
8a83372e2f | |||
883725af10 | |||
|
7faee98294 | ||
96e0c4c97e | |||
921726ec75 | |||
fecb561b3b
|
|||
61a77cc1de | |||
|
0c65d3d681 | ||
9c125c6af6 | |||
e701b75f1e
|
|||
6c0caef3d5
|
|||
103282e44b
|
|||
dd591628a8
|
|||
656d27080b
|
|||
8d1693285d
|
|||
818b4c36a3
|
|||
0fb57fcdd8 | |||
|
c8d89e2a1d | ||
d142fbe471 | |||
deadabefa1 | |||
e8c506e883
|
|||
e5a73e666b
|
|||
c3d666ed74
|
|||
bc68b65cfb
|
|||
62c96df759
|
|||
c00f7fa209
|
|||
ad1327a351
|
|||
9b2e7d1aad
|
|||
7090e678ef
|
|||
7f1ee500a0
|
|||
ca5f69b911
|
|||
475228297f
|
|||
f6216567f7
|
|||
59625879a8
|
|||
f0645d0c45
|
|||
fb1259ba81
|
|||
cd876bd889
|
|||
d2717b0875
|
|||
cda9ecc8ec
|
|||
070c1f963a
|
|||
9dd52af2c6
|
|||
91172e45cb
|
|||
22ff9fe53f
|
|||
11ab7f01c7
|
|||
498118d434
|
|||
93d0e13f81
|
|||
9bb77b136d
|
|||
b2636e5ab8
|
|||
04270eea26
|
|||
28954f036e
|
|||
965f2e0281
|
|||
99e1763332
|
|||
c3499c1881
|
|||
1f6e5a807b
|
|||
db4effd727
|
|||
2c9ec9db55
|
|||
4aea2fe135
|
|||
6fe97f3659 | |||
|
d9980a7e18 | ||
59852c709d | |||
f7dc506506
|
|||
8ef752fdd0
|
|||
1c544d392a | |||
|
dcfd7e4924 | ||
deb47dd3aa | |||
ac909e8107 | |||
|
414b4e11ca | ||
86e27595f5 | |||
cb3ac56084 | |||
4ef93ef722 | |||
7e3d741ea0 | |||
bd011775a6
|
|||
f06b8dcd1e
|
|||
7f85d66337
|
|||
cc716beaec
|
|||
ac61038625 | |||
9827832753
|
|||
0706901415
|
|||
c4d3c784d3
|
|||
ce136ba0f3 | |||
05d4a10a5b
|
|||
|
c06166fdc2 | ||
fb1219163e
|
|||
52c40e5f52
|
|||
a144b0e4be
|
|||
8d310ef7c8 | |||
eff7e9470d | |||
cad7c0c53d | |||
c29f6cdf96
|
|||
430915f831
|
|||
29253b4f01
|
|||
93972a0135
|
|||
63c7130be3
|
|||
63489e7055 | |||
6d8b858cc8 | |||
28444d5bbf
|
|||
fb25e8b346
|
|||
efed281312 | |||
a6a988a33a | |||
859eb37526 | |||
b55914e40f | |||
7f1085d2c2 | |||
|
b81638eda9 | ||
571d662737 | |||
78a98bff40
|
|||
2f18130e72 | |||
2af27e8b42 | |||
fcd00855f9 | |||
e9c478c062 | |||
d38e9a5c0a | |||
b63a4f2a5f | |||
1a1188c612 | |||
39b9e839c2 | |||
23c438f0d7 | |||
a4fd3dbeb6 | |||
1ef5ef50a3 | |||
da2149cb60
|
|||
491c5f3b49
|
|||
8d3b56c6fe
|
|||
4157b4bb21
|
|||
99ec0b765f
|
|||
dc19006738
|
|||
e55562c4cd
|
|||
82c8140e4b
|
|||
e55745b48b
|
|||
f80d2c47ce
|
|||
da2f5f37c0
|
|||
beab370cd6
|
|||
b10074e440
|
|||
d8792adc5f
|
|||
0ba659e17f
|
|||
645113c13a
|
|||
412cc332bb
|
|||
ba33c507e6 | |||
a54f1d1a06 |
6
.changes/header.tpl.md
Normal file
6
.changes/header.tpl.md
Normal file
@@ -0,0 +1,6 @@
|
||||
# Changelog
|
||||
All notable changes to this project will be documented in this file.
|
||||
|
||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||||
adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html),
|
||||
and is generated by [Changie](https://github.com/miniscruff/changie).
|
0
.changes/unreleased/.gitkeep
Normal file
0
.changes/unreleased/.gitkeep
Normal file
3
.changes/v1.0.0.md
Normal file
3
.changes/v1.0.0.md
Normal file
@@ -0,0 +1,3 @@
|
||||
## v1.0.0 - 2023-11-19
|
||||
### Feature
|
||||
* Integrate changie and automate release management
|
3
.changes/v1.1.0.md
Normal file
3
.changes/v1.1.0.md
Normal file
@@ -0,0 +1,3 @@
|
||||
## v1.1.0 - 2023-11-22
|
||||
### Release
|
||||
* Update dependencies. Chill-bundles upgraded from 2.12.1 to 2.13.0
|
3
.changes/v1.2.0.md
Normal file
3
.changes/v1.2.0.md
Normal file
@@ -0,0 +1,3 @@
|
||||
## v1.2.0 - 2023-11-24
|
||||
### Release
|
||||
* Update dependencies. Chill-bundles upgraded from 2.13.0 to 2.14.0
|
3
.changes/v1.3.0.md
Normal file
3
.changes/v1.3.0.md
Normal file
@@ -0,0 +1,3 @@
|
||||
## v1.3.0 - 2023-11-30
|
||||
### Release
|
||||
* Update dependencies. Chill-bundles upgraded from 2.14.0 to 2.14.1
|
4
.changes/v1.4.0.md
Normal file
4
.changes/v1.4.0.md
Normal file
@@ -0,0 +1,4 @@
|
||||
## v1.4.0 - 2024-02-08
|
||||
### Release
|
||||
* Upgrade nodes dependencies
|
||||
* Update dependencies. Chill-bundles upgraded from 2.14.1 to 2.16.0
|
3
.changes/v1.4.1.md
Normal file
3
.changes/v1.4.1.md
Normal file
@@ -0,0 +1,3 @@
|
||||
## v1.4.1 - 2024-02-08
|
||||
### Fixed
|
||||
* upgrade node version while compiling
|
3
.changes/v1.4.2.md
Normal file
3
.changes/v1.4.2.md
Normal file
@@ -0,0 +1,3 @@
|
||||
## v1.4.2 - 2024-02-08
|
||||
### Fixed
|
||||
* Fix version of bootstrap temporarily
|
3
.changes/v1.4.3.md
Normal file
3
.changes/v1.4.3.md
Normal file
@@ -0,0 +1,3 @@
|
||||
## v1.4.3 - 2024-02-08
|
||||
### Fixed
|
||||
* better restriction for bootstrap version
|
3
.changes/v1.4.4.md
Normal file
3
.changes/v1.4.4.md
Normal file
@@ -0,0 +1,3 @@
|
||||
## v1.4.4 - 2024-02-08
|
||||
### Fixed
|
||||
* fix incorrect upgrade
|
3
.changes/v1.5.0.md
Normal file
3
.changes/v1.5.0.md
Normal file
@@ -0,0 +1,3 @@
|
||||
## v1.5.0 - 2024-02-08
|
||||
### Release
|
||||
* Update dependencies. Chill-bundles upgraded from 2.16.0 to 2.16.1
|
5
.changes/v1.6.0.md
Normal file
5
.changes/v1.6.0.md
Normal file
@@ -0,0 +1,5 @@
|
||||
## v1.6.0 - 2024-02-12
|
||||
### Release
|
||||
* Update dependencies. Chill-bundles upgraded from 2.16.1 to 2.16.1
|
||||
### Fixed
|
||||
* Overwriting of bundles translations removed
|
5
.changes/v1.7.0.md
Normal file
5
.changes/v1.7.0.md
Normal file
@@ -0,0 +1,5 @@
|
||||
## v1.7.0 - 2024-02-13
|
||||
### Release
|
||||
* Update dependencies. Chill-bundles upgraded from 2.16.1 to 2.16.1
|
||||
### Fixed
|
||||
* Upgrade vue to fix multiselect
|
35
.changie.yaml
Normal file
35
.changie.yaml
Normal file
@@ -0,0 +1,35 @@
|
||||
changesDir: .changes
|
||||
unreleasedDir: unreleased
|
||||
headerPath: header.tpl.md
|
||||
changelogPath: CHANGELOG.md
|
||||
versionExt: md
|
||||
versionFormat: '## {{.Version}} - {{.Time.Format "2006-01-02"}}'
|
||||
kindFormat: '### {{.Kind}}'
|
||||
# Note: it is possible to add a `.custom.Long` text manually into the yaml file produced by `changie new`. This will add a long description.
|
||||
changeFormat: >-
|
||||
* {{ if and (ne .Custom.Issue "") (ne .Custom.Issue "0") }}([#{{ .Custom.Issue }}](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/{{ .Custom.Issue }})) {{ end }}{{.Body}}
|
||||
custom:
|
||||
- key: Issue
|
||||
label: Issue number (on chill-bundles repository) (optional)
|
||||
optional: true
|
||||
type: int
|
||||
kinds:
|
||||
- label: Release
|
||||
auto: minor
|
||||
- label: Feature
|
||||
auto: minor
|
||||
- label: Deprecated
|
||||
auto: minor
|
||||
- label: Fixed
|
||||
auto: patch
|
||||
- label: Security
|
||||
auto: patch
|
||||
- label: DX
|
||||
auto: patch
|
||||
- label: UX
|
||||
auto: patch
|
||||
newlines:
|
||||
afterChangelogHeader: 1
|
||||
beforeChangelogVersion: 1
|
||||
endOfVersion: 1
|
||||
envPrefix: CHANGIE_
|
49
.drone.yml
49
.drone.yml
@@ -21,7 +21,7 @@ steps:
|
||||
registry: h3m6q87t.gra7.container-registry.ovh.net
|
||||
repo: h3m6q87t.gra7.container-registry.ovh.net/chillbasics/php-base
|
||||
tag: latest
|
||||
target: chill_base_php
|
||||
target: chill_base_php82
|
||||
pull_image: true
|
||||
cache_from:
|
||||
- h3m6q87t.gra7.container-registry.ovh.net/chillbasics/php-base:latest
|
||||
@@ -33,13 +33,18 @@ steps:
|
||||
commands:
|
||||
- composer install --no-scripts --no-interaction
|
||||
- composer update --with-all-dependencies --no-interaction chill-project/chill-bundles
|
||||
depends_on:
|
||||
- build-base-image
|
||||
|
||||
- name: build-assets
|
||||
image: node:14
|
||||
image: node:20
|
||||
pull: always
|
||||
commands:
|
||||
- yarn install
|
||||
- yarn list
|
||||
- yarn run encore production
|
||||
depends_on:
|
||||
- composer-install
|
||||
|
||||
- name: build-image-php
|
||||
image: plugins/docker
|
||||
@@ -56,6 +61,9 @@ steps:
|
||||
cache_from:
|
||||
- h3m6q87t.gra7.container-registry.ovh.net/chillbasics/php-base:latest
|
||||
- chill/base-image:latest
|
||||
depends_on:
|
||||
- build-assets
|
||||
- composer-install
|
||||
|
||||
- name: build-image-nginx
|
||||
image: plugins/docker
|
||||
@@ -70,3 +78,40 @@ steps:
|
||||
tag:
|
||||
- ${DRONE_TAG}
|
||||
Dockerfile: docker/nginx/Dockerfile
|
||||
depends_on:
|
||||
- build-assets
|
||||
|
||||
---
|
||||
|
||||
kind: pipeline
|
||||
type: docker
|
||||
name: build-base-image-php82
|
||||
|
||||
trigger:
|
||||
event:
|
||||
- cron
|
||||
- push
|
||||
cron:
|
||||
- base-image-php82
|
||||
|
||||
steps:
|
||||
- name: build-base-image
|
||||
image: plugins/docker
|
||||
settings:
|
||||
username:
|
||||
from_secret: docker_username_gitea
|
||||
password:
|
||||
from_secret: docker_password_gitea
|
||||
registry: gitea.champs-libres.be/chill-project/chill-skeleton-basic
|
||||
repo: gitea.champs-libres.be/chill-project/chill-skeleton-basic/base-image
|
||||
tag:
|
||||
- php82
|
||||
- latest
|
||||
target: chill_base_php82
|
||||
pull_image: true
|
||||
|
||||
---
|
||||
kind: signature
|
||||
hmac: 0bca4dec9822a08338f6f3b88badf771558aee19b41967837aa64853a1573cad
|
||||
|
||||
...
|
||||
|
72
.env
72
.env
@@ -1,20 +1,26 @@
|
||||
##
|
||||
## Manually dump .env files in .env.local.php with
|
||||
## `$ composer symfony:dump-env prod`
|
||||
##
|
||||
|
||||
## Project environment
|
||||
# this should be set in docker-compose.yml file
|
||||
# APP_ENV=prod
|
||||
|
||||
## Enable debug
|
||||
APP_DEBUG=false
|
||||
# * .env contains default values for the environment variables needed by the app
|
||||
# * .env.local uncommitted file with local overrides
|
||||
# * .env.$APP_ENV committed environment-specific defaults
|
||||
# * .env.$APP_ENV.local uncommitted environment-specific overrides
|
||||
#
|
||||
# Real environment variables win over .env files.
|
||||
#
|
||||
# DO NOT DEFINE PRODUCTION SECRETS IN THIS FILE NOR IN ANY OTHER COMMITTED FILES.
|
||||
# https://symfony.com/doc/current/configuration/secrets.html
|
||||
#
|
||||
# Run "composer dump-env prod" to compile .env files for production use (requires symfony/flex >=1.2).
|
||||
# https://symfony.com/doc/current/best_practices.html#use-environment-variables-for-infrastructure-configuration
|
||||
|
||||
## Locale
|
||||
LOCALE=fr
|
||||
|
||||
## Framework secret
|
||||
APP_SECRET=ThisTokenIsNotSoSecretChangeIt
|
||||
###> symfony/framework-bundle ###
|
||||
# this should be set in docker-compose.yml file
|
||||
APP_ENV=prod
|
||||
APP_SECRET=ChangeItf2b58287ef7f9976409d3f6c72529e99ChangeIt
|
||||
TRUSTED_PROXIES=127.0.0.0/8,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16
|
||||
TRUSTED_HOSTS='^(localhost|example\.com|nginx)$'
|
||||
###< symfony/framework-bundle ###
|
||||
|
||||
## Wopi server for editing documents online
|
||||
WOPI_SERVER=http://collabora:9980
|
||||
@@ -22,18 +28,8 @@ WOPI_SERVER=http://collabora:9980
|
||||
# must be manually set in .env.local
|
||||
# ADMIN_PASSWORD=
|
||||
|
||||
## Symfony/framework-bundle
|
||||
TRUSTED_HOSTS='^(localhost|127.0.0.1|test.localde)$'
|
||||
TRUSTED_PROXIES=~
|
||||
|
||||
## Doctrine/doctrine-bundle
|
||||
DATABASE_URL=
|
||||
|
||||
## Symfony/swiftmailer
|
||||
## Mailer
|
||||
###> symfony/mailer ###
|
||||
# MAILER_DSN=smtp://localhost
|
||||
MAILER_DSN=
|
||||
# MAILER_DSN=null://null
|
||||
###< symfony/mailer ###
|
||||
|
||||
## Notifications
|
||||
@@ -60,6 +56,14 @@ TWILIO_SID=~
|
||||
TWILIO_SECRET=~
|
||||
DEFAULT_CARRIER_CODE=BE
|
||||
|
||||
ADD_ADDRESS_DEFAULT_COUNTRY=BE
|
||||
|
||||
ADD_ADDRESS_MAP_CENTER_X=50.8443
|
||||
ADD_ADDRESS_MAP_CENTER_Y=4.3523
|
||||
ADD_ADDRESS_MAP_CENTER_Z=15
|
||||
|
||||
SHORT_MESSAGE_DSN=null://null
|
||||
|
||||
## DOCKER IMAGES REGISTRY
|
||||
#IMAGE_PHP=
|
||||
#IMAGE_NGINX=
|
||||
@@ -68,3 +72,23 @@ DEFAULT_CARRIER_CODE=BE
|
||||
#VERSION=test
|
||||
#VERSION=prod
|
||||
|
||||
###> symfony/messenger ###
|
||||
# Choose one of the transports below
|
||||
# MESSENGER_TRANSPORT_DSN=amqp://guest:guest@localhost:5672/%2f/messages
|
||||
# MESSENGER_TRANSPORT_DSN=redis://localhost:6379/messages
|
||||
MESSENGER_TRANSPORT_DSN=sync://
|
||||
MESSENGER_TRANSPORT_DSN=doctrine://default?auto_setup=0
|
||||
###< symfony/messenger ###
|
||||
|
||||
###> doctrine/doctrine-bundle ###
|
||||
# Format described at https://www.doctrine-project.org/projects/doctrine-dbal/en/latest/reference/configuration.html#connecting-using-a-url
|
||||
# IMPORTANT: You MUST configure your server version, either here or in config/packages/doctrine.yaml
|
||||
#
|
||||
DATABASE_URL="postgresql://postgres:postgres@db:5432/postgres?serverVersion=14&charset=utf8"
|
||||
###< doctrine/doctrine-bundle ###
|
||||
|
||||
###> lexik/jwt-authentication-bundle ###
|
||||
JWT_SECRET_KEY=%kernel.project_dir%/config/jwt/private.pem
|
||||
JWT_PUBLIC_KEY=%kernel.project_dir%/config/jwt/public.pem
|
||||
JWT_PASSPHRASE=2a30f6ba26521a2613821da35f28386e
|
||||
###< lexik/jwt-authentication-bundle ###
|
||||
|
5
.env.dev
5
.env.dev
@@ -11,3 +11,8 @@ MAILER_URL=smtp://smtp:1025
|
||||
PGADMIN_DEFAULT_EMAIL=admin@chill.social
|
||||
PGADMIN_DEFAULT_PASSWORD=password
|
||||
|
||||
|
||||
VAR_DUMPER_SERVER=dumper:9912
|
||||
|
||||
## Phpstorm IDE project path
|
||||
PROJECT_DIR=
|
||||
|
@@ -1,4 +1,7 @@
|
||||
# define your env variables for the test env here
|
||||
KERNEL_CLASS='App\Kernel'
|
||||
APP_SECRET='$ecretf0rt3st'
|
||||
SYMFONY_DEPRECATIONS_HELPER=999999
|
||||
PANTHER_APP_ENV=panther
|
||||
PANTHER_ERROR_SCREENSHOT_DIR=./var/error-screenshots
|
||||
ADMIN_PASSWORD=password
|
||||
|
59
.gitea/workflows/release/update-composer-lock.yaml
Normal file
59
.gitea/workflows/release/update-composer-lock.yaml
Normal file
@@ -0,0 +1,59 @@
|
||||
name: Prepare release for chill app
|
||||
run-name: Update composer.lock and dependencies for preparing a release
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- 'release/**'
|
||||
|
||||
jobs:
|
||||
update-deps:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: check out repository
|
||||
uses: https://github.com/actions/checkout@v4
|
||||
- name: get the previous chill version
|
||||
# parse the composer.lock file using jq to get the chill version before the upgrade
|
||||
id: chill-before
|
||||
uses: https://github.com/sergeysova/jq-action@v2
|
||||
with:
|
||||
cmd: 'cat composer.lock | jq --raw-output ''.packages[] | select ( .name | contains ("chill-project/chill-bundles")) | .version'''
|
||||
- name: run composer update to update composer.lock
|
||||
uses: docker://gitea.champs-libres.be/chill-project/chill-skeleton-basic/base-image:latest
|
||||
with:
|
||||
# this is where we set the command to execute
|
||||
args: composer update --no-install
|
||||
- name: is composer.lock changed ?
|
||||
id: composer-lock-changed
|
||||
run: 'echo is_composer_lock_changed=$(git diff --name-only | grep "composer\.lock" | wc -l) >> $GITHUB_OUTPUT'
|
||||
- name: get the new chill version
|
||||
# parse the composer.lock file using jq to get the chill version after the upgrade
|
||||
id: chill-after
|
||||
uses: https://github.com/sergeysova/jq-action@v2
|
||||
with:
|
||||
cmd: 'cat composer.lock | jq --raw-output ''.packages[] | select ( .name | contains ("chill-project/chill-bundles")) | .version'''
|
||||
- name: add a changie file for the upgrade
|
||||
uses: https://github.com/miniscruff/changie-action@v2
|
||||
if: ${{ steps.composer-lock-changed.outputs.is_composer_lock_changed == 1 }}
|
||||
with:
|
||||
version: latest
|
||||
args: 'new --body "Update dependencies. Chill-bundles upgraded from ${{ steps.chill-before.outputs.value }} to ${{ steps.chill-after.outputs.value }}" --kind Release --custom "Issue=0"'
|
||||
- name: changie batch
|
||||
if: ${{ steps.composer-lock-changed.outputs.is_composer_lock_changed == 1 }}
|
||||
uses: https://github.com/miniscruff/changie-action@v2
|
||||
with:
|
||||
version: latest
|
||||
args: 'batch auto'
|
||||
- name: changie merge
|
||||
if: ${{ steps.composer-lock-changed.outputs.is_composer_lock_changed == 1 }}
|
||||
uses: https://github.com/miniscruff/changie-action@v2
|
||||
with:
|
||||
version: latest
|
||||
args: 'merge'
|
||||
- name: commit changed files
|
||||
if: ${{ steps.composer-lock-changed.outputs.is_composer_lock_changed == 1 }}
|
||||
uses: https://github.com/stefanzweifel/git-auto-commit-action@v5
|
||||
with:
|
||||
commit_message: "update composer.lock and file (automatic update)"
|
||||
commit_user_name: Action Bot
|
||||
commit_user_email: bot@chill.social
|
13
.gitignore
vendored
13
.gitignore
vendored
@@ -9,6 +9,7 @@ config/secrets/
|
||||
|
||||
## env files
|
||||
.env.local
|
||||
.env.dev.local
|
||||
|
||||
.composer/*
|
||||
composer.phar
|
||||
@@ -49,19 +50,19 @@ phpunit.xml
|
||||
nbproject/*
|
||||
|
||||
.idea
|
||||
.ignore
|
||||
|
||||
### template/api/specs.yaml should be compiled
|
||||
templates/api/specs.yaml
|
||||
|
||||
|
||||
###> symfony/webpack-encore-bundle ###
|
||||
/node_modules/
|
||||
/public/build/
|
||||
npm-debug.log
|
||||
yarn-error.log
|
||||
###< symfony/webpack-encore-bundle ###
|
||||
|
||||
###> symfony/phpunit-bridge ###
|
||||
.phpunit
|
||||
.phpunit.result.cache
|
||||
/phpunit.xml
|
||||
###< symfony/phpunit-bridge ###
|
||||
@@ -75,3 +76,11 @@ yarn-error.log
|
||||
|
||||
docker-compose.override.yml
|
||||
docker-compose.override.yaml
|
||||
|
||||
###> lexik/jwt-authentication-bundle ###
|
||||
/config/jwt/*.pem
|
||||
###< lexik/jwt-authentication-bundle ###
|
||||
|
||||
###> phpstan/phpstan ###
|
||||
phpstan.neon
|
||||
###< phpstan/phpstan ###
|
||||
|
58
CHANGELOG.md
58
CHANGELOG.md
@@ -1,12 +1,60 @@
|
||||
# Changelog
|
||||
|
||||
All notable changes to this project will be documented in this file.
|
||||
|
||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||||
and this project adheres to
|
||||
adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html),
|
||||
and is generated by [Changie](https://github.com/miniscruff/changie).
|
||||
|
||||
* [Semantic Versioning](https://semver.org/spec/v2.0.0.html) for stable releases;
|
||||
* date versioning for test releases
|
||||
|
||||
## Unreleased
|
||||
## v1.7.0 - 2024-02-13
|
||||
### Release
|
||||
* Update dependencies. Chill-bundles upgraded from 2.16.1 to 2.16.1
|
||||
### Fixed
|
||||
* Upgrade vue to fix multiselect
|
||||
|
||||
## v1.6.0 - 2024-02-12
|
||||
### Release
|
||||
* Update dependencies. Chill-bundles upgraded from 2.16.1 to 2.16.1
|
||||
### Fixed
|
||||
* Overwriting of bundles translations removed
|
||||
|
||||
## v1.5.0 - 2024-02-08
|
||||
### Release
|
||||
* Update dependencies. Chill-bundles upgraded from 2.16.0 to 2.16.1
|
||||
|
||||
## v1.4.4 - 2024-02-08
|
||||
### Fixed
|
||||
* fix incorrect upgrade
|
||||
|
||||
## v1.4.3 - 2024-02-08
|
||||
### Fixed
|
||||
* better restriction for bootstrap version
|
||||
|
||||
## v1.4.2 - 2024-02-08
|
||||
### Fixed
|
||||
* Fix version of bootstrap temporarily
|
||||
|
||||
## v1.4.1 - 2024-02-08
|
||||
### Fixed
|
||||
* upgrade node version while compiling
|
||||
|
||||
## v1.4.0 - 2024-02-08
|
||||
### Release
|
||||
* Upgrade nodes dependencies
|
||||
* Update dependencies. Chill-bundles upgraded from 2.14.1 to 2.16.0
|
||||
|
||||
## v1.3.0 - 2023-11-30
|
||||
### Release
|
||||
* Update dependencies. Chill-bundles upgraded from 2.14.0 to 2.14.1
|
||||
|
||||
## v1.2.0 - 2023-11-24
|
||||
### Release
|
||||
* Update dependencies. Chill-bundles upgraded from 2.13.0 to 2.14.0
|
||||
|
||||
## v1.1.0 - 2023-11-22
|
||||
### Release
|
||||
* Update dependencies. Chill-bundles upgraded from 2.12.1 to 2.13.0
|
||||
|
||||
## v1.0.0 - 2023-11-19
|
||||
### Feature
|
||||
* Integrate changie and automate release management
|
||||
|
66
Dockerfile
66
Dockerfile
@@ -1,4 +1,4 @@
|
||||
FROM php:7.4-fpm-buster AS chill_base_php
|
||||
FROM php:8.2-fpm-alpine AS chill_base_php82
|
||||
|
||||
ENV POSTGRES_VERSION 14
|
||||
|
||||
@@ -6,27 +6,31 @@ ENV POSTGRES_VERSION 14
|
||||
ARG UID=1000
|
||||
ARG GID=1000
|
||||
|
||||
RUN apt update && apt -y --no-install-recommends install wget gnupg \
|
||||
&& wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add - \
|
||||
&& echo "deb http://apt.postgresql.org/pub/repos/apt/ buster-pgdg main" > /etc/apt/sources.list.d/pgdg.list \
|
||||
&& apt update && apt -y --no-install-recommends install \
|
||||
libicu-dev \
|
||||
g++ \
|
||||
postgresql-server-dev-$POSTGRES_VERSION \
|
||||
libzip-dev libzip4 unzip \
|
||||
libfreetype6-dev \
|
||||
libonig-dev `# install oniguruma, required for mbstring` \
|
||||
libpng-dev \
|
||||
libjpeg62-turbo-dev \
|
||||
git \
|
||||
&& docker-php-ext-configure gd --with-freetype --with-jpeg \
|
||||
&& docker-php-ext-install -j$(nproc) gd \
|
||||
&& docker-php-ext-install intl pdo_pgsql mbstring zip bcmath sockets exif \
|
||||
&& pecl install redis \
|
||||
&& docker-php-ext-enable redis \
|
||||
&& apt remove -y wget libicu-dev g++ gnupg libzip-dev \
|
||||
&& apt autoremove -y \
|
||||
&& apt purge -y
|
||||
# install php extensions and deps
|
||||
RUN apk update && apk add --no-cache \
|
||||
wget gnupg \
|
||||
libpq-dev \
|
||||
icu-dev icu-libs icu-data-full \
|
||||
oniguruma-dev \
|
||||
libzip libzip-dev \
|
||||
linux-headers \
|
||||
gcc g++ make autoconf \
|
||||
bash git \
|
||||
&& docker-php-ext-install pdo_pgsql intl mbstring zip bcmath exif sockets \
|
||||
&& git clone https://github.com/nikic/php-ast.git \
|
||||
&& cd php-ast \
|
||||
&& phpize \
|
||||
&& ./configure \
|
||||
&& make install \
|
||||
&& echo 'extension=ast.so' > /usr/local/etc/php/php.ini \
|
||||
&& cd .. && rm -rf php-ast \
|
||||
&& pecl install redis \
|
||||
&& docker-php-ext-enable redis \
|
||||
&& apk add libpng-dev libjpeg-turbo-dev freetype-dev \
|
||||
&& docker-php-ext-configure gd --with-freetype --with-jpeg \
|
||||
&& docker-php-ext-install -j$(nproc) gd \
|
||||
&& apk add postgresql${POSTGRES_VERSION}-client \
|
||||
&& apk del --purge wget gnupg libpq-dev icu-dev oniguruma-dev libzip-dev linux-headers gcc g++ make autoconf
|
||||
|
||||
RUN { \
|
||||
echo ""; \
|
||||
@@ -41,15 +45,31 @@ RUN { \
|
||||
echo ""; \
|
||||
} >> /usr/local/etc/php/conf.d/date.ini
|
||||
|
||||
# temporary fix, while php-cs-fixer has conflict dependencies
|
||||
# with chill
|
||||
RUN curl -o /usr/local/bin/php-cs-fixer https://cs.symfony.com/download/php-cs-fixer-v3.phar \
|
||||
&& chmod +x /usr/local/bin/php-cs-fixer
|
||||
# to make php-cs-fixer works with php 8.2
|
||||
ENV PHP_CS_FIXER_IGNORE_ENV=1
|
||||
|
||||
COPY --from=composer:2 /usr/bin/composer /usr/bin/composer
|
||||
ENV COMPOSER_ALLOW_SUPERUSER=1
|
||||
ENV COMPOSER_MEMORY_LIMIT=-1
|
||||
|
||||
# shell bash preference
|
||||
RUN sed -i " \
|
||||
s|root:x:0:0:root:/root:/bin/ash|root:x:0:0:root:/root:/bin/bash|g; \
|
||||
s|postgres:x:70:70:PostgreSQL user:/var/lib/postgresql:/bin/sh|postgres:x:70:70:PostgreSQL user:/var/lib/postgresql:/bin/bash|g" \
|
||||
/etc/passwd
|
||||
|
||||
# chmod on redis.so
|
||||
RUN chmod 755 -R /usr/local/lib/php/extensions/
|
||||
|
||||
WORKDIR /var/www/app
|
||||
|
||||
CMD ["php-fpm"]
|
||||
|
||||
FROM chill_base_php AS chill_php
|
||||
FROM chill_base_php82 AS chill_php82
|
||||
|
||||
# copy directories
|
||||
|
||||
|
12
Makefile
12
Makefile
@@ -2,12 +2,12 @@ THIS_FILE := $(lastword $(MAKEFILE_LIST))
|
||||
PWD:=$(shell echo ${PWD})
|
||||
UID:=$(shell id -u)
|
||||
GID:=$(shell id -g)
|
||||
BASE_TAG=chill_base_php
|
||||
DOCKERNODE_CMD=docker run --rm --user ${UID}:${GID} -v ${PWD}:/app --workdir /app -e YARN_CACHE_FOLDER=/app/.yarncache node:14
|
||||
DOCKERNODE_CMD=docker run --rm --user ${UID}:${GID} -v ${PWD}:/app --workdir /app -e YARN_CACHE_FOLDER=/app/.yarncache node:20
|
||||
DOCKER_COMPOSE_PHP_EXEC_CMD=docker-compose run --rm --user $(UID):$(GID) -e CLEAR_CACHE=false -e COMPOSER_HOME=/var/www/app/.composer --entrypoint /usr/bin/env php
|
||||
DOCKER_PHP_EXEC_CMD_BASE=docker run --rm --user $(UID):$(GID) -v ${PWD}:/var/www/app -e CLEAR_CACHE=false -e COMPOSER_HOME=/var/www/app/.composer --entrypoint /usr/bin/env --net=host $(BASE_TAG)
|
||||
PHP_BASE_IMAGE=php:7.4-fpm-buster
|
||||
PHP_BASE_IMAGE_CHILL=chill_base_php
|
||||
DOCKER_PHP_EXEC_CMD_BASE=docker run --rm --user $(UID):$(GID) -v ${PWD}:/var/www/app -e CLEAR_CACHE=false -e COMPOSER_HOME=/var/www/app/.composer --entrypoint /usr/bin/env $(PHP_BASE_IMAGE_TAG)
|
||||
PHP_BASE_IMAGE=php:8.2-fpm-alpine
|
||||
PHP_BASE_IMAGE_TARGET=chill_base_php82
|
||||
PHP_BASE_IMAGE_TAG=chill_php82
|
||||
NGINX_BASE_IMAGE=nginx
|
||||
CALVER=$(shell date "+v%Y%m%d%H%M")-${CALVERSION}
|
||||
ifneq (,$(wildcard ./.env))
|
||||
@@ -39,7 +39,7 @@ build-assets:
|
||||
$(DOCKERNODE_CMD) yarn run encore production
|
||||
|
||||
init:
|
||||
docker build --target chill_base_php -t $(BASE_TAG) .
|
||||
docker build --pull --target $(PHP_BASE_IMAGE_TARGET) --tag $(PHP_BASE_IMAGE_TAG) .
|
||||
$(DOCKER_PHP_EXEC_CMD_BASE) composer update --no-scripts --no-interaction
|
||||
@$(MAKE) -f $(THIS_FILE) build-assets
|
||||
@$(MAKE) -f $(THIS_FILE) post-install
|
||||
|
2
assets/bootstrap.js
vendored
2
assets/bootstrap.js
vendored
@@ -4,7 +4,7 @@ import { startStimulusApp } from '@symfony/stimulus-bridge';
|
||||
export const app = startStimulusApp(require.context(
|
||||
'@symfony/stimulus-bridge/lazy-controller-loader!./controllers',
|
||||
true,
|
||||
/\.(j|t)sx?$/
|
||||
/\.[jt]sx?$/
|
||||
));
|
||||
|
||||
// register any custom, 3rd party controllers here
|
||||
|
39
bin/console
39
bin/console
@@ -3,40 +3,15 @@
|
||||
|
||||
use App\Kernel;
|
||||
use Symfony\Bundle\FrameworkBundle\Console\Application;
|
||||
use Symfony\Component\Console\Input\ArgvInput;
|
||||
use Symfony\Component\ErrorHandler\Debug;
|
||||
|
||||
if (!in_array(PHP_SAPI, ['cli', 'phpdbg', 'embed'], true)) {
|
||||
echo 'Warning: The console should be invoked via the CLI version of PHP, not the '.PHP_SAPI.' SAPI'.PHP_EOL;
|
||||
if (!is_file(dirname(__DIR__).'/vendor/autoload_runtime.php')) {
|
||||
throw new LogicException('Symfony Runtime is missing. Try running "composer require symfony/runtime".');
|
||||
}
|
||||
|
||||
set_time_limit(0);
|
||||
require_once dirname(__DIR__).'/vendor/autoload_runtime.php';
|
||||
|
||||
require dirname(__DIR__).'/vendor/autoload.php';
|
||||
return function (array $context) {
|
||||
$kernel = new Kernel($context['APP_ENV'], (bool) $context['APP_DEBUG']);
|
||||
|
||||
if (!class_exists(Application::class)) {
|
||||
throw new LogicException('You need to add "symfony/framework-bundle" as a Composer dependency.');
|
||||
}
|
||||
|
||||
$input = new ArgvInput();
|
||||
if (null !== $env = $input->getParameterOption(['--env', '-e'], null, true)) {
|
||||
putenv('APP_ENV='.$_SERVER['APP_ENV'] = $_ENV['APP_ENV'] = $env);
|
||||
}
|
||||
|
||||
if ($input->hasParameterOption('--no-debug', true)) {
|
||||
putenv('APP_DEBUG='.$_SERVER['APP_DEBUG'] = $_ENV['APP_DEBUG'] = '0');
|
||||
}
|
||||
|
||||
require dirname(__DIR__).'/config/bootstrap.php';
|
||||
|
||||
if ($_SERVER['APP_DEBUG']) {
|
||||
umask(0000);
|
||||
|
||||
if (class_exists(Debug::class)) {
|
||||
Debug::enable();
|
||||
}
|
||||
}
|
||||
|
||||
$kernel = new Kernel($_SERVER['APP_ENV'], (bool) $_SERVER['APP_DEBUG']);
|
||||
$application = new Application($kernel);
|
||||
$application->run($input);
|
||||
return new Application($kernel);
|
||||
};
|
||||
|
@@ -15,15 +15,14 @@
|
||||
},
|
||||
"require": {
|
||||
"ext-redis": "*",
|
||||
"chill-project/chill-bundles": "dev-master#69704e52116be5f85a090e70d4a3068308e12b25",
|
||||
"chill-project/chill-bundles": "dev-upgrade-sf5@dev",
|
||||
"symfony/flex": "^1.9",
|
||||
"symfony/http-client": "^4.4 || ^5",
|
||||
"nelmio/alice": "^3.8",
|
||||
"phpoffice/phpword": "^0.18.2",
|
||||
"phpstan/phpstan": "^1.0",
|
||||
"spomky-labs/base64url": "^2.0",
|
||||
"twig/string-extra": "^3.3",
|
||||
"symfony/mailer": "^5.4"
|
||||
"symfony/runtime": "^5.4"
|
||||
},
|
||||
"require-dev": {
|
||||
"fakerphp/faker": "^1.13",
|
||||
@@ -31,13 +30,11 @@
|
||||
"symfony/dotenv": "^5.1",
|
||||
"symfony/maker-bundle": "^1.20",
|
||||
"doctrine/doctrine-fixtures-bundle": "^3.3",
|
||||
"symfony/stopwatch": "^5.1",
|
||||
"symfony/twig-bundle": "^4.4",
|
||||
"symfony/stopwatch": "^5.4",
|
||||
"symfony/web-profiler-bundle": "^5.0",
|
||||
"symfony/var-dumper": "4.*",
|
||||
"symfony/phpunit-bridge": "^5.2",
|
||||
"symfony/debug-bundle": "^5.1",
|
||||
"box/spout": "^3.3"
|
||||
"symfony/debug-bundle": "^5.1"
|
||||
},
|
||||
"minimum-stability": "dev",
|
||||
"prefer-stable": true,
|
||||
@@ -54,11 +51,14 @@
|
||||
"bin-dir": "bin",
|
||||
"allow-plugins": {
|
||||
"ocramius/package-versions": true,
|
||||
"symfony/flex": true
|
||||
"symfony/flex": true,
|
||||
"symfony/runtime": true
|
||||
},
|
||||
"preferred-install": {
|
||||
"chill-project/chill-bundles": "source",
|
||||
"champs-libres/async-uploader-bundle": "source"
|
||||
"champs-libres/async-uploader-bundle": "source",
|
||||
"champs-libres/wopi-bundle": "source",
|
||||
"champs-libres/wopi-lib": "source"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
6183
composer.lock
generated
6183
composer.lock
generated
File diff suppressed because it is too large
Load Diff
@@ -1,23 +0,0 @@
|
||||
<?php
|
||||
|
||||
use Symfony\Component\Dotenv\Dotenv;
|
||||
|
||||
require dirname(__DIR__).'/vendor/autoload.php';
|
||||
|
||||
if (!class_exists(Dotenv::class)) {
|
||||
throw new LogicException('Please run "composer require symfony/dotenv" to load the ".env" files configuring the application.');
|
||||
}
|
||||
|
||||
// Load cached env vars if the .env.local.php file exists
|
||||
// Run "composer dump-env prod" to create it (requires symfony/flex >=1.2)
|
||||
if (is_array($env = @include dirname(__DIR__).'/.env.local.php') && (!isset($env['APP_ENV']) || ($_SERVER['APP_ENV'] ?? $_ENV['APP_ENV'] ?? $env['APP_ENV']) === $env['APP_ENV'])) {
|
||||
(new Dotenv(false))->populate($env);
|
||||
} else {
|
||||
// load all the .env files
|
||||
(new Dotenv(false))->loadEnv(dirname(__DIR__).'/.env');
|
||||
}
|
||||
|
||||
$_SERVER += $_ENV;
|
||||
$_SERVER['APP_ENV'] = $_ENV['APP_ENV'] = ($_SERVER['APP_ENV'] ?? $_ENV['APP_ENV'] ?? null) ?: 'dev';
|
||||
$_SERVER['APP_DEBUG'] = $_SERVER['APP_DEBUG'] ?? $_ENV['APP_DEBUG'] ?? 'prod' !== $_SERVER['APP_ENV'];
|
||||
$_SERVER['APP_DEBUG'] = $_ENV['APP_DEBUG'] = (int) $_SERVER['APP_DEBUG'] || filter_var($_SERVER['APP_DEBUG'], FILTER_VALIDATE_BOOLEAN) ? '1' : '0';
|
@@ -12,11 +12,9 @@ return [
|
||||
Symfony\Bundle\MakerBundle\MakerBundle::class => ['dev' => true],
|
||||
Doctrine\Bundle\FixturesBundle\DoctrineFixturesBundle::class => ['dev' => true, 'test' => true],
|
||||
Symfony\Bundle\WebProfilerBundle\WebProfilerBundle::class => ['dev' => true, 'test' => true],
|
||||
Symfony\Bundle\DebugBundle\DebugBundle::class => ['dev' => true, 'test' => true],
|
||||
Symfony\Bundle\SwiftmailerBundle\SwiftmailerBundle::class => ['all' => true],
|
||||
Symfony\Bundle\DebugBundle\DebugBundle::class => ['dev' => true],
|
||||
Knp\Bundle\MenuBundle\KnpMenuBundle::class => ['all' => true],
|
||||
Knp\Bundle\TimeBundle\KnpTimeBundle::class => ['all' => true],
|
||||
ChampsLibres\AsyncUploaderBundle\ChampsLibresAsyncUploaderBundle::class => ['all' => true],
|
||||
Chill\MainBundle\ChillMainBundle::class => ['all' => true],
|
||||
Chill\PersonBundle\ChillPersonBundle::class => ['all' => true],
|
||||
Chill\CustomFieldsBundle\ChillCustomFieldsBundle::class => ['all' => true],
|
||||
@@ -33,6 +31,9 @@ return [
|
||||
Chill\WopiBundle\ChillWopiBundle::class => ['all' => true],
|
||||
loophp\PsrHttpMessageBridgeBundle\PsrHttpMessageBridgeBundle::class => ['all' => true],
|
||||
ChampsLibres\WopiBundle\WopiBundle::class => ['all' => true],
|
||||
\Misd\PhoneNumberBundle\MisdPhoneNumberBundle::class => ['all' => true],
|
||||
App\App::class => [ 'all' => true ],
|
||||
Misd\PhoneNumberBundle\MisdPhoneNumberBundle::class => ['all' => true],
|
||||
App\App::class => ['all' => true],
|
||||
KnpU\OAuth2ClientBundle\KnpUOAuth2ClientBundle::class => ['all' => true],
|
||||
Lexik\Bundle\JWTAuthenticationBundle\LexikJWTAuthenticationBundle::class => ['all' => true],
|
||||
Chill\EventBundle\ChillEventBundle::class => ['all' => true],
|
||||
];
|
||||
|
14
config/packages/cache_chill.yaml
Normal file
14
config/packages/cache_chill.yaml
Normal file
@@ -0,0 +1,14 @@
|
||||
framework:
|
||||
cache:
|
||||
default_redis_provider: '%env(resolve:REDIS_URL)%'
|
||||
pools:
|
||||
cache.user_data:
|
||||
adapter: cache.adapter.redis
|
||||
public: true
|
||||
default_lifetime: 300 # 5 minutes
|
||||
|
||||
# will be used in chill_main.tag_aware_cache service
|
||||
cache.tags:
|
||||
adapter: cache.adapter.redis
|
||||
public: false
|
||||
default_lifetime: 300
|
@@ -1,14 +0,0 @@
|
||||
champs_libres_async_uploader:
|
||||
openstack:
|
||||
os_username: '%env(resolve:OS_USERNAME)%' # Required
|
||||
os_password: '%env(resolve:OS_PASSWORD)%' # Required
|
||||
os_tenant_id: '%env(resolve:OS_TENANT_ID)%' # Required
|
||||
os_region_name: '%env(resolve:OS_REGION_NAME)%' # Required
|
||||
os_auth_url: '%env(resolve:OS_AUTH_URL)%' # Required
|
||||
temp_url:
|
||||
temp_url_key: '%env(resolve:ASYNC_UPLOAD_TEMP_URL_KEY)%' # Required
|
||||
container: '%env(resolve:ASYNC_UPLOAD_TEMP_URL_CONTAINER)%' # Required
|
||||
temp_url_base_path: '%env(resolve:ASYNC_UPLOAD_TEMP_URL_BASE_PATH)%' # Required. Do not forget a trailing slash
|
||||
max_post_file_size: 15000000 # 15Mo (bytes)
|
||||
max_expires_delay: 180
|
||||
max_submit_delay: 3600
|
@@ -12,12 +12,26 @@ chill_main:
|
||||
twilio_sid: '%env(resolve:TWILIO_SID)%'
|
||||
twilio_secret: '%env(resolve:TWILIO_SECRET)%'
|
||||
default_carrier_code: '%env(resolve:DEFAULT_CARRIER_CODE)%'
|
||||
short_messages:
|
||||
dsn: '%env(string:SHORT_MESSAGE_DSN)%'
|
||||
acl:
|
||||
form_show_scopes: false
|
||||
form_show_centers: false
|
||||
form_show_scopes: true
|
||||
form_show_centers: true
|
||||
access_global_history: false
|
||||
access_user_change_password: true
|
||||
access_permissions_group_list: true
|
||||
add_address:
|
||||
default_country: '%env(string:ADD_ADDRESS_DEFAULT_COUNTRY)%'
|
||||
map_center:
|
||||
x: '%env(float:ADD_ADDRESS_MAP_CENTER_X)%'
|
||||
y: '%env(float:ADD_ADDRESS_MAP_CENTER_Y)%'
|
||||
z: '%env(float:ADD_ADDRESS_MAP_CENTER_Z)%'
|
||||
|
||||
when@test:
|
||||
chill_main:
|
||||
available_languages:
|
||||
- 'fr'
|
||||
- 'en'
|
||||
|
||||
chill_custom_fields:
|
||||
show_empty_values_in_views: false
|
||||
@@ -40,7 +54,7 @@ chill_person:
|
||||
civility: visible
|
||||
deathdate: visible
|
||||
validation:
|
||||
center_required: false
|
||||
center_required: true
|
||||
|
||||
chill_activity:
|
||||
form:
|
||||
|
@@ -56,7 +56,6 @@ chill_budget:
|
||||
- { key: mutuelle, labels: [{lang: fr, label: "Mutuelle"}]}
|
||||
- { key: transport, labels: [{lang: fr, label: "Frais de transport"}]}
|
||||
- { key: decouvbank, labels: [{lang: fr, label: "Découvert bancaire utilisé"}]}
|
||||
- { key: credit, labels: [{lang: fr, label: "Procédure de saisie"}]}
|
||||
- { key: procsaisie, labels: [{lang: fr, label: "Procédure de saisie"}]}
|
||||
- { key: indus, labels: [{lang: fr, label: "Indus"}]}
|
||||
- { key: apurement, labels: [{lang: fr, label: "Plan d'apurement"}]}
|
||||
@@ -82,6 +81,5 @@ chill_budget:
|
||||
- { key: debt_bank, labels: [{lang: fr, label: "Dette de découvert bancaire utilisé"}]}
|
||||
- { key: debt_garbage, labels: [{lang: fr, label: "Dette de taxe d’ordures ménagère"}]}
|
||||
- { key: debt_other, labels: [{lang: fr, label: "Dette autre"}]}
|
||||
- { key: credit, labels: [{lang: fr, label: "Crédit"}]}
|
||||
- { key: autre, labels: [{lang: fr, label: "Autre"}]}
|
||||
|
||||
|
3
config/packages/chill_calendar.yaml
Normal file
3
config/packages/chill_calendar.yaml
Normal file
@@ -0,0 +1,3 @@
|
||||
chill_calendar:
|
||||
remote_calendars_sync:
|
||||
enabled: false
|
6
config/packages/chill_doc_store.yaml
Normal file
6
config/packages/chill_doc_store.yaml
Normal file
@@ -0,0 +1,6 @@
|
||||
chill_doc_store:
|
||||
openstack:
|
||||
temp_url:
|
||||
temp_url_key: '%env(resolve:ASYNC_UPLOAD_TEMP_URL_KEY)%' # Required
|
||||
container: '%env(resolve:ASYNC_UPLOAD_TEMP_URL_CONTAINER)%' # Required
|
||||
temp_url_base_path: '%env(resolve:ASYNC_UPLOAD_TEMP_URL_BASE_PATH)%' # Required
|
@@ -1,88 +0,0 @@
|
||||
chill_main:
|
||||
cruds:
|
||||
-
|
||||
class: 'App\Entity\VendeePerson'
|
||||
controller: 'App\Controller\VendeePersonController'
|
||||
name: vendeeperson
|
||||
base_path: /vendee/vendeeperson
|
||||
actions:
|
||||
infosociopro_edit:
|
||||
controller_action: 'infosocioproEdit'
|
||||
path: '/{id}/infosociopro/edit'
|
||||
role: CHILL_PERSON_EDIT
|
||||
infosociopro_view:
|
||||
controller_action: 'infosocioproView'
|
||||
path: '/{id}/infosociopro/view'
|
||||
role: CHILL_PERSON_VIEW
|
||||
entourage_edit:
|
||||
controller_action: 'entourageEdit'
|
||||
path: '/{id}/entourage/edit'
|
||||
role: CHILL_PERSON_EDIT
|
||||
entourage_view:
|
||||
controller_action: 'entourageView'
|
||||
path: '/{id}/entourage/view'
|
||||
role: CHILL_PERSON_VIEW
|
||||
infomedicale_edit:
|
||||
controller_action: 'infomedicaleEdit'
|
||||
path: '/{id}/infomedicale/edit'
|
||||
role: CHILL_PERSON_EDIT
|
||||
infomedicale_view:
|
||||
controller_action: 'infomedicaleView'
|
||||
path: '/{id}/infomedicale/view'
|
||||
role: CHILL_PERSON_VIEW
|
||||
infologement_edit:
|
||||
controller_action: 'infologementEdit'
|
||||
path: '/{id}/infologement/edit'
|
||||
role: CHILL_PERSON_EDIT
|
||||
infologement_view:
|
||||
controller_action: 'infologementView'
|
||||
path: '/{id}/infologement/view'
|
||||
role: CHILL_PERSON_VIEW
|
||||
-
|
||||
class: 'App\Entity\VendeePersonMineur'
|
||||
controller: 'App\Controller\VendeePersonMineurController'
|
||||
name: vendeepersonmineur
|
||||
base_path: /vendee/vendeepersonmineur
|
||||
actions:
|
||||
infofamille_edit:
|
||||
controller_action: 'infofamilleEdit'
|
||||
path: '/{id}/infofamille/edit'
|
||||
role: CHILL_PERSON_EDIT
|
||||
infofamille_view:
|
||||
controller_action: 'infofamilleView'
|
||||
path: '/{id}/infofamille/view'
|
||||
role: CHILL_PERSON_VIEW
|
||||
scolarite_edit:
|
||||
controller_action: 'scolariteEdit'
|
||||
path: '/{id}/scolarite/edit'
|
||||
role: CHILL_PERSON_EDIT
|
||||
scolarite_view:
|
||||
controller_action: 'scolariteView'
|
||||
path: '/{id}/scolarite/view'
|
||||
role: CHILL_PERSON_VIEW
|
||||
infomedicale_edit:
|
||||
controller_action: 'infomedicaleEdit'
|
||||
path: '/{id}/infomedicale/edit'
|
||||
role: CHILL_PERSON_EDIT
|
||||
infomedicale_view:
|
||||
controller_action: 'infomedicaleView'
|
||||
path: '/{id}/infomedicale/view'
|
||||
role: CHILL_PERSON_VIEW
|
||||
-
|
||||
class: 'App\Entity\Security\Profile'
|
||||
name: vendee_security_profile
|
||||
base_path: '/admin/vendee/security/profile'
|
||||
base_role: ROLE_ADMIN
|
||||
form_class: 'App\Form\Security\ProfileType'
|
||||
controller: 'App\Controller\SecurityProfileController'
|
||||
actions:
|
||||
index:
|
||||
template: '/Security/Profile/index.html.twig'
|
||||
role: ROLE_ADMIN
|
||||
new:
|
||||
role: ROLE_ADMIN
|
||||
template: '/Security/Profile/new.html.twig'
|
||||
edit:
|
||||
role: ROLE_ADMIN
|
||||
template: '/Security/Profile/edit.html.twig'
|
||||
|
5
config/packages/debug.yaml
Normal file
5
config/packages/debug.yaml
Normal file
@@ -0,0 +1,5 @@
|
||||
when@dev:
|
||||
debug:
|
||||
# Forwards VarDumper Data clones to a centralized server allowing to inspect dumps on CLI or in your browser.
|
||||
# See the "server:dump" command to start a new server.
|
||||
dump_destination: "tcp://%env(VAR_DUMPER_SERVER)%"
|
@@ -1,4 +0,0 @@
|
||||
debug:
|
||||
# Forwards VarDumper Data clones to a centralized server allowing to inspect dumps on CLI or in your browser.
|
||||
# See the "server:dump" command to start a new server.
|
||||
dump_destination: "tcp://%env(VAR_DUMPER_SERVER)%"
|
@@ -3,3 +3,10 @@ framework:
|
||||
# allow to debug from ngrok, useful for webhooks coming from outside:
|
||||
- '^(.+\.)?ngrok\.io$'
|
||||
- 'nginx'
|
||||
|
||||
## Open files in phpstorm IDE from profiler links
|
||||
# ref: https://symfony.com/doc/current/reference/configuration/framework.html#ide
|
||||
# need: https://github.com/sanduhrs/phpstorm-url-handler/blob/master/phpstorm-url-handler
|
||||
# set var in file .env.dev.local (PROJECT_DIR=<relative path from home folder>)
|
||||
ide: 'phpstorm://open?file=%%f&line=%%l&/var/www/app/>%env(resolve:PROJECT_DIR)%'
|
||||
|
||||
|
@@ -1,21 +0,0 @@
|
||||
monolog:
|
||||
handlers:
|
||||
main:
|
||||
type: stream
|
||||
path: "%kernel.logs_dir%/%kernel.environment%.log"
|
||||
level: debug
|
||||
channels: ["!event"]
|
||||
# uncomment to get logging in your browser
|
||||
# you may have to allow bigger header sizes in your Web server configuration
|
||||
#firephp:
|
||||
# type: firephp
|
||||
# level: info
|
||||
#chromephp:
|
||||
# type: chromephp
|
||||
# level: info
|
||||
console:
|
||||
type: console
|
||||
process_psr_3_messages: false
|
||||
channels: ['!event', '!doctrine', '!console']
|
||||
bubble: false
|
||||
|
@@ -1,9 +0,0 @@
|
||||
nelmio_alice:
|
||||
functions_blacklist:
|
||||
- 'current'
|
||||
- 'shuffle'
|
||||
- 'date'
|
||||
- 'time'
|
||||
- 'file'
|
||||
- 'md5'
|
||||
- 'sha1'
|
@@ -1,4 +0,0 @@
|
||||
# See https://symfony.com/doc/current/email/dev_environment.html
|
||||
swiftmailer:
|
||||
# send all emails to a specific address
|
||||
#delivery_addresses: ['me@example.com']
|
@@ -1,3 +0,0 @@
|
||||
twig:
|
||||
globals:
|
||||
responsive_debug: false
|
@@ -1,6 +0,0 @@
|
||||
web_profiler:
|
||||
toolbar: true
|
||||
intercept_redirects: false
|
||||
|
||||
framework:
|
||||
profiler: { only_exceptions: false }
|
@@ -1,3 +1,10 @@
|
||||
framework:
|
||||
cache:
|
||||
pools:
|
||||
doctrine.system_cache_pool:
|
||||
adapter: cache.adapter.redis
|
||||
|
||||
|
||||
doctrine:
|
||||
dbal:
|
||||
url: '%env(resolve:DATABASE_URL)%'
|
||||
@@ -5,7 +12,8 @@ doctrine:
|
||||
geometry: string
|
||||
# IMPORTANT: You MUST configure your server version,
|
||||
# either here or in the DATABASE_URL env var (see .env file)
|
||||
#server_version: '5.7'
|
||||
#server_version: '16'
|
||||
use_savepoints: true
|
||||
orm:
|
||||
auto_generate_proxy_classes: true
|
||||
naming_strategy: doctrine.orm.naming_strategy.default
|
||||
@@ -13,7 +21,32 @@ doctrine:
|
||||
mappings:
|
||||
App:
|
||||
is_bundle: false
|
||||
type: annotation
|
||||
dir: '%kernel.project_dir%/src/Entity'
|
||||
prefix: 'App\Entity'
|
||||
alias: App
|
||||
|
||||
when@test:
|
||||
doctrine:
|
||||
dbal:
|
||||
# "TEST_TOKEN" is typically set by ParaTest
|
||||
dbname_suffix: '_test%env(default::TEST_TOKEN)%'
|
||||
|
||||
when@prod:
|
||||
doctrine:
|
||||
orm:
|
||||
auto_generate_proxy_classes: false
|
||||
proxy_dir: '%kernel.build_dir%/doctrine/orm/Proxies'
|
||||
query_cache_driver:
|
||||
type: pool
|
||||
pool: doctrine.system_cache_pool
|
||||
result_cache_driver:
|
||||
type: pool
|
||||
pool: doctrine.result_cache_pool
|
||||
|
||||
framework:
|
||||
cache:
|
||||
pools:
|
||||
doctrine.result_cache_pool:
|
||||
adapter: cache.app
|
||||
doctrine.system_cache_pool:
|
||||
adapter: cache.system
|
||||
|
@@ -2,25 +2,9 @@ doctrine_migrations:
|
||||
migrations_paths:
|
||||
# migrations for custom modules
|
||||
'Application\Migrations': '%kernel.project_dir%/migrations'
|
||||
# migrations for default chill modules
|
||||
'Chill\Migrations\Main': '@ChillMainBundle/migrations'
|
||||
'Chill\Migrations\Activity': '@ChillActivityBundle/migrations'
|
||||
'Chill\Migrations\DocStore': '@ChillDocStoreBundle/migrations'
|
||||
'Chill\Migrations\CustomFields': '@ChillCustomFieldsBundle/migrations'
|
||||
# 'Chill\Migrations\Event': '@ChillEventBundle/migrations'
|
||||
'Chill\Migrations\Person': '@ChillPersonBundle/migrations'
|
||||
'Chill\Migrations\Task': '@ChillTaskBundle/migrations'
|
||||
'Chill\Migrations\ThirdParty': '@ChillThirdPartyBundle/migrations'
|
||||
'Chill\Migrations\DocGenerator': '@ChillDocGeneratorBundle/migrations'
|
||||
'Chill\Migrations\AsideActivity': '@ChillAsideActivityBundle/migrations'
|
||||
'Chill\Migrations\Calendar': '@ChillCalendarBundle/migrations'
|
||||
'Chill\Migrations\Budget': '@ChillBudgetBundle/migrations'
|
||||
all_or_nothing:
|
||||
true
|
||||
|
||||
services:
|
||||
'Doctrine\Migrations\Version\Comparator': 'Chill\MainBundle\Doctrine\Migrations\VersionComparator'
|
||||
|
||||
storage:
|
||||
table_storage:
|
||||
table_name: 'migration_versions'
|
||||
|
20
config/packages/doctrine_migrations_chill.yaml
Normal file
20
config/packages/doctrine_migrations_chill.yaml
Normal file
@@ -0,0 +1,20 @@
|
||||
doctrine_migrations:
|
||||
migrations_paths:
|
||||
# migrations for default chill modules
|
||||
'Chill\Migrations\Main': '@ChillMainBundle/migrations'
|
||||
'Chill\Migrations\Activity': '@ChillActivityBundle/migrations'
|
||||
'Chill\Migrations\DocStore': '@ChillDocStoreBundle/migrations'
|
||||
'Chill\Migrations\CustomFields': '@ChillCustomFieldsBundle/migrations'
|
||||
'Chill\Migrations\Event': '@ChillEventBundle/migrations'
|
||||
'Chill\Migrations\Person': '@ChillPersonBundle/migrations'
|
||||
'Chill\Migrations\Task': '@ChillTaskBundle/migrations'
|
||||
'Chill\Migrations\ThirdParty': '@ChillThirdPartyBundle/migrations'
|
||||
'Chill\Migrations\DocGenerator': '@ChillDocGeneratorBundle/migrations'
|
||||
'Chill\Migrations\AsideActivity': '@ChillAsideActivityBundle/migrations'
|
||||
'Chill\Migrations\Calendar': '@ChillCalendarBundle/migrations'
|
||||
'Chill\Migrations\Budget': '@ChillBudgetBundle/migrations'
|
||||
all_or_nothing:
|
||||
true
|
||||
|
||||
services:
|
||||
'Doctrine\Migrations\Version\Comparator': 'Chill\MainBundle\Doctrine\Migrations\VersionComparator'
|
@@ -7,14 +7,12 @@ framework:
|
||||
verify_peer: false
|
||||
verify_host: false
|
||||
|
||||
# DIRTY FIX un bug dans symfony4 empêche de récupérer un tableau de variables depuis .env
|
||||
# cfr. https://github.com/symfony/symfony/issues/28599
|
||||
trusted_hosts:
|
||||
- '^(localhost|127.0.0.1|web)$'
|
||||
- '%env(resolve:TRUSTED_HOSTS)%'
|
||||
|
||||
#csrf_protection: true
|
||||
#http_method_override: true
|
||||
http_method_override: false
|
||||
|
||||
# Enables session support. Note that the session will ONLY be started if you read or write from it.
|
||||
# Remove or comment this section to explicitly disable session support.
|
||||
@@ -22,6 +20,7 @@ framework:
|
||||
handler_id: null
|
||||
cookie_secure: auto
|
||||
cookie_samesite: lax
|
||||
storage_factory_id: session.storage.factory.native
|
||||
|
||||
#esi: true
|
||||
#fragments: true
|
||||
@@ -30,9 +29,8 @@ framework:
|
||||
|
||||
#error_controller: App\Controller\ErrorController::show
|
||||
|
||||
## sf4 check: ou à déplacer dans un chill.yaml
|
||||
assets:
|
||||
json_manifest_path: '%kernel.project_dir%/public/build/manifest.json'
|
||||
|
||||
templating:
|
||||
engines: ['twig']
|
||||
when@test:
|
||||
framework:
|
||||
test: true
|
||||
session:
|
||||
storage_factory_id: session.storage.factory.mock_file
|
||||
|
3
config/packages/knpu_oauth2_client.yaml
Normal file
3
config/packages/knpu_oauth2_client.yaml
Normal file
@@ -0,0 +1,3 @@
|
||||
knpu_oauth2_client:
|
||||
clients:
|
||||
# configure your clients as described here: https://github.com/knpuniversity/oauth2-client-bundle#configuration
|
12
config/packages/lexik_jwt_authentication.yaml
Normal file
12
config/packages/lexik_jwt_authentication.yaml
Normal file
@@ -0,0 +1,12 @@
|
||||
lexik_jwt_authentication:
|
||||
secret_key: '%env(resolve:JWT_SECRET_KEY)%'
|
||||
public_key: '%env(resolve:JWT_PUBLIC_KEY)%'
|
||||
pass_phrase: '%env(JWT_PASSPHRASE)%'
|
||||
|
||||
# required for wopi - recommended duration
|
||||
token_ttl: 36000
|
||||
|
||||
token_extractors:
|
||||
query_parameter:
|
||||
enabled: true
|
||||
name: access_token
|
4
config/packages/mailer_chill.yaml
Normal file
4
config/packages/mailer_chill.yaml
Normal file
@@ -0,0 +1,4 @@
|
||||
framework:
|
||||
mailer:
|
||||
envelope:
|
||||
sender: '%env(NOTIFICATION_FROM_EMAIL)%'
|
19
config/packages/messenger.yaml
Normal file
19
config/packages/messenger.yaml
Normal file
@@ -0,0 +1,19 @@
|
||||
framework:
|
||||
messenger:
|
||||
# reset services after consuming messages
|
||||
# reset_on_message: true
|
||||
|
||||
# Uncomment this (and the failed transport below) to send failed messages to this transport for later handling.
|
||||
failure_transport: failed
|
||||
|
||||
transports:
|
||||
# https://symfony.com/doc/current/messenger.html#transport-configuration
|
||||
async: '%env(MESSENGER_TRANSPORT_DSN)%'
|
||||
priority:
|
||||
dsn: '%env(MESSENGER_TRANSPORT_DSN)%'
|
||||
failed: 'doctrine://default?queue_name=failed'
|
||||
# sync: 'sync://'
|
||||
|
||||
routing:
|
||||
# Route your messages to the transports
|
||||
# 'App\Message\YourMessage': async
|
13
config/packages/messenger_chill.yaml
Normal file
13
config/packages/messenger_chill.yaml
Normal file
@@ -0,0 +1,13 @@
|
||||
framework:
|
||||
messenger:
|
||||
routing:
|
||||
# Route your messages to the transports
|
||||
# 'App\Message\YourMessage': async
|
||||
'Chill\CalendarBundle\Messenger\Message\CalendarRangeMessage': async
|
||||
'Chill\CalendarBundle\Messenger\Message\CalendarRangeRemovedMessage': async
|
||||
'Chill\CalendarBundle\Messenger\Message\CalendarRemovedMessage': async
|
||||
'Chill\CalendarBundle\Messenger\Message\CalendarMessage': async
|
||||
'Chill\CalendarBundle\Messenger\Message\InviteUpdateMessage': async
|
||||
'Chill\CalendarBundle\Messenger\Message\MSGraphChangeNotificationMessage': async
|
||||
'Chill\MainBundle\Service\ShortMessage\ShortMessage': async
|
||||
'Chill\DocGeneratorBundle\Service\Messenger\RequestGenerationMessage': priority
|
63
config/packages/monolog.yaml
Normal file
63
config/packages/monolog.yaml
Normal file
@@ -0,0 +1,63 @@
|
||||
monolog:
|
||||
channels:
|
||||
- deprecation # Deprecations are logged in the dedicated "deprecation" channel when it exists
|
||||
|
||||
when@dev:
|
||||
monolog:
|
||||
handlers:
|
||||
main:
|
||||
type: stream
|
||||
path: "%kernel.logs_dir%/%kernel.environment%.log"
|
||||
level: debug
|
||||
channels: ["!event"]
|
||||
# uncomment to get logging in your browser
|
||||
# you may have to allow bigger header sizes in your Web server configuration
|
||||
#firephp:
|
||||
# type: firephp
|
||||
# level: info
|
||||
#chromephp:
|
||||
# type: chromephp
|
||||
# level: info
|
||||
console:
|
||||
type: console
|
||||
process_psr_3_messages: false
|
||||
channels: ["!event", "!doctrine", "!console"]
|
||||
|
||||
when@test:
|
||||
monolog:
|
||||
handlers:
|
||||
main:
|
||||
type: fingers_crossed
|
||||
action_level: error
|
||||
handler: nested
|
||||
excluded_http_codes: [404, 405]
|
||||
channels: ["!event"]
|
||||
nested:
|
||||
type: stream
|
||||
path: "%kernel.logs_dir%/%kernel.environment%.log"
|
||||
level: debug
|
||||
|
||||
# those comes from the symfony recipe. But this is overriden by the ./prod/monolog.yaml config
|
||||
# when@prod:
|
||||
# monolog:
|
||||
# handlers:
|
||||
# main:
|
||||
# type: fingers_crossed
|
||||
# action_level: error
|
||||
# handler: nested
|
||||
# excluded_http_codes: [404, 405]
|
||||
# buffer_size: 50 # How many messages should be saved? Prevent memory leaks
|
||||
# nested:
|
||||
# type: stream
|
||||
# path: php://stderr
|
||||
# level: debug
|
||||
# formatter: monolog.formatter.json
|
||||
# console:
|
||||
# type: console
|
||||
# process_psr_3_messages: false
|
||||
# channels: ["!event", "!doctrine"]
|
||||
# deprecation:
|
||||
# type: stream
|
||||
# channels: [deprecation]
|
||||
# path: php://stderr
|
||||
# formatter: monolog.formatter.json
|
12
config/packages/nelmio_alice.yaml
Normal file
12
config/packages/nelmio_alice.yaml
Normal file
@@ -0,0 +1,12 @@
|
||||
when@dev: &dev
|
||||
nelmio_alice:
|
||||
functions_blacklist:
|
||||
- 'current'
|
||||
- 'shuffle'
|
||||
- 'date'
|
||||
- 'time'
|
||||
- 'file'
|
||||
- 'md5'
|
||||
- 'sha1'
|
||||
|
||||
when@test: *dev
|
@@ -7,15 +7,5 @@ services:
|
||||
Psr\Http\Message\UploadedFileFactoryInterface: '@nyholm.psr7.psr17_factory'
|
||||
Psr\Http\Message\UriFactoryInterface: '@nyholm.psr7.psr17_factory'
|
||||
|
||||
# Register nyholm/psr7 services for autowiring with HTTPlug factories
|
||||
Http\Message\MessageFactory: '@nyholm.psr7.httplug_factory'
|
||||
Http\Message\RequestFactory: '@nyholm.psr7.httplug_factory'
|
||||
Http\Message\ResponseFactory: '@nyholm.psr7.httplug_factory'
|
||||
Http\Message\StreamFactory: '@nyholm.psr7.httplug_factory'
|
||||
Http\Message\UriFactory: '@nyholm.psr7.httplug_factory'
|
||||
|
||||
nyholm.psr7.psr17_factory:
|
||||
class: Nyholm\Psr7\Factory\Psr17Factory
|
||||
|
||||
nyholm.psr7.httplug_factory:
|
||||
class: Nyholm\Psr7\Factory\HttplugFactory
|
||||
|
@@ -1,8 +0,0 @@
|
||||
# As of Symfony 5.1, deprecations are logged in the dedicated "deprecation" channel when it exists
|
||||
#monolog:
|
||||
# channels: [deprecation]
|
||||
# handlers:
|
||||
# deprecation:
|
||||
# type: stream
|
||||
# channels: [deprecation]
|
||||
# path: "%kernel.logs_dir%/%kernel.environment%.deprecations.log"
|
@@ -1,20 +0,0 @@
|
||||
doctrine:
|
||||
orm:
|
||||
auto_generate_proxy_classes: false
|
||||
metadata_cache_driver:
|
||||
type: pool
|
||||
pool: doctrine.system_cache_pool
|
||||
query_cache_driver:
|
||||
type: pool
|
||||
pool: doctrine.system_cache_pool
|
||||
result_cache_driver:
|
||||
type: pool
|
||||
pool: doctrine.result_cache_pool
|
||||
|
||||
framework:
|
||||
cache:
|
||||
pools:
|
||||
doctrine.result_cache_pool:
|
||||
adapter: cache.app
|
||||
doctrine.system_cache_pool:
|
||||
adapter: cache.system
|
9
config/packages/prod/lexik_jwt_authentication.yaml
Normal file
9
config/packages/prod/lexik_jwt_authentication.yaml
Normal file
@@ -0,0 +1,9 @@
|
||||
lexik_jwt_authentication:
|
||||
# in production, the secret must be located in an environment variable
|
||||
# for converting the file to a raw variable, use this command:
|
||||
#
|
||||
# cat path/to/private_or_public.pem | base64 -w0
|
||||
#
|
||||
# then copy past the printed string into the dedicated environment variable
|
||||
secret_key: '%env(base64:resolve:JWT_SECRET_KEY)%'
|
||||
public_key: '%env(base64:resolve:JWT_PUBLIC_KEY)%'
|
@@ -25,6 +25,7 @@ monolog:
|
||||
id: monolog.gelf_handler
|
||||
level: info
|
||||
channels: ['!event', '!php']
|
||||
excluded_http_codes: [404, 405]
|
||||
|
||||
console:
|
||||
type: console
|
||||
|
@@ -1,3 +0,0 @@
|
||||
framework:
|
||||
router:
|
||||
strict_requirements: null
|
@@ -1,4 +0,0 @@
|
||||
#webpack_encore:
|
||||
# Cache the entrypoints.json (rebuild Symfony's cache when entrypoints.json changes)
|
||||
# Available in version 1.2
|
||||
#cache: true
|
@@ -5,3 +5,8 @@ framework:
|
||||
# Configure how to generate URLs in non-HTTP contexts, such as CLI commands.
|
||||
# See https://symfony.com/doc/current/routing.html#generating-urls-in-commands
|
||||
#default_uri: http://localhost
|
||||
|
||||
when@prod:
|
||||
framework:
|
||||
router:
|
||||
strict_requirements: null
|
||||
|
@@ -1,66 +1,40 @@
|
||||
security:
|
||||
|
||||
access_decision_manager:
|
||||
strategy: unanimous
|
||||
allow_if_all_abstain: false
|
||||
|
||||
# https://symfony.com/doc/current/security.html#where-do-users-come-from-user-providers
|
||||
enable_authenticator_manager: true
|
||||
# https://symfony.com/doc/current/security.html#registering-the-user-hashing-passwords
|
||||
password_hashers:
|
||||
Chill\MainBundle\Entity\User: 'auto'
|
||||
Symfony\Component\Security\Core\User\User: plaintext
|
||||
Symfony\Component\Security\Core\User\PasswordAuthenticatedUserInterface: 'auto'
|
||||
# https://symfony.com/doc/current/security.html#loading-the-user-the-user-provider
|
||||
providers:
|
||||
|
||||
chain_provider:
|
||||
chain :
|
||||
providers: [in_memory, users]
|
||||
in_memory:
|
||||
# providers added by chill-bundles recipes
|
||||
# those providers are required to make chill working
|
||||
chill_chain_provider:
|
||||
chain:
|
||||
providers: [chill_in_memory, chill_users]
|
||||
chill_in_memory:
|
||||
memory:
|
||||
users:
|
||||
admin: { password: '%env(resolve:ADMIN_PASSWORD)%', roles: ['ROLE_ADMIN', 'ROLE_ALLOWED_TO_SWITCH', 'ROLE_USER'] }
|
||||
users:
|
||||
chill_users:
|
||||
id: chill.main.user_provider
|
||||
# end of providers added by chill-bundles recipes
|
||||
# all other providers might be removed, unless you have specific needs
|
||||
# TODO AFTER CHILL-BUNDLES RECIPES INSTALL: remove the user providers which are not used
|
||||
|
||||
encoders:
|
||||
|
||||
Chill\MainBundle\Entity\User:
|
||||
algorithm: bcrypt
|
||||
Symfony\Component\Security\Core\User\User: plaintext
|
||||
|
||||
firewalls:
|
||||
|
||||
dev:
|
||||
pattern: ^/(_(profiler|wdt)|css|images|js)/
|
||||
security: false
|
||||
|
||||
default:
|
||||
anonymous: ~
|
||||
provider: chain_provider
|
||||
form_login:
|
||||
csrf_parameter: _csrf_token
|
||||
csrf_token_id: authenticate
|
||||
#csrf_provider: security.csrf.token_manager
|
||||
logout_on_user_change: true
|
||||
logout:
|
||||
path: /logout
|
||||
|
||||
# uncomment to enable impersonate mode in Chill
|
||||
# https://symfony.com/doc/current/security/impersonating_user.html
|
||||
switch_user: true
|
||||
|
||||
# activate different ways to authenticate
|
||||
# https://symfony.com/doc/current/security.html#firewalls-authentication
|
||||
|
||||
# Easy way to control access for large sections of your site
|
||||
# Note: Only the *first* access control that matches will be used
|
||||
access_control:
|
||||
- { path: ^/saml/login, roles: IS_AUTHENTICATED_ANONYMOUSLY }
|
||||
- { path: ^/saml/metadata, roles: IS_AUTHENTICATED_ANONYMOUSLY }
|
||||
- { path: ^/(login|logout), roles: IS_AUTHENTICATED_ANONYMOUSLY }
|
||||
- { path: ^/public, roles: IS_AUTHENTICATED_ANONYMOUSLY }
|
||||
- { path: ^/wopi, roles: IS_AUTHENTICATED_ANONYMOUSLY }
|
||||
# access for homepage, the homepage redirect admin to admin section
|
||||
- { path: ^/$, roles: [ IS_AUTHENTICATED_REMEMBERED ] }
|
||||
- { path: ^/homepage$, roles: [ IS_AUTHENTICATED_REMEMBERED ] }
|
||||
# idem
|
||||
- { path: ^/([a-z]+/)?homepage, roles: [ IS_AUTHENTICATED_REMEMBERED ] }
|
||||
# admin section, only for admin
|
||||
- { path: ^/([a-z]+/)?admin, roles: ROLE_ADMIN }
|
||||
# other pages, only for regular user (no admin)
|
||||
- { path: ^/, roles: ROLE_USER }
|
||||
|
||||
when@test:
|
||||
security:
|
||||
password_hashers:
|
||||
# By default, password hashers are resource intensive and take time. This is
|
||||
# important to generate secure password hashes. In tests however, secure hashes
|
||||
# are not important, waste resources and increase test times. The following
|
||||
# reduces the work factor to the lowest possible values.
|
||||
Symfony\Component\Security\Core\User\PasswordAuthenticatedUserInterface:
|
||||
algorithm: auto
|
||||
cost: 4 # Lowest possible value for bcrypt
|
||||
time_cost: 3 # Lowest possible value for argon
|
||||
memory_cost: 10 # Lowest possible value for argon
|
||||
|
50
config/packages/security_chill.yaml
Normal file
50
config/packages/security_chill.yaml
Normal file
@@ -0,0 +1,50 @@
|
||||
security:
|
||||
access_decision_manager:
|
||||
strategy: unanimous
|
||||
allow_if_all_abstain: false
|
||||
firewalls:
|
||||
dev:
|
||||
pattern: ^/(_(profiler|wdt)|css|images|js)/
|
||||
security: false
|
||||
wopi:
|
||||
pattern: ^/wopi
|
||||
provider: chill_chain_provider
|
||||
stateless: true
|
||||
guard:
|
||||
authenticators:
|
||||
- lexik_jwt_authentication.jwt_token_authenticator
|
||||
chill_main:
|
||||
# remove during upgrade from symfony 4 to symfony 5 TODO check this
|
||||
#anonymous: ~
|
||||
provider: chill_chain_provider
|
||||
form_login:
|
||||
csrf_parameter: _csrf_token
|
||||
csrf_token_id: authenticate
|
||||
#csrf_provider: security.csrf.token_manager
|
||||
# remove during upgrade from symfony 4 to symfony 5 TODO check this
|
||||
# logout_on_user_change: true
|
||||
logout:
|
||||
path: /logout
|
||||
|
||||
# uncomment to enable impersonate mode in Chill
|
||||
# https://symfony.com/doc/current/security/impersonating_user.html
|
||||
switch_user: true
|
||||
|
||||
# activate different ways to authenticate
|
||||
# https://symfony.com/doc/current/security.html#firewalls-authentication
|
||||
|
||||
# Easy way to control access for large sections of your site
|
||||
# Note: Only the *first* access control that matches will be used
|
||||
access_control:
|
||||
- { path: ^/(login|logout), roles: IS_AUTHENTICATED_ANONYMOUSLY }
|
||||
- { path: ^/public, roles: IS_AUTHENTICATED_ANONYMOUSLY }
|
||||
- { path: ^/wopi, roles: IS_AUTHENTICATED_FULLY }
|
||||
# access for homepage, the homepage redirect admin to admin section
|
||||
- { path: ^/$, roles: [ IS_AUTHENTICATED_REMEMBERED ] }
|
||||
- { path: ^/homepage$, roles: [ IS_AUTHENTICATED_REMEMBERED ] }
|
||||
# idem
|
||||
- { path: ^/([a-z]+/)?homepage, roles: [ IS_AUTHENTICATED_REMEMBERED ] }
|
||||
# admin section, only for admin
|
||||
- { path: ^/([a-z]+/)?admin, roles: ROLE_ADMIN }
|
||||
# other pages, only for regular user (no admin)
|
||||
- { path: ^/, roles: ROLE_USER }
|
@@ -1,3 +0,0 @@
|
||||
swiftmailer:
|
||||
url: '%env(MAILER_URL)%'
|
||||
spool: { type: 'memory' }
|
0
config/packages/test/.gitkeep
Normal file
0
config/packages/test/.gitkeep
Normal file
@@ -1,5 +0,0 @@
|
||||
---
|
||||
chill_main:
|
||||
available_languages:
|
||||
- 'fr'
|
||||
- 'en'
|
@@ -1,6 +0,0 @@
|
||||
framework:
|
||||
test: true
|
||||
session:
|
||||
storage_id: session.storage.mock_file
|
||||
assets:
|
||||
json_manifest_path: NULL
|
@@ -1,12 +0,0 @@
|
||||
monolog:
|
||||
handlers:
|
||||
main:
|
||||
type: fingers_crossed
|
||||
action_level: error
|
||||
handler: nested
|
||||
excluded_http_codes: [404, 405]
|
||||
channels: ["!event"]
|
||||
nested:
|
||||
type: stream
|
||||
path: "%kernel.logs_dir%/%kernel.environment%.log"
|
||||
level: debug
|
@@ -1,2 +0,0 @@
|
||||
imports:
|
||||
- { resource: ../dev/nelmio_alice.yaml }
|
@@ -1,8 +1,5 @@
|
||||
---
|
||||
# config/packages/test/security.yaml
|
||||
security:
|
||||
firewalls:
|
||||
default:
|
||||
http_basic: ~
|
||||
role_hierarchy:
|
||||
CHILL_MASTER_ROLE: [CHILL_INHERITED_ROLE_1]
|
||||
|
@@ -1,2 +0,0 @@
|
||||
swiftmailer:
|
||||
disable_delivery: true
|
@@ -1,2 +0,0 @@
|
||||
twig:
|
||||
strict_variables: true
|
@@ -1,3 +0,0 @@
|
||||
framework:
|
||||
validation:
|
||||
not_compromised_password: false
|
@@ -1,6 +0,0 @@
|
||||
web_profiler:
|
||||
toolbar: false
|
||||
intercept_redirects: false
|
||||
|
||||
framework:
|
||||
profiler: { collect: false }
|
@@ -1,2 +0,0 @@
|
||||
webpack_encore:
|
||||
strict_mode: false
|
@@ -1,7 +1,6 @@
|
||||
framework:
|
||||
|
||||
default_locale: '%env(resolve:LOCALE)%'
|
||||
|
||||
translator:
|
||||
default_path: '%kernel.project_dir%/translations'
|
||||
fallbacks: [ '%env(resolve:LOCALE)%' ]
|
||||
providers:
|
||||
|
@@ -1,17 +1,5 @@
|
||||
twig:
|
||||
default_path: '%kernel.project_dir%/templates'
|
||||
debug: '%kernel.debug%'
|
||||
strict_variables: '%kernel.debug%'
|
||||
exception_controller: null
|
||||
|
||||
## In Symfony 5, bootstrap_5 theme is supported. But not yet in sf4 !!
|
||||
# see sf5 https://symfony.com/doc/current/form/form_themes.html
|
||||
# see sf4 https://symfony.com/doc/4.4/form/form_themes.html
|
||||
#
|
||||
# While waiting for the upgrade, we get the form theme file
|
||||
# (https://github.com/symfony/symfony/tree/5.4/src/Symfony/Bridge/Twig/Resources/views/Form),
|
||||
# put it in ChillMainBundle/Resources/views/Form/bootstrap5/
|
||||
# and adapt it lightly.
|
||||
#
|
||||
form_themes: ['@ChillMain/Form/bootstrap5/bootstrap_5_horizontal_layout.html.twig']
|
||||
#form_themes: ['bootstrap_5_horizontal_layout.html.twig']
|
||||
when@test:
|
||||
twig:
|
||||
strict_variables: true
|
||||
|
16
config/packages/twig_chill.yaml
Normal file
16
config/packages/twig_chill.yaml
Normal file
@@ -0,0 +1,16 @@
|
||||
twig:
|
||||
## In Symfony 5, bootstrap_5 theme is supported. But not yet in sf4 !!
|
||||
# see sf5 https://symfony.com/doc/current/form/form_themes.html
|
||||
# see sf4 https://symfony.com/doc/4.4/form/form_themes.html
|
||||
#
|
||||
# While waiting for the upgrade, we get the form theme file
|
||||
# (https://github.com/symfony/symfony/tree/5.4/src/Symfony/Bridge/Twig/Resources/views/Form),
|
||||
# put it in ChillMainBundle/Resources/views/Form/bootstrap5/
|
||||
# and adapt it lightly.
|
||||
#
|
||||
form_themes: ['@ChillMain/Form/bootstrap5/bootstrap_5_horizontal_layout.html.twig']
|
||||
|
||||
when@dev:
|
||||
twig:
|
||||
globals:
|
||||
responsive_debug: false
|
@@ -6,3 +6,8 @@ framework:
|
||||
# For instance, basic validation constraints will be inferred from Doctrine's metadata.
|
||||
#auto_mapping:
|
||||
# App\Entity\: []
|
||||
|
||||
when@test:
|
||||
framework:
|
||||
validation:
|
||||
not_compromised_password: false
|
||||
|
15
config/packages/web_profiler.yaml
Normal file
15
config/packages/web_profiler.yaml
Normal file
@@ -0,0 +1,15 @@
|
||||
when@dev:
|
||||
web_profiler:
|
||||
toolbar: true
|
||||
intercept_redirects: false
|
||||
|
||||
framework:
|
||||
profiler: { only_exceptions: false }
|
||||
|
||||
when@test:
|
||||
web_profiler:
|
||||
toolbar: false
|
||||
intercept_redirects: false
|
||||
|
||||
framework:
|
||||
profiler: { collect: false }
|
@@ -1,16 +1,18 @@
|
||||
---
|
||||
webpack_encore:
|
||||
# The path where Encore is building the assets - i.e. Encore.setOutputPath()
|
||||
output_path: '%kernel.project_dir%/public/build'
|
||||
|
||||
# If multiple builds are defined (as shown below), you can disable the default build:
|
||||
# output_path: false
|
||||
|
||||
# Set attributes that will be rendered on all script and link tags
|
||||
script_attributes:
|
||||
defer: true
|
||||
# Uncomment (also under link_attributes) if using Turbo Drive
|
||||
# https://turbo.hotwired.dev/handbook/drive#reloading-when-assets-change
|
||||
# 'data-turbo-track': reload
|
||||
# link_attributes:
|
||||
#
|
||||
# Uncomment if using Turbo Drive
|
||||
# 'data-turbo-track': reload
|
||||
|
||||
# If using Encore.enableIntegrityHashes() and need the crossorigin attribute (default: false, or use 'anonymous' or 'use-credentials')
|
||||
# crossorigin: 'anonymous'
|
||||
@@ -23,11 +25,17 @@ webpack_encore:
|
||||
|
||||
# If you have multiple builds:
|
||||
# builds:
|
||||
# pass "frontend" as the 3rg arg to the Twig functions
|
||||
# pass the build name as the 3rd argument to the Twig functions
|
||||
# {{ encore_entry_script_tags('entry1', null, 'frontend') }}
|
||||
|
||||
# frontend: '%kernel.project_dir%/public/frontend/build'
|
||||
|
||||
# Cache the entrypoints.json (rebuild Symfony's cache when entrypoints.json changes)
|
||||
# Put in config/packages/prod/webpack_encore.yaml
|
||||
# cache: true
|
||||
#when@prod:
|
||||
# webpack_encore:
|
||||
# # Cache the entrypoints.json (rebuild Symfony's cache when entrypoints.json changes)
|
||||
# # Available in version 1.2
|
||||
# cache: true
|
||||
|
||||
#when@test:
|
||||
# webpack_encore:
|
||||
# strict_mode: false
|
||||
|
@@ -1,3 +1,3 @@
|
||||
wopi:
|
||||
server: "%env(resolve:WOPI_SERVER)%"
|
||||
access_token_ttl: 0
|
||||
enable_lock: false
|
||||
|
@@ -11,6 +11,9 @@ framework:
|
||||
fr: 'Suivi'
|
||||
support_strategy: Chill\MainBundle\Workflow\RelatedEntityWorkflowSupportsStrategy
|
||||
initial_marking: 'initial'
|
||||
marking_store:
|
||||
property: step
|
||||
type: method
|
||||
places:
|
||||
initial:
|
||||
metadata:
|
5
config/preload.php
Normal file
5
config/preload.php
Normal file
@@ -0,0 +1,5 @@
|
||||
<?php
|
||||
|
||||
if (file_exists(dirname(__DIR__).'/var/cache/prod/App_KernelProdContainer.preload.php')) {
|
||||
require dirname(__DIR__).'/var/cache/prod/App_KernelProdContainer.preload.php';
|
||||
}
|
@@ -1,3 +1,3 @@
|
||||
chill_wopi_bundle:
|
||||
resource: '@ChillWopiBundle/Resources/config/routes/routes.php'
|
||||
prefix: /wopi
|
||||
prefix: /chill/wopi
|
||||
|
@@ -1,3 +0,0 @@
|
||||
_errors:
|
||||
resource: '@FrameworkBundle/Resources/config/routing/errors.xml'
|
||||
prefix: /_error
|
@@ -1,7 +0,0 @@
|
||||
web_profiler_wdt:
|
||||
resource: '@WebProfilerBundle/Resources/config/routing/wdt.xml'
|
||||
prefix: /_wdt
|
||||
|
||||
web_profiler_profiler:
|
||||
resource: '@WebProfilerBundle/Resources/config/routing/profiler.xml'
|
||||
prefix: /_profiler
|
4
config/routes/framework.yaml
Normal file
4
config/routes/framework.yaml
Normal file
@@ -0,0 +1,4 @@
|
||||
when@dev:
|
||||
_errors:
|
||||
resource: '@FrameworkBundle/Resources/config/routing/errors.xml'
|
||||
prefix: /_error
|
8
config/routes/web_profiler.yaml
Normal file
8
config/routes/web_profiler.yaml
Normal file
@@ -0,0 +1,8 @@
|
||||
when@dev:
|
||||
web_profiler_wdt:
|
||||
resource: '@WebProfilerBundle/Resources/config/routing/wdt.xml'
|
||||
prefix: /_wdt
|
||||
|
||||
web_profiler_profiler:
|
||||
resource: '@WebProfilerBundle/Resources/config/routing/profiler.xml'
|
||||
prefix: /_profiler
|
@@ -2,7 +2,7 @@
|
||||
# Files in the packages/ subdirectory configure your dependencies.
|
||||
|
||||
# Put parameters here that don't need to change on each machine where the app is deployed
|
||||
# https://symfony.com/doc/current/best_practices/configuration.html#application-related-configuration
|
||||
# https://symfony.com/doc/current/best_practices.html#use-parameters-for-application-configuration
|
||||
parameters:
|
||||
|
||||
services:
|
||||
@@ -19,13 +19,6 @@ services:
|
||||
- '../src/DependencyInjection/'
|
||||
- '../src/Entity/'
|
||||
- '../src/Kernel.php'
|
||||
- '../src/Tests/'
|
||||
|
||||
# controllers are imported separately to make sure services can be injected
|
||||
# as action arguments even if you don't extend any base controller class
|
||||
App\Controller\:
|
||||
resource: '../src/Controller/'
|
||||
tags: ['controller.service_arguments']
|
||||
|
||||
# add more service definitions when explicit configuration is needed
|
||||
# please note that last definitions always *replace* previous ones
|
||||
@@ -36,15 +29,7 @@ services:
|
||||
resource: '../src/Service/'
|
||||
|
||||
|
||||
Chill\WopiBundle\Service\Wopi\ChillWopi:
|
||||
decorates: ChampsLibres\WopiLib\Contract\Service\WopiInterface
|
||||
arguments:
|
||||
$cache: '@cache.user_data'
|
||||
|
||||
ChampsLibres\WopiLib\Service\DocumentLockManager:
|
||||
arguments:
|
||||
$cache: '@cache.user_data'
|
||||
|
||||
App\Service\Wopi\NullProofValidator:
|
||||
decorates: ChampsLibres\WopiLib\Contract\Service\ProofValidatorInterface
|
||||
|
||||
|
@@ -8,7 +8,7 @@ services:
|
||||
args:
|
||||
UID: ${PHP_FPM_USER:-1000}
|
||||
# uncomment and set your own image if needed
|
||||
image: ${IMAGE_PHP-chill_php}:${VERSION:-latest}
|
||||
image: ${IMAGE_PHP-chill_php82}:${VERSION:-latest}
|
||||
volumes:
|
||||
- .:/var/www/app
|
||||
environment:
|
||||
|
@@ -22,6 +22,14 @@ services:
|
||||
- DATABASE_URL=postgresql://postgres:postgres@db:5432/postgres?serverVersion=14&charset=utf8
|
||||
links:
|
||||
- smtp
|
||||
- dumper
|
||||
|
||||
dumper:
|
||||
image: gitea.champs-libres.be/chill-project/chill-skeleton-basic/base-image:latest
|
||||
entrypoint: ["/usr/bin/env"]
|
||||
command: ["bin/var-dump-server", "--host", "0.0.0.0:9912"]
|
||||
volumes:
|
||||
- .:/var/www/app
|
||||
|
||||
nginx:
|
||||
volumes:
|
||||
@@ -97,5 +105,5 @@ services:
|
||||
# volumes:
|
||||
# - "./docker/pgadmin4/servers.json:/pgadmin4/servers.json:ro"
|
||||
#
|
||||
|
||||
|
||||
|
||||
|
@@ -10,7 +10,7 @@ services:
|
||||
args:
|
||||
UID: ${PHP_FPM_USER:-1000}
|
||||
# uncomment and set your own image if needed
|
||||
image: ${IMAGE_PHP-chill_php}:${VERSION:-latest}
|
||||
image: ${IMAGE_PHP-chill_php82}:${VERSION:-latest}
|
||||
#
|
||||
# normally, you should not mount any volume and use your own image
|
||||
#
|
||||
|
@@ -8,7 +8,7 @@ services:
|
||||
args:
|
||||
UID: ${PHP_FPM_USER:-1000}
|
||||
# uncomment and set your own image if needed
|
||||
image: ${IMAGE_PHP:-chill_php}:${VERSION:-latest}
|
||||
image: ${IMAGE_PHP:-chill_php82}:${VERSION:-latest}
|
||||
volumes:
|
||||
- .:/var/www/app
|
||||
environment:
|
||||
|
@@ -18,4 +18,4 @@ docker run \
|
||||
--volume ${PWD}:/app \
|
||||
--workdir /app \
|
||||
--env YARN_CACHE_FOLDER=/app/.yarncache \
|
||||
node:14 ${cmd}
|
||||
node:20 ${cmd}
|
||||
|
@@ -6,13 +6,13 @@ set -e
|
||||
# waiting for the database to be ready
|
||||
if [ -z "${DATABASE_HOST}" ]; then
|
||||
while ! timeout 1 bash -c "cat < /dev/null > /dev/tcp/${DATABASE_HOST}/${DATABASE_PORT}"
|
||||
do
|
||||
echo "$(date) : waiting one second for database";
|
||||
sleep 1;
|
||||
do
|
||||
echo "$(date) : waiting one second for database";
|
||||
sleep 1;
|
||||
done
|
||||
|
||||
echo "$(date) : the database is ready";
|
||||
else
|
||||
else
|
||||
echo "we assume the database is ready";
|
||||
fi
|
||||
|
||||
@@ -36,8 +36,14 @@ fi
|
||||
if [ "${APP_ENV}" = "prod" ]; then
|
||||
composer dump-env "${APP_ENV}"
|
||||
chmod +r /var/www/app/.env.local.php
|
||||
fi
|
||||
|
||||
if [ "${PREVENT_MIGRATIONS}" != "true" ]; then
|
||||
php /var/www/app/bin/console doctrine:migrations:status
|
||||
php /var/www/app/bin/console doctrine:migrations:migrate -n
|
||||
php /var/www/app/bin/console messenger:setup-transports
|
||||
php /var/www/app/bin/console chill:db:sync-views
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "${CLEAR_CACHE}" != "false" ]; then
|
||||
#prepare cache
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user