Skip to content

Commit

Permalink
feat: mise à jour de la structure des aides à la mobilites loire atla…
Browse files Browse the repository at this point in the history
…ntique ainsi que des critères et montants
  • Loading branch information
jenovateurs committed Sep 19, 2024
1 parent c02824b commit f2c6a90
Show file tree
Hide file tree
Showing 4 changed files with 115 additions and 41 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -12,25 +12,20 @@ def formula(foyer_fiscal, period):
return foyer_fiscal('rfr', period) / 12 / foyer_fiscal('nbptr', period)


class loire_atlantique_aide_mobilite_eligibilite_financiere(Variable):
class loire_atlantique_aide_mobilite_eligibilite_age(Variable):
value_type = bool
entity = Individu
definition_period = MONTH
label = "Éligibilité financière pour l'aide à la mobilité du département de Loire-Atlantique"
label = "Éligibilité d'âge pour l'aide à la mobilité pour le permis AM du département de Loire-Atlantique"

def formula(individu, period):
return individu.foyer_fiscal('loire_atlantique_quotient_familial', period.n_2) <= 800
def formula(individu, period, parameters):
params = parameters(period).departements.loire_atlantique.aide_mobilite

individus_age = individu('age', period)

class loire_atlantique_aide_mobilite_eligibilite_age_permis_am(Variable):
value_type = bool
entity = Individu
definition_period = MONTH
label = "Éligibilité d'âge pour l'aide à la mobilité pour le permis AM du département de Loire-Atlantique"

def formula(individu, period):
age = individu('age', period)
return (14 <= age) * (age <= 24)
age_maximum = params.age_maximal
age_minimum = params.age_minimal
return (individus_age >= age_minimum) * (individus_age < age_maximum)


class loire_atlantique_aide_mobilite_permis_am(Variable):
Expand All @@ -40,25 +35,18 @@ class loire_atlantique_aide_mobilite_permis_am(Variable):
label = "Montant pour l'aide à la mobilité du département de Loire-Atlantique pour le permis AM"
reference = [
"Règlement relatif à l’aide départementale à la mobilité",
"https://www.loire-atlantique.fr/upload/docs/binary/octet-stream/2018-12/3-reglement_permis_2019_v24-08-2018.pdf"
"https://www.loire-atlantique.fr/upload/docs/application/pdf/2024-04/reglement_aide_a_la_mobilite_2024.pdf"
]

def formula(individu, period):
eligibilite_financiere = individu('loire_atlantique_aide_mobilite_eligibilite_financiere', period)
eligibilite_residentielle = individu.menage('loire_atlantique_eligibilite_residence', period)
eligibilite_age = individu('loire_atlantique_aide_mobilite_eligibilite_age_permis_am', period)
return 150 * eligibilite_residentielle * eligibilite_financiere * eligibilite_age

def formula(individu, period, parameters):
params = parameters(period).departements.loire_atlantique.aide_mobilite

class loire_atlantique_aide_mobilite_eligibilite_age_permis_b(Variable):
value_type = bool
entity = Individu
definition_period = MONTH
label = "Éligibilité d'âge pour l'aide à la mobilité pour le permis B du département de Loire-Atlantique"
eligibilite_residentielle = individu.menage('loire_atlantique_eligibilite_residence', period)
eligibilite_age = individu('loire_atlantique_aide_mobilite_eligibilite_age', period)
quotient_familial = individu.foyer_fiscal('loire_atlantique_quotient_familial', period.n_2)
montant = params.montant_en_fonction_du_quotient_familial_permis_am.calc(quotient_familial)

def formula(individu, period):
age = individu('age', period)
return (17 <= age) * (age <= 24)
return montant * eligibilite_residentielle * eligibilite_age


class loire_atlantique_aide_mobilite_permis_b(Variable):
Expand All @@ -68,11 +56,15 @@ class loire_atlantique_aide_mobilite_permis_b(Variable):
label = "Montant pour l'aide à la mobilité du département de Loire-Atlantique pour le permis B"
reference = [
"Règlement relatif à l’aide départementale à la mobilité",
"https://www.loire-atlantique.fr/upload/docs/binary/octet-stream/2018-12/3-reglement_permis_2019_v24-08-2018.pdf"
"https://www.loire-atlantique.fr/upload/docs/application/pdf/2024-04/reglement_aide_a_la_mobilite_2024.pdf"
]

def formula(individu, period):
eligibilite_financiere = individu('loire_atlantique_aide_mobilite_eligibilite_financiere', period)
def formula(individu, period, parameters):
params = parameters(period).departements.loire_atlantique.aide_mobilite

eligibilite_residentielle = individu.menage('loire_atlantique_eligibilite_residence', period)
eligibilite_age = individu('loire_atlantique_aide_mobilite_eligibilite_age_permis_b', period)
return 750 * eligibilite_residentielle * eligibilite_financiere * eligibilite_age
eligibilite_age = individu('loire_atlantique_aide_mobilite_eligibilite_age', period)
quotient_familial = individu.foyer_fiscal('loire_atlantique_quotient_familial', period.n_2)
montant = params.montant_en_fonction_du_quotient_familial_permis_b.calc(quotient_familial)

return montant * eligibilite_residentielle * eligibilite_age
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
age_minimal:
description: Âge minimal à partir duquel l'aide départementale à la mobilité peut être accordée
values:
2018-01-01:
metadata:
href: https://www.loire-atlantique.fr/upload/docs/binary/2018-12/3-reglement_permis_2019_v24-08-2018.pdf
value: 14
2024-01-01:
metadata:
title: Règlement relatif à l’aide départementale à la mobilité
href: https://www.loire-atlantique.fr/upload/docs/application/pdf/2024-04/reglement_aide_a_la_mobilite_2024.pdf
value: 14

age_maximal:
description: Âge maximal à partir duquel l'aide départementale à la mobilité peut être accordée
values:
2018-01-01:
metadata:
title: Règlement relatif à l’aide départementale à la mobilité
href: https://www.loire-atlantique.fr/upload/docs/binary/2018-12/3-reglement_permis_2019_v24-08-2018.pdf
value: 24
2024-01-01:
metadata:
title: Règlement relatif à l’aide départementale à la mobilité
href: https://www.loire-atlantique.fr/upload/docs/application/pdf/2024-04/reglement_aide_a_la_mobilite_2024.pdf
value: 24

montant_en_fonction_du_quotient_familial_permis_am:
description: Montant obtenu pour l'aide au permis moto de conduire.
metadata:
type: single_amount
brackets:
- threshold:
2018-01-01:
value: 0
2022-01-01:
value: 0
amount:
2018-01-01:
value: 150
2022-01-01:
value: 100
- threshold:
2018-01-01:
value: 800
2022-01-01:
value: 600
amount:
2018-01-01:
value: 150
2022-01-01:
value: 100

montant_en_fonction_du_quotient_familial_permis_b:
description: Montant obtenu pour l'aide au permis B de conduire.
metadata:
type: single_amount
brackets:
- threshold:
2018-01-01:
value: 800
2022-01-01:
value: 600
amount:
2018-01-01:
value: 750
2022-01-01:
value: 500
2 changes: 1 addition & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

setup(
name='OpenFisca-France-Local',
version='6.12.3',
version='6.12.4',
author='OpenFisca Team',
author_email='[email protected]',
classifiers=[
Expand Down
28 changes: 21 additions & 7 deletions tests/departements/loire_atlantique/aide_mobilite.yml
Original file line number Diff line number Diff line change
@@ -1,9 +1,23 @@
- period: 2020-07
- period: 2020-01
input:
age: 18
loire_atlantique_eligibilite_residence: true
loire_atlantique_quotient_familial:
2018: 400
age: [ 16, 14, 25, 16 ]
depcom: [ 44100, 44100, 44200, 13140 ]
rfr:
2018: [ 1000, 5000000, 12000, 12000 ]
nbptr:
2018: [ 1, 1, 1, 1 ]
output:
loire_atlantique_aide_mobilite_permis_am: 150
loire_atlantique_aide_mobilite_permis_b: 750
loire_atlantique_aide_mobilite_permis_am: [150, 150, 0, 0]
loire_atlantique_aide_mobilite_permis_b: [750, 750, 0, 0]

- period: 2024-01
input:
age: [ 16, 14, 25, 16 ]
depcom: [ 44100, 44100, 44200, 13140 ]
rfr:
2022: [ 1000, 5000000, 12000, 12000 ]
nbptr:
2022: [ 4, 1, 1, 1 ]
output:
loire_atlantique_aide_mobilite_permis_am: [100, 100, 0, 0]
loire_atlantique_aide_mobilite_permis_b: [500, 500, 0, 0]

0 comments on commit f2c6a90

Please sign in to comment.