Compare commits
28 Commits
ticket-app
...
release/te
Author | SHA1 | Date | |
---|---|---|---|
|
b18719a351 | ||
148687e0e2 | |||
|
82ee0db8de | ||
01959d06d4
|
|||
6d019adb1d
|
|||
a912f29bd9
|
|||
921b5c39de
|
|||
cb11a6cddd
|
|||
65dc5ba549
|
|||
b4a158a150
|
|||
3f2e587291
|
|||
0429802206
|
|||
72348f77dc
|
|||
ed156c5bae
|
|||
81d64d44a8
|
|||
4cc6fbc7ec
|
|||
43c1fcfd36
|
|||
84dc922364
|
|||
927dd6e7db
|
|||
8e1619bc18
|
|||
f4cdff06a0
|
|||
dd30db868c
|
|||
8c0ba841ee
|
|||
977ab5927c
|
|||
7ef8e99c03
|
|||
0e8396c554
|
|||
6d7d3e0259
|
|||
4abc2aa3ee
|
@@ -1,6 +0,0 @@
|
|||||||
# 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).
|
|
@@ -1,3 +0,0 @@
|
|||||||
## v1.0.0 - 2023-11-19
|
|
||||||
### Feature
|
|
||||||
* Integrate changie and automate release management
|
|
@@ -1,3 +0,0 @@
|
|||||||
## v1.1.0 - 2023-11-22
|
|
||||||
### Release
|
|
||||||
* Update dependencies. Chill-bundles upgraded from 2.12.1 to 2.13.0
|
|
@@ -1,3 +0,0 @@
|
|||||||
## v1.2.0 - 2023-11-24
|
|
||||||
### Release
|
|
||||||
* Update dependencies. Chill-bundles upgraded from 2.13.0 to 2.14.0
|
|
@@ -1,3 +0,0 @@
|
|||||||
## v1.3.0 - 2023-11-30
|
|
||||||
### Release
|
|
||||||
* Update dependencies. Chill-bundles upgraded from 2.14.0 to 2.14.1
|
|
@@ -1,4 +0,0 @@
|
|||||||
## v1.4.0 - 2024-02-08
|
|
||||||
### Release
|
|
||||||
* Upgrade nodes dependencies
|
|
||||||
* Update dependencies. Chill-bundles upgraded from 2.14.1 to 2.16.0
|
|
@@ -1,3 +0,0 @@
|
|||||||
## v1.4.1 - 2024-02-08
|
|
||||||
### Fixed
|
|
||||||
* upgrade node version while compiling
|
|
@@ -1,3 +0,0 @@
|
|||||||
## v1.4.2 - 2024-02-08
|
|
||||||
### Fixed
|
|
||||||
* Fix version of bootstrap temporarily
|
|
@@ -1,3 +0,0 @@
|
|||||||
## v1.4.3 - 2024-02-08
|
|
||||||
### Fixed
|
|
||||||
* better restriction for bootstrap version
|
|
@@ -1,3 +0,0 @@
|
|||||||
## v1.4.4 - 2024-02-08
|
|
||||||
### Fixed
|
|
||||||
* fix incorrect upgrade
|
|
@@ -1,3 +0,0 @@
|
|||||||
## v1.5.0 - 2024-02-08
|
|
||||||
### Release
|
|
||||||
* Update dependencies. Chill-bundles upgraded from 2.16.0 to 2.16.1
|
|
@@ -1,5 +0,0 @@
|
|||||||
## 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
|
|
@@ -1,5 +0,0 @@
|
|||||||
## 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
|
|
@@ -1,35 +0,0 @@
|
|||||||
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_
|
|
@@ -37,11 +37,10 @@ steps:
|
|||||||
- build-base-image
|
- build-base-image
|
||||||
|
|
||||||
- name: build-assets
|
- name: build-assets
|
||||||
image: node:20
|
image: node:14
|
||||||
pull: always
|
pull: always
|
||||||
commands:
|
commands:
|
||||||
- yarn install
|
- yarn install
|
||||||
- yarn list
|
|
||||||
- yarn run encore production
|
- yarn run encore production
|
||||||
depends_on:
|
depends_on:
|
||||||
- composer-install
|
- composer-install
|
||||||
@@ -112,6 +111,6 @@ steps:
|
|||||||
|
|
||||||
---
|
---
|
||||||
kind: signature
|
kind: signature
|
||||||
hmac: 0bca4dec9822a08338f6f3b88badf771558aee19b41967837aa64853a1573cad
|
hmac: 707a5ef589fb6320f9e9e1dec7d8d4d11b477ba09e3b2b08d6f31f98d6d3f5d0
|
||||||
|
|
||||||
...
|
...
|
||||||
|
23
.env
23
.env
@@ -1,15 +1,7 @@
|
|||||||
# * .env contains default values for the environment variables needed by the app
|
##
|
||||||
# * .env.local uncommitted file with local overrides
|
## Manually dump .env files in .env.local.php with
|
||||||
# * .env.$APP_ENV committed environment-specific defaults
|
## `$ composer symfony:dump-env prod`
|
||||||
# * .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
|
||||||
LOCALE=fr
|
LOCALE=fr
|
||||||
@@ -28,8 +20,11 @@ WOPI_SERVER=http://collabora:9980
|
|||||||
# must be manually set in .env.local
|
# must be manually set in .env.local
|
||||||
# ADMIN_PASSWORD=
|
# ADMIN_PASSWORD=
|
||||||
|
|
||||||
|
## Symfony/swiftmailer
|
||||||
|
## Mailer
|
||||||
###> symfony/mailer ###
|
###> symfony/mailer ###
|
||||||
# MAILER_DSN=null://null
|
# MAILER_DSN=smtp://localhost
|
||||||
|
MAILER_DSN=
|
||||||
###< symfony/mailer ###
|
###< symfony/mailer ###
|
||||||
|
|
||||||
## Notifications
|
## Notifications
|
||||||
@@ -74,10 +69,10 @@ SHORT_MESSAGE_DSN=null://null
|
|||||||
|
|
||||||
###> symfony/messenger ###
|
###> symfony/messenger ###
|
||||||
# Choose one of the transports below
|
# Choose one of the transports below
|
||||||
|
# MESSENGER_TRANSPORT_DSN=doctrine://default
|
||||||
# MESSENGER_TRANSPORT_DSN=amqp://guest:guest@localhost:5672/%2f/messages
|
# MESSENGER_TRANSPORT_DSN=amqp://guest:guest@localhost:5672/%2f/messages
|
||||||
# MESSENGER_TRANSPORT_DSN=redis://localhost:6379/messages
|
# MESSENGER_TRANSPORT_DSN=redis://localhost:6379/messages
|
||||||
MESSENGER_TRANSPORT_DSN=sync://
|
MESSENGER_TRANSPORT_DSN=sync://
|
||||||
MESSENGER_TRANSPORT_DSN=doctrine://default?auto_setup=0
|
|
||||||
###< symfony/messenger ###
|
###< symfony/messenger ###
|
||||||
|
|
||||||
###> doctrine/doctrine-bundle ###
|
###> doctrine/doctrine-bundle ###
|
||||||
|
3
.env.dev
3
.env.dev
@@ -11,8 +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
|
||||||
|
|
||||||
|
|
||||||
VAR_DUMPER_SERVER=dumper:9912
|
|
||||||
|
|
||||||
## Phpstorm IDE project path
|
## Phpstorm IDE project path
|
||||||
PROJECT_DIR=
|
PROJECT_DIR=
|
||||||
|
@@ -1,7 +1,4 @@
|
|||||||
# define your env variables for the test env here
|
# define your env variables for the test env here
|
||||||
KERNEL_CLASS='App\Kernel'
|
KERNEL_CLASS='App\Kernel'
|
||||||
APP_SECRET='$ecretf0rt3st'
|
APP_SECRET='$ecretf0rt3st'
|
||||||
SYMFONY_DEPRECATIONS_HELPER=999999
|
|
||||||
PANTHER_APP_ENV=panther
|
|
||||||
PANTHER_ERROR_SCREENSHOT_DIR=./var/error-screenshots
|
|
||||||
ADMIN_PASSWORD=password
|
ADMIN_PASSWORD=password
|
||||||
|
@@ -1,59 +0,0 @@
|
|||||||
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
|
|
25
.gitea/workflows/release_preparation.yaml
Normal file
25
.gitea/workflows/release_preparation.yaml
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
name: Prepare release for chill app
|
||||||
|
run-name: Update composer.lock and dependencies for preparing a release
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- 'release/**'
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
update-deps:
|
||||||
|
steps:
|
||||||
|
- name: check out repository
|
||||||
|
uses: https://github.com/actions/checkout@v4
|
||||||
|
- 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: commit changed files
|
||||||
|
uses: https://github.com/stefanzweifel/git-auto-commit-action@v5
|
||||||
|
with:
|
||||||
|
commit_message: "update composer.lock and file (automatic update through CI)"
|
||||||
|
commit_user_name: Action Bot
|
||||||
|
commit_user_email: bot@chill.social
|
||||||
|
|
5
.gitignore
vendored
5
.gitignore
vendored
@@ -63,6 +63,7 @@ yarn-error.log
|
|||||||
###< symfony/webpack-encore-bundle ###
|
###< symfony/webpack-encore-bundle ###
|
||||||
|
|
||||||
###> symfony/phpunit-bridge ###
|
###> symfony/phpunit-bridge ###
|
||||||
|
.phpunit
|
||||||
.phpunit.result.cache
|
.phpunit.result.cache
|
||||||
/phpunit.xml
|
/phpunit.xml
|
||||||
###< symfony/phpunit-bridge ###
|
###< symfony/phpunit-bridge ###
|
||||||
@@ -80,7 +81,3 @@ docker-compose.override.yaml
|
|||||||
###> lexik/jwt-authentication-bundle ###
|
###> lexik/jwt-authentication-bundle ###
|
||||||
/config/jwt/*.pem
|
/config/jwt/*.pem
|
||||||
###< lexik/jwt-authentication-bundle ###
|
###< lexik/jwt-authentication-bundle ###
|
||||||
|
|
||||||
###> phpstan/phpstan ###
|
|
||||||
phpstan.neon
|
|
||||||
###< phpstan/phpstan ###
|
|
||||||
|
58
CHANGELOG.md
58
CHANGELOG.md
@@ -1,60 +1,12 @@
|
|||||||
# 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/),
|
||||||
adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html),
|
and this project adheres to
|
||||||
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
|
||||||
|
|
||||||
## v1.7.0 - 2024-02-13
|
## Unreleased
|
||||||
### 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
|
|
||||||
|
2
Makefile
2
Makefile
@@ -2,7 +2,7 @@ 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)
|
||||||
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 $(PHP_BASE_IMAGE_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:8.2-fpm-alpine
|
PHP_BASE_IMAGE=php:8.2-fpm-alpine
|
||||||
|
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(
|
export const app = startStimulusApp(require.context(
|
||||||
'@symfony/stimulus-bridge/lazy-controller-loader!./controllers',
|
'@symfony/stimulus-bridge/lazy-controller-loader!./controllers',
|
||||||
true,
|
true,
|
||||||
/\.[jt]sx?$/
|
/\.(j|t)sx?$/
|
||||||
));
|
));
|
||||||
|
|
||||||
// register any custom, 3rd party controllers here
|
// register any custom, 3rd party controllers here
|
||||||
|
39
bin/console
39
bin/console
@@ -3,15 +3,40 @@
|
|||||||
|
|
||||||
use App\Kernel;
|
use App\Kernel;
|
||||||
use Symfony\Bundle\FrameworkBundle\Console\Application;
|
use Symfony\Bundle\FrameworkBundle\Console\Application;
|
||||||
|
use Symfony\Component\Console\Input\ArgvInput;
|
||||||
|
use Symfony\Component\ErrorHandler\Debug;
|
||||||
|
|
||||||
if (!is_file(dirname(__DIR__).'/vendor/autoload_runtime.php')) {
|
if (!in_array(PHP_SAPI, ['cli', 'phpdbg', 'embed'], true)) {
|
||||||
throw new LogicException('Symfony Runtime is missing. Try running "composer require symfony/runtime".');
|
echo 'Warning: The console should be invoked via the CLI version of PHP, not the '.PHP_SAPI.' SAPI'.PHP_EOL;
|
||||||
}
|
}
|
||||||
|
|
||||||
require_once dirname(__DIR__).'/vendor/autoload_runtime.php';
|
set_time_limit(0);
|
||||||
|
|
||||||
return function (array $context) {
|
require dirname(__DIR__).'/vendor/autoload.php';
|
||||||
$kernel = new Kernel($context['APP_ENV'], (bool) $context['APP_DEBUG']);
|
|
||||||
|
|
||||||
return new Application($kernel);
|
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);
|
||||||
|
@@ -15,14 +15,15 @@
|
|||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"ext-redis": "*",
|
"ext-redis": "*",
|
||||||
"chill-project/chill-bundles": "dev-ticket-app-master@dev",
|
"chill-project/chill-bundles": "2.10.0",
|
||||||
"symfony/flex": "^1.9",
|
"symfony/flex": "^1.9",
|
||||||
|
"symfony/http-client": "^4.4 || ^5",
|
||||||
"nelmio/alice": "^3.8",
|
"nelmio/alice": "^3.8",
|
||||||
"phpoffice/phpword": "^0.18.2",
|
"phpoffice/phpword": "^0.18.2",
|
||||||
"phpstan/phpstan": "^1.0",
|
"phpstan/phpstan": "^1.0",
|
||||||
"spomky-labs/base64url": "^2.0",
|
"spomky-labs/base64url": "^2.0",
|
||||||
"twig/string-extra": "^3.3",
|
"twig/string-extra": "^3.3",
|
||||||
"symfony/runtime": "^5.4"
|
"symfony/mailer": "^5.4"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"fakerphp/faker": "^1.13",
|
"fakerphp/faker": "^1.13",
|
||||||
@@ -30,7 +31,8 @@
|
|||||||
"symfony/dotenv": "^5.1",
|
"symfony/dotenv": "^5.1",
|
||||||
"symfony/maker-bundle": "^1.20",
|
"symfony/maker-bundle": "^1.20",
|
||||||
"doctrine/doctrine-fixtures-bundle": "^3.3",
|
"doctrine/doctrine-fixtures-bundle": "^3.3",
|
||||||
"symfony/stopwatch": "^5.4",
|
"symfony/stopwatch": "^5.1",
|
||||||
|
"symfony/twig-bundle": "^4.4",
|
||||||
"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",
|
||||||
|
3967
composer.lock
generated
3967
composer.lock
generated
File diff suppressed because it is too large
Load Diff
23
config/bootstrap.php
Normal file
23
config/bootstrap.php
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
<?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,9 +12,10 @@ return [
|
|||||||
Symfony\Bundle\MakerBundle\MakerBundle::class => ['dev' => true],
|
Symfony\Bundle\MakerBundle\MakerBundle::class => ['dev' => true],
|
||||||
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],
|
Symfony\Bundle\DebugBundle\DebugBundle::class => ['dev' => true, 'test' => 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],
|
||||||
Chill\MainBundle\ChillMainBundle::class => ['all' => true],
|
Chill\MainBundle\ChillMainBundle::class => ['all' => true],
|
||||||
Chill\PersonBundle\ChillPersonBundle::class => ['all' => true],
|
Chill\PersonBundle\ChillPersonBundle::class => ['all' => true],
|
||||||
Chill\CustomFieldsBundle\ChillCustomFieldsBundle::class => ['all' => true],
|
Chill\CustomFieldsBundle\ChillCustomFieldsBundle::class => ['all' => true],
|
||||||
@@ -35,6 +36,4 @@ return [
|
|||||||
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],
|
Lexik\Bundle\JWTAuthenticationBundle\LexikJWTAuthenticationBundle::class => ['all' => true],
|
||||||
Chill\EventBundle\ChillEventBundle::class => ['all' => true],
|
|
||||||
Chill\TicketBundle\ChillTicketBundle::class => ['all' => true],
|
|
||||||
];
|
];
|
||||||
|
3
config/packages/assets.yaml
Normal file
3
config/packages/assets.yaml
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
framework:
|
||||||
|
assets:
|
||||||
|
json_manifest_path: '%kernel.project_dir%/public/build/manifest.json'
|
14
config/packages/champs-libres.yaml
Normal file
14
config/packages/champs-libres.yaml
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
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
|
@@ -1,6 +0,0 @@
|
|||||||
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,5 +0,0 @@
|
|||||||
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)%"
|
|
4
config/packages/dev/debug.yaml
Normal file
4
config/packages/dev/debug.yaml
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
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)%"
|
21
config/packages/dev/monolog.yaml
Normal file
21
config/packages/dev/monolog.yaml
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
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
|
||||||
|
|
9
config/packages/dev/nelmio_alice.yaml
Normal file
9
config/packages/dev/nelmio_alice.yaml
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
nelmio_alice:
|
||||||
|
functions_blacklist:
|
||||||
|
- 'current'
|
||||||
|
- 'shuffle'
|
||||||
|
- 'date'
|
||||||
|
- 'time'
|
||||||
|
- 'file'
|
||||||
|
- 'md5'
|
||||||
|
- 'sha1'
|
6
config/packages/dev/web_profiler.yaml
Normal file
6
config/packages/dev/web_profiler.yaml
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
web_profiler:
|
||||||
|
toolbar: true
|
||||||
|
intercept_redirects: false
|
||||||
|
|
||||||
|
framework:
|
||||||
|
profiler: { only_exceptions: false }
|
@@ -12,8 +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: '16'
|
#server_version: '14'
|
||||||
use_savepoints: true
|
|
||||||
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
|
||||||
@@ -21,32 +20,7 @@ doctrine:
|
|||||||
mappings:
|
mappings:
|
||||||
App:
|
App:
|
||||||
is_bundle: false
|
is_bundle: false
|
||||||
|
type: annotation
|
||||||
dir: '%kernel.project_dir%/src/Entity'
|
dir: '%kernel.project_dir%/src/Entity'
|
||||||
prefix: 'App\Entity'
|
prefix: 'App\Entity'
|
||||||
alias: App
|
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
|
|
||||||
|
@@ -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'
|
||||||
@@ -15,7 +15,6 @@ doctrine_migrations:
|
|||||||
'Chill\Migrations\AsideActivity': '@ChillAsideActivityBundle/migrations'
|
'Chill\Migrations\AsideActivity': '@ChillAsideActivityBundle/migrations'
|
||||||
'Chill\Migrations\Calendar': '@ChillCalendarBundle/migrations'
|
'Chill\Migrations\Calendar': '@ChillCalendarBundle/migrations'
|
||||||
'Chill\Migrations\Budget': '@ChillBudgetBundle/migrations'
|
'Chill\Migrations\Budget': '@ChillBudgetBundle/migrations'
|
||||||
'Chill\Migrations\Ticket': '@ChillTicketBundle/migrations'
|
|
||||||
all_or_nothing:
|
all_or_nothing:
|
||||||
true
|
true
|
||||||
|
|
||||||
|
@@ -14,7 +14,7 @@ framework:
|
|||||||
- '%env(resolve:TRUSTED_HOSTS)%'
|
- '%env(resolve:TRUSTED_HOSTS)%'
|
||||||
|
|
||||||
#csrf_protection: true
|
#csrf_protection: true
|
||||||
http_method_override: false
|
#http_method_override: true
|
||||||
|
|
||||||
# Enables session support. Note that the session will ONLY be started if you read or write from it.
|
# 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.
|
# Remove or comment this section to explicitly disable session support.
|
||||||
@@ -22,7 +22,6 @@ framework:
|
|||||||
handler_id: null
|
handler_id: null
|
||||||
cookie_secure: auto
|
cookie_secure: auto
|
||||||
cookie_samesite: lax
|
cookie_samesite: lax
|
||||||
storage_factory_id: session.storage.factory.native
|
|
||||||
|
|
||||||
#esi: true
|
#esi: true
|
||||||
#fragments: true
|
#fragments: true
|
||||||
@@ -34,9 +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'
|
||||||
|
|
||||||
when@test:
|
|
||||||
framework:
|
|
||||||
test: true
|
|
||||||
session:
|
|
||||||
storage_factory_id: session.storage.factory.mock_file
|
|
||||||
|
@@ -1,63 +0,0 @@
|
|||||||
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
|
|
@@ -1,12 +0,0 @@
|
|||||||
when@dev: &dev
|
|
||||||
nelmio_alice:
|
|
||||||
functions_blacklist:
|
|
||||||
- 'current'
|
|
||||||
- 'shuffle'
|
|
||||||
- 'date'
|
|
||||||
- 'time'
|
|
||||||
- 'file'
|
|
||||||
- 'md5'
|
|
||||||
- 'sha1'
|
|
||||||
|
|
||||||
when@test: *dev
|
|
@@ -7,5 +7,15 @@ services:
|
|||||||
Psr\Http\Message\UploadedFileFactoryInterface: '@nyholm.psr7.psr17_factory'
|
Psr\Http\Message\UploadedFileFactoryInterface: '@nyholm.psr7.psr17_factory'
|
||||||
Psr\Http\Message\UriFactoryInterface: '@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:
|
nyholm.psr7.psr17_factory:
|
||||||
class: Nyholm\Psr7\Factory\Psr17Factory
|
class: Nyholm\Psr7\Factory\Psr17Factory
|
||||||
|
|
||||||
|
nyholm.psr7.httplug_factory:
|
||||||
|
class: Nyholm\Psr7\Factory\HttplugFactory
|
||||||
|
8
config/packages/prod/deprecations.yaml
Normal file
8
config/packages/prod/deprecations.yaml
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
# 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"
|
17
config/packages/prod/doctrine.yaml
Normal file
17
config/packages/prod/doctrine.yaml
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
doctrine:
|
||||||
|
orm:
|
||||||
|
auto_generate_proxy_classes: false
|
||||||
|
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
|
@@ -25,7 +25,6 @@ monolog:
|
|||||||
id: monolog.gelf_handler
|
id: monolog.gelf_handler
|
||||||
level: info
|
level: info
|
||||||
channels: ['!event', '!php']
|
channels: ['!event', '!php']
|
||||||
excluded_http_codes: [404, 405]
|
|
||||||
|
|
||||||
console:
|
console:
|
||||||
type: console
|
type: console
|
||||||
|
3
config/packages/prod/routing.yaml
Normal file
3
config/packages/prod/routing.yaml
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
framework:
|
||||||
|
router:
|
||||||
|
strict_requirements: null
|
4
config/packages/prod/webpack_encore.yaml
Normal file
4
config/packages/prod/webpack_encore.yaml
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
#webpack_encore:
|
||||||
|
# Cache the entrypoints.json (rebuild Symfony's cache when entrypoints.json changes)
|
||||||
|
# Available in version 1.2
|
||||||
|
#cache: true
|
@@ -5,8 +5,3 @@ framework:
|
|||||||
# Configure how to generate URLs in non-HTTP contexts, such as CLI commands.
|
# 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
|
# See https://symfony.com/doc/current/routing.html#generating-urls-in-commands
|
||||||
#default_uri: http://localhost
|
#default_uri: http://localhost
|
||||||
|
|
||||||
when@prod:
|
|
||||||
framework:
|
|
||||||
router:
|
|
||||||
strict_requirements: null
|
|
||||||
|
@@ -4,14 +4,9 @@ security:
|
|||||||
strategy: unanimous
|
strategy: unanimous
|
||||||
allow_if_all_abstain: false
|
allow_if_all_abstain: false
|
||||||
|
|
||||||
enable_authenticator_manager: true
|
# https://symfony.com/doc/current/security.html#where-do-users-come-from-user-providers
|
||||||
# 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:
|
providers:
|
||||||
|
|
||||||
chain_provider:
|
chain_provider:
|
||||||
chain :
|
chain :
|
||||||
providers: [in_memory, users]
|
providers: [in_memory, users]
|
||||||
@@ -21,13 +16,19 @@ security:
|
|||||||
admin: { password: '%env(resolve:ADMIN_PASSWORD)%', roles: ['ROLE_ADMIN', 'ROLE_ALLOWED_TO_SWITCH', 'ROLE_USER'] }
|
admin: { password: '%env(resolve:ADMIN_PASSWORD)%', roles: ['ROLE_ADMIN', 'ROLE_ALLOWED_TO_SWITCH', 'ROLE_USER'] }
|
||||||
users:
|
users:
|
||||||
id: chill.main.user_provider
|
id: chill.main.user_provider
|
||||||
|
|
||||||
encoders:
|
encoders:
|
||||||
Chill\MainBundle\Entity\User: auto
|
|
||||||
|
Chill\MainBundle\Entity\User:
|
||||||
|
algorithm: bcrypt
|
||||||
Symfony\Component\Security\Core\User\User: plaintext
|
Symfony\Component\Security\Core\User\User: plaintext
|
||||||
|
|
||||||
firewalls:
|
firewalls:
|
||||||
|
|
||||||
dev:
|
dev:
|
||||||
pattern: ^/(_(profiler|wdt)|css|images|js)/
|
pattern: ^/(_(profiler|wdt)|css|images|js)/
|
||||||
security: false
|
security: false
|
||||||
|
|
||||||
wopi:
|
wopi:
|
||||||
pattern: ^/wopi
|
pattern: ^/wopi
|
||||||
provider: chain_provider
|
provider: chain_provider
|
||||||
@@ -35,16 +36,15 @@ security:
|
|||||||
guard:
|
guard:
|
||||||
authenticators:
|
authenticators:
|
||||||
- lexik_jwt_authentication.jwt_token_authenticator
|
- lexik_jwt_authentication.jwt_token_authenticator
|
||||||
main:
|
|
||||||
# remove during upgrade from symfony 4 to symfony 5 TODO check this
|
default:
|
||||||
#anonymous: ~
|
anonymous: ~
|
||||||
provider: chain_provider
|
provider: chain_provider
|
||||||
form_login:
|
form_login:
|
||||||
csrf_parameter: _csrf_token
|
csrf_parameter: _csrf_token
|
||||||
csrf_token_id: authenticate
|
csrf_token_id: authenticate
|
||||||
#csrf_provider: security.csrf.token_manager
|
#csrf_provider: security.csrf.token_manager
|
||||||
# remove during upgrade from symfony 4 to symfony 5 TODO check this
|
logout_on_user_change: true
|
||||||
# logout_on_user_change: true
|
|
||||||
logout:
|
logout:
|
||||||
path: /logout
|
path: /logout
|
||||||
|
|
||||||
@@ -72,16 +72,3 @@ security:
|
|||||||
- { path: ^/([a-z]+/)?admin, roles: ROLE_ADMIN }
|
- { path: ^/([a-z]+/)?admin, roles: ROLE_ADMIN }
|
||||||
# other pages, only for regular user (no admin)
|
# other pages, only for regular user (no admin)
|
||||||
- { path: ^/, roles: ROLE_USER }
|
- { 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
|
|
||||||
|
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)%'
|
6
config/packages/test/framework.yaml
Normal file
6
config/packages/test/framework.yaml
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
framework:
|
||||||
|
test: true
|
||||||
|
session:
|
||||||
|
storage_id: session.storage.mock_file
|
||||||
|
assets:
|
||||||
|
json_manifest_path: NULL
|
12
config/packages/test/monolog.yaml
Normal file
12
config/packages/test/monolog.yaml
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
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
|
2
config/packages/test/nelmio_alice.yaml
Normal file
2
config/packages/test/nelmio_alice.yaml
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
imports:
|
||||||
|
- { resource: ../dev/nelmio_alice.yaml }
|
2
config/packages/test/twig.yaml
Normal file
2
config/packages/test/twig.yaml
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
twig:
|
||||||
|
strict_variables: true
|
3
config/packages/test/validator.yaml
Normal file
3
config/packages/test/validator.yaml
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
framework:
|
||||||
|
validation:
|
||||||
|
not_compromised_password: false
|
6
config/packages/test/web_profiler.yaml
Normal file
6
config/packages/test/web_profiler.yaml
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
web_profiler:
|
||||||
|
toolbar: false
|
||||||
|
intercept_redirects: false
|
||||||
|
|
||||||
|
framework:
|
||||||
|
profiler: { collect: false }
|
2
config/packages/test/webpack_encore.yaml
Normal file
2
config/packages/test/webpack_encore.yaml
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
webpack_encore:
|
||||||
|
strict_mode: false
|
@@ -1,6 +1,7 @@
|
|||||||
framework:
|
framework:
|
||||||
|
|
||||||
default_locale: '%env(resolve:LOCALE)%'
|
default_locale: '%env(resolve:LOCALE)%'
|
||||||
|
|
||||||
translator:
|
translator:
|
||||||
default_path: '%kernel.project_dir%/translations'
|
default_path: '%kernel.project_dir%/translations'
|
||||||
fallbacks: [ '%env(resolve:LOCALE)%' ]
|
fallbacks: [ '%env(resolve:LOCALE)%' ]
|
||||||
providers:
|
|
||||||
|
@@ -1,5 +1,8 @@
|
|||||||
twig:
|
twig:
|
||||||
default_path: '%kernel.project_dir%/templates'
|
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 !!
|
## 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 sf5 https://symfony.com/doc/current/form/form_themes.html
|
||||||
@@ -12,7 +15,3 @@ twig:
|
|||||||
#
|
#
|
||||||
form_themes: ['@ChillMain/Form/bootstrap5/bootstrap_5_horizontal_layout.html.twig']
|
form_themes: ['@ChillMain/Form/bootstrap5/bootstrap_5_horizontal_layout.html.twig']
|
||||||
#form_themes: ['bootstrap_5_horizontal_layout.html.twig']
|
#form_themes: ['bootstrap_5_horizontal_layout.html.twig']
|
||||||
|
|
||||||
when@test:
|
|
||||||
twig:
|
|
||||||
strict_variables: true
|
|
||||||
|
@@ -6,8 +6,3 @@ framework:
|
|||||||
# For instance, basic validation constraints will be inferred from Doctrine's metadata.
|
# For instance, basic validation constraints will be inferred from Doctrine's metadata.
|
||||||
#auto_mapping:
|
#auto_mapping:
|
||||||
# App\Entity\: []
|
# App\Entity\: []
|
||||||
|
|
||||||
when@test:
|
|
||||||
framework:
|
|
||||||
validation:
|
|
||||||
not_compromised_password: false
|
|
||||||
|
@@ -1,15 +0,0 @@
|
|||||||
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,18 +1,16 @@
|
|||||||
|
---
|
||||||
webpack_encore:
|
webpack_encore:
|
||||||
# The path where Encore is building the assets - i.e. Encore.setOutputPath()
|
# The path where Encore is building the assets - i.e. Encore.setOutputPath()
|
||||||
output_path: '%kernel.project_dir%/public/build'
|
output_path: '%kernel.project_dir%/public/build'
|
||||||
|
|
||||||
# If multiple builds are defined (as shown below), you can disable the default build:
|
# If multiple builds are defined (as shown below), you can disable the default build:
|
||||||
# output_path: false
|
# output_path: false
|
||||||
|
|
||||||
# Set attributes that will be rendered on all script and link tags
|
# Set attributes that will be rendered on all script and link tags
|
||||||
script_attributes:
|
script_attributes:
|
||||||
defer: true
|
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:
|
# 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')
|
# If using Encore.enableIntegrityHashes() and need the crossorigin attribute (default: false, or use 'anonymous' or 'use-credentials')
|
||||||
# crossorigin: 'anonymous'
|
# crossorigin: 'anonymous'
|
||||||
@@ -25,17 +23,11 @@ webpack_encore:
|
|||||||
|
|
||||||
# If you have multiple builds:
|
# If you have multiple builds:
|
||||||
# builds:
|
# builds:
|
||||||
# pass the build name as the 3rd argument to the Twig functions
|
# pass "frontend" as the 3rg arg to the Twig functions
|
||||||
# {{ encore_entry_script_tags('entry1', null, 'frontend') }}
|
# {{ encore_entry_script_tags('entry1', null, 'frontend') }}
|
||||||
|
|
||||||
# frontend: '%kernel.project_dir%/public/frontend/build'
|
# frontend: '%kernel.project_dir%/public/frontend/build'
|
||||||
|
|
||||||
#when@prod:
|
# Cache the entrypoints.json (rebuild Symfony's cache when entrypoints.json changes)
|
||||||
# webpack_encore:
|
# Put in config/packages/prod/webpack_encore.yaml
|
||||||
# # Cache the entrypoints.json (rebuild Symfony's cache when entrypoints.json changes)
|
# cache: true
|
||||||
# # Available in version 1.2
|
|
||||||
# cache: true
|
|
||||||
|
|
||||||
#when@test:
|
|
||||||
# webpack_encore:
|
|
||||||
# strict_mode: false
|
|
||||||
|
@@ -1,5 +1,9 @@
|
|||||||
<?php
|
<?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')) {
|
if (file_exists(dirname(__DIR__).'/var/cache/prod/App_KernelProdContainer.preload.php')) {
|
||||||
require dirname(__DIR__).'/var/cache/prod/App_KernelProdContainer.preload.php';
|
require dirname(__DIR__).'/var/cache/prod/App_KernelProdContainer.preload.php';
|
||||||
}
|
}
|
||||||
|
@@ -1,3 +0,0 @@
|
|||||||
chill_ticket_app:
|
|
||||||
resource: '@ChillTicketBundle/Controller/'
|
|
||||||
type: annotation
|
|
3
config/routes/dev/framework.yaml
Normal file
3
config/routes/dev/framework.yaml
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
_errors:
|
||||||
|
resource: '@FrameworkBundle/Resources/config/routing/errors.xml'
|
||||||
|
prefix: /_error
|
7
config/routes/dev/web_profiler.yaml
Normal file
7
config/routes/dev/web_profiler.yaml
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
web_profiler_wdt:
|
||||||
|
resource: '@WebProfilerBundle/Resources/config/routing/wdt.xml'
|
||||||
|
prefix: /_wdt
|
||||||
|
|
||||||
|
web_profiler_profiler:
|
||||||
|
resource: '@WebProfilerBundle/Resources/config/routing/profiler.xml'
|
||||||
|
prefix: /_profiler
|
@@ -1,4 +0,0 @@
|
|||||||
when@dev:
|
|
||||||
_errors:
|
|
||||||
resource: '@FrameworkBundle/Resources/config/routing/errors.xml'
|
|
||||||
prefix: /_error
|
|
@@ -1,8 +0,0 @@
|
|||||||
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.
|
# 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
|
# Put parameters here that don't need to change on each machine where the app is deployed
|
||||||
# https://symfony.com/doc/current/best_practices.html#use-parameters-for-application-configuration
|
# https://symfony.com/doc/current/best_practices/configuration.html#application-related-configuration
|
||||||
parameters:
|
parameters:
|
||||||
|
|
||||||
services:
|
services:
|
||||||
@@ -20,6 +20,12 @@ services:
|
|||||||
- '../src/Entity/'
|
- '../src/Entity/'
|
||||||
- '../src/Kernel.php'
|
- '../src/Kernel.php'
|
||||||
|
|
||||||
|
# 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
|
# add more service definitions when explicit configuration is needed
|
||||||
# please note that last definitions always *replace* previous ones
|
# please note that last definitions always *replace* previous ones
|
||||||
|
|
||||||
|
@@ -22,14 +22,6 @@ services:
|
|||||||
- DATABASE_URL=postgresql://postgres:postgres@db:5432/postgres?serverVersion=14&charset=utf8
|
- DATABASE_URL=postgresql://postgres:postgres@db:5432/postgres?serverVersion=14&charset=utf8
|
||||||
links:
|
links:
|
||||||
- smtp
|
- 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:
|
nginx:
|
||||||
volumes:
|
volumes:
|
||||||
@@ -105,5 +97,5 @@ services:
|
|||||||
# volumes:
|
# volumes:
|
||||||
# - "./docker/pgadmin4/servers.json:/pgadmin4/servers.json:ro"
|
# - "./docker/pgadmin4/servers.json:/pgadmin4/servers.json:ro"
|
||||||
#
|
#
|
||||||
|
|
||||||
|
|
||||||
|
@@ -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:20 ${cmd}
|
node:16 ${cmd}
|
||||||
|
@@ -3,11 +3,8 @@
|
|||||||
"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 vendor/chill-project/chill-bundles/src/Bundle/ChillTicketBundle/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",
|
||||||
"specs": "yarn run specs-build && yarn run specs-validate"
|
"specs": "yarn run specs-build && yarn run specs-validate"
|
||||||
}
|
}
|
||||||
|
@@ -1,8 +0,0 @@
|
|||||||
parameters:
|
|
||||||
level: 6
|
|
||||||
paths:
|
|
||||||
- bin/
|
|
||||||
- config/
|
|
||||||
- public/
|
|
||||||
- src/
|
|
||||||
- tests/
|
|
@@ -6,34 +6,36 @@
|
|||||||
backupGlobals="false"
|
backupGlobals="false"
|
||||||
colors="true"
|
colors="true"
|
||||||
bootstrap="tests/bootstrap.php"
|
bootstrap="tests/bootstrap.php"
|
||||||
convertDeprecationsToExceptions="false"
|
|
||||||
>
|
>
|
||||||
<php>
|
<php>
|
||||||
<ini name="display_errors" value="1" />
|
|
||||||
<ini name="error_reporting" value="-1" />
|
<ini name="error_reporting" value="-1" />
|
||||||
<server name="APP_ENV" value="test" force="true" />
|
<server name="APP_ENV" value="test" force="true" />
|
||||||
<server name="SHELL_VERBOSITY" value="-1" />
|
<server name="SHELL_VERBOSITY" value="-1" />
|
||||||
<server name="SYMFONY_PHPUNIT_REMOVE" value="" />
|
<env name="SYMFONY_DEPRECATIONS_HELPER" value="weak" />
|
||||||
<server name="SYMFONY_PHPUNIT_VERSION" value="9.5" />
|
|
||||||
</php>
|
</php>
|
||||||
|
|
||||||
<testsuites>
|
<testsuites>
|
||||||
<testsuite name="Project Test Suite">
|
|
||||||
<directory>tests</directory>
|
<!--
|
||||||
|
Test suites for chill-bundles
|
||||||
|
|
||||||
|
Those test suites are repeated here for convenience for
|
||||||
|
developers
|
||||||
|
-->
|
||||||
|
<testsuite name="MainBundle">
|
||||||
|
<directory suffix="Test.php">vendor/chill-project/chill-bundles/src/Bundle/ChillMainBundle/Tests/</directory>
|
||||||
|
</testsuite>
|
||||||
|
|
||||||
|
<testsuite name="PersonBundle">
|
||||||
|
<directory suffix="Test.php">vendor/chill-project/chill-bundles/src/Bundle/ChillPersonBundle/Tests/</directory>
|
||||||
|
</testsuite>
|
||||||
|
|
||||||
|
<testsuite name="VendeeBundle">
|
||||||
|
<directory suffix="Test.php">tests/</directory>
|
||||||
</testsuite>
|
</testsuite>
|
||||||
</testsuites>
|
</testsuites>
|
||||||
|
|
||||||
<coverage processUncoveredFiles="true">
|
|
||||||
<include>
|
|
||||||
<directory suffix=".php">src</directory>
|
|
||||||
</include>
|
|
||||||
</coverage>
|
|
||||||
|
|
||||||
<listeners>
|
<listeners>
|
||||||
<listener class="Symfony\Bridge\PhpUnit\SymfonyTestsListener" />
|
<listener class="Symfony\Bridge\PhpUnit\SymfonyTestsListener" />
|
||||||
</listeners>
|
</listeners>
|
||||||
|
|
||||||
<!-- Uncomment when adding extensions
|
|
||||||
<extensions>
|
|
||||||
</extensions>
|
|
||||||
</phpunit>
|
</phpunit>
|
||||||
|
@@ -1,9 +1,27 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
use App\Kernel;
|
use App\Kernel;
|
||||||
|
use Symfony\Component\ErrorHandler\Debug;
|
||||||
|
use Symfony\Component\HttpFoundation\Request;
|
||||||
|
|
||||||
require_once dirname(__DIR__).'/vendor/autoload_runtime.php';
|
require dirname(__DIR__).'/config/bootstrap.php';
|
||||||
|
|
||||||
return function (array $context) {
|
if ($_SERVER['APP_DEBUG']) {
|
||||||
return new Kernel($context['APP_ENV'], (bool) $context['APP_DEBUG']);
|
umask(0000);
|
||||||
};
|
|
||||||
|
Debug::enable();
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($trustedProxies = $_SERVER['TRUSTED_PROXIES'] ?? false) {
|
||||||
|
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) {
|
||||||
|
Request::setTrustedHosts([$trustedHosts]);
|
||||||
|
}
|
||||||
|
|
||||||
|
$kernel = new Kernel($_SERVER['APP_ENV'], (bool) $_SERVER['APP_DEBUG']);
|
||||||
|
$request = Request::createFromGlobals();
|
||||||
|
$response = $kernel->handle($request);
|
||||||
|
$response->send();
|
||||||
|
$kernel->terminate($request, $response);
|
||||||
|
@@ -3,9 +3,52 @@
|
|||||||
namespace App;
|
namespace App;
|
||||||
|
|
||||||
use Symfony\Bundle\FrameworkBundle\Kernel\MicroKernelTrait;
|
use Symfony\Bundle\FrameworkBundle\Kernel\MicroKernelTrait;
|
||||||
|
use Symfony\Component\Config\Loader\LoaderInterface;
|
||||||
|
use Symfony\Component\Config\Resource\FileResource;
|
||||||
|
use Symfony\Component\DependencyInjection\ContainerBuilder;
|
||||||
use Symfony\Component\HttpKernel\Kernel as BaseKernel;
|
use Symfony\Component\HttpKernel\Kernel as BaseKernel;
|
||||||
|
use Symfony\Component\Routing\RouteCollectionBuilder;
|
||||||
|
|
||||||
class Kernel extends BaseKernel
|
class Kernel extends BaseKernel
|
||||||
{
|
{
|
||||||
use MicroKernelTrait;
|
use MicroKernelTrait;
|
||||||
|
|
||||||
|
private const CONFIG_EXTS = '.{php,xml,yaml,yml}';
|
||||||
|
|
||||||
|
public function registerBundles(): iterable
|
||||||
|
{
|
||||||
|
$contents = require $this->getProjectDir().'/config/bundles.php';
|
||||||
|
foreach ($contents as $class => $envs) {
|
||||||
|
if ($envs[$this->environment] ?? $envs['all'] ?? false) {
|
||||||
|
yield new $class();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getProjectDir(): string
|
||||||
|
{
|
||||||
|
return \dirname(__DIR__);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function configureContainer(ContainerBuilder $container, LoaderInterface $loader): void
|
||||||
|
{
|
||||||
|
$container->addResource(new FileResource($this->getProjectDir().'/config/bundles.php'));
|
||||||
|
$container->setParameter('container.dumper.inline_class_loader', \PHP_VERSION_ID < 70400 || $this->debug);
|
||||||
|
$container->setParameter('container.dumper.inline_factories', true);
|
||||||
|
$confDir = $this->getProjectDir().'/config';
|
||||||
|
|
||||||
|
$loader->load($confDir.'/{packages}/*'.self::CONFIG_EXTS, 'glob');
|
||||||
|
$loader->load($confDir.'/{packages}/'.$this->environment.'/*'.self::CONFIG_EXTS, 'glob');
|
||||||
|
$loader->load($confDir.'/{services}'.self::CONFIG_EXTS, 'glob');
|
||||||
|
$loader->load($confDir.'/{services}_'.$this->environment.self::CONFIG_EXTS, 'glob');
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function configureRoutes(RouteCollectionBuilder $routes): void
|
||||||
|
{
|
||||||
|
$confDir = $this->getProjectDir().'/config';
|
||||||
|
|
||||||
|
$routes->import($confDir.'/{routes}/'.$this->environment.'/*'.self::CONFIG_EXTS, '/', 'glob');
|
||||||
|
$routes->import($confDir.'/{routes}/*'.self::CONFIG_EXTS, '/', 'glob');
|
||||||
|
$routes->import($confDir.'/{routes}'.self::CONFIG_EXTS, '/', 'glob');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
215
symfony.lock
215
symfony.lock
@@ -2,6 +2,9 @@
|
|||||||
"brick/math": {
|
"brick/math": {
|
||||||
"version": "0.9.3"
|
"version": "0.9.3"
|
||||||
},
|
},
|
||||||
|
"champs-libres/async-uploader-bundle": {
|
||||||
|
"version": "dev-sf4"
|
||||||
|
},
|
||||||
"champs-libres/wopi-bundle": {
|
"champs-libres/wopi-bundle": {
|
||||||
"version": "dev-master"
|
"version": "dev-master"
|
||||||
},
|
},
|
||||||
@@ -15,10 +18,10 @@
|
|||||||
"version": "1.11.99.5"
|
"version": "1.11.99.5"
|
||||||
},
|
},
|
||||||
"doctrine/annotations": {
|
"doctrine/annotations": {
|
||||||
"version": "1.14",
|
"version": "1.0",
|
||||||
"recipe": {
|
"recipe": {
|
||||||
"repo": "github.com/symfony/recipes",
|
"repo": "github.com/symfony/recipes",
|
||||||
"branch": "main",
|
"branch": "master",
|
||||||
"version": "1.0",
|
"version": "1.0",
|
||||||
"ref": "a2759dd6123694c8d901d0ec80006e044c2e6457"
|
"ref": "a2759dd6123694c8d901d0ec80006e044c2e6457"
|
||||||
},
|
},
|
||||||
@@ -45,38 +48,40 @@
|
|||||||
"version": "v0.5.3"
|
"version": "v0.5.3"
|
||||||
},
|
},
|
||||||
"doctrine/doctrine-bundle": {
|
"doctrine/doctrine-bundle": {
|
||||||
"version": "2.11",
|
"version": "2.7",
|
||||||
"recipe": {
|
"recipe": {
|
||||||
"repo": "github.com/symfony/recipes",
|
"repo": "github.com/symfony/recipes",
|
||||||
"branch": "main",
|
"branch": "main",
|
||||||
"version": "2.4",
|
"version": "2.3",
|
||||||
"ref": "cc62b7e9470998c640ee99d284a013a676f1fc5e"
|
"ref": "b8ddff356705ad8e704ea75b6872ce89a15d614d"
|
||||||
},
|
},
|
||||||
"files": [
|
"files": [
|
||||||
"config/packages/doctrine.yaml",
|
"config/packages/doctrine.yaml",
|
||||||
|
"config/packages/prod/doctrine.yaml",
|
||||||
|
"config/packages/test/doctrine.yaml",
|
||||||
"src/Entity/.gitignore",
|
"src/Entity/.gitignore",
|
||||||
"src/Repository/.gitignore"
|
"src/Repository/.gitignore"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"doctrine/doctrine-fixtures-bundle": {
|
"doctrine/doctrine-fixtures-bundle": {
|
||||||
"version": "3.4",
|
"version": "3.0",
|
||||||
"recipe": {
|
"recipe": {
|
||||||
"repo": "github.com/symfony/recipes",
|
"repo": "github.com/symfony/recipes",
|
||||||
"branch": "main",
|
"branch": "master",
|
||||||
"version": "3.0",
|
"version": "3.0",
|
||||||
"ref": "1f5514cfa15b947298df4d771e694e578d4c204d"
|
"ref": "fc52d86631a6dfd9fdf3381d0b7e3df2069e51b3"
|
||||||
},
|
},
|
||||||
"files": [
|
"files": [
|
||||||
"src/DataFixtures/AppFixtures.php"
|
"src/DataFixtures/AppFixtures.php"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"doctrine/doctrine-migrations-bundle": {
|
"doctrine/doctrine-migrations-bundle": {
|
||||||
"version": "3.2",
|
"version": "2.2",
|
||||||
"recipe": {
|
"recipe": {
|
||||||
"repo": "github.com/symfony/recipes",
|
"repo": "github.com/symfony/recipes",
|
||||||
"branch": "main",
|
"branch": "master",
|
||||||
"version": "3.1",
|
"version": "2.2",
|
||||||
"ref": "1d01ec03c6ecbd67c3375c5478c9a423ae5d6a33"
|
"ref": "baaa439e3e3179e69e3da84b671f0a3e4a2f56ad"
|
||||||
},
|
},
|
||||||
"files": [
|
"files": [
|
||||||
"config/packages/doctrine_migrations.yaml",
|
"config/packages/doctrine_migrations.yaml",
|
||||||
@@ -140,9 +145,15 @@
|
|||||||
"guzzlehttp/psr7": {
|
"guzzlehttp/psr7": {
|
||||||
"version": "1.6.1"
|
"version": "1.6.1"
|
||||||
},
|
},
|
||||||
|
"guzzlehttp/uri-template": {
|
||||||
|
"version": "v0.2.0"
|
||||||
|
},
|
||||||
"hslavich/oneloginsaml-bundle": {
|
"hslavich/oneloginsaml-bundle": {
|
||||||
"version": "v1.5.2"
|
"version": "v1.5.2"
|
||||||
},
|
},
|
||||||
|
"justinrainbow/json-schema": {
|
||||||
|
"version": "5.2.10"
|
||||||
|
},
|
||||||
"knplabs/knp-menu": {
|
"knplabs/knp-menu": {
|
||||||
"version": "v3.1.1"
|
"version": "v3.1.1"
|
||||||
},
|
},
|
||||||
@@ -174,12 +185,12 @@
|
|||||||
"version": "9.6.2"
|
"version": "9.6.2"
|
||||||
},
|
},
|
||||||
"lexik/jwt-authentication-bundle": {
|
"lexik/jwt-authentication-bundle": {
|
||||||
"version": "2.19",
|
"version": "2.16",
|
||||||
"recipe": {
|
"recipe": {
|
||||||
"repo": "github.com/symfony/recipes",
|
"repo": "github.com/symfony/recipes",
|
||||||
"branch": "main",
|
"branch": "main",
|
||||||
"version": "2.5",
|
"version": "2.5",
|
||||||
"ref": "e9481b233a11ef7e15fe055a2b21fd3ac1aa2bb7"
|
"ref": "5b2157bcd5778166a5696e42f552ad36529a07a6"
|
||||||
},
|
},
|
||||||
"files": [
|
"files": [
|
||||||
"config/packages/lexik_jwt_authentication.yaml"
|
"config/packages/lexik_jwt_authentication.yaml"
|
||||||
@@ -216,27 +227,28 @@
|
|||||||
"version": "1.7.7"
|
"version": "1.7.7"
|
||||||
},
|
},
|
||||||
"nelmio/alice": {
|
"nelmio/alice": {
|
||||||
"version": "3.12",
|
"version": "3.2",
|
||||||
"recipe": {
|
"recipe": {
|
||||||
"repo": "github.com/symfony/recipes",
|
"repo": "github.com/symfony/recipes",
|
||||||
"branch": "main",
|
"branch": "master",
|
||||||
"version": "3.3",
|
"version": "3.2",
|
||||||
"ref": "42b52d2065dc3fde27912d502c18ca1926e35ae2"
|
"ref": "0b9900ece737bec7752e4155c0164639dd9b0cb0"
|
||||||
},
|
},
|
||||||
"files": [
|
"files": [
|
||||||
"config/packages/nelmio_alice.yaml"
|
"config/packages/dev/nelmio_alice.yaml",
|
||||||
|
"config/packages/test/nelmio_alice.yaml"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"nikic/php-parser": {
|
"nikic/php-parser": {
|
||||||
"version": "v4.7.0"
|
"version": "v4.7.0"
|
||||||
},
|
},
|
||||||
"nyholm/psr7": {
|
"nyholm/psr7": {
|
||||||
"version": "1.8",
|
"version": "1.0",
|
||||||
"recipe": {
|
"recipe": {
|
||||||
"repo": "github.com/symfony/recipes",
|
"repo": "github.com/symfony/recipes",
|
||||||
"branch": "main",
|
"branch": "master",
|
||||||
"version": "1.0",
|
"version": "1.0",
|
||||||
"ref": "4a8c0345442dcca1d8a2c65633dcf0285dd5a5a2"
|
"ref": "0cd4d2d0e7f646fda75f9944f747a56e6ed13d4c"
|
||||||
},
|
},
|
||||||
"files": [
|
"files": [
|
||||||
"config/packages/nyholm_psr7.yaml"
|
"config/packages/nyholm_psr7.yaml"
|
||||||
@@ -269,6 +281,9 @@
|
|||||||
"php-http/message-factory": {
|
"php-http/message-factory": {
|
||||||
"version": "v1.0.2"
|
"version": "v1.0.2"
|
||||||
},
|
},
|
||||||
|
"php-opencloud/openstack": {
|
||||||
|
"version": "v3.0.7"
|
||||||
|
},
|
||||||
"phpdocumentor/reflection-common": {
|
"phpdocumentor/reflection-common": {
|
||||||
"version": "2.2.0"
|
"version": "2.2.0"
|
||||||
},
|
},
|
||||||
@@ -291,16 +306,7 @@
|
|||||||
"version": "1.11.1"
|
"version": "1.11.1"
|
||||||
},
|
},
|
||||||
"phpstan/phpstan": {
|
"phpstan/phpstan": {
|
||||||
"version": "1.10",
|
"version": "1.1.2"
|
||||||
"recipe": {
|
|
||||||
"repo": "github.com/symfony/recipes-contrib",
|
|
||||||
"branch": "main",
|
|
||||||
"version": "1.0",
|
|
||||||
"ref": "5e490cc197fb6bb1ae22e5abbc531ddc633b6767"
|
|
||||||
},
|
|
||||||
"files": [
|
|
||||||
"phpstan.dist.neon"
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
"phpunit/php-code-coverage": {
|
"phpunit/php-code-coverage": {
|
||||||
"version": "6.1.4"
|
"version": "6.1.4"
|
||||||
@@ -318,12 +324,12 @@
|
|||||||
"version": "2.1.2"
|
"version": "2.1.2"
|
||||||
},
|
},
|
||||||
"phpunit/phpunit": {
|
"phpunit/phpunit": {
|
||||||
"version": "10.3",
|
"version": "4.7",
|
||||||
"recipe": {
|
"recipe": {
|
||||||
"repo": "github.com/symfony/recipes",
|
"repo": "github.com/symfony/recipes",
|
||||||
"branch": "main",
|
"branch": "master",
|
||||||
"version": "9.6",
|
"version": "4.7",
|
||||||
"ref": "7364a21d87e658eb363c5020c072ecfdc12e2326"
|
"ref": "00fdb38c318774cd39f475a753028a5e8d25d47c"
|
||||||
},
|
},
|
||||||
"files": [
|
"files": [
|
||||||
".env.test",
|
".env.test",
|
||||||
@@ -418,6 +424,9 @@
|
|||||||
"sebastian/recursion-context": {
|
"sebastian/recursion-context": {
|
||||||
"version": "3.0.0"
|
"version": "3.0.0"
|
||||||
},
|
},
|
||||||
|
"sebastian/resource-operations": {
|
||||||
|
"version": "2.0.1"
|
||||||
|
},
|
||||||
"sebastian/type": {
|
"sebastian/type": {
|
||||||
"version": "3.0.0"
|
"version": "3.0.0"
|
||||||
},
|
},
|
||||||
@@ -455,30 +464,34 @@
|
|||||||
"version": "v5.1.3"
|
"version": "v5.1.3"
|
||||||
},
|
},
|
||||||
"symfony/console": {
|
"symfony/console": {
|
||||||
"version": "5.4",
|
"version": "4.4",
|
||||||
"recipe": {
|
"recipe": {
|
||||||
"repo": "github.com/symfony/recipes",
|
"repo": "github.com/symfony/recipes",
|
||||||
"branch": "main",
|
"branch": "master",
|
||||||
"version": "5.3",
|
"version": "4.4",
|
||||||
"ref": "da0c8be8157600ad34f10ff0c9cc91232522e047"
|
"ref": "ea8c0eda34fda57e7d5cd8cbd889e2a387e3472c"
|
||||||
},
|
},
|
||||||
"files": [
|
"files": [
|
||||||
"bin/console"
|
"bin/console",
|
||||||
|
"config/bootstrap.php"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"symfony/css-selector": {
|
"symfony/css-selector": {
|
||||||
"version": "v5.2.3"
|
"version": "v5.2.3"
|
||||||
},
|
},
|
||||||
|
"symfony/debug": {
|
||||||
|
"version": "v4.4.11"
|
||||||
|
},
|
||||||
"symfony/debug-bundle": {
|
"symfony/debug-bundle": {
|
||||||
"version": "5.4",
|
"version": "4.1",
|
||||||
"recipe": {
|
"recipe": {
|
||||||
"repo": "github.com/symfony/recipes",
|
"repo": "github.com/symfony/recipes",
|
||||||
"branch": "main",
|
"branch": "master",
|
||||||
"version": "5.3",
|
"version": "4.1",
|
||||||
"ref": "5aa8aa48234c8eb6dbdd7b3cd5d791485d2cec4b"
|
"ref": "f8863cbad2f2e58c4b65fa1eac892ab189971bea"
|
||||||
},
|
},
|
||||||
"files": [
|
"files": [
|
||||||
"config/packages/debug.yaml"
|
"config/packages/dev/debug.yaml"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"symfony/dependency-injection": {
|
"symfony/dependency-injection": {
|
||||||
@@ -515,12 +528,12 @@
|
|||||||
"version": "v5.1.3"
|
"version": "v5.1.3"
|
||||||
},
|
},
|
||||||
"symfony/flex": {
|
"symfony/flex": {
|
||||||
"version": "1.20",
|
"version": "1.0",
|
||||||
"recipe": {
|
"recipe": {
|
||||||
"repo": "github.com/symfony/recipes",
|
"repo": "github.com/symfony/recipes",
|
||||||
"branch": "main",
|
"branch": "master",
|
||||||
"version": "1.0",
|
"version": "1.0",
|
||||||
"ref": "146251ae39e06a95be0fe3d13c807bcf3938b172"
|
"ref": "c0eeb50665f0f77226616b6038a9b06c03752d8e"
|
||||||
},
|
},
|
||||||
"files": [
|
"files": [
|
||||||
".env"
|
".env"
|
||||||
@@ -530,18 +543,20 @@
|
|||||||
"version": "v5.1.3"
|
"version": "v5.1.3"
|
||||||
},
|
},
|
||||||
"symfony/framework-bundle": {
|
"symfony/framework-bundle": {
|
||||||
"version": "5.4",
|
"version": "4.4",
|
||||||
"recipe": {
|
"recipe": {
|
||||||
"repo": "github.com/symfony/recipes",
|
"repo": "github.com/symfony/recipes",
|
||||||
"branch": "main",
|
"branch": "main",
|
||||||
"version": "5.4",
|
"version": "4.4",
|
||||||
"ref": "3cd216a4d007b78d8554d44a5b1c0a446dab24fb"
|
"ref": "24eb45d1355810154890460e6a05c0ca27318fe7"
|
||||||
},
|
},
|
||||||
"files": [
|
"files": [
|
||||||
|
"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/preload.php",
|
"config/preload.php",
|
||||||
"config/routes/framework.yaml",
|
"config/routes/dev/framework.yaml",
|
||||||
"config/services.yaml",
|
"config/services.yaml",
|
||||||
"public/index.php",
|
"public/index.php",
|
||||||
"src/Controller/.gitignore",
|
"src/Controller/.gitignore",
|
||||||
@@ -567,9 +582,9 @@
|
|||||||
"version": "5.4",
|
"version": "5.4",
|
||||||
"recipe": {
|
"recipe": {
|
||||||
"repo": "github.com/symfony/recipes",
|
"repo": "github.com/symfony/recipes",
|
||||||
"branch": "main",
|
"branch": "master",
|
||||||
"version": "4.3",
|
"version": "4.3",
|
||||||
"ref": "df66ee1f226c46f01e85c29c2f7acce0596ba35a"
|
"ref": "bbfc7e27257d3a3f12a6fb0a42540a42d9623a37"
|
||||||
},
|
},
|
||||||
"files": [
|
"files": [
|
||||||
"config/packages/mailer.yaml"
|
"config/packages/mailer.yaml"
|
||||||
@@ -590,7 +605,7 @@
|
|||||||
"repo": "github.com/symfony/recipes",
|
"repo": "github.com/symfony/recipes",
|
||||||
"branch": "main",
|
"branch": "main",
|
||||||
"version": "5.4",
|
"version": "5.4",
|
||||||
"ref": "8bd5f27013fb1d7217191c548e340f0bdb11912c"
|
"ref": "dfe610928a5c61619bdfc830cd7fa7f091368023"
|
||||||
},
|
},
|
||||||
"files": [
|
"files": [
|
||||||
"config/packages/messenger.yaml"
|
"config/packages/messenger.yaml"
|
||||||
@@ -603,27 +618,30 @@
|
|||||||
"version": "v5.1.3"
|
"version": "v5.1.3"
|
||||||
},
|
},
|
||||||
"symfony/monolog-bundle": {
|
"symfony/monolog-bundle": {
|
||||||
"version": "3.10",
|
"version": "3.3",
|
||||||
"recipe": {
|
"recipe": {
|
||||||
"repo": "github.com/symfony/recipes",
|
"repo": "github.com/symfony/recipes",
|
||||||
"branch": "main",
|
"branch": "master",
|
||||||
"version": "3.7",
|
"version": "3.3",
|
||||||
"ref": "aff23899c4440dd995907613c1dd709b6f59503f"
|
"ref": "d7249f7d560f6736115eee1851d02a65826f0a56"
|
||||||
},
|
},
|
||||||
"files": [
|
"files": [
|
||||||
"config/packages/monolog.yaml"
|
"config/packages/dev/monolog.yaml",
|
||||||
|
"config/packages/prod/deprecations.yaml",
|
||||||
|
"config/packages/prod/monolog.yaml",
|
||||||
|
"config/packages/test/monolog.yaml"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"symfony/options-resolver": {
|
"symfony/options-resolver": {
|
||||||
"version": "v5.1.3"
|
"version": "v5.1.3"
|
||||||
},
|
},
|
||||||
"symfony/phpunit-bridge": {
|
"symfony/phpunit-bridge": {
|
||||||
"version": "5.4",
|
"version": "5.1",
|
||||||
"recipe": {
|
"recipe": {
|
||||||
"repo": "github.com/symfony/recipes",
|
"repo": "github.com/symfony/recipes",
|
||||||
"branch": "main",
|
"branch": "master",
|
||||||
"version": "5.3",
|
"version": "5.1",
|
||||||
"ref": "07ce01a897311647520b43d4ddddad9537b99ba6"
|
"ref": "bf16921ef8309a81d9f046e9b6369c46bcbd031f"
|
||||||
},
|
},
|
||||||
"files": [
|
"files": [
|
||||||
".env.test",
|
".env.test",
|
||||||
@@ -672,25 +690,26 @@
|
|||||||
"version": "v2.1.1"
|
"version": "v2.1.1"
|
||||||
},
|
},
|
||||||
"symfony/routing": {
|
"symfony/routing": {
|
||||||
"version": "5.4",
|
"version": "5.1",
|
||||||
"recipe": {
|
"recipe": {
|
||||||
"repo": "github.com/symfony/recipes",
|
"repo": "github.com/symfony/recipes",
|
||||||
"branch": "main",
|
"branch": "master",
|
||||||
"version": "5.3",
|
"version": "5.1",
|
||||||
"ref": "85de1d8ae45b284c3c84b668171d2615049e698f"
|
"ref": "b4f3e7c95e38b606eef467e8a42a8408fc460c43"
|
||||||
},
|
},
|
||||||
"files": [
|
"files": [
|
||||||
|
"config/packages/prod/routing.yaml",
|
||||||
"config/packages/routing.yaml",
|
"config/packages/routing.yaml",
|
||||||
"config/routes.yaml"
|
"config/routes.yaml"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"symfony/security-bundle": {
|
"symfony/security-bundle": {
|
||||||
"version": "5.4",
|
"version": "4.4",
|
||||||
"recipe": {
|
"recipe": {
|
||||||
"repo": "github.com/symfony/recipes",
|
"repo": "github.com/symfony/recipes",
|
||||||
"branch": "main",
|
"branch": "master",
|
||||||
"version": "5.3",
|
"version": "4.4",
|
||||||
"ref": "98f1f2b0d635908c2b40f3675da2d23b1a069d30"
|
"ref": "7b4408dc203049666fe23fabed23cbadc6d8440f"
|
||||||
},
|
},
|
||||||
"files": [
|
"files": [
|
||||||
"config/packages/security.yaml"
|
"config/packages/security.yaml"
|
||||||
@@ -721,12 +740,12 @@
|
|||||||
"version": "v5.1.3"
|
"version": "v5.1.3"
|
||||||
},
|
},
|
||||||
"symfony/translation": {
|
"symfony/translation": {
|
||||||
"version": "5.4",
|
"version": "3.3",
|
||||||
"recipe": {
|
"recipe": {
|
||||||
"repo": "github.com/symfony/recipes",
|
"repo": "github.com/symfony/recipes",
|
||||||
"branch": "main",
|
"branch": "master",
|
||||||
"version": "5.3",
|
"version": "3.3",
|
||||||
"ref": "e28e27f53663cc34f0be2837aba18e3a1bef8e7b"
|
"ref": "2ad9d2545bce8ca1a863e50e92141f0b9d87ffcd"
|
||||||
},
|
},
|
||||||
"files": [
|
"files": [
|
||||||
"config/packages/translation.yaml",
|
"config/packages/translation.yaml",
|
||||||
@@ -740,27 +759,29 @@
|
|||||||
"version": "v4.4.11"
|
"version": "v4.4.11"
|
||||||
},
|
},
|
||||||
"symfony/twig-bundle": {
|
"symfony/twig-bundle": {
|
||||||
"version": "5.4",
|
"version": "4.4",
|
||||||
"recipe": {
|
"recipe": {
|
||||||
"repo": "github.com/symfony/recipes",
|
"repo": "github.com/symfony/recipes",
|
||||||
"branch": "main",
|
"branch": "master",
|
||||||
"version": "5.4",
|
"version": "4.4",
|
||||||
"ref": "bb2178c57eee79e6be0b297aa96fc0c0def81387"
|
"ref": "15a41bbd66a1323d09824a189b485c126bbefa51"
|
||||||
},
|
},
|
||||||
"files": [
|
"files": [
|
||||||
|
"config/packages/test/twig.yaml",
|
||||||
"config/packages/twig.yaml",
|
"config/packages/twig.yaml",
|
||||||
"templates/base.html.twig"
|
"templates/base.html.twig"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"symfony/validator": {
|
"symfony/validator": {
|
||||||
"version": "5.4",
|
"version": "4.3",
|
||||||
"recipe": {
|
"recipe": {
|
||||||
"repo": "github.com/symfony/recipes",
|
"repo": "github.com/symfony/recipes",
|
||||||
"branch": "main",
|
"branch": "master",
|
||||||
"version": "5.3",
|
"version": "4.3",
|
||||||
"ref": "c32cfd98f714894c4f128bb99aa2530c1227603c"
|
"ref": "d902da3e4952f18d3bf05aab29512eb61cabd869"
|
||||||
},
|
},
|
||||||
"files": [
|
"files": [
|
||||||
|
"config/packages/test/validator.yaml",
|
||||||
"config/packages/validator.yaml"
|
"config/packages/validator.yaml"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
@@ -771,25 +792,26 @@
|
|||||||
"version": "v5.1.3"
|
"version": "v5.1.3"
|
||||||
},
|
},
|
||||||
"symfony/web-profiler-bundle": {
|
"symfony/web-profiler-bundle": {
|
||||||
"version": "5.4",
|
"version": "3.3",
|
||||||
"recipe": {
|
"recipe": {
|
||||||
"repo": "github.com/symfony/recipes",
|
"repo": "github.com/symfony/recipes",
|
||||||
"branch": "main",
|
"branch": "master",
|
||||||
"version": "5.3",
|
"version": "3.3",
|
||||||
"ref": "24bbc3d84ef2f427f82104f766014e799eefcc3e"
|
"ref": "6bdfa1a95f6b2e677ab985cd1af2eae35d62e0f6"
|
||||||
},
|
},
|
||||||
"files": [
|
"files": [
|
||||||
"config/packages/web_profiler.yaml",
|
"config/packages/dev/web_profiler.yaml",
|
||||||
"config/routes/web_profiler.yaml"
|
"config/packages/test/web_profiler.yaml",
|
||||||
|
"config/routes/dev/web_profiler.yaml"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"symfony/webpack-encore-bundle": {
|
"symfony/webpack-encore-bundle": {
|
||||||
"version": "1.17",
|
"version": "1.9",
|
||||||
"recipe": {
|
"recipe": {
|
||||||
"repo": "github.com/symfony/recipes",
|
"repo": "github.com/symfony/recipes",
|
||||||
"branch": "main",
|
"branch": "master",
|
||||||
"version": "1.10",
|
"version": "1.9",
|
||||||
"ref": "eff2e505d4557c967b6710fe06bd947ba555cae5"
|
"ref": "9399a0bfc6ee7a0c019f952bca46d6a6045dd451"
|
||||||
},
|
},
|
||||||
"files": [
|
"files": [
|
||||||
"assets/app.js",
|
"assets/app.js",
|
||||||
@@ -797,6 +819,9 @@
|
|||||||
"assets/controllers.json",
|
"assets/controllers.json",
|
||||||
"assets/controllers/hello_controller.js",
|
"assets/controllers/hello_controller.js",
|
||||||
"assets/styles/app.css",
|
"assets/styles/app.css",
|
||||||
|
"config/packages/assets.yaml",
|
||||||
|
"config/packages/prod/webpack_encore.yaml",
|
||||||
|
"config/packages/test/webpack_encore.yaml",
|
||||||
"config/packages/webpack_encore.yaml",
|
"config/packages/webpack_encore.yaml",
|
||||||
"package.json",
|
"package.json",
|
||||||
"webpack.config.js"
|
"webpack.config.js"
|
||||||
|
143
templates/bundles/TwigBundle/Exception/error500.html.twig
Normal file
143
templates/bundles/TwigBundle/Exception/error500.html.twig
Normal file
@@ -0,0 +1,143 @@
|
|||||||
|
{% extends "@ChillMain/layout.html.twig" %}
|
||||||
|
|
||||||
|
{% block content %}
|
||||||
|
|
||||||
|
<div class="col-md-10 col-xxl error-page">
|
||||||
|
<h1 class="chill-red">{{ 'Oops, we came across an error!'|trans }}</h1>
|
||||||
|
|
||||||
|
<p>{{ 'Don\'t panick though, we\'ll fix it as soon as possible. To help us out, please send us the information below.'|trans }}</p>
|
||||||
|
|
||||||
|
<div id="error-details" class="flex-table alert alert-warning">
|
||||||
|
<dl>
|
||||||
|
<dt>{{ 'Date and time of error'|trans }}:</dt><dd>{{ "now"|date("d/m/Y H:i:s") }}</dd>
|
||||||
|
<dt>{{ 'Error message'|trans }}:</dt><dd>{{ exception.message }}</dd>
|
||||||
|
<dt>Stacktrace:</dt><dd>{{ exception.traceAsString }}</dd>
|
||||||
|
</dl>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<ul class="record_actions sticky-form-buttons">
|
||||||
|
<li>
|
||||||
|
<button data-copy="#error-details" data-done="Error details copied" class="btn btn-warning" id="copy">
|
||||||
|
<i class="fa fa-copy"></i>
|
||||||
|
{{ 'Copy'|trans }}
|
||||||
|
</button>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a class="btn btn-success" href="mailto:?subject=Chill Error {{ exception.statusCode }}&body=Datetime:%0D%0A{{ "now"|date("d/m/Y H:i:s") }}%0D%0A%0D%0AError message:%0D%0A{{ exception.message|escape('html_attr') }}%0D%0A%0D%0AStacktrace:%0D%0A{{ exception.traceAsString|escape('html_attr') }}">
|
||||||
|
|
||||||
|
{{ 'Send by email'|trans }}
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
|
{% block js %}
|
||||||
|
|
||||||
|
<script>
|
||||||
|
|
||||||
|
const activeClass = { copy: 'copyactive', paste: 'pasteactive' }
|
||||||
|
const doneMessage = { copy: 'copied', paste: 'pasted' }
|
||||||
|
const doneClass = 'done';
|
||||||
|
|
||||||
|
window && window.addEventListener('DOMContentLoaded', init);
|
||||||
|
|
||||||
|
function init() {
|
||||||
|
|
||||||
|
const body = document && document.body;
|
||||||
|
|
||||||
|
// clipboard API available?
|
||||||
|
if (!body || !navigator.clipboard) return;
|
||||||
|
|
||||||
|
// text copy active
|
||||||
|
if (navigator.clipboard.writeText) body.classList.add(activeClass.copy);
|
||||||
|
|
||||||
|
// text paste active
|
||||||
|
if (navigator.clipboard.readText) body.classList.add(activeClass.paste);
|
||||||
|
|
||||||
|
// copy/paste handler
|
||||||
|
body.addEventListener('click', clipboardHandler);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
async function clipboardHandler(e) {
|
||||||
|
|
||||||
|
// get clicked element
|
||||||
|
const
|
||||||
|
target = e.target,
|
||||||
|
type = (undefined === target.dataset.paste ? 'copy' : 'paste'),
|
||||||
|
content = target.dataset[type];
|
||||||
|
|
||||||
|
if (undefined === content) return;
|
||||||
|
|
||||||
|
// is CSS selector?
|
||||||
|
let select;
|
||||||
|
try {
|
||||||
|
select = content && document.querySelector(content);
|
||||||
|
}
|
||||||
|
catch (error) {}
|
||||||
|
|
||||||
|
// call copy or paste handler
|
||||||
|
const handler = { copy, paste };
|
||||||
|
if (!await handler[type]( select, content )) return;
|
||||||
|
|
||||||
|
// show success message
|
||||||
|
if (!target.dataset.done) target.dataset.done = doneMessage[type];
|
||||||
|
|
||||||
|
target.addEventListener('animationend', () => target.classList.remove(doneClass), { once: true });
|
||||||
|
target.classList.add(doneClass);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// copy to clipboard
|
||||||
|
async function copy(select, content) {
|
||||||
|
|
||||||
|
// get text
|
||||||
|
const copytext = select ? select.value || select.innerText : content;
|
||||||
|
|
||||||
|
try {
|
||||||
|
|
||||||
|
await navigator.clipboard.writeText(copytext);
|
||||||
|
document.getElementById("copy").innerText = "Copié";
|
||||||
|
return true;
|
||||||
|
|
||||||
|
}
|
||||||
|
catch (error) {
|
||||||
|
console.log('copy error', error);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// paste handler
|
||||||
|
async function paste(select) {
|
||||||
|
|
||||||
|
if (!select) return;
|
||||||
|
|
||||||
|
// paste from clipboard
|
||||||
|
try {
|
||||||
|
|
||||||
|
const pastetext = await navigator.clipboard.readText();
|
||||||
|
|
||||||
|
if (undefined === select.value) {
|
||||||
|
select.innerText += pastetext;
|
||||||
|
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
select.value += pastetext;
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
|
||||||
|
}
|
||||||
|
catch (error) {
|
||||||
|
console.log('paste error', error);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
||||||
|
{% endblock %}
|
||||||
|
|
@@ -4,10 +4,8 @@ use Symfony\Component\Dotenv\Dotenv;
|
|||||||
|
|
||||||
require dirname(__DIR__).'/vendor/autoload.php';
|
require dirname(__DIR__).'/vendor/autoload.php';
|
||||||
|
|
||||||
if (method_exists(Dotenv::class, 'bootEnv')) {
|
if (file_exists(dirname(__DIR__).'/config/bootstrap.php')) {
|
||||||
|
require dirname(__DIR__).'/config/bootstrap.php';
|
||||||
|
} elseif (method_exists(Dotenv::class, 'bootEnv')) {
|
||||||
(new Dotenv())->bootEnv(dirname(__DIR__).'/.env');
|
(new Dotenv())->bootEnv(dirname(__DIR__).'/.env');
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($_SERVER['APP_DEBUG']) {
|
|
||||||
umask(0000);
|
|
||||||
}
|
|
||||||
|
205
translations/messages.fr.yaml
Normal file
205
translations/messages.fr.yaml
Normal file
@@ -0,0 +1,205 @@
|
|||||||
|
# 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.
|
||||||
|
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°
|
20
translations/validators.fr.yaml
Normal file
20
translations/validators.fr.yaml
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
# 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
|
@@ -109,30 +109,15 @@ module.exports = (async () => {
|
|||||||
.autoProvidejQuery()
|
.autoProvidejQuery()
|
||||||
.enableSourceMaps(!Encore.isProduction())
|
.enableSourceMaps(!Encore.isProduction())
|
||||||
.cleanupOutputBeforeBuild()
|
.cleanupOutputBeforeBuild()
|
||||||
//.enableBuildNotifications()
|
|
||||||
.enableVersioning()
|
.enableVersioning()
|
||||||
.enableSingleRuntimeChunk()
|
.enableSingleRuntimeChunk()
|
||||||
.splitEntryChunks()
|
.splitEntryChunks()
|
||||||
// added when upgrading to symfony 5.4
|
|
||||||
// enables and configure @babel/preset-env polyfills
|
|
||||||
//.configureBabelPresetEnv((config) => {
|
|
||||||
// config.useBuiltIns = 'usage';
|
|
||||||
// config.corejs = '3.23';
|
|
||||||
//})
|
|
||||||
//.addLoader({ test: /\.pdf$/, loader: 'file-loader', options: { name: '[name]_[hash].[ext]', outputPath: 'pdf/' } })
|
//.addLoader({ test: /\.pdf$/, loader: 'file-loader', options: { name: '[name]_[hash].[ext]', outputPath: 'pdf/' } })
|
||||||
;
|
;
|
||||||
|
|
||||||
// populate config with chill entries
|
// populate config with chill entries
|
||||||
let chillEntries = [];
|
let chillEntries = [];
|
||||||
await populateConfig(Encore, chillEntries);
|
await populateConfig(Encore, chillEntries);
|
||||||
// configure Babel
|
|
||||||
// .configureBabel((config) => {
|
|
||||||
// config.plugins.push('@babel/a-babel-plugin');
|
|
||||||
// })
|
|
||||||
|
|
||||||
|
|
||||||
// enables Sass/SCSS support
|
|
||||||
//.enableSassLoader()
|
|
||||||
|
|
||||||
// add swagger UI
|
// add swagger UI
|
||||||
if (!Encore.isProduction()) {
|
if (!Encore.isProduction()) {
|
||||||
|
Reference in New Issue
Block a user