From 4886f0ca1c9d7bd2072717134f9b48c2e2ac6ddc Mon Sep 17 00:00:00 2001 From: mama Date: Tue, 2 May 2017 16:53:56 +0200 Subject: [PATCH] =?UTF-8?q?:bug:=20Les=20saisies=20num=C3=A9riques=20ont?= =?UTF-8?q?=20maintenant=20le=20bon=20format?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Solution pratique mais pas élégantes aux formats d'entrée --- .../rémunération-travail/entités/ok/CDD.yaml | 4 +- .../entités/ok/contrat-salarié.yaml | 6 +- source/components/SimulationCDD.js | 100 -------------- source/components/SimulationNet.js | 90 ------------- .../components/conversation/Conversation.js | 124 ------------------ .../components/conversation/formValueTypes.js | 23 +++- source/engine/generateQuestions.js | 38 +----- source/engine/variables.js | 4 +- 8 files changed, 29 insertions(+), 360 deletions(-) delete mode 100644 source/components/SimulationCDD.js delete mode 100644 source/components/SimulationNet.js delete mode 100644 source/components/conversation/Conversation.js diff --git a/règles/rémunération-travail/entités/ok/CDD.yaml b/règles/rémunération-travail/entités/ok/CDD.yaml index 4d81458e4..454b4c39e 100644 --- a/règles/rémunération-travail/entités/ok/CDD.yaml +++ b/règles/rémunération-travail/entités/ok/CDD.yaml @@ -26,7 +26,7 @@ [Cliquez ici](https://www.service-public.fr/professionnels-entreprises/vosdroits/F31211) pour connaître la durée maximale d'un CDD. références: Durée maximale d'un CDD (service-public.fr): https://www.service-public.fr/professionnels-entreprises/vosdroits/F31211 - format: période + format: mois suggestions: 18 mois: 18 1 an: 12 @@ -38,7 +38,7 @@ titre: Congés non pris question: Combien de jours de congés ne seront pas pris ? description: Combien de jours de congés ne pourront être pris par l'employé, du fait de la durée de son CDD. En jours ouvrés, par rapport aux 25 jours de congés légaux annuels. - format: nombre positif + format: jours suggestions: 3 / 25: 3 10 / 25: 10 diff --git a/règles/rémunération-travail/entités/ok/contrat-salarié.yaml b/règles/rémunération-travail/entités/ok/contrat-salarié.yaml index 7b65c99dc..bfec1febc 100644 --- a/règles/rémunération-travail/entités/ok/contrat-salarié.yaml +++ b/règles/rémunération-travail/entités/ok/contrat-salarié.yaml @@ -25,7 +25,7 @@ nom: salaire de base question: Quel est le salaire de base ? description: Le salaire de base est le salaire brut régulier inscrit dans le contrat. C'est le salaire de négociation entre le salarié et l'employeur. Des primes viendront éventuellement le compléter, on parlera alors de salaire brut. - format: nombre positif + format: euros suggestions: salaire médian: 2300 SMIC: 1480 @@ -34,13 +34,13 @@ nom: salaire brut titre: Salaire brut question: Quel est le salaire brut ? - description: | + description: | C'est le salaire de négociation du contrat de travail en France. Il peut être vu comme : - la somme du salaire net et des cotisations sociales salariales retenues sur le bulletin de paie d'un salarié - ou comme les sommes perçues par le salarié au titre de son contrat de travail, avant retenues sociales et fiscales. - format: nombre positif + format: euros # TODO En attendant que l'UI devienne plus intelligente, c'est confondu avec le salaire de base. # intelligente : il faudrait demander : `salaire brut`, puis un bouton `qu'est-ce que c'est` pour nous guider et décortiquer la formule # formule: diff --git a/source/components/SimulationCDD.js b/source/components/SimulationCDD.js deleted file mode 100644 index 135aa81d6..000000000 --- a/source/components/SimulationCDD.js +++ /dev/null @@ -1,100 +0,0 @@ -import React, {Component} from 'react' -import './CDD.css' -import Results from './Results' -import {reduxForm, formValueSelector} from 'redux-form' -import {connect} from 'react-redux' -import './conversation/conversation.css' -import {START_CONVERSATION} from '../actions' -import Aide from './Aide' -import PageTypeIcon from './PageTypeIcon' - -let situationSelector = formValueSelector('conversation') - -@reduxForm({form: 'conversation', destroyOnUnmount: false}) -@connect( - state => ({ - situation: variableName => situationSelector(state, variableName), - foldedSteps: state.foldedSteps, - unfoldedSteps: state.unfoldedSteps, - themeColours: state.themeColours, - analysedSituation: state.analysedSituation, - }), - dispatch => ({ - startConversation: rootVariable => dispatch({type: START_CONVERSATION, rootVariable}), - }), -) -export default class CDD extends Component { - componentDidMount() { - // C'est ici que la génération du formulaire, et donc la traversée des variables commence - this.props.startConversation('surcoût CDD') - } - render() { - let {foldedSteps, unfoldedSteps, situation} = this.props - - return ( -
- -

Simulateur CDD

-
-
-
- {foldedSteps - .map(step => ( - - ))} -
-
- {unfoldedSteps.map(step => ( - - ))} -
- {unfoldedSteps.length == 0 && -
- -

- Nous n'avons plus de questions : votre simulation est terminée. -

-

- Cliquez sur les obligations en bas pour comprendre vos résultats. -

-

- Une remarque ?   - - Écrivez-nous - - {' '} - - {' '} - ! -

-
} -
- -
- -
- ) - } -} - -/* TODO Problèmes à résoudre : - -- exprimer la justification du CDD d'usage au delà des secteurs. -" l'usage exclut le recours au CDI en raison de la nature de l'activité et du caractère temporaire de ces emplois." -+ interdictions explicites (grève et travaux dangereux) - -*/ diff --git a/source/components/SimulationNet.js b/source/components/SimulationNet.js deleted file mode 100644 index f772af3d0..000000000 --- a/source/components/SimulationNet.js +++ /dev/null @@ -1,90 +0,0 @@ -import React, {Component} from 'react' -import './CDD.css' -import Results from './Results' -import {reduxForm, formValueSelector} from 'redux-form' -import {connect} from 'react-redux' -import './conversation/conversation.css' -import {START_CONVERSATION} from '../actions' -import Aide from './Aide' -import PageTypeIcon from './PageTypeIcon' - -//TODO fusionner SimulationCDD & SimulationNet - -let situationSelector = formValueSelector('conversation') - -@reduxForm({form: 'conversation', destroyOnUnmount: false}) -@connect( - state => ({ - situation: variableName => situationSelector(state, variableName), - foldedSteps: state.foldedSteps, - unfoldedSteps: state.unfoldedSteps, - themeColours: state.themeColours, - analysedSituation: state.analysedSituation, - }), - dispatch => ({ - startConversation: rootVariable => dispatch({type: START_CONVERSATION, rootVariable}), - }), -) -export default class SimulationNet extends Component { - componentDidMount() { - // C'est ici que la génération du formulaire, et donc la traversée des variables commence - this.props.startConversation('salaire net') - } - render() { - let {foldedSteps, unfoldedSteps, situation} = this.props - - return ( -
- -

Simulateur salaire net

-
-
-
- {foldedSteps - .map(step => ( - - ))} -
-
- {unfoldedSteps.map(step => ( - - ))} -
- {unfoldedSteps.length == 0 && -
- -

- Nous n'avons plus de questions : votre simulation est terminée. -

- Une remarque ?   - - Écrivez-nous - - {' '} - - {' '} - ! -

-
} -
- -
- -
- ) - } -} diff --git a/source/components/conversation/Conversation.js b/source/components/conversation/Conversation.js deleted file mode 100644 index 1df51e339..000000000 --- a/source/components/conversation/Conversation.js +++ /dev/null @@ -1,124 +0,0 @@ -import React, {Component} from 'react' -import { connect } from 'react-redux' -import Question from '../components/Forms/Question' -import Input from '../components/Forms/Input' -import SelectCommune from '../components/Forms/SelectCommune' -import SelectTauxRisque from '../components/Forms/SelectTauxRisque' -import RhetoricalQuestion from '../components/Forms/RhetoricalQuestion' -import TextArea from '../components/Forms/TextArea' -import Group from '../components/Group' -import ResultATMP from '../components/ResultATMP' -import {reduxForm, formValueSelector} from 'redux-form' -import { percentage } from '../formValueTypes.js' -import validate from '../conversation-validate' - -let advancedInputSelector = formValueSelector('advancedQuestions'), - basicInputSelector = formValueSelector('basicInput') - -@reduxForm({ - form: 'advancedQuestions', - validate, -}) -@connect(state => ({ - formValue: (field, simple) => simple ? basicInputSelector(state, field): advancedInputSelector(state, field), - steps: state.steps, - themeColours: state.themeColours -})) -class Conversation extends Component { - render() { - let { formValue, steps, themeColours: {colour, textColour}} = this.props - let effectifEntreprise = formValue('effectifEntreprise', 'basicInput') - - /* C'est ici qu'est définie la suite de questions à poser. */ - return ( -
- = 10} - title="Commune" - question="Quelle est la commune de l'embauche ?" - name="codeINSEE" /> - - - - - - - - - - - = 249 && steps.get('tauxRisque')} - name="pourcentage_alternants" /> - - - - - - - - - - Merci. N'hésitez pas à partager le simulateur ! - - } /> -