🔨 Ajout des contrats d'intérim

intérim
Maxime Quandalle 2021-03-02 15:17:08 +01:00
parent e8309b19b5
commit f7bcbc3c0f
4 changed files with 54 additions and 3 deletions

View File

@ -547,7 +547,12 @@ entreprise . effectif . seuil:
- moins de 150
- moins de 250
- plus de 250
par défaut: "'moins de 5'"
par défaut:
variations:
- si: contrat salarié . intérim
# Les entreprises d'intérims ont beaucoup de salariés et ne peuvent pas profiter des taux réduits, etc. réservés aux petites entreprises, y pour les salariés embauchés en intérim.
alors: "'plus de 250'"
- sinon: "'moins de 5'"
entreprise . effectif . seuil . moins de 5:
entreprise . effectif . seuil . moins de 11:

View File

@ -7,6 +7,7 @@ contrat salarié:
possibilités:
- CDI
- CDD
- intérim
- apprentissage
- professionnalisation
- stage
@ -1122,6 +1123,23 @@ contrat salarié . CDD . indemnités salarié:
- prime de fin de contrat
- compensation pour congés non pris
contrat salarié . intérim:
titre: Contrat d'intérim
formule: contrat salarié = 'intérim'
contrat salarié . intérim . prime de fin de mission:
description: Somme versée en fin de mission comme compensation de précarité.
note: Il s'agit du même calcul que l'indemnité de fin de contrat pour les CDD.
formule:
produit:
assiette:
somme:
- rémunération . brut de base
- rémunération . avantages en nature . montant
- rémunération . primes
- rémunération . heures supplémentaires
taux: 10%
contrat salarié . apprentissage:
description: |
Le contrat d'apprentissage est un contrat de travail écrit à durée limitée (CDD) ou à durée indéterminée (CDI) entre un salarié et un employeur. Il permet à l'apprenti de suivre une formation en alternance en entreprise sous la responsabilité d'un maître d'apprentissage et en centre de formation des apprentis (CFA) pendant 1 à 3 ans.
@ -1513,6 +1531,7 @@ contrat salarié . rémunération . brut:
- avantages en nature . montant
- primes
- CDD . indemnités salarié
- intérim . prime de fin de mission
- heures supplémentaires
- heures complémentaires
- frais professionnels

View File

@ -12,6 +12,7 @@ import {
} from 'react'
import emoji from 'react-easy-emoji'
import { Trans } from 'react-i18next'
import styled, { css } from 'styled-components'
import { Explicable } from './Explicable'
import { binaryQuestion, InputProps } from './RuleInput'
@ -77,6 +78,8 @@ export default function Question({
}, [currentSelection])
const hiddenOptions = useContext(HiddenOptionContext)
const gridMode = questionDottedName === 'contrat salarié' // TOTO Hack
const renderBinaryQuestion = (choices: typeof binaryQuestion) => {
return choices.map(({ value, label }) => (
<span
@ -112,7 +115,7 @@ export default function Question({
const relativeDottedName = (radioDottedName: string) =>
radioDottedName.split(questionDottedName + ' . ')[1]
return (
<ul css="width: 100%; padding: 0; margin:0" className="ui__ radio">
<AnswerListUl gridMode={gridMode} className="ui__ radio">
{choices.canGiveUp && (
<li key="aucun" className="variantLeaf aucun">
<RadioLabel
@ -162,7 +165,7 @@ export default function Question({
)
)
)}
</ul>
</AnswerListUl>
)
}
@ -264,3 +267,26 @@ function RadioLabelContent({
// context instead of passing down props to avoid polluting to much code with
// this undesirable option.
export const HiddenOptionContext = createContext<Array<DottedName>>([])
const AnswerListUl = styled.ul`
width: 100%;
padding: 0;
margin: 0;
${({ gridMode }: { gridMode: boolean }) =>
gridMode &&
css`
display: grid;
grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
column-gap: 1rem;
label.ui__.button {
width: 100%;
padding: 1.5rem 1rem;
}
button.ui__.link-button {
display: none;
}
`}
`

View File

@ -12,6 +12,7 @@
.step fieldset .step.question .variantLeaf,
.step fieldset .step.question {
justify-content: flex-end;
width: 100%;
}
.step.question .variant {