🐛 réintroduction du choix 'Aucun' si pas interdit
L'interdiction n'est qu'un fix temporaire. Voir les commentaires pour les détailspull/6/head
parent
e030ed1e44
commit
ae6af2b1f1
|
@ -6,6 +6,8 @@
|
|||
Le CDD est un contrat d'exception: son recours doit être autorisé par l'un des motifs spécifiés dans la loi.
|
||||
formule:
|
||||
une possibilité:
|
||||
choix obligatoire: oui # cette contrainte devrait découler de la valeur CDD en amont, c'est un fix temporaire, qui devra être levé au passage à une simulation CDI / CDD
|
||||
possibilités:
|
||||
- classique
|
||||
- contrat aidé
|
||||
- complément formation
|
||||
|
@ -16,6 +18,7 @@
|
|||
embaucher en CDD: https://www.service-public.fr/particuliers/vosdroits/F34
|
||||
les cas de recours au CDD: https://www.easycdd.com/LEGISLATION-CDD/Avant-de-rediger-un-contrat-CDD/Les-cas-de-recours-au-contrat-CDD
|
||||
|
||||
|
||||
- espace: contrat salarié . CDD . motif
|
||||
nom: classique
|
||||
titre: motifs classiques
|
||||
|
|
|
@ -6,10 +6,11 @@
|
|||
nom complet: CDD
|
||||
description: Contrat de travail pour lequel un employeur peut recruter un salarié pour une durée déterminée, car la cause de cette détermination, de la date ou échéance de fin de contrat est prévue explicitement par le Code du travail.
|
||||
référence: https://fr.wikipedia.org/wiki/Contrat_de_travail_%C3%A0_dur%C3%A9e_d%C3%A9termin%C3%A9e_en_France
|
||||
# TODO: règle de type : il faut q'un motif et une durée soient sélectionnés pour qu'un contrat soit un CDD. Cela revient à dire que les variables CDD et motif sont obligatoires *dans le contexte* de leur attache
|
||||
# # TODO: règle de type : il faut q'un motif et une durée soient sélectionnés pour qu'un contrat soit un CDD. Cela revient à dire que les variables CDD et motif sont obligatoires *dans le contexte* de leur attache
|
||||
# implique:
|
||||
# - emploi temporaire
|
||||
# - motif de recours
|
||||
# # C'est ici que l'on dit : si le CDD a été choisi, la réponses à motif CDD doit être donnée (on ne peut ne pas y répondre)
|
||||
|
||||
# - Variable: emploi temporaire
|
||||
# description: Le contrat n'a ni pour objet ni pour effet de pourvoir durablement un emploi lié à l'activité normale et permanente de l'entreprise.
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
description: |
|
||||
Certains de ces événements impactent fortement les résultats de la simulation, et peuvent donc la racourcir.
|
||||
Par exemple, dans l'hypothèse d'un CDD poursuivi en CDI, aucune majoration ou indemnité ne sera à verser !
|
||||
langue au chat possible: oui
|
||||
formule:
|
||||
une possibilité:
|
||||
- CDD poursuivi en CDI
|
||||
|
|
|
@ -42,7 +42,7 @@ export default class Question extends Component {
|
|||
if (R.is(Array)(choices))
|
||||
return this.renderBinaryQuestion()
|
||||
else
|
||||
return this.renderChildren(choices.children)
|
||||
return this.renderChildren(choices)
|
||||
}
|
||||
renderBinaryQuestion(){
|
||||
let {
|
||||
|
@ -59,7 +59,7 @@ export default class Question extends Component {
|
|||
</ul>
|
||||
)
|
||||
}
|
||||
renderChildren(children) {
|
||||
renderChildren(choices) {
|
||||
let {
|
||||
input, // vient de redux-form
|
||||
stepProps,
|
||||
|
@ -73,16 +73,21 @@ export default class Question extends Component {
|
|||
radioDottedName.split(name + ' . ')[1]
|
||||
|
||||
return (<ul>
|
||||
{ children.map( ({name, titre, dottedName, children: nextChildren}) =>
|
||||
nextChildren ?
|
||||
{ choices.children.map( ({name, titre, dottedName, children}) =>
|
||||
children ?
|
||||
<li key={name} className="variant">
|
||||
<div>{titre || name}</div>
|
||||
{this.renderChildren(nextChildren)}
|
||||
{this.renderChildren({children})}
|
||||
</li>
|
||||
: <li key={name} className="variantLeaf">
|
||||
<RadioLabel key={name} {...{value: relativeDottedName(dottedName), label: titre || name, input, submit, themeColours}}/>
|
||||
<RadioLabel {...{value: relativeDottedName(dottedName), label: titre || name, input, submit, themeColours}}/>
|
||||
</li>
|
||||
)}
|
||||
{choices.canGiveUp &&
|
||||
<li key='aucun' className="variantLeaf">
|
||||
<RadioLabel {...{value: false, label: 'Aucun', input, submit, themeColours}}/>
|
||||
</li>
|
||||
}
|
||||
</ul>)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -33,13 +33,17 @@ let isVariant = R.path(['formule', 'une possibilité'])
|
|||
let buildVariantTree = relevantPaths => path => {
|
||||
let rec = path => {
|
||||
let node = findRuleByDottedName(path),
|
||||
variants = isVariant(node),
|
||||
shouldBeExpanded = variants && variants.find( v => relevantPaths.find(rp => R.contains(path + ' . ' + v)(rp) ))
|
||||
variant = isVariant(node),
|
||||
variants = variant && R.unless(R.is(Array), R.prop('possibilités'))(variant),
|
||||
shouldBeExpanded = variant && variants.find( v => relevantPaths.find(rp => R.contains(path + ' . ' + v)(rp) )),
|
||||
canGiveUp = variant && !variant['choix obligatoire']
|
||||
|
||||
return Object.assign(
|
||||
node,
|
||||
shouldBeExpanded ?
|
||||
{children: variants.map(v => rec(path + ' . ' + v))}
|
||||
{ canGiveUp,
|
||||
children: variants.map(v => rec(path + ' . ' + v))
|
||||
}
|
||||
: null
|
||||
)
|
||||
}
|
||||
|
@ -57,25 +61,13 @@ export let generateGridQuestions = R.pipe(
|
|||
})
|
||||
),
|
||||
|
||||
// R.map( R.pipe(
|
||||
// R.flatten,
|
||||
// R.map(findRuleByDottedName),
|
||||
// ([variant, ...variants]) =>
|
||||
// Object.assign(
|
||||
// constructStepMeta(variant),
|
||||
// //TODO reintroduce langue au chat !
|
||||
// {
|
||||
// component: Question,
|
||||
// choices: variants,
|
||||
// },
|
||||
// {objectives: []}
|
||||
//TODO reintroduce objectives
|
||||
// {
|
||||
// objectives: R.pipe(
|
||||
// R.chain(v => missingVariables[variant.dottedName + ' . ' + v]),
|
||||
// R.uniq()
|
||||
// )(variant['une possibilité'])
|
||||
// }
|
||||
//TODO reintroduce objectives
|
||||
// {
|
||||
// objectives: R.pipe(
|
||||
// R.chain(v => missingVariables[variant.dottedName + ' . ' + v]),
|
||||
// R.uniq()
|
||||
// )(variant['une possibilité'])
|
||||
// }
|
||||
)
|
||||
export let generateSimpleQuestions = R.pipe(
|
||||
R.values, //TODO exploiter ici les groupes de questions de type 'record' (R.keys): elles pourraient potentiellement êtres regroupées visuellement dans le formulaire
|
||||
|
|
Loading…
Reference in New Issue