From 3e4732fb27e4b7080e25ebab4bdf3eb6e291450e Mon Sep 17 00:00:00 2001 From: Shamzic Date: Fri, 20 Sep 2024 17:13:59 +0200 Subject: [PATCH 1/5] feat: ajoute l'aide "Pass Jeune 54" --- CHANGELOG.md | 8 ++++ .../meurthe_et_moselle/eligibilite.py | 12 +++++ .../meurthe_et_moselle/pass_jeune_54.py | 48 +++++++++++++++++++ .../meurthe_et_moselle/pass_jeune_54.yml | 47 ++++++++++++++++++ setup.py | 2 +- .../meuthe_et_moselle/pass_jeune_54.yml | 23 +++++++++ 6 files changed, 139 insertions(+), 1 deletion(-) create mode 100644 openfisca_france_local/departements/meurthe_et_moselle/eligibilite.py create mode 100644 openfisca_france_local/departements/meurthe_et_moselle/pass_jeune_54.py create mode 100644 openfisca_france_local/parameters/departements/meurthe_et_moselle/pass_jeune_54.yml create mode 100644 tests/departements/meuthe_et_moselle/pass_jeune_54.yml diff --git a/CHANGELOG.md b/CHANGELOG.md index 79ff8fc1..3b4350d2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,13 @@ # Changelog +## [6.13.0] - 2024-09-24 + +_Pour les changements détaillés et les discussions associées, référencez la pull request [#215](https://github.com/openfisca/openfisca-france-local/pull/215)_ + +### Added + +- Ajoute la variable `pass_jeune_54` (aide du département `meurthe_et_moselle`) + ## [6.12.4] - 2024-07-30 _Pour les changements détaillés et les discussions associées, référencez la pull request [#213](https://github.com/openfisca/openfisca-france-local/pull/213)_ diff --git a/openfisca_france_local/departements/meurthe_et_moselle/eligibilite.py b/openfisca_france_local/departements/meurthe_et_moselle/eligibilite.py new file mode 100644 index 00000000..290df298 --- /dev/null +++ b/openfisca_france_local/departements/meurthe_et_moselle/eligibilite.py @@ -0,0 +1,12 @@ +from openfisca_france.model.base import Variable, Menage, MONTH +from numpy.core.defchararray import startswith + + +class meurthe_et_moselle_eligibilite_residence(Variable): + value_type = bool + entity = Menage + definition_period = MONTH + label = "Éligibilité résidentielle d'un ménage aux dipositifs de Meurthe-et-Moselle" + + def formula(menage, period): + return startswith(menage('depcom', period), b'54') diff --git a/openfisca_france_local/departements/meurthe_et_moselle/pass_jeune_54.py b/openfisca_france_local/departements/meurthe_et_moselle/pass_jeune_54.py new file mode 100644 index 00000000..9140e875 --- /dev/null +++ b/openfisca_france_local/departements/meurthe_et_moselle/pass_jeune_54.py @@ -0,0 +1,48 @@ +from openfisca_france.model.base import Variable, Individu, MONTH + + +class eligibilite_age_pass_jeune_54(Variable): + value_type = float + entity = Individu + definition_period = MONTH + label = "Éligibilité d'âge pour le Pass Jeune 54 du département Meurthe-et-Moselle" + + def formula(individu, period, parameters): + age = individu('age', period) + age_minimum = parameters(period).departements.meurthe_et_moselle.pass_jeune_54.age.minimum_inclusif + age_maximum = parameters(period).departements.meurthe_et_moselle.pass_jeune_54.age.maximum_inclusif + print('min et max ************* ', age_minimum, age_maximum) + return (age_minimum <= age) * (age <= age_maximum) + +class quotient_familial_pass_jeune_54(Variable): + value_type = float + entity = Individu + definition_period = MONTH + label = "Quotient familial pour le Pass Jeune 54 du département Meurthe-et-Moselle" + + def formula(individu, period): + rfr = individu.foyer_fiscal('rfr', period.n_2) + nbptr = individu.foyer_fiscal('nbptr', period.n_2) + return rfr / nbptr / 12 + +class pass_jeune_54(Variable): + value_type = float + entity = Individu + definition_period = MONTH + label = "Montant pour le Pass Jeune 54 du département Meurthe-et-Moselle" + reference = [ + "Règlement relatif au Pass Jeune 54 du département Meurthe-et-Moselle", + "https://meurthe-et-moselle.fr/actions/education-populaire-jeunesse-sports/sport/pass-jeunes-54" + ] + + def formula(individu, period, parameters): + + params = parameters(period).departements.meurthe_et_moselle.pass_jeune_54 + + eligibilite_residentielle = individu.menage('meurthe_et_moselle_eligibilite_residence', period) + eligibilite_age = individu('eligibilite_age_pass_jeune_54', period) + quotient_familial = individu('quotient_familial_pass_jeune_54', period) + + montant = params.montant_en_fonction_du_quotient_familial.calc(quotient_familial) + + return montant * eligibilite_residentielle * eligibilite_age diff --git a/openfisca_france_local/parameters/departements/meurthe_et_moselle/pass_jeune_54.yml b/openfisca_france_local/parameters/departements/meurthe_et_moselle/pass_jeune_54.yml new file mode 100644 index 00000000..221a34f4 --- /dev/null +++ b/openfisca_france_local/parameters/departements/meurthe_et_moselle/pass_jeune_54.yml @@ -0,0 +1,47 @@ +age: + minimum_inclusif: + reference: + - https://meurthe-et-moselle.fr/actions/education-populaire-jeunesse-sports/sport/pass-jeunes-54 + description: Eligibilité d'âge minimum pour l'aide Pass Jeunes 54 dans le département de la Meurthe-et-Moselle. + values: + 2024-01-01: + value: 6 + maximum_inclusif: + reference: + - https://meurthe-et-moselle.fr/actions/education-populaire-jeunesse-sports/sport/pass-jeunes-54 + description: Eligibilité d'âge maximum pour l'aide Pass Jeunes 54 dans le département de la Meurthe-et-Moselle. + values: + 2024-01-01: + value: 16 + +montant_en_fonction_du_quotient_familial: + reference: + - https://meurthe-et-moselle.fr/actions/education-populaire-jeunesse-sports/sport/pass-jeunes-54 + description: Montant obtenu pour l'aide Pass Jeunes 54 en région Auvergne-Rhône-Alpes. + metadata: + type: single_amount + brackets: + - threshold: + 2024-01-01: + value: 0 + amount: + 2024-01-01: + value: 100 + - threshold: + 2024-01-01: + value: 451 + amount: + 2024-01-01: + value: 70 + - threshold: + 2024-01-01: + value: 551 + amount: + 2024-01-01: + value: 50 + - threshold: + 2024-01-01: + value: 651 + amount: + 2024-01-01: + value: 0 diff --git a/setup.py b/setup.py index e9ba9936..ae8e9e12 100644 --- a/setup.py +++ b/setup.py @@ -3,7 +3,7 @@ setup( name='OpenFisca-France-Local', - version='6.12.4', + version='6.13.0', author='OpenFisca Team', author_email='contact@openfisca.fr', classifiers=[ diff --git a/tests/departements/meuthe_et_moselle/pass_jeune_54.yml b/tests/departements/meuthe_et_moselle/pass_jeune_54.yml new file mode 100644 index 00000000..2a18826e --- /dev/null +++ b/tests/departements/meuthe_et_moselle/pass_jeune_54.yml @@ -0,0 +1,23 @@ +- period: 2024-01 + name: "Éligibilité d'âge et de résidence" + input: + age: [5, 6, 8, 16, 17] + depcom: [54000, 54000, 68400, 54000, 54000] + rfr: + 2022: [80, 80, 80, 80, 80] + nbptr: + 2022: [1, 1, 1, 1, 1] + output: + pass_jeune_54: [0, 100, 0, 100, 0] + +- period: 2024-01 + name: Montant en fonction du quotient familial + input: + age: [14, 14, 14, 14] + depcom: [54000, 54000, 54000, 54000] + rfr: + 2022: [7850, 13300, 5600, 5200] + nbptr: + 2022: [1, 2, 1, 1] + output: + pass_jeune_54: [0, 50, 70, 100] From 23d40de92283ee2f1ce2692067195b272bafb27e Mon Sep 17 00:00:00 2001 From: Shamzic Date: Fri, 20 Sep 2024 17:17:00 +0200 Subject: [PATCH 2/5] fix: text pass_jeune_54 --- .../departements/meurthe_et_moselle/pass_jeune_54.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/openfisca_france_local/parameters/departements/meurthe_et_moselle/pass_jeune_54.yml b/openfisca_france_local/parameters/departements/meurthe_et_moselle/pass_jeune_54.yml index 221a34f4..f6758510 100644 --- a/openfisca_france_local/parameters/departements/meurthe_et_moselle/pass_jeune_54.yml +++ b/openfisca_france_local/parameters/departements/meurthe_et_moselle/pass_jeune_54.yml @@ -2,14 +2,14 @@ age: minimum_inclusif: reference: - https://meurthe-et-moselle.fr/actions/education-populaire-jeunesse-sports/sport/pass-jeunes-54 - description: Eligibilité d'âge minimum pour l'aide Pass Jeunes 54 dans le département de la Meurthe-et-Moselle. + description: Éligibilité d'âge minimum pour l'aide Pass Jeunes 54 dans le département de la Meurthe-et-Moselle. values: 2024-01-01: value: 6 maximum_inclusif: reference: - https://meurthe-et-moselle.fr/actions/education-populaire-jeunesse-sports/sport/pass-jeunes-54 - description: Eligibilité d'âge maximum pour l'aide Pass Jeunes 54 dans le département de la Meurthe-et-Moselle. + description: Éligibilité d'âge maximum pour l'aide Pass Jeunes 54 dans le département de la Meurthe-et-Moselle. values: 2024-01-01: value: 16 From 72022eee15d4ed67cc9acecbe6e1b8f9765be0db Mon Sep 17 00:00:00 2001 From: Shamzic Date: Fri, 20 Sep 2024 17:19:43 +0200 Subject: [PATCH 3/5] =?UTF-8?q?fix:=20nom=20d=C3=A9partement?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../{meuthe_et_moselle => meurthe_et_moselle}/pass_jeune_54.yml | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename tests/departements/{meuthe_et_moselle => meurthe_et_moselle}/pass_jeune_54.yml (100%) diff --git a/tests/departements/meuthe_et_moselle/pass_jeune_54.yml b/tests/departements/meurthe_et_moselle/pass_jeune_54.yml similarity index 100% rename from tests/departements/meuthe_et_moselle/pass_jeune_54.yml rename to tests/departements/meurthe_et_moselle/pass_jeune_54.yml From 15c96e6a9c1bb64a2da1dd13650fe8e90f38478d Mon Sep 17 00:00:00 2001 From: Shamzic Date: Mon, 23 Sep 2024 10:31:19 +0200 Subject: [PATCH 4/5] refactor: clean log --- .../departements/meurthe_et_moselle/pass_jeune_54.py | 1 - 1 file changed, 1 deletion(-) diff --git a/openfisca_france_local/departements/meurthe_et_moselle/pass_jeune_54.py b/openfisca_france_local/departements/meurthe_et_moselle/pass_jeune_54.py index 9140e875..31f75222 100644 --- a/openfisca_france_local/departements/meurthe_et_moselle/pass_jeune_54.py +++ b/openfisca_france_local/departements/meurthe_et_moselle/pass_jeune_54.py @@ -11,7 +11,6 @@ def formula(individu, period, parameters): age = individu('age', period) age_minimum = parameters(period).departements.meurthe_et_moselle.pass_jeune_54.age.minimum_inclusif age_maximum = parameters(period).departements.meurthe_et_moselle.pass_jeune_54.age.maximum_inclusif - print('min et max ************* ', age_minimum, age_maximum) return (age_minimum <= age) * (age <= age_maximum) class quotient_familial_pass_jeune_54(Variable): From b3ab5d8b05169de00ec0a94696862151648507a9 Mon Sep 17 00:00:00 2001 From: Shamzic Date: Mon, 23 Sep 2024 11:05:39 +0200 Subject: [PATCH 5/5] =?UTF-8?q?refactor:=20suppr.=20texte=20dans=20le=20ta?= =?UTF-8?q?bleau=20des=20r=C3=A9f=C3=A9rences?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../departements/meurthe_et_moselle/pass_jeune_54.py | 1 - 1 file changed, 1 deletion(-) diff --git a/openfisca_france_local/departements/meurthe_et_moselle/pass_jeune_54.py b/openfisca_france_local/departements/meurthe_et_moselle/pass_jeune_54.py index 31f75222..3f73d9e7 100644 --- a/openfisca_france_local/departements/meurthe_et_moselle/pass_jeune_54.py +++ b/openfisca_france_local/departements/meurthe_et_moselle/pass_jeune_54.py @@ -30,7 +30,6 @@ class pass_jeune_54(Variable): definition_period = MONTH label = "Montant pour le Pass Jeune 54 du département Meurthe-et-Moselle" reference = [ - "Règlement relatif au Pass Jeune 54 du département Meurthe-et-Moselle", "https://meurthe-et-moselle.fr/actions/education-populaire-jeunesse-sports/sport/pass-jeunes-54" ]