}
- const rule = engine.evaluate(dottedName, {
- useDefaultValues
- })
+ const rule = engine.evaluate(dottedName)
+ const isSetInStituation = engine.situation[dottedName] !== undefined
const { description, question } = rule
return (
@@ -43,7 +34,9 @@ export default function Rule({
padding: '1rem'
}}
>
- {rule.nodeValue != null && (
+ {((rule.defaultValue?.nodeValue == null &&
+ rule.nodeValue != null) ||
+ (rule.defaultValue?.nodeValue != null && isSetInStituation)) && (
<>
{formatValue(rule, { language })}
diff --git a/publicodes/source/evaluateRule.ts b/publicodes/source/evaluateRule.ts
index ebbc984fa..7fe1e7d60 100644
--- a/publicodes/source/evaluateRule.ts
+++ b/publicodes/source/evaluateRule.ts
@@ -29,7 +29,7 @@ export const evaluateApplicability = (
parent => parent?.nodeValue === false
)
- const { nodeValue, missingVariables } = anyDisabledParent
+ const { nodeValue, missingVariables = {} } = anyDisabledParent
? anyDisabledParent
: notApplicable?.nodeValue === true
? {
From 3f31d5d32f378ddd211c7facb86fc2d9e6ee1c84 Mon Sep 17 00:00:00 2001
From: Johan Girod
Date: Wed, 3 Jun 2020 14:48:50 +0200
Subject: [PATCH 3/7] =?UTF-8?q?:fountain=5Fpen:=20enl=C3=A8ve=20les=20r?=
=?UTF-8?q?=C3=A9f=C3=A9rences=20=C3=A0=20`useDefaultValues`=20de=20la=20d?=
=?UTF-8?q?ocumentation?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
mon-entreprise/source/sites/publi.codes/Studio.tsx | 4 +---
publicodes/docs/api.md | 14 +-------------
2 files changed, 2 insertions(+), 16 deletions(-)
diff --git a/mon-entreprise/source/sites/publi.codes/Studio.tsx b/mon-entreprise/source/sites/publi.codes/Studio.tsx
index a236600b0..d0d637820 100644
--- a/mon-entreprise/source/sites/publi.codes/Studio.tsx
+++ b/mon-entreprise/source/sites/publi.codes/Studio.tsx
@@ -59,7 +59,6 @@ export default function Studio() {
useEffect(() => {
history.replace({
pathname,
- state: { useDefaultValues: true },
search: `?code=${encodeURIComponent(debouncedEditorValue)}`
})
}, [debouncedEditorValue, history])
@@ -122,8 +121,7 @@ export const Results = ({ onClickShare, rules }: ResultsProps) => {
target =>
history.replace({
pathname: ruleToPaths[target],
- search,
- state: { useDefaultValues: true }
+ search
}),
[ruleToPaths, history, search]
)
diff --git a/publicodes/docs/api.md b/publicodes/docs/api.md
index 837b32371..9b5ca4127 100644
--- a/publicodes/docs/api.md
+++ b/publicodes/docs/api.md
@@ -243,8 +243,6 @@ dans un cache. Par conséquent, les prochains appels seront plus rapides.
- `unit`: spécifie l'unité dans laquelle le résultat doit être retourné.
Si la valeur retournée par le calcul est un nombre, ce dernier sera converti dans l'unité demandée. Ainsi `evaluate('prix', {unit: '€'})` équivaut à `evaluate('prix [€]')`. Une erreur est levée si l'unité n'est pas compatible avec la formule.
- - `useDefaultValues` (par défaut `true`): option pour forcer l'utilisation des valeurs par défaut des règles.
- Si sa valeur est à `false` et qu'il manque des valeurs dans la situation pour que le calcul soit effectué, ces dernières seront remontée dans les `missingsVariables` de l'objet retourné, et la valeur sera `null`.
**Retourne**
Un objet javascript de type `EvaluatedNode` contenant la valeur calculée.
@@ -255,8 +253,7 @@ Un objet javascript de type `EvaluatedNode` contenant la valeur calculée.
> Utilisez la fonction `formatNode(evaluationResult)` autant que possible pour
> afficher la valeur retournée.
-- `missingVariables`: contient les valeur manquante lorsque `useDefaultValues`
- est mis à `false`.
+- `missingVariables`: contient les règles dont la valeur est manquante dans la situation
- `nodeValue`: la valeur calculée
- `isApplicable`: si l'expression évaluée est une référence à une règle, alors
ce booléen indique si la règle est applicable ou non
@@ -307,14 +304,6 @@ action (il est affiché sur l'écran de droite).
- `language`: le language dans lequel afficher la documentation (pour l'instant,
seul `fr` et `en` sont supportés)
-> Note : les valeurs des règles `par défaut` ne sont pas utilisée dans la doc.
-> Si l'on souhaite afficher la documentation avec les calculs utilisant les
-> valeurs par défaut, il suffit d'ajouter la clé `useDefaultValues: true` dans
-> le `state` de l'objet
-> [`location`](https://reacttraining.com/react-router/web/api/location) du
-> navigateur. On peut également utiliser [RuleLink](#) (ci-dessous)
-> qui s'en occupe pour nous.
-
####
Composant react permettant de faire un lien vers une page de la documentation.
@@ -327,5 +316,4 @@ Par défaut, le texte affiché est le nom de la règle.
montée. Doit correspondre à celui précisé pour le composant ``
- `dottedName`: le nom de la règle à afficher
- `displayIcon`: affiche l'icône de la règle dans le lien (par défaut à `false`)
-- `useDefaultValues`: utilise les valeurs `par défaut` des règles (par défaut à `false`)
- `children`: N'importe quel noeud react. Par défaut, c'est le nom de la règle qui est utilisé.
From c30722935d5289da3b77f65c19afc2048e913fef Mon Sep 17 00:00:00 2001
From: Johan Girod
Date: Thu, 4 Jun 2020 11:42:15 +0200
Subject: [PATCH 4/7] =?UTF-8?q?:green=5Fheart:=20r=C3=A9pare=20les=20tests?=
=?UTF-8?q?=20de=20non=20regression?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../regressions/aide-déclaration-indépendants.yaml | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/mon-entreprise/test/regressions/aide-déclaration-indépendants.yaml b/mon-entreprise/test/regressions/aide-déclaration-indépendants.yaml
index 49c465824..873ab1b6b 100644
--- a/mon-entreprise/test/regressions/aide-déclaration-indépendants.yaml
+++ b/mon-entreprise/test/regressions/aide-déclaration-indépendants.yaml
@@ -62,16 +62,16 @@ IJSS (indemnité sécurité sociale):
dirigeant . rémunération totale: 50000 €/an
ACRE:
- - entreprise . ACRE: oui
+ - aide déclaration revenu indépendant 2019 . ACRE: oui
dirigeant . rémunération totale: 50000 €/an
- - entreprise . ACRE: oui
+ - aide déclaration revenu indépendant 2019 . ACRE: oui
dirigeant . rémunération totale: 15000 €/an
- - entreprise . ACRE: oui
+ - aide déclaration revenu indépendant 2019 . ACRE: oui
dirigeant . rémunération totale: 5000 €/an
- - entreprise . ACRE: oui
+ - aide déclaration revenu indépendant 2019 . ACRE: oui
entreprise . date de création: 01/07/2018
dirigeant . rémunération totale: 10000 €/an
- - entreprise . ACRE: oui
+ - aide déclaration revenu indépendant 2019 . ACRE: oui
entreprise . date de création: 01/07/2019
dirigeant . rémunération totale: 10000 €/an
From 141be3f44c2c565790264fe6b4e01e0afb2d80ea Mon Sep 17 00:00:00 2001
From: Johan Girod
Date: Thu, 4 Jun 2020 12:04:46 +0200
Subject: [PATCH 5/7] =?UTF-8?q?ajoute=20le=20simulateur=20ch=C3=B4mage=20p?=
=?UTF-8?q?artiel=20et=20aide=20=C3=A0=20la=20d=C3=A9claration=20dans=20la?=
=?UTF-8?q?=20liste=20des=20simulateurs?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../pages/Simulateurs/Home.tsx | 31 ++++++++++++++-----
1 file changed, 24 insertions(+), 7 deletions(-)
diff --git a/mon-entreprise/source/sites/mon-entreprise.fr/pages/Simulateurs/Home.tsx b/mon-entreprise/source/sites/mon-entreprise.fr/pages/Simulateurs/Home.tsx
index 62c4c4124..157626343 100644
--- a/mon-entreprise/source/sites/mon-entreprise.fr/pages/Simulateurs/Home.tsx
+++ b/mon-entreprise/source/sites/mon-entreprise.fr/pages/Simulateurs/Home.tsx
@@ -14,6 +14,7 @@ export function useSimulatorsMetadata() {
icône: string
description?: string
sitePath: string
+ label?: string
}
return [
@@ -67,14 +68,29 @@ export function useSimulatorsMetadata() {
icône: '📊',
description: t(
'simulateurs.résumé.comparaison',
- 'Simulez les différences entre les régimes (cotisations,retraite, maternité, maladie, etc.)'
+ 'Découvrir les différences entre les régimes (cotisations,retraite, maternité, maladie, etc.)'
),
sitePath: sitePaths.simulateurs.comparaison
},
{
- name: t('Coronavirus'),
- icône: '👨🔬',
+ name: t('Chômage partiel'),
+ description: t(
+ 'simulateurs.résumé.chômage-partiel',
+ `Simuler le revenu net versé au salarié, ainsi que le coût total restant à charge pour l'entreprise en cas de recours à l'activité partielle.`
+ ),
+ icône: '😷',
+ label: t('Covid 19'),
sitePath: sitePaths.coronavirus
+ },
+ {
+ name: t('Aide à la déclaration de revenu'),
+ description: t(
+ 'simulateurs.résumé.aide-déclaration-revenu-indep',
+ `Calculez facilement les montants des charges sociales à reporter dans votre déclaration de revenu 2019.`
+ ),
+ icône: '✍️',
+ label: t('Indépendant'),
+ sitePath: sitePaths.gérer.déclarationIndépendant
}
] as Array
}
@@ -101,9 +117,8 @@ export default function Simulateurs() {
// dernière ligne.
style={{ maxWidth: 1100, margin: 'auto' }}
>
- {simulatorsMetadata
- .filter(({ name }) => name !== 'Coronavirus')
- .map(({ name, description, sitePath, icône }) => (
+ {simulatorsMetadata.map(
+ ({ name, description, sitePath, icône, label }) => (
{description}
+ {label && {label}}
- ))}
+ )
+ )}
From 8a931b1141367ca92fa771b34da23525e5a2211f Mon Sep 17 00:00:00 2001
From: Johan Girod
Date: Thu, 4 Jun 2020 12:13:09 +0200
Subject: [PATCH 6/7] =?UTF-8?q?cache=20la=20question=20sur=20le=20d=C3=A9b?=
=?UTF-8?q?it=20de=20tabac=20si=20la=20nature=20de=20l'activit=C3=A9=20n'e?=
=?UTF-8?q?st=20pas=20d=C3=A9finie?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../source/rules/déclaration-revenu-indépendant.yaml | 1 -
mon-entreprise/test/regressions/simulations.jest.js | 6 +++++-
2 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/mon-entreprise/source/rules/déclaration-revenu-indépendant.yaml b/mon-entreprise/source/rules/déclaration-revenu-indépendant.yaml
index 07b138645..f513f64fd 100644
--- a/mon-entreprise/source/rules/déclaration-revenu-indépendant.yaml
+++ b/mon-entreprise/source/rules/déclaration-revenu-indépendant.yaml
@@ -9,7 +9,6 @@ aide déclaration revenu indépendant 2019:
aide déclaration revenu indépendant 2019 . nature de l'activité:
remplace: entreprise . catégorie d'activité
question: Quelle est la nature de votre activité ?
- par défaut: "'commerciale ou industrielle'"
formule:
une possibilité:
choix obligatoire: oui
diff --git a/mon-entreprise/test/regressions/simulations.jest.js b/mon-entreprise/test/regressions/simulations.jest.js
index 99a59f46e..14b690fea 100644
--- a/mon-entreprise/test/regressions/simulations.jest.js
+++ b/mon-entreprise/test/regressions/simulations.jest.js
@@ -107,6 +107,10 @@ it('calculate aide-déclaration-indépendant', () => {
runSimulations(
aideDéclarationIndépendantsSituations,
aideDéclarationConfig.objectifs,
- aideDéclarationConfig.situation
+ {
+ "aide déclaration revenu indépendant 2019 . nature de l'activité":
+ "'commerciale ou industrielle'",
+ ...aideDéclarationConfig.situation
+ }
)
})
From fa4dd2cdfed0bac6f0743f7a5d42f5afbde20639 Mon Sep 17 00:00:00 2001
From: Johan Girod
Date: Thu, 4 Jun 2020 12:35:19 +0200
Subject: [PATCH 7/7] =?UTF-8?q?:alien:=20traductions=20manquantes=20et=20r?=
=?UTF-8?q?=C3=A9paration=20script=20traduction=20ui?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
mon-entreprise/scripts/i18n/parser.config.js | 2 +-
mon-entreprise/scripts/i18n/utils.js | 2 +-
mon-entreprise/source/locales/ui-en.yaml | 7 +++++++
.../sites/mon-entreprise.fr/pages/Simulateurs/Home.tsx | 4 ++--
4 files changed, 11 insertions(+), 4 deletions(-)
diff --git a/mon-entreprise/scripts/i18n/parser.config.js b/mon-entreprise/scripts/i18n/parser.config.js
index 43890e090..a17870071 100644
--- a/mon-entreprise/scripts/i18n/parser.config.js
+++ b/mon-entreprise/scripts/i18n/parser.config.js
@@ -50,7 +50,7 @@ module.exports = {
// Namespace separator used in your translation keys
// If you want to use plain english keys, separators such as `.` and `:` will conflict. You might want to set `keySeparator: false` and `namespaceSeparator: false`. That way, `t('Status: Loading...')` will not think that there are a namespace and three separator dots for instance.
- output: '../../source/locales/static-analysis-$LOCALE.json',
+ output: 'source/locales/static-analysis-$LOCALE.json',
// Supports $LOCALE and $NAMESPACE injection
// Supports JSON (.json) and YAML (.yml) file formats
// Where to write the locale files relative to process.cwd()
diff --git a/mon-entreprise/scripts/i18n/utils.js b/mon-entreprise/scripts/i18n/utils.js
index bc9f083a4..3408b603a 100644
--- a/mon-entreprise/scripts/i18n/utils.js
+++ b/mon-entreprise/scripts/i18n/utils.js
@@ -117,7 +117,7 @@ function getRulesMissingTranslations() {
const getUiMissingTranslations = () => {
const staticKeys = require(path.resolve(
- '../../source/locales/static-analysis-fr.json'
+ 'source/locales/static-analysis-fr.json'
))
const translatedKeys = parse(fs.readFileSync(UiTranslationPath, 'utf-8'))
diff --git a/mon-entreprise/source/locales/ui-en.yaml b/mon-entreprise/source/locales/ui-en.yaml
index 227667a5d..552e05b86 100644
--- a/mon-entreprise/source/locales/ui-en.yaml
+++ b/mon-entreprise/source/locales/ui-en.yaml
@@ -6,6 +6,7 @@
A quoi servent mes cotisations ?: What's included in my contributions?
Accueil: Home
Afficher la description publicode: Display publicode description
+Aide à la déclaration de revenu: Income tax return assistance
Aide à la déclaration de revenus au titre de l'année 2019: Help with your 2019 income tax return
Alors: Then
Année d'activité: Years of activity
@@ -23,6 +24,7 @@ Changer: Change
Chercher dans la documentation: Search the documentation
Choisir la forme juridique: Choose your legal status
Choisir plus tard: Choose later
+Chômage partiel: Partial unemployment
Code d'intégration: Integration Code
Commencer: Get started
"Commerçant, artisan, ou libéral ?": Trader, craftsman, or liberal?
@@ -31,6 +33,7 @@ Continuer: Continue
Coronavirus: Coronavirus
Cotisations: Contributions
Cotisations sociales: Social contributions
+Covid 19: Covid 19
"Covid-19 : Découvrez les mesures de soutien aux entreprises": "Covid-19: Find out about business support measures"
"Covid-19 : Découvrir les mesures de soutien aux entreprises": "Covid-19: Discovering Business Support Measures"
Coût pour l'entreprise: Cost to the company
@@ -1007,11 +1010,15 @@ simulateurs:
faible: Low accuracy
moyenne: Medium accuracy
résumé:
+ aide-déclaration-revenu-indep: Easily calculate the amount of payroll taxes to
+ report on your 2019 income tax return.
artiste-auteur: Estimating the social security contributions of an artist or author
assimilé: |
Calculate the income of an officer of a minority SAS, SASU or SARL
auto: |
Calculate the income (or turnover) of an auto-entrepreneur
+ chômage-partiel: Simulate the net income paid to the employee, as well as the
+ total remaining cost to the company if the partial activity is used.
comparaison: >
Simulate the differences between the plans (contributions, retirement,
maternity, illness, etc.)
diff --git a/mon-entreprise/source/sites/mon-entreprise.fr/pages/Simulateurs/Home.tsx b/mon-entreprise/source/sites/mon-entreprise.fr/pages/Simulateurs/Home.tsx
index 157626343..71c9a4b88 100644
--- a/mon-entreprise/source/sites/mon-entreprise.fr/pages/Simulateurs/Home.tsx
+++ b/mon-entreprise/source/sites/mon-entreprise.fr/pages/Simulateurs/Home.tsx
@@ -76,7 +76,7 @@ export function useSimulatorsMetadata() {
name: t('Chômage partiel'),
description: t(
'simulateurs.résumé.chômage-partiel',
- `Simuler le revenu net versé au salarié, ainsi que le coût total restant à charge pour l'entreprise en cas de recours à l'activité partielle.`
+ "Simuler le revenu net versé au salarié, ainsi que le coût total restant à charge pour l'entreprise en cas de recours à l'activité partielle."
),
icône: '😷',
label: t('Covid 19'),
@@ -86,7 +86,7 @@ export function useSimulatorsMetadata() {
name: t('Aide à la déclaration de revenu'),
description: t(
'simulateurs.résumé.aide-déclaration-revenu-indep',
- `Calculez facilement les montants des charges sociales à reporter dans votre déclaration de revenu 2019.`
+ 'Calculer facilement les montants des charges sociales à reporter dans votre déclaration de revenu 2019.'
),
icône: '✍️',
label: t('Indépendant'),