Update assets and APIs with residence

This commit is contained in:
Denis Merigoux 2023-02-08 13:53:19 +01:00
parent 6217630805
commit c24d61a3aa
No known key found for this signature in database
GPG Key ID: EE99DCFA365C3EE3
9 changed files with 31414 additions and 19044 deletions

13958
french_law/js/french_law.js generated

File diff suppressed because one or more lines are too long

View File

@ -191,6 +191,7 @@ let aides_logement_input :
Law_source.Aides_logement.SituationFamiliale.Concubins ();
condition_rattache_foyer_fiscal_parent_ifi = false;
enfant_a_naitre_apres_quatrieme_mois_grossesse = false;
residence = Metropole ();
};
demandeur_in =
{

File diff suppressed because it is too large Load Diff

View File

@ -3117,6 +3117,7 @@ class type menage =
method conditionRattacheFoyerFiscalParentIfi: bool Js.t Js.readonly_prop
method enfantANaitreApresQuatriemeMoisGrossesse:
bool Js.t Js.readonly_prop
method residence: collectivite Js.t Js.readonly_prop
end
let menage_to_jsoo (menage : Menage.t) : menage Js.t =
object%js
@ -3133,6 +3134,7 @@ class type menage =
Js.bool menage.condition_rattache_foyer_fiscal_parent_ifi
val enfantANaitreApresQuatriemeMoisGrossesse =
Js.bool menage.enfant_a_naitre_apres_quatrieme_mois_grossesse
val residence = collectivite_to_jsoo menage.residence
end
let menage_of_jsoo (menage : menage Js.t) : Menage.t =
{
@ -3150,7 +3152,8 @@ class type menage =
condition_rattache_foyer_fiscal_parent_ifi =
Js.to_bool menage##.conditionRattacheFoyerFiscalParentIfi;
enfant_a_naitre_apres_quatrieme_mois_grossesse =
Js.to_bool menage##.enfantANaitreApresQuatriemeMoisGrossesse
Js.to_bool menage##.enfantANaitreApresQuatriemeMoisGrossesse;
residence = collectivite_of_jsoo menage##.residence
}
class type eligibilite_aides_personnelle_logement_in =
@ -3468,6 +3471,7 @@ class type calcul_aide_personnalisee_logement_locatif_in =
method colocationIn: bool Js.t Js.readonly_prop
method reductionLoyerSolidariteIn: Js.number Js.t Js.readonly_prop
method logementMeubleD8422In: bool Js.t Js.readonly_prop
method residenceIn: collectivite Js.t Js.readonly_prop
end
let calcul_aide_personnalisee_logement_locatif_in_to_jsoo
(calcul_aide_personnalisee_logement_locatif_in
@ -3500,6 +3504,8 @@ class type calcul_aide_personnalisee_logement_locatif_in =
Js.number_of_float @@ money_to_float calcul_aide_personnalisee_logement_locatif_in.reduction_loyer_solidarite_in
val logementMeubleD8422In =
Js.bool calcul_aide_personnalisee_logement_locatif_in.logement_meuble_d842_2_in
val residenceIn =
collectivite_to_jsoo calcul_aide_personnalisee_logement_locatif_in.residence_in
end
let calcul_aide_personnalisee_logement_locatif_in_of_jsoo
(calcul_aide_personnalisee_logement_locatif_in
@ -3553,7 +3559,10 @@ class type calcul_aide_personnalisee_logement_locatif_in =
logement_meuble_d842_2_in =
Js.to_bool
calcul_aide_personnalisee_logement_locatif_in
##.logementMeubleD8422In
##.logementMeubleD8422In;
residence_in =
collectivite_of_jsoo
calcul_aide_personnalisee_logement_locatif_in##.residenceIn
}
class type calcul_equivalence_loyer_minimale_in =
@ -3861,6 +3870,7 @@ class type calcul_aide_personnalisee_logement_in =
method nombrePersonnesAChargeIn: int Js.readonly_prop
method zoneIn: zone_d_habitation Js.t Js.readonly_prop
method dateCouranteIn: Js.js_string Js.t Js.readonly_prop
method residenceIn: collectivite Js.t Js.readonly_prop
end
let calcul_aide_personnalisee_logement_in_to_jsoo
(calcul_aide_personnalisee_logement_in
@ -3881,6 +3891,8 @@ class type calcul_aide_personnalisee_logement_in =
zone_d_habitation_to_jsoo calcul_aide_personnalisee_logement_in.zone_in
val dateCouranteIn =
date_to_jsoo calcul_aide_personnalisee_logement_in.date_courante_in
val residenceIn =
collectivite_to_jsoo calcul_aide_personnalisee_logement_in.residence_in
end
let calcul_aide_personnalisee_logement_in_of_jsoo
(calcul_aide_personnalisee_logement_in
@ -3907,7 +3919,10 @@ class type calcul_aide_personnalisee_logement_in =
zone_d_habitation_of_jsoo
calcul_aide_personnalisee_logement_in##.zoneIn;
date_courante_in =
date_of_jsoo calcul_aide_personnalisee_logement_in##.dateCouranteIn
date_of_jsoo calcul_aide_personnalisee_logement_in##.dateCouranteIn;
residence_in =
collectivite_of_jsoo
calcul_aide_personnalisee_logement_in##.residenceIn
}
class type calcul_allocation_logement_locatif_in =
@ -3928,6 +3943,7 @@ class type calcul_allocation_logement_locatif_in =
method colocationIn: bool Js.t Js.readonly_prop
method reductionLoyerSolidariteIn: Js.number Js.t Js.readonly_prop
method logementMeubleD8422In: bool Js.t Js.readonly_prop
method residenceIn: collectivite Js.t Js.readonly_prop
method changementLogementD8424In:
changement_logement_d842_4 Js.t Js.readonly_prop
end
@ -3962,6 +3978,8 @@ class type calcul_allocation_logement_locatif_in =
Js.number_of_float @@ money_to_float calcul_allocation_logement_locatif_in.reduction_loyer_solidarite_in
val logementMeubleD8422In =
Js.bool calcul_allocation_logement_locatif_in.logement_meuble_d842_2_in
val residenceIn =
collectivite_to_jsoo calcul_allocation_logement_locatif_in.residence_in
val changementLogementD8424In =
changement_logement_d842_4_to_jsoo calcul_allocation_logement_locatif_in.changement_logement_d842_4_in
end
@ -4010,6 +4028,9 @@ class type calcul_allocation_logement_locatif_in =
logement_meuble_d842_2_in =
Js.to_bool
calcul_allocation_logement_locatif_in##.logementMeubleD8422In;
residence_in =
collectivite_of_jsoo
calcul_allocation_logement_locatif_in##.residenceIn;
changement_logement_d842_4_in =
changement_logement_d842_4_of_jsoo
calcul_allocation_logement_locatif_in##.changementLogementD8424In
@ -4201,6 +4222,7 @@ class type calcul_allocation_logement_in =
method zoneIn: zone_d_habitation Js.t Js.readonly_prop
method dateCouranteIn: Js.js_string Js.t Js.readonly_prop
method typeAideIn: type_aides_personnelle_logement Js.t Js.readonly_prop
method residenceIn: collectivite Js.t Js.readonly_prop
end
let calcul_allocation_logement_in_to_jsoo (calcul_allocation_logement_in
: CalculAllocationLogementIn.t) : calcul_allocation_logement_in Js.t =
@ -4219,6 +4241,8 @@ class type calcul_allocation_logement_in =
date_to_jsoo calcul_allocation_logement_in.date_courante_in
val typeAideIn =
type_aides_personnelle_logement_to_jsoo calcul_allocation_logement_in.type_aide_in
val residenceIn =
collectivite_to_jsoo calcul_allocation_logement_in.residence_in
end
let calcul_allocation_logement_in_of_jsoo
(calcul_allocation_logement_in : calcul_allocation_logement_in Js.t) :
@ -4242,7 +4266,9 @@ class type calcul_allocation_logement_in =
date_of_jsoo calcul_allocation_logement_in##.dateCouranteIn;
type_aide_in =
type_aides_personnelle_logement_of_jsoo
calcul_allocation_logement_in##.typeAideIn
calcul_allocation_logement_in##.typeAideIn;
residence_in =
collectivite_of_jsoo calcul_allocation_logement_in##.residenceIn
}
class type ouverture_droits_retraite_in =

View File

@ -458,8 +458,8 @@ let smic (smic_in: SmicIn.t) : Smic.t =
([||])
(fun (_: unit) -> (log_decision_taken
{filename = "examples/allocations_familiales/../smic/smic.catala_fr";
start_line=29; start_column=5;
end_line=38; end_column=6;
start_line=34; start_column=5;
end_line=43; end_column=6;
law_headings=["Article 1";
"Décret n° 2018-1173 du 19 décembre 2018 portant relèvement du salaire minimum de croissance";
"Montant du salaire minimum de croissance"]}
@ -502,8 +502,8 @@ let smic (smic_in: SmicIn.t) : Smic.t =
([||])
(fun (_: unit) -> (log_decision_taken
{filename = "examples/allocations_familiales/../smic/smic.catala_fr";
start_line=47; start_column=5;
end_line=49; end_column=6;
start_line=52; start_column=5;
end_line=54; end_column=6;
law_headings=["Article 1";
"Décret n° 2018-1173 du 19 décembre 2018 portant relèvement du salaire minimum de croissance";
"Montant du salaire minimum de croissance"]}
@ -525,8 +525,8 @@ let smic (smic_in: SmicIn.t) : Smic.t =
([||])
(fun (_: unit) -> (log_decision_taken
{filename = "examples/allocations_familiales/../smic/smic.catala_fr";
start_line=68; start_column=5;
end_line=77; end_column=6;
start_line=73; start_column=5;
end_line=82; end_column=6;
law_headings=["Article 1";
"Décret n° 2019-1387 du 18 décembre 2019 portant relèvement du salaire minimum de croissance";
"Montant du salaire minimum de croissance"]}
@ -569,8 +569,8 @@ let smic (smic_in: SmicIn.t) : Smic.t =
([||])
(fun (_: unit) -> (log_decision_taken
{filename = "examples/allocations_familiales/../smic/smic.catala_fr";
start_line=86; start_column=5;
end_line=88; end_column=6;
start_line=91; start_column=5;
end_line=93; end_column=6;
law_headings=["Article 1";
"Décret n° 2019-1387 du 18 décembre 2019 portant relèvement du salaire minimum de croissance";
"Montant du salaire minimum de croissance"]}
@ -592,8 +592,8 @@ let smic (smic_in: SmicIn.t) : Smic.t =
([||])
(fun (_: unit) -> (log_decision_taken
{filename = "examples/allocations_familiales/../smic/smic.catala_fr";
start_line=107; start_column=5;
end_line=116; end_column=6;
start_line=112; start_column=5;
end_line=121; end_column=6;
law_headings=["Article 1";
"Décret n° 2020-1598 du 16 décembre 2020 portant relèvement du salaire minimum de croissance";
"Montant du salaire minimum de croissance"]}
@ -636,8 +636,8 @@ let smic (smic_in: SmicIn.t) : Smic.t =
([||])
(fun (_: unit) -> (log_decision_taken
{filename = "examples/allocations_familiales/../smic/smic.catala_fr";
start_line=125; start_column=5;
end_line=127; end_column=6;
start_line=130; start_column=5;
end_line=132; end_column=6;
law_headings=["Article 1";
"Décret n° 2020-1598 du 16 décembre 2020 portant relèvement du salaire minimum de croissance";
"Montant du salaire minimum de croissance"]}
@ -659,8 +659,8 @@ let smic (smic_in: SmicIn.t) : Smic.t =
([||])
(fun (_: unit) -> (log_decision_taken
{filename = "examples/allocations_familiales/../smic/smic.catala_fr";
start_line=146; start_column=5;
end_line=155; end_column=6;
start_line=151; start_column=5;
end_line=160; end_column=6;
law_headings=["Article 1";
"Décret n° 2021-1741 du 22 décembre 2021 portant relèvement du salaire minimum de croissance";
"Montant du salaire minimum de croissance"]}
@ -703,8 +703,8 @@ let smic (smic_in: SmicIn.t) : Smic.t =
([||])
(fun (_: unit) -> (log_decision_taken
{filename = "examples/allocations_familiales/../smic/smic.catala_fr";
start_line=165; start_column=5;
end_line=167; end_column=6;
start_line=170; start_column=5;
end_line=172; end_column=6;
law_headings=["Article 1";
"Décret n° 2021-1741 du 22 décembre 2021 portant relèvement du salaire minimum de croissance";
"Montant du salaire minimum de croissance"]}
@ -726,8 +726,8 @@ let smic (smic_in: SmicIn.t) : Smic.t =
([||])
(fun (_: unit) -> (log_decision_taken
{filename = "examples/allocations_familiales/../smic/smic.catala_fr";
start_line=186; start_column=5;
end_line=195; end_column=6;
start_line=191; start_column=5;
end_line=200; end_column=6;
law_headings=["Article 2";
"Arrêté du 19 avril 2022 relatif au relèvement du salaire minimum de croissance";
"Montant du salaire minimum de croissance"]}
@ -770,8 +770,8 @@ let smic (smic_in: SmicIn.t) : Smic.t =
([||])
(fun (_: unit) -> (log_decision_taken
{filename = "examples/allocations_familiales/../smic/smic.catala_fr";
start_line=204; start_column=5;
end_line=206; end_column=6;
start_line=209; start_column=5;
end_line=211; end_column=6;
law_headings=["Article 2";
"Arrêté du 19 avril 2022 relatif au relèvement du salaire minimum de croissance";
"Montant du salaire minimum de croissance"]}
@ -793,8 +793,8 @@ let smic (smic_in: SmicIn.t) : Smic.t =
([||])
(fun (_: unit) -> (log_decision_taken
{filename = "examples/allocations_familiales/../smic/smic.catala_fr";
start_line=225; start_column=5;
end_line=234; end_column=6;
start_line=230; start_column=5;
end_line=239; end_column=6;
law_headings=["Article 2";
"Arrêté du 29 juillet 2022 relatif au relèvement du salaire minimum de croissance";
"Montant du salaire minimum de croissance"]}
@ -837,8 +837,8 @@ let smic (smic_in: SmicIn.t) : Smic.t =
([||])
(fun (_: unit) -> (log_decision_taken
{filename = "examples/allocations_familiales/../smic/smic.catala_fr";
start_line=243; start_column=5;
end_line=245; end_column=6;
start_line=248; start_column=5;
end_line=250; end_column=6;
law_headings=["Article 2";
"Arrêté du 29 juillet 2022 relatif au relèvement du salaire minimum de croissance";
"Montant du salaire minimum de croissance"]}
@ -860,39 +860,33 @@ let smic (smic_in: SmicIn.t) : Smic.t =
([||])
(fun (_: unit) -> (log_decision_taken
{filename = "examples/allocations_familiales/../smic/smic.catala_fr";
start_line=265; start_column=5;
end_line=274; end_column=6;
start_line=270; start_column=5;
end_line=279; end_column=6;
law_headings=["Article 1";
"Décret n° 2022-1608 du 22 décembre 2022 portant relèvement du salaire minimum de croissance";
"Montant du salaire minimum de croissance"]}
(o_and
(o_gte_dat_dat date_courante_
(date_of_numbers (2023) (1) (1)))
(o_and
(o_lte_dat_dat date_courante_
(date_of_numbers (2023) (12) (31)))
(o_or (o_eq residence_ (Collectivite.Metropole ()))
(o_or
(o_eq residence_ (Collectivite.Guadeloupe ()))
(o_or (o_eq residence_ (Collectivite.Metropole ()))
(o_or
(o_eq residence_ (Collectivite.Guadeloupe ()))
(o_or (o_eq residence_ (Collectivite.Guyane ()))
(o_or
(o_eq residence_ (Collectivite.Guyane ()))
(o_eq residence_
(Collectivite.Martinique ()))
(o_or
(o_eq residence_
(Collectivite.Martinique ()))
(Collectivite.LaReunion ()))
(o_or
(o_eq residence_
(Collectivite.LaReunion ()))
(Collectivite.SaintBarthelemy ()))
(o_or
(o_eq residence_
(Collectivite.SaintBarthelemy
()))
(o_or
(o_eq residence_
(Collectivite.SaintMartin
()))
(o_eq residence_
(Collectivite.SaintPierreEtMiquelon
())))))))))))))
(Collectivite.SaintMartin ()))
(o_eq residence_
(Collectivite.SaintPierreEtMiquelon
()))))))))))))
(fun (_: unit) -> money_of_cents_string "1127"));
(fun (_: unit) ->
handle_default
@ -904,18 +898,15 @@ let smic (smic_in: SmicIn.t) : Smic.t =
([||])
(fun (_: unit) -> (log_decision_taken
{filename = "examples/allocations_familiales/../smic/smic.catala_fr";
start_line=283; start_column=5;
end_line=285; end_column=6;
start_line=288; start_column=5;
end_line=290; end_column=6;
law_headings=["Article 1";
"Décret n° 2022-1608 du 22 décembre 2022 portant relèvement du salaire minimum de croissance";
"Montant du salaire minimum de croissance"]}
(o_and
(o_gte_dat_dat date_courante_
(date_of_numbers (2023) (1) (1)))
(o_and
(o_lte_dat_dat date_courante_
(date_of_numbers (2023) (12) (31)))
(o_eq residence_ (Collectivite.Mayotte ()))))))
(o_eq residence_ (Collectivite.Mayotte ())))))
(fun (_: unit) -> money_of_cents_string "851"))|])
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError))
with
@ -923,6 +914,23 @@ let smic (smic_in: SmicIn.t) : Smic.t =
{filename = "examples/allocations_familiales/../smic/smic.catala_fr";
start_line=11; start_column=12; end_line=11; end_column=24;
law_headings=["Prologue"; "Montant du salaire minimum de croissance"]})))) in
let _: unit = if (
try
(o_gte_dat_dat date_courante_
(date_of_numbers (2019) (1) (1)))
with
EmptyError -> (raise (NoValueProvided
{filename = "examples/allocations_familiales/../smic/smic.catala_fr";
start_line=16; start_column=13;
end_line=16; end_column=42;
law_headings=["Prologue";
"Montant du salaire minimum de croissance"]})))
then () else
raise (AssertionFailed {filename = "examples/allocations_familiales/../smic/smic.catala_fr";
start_line=16; start_column=13;
end_line=16; end_column=42;
law_headings=["Prologue";
"Montant du salaire minimum de croissance"]}) in
{Smic.brut_horaire = brut_horaire_}
let base_mensuelle_allocations_familiales (base_mensuelle_allocations_familiales_in: BaseMensuelleAllocationsFamilialesIn.t) : BaseMensuelleAllocationsFamiliales.t =
@ -942,8 +950,8 @@ let base_mensuelle_allocations_familiales (base_mensuelle_allocations_familiales
([||])
(fun (_: unit) -> (log_decision_taken
{filename = "examples/allocations_familiales/../base_mensuelle_allocations_familiales/bmaf.catala_fr";
start_line=28; start_column=5;
end_line=29; end_column=33;
start_line=32; start_column=5;
end_line=33; end_column=33;
law_headings=["Instruction ministérielle N°DSS/SD2B/2019/65 du 25 mars 2019 relative à la revalorisation au 1er avril 2019 des prestations familiales servies en métropole";
"Montant de la base mensuelle des allocations familiales"]}
(o_and
@ -960,8 +968,8 @@ let base_mensuelle_allocations_familiales (base_mensuelle_allocations_familiales
([||])
(fun (_: unit) -> (log_decision_taken
{filename = "examples/allocations_familiales/../base_mensuelle_allocations_familiales/bmaf.catala_fr";
start_line=48; start_column=5;
end_line=49; end_column=33;
start_line=52; start_column=5;
end_line=53; end_column=33;
law_headings=["Instruction interministérielle no DSS/SD2B/2020/33 du 18 février 2020 relative à la revalorisation au 1er avril 2020 des prestations familiales servies en métropole, en Guadeloupe, en Guyane, en Martinique, à La Réunion, à Saint-Barthélemy, à Saint-Martin et dans le département de Mayotte";
"Montant de la base mensuelle des allocations familiales"]}
(o_and
@ -978,8 +986,8 @@ let base_mensuelle_allocations_familiales (base_mensuelle_allocations_familiales
([||])
(fun (_: unit) -> (log_decision_taken
{filename = "examples/allocations_familiales/../base_mensuelle_allocations_familiales/bmaf.catala_fr";
start_line=64; start_column=5;
end_line=65; end_column=33;
start_line=68; start_column=5;
end_line=69; end_column=33;
law_headings=["Instruction interministérielle n°DSS/2B/2021/65 du 19 mars 2021 relative à la revalorisation au 1er avril 2021 des prestations familiales servies en métropole, en Guadeloupe, en Guyane, en Martinique, à la Réunion, à Saint-Barthélemy, à Saint-Martin et dans le département de Mayotte";
"Montant de la base mensuelle des allocations familiales"]}
(o_and
@ -996,15 +1004,12 @@ let base_mensuelle_allocations_familiales (base_mensuelle_allocations_familiales
([||])
(fun (_: unit) -> (log_decision_taken
{filename = "examples/allocations_familiales/../base_mensuelle_allocations_familiales/bmaf.catala_fr";
start_line=82; start_column=5;
end_line=83; end_column=33;
start_line=86; start_column=5;
end_line=86; end_column=34;
law_headings=["Instruction interministérielle n°DSS/2B/2022/82 du 28 mars 2022 relative à la revalorisation au 1er avril 2022 des prestations familiales servies en métropole, en Guadeloupe, en Guyane, en Martinique, à la Réunion, à Saint-Barthélemy, à Saint-Martin et dans le département de Mayotte";
"Montant de la base mensuelle des allocations familiales"]}
(o_and
(o_gte_dat_dat date_courante_
(date_of_numbers (2022) (4) (1)))
(o_lt_dat_dat date_courante_
(date_of_numbers (2023) (4) (1))))))
(o_gte_dat_dat date_courante_
(date_of_numbers (2022) (4) (1)))))
(fun (_: unit) -> money_of_cents_string "42228"))|])
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError))
with
@ -1012,6 +1017,21 @@ let base_mensuelle_allocations_familiales (base_mensuelle_allocations_familiales
{filename = "examples/allocations_familiales/../base_mensuelle_allocations_familiales/bmaf.catala_fr";
start_line=6; start_column=12; end_line=6; end_column=19;
law_headings=["Montant de la base mensuelle des allocations familiales"]})))) in
let _: unit = if (
try
(o_gte_dat_dat date_courante_
(date_of_numbers (2019) (4) (1)))
with
EmptyError -> (raise (NoValueProvided
{filename = "examples/allocations_familiales/../base_mensuelle_allocations_familiales/bmaf.catala_fr";
start_line=10; start_column=13;
end_line=10; end_column=42;
law_headings=["Montant de la base mensuelle des allocations familiales"]})))
then () else
raise (AssertionFailed {filename = "examples/allocations_familiales/../base_mensuelle_allocations_familiales/bmaf.catala_fr";
start_line=10; start_column=13;
end_line=10; end_column=42;
law_headings=["Montant de la base mensuelle des allocations familiales"]}) in
{BaseMensuelleAllocationsFamiliales.montant = montant_}
let prestations_familiales (prestations_familiales_in: PrestationsFamilialesIn.t) : PrestationsFamiliales.t =

View File

@ -2,6 +2,7 @@
from datetime import date
from src.aides_logement import ModeOccupation_Code, Nationalite_Code, PrestationRecue_Code, SituationFamiliale_Code, SituationGardeAlternee_Code, SituationObligationScolaire_Code, TypeBailleur_Code, ZoneDHabitation_Code
from src.aides_logement import Collectivite_Code as Collectivite_Code_APL
from src.allocations_familiales import PriseEnCharge_Code, Collectivite_Code, SituationObligationScolaire
from src.api import EnfantAPL, InfosLocation, aides_logement, allocations_familiales, Enfant
from catala.runtime import LogEvent, LogEventCode, reset_log, retrieve_log
@ -36,6 +37,7 @@ def call_allocations_familiales() -> float:
def call_aides_logement() -> float:
return aides_logement(
residence=Collectivite_Code_APL.Metropole,
date_courante=date(2022, 5, 1),
ressources_menage_prises_en_compte=11_500,
date_naissance_demandeur=date(1992, 1, 1),

File diff suppressed because it is too large Load Diff

View File

@ -551,16 +551,68 @@ def smic(smic_in:SmicIn):
def temp_brut_horaire_1(_:Unit):
return False
def temp_brut_horaire_2(_:Unit):
if ((date_courante >= date_of_numbers(2022,5,1)) and
if ((date_courante >= date_of_numbers(2023,1,1)) and
(residence == Collectivite(Collectivite_Code.Mayotte,
Unit()))):
return money_of_cents_string("851")
else:
raise EmptyError
def temp_brut_horaire_3(_:Unit):
if ((date_courante >= date_of_numbers(2023,1,1)) and
((residence == Collectivite(Collectivite_Code.Metropole,
Unit())) or ((residence ==
Collectivite(Collectivite_Code.Guadeloupe, Unit())) or
((residence == Collectivite(Collectivite_Code.Guyane,
Unit())) or ((residence ==
Collectivite(Collectivite_Code.Martinique, Unit())) or
((residence == Collectivite(Collectivite_Code.LaReunion,
Unit())) or ((residence ==
Collectivite(Collectivite_Code.SaintBarthelemy, Unit())) or
((residence == Collectivite(Collectivite_Code.SaintMartin,
Unit())) or (residence ==
Collectivite(Collectivite_Code.SaintPierreEtMiquelon,
Unit())))))))))):
return money_of_cents_string("1127")
else:
raise EmptyError
def temp_brut_horaire_4(_:Unit):
if ((date_courante >= date_of_numbers(2022,8,1)) and
((date_courante <= date_of_numbers(2022,12,31)) and
(residence == Collectivite(Collectivite_Code.Mayotte,
Unit())))):
return money_of_cents_string("835")
else:
raise EmptyError
def temp_brut_horaire_5(_:Unit):
if ((date_courante >= date_of_numbers(2022,8,1)) and
((date_courante <= date_of_numbers(2022,12,31)) and
((residence == Collectivite(Collectivite_Code.Metropole,
Unit())) or ((residence ==
Collectivite(Collectivite_Code.Guadeloupe, Unit())) or
((residence == Collectivite(Collectivite_Code.Guyane,
Unit())) or ((residence ==
Collectivite(Collectivite_Code.Martinique, Unit())) or
((residence == Collectivite(Collectivite_Code.LaReunion,
Unit())) or ((residence ==
Collectivite(Collectivite_Code.SaintBarthelemy, Unit())) or
((residence == Collectivite(Collectivite_Code.SaintMartin,
Unit())) or (residence ==
Collectivite(Collectivite_Code.SaintPierreEtMiquelon,
Unit()))))))))))):
return money_of_cents_string("1107")
else:
raise EmptyError
def temp_brut_horaire_6(_:Unit):
if ((date_courante >= date_of_numbers(2022,5,1)) and
((date_courante <= date_of_numbers(2022,7,31)) and
(residence == Collectivite(Collectivite_Code.Mayotte,
Unit())))):
return money_of_cents_string("819")
else:
raise EmptyError
def temp_brut_horaire_3(_:Unit):
def temp_brut_horaire_7(_:Unit):
if ((date_courante >= date_of_numbers(2022,5,1)) and
((date_courante <= date_of_numbers(2022,12,31)) and
((date_courante <= date_of_numbers(2022,7,31)) and
((residence == Collectivite(Collectivite_Code.Metropole,
Unit())) or ((residence ==
Collectivite(Collectivite_Code.Guadeloupe, Unit())) or
@ -577,7 +629,7 @@ def smic(smic_in:SmicIn):
return money_of_cents_string("1085")
else:
raise EmptyError
def temp_brut_horaire_4(_:Unit):
def temp_brut_horaire_8(_:Unit):
if ((date_courante >= date_of_numbers(2022,1,1)) and
((date_courante <= date_of_numbers(2022,4,30)) and
(residence == Collectivite(Collectivite_Code.Mayotte,
@ -585,7 +637,7 @@ def smic(smic_in:SmicIn):
return money_of_cents_string("798")
else:
raise EmptyError
def temp_brut_horaire_5(_:Unit):
def temp_brut_horaire_9(_:Unit):
if ((date_courante >= date_of_numbers(2022,1,1)) and
((date_courante <= date_of_numbers(2022,4,30)) and
((residence == Collectivite(Collectivite_Code.Metropole,
@ -604,7 +656,7 @@ def smic(smic_in:SmicIn):
return money_of_cents_string("1057")
else:
raise EmptyError
def temp_brut_horaire_6(_:Unit):
def temp_brut_horaire_10(_:Unit):
if ((date_courante >= date_of_numbers(2021,1,1)) and
((date_courante <= date_of_numbers(2021,12,31)) and
(residence == Collectivite(Collectivite_Code.Mayotte,
@ -612,7 +664,7 @@ def smic(smic_in:SmicIn):
return money_of_cents_string("774")
else:
raise EmptyError
def temp_brut_horaire_7(_:Unit):
def temp_brut_horaire_11(_:Unit):
if ((date_courante >= date_of_numbers(2021,1,1)) and
((date_courante <= date_of_numbers(2021,12,31)) and
((residence == Collectivite(Collectivite_Code.Metropole,
@ -631,7 +683,7 @@ def smic(smic_in:SmicIn):
return money_of_cents_string("1025")
else:
raise EmptyError
def temp_brut_horaire_8(_:Unit):
def temp_brut_horaire_12(_:Unit):
if ((date_courante >= date_of_numbers(2020,1,1)) and
((date_courante <= date_of_numbers(2020,12,31)) and
(residence == Collectivite(Collectivite_Code.Mayotte,
@ -639,7 +691,7 @@ def smic(smic_in:SmicIn):
return money_of_cents_string("766")
else:
raise EmptyError
def temp_brut_horaire_9(_:Unit):
def temp_brut_horaire_13(_:Unit):
if ((date_courante >= date_of_numbers(2020,1,1)) and
((date_courante <= date_of_numbers(2020,12,31)) and
((residence == Collectivite(Collectivite_Code.Metropole,
@ -658,7 +710,7 @@ def smic(smic_in:SmicIn):
return money_of_cents_string("1015")
else:
raise EmptyError
def temp_brut_horaire_10(_:Unit):
def temp_brut_horaire_14(_:Unit):
if ((date_courante >= date_of_numbers(2019,1,1)) and
((date_courante <= date_of_numbers(2019,12,31)) and
(residence == Collectivite(Collectivite_Code.Mayotte,
@ -666,7 +718,7 @@ def smic(smic_in:SmicIn):
return money_of_cents_string("757")
else:
raise EmptyError
def temp_brut_horaire_11(_:Unit):
def temp_brut_horaire_15(_:Unit):
if ((date_courante >= date_of_numbers(2019,1,1)) and
((date_courante <= date_of_numbers(2019,12,31)) and
((residence == Collectivite(Collectivite_Code.Metropole,
@ -685,11 +737,15 @@ def smic(smic_in:SmicIn):
return money_of_cents_string("1003")
else:
raise EmptyError
temp_brut_horaire_12 = handle_default(SourcePosition(filename="examples/allocations_familiales/../smic/smic.catala_fr",
temp_brut_horaire_16 = handle_default(SourcePosition(filename="examples/allocations_familiales/../smic/smic.catala_fr",
start_line=11, start_column=12,
end_line=11, end_column=24,
law_headings=["Prologue",
"Montant du salaire minimum de croissance"]), [temp_brut_horaire_11,
"Montant du salaire minimum de croissance"]), [temp_brut_horaire_15,
temp_brut_horaire_14,
temp_brut_horaire_13,
temp_brut_horaire_12,
temp_brut_horaire_11,
temp_brut_horaire_10,
temp_brut_horaire_9,
temp_brut_horaire_8,
@ -702,13 +758,28 @@ def smic(smic_in:SmicIn):
temp_brut_horaire_1,
temp_brut_horaire)
except EmptyError:
temp_brut_horaire_12 = dead_value
temp_brut_horaire_16 = dead_value
raise NoValueProvided(SourcePosition(filename="examples/allocations_familiales/../smic/smic.catala_fr",
start_line=11, start_column=12,
end_line=11, end_column=24,
law_headings=["Prologue",
"Montant du salaire minimum de croissance"]))
brut_horaire = temp_brut_horaire_12
brut_horaire = temp_brut_horaire_16
try:
temp__ = (date_courante >= date_of_numbers(2019,1,1))
except EmptyError:
temp__ = dead_value
raise NoValueProvided(SourcePosition(filename="examples/allocations_familiales/../smic/smic.catala_fr",
start_line=16, start_column=13,
end_line=16, end_column=42,
law_headings=["Prologue",
"Montant du salaire minimum de croissance"]))
if not (temp__):
raise AssertionFailure(SourcePosition(filename="examples/allocations_familiales/../smic/smic.catala_fr",
start_line=16, start_column=13,
end_line=16, end_column=42,
law_headings=["Prologue",
"Montant du salaire minimum de croissance"]))
return Smic(brut_horaire = brut_horaire)
def base_mensuelle_allocations_familiales(base_mensuelle_allocations_familiales_in:BaseMensuelleAllocationsFamilialesIn):
@ -719,9 +790,8 @@ def base_mensuelle_allocations_familiales(base_mensuelle_allocations_familiales_
def temp_montant_1(_:Unit):
return False
def temp_montant_2(_:Unit):
if ((date_courante_1 >= date_of_numbers(2022,4,1)) and
(date_courante_1 <
date_of_numbers(2023,4,1))):
if (date_courante_1 >=
date_of_numbers(2022,4,1)):
return money_of_cents_string("42228")
else:
raise EmptyError
@ -760,6 +830,19 @@ def base_mensuelle_allocations_familiales(base_mensuelle_allocations_familiales_
end_line=6, end_column=19,
law_headings=["Montant de la base mensuelle des allocations familiales"]))
montant = temp_montant_6
try:
temp___1 = (date_courante_1 >= date_of_numbers(2019,4,1))
except EmptyError:
temp___1 = dead_value
raise NoValueProvided(SourcePosition(filename="examples/allocations_familiales/../base_mensuelle_allocations_familiales/bmaf.catala_fr",
start_line=10, start_column=13,
end_line=10, end_column=42,
law_headings=["Montant de la base mensuelle des allocations familiales"]))
if not (temp___1):
raise AssertionFailure(SourcePosition(filename="examples/allocations_familiales/../base_mensuelle_allocations_familiales/bmaf.catala_fr",
start_line=10, start_column=13,
end_line=10, end_column=42,
law_headings=["Montant de la base mensuelle des allocations familiales"]))
return BaseMensuelleAllocationsFamiliales(montant = montant)
def prestations_familiales(prestations_familiales_in:PrestationsFamilialesIn):
@ -1374,8 +1457,8 @@ def allocations_familiales(allocations_familiales_in:AllocationsFamilialesIn):
except EmptyError:
temp_enfant_le_plus_age_dot_enfants = dead_value
raise NoValueProvided(SourcePosition(filename="examples/allocations_familiales/epilogue.catala_fr",
start_line=32, start_column=14,
end_line=32, end_column=40,
start_line=33, start_column=14,
end_line=33, end_column=40,
law_headings=["Règles diverses",
"Épilogue"]))
enfant_le_plus_age_dot_enfants = temp_enfant_le_plus_age_dot_enfants
@ -2935,11 +3018,11 @@ def allocations_familiales(allocations_familiales_in:AllocationsFamilialesIn):
"Prologue"]))
montant_verse = temp_montant_verse
try:
temp__ = (personne_charge_effective_permanente_est_parent or
temp___2 = (personne_charge_effective_permanente_est_parent or
(not personne_charge_effective_permanente_est_parent and
personne_charge_effective_permanente_remplit_titre__i))
except EmptyError:
temp__ = dead_value
temp___2 = dead_value
raise NoValueProvided(SourcePosition(filename="examples/allocations_familiales/securite_sociale_L.catala_fr",
start_line=231, start_column=5,
end_line=235, end_column=6,
@ -2949,7 +3032,7 @@ def allocations_familiales(allocations_familiales_in:AllocationsFamilialesIn):
"Livre 5 : Prestations familiales et prestations assimilées",
"Partie législative",
"Code de la sécurité sociale"]))
if not (temp__):
if not (temp___2):
raise AssertionFailure(SourcePosition(filename="examples/allocations_familiales/securite_sociale_L.catala_fr",
start_line=231, start_column=5,
end_line=235, end_column=6,
@ -2996,8 +3079,8 @@ def interface_allocations_familiales(interface_allocations_familiales_in:Interfa
except EmptyError:
temp_enfants_a_charge_2 = dead_value
raise NoValueProvided(SourcePosition(filename="examples/allocations_familiales/epilogue.catala_fr",
start_line=75, start_column=11,
end_line=75, end_column=27,
start_line=76, start_column=11,
end_line=76, end_column=27,
law_headings=["Interface du programme",
"Épilogue"]))
enfants_a_charge_1 = temp_enfants_a_charge_2
@ -3014,8 +3097,8 @@ def interface_allocations_familiales(interface_allocations_familiales_in:Interfa
except EmptyError:
temp_allocations_familiales_dot_personne_charge_effective_permanente_est_parent_1 = dead_value
raise NoValueProvided(SourcePosition(filename="examples/allocations_familiales/epilogue.catala_fr",
start_line=91, start_column=5,
end_line=91, end_column=75,
start_line=92, start_column=5,
end_line=92, end_column=75,
law_headings=["Interface du programme",
"Épilogue"]))
allocations_familiales_dot_personne_charge_effective_permanente_est_parent = temp_allocations_familiales_dot_personne_charge_effective_permanente_est_parent_1
@ -3032,8 +3115,8 @@ def interface_allocations_familiales(interface_allocations_familiales_in:Interfa
except EmptyError:
temp_allocations_familiales_dot_personne_charge_effective_permanente_remplit_titre__i_1 = dead_value
raise NoValueProvided(SourcePosition(filename="examples/allocations_familiales/epilogue.catala_fr",
start_line=95, start_column=5,
end_line=95, end_column=80,
start_line=96, start_column=5,
end_line=96, end_column=80,
law_headings=["Interface du programme",
"Épilogue"]))
allocations_familiales_dot_personne_charge_effective_permanente_remplit_titre__i = temp_allocations_familiales_dot_personne_charge_effective_permanente_remplit_titre__i_1
@ -3042,8 +3125,8 @@ def interface_allocations_familiales(interface_allocations_familiales_in:Interfa
except EmptyError:
temp_allocations_familiales_dot_ressources_menage = dead_value
raise NoValueProvided(SourcePosition(filename="examples/allocations_familiales/epilogue.catala_fr",
start_line=87, start_column=14,
end_line=87, end_column=54,
start_line=88, start_column=14,
end_line=88, end_column=54,
law_headings=["Interface du programme",
"Épilogue"]))
allocations_familiales_dot_ressources_menage = temp_allocations_familiales_dot_ressources_menage
@ -3052,8 +3135,8 @@ def interface_allocations_familiales(interface_allocations_familiales_in:Interfa
except EmptyError:
temp_allocations_familiales_dot_residence = dead_value
raise NoValueProvided(SourcePosition(filename="examples/allocations_familiales/epilogue.catala_fr",
start_line=88, start_column=14,
end_line=88, end_column=46,
start_line=89, start_column=14,
end_line=89, end_column=46,
law_headings=["Interface du programme",
"Épilogue"]))
allocations_familiales_dot_residence = temp_allocations_familiales_dot_residence
@ -3062,8 +3145,8 @@ def interface_allocations_familiales(interface_allocations_familiales_in:Interfa
except EmptyError:
temp_allocations_familiales_dot_date_courante = dead_value
raise NoValueProvided(SourcePosition(filename="examples/allocations_familiales/epilogue.catala_fr",
start_line=85, start_column=14,
end_line=85, end_column=50,
start_line=86, start_column=14,
end_line=86, end_column=50,
law_headings=["Interface du programme",
"Épilogue"]))
allocations_familiales_dot_date_courante = temp_allocations_familiales_dot_date_courante
@ -3072,8 +3155,8 @@ def interface_allocations_familiales(interface_allocations_familiales_in:Interfa
except EmptyError:
temp_allocations_familiales_dot_enfants_a_charge = dead_value
raise NoValueProvided(SourcePosition(filename="examples/allocations_familiales/epilogue.catala_fr",
start_line=86, start_column=14,
end_line=86, end_column=53,
start_line=87, start_column=14,
end_line=87, end_column=53,
law_headings=["Interface du programme",
"Épilogue"]))
allocations_familiales_dot_enfants_a_charge = temp_allocations_familiales_dot_enfants_a_charge
@ -3090,8 +3173,8 @@ def interface_allocations_familiales(interface_allocations_familiales_in:Interfa
except EmptyError:
temp_allocations_familiales_dot_avait_enfant_a_charge_avant_1er_janvier_2012_1 = dead_value
raise NoValueProvided(SourcePosition(filename="examples/allocations_familiales/epilogue.catala_fr",
start_line=99, start_column=5,
end_line=99, end_column=72,
start_line=100, start_column=5,
end_line=100, end_column=72,
law_headings=["Interface du programme",
"Épilogue"]))
allocations_familiales_dot_avait_enfant_a_charge_avant_1er_janvier_2012 = temp_allocations_familiales_dot_avait_enfant_a_charge_avant_1er_janvier_2012_1
@ -3108,8 +3191,8 @@ def interface_allocations_familiales(interface_allocations_familiales_in:Interfa
except EmptyError:
temp_i_montant_verse = dead_value
raise NoValueProvided(SourcePosition(filename="examples/allocations_familiales/epilogue.catala_fr",
start_line=79, start_column=12,
end_line=79, end_column=27,
start_line=80, start_column=12,
end_line=80, end_column=27,
law_headings=["Interface du programme",
"Épilogue"]))
i_montant_verse = temp_i_montant_verse

View File

@ -2,6 +2,8 @@ from abc import ABC
from catala.runtime import *
from .allocations_familiales import Collectivite, Collectivite_Code, InterfaceAllocationsFamilialesIn, PriseEnCharge, interface_allocations_familiales, PriseEnCharge_Code, EnfantEntree, InterfaceAllocationsFamilialesIn
from .aides_logement import AutrePersonneACharge, CategorieEquivalenceLoyerAllocationLogementFoyer, CategorieEquivalenceLoyerAllocationLogementFoyer_Code, ChangementLogementD8424, ChangementLogementD8424_Code, ConventionANHA, ConventionBailleurSocial, EnfantACharge, InfosChangementLogementD8424, Location, Logement, LogementFoyer, LoueOuSousLoueADesTiers, LoueOuSousLoueADesTiers_Code, Menage, ModeOccupation, ModeOccupation_Code, Nationalite, Nationalite_Code, NeufOuAncien, NeufOuAncien_Code, ParentOuAutre, ParentOuAutre_Code, Parente, Parente_Code, Patrimoine, PersonneACharge, PersonneSousLocation, PrestationRecue, PrestationRecue_Code, Pret, Proprietaire, SituationFamiliale, SituationFamiliale_Code, SituationGardeAlternee_Code, SituationObligationScolaire_Code, TitulairePret, TitulairePret_Code, TypeBailleur, TypeBailleur_Code, TypeLogementFoyer, TypeLogementFoyer_Code, TypePret, TypePret_Code, TypeTravauxLogementD83215, TypeTravauxLogementD83215_Code, TypeTravauxLogementR8425, TypeTravauxLogementR8425_Code, ZoneDHabitation, ZoneDHabitation_Code, calculette_aides_au_logement_garde_alternee, CalculetteAidesAuLogementGardeAlterneeIn, ressources_aides_personnelle_logement, Demandeur, PersonneACharge_Code, SituationObligationScolaire, SituationGardeAlternee
from .aides_logement import Collectivite_Code as Collectivite_Code_APL
from .aides_logement import Collectivite as Collectivite_APL
# Allocations familiales
@ -178,6 +180,7 @@ class InfosAccessionPropriete(InfosSpecifiques):
def aides_logement(
date_courante: datetime.date,
residence: Collectivite_Code_APL,
ressources_menage_prises_en_compte: int,
date_naissance_demandeur: datetime.date,
nationalite_demandeur: Nationalite_Code,
@ -204,6 +207,8 @@ def aides_logement(
):
out = calculette_aides_au_logement_garde_alternee(CalculetteAidesAuLogementGardeAlterneeIn(
menage_in=Menage(
residence=Collectivite_APL(
code=residence, value=Unit()),
prestations_recues=[PrestationRecue(
code=presta, value=Unit()) for presta in prestations_recues],
logement=Logement(