forked from Chill-project/chill-skeleton-basic
Compare commits
109 Commits
202212.23.
...
1.10.0
Author | SHA1 | Date | |
---|---|---|---|
3643283cd0 | |||
|
4a386488d6 | ||
18993e740c | |||
6c460d66b1 | |||
|
4cf77335ab | ||
0df0bbe7af | |||
2c88187d3f | |||
|
971d0fa9c9 | ||
93bcc246e9 | |||
2c6fb97f31 | |||
|
c58443dd72 | ||
b6c17f62d0 | |||
7712d146c7 | |||
8a83372e2f | |||
883725af10 | |||
|
7faee98294 | ||
96e0c4c97e | |||
921726ec75 | |||
61a77cc1de | |||
|
0c65d3d681 | ||
9c125c6af6 | |||
e701b75f1e
|
|||
6c0caef3d5
|
|||
103282e44b
|
|||
dd591628a8
|
|||
656d27080b
|
|||
8d1693285d
|
|||
818b4c36a3
|
|||
0fb57fcdd8 | |||
|
c8d89e2a1d | ||
d142fbe471 | |||
deadabefa1 | |||
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
|
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.10.0.md
Normal file
3
.changes/v1.10.0.md
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
## v1.10.0 - 2024-07-03
|
||||||
|
### Release
|
||||||
|
* Update dependencies. Chill-bundles upgraded from 2.18.2 to 2.22.1
|
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
|
3
.changes/v1.8.0.md
Normal file
3
.changes/v1.8.0.md
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
## v1.8.0 - 2024-02-21
|
||||||
|
### Release
|
||||||
|
* Update dependencies. Chill-bundles upgraded from 2.16.1 to 2.16.2
|
4
.changes/v1.9.0.md
Normal file
4
.changes/v1.9.0.md
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
## v1.9.0 - 2024-04-17
|
||||||
|
### Release
|
||||||
|
* Update chill bundles version to 2.18.2
|
||||||
|
* Update dependencies. Chill-bundles upgraded from 2.16.2 to 2.18.2
|
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
|
registry: h3m6q87t.gra7.container-registry.ovh.net
|
||||||
repo: h3m6q87t.gra7.container-registry.ovh.net/chillbasics/php-base
|
repo: h3m6q87t.gra7.container-registry.ovh.net/chillbasics/php-base
|
||||||
tag: latest
|
tag: latest
|
||||||
target: chill_base_php
|
target: chill_base_php82
|
||||||
pull_image: true
|
pull_image: true
|
||||||
cache_from:
|
cache_from:
|
||||||
- h3m6q87t.gra7.container-registry.ovh.net/chillbasics/php-base:latest
|
- h3m6q87t.gra7.container-registry.ovh.net/chillbasics/php-base:latest
|
||||||
@@ -33,13 +33,18 @@ steps:
|
|||||||
commands:
|
commands:
|
||||||
- composer install --no-scripts --no-interaction
|
- composer install --no-scripts --no-interaction
|
||||||
- composer update --with-all-dependencies --no-interaction chill-project/chill-bundles
|
- composer update --with-all-dependencies --no-interaction chill-project/chill-bundles
|
||||||
|
depends_on:
|
||||||
|
- build-base-image
|
||||||
|
|
||||||
- name: build-assets
|
- name: build-assets
|
||||||
image: node:14
|
image: node:20
|
||||||
pull: always
|
pull: always
|
||||||
commands:
|
commands:
|
||||||
- yarn install
|
- yarn install
|
||||||
|
- yarn list
|
||||||
- yarn run encore production
|
- yarn run encore production
|
||||||
|
depends_on:
|
||||||
|
- composer-install
|
||||||
|
|
||||||
- name: build-image-php
|
- name: build-image-php
|
||||||
image: plugins/docker
|
image: plugins/docker
|
||||||
@@ -56,6 +61,9 @@ steps:
|
|||||||
cache_from:
|
cache_from:
|
||||||
- h3m6q87t.gra7.container-registry.ovh.net/chillbasics/php-base:latest
|
- h3m6q87t.gra7.container-registry.ovh.net/chillbasics/php-base:latest
|
||||||
- chill/base-image:latest
|
- chill/base-image:latest
|
||||||
|
depends_on:
|
||||||
|
- build-assets
|
||||||
|
- composer-install
|
||||||
|
|
||||||
- name: build-image-nginx
|
- name: build-image-nginx
|
||||||
image: plugins/docker
|
image: plugins/docker
|
||||||
@@ -70,3 +78,40 @@ steps:
|
|||||||
tag:
|
tag:
|
||||||
- ${DRONE_TAG}
|
- ${DRONE_TAG}
|
||||||
Dockerfile: docker/nginx/Dockerfile
|
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
|
||||||
|
|
||||||
|
...
|
||||||
|
36
.env
36
.env
@@ -3,18 +3,16 @@
|
|||||||
## `$ composer symfony:dump-env prod`
|
## `$ composer symfony:dump-env prod`
|
||||||
##
|
##
|
||||||
|
|
||||||
## Project environment
|
|
||||||
# this should be set in docker-compose.yml file
|
|
||||||
# APP_ENV=prod
|
|
||||||
|
|
||||||
## Enable debug
|
|
||||||
APP_DEBUG=false
|
|
||||||
|
|
||||||
## Locale
|
## Locale
|
||||||
LOCALE=fr
|
LOCALE=fr
|
||||||
|
|
||||||
## Framework secret
|
###> symfony/framework-bundle ###
|
||||||
APP_SECRET=ThisTokenIsNotSoSecretChangeIt
|
# 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 for editing documents online
|
||||||
WOPI_SERVER=http://collabora:9980
|
WOPI_SERVER=http://collabora:9980
|
||||||
@@ -22,13 +20,6 @@ WOPI_SERVER=http://collabora:9980
|
|||||||
# must be manually set in .env.local
|
# must be manually set in .env.local
|
||||||
# ADMIN_PASSWORD=
|
# ADMIN_PASSWORD=
|
||||||
|
|
||||||
## Symfony/framework-bundle
|
|
||||||
TRUSTED_HOSTS='^(localhost|127.0.0.1|test.localde)$'
|
|
||||||
TRUSTED_PROXIES=~
|
|
||||||
|
|
||||||
## Doctrine/doctrine-bundle
|
|
||||||
DATABASE_URL=
|
|
||||||
|
|
||||||
## Symfony/swiftmailer
|
## Symfony/swiftmailer
|
||||||
## Mailer
|
## Mailer
|
||||||
###> symfony/mailer ###
|
###> symfony/mailer ###
|
||||||
@@ -83,3 +74,16 @@ SHORT_MESSAGE_DSN=null://null
|
|||||||
# MESSENGER_TRANSPORT_DSN=redis://localhost:6379/messages
|
# MESSENGER_TRANSPORT_DSN=redis://localhost:6379/messages
|
||||||
MESSENGER_TRANSPORT_DSN=sync://
|
MESSENGER_TRANSPORT_DSN=sync://
|
||||||
###< symfony/messenger ###
|
###< 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 ###
|
||||||
|
2
.env.dev
2
.env.dev
@@ -11,3 +11,5 @@ MAILER_URL=smtp://smtp:1025
|
|||||||
PGADMIN_DEFAULT_EMAIL=admin@chill.social
|
PGADMIN_DEFAULT_EMAIL=admin@chill.social
|
||||||
PGADMIN_DEFAULT_PASSWORD=password
|
PGADMIN_DEFAULT_PASSWORD=password
|
||||||
|
|
||||||
|
## Phpstorm IDE project path
|
||||||
|
PROJECT_DIR=
|
||||||
|
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
|
8
.gitignore
vendored
8
.gitignore
vendored
@@ -9,6 +9,7 @@ config/secrets/
|
|||||||
|
|
||||||
## env files
|
## env files
|
||||||
.env.local
|
.env.local
|
||||||
|
.env.dev.local
|
||||||
|
|
||||||
.composer/*
|
.composer/*
|
||||||
composer.phar
|
composer.phar
|
||||||
@@ -49,17 +50,18 @@ phpunit.xml
|
|||||||
nbproject/*
|
nbproject/*
|
||||||
|
|
||||||
.idea
|
.idea
|
||||||
|
.ignore
|
||||||
|
|
||||||
### template/api/specs.yaml should be compiled
|
### template/api/specs.yaml should be compiled
|
||||||
templates/api/specs.yaml
|
templates/api/specs.yaml
|
||||||
|
|
||||||
|
|
||||||
###> symfony/webpack-encore-bundle ###
|
###> symfony/webpack-encore-bundle ###
|
||||||
/node_modules/
|
/node_modules/
|
||||||
/public/build/
|
/public/build/
|
||||||
npm-debug.log
|
npm-debug.log
|
||||||
yarn-error.log
|
yarn-error.log
|
||||||
###< symfony/webpack-encore-bundle ###
|
###< symfony/webpack-encore-bundle ###
|
||||||
|
|
||||||
###> symfony/phpunit-bridge ###
|
###> symfony/phpunit-bridge ###
|
||||||
.phpunit
|
.phpunit
|
||||||
.phpunit.result.cache
|
.phpunit.result.cache
|
||||||
@@ -75,3 +77,7 @@ yarn-error.log
|
|||||||
|
|
||||||
docker-compose.override.yml
|
docker-compose.override.yml
|
||||||
docker-compose.override.yaml
|
docker-compose.override.yaml
|
||||||
|
|
||||||
|
###> lexik/jwt-authentication-bundle ###
|
||||||
|
/config/jwt/*.pem
|
||||||
|
###< lexik/jwt-authentication-bundle ###
|
||||||
|
71
CHANGELOG.md
71
CHANGELOG.md
@@ -1,12 +1,73 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
All notable changes to this project will be documented in this file.
|
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/),
|
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.10.0 - 2024-07-03
|
||||||
|
### Release
|
||||||
|
* Update dependencies. Chill-bundles upgraded from 2.18.2 to 2.22.1
|
||||||
|
|
||||||
|
## v1.9.0 - 2024-04-17
|
||||||
|
### Release
|
||||||
|
* Update chill bundles version to 2.18.2
|
||||||
|
* Update dependencies. Chill-bundles upgraded from 2.16.2 to 2.18.2
|
||||||
|
|
||||||
|
## v1.8.0 - 2024-02-21
|
||||||
|
### Release
|
||||||
|
* Update dependencies. Chill-bundles upgraded from 2.16.1 to 2.16.2
|
||||||
|
|
||||||
|
## 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
|
||||||
|
62
Dockerfile
62
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
|
ENV POSTGRES_VERSION 14
|
||||||
|
|
||||||
@@ -6,27 +6,31 @@ ENV POSTGRES_VERSION 14
|
|||||||
ARG UID=1000
|
ARG UID=1000
|
||||||
ARG GID=1000
|
ARG GID=1000
|
||||||
|
|
||||||
RUN apt update && apt -y --no-install-recommends install wget gnupg \
|
# install php extensions and deps
|
||||||
&& wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add - \
|
RUN apk update && apk add --no-cache \
|
||||||
&& echo "deb http://apt.postgresql.org/pub/repos/apt/ buster-pgdg main" > /etc/apt/sources.list.d/pgdg.list \
|
wget gnupg \
|
||||||
&& apt update && apt -y --no-install-recommends install \
|
libpq-dev \
|
||||||
libicu-dev \
|
icu-dev icu-libs icu-data-full \
|
||||||
g++ \
|
oniguruma-dev \
|
||||||
postgresql-server-dev-$POSTGRES_VERSION \
|
libzip libzip-dev \
|
||||||
libzip-dev libzip4 unzip \
|
linux-headers \
|
||||||
libfreetype6-dev \
|
gcc g++ make autoconf \
|
||||||
libonig-dev `# install oniguruma, required for mbstring` \
|
bash git \
|
||||||
libpng-dev \
|
&& docker-php-ext-install pdo_pgsql intl mbstring zip bcmath exif sockets \
|
||||||
libjpeg62-turbo-dev \
|
&& git clone https://github.com/nikic/php-ast.git \
|
||||||
git \
|
&& cd php-ast \
|
||||||
&& docker-php-ext-configure gd --with-freetype --with-jpeg \
|
&& phpize \
|
||||||
&& docker-php-ext-install -j$(nproc) gd \
|
&& ./configure \
|
||||||
&& docker-php-ext-install intl pdo_pgsql mbstring zip bcmath sockets exif \
|
&& make install \
|
||||||
|
&& echo 'extension=ast.so' > /usr/local/etc/php/php.ini \
|
||||||
|
&& cd .. && rm -rf php-ast \
|
||||||
&& pecl install redis \
|
&& pecl install redis \
|
||||||
&& docker-php-ext-enable redis \
|
&& docker-php-ext-enable redis \
|
||||||
&& apt remove -y wget libicu-dev g++ gnupg libzip-dev \
|
&& apk add libpng-dev libjpeg-turbo-dev freetype-dev \
|
||||||
&& apt autoremove -y \
|
&& docker-php-ext-configure gd --with-freetype --with-jpeg \
|
||||||
&& apt purge -y
|
&& 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 { \
|
RUN { \
|
||||||
echo ""; \
|
echo ""; \
|
||||||
@@ -41,15 +45,31 @@ RUN { \
|
|||||||
echo ""; \
|
echo ""; \
|
||||||
} >> /usr/local/etc/php/conf.d/date.ini
|
} >> /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
|
COPY --from=composer:2 /usr/bin/composer /usr/bin/composer
|
||||||
ENV COMPOSER_ALLOW_SUPERUSER=1
|
ENV COMPOSER_ALLOW_SUPERUSER=1
|
||||||
ENV COMPOSER_MEMORY_LIMIT=-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
|
WORKDIR /var/www/app
|
||||||
|
|
||||||
CMD ["php-fpm"]
|
CMD ["php-fpm"]
|
||||||
|
|
||||||
FROM chill_base_php AS chill_php
|
FROM chill_base_php82 AS chill_php82
|
||||||
|
|
||||||
# copy directories
|
# copy directories
|
||||||
|
|
||||||
|
12
Makefile
12
Makefile
@@ -2,12 +2,12 @@ THIS_FILE := $(lastword $(MAKEFILE_LIST))
|
|||||||
PWD:=$(shell echo ${PWD})
|
PWD:=$(shell echo ${PWD})
|
||||||
UID:=$(shell id -u)
|
UID:=$(shell id -u)
|
||||||
GID:=$(shell id -g)
|
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:20
|
||||||
DOCKERNODE_CMD=docker run --rm --user ${UID}:${GID} -v ${PWD}:/app --workdir /app -e YARN_CACHE_FOLDER=/app/.yarncache node:16
|
|
||||||
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_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 $(BASE_TAG)
|
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:7.4-fpm-buster
|
PHP_BASE_IMAGE=php:8.2-fpm-alpine
|
||||||
PHP_BASE_IMAGE_CHILL=chill_base_php
|
PHP_BASE_IMAGE_TARGET=chill_base_php82
|
||||||
|
PHP_BASE_IMAGE_TAG=chill_php82
|
||||||
NGINX_BASE_IMAGE=nginx
|
NGINX_BASE_IMAGE=nginx
|
||||||
CALVER=$(shell date "+v%Y%m%d%H%M")-${CALVERSION}
|
CALVER=$(shell date "+v%Y%m%d%H%M")-${CALVERSION}
|
||||||
ifneq (,$(wildcard ./.env))
|
ifneq (,$(wildcard ./.env))
|
||||||
@@ -39,7 +39,7 @@ build-assets:
|
|||||||
$(DOCKERNODE_CMD) yarn run encore production
|
$(DOCKERNODE_CMD) yarn run encore production
|
||||||
|
|
||||||
init:
|
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
|
$(DOCKER_PHP_EXEC_CMD_BASE) composer update --no-scripts --no-interaction
|
||||||
@$(MAKE) -f $(THIS_FILE) build-assets
|
@$(MAKE) -f $(THIS_FILE) build-assets
|
||||||
@$(MAKE) -f $(THIS_FILE) post-install
|
@$(MAKE) -f $(THIS_FILE) post-install
|
||||||
|
@@ -15,7 +15,7 @@
|
|||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"ext-redis": "*",
|
"ext-redis": "*",
|
||||||
"chill-project/chill-bundles": "dev-master#351df930a1274ee4f308b7f898f2d7485c9659f3",
|
"chill-project/chill-bundles": "2.22.1",
|
||||||
"symfony/flex": "^1.9",
|
"symfony/flex": "^1.9",
|
||||||
"symfony/http-client": "^4.4 || ^5",
|
"symfony/http-client": "^4.4 || ^5",
|
||||||
"nelmio/alice": "^3.8",
|
"nelmio/alice": "^3.8",
|
||||||
@@ -36,8 +36,7 @@
|
|||||||
"symfony/web-profiler-bundle": "^5.0",
|
"symfony/web-profiler-bundle": "^5.0",
|
||||||
"symfony/var-dumper": "4.*",
|
"symfony/var-dumper": "4.*",
|
||||||
"symfony/phpunit-bridge": "^5.2",
|
"symfony/phpunit-bridge": "^5.2",
|
||||||
"symfony/debug-bundle": "^5.1",
|
"symfony/debug-bundle": "^5.1"
|
||||||
"box/spout": "^3.3"
|
|
||||||
},
|
},
|
||||||
"minimum-stability": "dev",
|
"minimum-stability": "dev",
|
||||||
"prefer-stable": true,
|
"prefer-stable": true,
|
||||||
@@ -54,11 +53,14 @@
|
|||||||
"bin-dir": "bin",
|
"bin-dir": "bin",
|
||||||
"allow-plugins": {
|
"allow-plugins": {
|
||||||
"ocramius/package-versions": true,
|
"ocramius/package-versions": true,
|
||||||
"symfony/flex": true
|
"symfony/flex": true,
|
||||||
|
"symfony/runtime": true
|
||||||
},
|
},
|
||||||
"preferred-install": {
|
"preferred-install": {
|
||||||
"chill-project/chill-bundles": "source",
|
"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"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
3776
composer.lock
generated
3776
composer.lock
generated
File diff suppressed because it is too large
Load Diff
@@ -13,7 +13,6 @@ return [
|
|||||||
Doctrine\Bundle\FixturesBundle\DoctrineFixturesBundle::class => ['dev' => true, 'test' => true],
|
Doctrine\Bundle\FixturesBundle\DoctrineFixturesBundle::class => ['dev' => true, 'test' => true],
|
||||||
Symfony\Bundle\WebProfilerBundle\WebProfilerBundle::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\DebugBundle\DebugBundle::class => ['dev' => true, 'test' => true],
|
||||||
Symfony\Bundle\SwiftmailerBundle\SwiftmailerBundle::class => ['all' => true],
|
|
||||||
Knp\Bundle\MenuBundle\KnpMenuBundle::class => ['all' => true],
|
Knp\Bundle\MenuBundle\KnpMenuBundle::class => ['all' => true],
|
||||||
Knp\Bundle\TimeBundle\KnpTimeBundle::class => ['all' => true],
|
Knp\Bundle\TimeBundle\KnpTimeBundle::class => ['all' => true],
|
||||||
ChampsLibres\AsyncUploaderBundle\ChampsLibresAsyncUploaderBundle::class => ['all' => true],
|
ChampsLibres\AsyncUploaderBundle\ChampsLibresAsyncUploaderBundle::class => ['all' => true],
|
||||||
@@ -36,4 +35,6 @@ return [
|
|||||||
Misd\PhoneNumberBundle\MisdPhoneNumberBundle::class => ['all' => true],
|
Misd\PhoneNumberBundle\MisdPhoneNumberBundle::class => ['all' => true],
|
||||||
App\App::class => ['all' => true],
|
App\App::class => ['all' => true],
|
||||||
KnpU\OAuth2ClientBundle\KnpUOAuth2ClientBundle::class => ['all' => true],
|
KnpU\OAuth2ClientBundle\KnpUOAuth2ClientBundle::class => ['all' => true],
|
||||||
|
Lexik\Bundle\JWTAuthenticationBundle\LexikJWTAuthenticationBundle::class => ['all' => true],
|
||||||
|
Chill\EventBundle\ChillEventBundle::class => ['all' => true],
|
||||||
];
|
];
|
||||||
|
@@ -21,11 +21,11 @@ chill_main:
|
|||||||
access_user_change_password: true
|
access_user_change_password: true
|
||||||
access_permissions_group_list: true
|
access_permissions_group_list: true
|
||||||
add_address:
|
add_address:
|
||||||
default_country: '%env(string:ADD_ADDRESS_DEFAULT_COUNTRY)'
|
default_country: '%env(string:ADD_ADDRESS_DEFAULT_COUNTRY)%'
|
||||||
map_center:
|
map_center:
|
||||||
x: '%env(float:ADD_ADDRESS_MAP_CENTER_X)'
|
x: '%env(float:ADD_ADDRESS_MAP_CENTER_X)%'
|
||||||
y: '%env(float:ADD_ADDRESS_MAP_CENTER_y)'
|
y: '%env(float:ADD_ADDRESS_MAP_CENTER_Y)%'
|
||||||
z: '%env(float:ADD_ADDRESS_MAP_CENTER_Z)'
|
z: '%env(float:ADD_ADDRESS_MAP_CENTER_Z)%'
|
||||||
|
|
||||||
chill_custom_fields:
|
chill_custom_fields:
|
||||||
show_empty_values_in_views: false
|
show_empty_values_in_views: false
|
||||||
|
@@ -56,7 +56,6 @@ chill_budget:
|
|||||||
- { key: mutuelle, labels: [{lang: fr, label: "Mutuelle"}]}
|
- { key: mutuelle, labels: [{lang: fr, label: "Mutuelle"}]}
|
||||||
- { key: transport, labels: [{lang: fr, label: "Frais de transport"}]}
|
- { key: transport, labels: [{lang: fr, label: "Frais de transport"}]}
|
||||||
- { key: decouvbank, labels: [{lang: fr, label: "Découvert bancaire utilisé"}]}
|
- { 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: procsaisie, labels: [{lang: fr, label: "Procédure de saisie"}]}
|
||||||
- { key: indus, labels: [{lang: fr, label: "Indus"}]}
|
- { key: indus, labels: [{lang: fr, label: "Indus"}]}
|
||||||
- { key: apurement, labels: [{lang: fr, label: "Plan d'apurement"}]}
|
- { 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_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_garbage, labels: [{lang: fr, label: "Dette de taxe d’ordures ménagère"}]}
|
||||||
- { key: debt_other, labels: [{lang: fr, label: "Dette autre"}]}
|
- { key: debt_other, labels: [{lang: fr, label: "Dette autre"}]}
|
||||||
- { key: credit, labels: [{lang: fr, label: "Crédit"}]}
|
|
||||||
- { key: autre, labels: [{lang: fr, label: "Autre"}]}
|
- { key: autre, labels: [{lang: fr, label: "Autre"}]}
|
||||||
|
|
||||||
|
@@ -3,3 +3,10 @@ framework:
|
|||||||
# allow to debug from ngrok, useful for webhooks coming from outside:
|
# allow to debug from ngrok, useful for webhooks coming from outside:
|
||||||
- '^(.+\.)?ngrok\.io$'
|
- '^(.+\.)?ngrok\.io$'
|
||||||
- 'nginx'
|
- '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,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 +1,10 @@
|
|||||||
|
framework:
|
||||||
|
cache:
|
||||||
|
pools:
|
||||||
|
doctrine.system_cache_pool:
|
||||||
|
adapter: cache.adapter.redis
|
||||||
|
|
||||||
|
|
||||||
doctrine:
|
doctrine:
|
||||||
dbal:
|
dbal:
|
||||||
url: '%env(resolve:DATABASE_URL)%'
|
url: '%env(resolve:DATABASE_URL)%'
|
||||||
@@ -5,7 +12,7 @@ doctrine:
|
|||||||
geometry: string
|
geometry: string
|
||||||
# IMPORTANT: You MUST configure your server version,
|
# IMPORTANT: You MUST configure your server version,
|
||||||
# either here or in the DATABASE_URL env var (see .env file)
|
# either here or in the DATABASE_URL env var (see .env file)
|
||||||
#server_version: '5.7'
|
#server_version: '14'
|
||||||
orm:
|
orm:
|
||||||
auto_generate_proxy_classes: true
|
auto_generate_proxy_classes: true
|
||||||
naming_strategy: doctrine.orm.naming_strategy.default
|
naming_strategy: doctrine.orm.naming_strategy.default
|
||||||
|
@@ -7,7 +7,7 @@ doctrine_migrations:
|
|||||||
'Chill\Migrations\Activity': '@ChillActivityBundle/migrations'
|
'Chill\Migrations\Activity': '@ChillActivityBundle/migrations'
|
||||||
'Chill\Migrations\DocStore': '@ChillDocStoreBundle/migrations'
|
'Chill\Migrations\DocStore': '@ChillDocStoreBundle/migrations'
|
||||||
'Chill\Migrations\CustomFields': '@ChillCustomFieldsBundle/migrations'
|
'Chill\Migrations\CustomFields': '@ChillCustomFieldsBundle/migrations'
|
||||||
# 'Chill\Migrations\Event': '@ChillEventBundle/migrations'
|
'Chill\Migrations\Event': '@ChillEventBundle/migrations'
|
||||||
'Chill\Migrations\Person': '@ChillPersonBundle/migrations'
|
'Chill\Migrations\Person': '@ChillPersonBundle/migrations'
|
||||||
'Chill\Migrations\Task': '@ChillTaskBundle/migrations'
|
'Chill\Migrations\Task': '@ChillTaskBundle/migrations'
|
||||||
'Chill\Migrations\ThirdParty': '@ChillThirdPartyBundle/migrations'
|
'Chill\Migrations\ThirdParty': '@ChillThirdPartyBundle/migrations'
|
||||||
|
@@ -33,6 +33,3 @@ framework:
|
|||||||
## sf4 check: ou à déplacer dans un chill.yaml
|
## sf4 check: ou à déplacer dans un chill.yaml
|
||||||
assets:
|
assets:
|
||||||
json_manifest_path: '%kernel.project_dir%/public/build/manifest.json'
|
json_manifest_path: '%kernel.project_dir%/public/build/manifest.json'
|
||||||
|
|
||||||
templating:
|
|
||||||
engines: ['twig']
|
|
||||||
|
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
|
@@ -9,6 +9,8 @@ framework:
|
|||||||
transports:
|
transports:
|
||||||
# https://symfony.com/doc/current/messenger.html#transport-configuration
|
# https://symfony.com/doc/current/messenger.html#transport-configuration
|
||||||
async: '%env(MESSENGER_TRANSPORT_DSN)%'
|
async: '%env(MESSENGER_TRANSPORT_DSN)%'
|
||||||
|
priority:
|
||||||
|
dsn: '%env(MESSENGER_TRANSPORT_DSN)%'
|
||||||
failed: 'doctrine://default?queue_name=failed'
|
failed: 'doctrine://default?queue_name=failed'
|
||||||
# sync: 'sync://'
|
# sync: 'sync://'
|
||||||
|
|
||||||
@@ -22,3 +24,4 @@ framework:
|
|||||||
'Chill\CalendarBundle\Messenger\Message\InviteUpdateMessage': async
|
'Chill\CalendarBundle\Messenger\Message\InviteUpdateMessage': async
|
||||||
'Chill\CalendarBundle\Messenger\Message\MSGraphChangeNotificationMessage': async
|
'Chill\CalendarBundle\Messenger\Message\MSGraphChangeNotificationMessage': async
|
||||||
'Chill\MainBundle\Service\ShortMessage\ShortMessage': async
|
'Chill\MainBundle\Service\ShortMessage\ShortMessage': async
|
||||||
|
'Chill\DocGeneratorBundle\Service\Messenger\RequestGenerationMessage': priority
|
||||||
|
@@ -1,9 +1,6 @@
|
|||||||
doctrine:
|
doctrine:
|
||||||
orm:
|
orm:
|
||||||
auto_generate_proxy_classes: false
|
auto_generate_proxy_classes: false
|
||||||
metadata_cache_driver:
|
|
||||||
type: pool
|
|
||||||
pool: doctrine.system_cache_pool
|
|
||||||
query_cache_driver:
|
query_cache_driver:
|
||||||
type: pool
|
type: pool
|
||||||
pool: doctrine.system_cache_pool
|
pool: doctrine.system_cache_pool
|
||||||
|
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)%'
|
@@ -29,6 +29,14 @@ security:
|
|||||||
pattern: ^/(_(profiler|wdt)|css|images|js)/
|
pattern: ^/(_(profiler|wdt)|css|images|js)/
|
||||||
security: false
|
security: false
|
||||||
|
|
||||||
|
wopi:
|
||||||
|
pattern: ^/wopi
|
||||||
|
provider: chain_provider
|
||||||
|
stateless: true
|
||||||
|
guard:
|
||||||
|
authenticators:
|
||||||
|
- lexik_jwt_authentication.jwt_token_authenticator
|
||||||
|
|
||||||
default:
|
default:
|
||||||
anonymous: ~
|
anonymous: ~
|
||||||
provider: chain_provider
|
provider: chain_provider
|
||||||
@@ -54,7 +62,7 @@ security:
|
|||||||
- { path: ^/saml/metadata, roles: IS_AUTHENTICATED_ANONYMOUSLY }
|
- { path: ^/saml/metadata, roles: IS_AUTHENTICATED_ANONYMOUSLY }
|
||||||
- { path: ^/(login|logout), roles: IS_AUTHENTICATED_ANONYMOUSLY }
|
- { path: ^/(login|logout), roles: IS_AUTHENTICATED_ANONYMOUSLY }
|
||||||
- { path: ^/public, roles: IS_AUTHENTICATED_ANONYMOUSLY }
|
- { path: ^/public, roles: IS_AUTHENTICATED_ANONYMOUSLY }
|
||||||
- { path: ^/wopi, roles: IS_AUTHENTICATED_ANONYMOUSLY }
|
- { path: ^/wopi, roles: IS_AUTHENTICATED_FULLY }
|
||||||
# access for homepage, the homepage redirect admin to admin section
|
# access for homepage, the homepage redirect admin to admin section
|
||||||
- { path: ^/$, roles: [ IS_AUTHENTICATED_REMEMBERED ] }
|
- { path: ^/$, roles: [ IS_AUTHENTICATED_REMEMBERED ] }
|
||||||
- { path: ^/homepage$, roles: [ IS_AUTHENTICATED_REMEMBERED ] }
|
- { path: ^/homepage$, roles: [ IS_AUTHENTICATED_REMEMBERED ] }
|
||||||
|
@@ -1,3 +0,0 @@
|
|||||||
swiftmailer:
|
|
||||||
url: '%env(MAILER_URL)%'
|
|
||||||
spool: { type: 'memory' }
|
|
4
config/packages/test/doctrine.yaml
Normal file
4
config/packages/test/doctrine.yaml
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
doctrine:
|
||||||
|
dbal:
|
||||||
|
# "TEST_TOKEN" is typically set by ParaTest
|
||||||
|
dbname: 'main_test%env(default::TEST_TOKEN)%'
|
@@ -1,2 +0,0 @@
|
|||||||
swiftmailer:
|
|
||||||
disable_delivery: true
|
|
@@ -1,3 +1,3 @@
|
|||||||
wopi:
|
wopi:
|
||||||
server: "%env(resolve:WOPI_SERVER)%"
|
server: "%env(resolve:WOPI_SERVER)%"
|
||||||
access_token_ttl: 0
|
enable_lock: false
|
||||||
|
9
config/preload.php
Normal file
9
config/preload.php
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
if (file_exists(dirname(__DIR__).'/var/cache/prod/srcApp_KernelProdContainer.preload.php')) {
|
||||||
|
require dirname(__DIR__).'/var/cache/prod/srcApp_KernelProdContainer.preload.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:
|
chill_wopi_bundle:
|
||||||
resource: '@ChillWopiBundle/Resources/config/routes/routes.php'
|
resource: '@ChillWopiBundle/Resources/config/routes/routes.php'
|
||||||
prefix: /wopi
|
prefix: /chill/wopi
|
||||||
|
@@ -19,7 +19,6 @@ services:
|
|||||||
- '../src/DependencyInjection/'
|
- '../src/DependencyInjection/'
|
||||||
- '../src/Entity/'
|
- '../src/Entity/'
|
||||||
- '../src/Kernel.php'
|
- '../src/Kernel.php'
|
||||||
- '../src/Tests/'
|
|
||||||
|
|
||||||
# controllers are imported separately to make sure services can be injected
|
# controllers are imported separately to make sure services can be injected
|
||||||
# as action arguments even if you don't extend any base controller class
|
# as action arguments even if you don't extend any base controller class
|
||||||
@@ -36,15 +35,7 @@ services:
|
|||||||
resource: '../src/Service/'
|
resource: '../src/Service/'
|
||||||
|
|
||||||
|
|
||||||
Chill\WopiBundle\Service\Wopi\ChillWopi:
|
|
||||||
decorates: ChampsLibres\WopiLib\Contract\Service\WopiInterface
|
|
||||||
arguments:
|
|
||||||
$cache: '@cache.user_data'
|
|
||||||
|
|
||||||
ChampsLibres\WopiLib\Service\DocumentLockManager:
|
ChampsLibres\WopiLib\Service\DocumentLockManager:
|
||||||
arguments:
|
arguments:
|
||||||
$cache: '@cache.user_data'
|
$cache: '@cache.user_data'
|
||||||
|
|
||||||
App\Service\Wopi\NullProofValidator:
|
|
||||||
decorates: ChampsLibres\WopiLib\Contract\Service\ProofValidatorInterface
|
|
||||||
|
|
||||||
|
@@ -8,7 +8,7 @@ services:
|
|||||||
args:
|
args:
|
||||||
UID: ${PHP_FPM_USER:-1000}
|
UID: ${PHP_FPM_USER:-1000}
|
||||||
# uncomment and set your own image if needed
|
# uncomment and set your own image if needed
|
||||||
image: ${IMAGE_PHP-chill_php}:${VERSION:-latest}
|
image: ${IMAGE_PHP-chill_php82}:${VERSION:-latest}
|
||||||
volumes:
|
volumes:
|
||||||
- .:/var/www/app
|
- .:/var/www/app
|
||||||
environment:
|
environment:
|
||||||
|
@@ -10,7 +10,7 @@ services:
|
|||||||
args:
|
args:
|
||||||
UID: ${PHP_FPM_USER:-1000}
|
UID: ${PHP_FPM_USER:-1000}
|
||||||
# uncomment and set your own image if needed
|
# 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
|
# normally, you should not mount any volume and use your own image
|
||||||
#
|
#
|
||||||
|
@@ -8,7 +8,7 @@ services:
|
|||||||
args:
|
args:
|
||||||
UID: ${PHP_FPM_USER:-1000}
|
UID: ${PHP_FPM_USER:-1000}
|
||||||
# uncomment and set your own image if needed
|
# uncomment and set your own image if needed
|
||||||
image: ${IMAGE_PHP:-chill_php}:${VERSION:-latest}
|
image: ${IMAGE_PHP:-chill_php82}:${VERSION:-latest}
|
||||||
volumes:
|
volumes:
|
||||||
- .:/var/www/app
|
- .:/var/www/app
|
||||||
environment:
|
environment:
|
||||||
|
@@ -18,4 +18,4 @@ docker run \
|
|||||||
--volume ${PWD}:/app \
|
--volume ${PWD}:/app \
|
||||||
--workdir /app \
|
--workdir /app \
|
||||||
--env YARN_CACHE_FOLDER=/app/.yarncache \
|
--env YARN_CACHE_FOLDER=/app/.yarncache \
|
||||||
node:16 ${cmd}
|
node:20 ${cmd}
|
||||||
|
@@ -36,6 +36,12 @@ fi
|
|||||||
if [ "${APP_ENV}" = "prod" ]; then
|
if [ "${APP_ENV}" = "prod" ]; then
|
||||||
composer dump-env "${APP_ENV}"
|
composer dump-env "${APP_ENV}"
|
||||||
chmod +r /var/www/app/.env.local.php
|
chmod +r /var/www/app/.env.local.php
|
||||||
|
|
||||||
|
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
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "${CLEAR_CACHE}" != "false" ]; then
|
if [ "${CLEAR_CACHE}" != "false" ]; then
|
||||||
@@ -45,11 +51,5 @@ if [ "${CLEAR_CACHE}" != "false" ]; then
|
|||||||
chgrp ${PHP_FPM_GROUP} /var/www/app/var/log -R && chmod g+rw /var/www/app/var/log -R
|
chgrp ${PHP_FPM_GROUP} /var/www/app/var/log -R && chmod g+rw /var/www/app/var/log -R
|
||||||
fi
|
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
|
|
||||||
fi
|
|
||||||
|
|
||||||
exec "${@}"
|
exec "${@}"
|
||||||
|
|
||||||
|
@@ -3,6 +3,9 @@
|
|||||||
"vendor/chill-project/chill-bundles"
|
"vendor/chill-project/chill-bundles"
|
||||||
],
|
],
|
||||||
"private": true,
|
"private": true,
|
||||||
|
"devDependencies": {
|
||||||
|
"bootstrap": "5.2.3"
|
||||||
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"specs-build": "yaml-merge vendor/chill-project/chill-bundles/src/Bundle/ChillMainBundle/chill.api.specs.yaml vendor/chill-project/chill-bundles/src/Bundle/ChillPersonBundle/chill.api.specs.yaml vendor/chill-project/chill-bundles/src/Bundle/ChillCalendarBundle/chill.api.specs.yaml vendor/chill-project/chill-bundles/src/Bundle/ChillThirdPartyBundle/chill.api.specs.yaml vendor/chill-project/chill-bundles/src/Bundle/ChillDocStoreBundle/chill.api.specs.yaml> templates/api/specs.yaml",
|
"specs-build": "yaml-merge vendor/chill-project/chill-bundles/src/Bundle/ChillMainBundle/chill.api.specs.yaml vendor/chill-project/chill-bundles/src/Bundle/ChillPersonBundle/chill.api.specs.yaml vendor/chill-project/chill-bundles/src/Bundle/ChillCalendarBundle/chill.api.specs.yaml vendor/chill-project/chill-bundles/src/Bundle/ChillThirdPartyBundle/chill.api.specs.yaml vendor/chill-project/chill-bundles/src/Bundle/ChillDocStoreBundle/chill.api.specs.yaml> templates/api/specs.yaml",
|
||||||
"specs-validate": "swagger-cli validate templates/api/specs.yaml",
|
"specs-validate": "swagger-cli validate templates/api/specs.yaml",
|
||||||
|
@@ -13,7 +13,7 @@ if ($_SERVER['APP_DEBUG']) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ($trustedProxies = $_SERVER['TRUSTED_PROXIES'] ?? false) {
|
if ($trustedProxies = $_SERVER['TRUSTED_PROXIES'] ?? false) {
|
||||||
Request::setTrustedProxies(explode(',', $trustedProxies), Request::HEADER_X_FORWARDED_ALL ^ Request::HEADER_X_FORWARDED_HOST);
|
Request::setTrustedProxies(explode(',', $trustedProxies), Request::HEADER_X_FORWARDED_FOR | Request::HEADER_X_FORWARDED_PORT | Request::HEADER_X_FORWARDED_PROTO);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($trustedHosts = $_SERVER['TRUSTED_HOSTS'] ?? false) {
|
if ($trustedHosts = $_SERVER['TRUSTED_HOSTS'] ?? false) {
|
||||||
|
58
symfony.lock
58
symfony.lock
@@ -1,7 +1,4 @@
|
|||||||
{
|
{
|
||||||
"box/spout": {
|
|
||||||
"version": "v3.3.0"
|
|
||||||
},
|
|
||||||
"brick/math": {
|
"brick/math": {
|
||||||
"version": "0.9.3"
|
"version": "0.9.3"
|
||||||
},
|
},
|
||||||
@@ -51,16 +48,17 @@
|
|||||||
"version": "v0.5.3"
|
"version": "v0.5.3"
|
||||||
},
|
},
|
||||||
"doctrine/doctrine-bundle": {
|
"doctrine/doctrine-bundle": {
|
||||||
"version": "2.0",
|
"version": "2.7",
|
||||||
"recipe": {
|
"recipe": {
|
||||||
"repo": "github.com/symfony/recipes",
|
"repo": "github.com/symfony/recipes",
|
||||||
"branch": "master",
|
"branch": "main",
|
||||||
"version": "2.0",
|
"version": "2.3",
|
||||||
"ref": "a9f2463b9f73efe74482f831f03a204a41328555"
|
"ref": "b8ddff356705ad8e704ea75b6872ce89a15d614d"
|
||||||
},
|
},
|
||||||
"files": [
|
"files": [
|
||||||
"config/packages/doctrine.yaml",
|
"config/packages/doctrine.yaml",
|
||||||
"config/packages/prod/doctrine.yaml",
|
"config/packages/prod/doctrine.yaml",
|
||||||
|
"config/packages/test/doctrine.yaml",
|
||||||
"src/Entity/.gitignore",
|
"src/Entity/.gitignore",
|
||||||
"src/Repository/.gitignore"
|
"src/Repository/.gitignore"
|
||||||
]
|
]
|
||||||
@@ -186,6 +184,18 @@
|
|||||||
"league/csv": {
|
"league/csv": {
|
||||||
"version": "9.6.2"
|
"version": "9.6.2"
|
||||||
},
|
},
|
||||||
|
"lexik/jwt-authentication-bundle": {
|
||||||
|
"version": "2.16",
|
||||||
|
"recipe": {
|
||||||
|
"repo": "github.com/symfony/recipes",
|
||||||
|
"branch": "main",
|
||||||
|
"version": "2.5",
|
||||||
|
"ref": "5b2157bcd5778166a5696e42f552ad36529a07a6"
|
||||||
|
},
|
||||||
|
"files": [
|
||||||
|
"config/packages/lexik_jwt_authentication.yaml"
|
||||||
|
]
|
||||||
|
},
|
||||||
"loophp/psr-http-message-bridge-bundle": {
|
"loophp/psr-http-message-bridge-bundle": {
|
||||||
"version": "1.0.0"
|
"version": "1.0.0"
|
||||||
},
|
},
|
||||||
@@ -345,9 +355,6 @@
|
|||||||
"psr/http-message": {
|
"psr/http-message": {
|
||||||
"version": "1.0.1"
|
"version": "1.0.1"
|
||||||
},
|
},
|
||||||
"psr/link": {
|
|
||||||
"version": "1.0.0"
|
|
||||||
},
|
|
||||||
"psr/log": {
|
"psr/log": {
|
||||||
"version": "1.1.3"
|
"version": "1.1.3"
|
||||||
},
|
},
|
||||||
@@ -441,9 +448,6 @@
|
|||||||
"spomky-labs/base64url": {
|
"spomky-labs/base64url": {
|
||||||
"version": "v2.0.4"
|
"version": "v2.0.4"
|
||||||
},
|
},
|
||||||
"swiftmailer/swiftmailer": {
|
|
||||||
"version": "v6.2.5"
|
|
||||||
},
|
|
||||||
"symfony/asset": {
|
"symfony/asset": {
|
||||||
"version": "v4.4.11"
|
"version": "v4.4.11"
|
||||||
},
|
},
|
||||||
@@ -542,15 +546,16 @@
|
|||||||
"version": "4.4",
|
"version": "4.4",
|
||||||
"recipe": {
|
"recipe": {
|
||||||
"repo": "github.com/symfony/recipes",
|
"repo": "github.com/symfony/recipes",
|
||||||
"branch": "master",
|
"branch": "main",
|
||||||
"version": "4.4",
|
"version": "4.4",
|
||||||
"ref": "af2e2efad553bc959a0c61d9185e33ca9eec5c99"
|
"ref": "24eb45d1355810154890460e6a05c0ca27318fe7"
|
||||||
},
|
},
|
||||||
"files": [
|
"files": [
|
||||||
"config/bootstrap.php",
|
"config/bootstrap.php",
|
||||||
"config/packages/cache.yaml",
|
"config/packages/cache.yaml",
|
||||||
"config/packages/framework.yaml",
|
"config/packages/framework.yaml",
|
||||||
"config/packages/test/framework.yaml",
|
"config/packages/test/framework.yaml",
|
||||||
|
"config/preload.php",
|
||||||
"config/routes/dev/framework.yaml",
|
"config/routes/dev/framework.yaml",
|
||||||
"config/services.yaml",
|
"config/services.yaml",
|
||||||
"public/index.php",
|
"public/index.php",
|
||||||
@@ -648,9 +653,6 @@
|
|||||||
"symfony/polyfill-ctype": {
|
"symfony/polyfill-ctype": {
|
||||||
"version": "v1.18.0"
|
"version": "v1.18.0"
|
||||||
},
|
},
|
||||||
"symfony/polyfill-iconv": {
|
|
||||||
"version": "v1.22.0"
|
|
||||||
},
|
|
||||||
"symfony/polyfill-intl-grapheme": {
|
"symfony/polyfill-intl-grapheme": {
|
||||||
"version": "v1.18.0"
|
"version": "v1.18.0"
|
||||||
},
|
},
|
||||||
@@ -737,23 +739,6 @@
|
|||||||
"symfony/string": {
|
"symfony/string": {
|
||||||
"version": "v5.1.3"
|
"version": "v5.1.3"
|
||||||
},
|
},
|
||||||
"symfony/swiftmailer-bundle": {
|
|
||||||
"version": "2.5",
|
|
||||||
"recipe": {
|
|
||||||
"repo": "github.com/symfony/recipes",
|
|
||||||
"branch": "master",
|
|
||||||
"version": "2.5",
|
|
||||||
"ref": "ae4d22af30bbd484506bc1817c5a3ef72c855b93"
|
|
||||||
},
|
|
||||||
"files": [
|
|
||||||
"config/packages/dev/swiftmailer.yaml",
|
|
||||||
"config/packages/swiftmailer.yaml",
|
|
||||||
"config/packages/test/swiftmailer.yaml"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"symfony/templating": {
|
|
||||||
"version": "v4.4.11"
|
|
||||||
},
|
|
||||||
"symfony/translation": {
|
"symfony/translation": {
|
||||||
"version": "3.3",
|
"version": "3.3",
|
||||||
"recipe": {
|
"recipe": {
|
||||||
@@ -806,9 +791,6 @@
|
|||||||
"symfony/var-exporter": {
|
"symfony/var-exporter": {
|
||||||
"version": "v5.1.3"
|
"version": "v5.1.3"
|
||||||
},
|
},
|
||||||
"symfony/web-link": {
|
|
||||||
"version": "v5.2.12"
|
|
||||||
},
|
|
||||||
"symfony/web-profiler-bundle": {
|
"symfony/web-profiler-bundle": {
|
||||||
"version": "3.3",
|
"version": "3.3",
|
||||||
"recipe": {
|
"recipe": {
|
||||||
|
0
translations/.gitkeep
Normal file
0
translations/.gitkeep
Normal file
@@ -1,212 +0,0 @@
|
|||||||
# activity
|
|
||||||
Show the activity: Voir l'échange
|
|
||||||
Edit the activity: Modifier l'échange
|
|
||||||
Activity: Échange
|
|
||||||
Add a new activity: Ajouter un nouvel échange
|
|
||||||
Activity list: Liste des échanges
|
|
||||||
Update activity: Modifier l'échange
|
|
||||||
Activity data: Données de l'échange
|
|
||||||
Activity location: Localisation de l'échange
|
|
||||||
Activity creation: Nouvel échange
|
|
||||||
Save activity: Sauver l'échange
|
|
||||||
'%user% has done an %activity_type%': '%user% a effectué un échange de type "%activity_type%"'
|
|
||||||
'Success : activity created!': L'échange a été créé.
|
|
||||||
'The form is not valid. The activity has not been created !': Le formulaire est invalide. L'échange n'a pas été créé.
|
|
||||||
'Success : activity updated!': L'échange a été mis à jour.
|
|
||||||
'The form is not valid. The activity has not been updated !': Le formulaire est invalide. L'échange n'a pas été mis à jour.
|
|
||||||
CHILL_ACTIVITY_CREATE: Créer un échange
|
|
||||||
CHILL_ACTIVITY_UPDATE: Modifier un échange
|
|
||||||
CHILL_ACTIVITY_SEE: Voir un échange
|
|
||||||
CHILL_ACTIVITY_SEE_DETAILS: Voir le détail des échanges
|
|
||||||
CHILL_ACTIVITY_DELETE: Supprimer un échange
|
|
||||||
CHILL_ACTIVITY_STATS: Statistique des échanges
|
|
||||||
CHILL_ACTIVITY_LIST: Liste des échanges
|
|
||||||
Activity configuration: Configuration des échanges
|
|
||||||
Activity configuration menu: Configuration des échanges
|
|
||||||
Activity Types: Types d'échange
|
|
||||||
Activity Reasons: Sujets d'un échange
|
|
||||||
Activity Reasons Category: Catégories de sujet d'échanges
|
|
||||||
Activity Types Categories: Catégories des types d'échange
|
|
||||||
Activity Presences: Présences aux échanges
|
|
||||||
Travel time: Durée du trajet (aller/retour)
|
|
||||||
Sent received: Entrant / sortant
|
|
||||||
Sent: Sortant
|
|
||||||
Received: Entrant
|
|
||||||
activity:
|
|
||||||
comment: Compte-rendu
|
|
||||||
See activity in accompanying course context: Voir l'échange dans le contexte du parcours d'accompagnement
|
|
||||||
ActivityPresence list: Liste des Présences aux échanges
|
|
||||||
Create a new activity presence: Créer une nouvelle "Présence aux échanges"
|
|
||||||
|
|
||||||
# crud activity
|
|
||||||
crud:
|
|
||||||
save: Enregistrer
|
|
||||||
activity_type:
|
|
||||||
title_new: Nouveau type d'échange
|
|
||||||
title_edit: Edition d'un type d'échange
|
|
||||||
activity_type_category:
|
|
||||||
title_new: Nouvelle catégorie de type d'échange
|
|
||||||
title_edit: Edition d'une catégorie de type d'échange
|
|
||||||
activity_presence:
|
|
||||||
title_new: Nouvelle Présence aux échanges
|
|
||||||
title_edit: Edition d'une Présence aux échanges
|
|
||||||
vendee_security_profile:
|
|
||||||
index:
|
|
||||||
title: Profils de droits
|
|
||||||
add_new: Créer
|
|
||||||
title_new: Nouveau profil
|
|
||||||
title_edit: Modifier profil
|
|
||||||
# activity reason admin
|
|
||||||
ActivityReason list: Liste des sujets
|
|
||||||
Create a new activity reason: Créer un nouveau sujet
|
|
||||||
ActivityReason creation: Nouveau sujet
|
|
||||||
ActivityReason edit: Modification d'un sujet
|
|
||||||
ActivityReason: Sujet d'échange
|
|
||||||
#activity reason category admin
|
|
||||||
ActivityReasonCategory list: Catégories de sujets
|
|
||||||
Create a new activity category reason: Créer une nouvelle catégorie
|
|
||||||
ActivityReasonCategory creation: Nouvelle catégorie de sujet
|
|
||||||
ActivityReasonCategory edit: Modification d'une catégorie de sujet
|
|
||||||
ActivityReasonCategory: Catégorie de sujet d'échange
|
|
||||||
ActivityReasonCategory is active and will be proposed: La catégorie est active et sera proposée
|
|
||||||
ActivityReasonCategory is inactive and won't be proposed: La catégorie est inactive et ne sera pas proposée
|
|
||||||
# activity type type admin
|
|
||||||
ActivityType list: Types d'échanges
|
|
||||||
Create a new activity type: Créer un nouveau type d'échange
|
|
||||||
# activity type category admin
|
|
||||||
ActivityTypeCategory list: Liste des catégories des types d'échange
|
|
||||||
Create a new activity type category: Créer une nouvelle catégorie de type d'échange
|
|
||||||
# activity delete
|
|
||||||
Remove activity: Supprimer un échange
|
|
||||||
Are you sure you want to remove the activity about "%name%" ?: Êtes-vous sûr de vouloir supprimer un échange qui concerne "%name%" ?
|
|
||||||
The activity has been successfully removed.: L'échange a été supprimé.
|
|
||||||
Sum activity duration: Total de la durée des échanges
|
|
||||||
'Filtered by activity type: only %list%': "Filtré par type d'activity: seulement %list%"
|
|
||||||
Filtered by date activity: Filtrer par date d'échange
|
|
||||||
"Filtered by date of activity: only between %date_from% and %date_to%": "Filtré par date de l'échange: uniquement entre %date_from% et %date_to%"
|
|
||||||
This date should be after the date given in "Implied in an activity after this date" field: Cette date devrait être postérieure à la date donnée dans le champ "échanges après cette date"
|
|
||||||
Filtered by person having an activity in a period: Uniquement les personnes ayant eu un échange dans la période donnée
|
|
||||||
Implied in an activity after this date: Impliqué dans un échange après cette date
|
|
||||||
Implied in an activity before this date: Impliqué dans un échange avant cette date
|
|
||||||
Filtered by person having an activity between %date_from% and %date_to% with reasons %reasons_name%: Filtré par personnes associées à un échange entre %date_from% et %date_to% avec les sujets %reasons_name%
|
|
||||||
Activity reasons for those activities: Sujets de ces échanges
|
|
||||||
Filter by activity type: Filtrer par type d'échange
|
|
||||||
Activity type: Type d'échange
|
|
||||||
Activity user: Utilisateur lié à l'activity
|
|
||||||
Aggregate by activity user: Aggréger par utilisateur lié à l'échange
|
|
||||||
Aggregate by activity type: Aggréger par type d'échange
|
|
||||||
Aggregate by activity reason: Aggréger par sujet de l'échange
|
|
||||||
There isn't any activities.: Aucun échange enregistré.
|
|
||||||
Last activities: Les derniers échanges
|
|
||||||
Activities: Échanges
|
|
||||||
|
|
||||||
# person
|
|
||||||
Person: Usager
|
|
||||||
'Add a person': 'Ajout d''un usager'
|
|
||||||
'Person details': 'Généralités'
|
|
||||||
Back to the person details: Retour aux détails de l'usager
|
|
||||||
Show person: Voir la fiche de l'usager
|
|
||||||
Any person selected: Aucun usager sélectionné
|
|
||||||
|
|
||||||
Male: Masculin
|
|
||||||
Man: Masculin
|
|
||||||
man: Masculin
|
|
||||||
Female: Féminin
|
|
||||||
woman: Féminin
|
|
||||||
Woman: Féminin
|
|
||||||
both: Neutre, non binaire
|
|
||||||
Both: Neutre, non binaire
|
|
||||||
Neuter: Neutre, non binaire
|
|
||||||
neuter: Neutre, non binaire
|
|
||||||
|
|
||||||
'Add the person': "Créer l'usager"
|
|
||||||
'Add the person and create an accompanying period': "Créer l’usager ET créer un parcours d’accompagnement"
|
|
||||||
'Add the person and create an household': "Créer l'usager ET créer un ménage"
|
|
||||||
'Add an accompanying period in the past': Ajouter un parcours d'accompagnement dans le passé
|
|
||||||
Begin a new accompanying period: Commencer un nouveau parcours d'accompagnement
|
|
||||||
Create an accompanying period: Créer un parcours d'accompagnement
|
|
||||||
'A period has been created.': Une parcours d'accompagnement a été créé.
|
|
||||||
'Error! Period not created!': Le parcours d'accompagnement n'a pas été créé.
|
|
||||||
Update accompanying period: Mettre à jour un parcours d'accompagnement
|
|
||||||
'An accompanying period has been updated.': Un parcours d'accompagnement a été mis à jour
|
|
||||||
'Error when updating the period': Erreur pendant la mise à jour du parcours d'accompagnement.
|
|
||||||
'An accompanying period has been closed.': Un parcours d'accompagnement a été fermé.
|
|
||||||
'Error! Period not closed!': "Erreur: le parcours d'accompagnement n'a pas été fermé."
|
|
||||||
'An accompanying period has been opened.': Un parcours d'accompagnement a été ouvert.
|
|
||||||
'Period not opened': "Le parcours d'accompagnement n'a pas été ouvert"
|
|
||||||
An accompanying period starts: Un parcours d'accompagnement est ouvert
|
|
||||||
Any accompanying periods are open: Aucun parcours d'accompagnement ouvert
|
|
||||||
An accompanying period is open: Un parcours d'accompagnement est ouvert
|
|
||||||
Accompanying period list: Parcours d'accompagnement
|
|
||||||
Accompanying period list for person: Parcours d'accompagnement de l'usager
|
|
||||||
Period number %number%: 'Parcours n° %number%'
|
|
||||||
Are you sure you want to re-open this period ?: Êtes-vous sûr de vouloir ré-ouvrir ce parcours d'accompagnement ?
|
|
||||||
'The period has been re-opened': Le parcours d'accompagnement a été ré-ouvert.
|
|
||||||
See accompanying period: Voir le parcours
|
|
||||||
See accompanying periods: Voir tous les parcours d'accompagnement
|
|
||||||
Edit accompanying period: Modifier le parcours
|
|
||||||
Close accompanying period: Clôre le parcours
|
|
||||||
Re-open accompanying period: Ré-ouvrir le parcours
|
|
||||||
Closing the accompanying period: Fermeture du parcours d'accompagnement
|
|
||||||
Opening the accompanying period: Ouverture d'un parcours d'accompagnement
|
|
||||||
"Filter by accompanying period: active period": "Filtrer par parcours d'accompagnement: en file active"
|
|
||||||
Some peoples does not belong to any household currently. Add them to an household soon: Certains usagers n'appartiennent à aucun ménage actuellement. Renseignez leur appartenance à un ménage dès que possible.
|
|
||||||
This course is located at a temporarily address. You should locate this course to an user: Le parcours est localisé à une adresse temporaire. Il devrait être localisé auprès d'un usager concerné.
|
|
||||||
Having an accompanying period opened after this date: Ayant un parcours d'accompagnement ouvert après cette date
|
|
||||||
Having an accompanying period ending before this date, or still opened at this date: Ayant un parcours d'accompagnement fermé après cette date, ou toujours ouvert à cette date
|
|
||||||
"Filtered by accompanying period: persons having an accompanying period opened after the %date_from% and closed before the %date_to% (or still opened at the %date_to%)": "Filtré par parcours d'accompagnement: personnes ayant un parcours d'accompagnement ouvert après le %date_from%, et cloturé le %date_to% (ou toujours ouvert le %date_to%)"
|
|
||||||
"Filter by accompanying period: starting between two dates": "Filtrer par parcours d'accompagnement: début de la période entre deux dates"
|
|
||||||
"Having an accompanying period opened before this date": "Ayant un parcours d'accompagnement ouvert avant cette date"
|
|
||||||
"Filtered by accompanying period: persons having an accompanying period opened between the %date_from% and %date_to%": "Filtrer par parcours d'accompagnement: ayant une période ouverte entre le %date_from% et le %date_to%"
|
|
||||||
"Filter by accompanying period: closed between two dates": "Filtrer par parcours d'accompagnement: période fermée entre deux dates"
|
|
||||||
Having an accompanying period closed after this date: Ayant un parcours d'accompagnement fermé après cette date
|
|
||||||
"Having an accompanying period closed before this date": "Ayant un parcours d'accompagnement fermé avant cette date"
|
|
||||||
"Filtered by accompanying period: persons having an accompanying period closed between the %date_from% and %date_to%": "Filtrer par parcours d'accompagnement: ayant une période fermée entre le %date_from% et le %date_to%"
|
|
||||||
Accompanying user: Référent
|
|
||||||
No accompanying user: Aucun référent
|
|
||||||
Participants: Usagers concernés
|
|
||||||
person_admin:
|
|
||||||
closing motive explanation: >
|
|
||||||
Les motifs de clotûre donnent des indications sur la fermeture d'un parcours d'accompagnement.
|
|
||||||
Delete accompanying period: Supprimer le parcours
|
|
||||||
Are you sure you want to remove the accompanying period "%id%" ?: Êtes-vous sûr de vouloir supprimer le parcours %id% ?
|
|
||||||
The accompanying course has been successfully removed.: Le parcours a été supprimé.
|
|
||||||
|
|
||||||
|
|
||||||
Unknown: Non renseigné
|
|
||||||
Center: Territoire
|
|
||||||
Centers: Territoires
|
|
||||||
'Marital status': 'État matrimonial'
|
|
||||||
Comment on the marital status: Remarques sur l'état matrimonial
|
|
||||||
Date of last marital status change: État matrimonial depuis le
|
|
||||||
|
|
||||||
# thirdparty
|
|
||||||
List of third parties: Liste des tiers professionnels
|
|
||||||
The party is visible in those centers: Le tiers est visible dans ces territoires
|
|
||||||
|
|
||||||
# household
|
|
||||||
household:
|
|
||||||
Household history for person: Historique des ménages de l'usager
|
|
||||||
|
|
||||||
# thirdparty
|
|
||||||
chill_3party:
|
|
||||||
key_label:
|
|
||||||
caisse_secu: Caisse primaire d'assurance maladie (CPAM)
|
|
||||||
doctor: Médecin
|
|
||||||
|
|
||||||
# error page
|
|
||||||
Send by email: Envoyer par email
|
|
||||||
Don't panick though, we'll fix it as soon as possible. To help us out, please send us the information below. : Pas de panique, nous allons la corriger au plus vite. Pour faciliter la résolution, communiquez les informations ci-dessous.
|
|
||||||
Oops, we came across an error!: Oops, nous avons rencontré une erreur!
|
|
||||||
Date and time of error: Date et heure de l'erreur
|
|
||||||
Error message: Contenu de l'erreur
|
|
||||||
Copy: Copier
|
|
||||||
Copied: Copié
|
|
||||||
|
|
||||||
You are getting a notification for a period which does not exists any more: Cette notification ne correspond pas à un parcours d'accompagnement valide
|
|
||||||
You are getting a notification for a period you are not allowed to see: La notification fait référence à un parcours d'accompagnement auquel vous n'avez pas accès.
|
|
||||||
This is the minimal period details: Parcours d'accompagnement n°
|
|
||||||
|
|
||||||
You get notified of an activity which does not exists any more: Cette notification ne correspond pas à un échange valide.
|
|
||||||
you are not allowed to see it details: La notification fait référence à un échange auquel vous n'avez pas accès.
|
|
||||||
This is the minimal activity data: Échange n°
|
|
@@ -1,20 +0,0 @@
|
|||||||
# Activity validators
|
|
||||||
For this type of activity, you must add at least one person: Pour ce type d'échange, vous devez ajouter au moins un usager
|
|
||||||
For this type of activity, you must add at least one user: Pour ce type d'échange, vous devez ajouter au moins un TMS
|
|
||||||
For this type of activity, you must add at least one third party: Pour ce type d'échange, vous devez ajouter au moins un tiers
|
|
||||||
For this type of activity, the user is required: Pour ce type d'échange, l'utilisateur est requis
|
|
||||||
For this type of activity, the date is required: Pour ce type d'échange, la date est requise
|
|
||||||
For this type of activity, the location is required: Pour ce type d'échange, la localisation est requise
|
|
||||||
For this type of activity, user is required: Pour ce type d'échange, l'utilisateur est requis
|
|
||||||
For this type of activity, date is required: Pour ce type d'échange, la date est requise
|
|
||||||
For this type of activity, location is required: Pour ce type d'échange, la localisation est requise
|
|
||||||
For this type of activity, attendee is required: Pour ce type d'échange, le champ "Présence de la personne" est requis
|
|
||||||
For this type of activity, duration time is required: Pour ce type d'échange, la durée est requise
|
|
||||||
For this type of activity, travel time is required: Pour ce type d'échange, la durée du trajet est requise
|
|
||||||
For this type of activity, reasons is required: Pour ce type d'échange, le champ "sujet" est requis
|
|
||||||
For this type of activity, comment is required: Pour ce type d'échange, un commentaire est requis
|
|
||||||
For this type of activity, sent/received is required: Pour ce type d'échange, le champ Entrant/Sortant est requis
|
|
||||||
For this type of activity, document is required: Pour ce type d'échange, un document est requis
|
|
||||||
For this type of activity, emergency is required: Pour ce type d'échange, le champ "Urgent" est requis
|
|
||||||
For this type of activity, accompanying period is required: Pour ce type d'échange, le parcours d'accompagnement est requis
|
|
||||||
This social issue cannot be deleted because it is associated with an activity or an action: La problématique sociale ne peut pas être supprimée car elle est associée à un échange ou une action
|
|
Reference in New Issue
Block a user