Compare commits

...

22 Commits

Author SHA1 Message Date
bf29c7756f [wip] upgrade configuration to chill v3 (symfony 5) 2024-07-03 11:14:05 +02:00
002fd7b632 Fix workflow configuration 2024-04-29 15:28:24 +02:00
8d70ca871b update recipes symfony/translation 2024-02-14 09:58:40 +01:00
ca84e9416d update recipes symfony/phpunit-bridge 2024-02-14 09:57:09 +01:00
e03b0f71bf update recipes symfony/monolog-bundle 2024-02-14 09:56:09 +01:00
e287a832d2 update recipes symfony/mailer 2024-02-14 09:49:21 +01:00
1b5b62ba49 update recipes doctrine/doctrine-bundle 2024-02-14 09:48:36 +01:00
eb3c561f85 configure var-dump server in docker stack 2024-02-14 09:43:25 +01:00
008291bddb upgrade composer 2024-02-13 20:55:05 +01:00
c466dc297c Merge remote-tracking branch 'origin/main' into upgrade-sf5 2024-02-13 19:24:00 +01:00
2c6fb97f31 Merge pull request 'release/upgrade_vue' (#17) from release/upgrade_vue into main
All checks were successful
continuous-integration/drone/tag Build is passing
Reviewed-on: #17
2024-02-13 13:39:47 +00:00
LenaertsJ
c58443dd72 update composer.lock and file (automatic update) 2024-02-13 13:39:25 +00:00
b6c17f62d0 add changie
All checks were successful
Prepare release for chill app / update-deps (push) Successful in 33s
2024-02-13 14:38:18 +01:00
7712d146c7 update yarn.lock and makefile to use node 20 and upgrade vue 2024-02-13 14:37:18 +01:00
8a83372e2f make sure translations directory is kept
All checks were successful
continuous-integration/drone/tag Build is passing
2024-02-12 18:31:06 +01:00
883725af10 Merge pull request 'release/delete_translations' (#16) from release/delete_translations into main
Reviewed-on: #16
2024-02-12 16:42:12 +00:00
LenaertsJ
7faee98294 update composer.lock and file (automatic update) 2024-02-12 16:40:41 +00:00
96e0c4c97e add changie
All checks were successful
Prepare release for chill app / update-deps (push) Successful in 32s
2024-02-12 17:39:42 +01:00
921726ec75 remove translations to prevent overwriting 2024-02-12 17:39:27 +01:00
61a77cc1de Merge pull request 'update chill to release 2.16.1' (#13) from release/chill-2.16.1 into main
All checks were successful
continuous-integration/drone/tag Build is passing
Reviewed-on: #13
2024-02-08 23:15:49 +00:00
julienfastre
0c65d3d681 update composer.lock and file (automatic update) 2024-02-08 23:13:55 +00:00
9c125c6af6 update chill to release 2.16.1
All checks were successful
Prepare release for chill app / update-deps (push) Successful in 33s
2024-02-08 23:13:22 +00:00
39 changed files with 2866 additions and 3147 deletions

3
.changes/v1.5.0.md Normal file
View File

@@ -0,0 +1,3 @@
## v1.5.0 - 2024-02-08
### Release
* Update dependencies. Chill-bundles upgraded from 2.16.0 to 2.16.1

5
.changes/v1.6.0.md Normal file
View File

@@ -0,0 +1,5 @@
## v1.6.0 - 2024-02-12
### Release
* Update dependencies. Chill-bundles upgraded from 2.16.1 to 2.16.1
### Fixed
* Overwriting of bundles translations removed

5
.changes/v1.7.0.md Normal file
View File

@@ -0,0 +1,5 @@
## v1.7.0 - 2024-02-13
### Release
* Update dependencies. Chill-bundles upgraded from 2.16.1 to 2.16.1
### Fixed
* Upgrade vue to fix multiselect

View File

@@ -11,5 +11,8 @@ MAILER_URL=smtp://smtp:1025
PGADMIN_DEFAULT_EMAIL=admin@chill.social
PGADMIN_DEFAULT_PASSWORD=password
VAR_DUMPER_SERVER=dumper:9912
## Phpstorm IDE project path
PROJECT_DIR=

View File

@@ -6,6 +6,22 @@ adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html),
and is generated by [Changie](https://github.com/miniscruff/changie).
## v1.7.0 - 2024-02-13
### Release
* Update dependencies. Chill-bundles upgraded from 2.16.1 to 2.16.1
### Fixed
* Upgrade vue to fix multiselect
## v1.6.0 - 2024-02-12
### Release
* Update dependencies. Chill-bundles upgraded from 2.16.1 to 2.16.1
### Fixed
* Overwriting of bundles translations removed
## v1.5.0 - 2024-02-08
### Release
* Update dependencies. Chill-bundles upgraded from 2.16.0 to 2.16.1
## v1.4.4 - 2024-02-08
### Fixed
* fix incorrect upgrade

View File

@@ -2,7 +2,7 @@ THIS_FILE := $(lastword $(MAKEFILE_LIST))
PWD:=$(shell echo ${PWD})
UID:=$(shell id -u)
GID:=$(shell id -g)
DOCKERNODE_CMD=docker run --rm --user ${UID}:${GID} -v ${PWD}:/app --workdir /app -e YARN_CACHE_FOLDER=/app/.yarncache node:16
DOCKERNODE_CMD=docker run --rm --user ${UID}:${GID} -v ${PWD}:/app --workdir /app -e YARN_CACHE_FOLDER=/app/.yarncache node:20
DOCKER_COMPOSE_PHP_EXEC_CMD=docker-compose run --rm --user $(UID):$(GID) -e CLEAR_CACHE=false -e COMPOSER_HOME=/var/www/app/.composer --entrypoint /usr/bin/env php
DOCKER_PHP_EXEC_CMD_BASE=docker run --rm --user $(UID):$(GID) -v ${PWD}:/var/www/app -e CLEAR_CACHE=false -e COMPOSER_HOME=/var/www/app/.composer --entrypoint /usr/bin/env $(PHP_BASE_IMAGE_TAG)
PHP_BASE_IMAGE=php:8.2-fpm-alpine

View File

@@ -15,14 +15,14 @@
},
"require": {
"ext-redis": "*",
"chill-project/chill-bundles": "^2.16",
"chill-project/chill-bundles": "dev-upgrade-sf5@dev",
"symfony/flex": "^1.9",
"nelmio/alice": "^3.8",
"phpoffice/phpword": "^0.18.2",
"phpstan/phpstan": "^1.0",
"spomky-labs/base64url": "^2.0",
"twig/string-extra": "^3.3",
"symfony/runtime": "5.4.*"
"symfony/runtime": "^5.4"
},
"require-dev": {
"fakerphp/faker": "^1.13",

2848
composer.lock generated

File diff suppressed because it is too large Load Diff

View File

@@ -36,5 +36,4 @@ return [
KnpU\OAuth2ClientBundle\KnpUOAuth2ClientBundle::class => ['all' => true],
Lexik\Bundle\JWTAuthenticationBundle\LexikJWTAuthenticationBundle::class => ['all' => true],
Chill\EventBundle\ChillEventBundle::class => ['all' => true],
ChampsLibres\AsyncUploaderBundle\ChampsLibresAsyncUploaderBundle::class => ['all' => true],
];

View File

@@ -0,0 +1,14 @@
framework:
cache:
default_redis_provider: '%env(resolve:REDIS_URL)%'
pools:
cache.user_data:
adapter: cache.adapter.redis
public: true
default_lifetime: 300 # 5 minutes
# will be used in chill_main.tag_aware_cache service
cache.tags:
adapter: cache.adapter.redis
public: false
default_lifetime: 300

View File

@@ -27,6 +27,12 @@ chill_main:
y: '%env(float:ADD_ADDRESS_MAP_CENTER_Y)%'
z: '%env(float:ADD_ADDRESS_MAP_CENTER_Z)%'
when@test:
chill_main:
available_languages:
- 'fr'
- 'en'
chill_custom_fields:
show_empty_values_in_views: false

View File

@@ -1,88 +0,0 @@
chill_main:
cruds:
-
class: 'App\Entity\VendeePerson'
controller: 'App\Controller\VendeePersonController'
name: vendeeperson
base_path: /vendee/vendeeperson
actions:
infosociopro_edit:
controller_action: 'infosocioproEdit'
path: '/{id}/infosociopro/edit'
role: CHILL_PERSON_EDIT
infosociopro_view:
controller_action: 'infosocioproView'
path: '/{id}/infosociopro/view'
role: CHILL_PERSON_VIEW
entourage_edit:
controller_action: 'entourageEdit'
path: '/{id}/entourage/edit'
role: CHILL_PERSON_EDIT
entourage_view:
controller_action: 'entourageView'
path: '/{id}/entourage/view'
role: CHILL_PERSON_VIEW
infomedicale_edit:
controller_action: 'infomedicaleEdit'
path: '/{id}/infomedicale/edit'
role: CHILL_PERSON_EDIT
infomedicale_view:
controller_action: 'infomedicaleView'
path: '/{id}/infomedicale/view'
role: CHILL_PERSON_VIEW
infologement_edit:
controller_action: 'infologementEdit'
path: '/{id}/infologement/edit'
role: CHILL_PERSON_EDIT
infologement_view:
controller_action: 'infologementView'
path: '/{id}/infologement/view'
role: CHILL_PERSON_VIEW
-
class: 'App\Entity\VendeePersonMineur'
controller: 'App\Controller\VendeePersonMineurController'
name: vendeepersonmineur
base_path: /vendee/vendeepersonmineur
actions:
infofamille_edit:
controller_action: 'infofamilleEdit'
path: '/{id}/infofamille/edit'
role: CHILL_PERSON_EDIT
infofamille_view:
controller_action: 'infofamilleView'
path: '/{id}/infofamille/view'
role: CHILL_PERSON_VIEW
scolarite_edit:
controller_action: 'scolariteEdit'
path: '/{id}/scolarite/edit'
role: CHILL_PERSON_EDIT
scolarite_view:
controller_action: 'scolariteView'
path: '/{id}/scolarite/view'
role: CHILL_PERSON_VIEW
infomedicale_edit:
controller_action: 'infomedicaleEdit'
path: '/{id}/infomedicale/edit'
role: CHILL_PERSON_EDIT
infomedicale_view:
controller_action: 'infomedicaleView'
path: '/{id}/infomedicale/view'
role: CHILL_PERSON_VIEW
-
class: 'App\Entity\Security\Profile'
name: vendee_security_profile
base_path: '/admin/vendee/security/profile'
base_role: ROLE_ADMIN
form_class: 'App\Form\Security\ProfileType'
controller: 'App\Controller\SecurityProfileController'
actions:
index:
template: '/Security/Profile/index.html.twig'
role: ROLE_ADMIN
new:
role: ROLE_ADMIN
template: '/Security/Profile/new.html.twig'
edit:
role: ROLE_ADMIN
template: '/Security/Profile/edit.html.twig'

View File

@@ -1,3 +0,0 @@
twig:
globals:
responsive_debug: false

View File

@@ -12,7 +12,8 @@ doctrine:
geometry: string
# IMPORTANT: You MUST configure your server version,
# either here or in the DATABASE_URL env var (see .env file)
#server_version: '15'
#server_version: '16'
use_savepoints: true
orm:
auto_generate_proxy_classes: true
naming_strategy: doctrine.orm.naming_strategy.default

View File

@@ -2,25 +2,9 @@ doctrine_migrations:
migrations_paths:
# migrations for custom modules
'Application\Migrations': '%kernel.project_dir%/migrations'
# migrations for default chill modules
'Chill\Migrations\Main': '@ChillMainBundle/migrations'
'Chill\Migrations\Activity': '@ChillActivityBundle/migrations'
'Chill\Migrations\DocStore': '@ChillDocStoreBundle/migrations'
'Chill\Migrations\CustomFields': '@ChillCustomFieldsBundle/migrations'
'Chill\Migrations\Event': '@ChillEventBundle/migrations'
'Chill\Migrations\Person': '@ChillPersonBundle/migrations'
'Chill\Migrations\Task': '@ChillTaskBundle/migrations'
'Chill\Migrations\ThirdParty': '@ChillThirdPartyBundle/migrations'
'Chill\Migrations\DocGenerator': '@ChillDocGeneratorBundle/migrations'
'Chill\Migrations\AsideActivity': '@ChillAsideActivityBundle/migrations'
'Chill\Migrations\Calendar': '@ChillCalendarBundle/migrations'
'Chill\Migrations\Budget': '@ChillBudgetBundle/migrations'
all_or_nothing:
true
services:
'Doctrine\Migrations\Version\Comparator': 'Chill\MainBundle\Doctrine\Migrations\VersionComparator'
storage:
table_storage:
table_name: 'migration_versions'

View File

@@ -0,0 +1,20 @@
doctrine_migrations:
migrations_paths:
# migrations for default chill modules
'Chill\Migrations\Main': '@ChillMainBundle/migrations'
'Chill\Migrations\Activity': '@ChillActivityBundle/migrations'
'Chill\Migrations\DocStore': '@ChillDocStoreBundle/migrations'
'Chill\Migrations\CustomFields': '@ChillCustomFieldsBundle/migrations'
'Chill\Migrations\Event': '@ChillEventBundle/migrations'
'Chill\Migrations\Person': '@ChillPersonBundle/migrations'
'Chill\Migrations\Task': '@ChillTaskBundle/migrations'
'Chill\Migrations\ThirdParty': '@ChillThirdPartyBundle/migrations'
'Chill\Migrations\DocGenerator': '@ChillDocGeneratorBundle/migrations'
'Chill\Migrations\AsideActivity': '@ChillAsideActivityBundle/migrations'
'Chill\Migrations\Calendar': '@ChillCalendarBundle/migrations'
'Chill\Migrations\Budget': '@ChillBudgetBundle/migrations'
all_or_nothing:
true
services:
'Doctrine\Migrations\Version\Comparator': 'Chill\MainBundle\Doctrine\Migrations\VersionComparator'

View File

@@ -7,8 +7,6 @@ framework:
verify_peer: false
verify_host: false
# DIRTY FIX un bug dans symfony4 empêche de récupérer un tableau de variables depuis .env
# cfr. https://github.com/symfony/symfony/issues/28599
trusted_hosts:
- '^(localhost|127.0.0.1|web)$'
- '%env(resolve:TRUSTED_HOSTS)%'
@@ -31,10 +29,6 @@ framework:
#error_controller: App\Controller\ErrorController::show
## sf4 check: ou à déplacer dans un chill.yaml
assets:
json_manifest_path: '%kernel.project_dir%/public/build/manifest.json'
when@test:
framework:
test: true

View File

@@ -0,0 +1,3 @@
framework:
assets:
json_manifest_path: '%kernel.project_dir%/public/build/manifest.json'

View File

@@ -0,0 +1,4 @@
framework:
mailer:
envelope:
sender: '%env(NOTIFICATION_FROM_EMAIL)%'

View File

@@ -17,11 +17,3 @@ framework:
routing:
# Route your messages to the transports
# 'App\Message\YourMessage': async
'Chill\CalendarBundle\Messenger\Message\CalendarRangeMessage': async
'Chill\CalendarBundle\Messenger\Message\CalendarRangeRemovedMessage': async
'Chill\CalendarBundle\Messenger\Message\CalendarRemovedMessage': async
'Chill\CalendarBundle\Messenger\Message\CalendarMessage': async
'Chill\CalendarBundle\Messenger\Message\InviteUpdateMessage': async
'Chill\CalendarBundle\Messenger\Message\MSGraphChangeNotificationMessage': async
'Chill\MainBundle\Service\ShortMessage\ShortMessage': async
'Chill\DocGeneratorBundle\Service\Messenger\RequestGenerationMessage': priority

View File

@@ -0,0 +1,13 @@
framework:
messenger:
routing:
# Route your messages to the transports
# 'App\Message\YourMessage': async
'Chill\CalendarBundle\Messenger\Message\CalendarRangeMessage': async
'Chill\CalendarBundle\Messenger\Message\CalendarRangeRemovedMessage': async
'Chill\CalendarBundle\Messenger\Message\CalendarRemovedMessage': async
'Chill\CalendarBundle\Messenger\Message\CalendarMessage': async
'Chill\CalendarBundle\Messenger\Message\InviteUpdateMessage': async
'Chill\CalendarBundle\Messenger\Message\MSGraphChangeNotificationMessage': async
'Chill\MainBundle\Service\ShortMessage\ShortMessage': async
'Chill\DocGeneratorBundle\Service\Messenger\RequestGenerationMessage': priority

View File

@@ -60,3 +60,4 @@ when@test:
# type: stream
# channels: [deprecation]
# path: php://stderr
# formatter: monolog.formatter.json

View File

@@ -1,9 +1,4 @@
security:
access_decision_manager:
strategy: unanimous
allow_if_all_abstain: false
enable_authenticator_manager: true
# https://symfony.com/doc/current/security.html#registering-the-user-hashing-passwords
password_hashers:
@@ -12,66 +7,24 @@ security:
Symfony\Component\Security\Core\User\PasswordAuthenticatedUserInterface: 'auto'
# https://symfony.com/doc/current/security.html#loading-the-user-the-user-provider
providers:
chain_provider:
# providers added by chill-bundles recipes
# those providers are required to make chill working
chill_chain_provider:
chain:
providers: [in_memory, users]
in_memory:
providers: [chill_in_memory, chill_users]
chill_in_memory:
memory:
users:
admin: { password: '%env(resolve:ADMIN_PASSWORD)%', roles: ['ROLE_ADMIN', 'ROLE_ALLOWED_TO_SWITCH', 'ROLE_USER'] }
users:
chill_users:
id: chill.main.user_provider
encoders:
Chill\MainBundle\Entity\User: auto
Symfony\Component\Security\Core\User\User: plaintext
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
wopi:
pattern: ^/wopi
provider: chain_provider
stateless: true
guard:
authenticators:
- lexik_jwt_authentication.jwt_token_authenticator
main:
# remove during upgrade from symfony 4 to symfony 5 TODO check this
#anonymous: ~
provider: chain_provider
form_login:
csrf_parameter: _csrf_token
csrf_token_id: authenticate
#csrf_provider: security.csrf.token_manager
# remove during upgrade from symfony 4 to symfony 5 TODO check this
# logout_on_user_change: true
logout:
path: /logout
# end of providers added by chill-bundles recipes
# all other providers might be removed, unless you have specific needs
# TODO AFTER CHILL-BUNDLES RECIPES INSTALL: remove the user providers which are not used
# uncomment to enable impersonate mode in Chill
# https://symfony.com/doc/current/security/impersonating_user.html
switch_user: true
# activate different ways to authenticate
# https://symfony.com/doc/current/security.html#firewalls-authentication
# Easy way to control access for large sections of your site
# Note: Only the *first* access control that matches will be used
access_control:
- { path: ^/saml/login, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/saml/metadata, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/(login|logout), roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/public, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/wopi, roles: IS_AUTHENTICATED_FULLY }
# access for homepage, the homepage redirect admin to admin section
- { path: ^/$, roles: [ IS_AUTHENTICATED_REMEMBERED ] }
- { path: ^/homepage$, roles: [ IS_AUTHENTICATED_REMEMBERED ] }
# idem
- { path: ^/([a-z]+/)?homepage, roles: [ IS_AUTHENTICATED_REMEMBERED ] }
# admin section, only for admin
- { path: ^/([a-z]+/)?admin, roles: ROLE_ADMIN }
# other pages, only for regular user (no admin)
- { path: ^/, roles: ROLE_USER }
when@test:
security:

View File

@@ -0,0 +1,50 @@
security:
access_decision_manager:
strategy: unanimous
allow_if_all_abstain: false
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
wopi:
pattern: ^/wopi
provider: chill_chain_provider
stateless: true
guard:
authenticators:
- lexik_jwt_authentication.jwt_token_authenticator
chill_main:
# remove during upgrade from symfony 4 to symfony 5 TODO check this
#anonymous: ~
provider: chill_chain_provider
form_login:
csrf_parameter: _csrf_token
csrf_token_id: authenticate
#csrf_provider: security.csrf.token_manager
# remove during upgrade from symfony 4 to symfony 5 TODO check this
# logout_on_user_change: true
logout:
path: /logout
# uncomment to enable impersonate mode in Chill
# https://symfony.com/doc/current/security/impersonating_user.html
switch_user: true
# activate different ways to authenticate
# https://symfony.com/doc/current/security.html#firewalls-authentication
# Easy way to control access for large sections of your site
# Note: Only the *first* access control that matches will be used
access_control:
- { path: ^/(login|logout), roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/public, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/wopi, roles: IS_AUTHENTICATED_FULLY }
# access for homepage, the homepage redirect admin to admin section
- { path: ^/$, roles: [ IS_AUTHENTICATED_REMEMBERED ] }
- { path: ^/homepage$, roles: [ IS_AUTHENTICATED_REMEMBERED ] }
# idem
- { path: ^/([a-z]+/)?homepage, roles: [ IS_AUTHENTICATED_REMEMBERED ] }
# admin section, only for admin
- { path: ^/([a-z]+/)?admin, roles: ROLE_ADMIN }
# other pages, only for regular user (no admin)
- { path: ^/, roles: ROLE_USER }

View File

View File

@@ -1,5 +0,0 @@
---
chill_main:
available_languages:
- 'fr'
- 'en'

View File

@@ -1,8 +1,5 @@
---
# config/packages/test/security.yaml
security:
firewalls:
default:
http_basic: ~
role_hierarchy:
CHILL_MASTER_ROLE: [CHILL_INHERITED_ROLE_1]

View File

@@ -1,7 +1,6 @@
framework:
default_locale: '%env(resolve:LOCALE)%'
translator:
default_path: '%kernel.project_dir%/translations'
fallbacks: [ '%env(resolve:LOCALE)%' ]
providers:

View File

@@ -1,18 +1,5 @@
twig:
default_path: '%kernel.project_dir%/templates'
## In Symfony 5, bootstrap_5 theme is supported. But not yet in sf4 !!
# see sf5 https://symfony.com/doc/current/form/form_themes.html
# see sf4 https://symfony.com/doc/4.4/form/form_themes.html
#
# While waiting for the upgrade, we get the form theme file
# (https://github.com/symfony/symfony/tree/5.4/src/Symfony/Bridge/Twig/Resources/views/Form),
# put it in ChillMainBundle/Resources/views/Form/bootstrap5/
# and adapt it lightly.
#
form_themes: ['@ChillMain/Form/bootstrap5/bootstrap_5_horizontal_layout.html.twig']
#form_themes: ['bootstrap_5_horizontal_layout.html.twig']
when@test:
twig:
strict_variables: true

View File

@@ -0,0 +1,16 @@
twig:
## In Symfony 5, bootstrap_5 theme is supported. But not yet in sf4 !!
# see sf5 https://symfony.com/doc/current/form/form_themes.html
# see sf4 https://symfony.com/doc/4.4/form/form_themes.html
#
# While waiting for the upgrade, we get the form theme file
# (https://github.com/symfony/symfony/tree/5.4/src/Symfony/Bridge/Twig/Resources/views/Form),
# put it in ChillMainBundle/Resources/views/Form/bootstrap5/
# and adapt it lightly.
#
form_themes: ['@ChillMain/Form/bootstrap5/bootstrap_5_horizontal_layout.html.twig']
when@dev:
twig:
globals:
responsive_debug: false

View File

@@ -11,6 +11,9 @@ framework:
fr: 'Suivi'
support_strategy: Chill\MainBundle\Workflow\RelatedEntityWorkflowSupportsStrategy
initial_marking: 'initial'
marking_store:
property: step
type: method
places:
initial:
metadata:

View File

@@ -22,6 +22,14 @@ services:
- DATABASE_URL=postgresql://postgres:postgres@db:5432/postgres?serverVersion=14&charset=utf8
links:
- smtp
- dumper
dumper:
image: gitea.champs-libres.be/chill-project/chill-skeleton-basic/base-image:latest
entrypoint: ["/usr/bin/env"]
command: ["bin/var-dump-server", "--host", "0.0.0.0:9912"]
volumes:
- .:/var/www/app
nginx:
volumes:

View File

@@ -41,6 +41,7 @@ if [ "${APP_ENV}" = "prod" ]; then
php /var/www/app/bin/console doctrine:migrations:status
php /var/www/app/bin/console doctrine:migrations:migrate -n
php /var/www/app/bin/console messenger:setup-transports
php /var/www/app/bin/console chill:db:sync-views
fi
fi

View File

@@ -2,9 +2,6 @@
"brick/math": {
"version": "0.9.3"
},
"champs-libres/async-uploader-bundle": {
"version": "dev-sf4"
},
"champs-libres/wopi-bundle": {
"version": "dev-master"
},
@@ -48,12 +45,12 @@
"version": "v0.5.3"
},
"doctrine/doctrine-bundle": {
"version": "2.10",
"version": "2.11",
"recipe": {
"repo": "github.com/symfony/recipes",
"branch": "main",
"version": "2.4",
"ref": "013b823e7fee65890b23e40f31e6667a1ac519ac"
"ref": "cc62b7e9470998c640ee99d284a013a676f1fc5e"
},
"files": [
"config/packages/doctrine.yaml",
@@ -572,7 +569,7 @@
"repo": "github.com/symfony/recipes",
"branch": "main",
"version": "4.3",
"ref": "2bf89438209656b85b9a49238c4467bff1b1f939"
"ref": "df66ee1f226c46f01e85c29c2f7acce0596ba35a"
},
"files": [
"config/packages/mailer.yaml"
@@ -606,12 +603,12 @@
"version": "v5.1.3"
},
"symfony/monolog-bundle": {
"version": "3.8",
"version": "3.10",
"recipe": {
"repo": "github.com/symfony/recipes",
"branch": "main",
"version": "3.7",
"ref": "213676c4ec929f046dfde5ea8e97625b81bc0578"
"ref": "aff23899c4440dd995907613c1dd709b6f59503f"
},
"files": [
"config/packages/monolog.yaml"
@@ -626,7 +623,7 @@
"repo": "github.com/symfony/recipes",
"branch": "main",
"version": "5.3",
"ref": "221b9cc0a623f567e83ccd61a8ac82a9a91e2b5b"
"ref": "07ce01a897311647520b43d4ddddad9537b99ba6"
},
"files": [
".env.test",
@@ -729,7 +726,7 @@
"repo": "github.com/symfony/recipes",
"branch": "main",
"version": "5.3",
"ref": "da64f5a2b6d96f5dc24914517c0350a5f91dee43"
"ref": "e28e27f53663cc34f0be2837aba18e3a1bef8e7b"
},
"files": [
"config/packages/translation.yaml",

View File

@@ -4,9 +4,7 @@ use Symfony\Component\Dotenv\Dotenv;
require dirname(__DIR__).'/vendor/autoload.php';
if (file_exists(dirname(__DIR__).'/config/bootstrap.php')) {
require dirname(__DIR__).'/config/bootstrap.php';
} elseif (method_exists(Dotenv::class, 'bootEnv')) {
if (method_exists(Dotenv::class, 'bootEnv')) {
(new Dotenv())->bootEnv(dirname(__DIR__).'/.env');
}

0
translations/.gitkeep Normal file
View File

View File

@@ -1,205 +0,0 @@
# activity
Show the activity: Voir l'échange
Edit the activity: Modifier l'échange
Activity: Échange
Add a new activity: Ajouter un nouvel échange
Activity list: Liste des échanges
Update activity: Modifier l'échange
Activity data: Données de l'échange
Activity location: Localisation de l'échange
Activity creation: Nouvel échange
Save activity: Sauver l'échange
'%user% has done an %activity_type%': '%user% a effectué un échange de type "%activity_type%"'
'Success : activity created!': L'échange a été créé.
'The form is not valid. The activity has not been created !': Le formulaire est invalide. L'échange n'a pas été créé.
'Success : activity updated!': L'échange a été mis à jour.
'The form is not valid. The activity has not been updated !': Le formulaire est invalide. L'échange n'a pas été mis à jour.
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 lusager ET créer un parcours daccompagnement"
'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°

View File

@@ -1,20 +0,0 @@
# Activity validators
For this type of activity, you must add at least one person: Pour ce type d'échange, vous devez ajouter au moins un usager
For this type of activity, you must add at least one user: Pour ce type d'échange, vous devez ajouter au moins un TMS
For this type of activity, you must add at least one third party: Pour ce type d'échange, vous devez ajouter au moins un tiers
For this type of activity, the user is required: Pour ce type d'échange, l'utilisateur est requis
For this type of activity, the date is required: Pour ce type d'échange, la date est requise
For this type of activity, the location is required: Pour ce type d'échange, la localisation est requise
For this type of activity, user is required: Pour ce type d'échange, l'utilisateur est requis
For this type of activity, date is required: Pour ce type d'échange, la date est requise
For this type of activity, location is required: Pour ce type d'échange, la localisation est requise
For this type of activity, attendee is required: Pour ce type d'échange, le champ "Présence de la personne" est requis
For this type of activity, duration time is required: Pour ce type d'échange, la durée est requise
For this type of activity, travel time is required: Pour ce type d'échange, la durée du trajet est requise
For this type of activity, reasons is required: Pour ce type d'échange, le champ "sujet" est requis
For this type of activity, comment is required: Pour ce type d'échange, un commentaire est requis
For this type of activity, sent/received is required: Pour ce type d'échange, le champ Entrant/Sortant est requis
For this type of activity, document is required: Pour ce type d'échange, un document est requis
For this type of activity, emergency is required: Pour ce type d'échange, le champ "Urgent" est requis
For this type of activity, accompanying period is required: Pour ce type d'échange, le parcours d'accompagnement est requis
This social issue cannot be deleted because it is associated with an activity or an action: La problématique sociale ne peut pas être supprimée car elle est associée à un échange ou une action

2524
yarn.lock

File diff suppressed because it is too large Load Diff