Skip to content
This repository has been archived by the owner on Sep 2, 2021. It is now read-only.

Commit

Permalink
feat: enable authorization validity check (#549)
Browse files Browse the repository at this point in the history
  • Loading branch information
cberthou authored Feb 22, 2021
1 parent 4c02a4b commit 16e24af
Show file tree
Hide file tree
Showing 5 changed files with 110 additions and 32 deletions.
3 changes: 2 additions & 1 deletion components/validityCheck/ValidityCheck.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@ const ValidityCheck = () => {
<Box>
<Heading fontSize="4" pb="1" pt="4">
<b>Vérifiez la validité </b>
d'une autorisation provisoire de travail pour un étudiant étranger
d'une autorisation provisoire de travail pour un étudiant étranger ou d'une demande
d'introduction d'un travailleur étranger
</Heading>
<Text color="text" pb="4">
Disponible au plus tard 1 heure après délivrance de l'autorisation. Ne concerne que les
Expand Down
42 changes: 42 additions & 0 deletions components/validityCheck/ValidityCheckValidAuthorizationStatus.jsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
// @flow
import React from "react";
import { Card, Heading, Text } from "rebass";
import { format } from "date-fns";
import frLocale from "date-fns/locale/fr";
import { List, SubList } from "./Style";

type Props = {
data: Object,
};

const ValidityCheckValidAuthorizationStatus = (props: Props) => {
const {
data: { ds_id: id, prenom, nom, siret, date_de_debut_apt: start, date_de_fin_apt: end },
} = props;
const startDate = start ? format(new Date(start), "dd-MM-yyyy", { locale: frLocale }) : "";
const endDate = end ? format(new Date(end), "dd-MM-yyyy", { locale: frLocale }) : "";
return (
<Card border="1px solid" borderColor="green" borderRadius="6px" mb="4" p={[3, 4]}>
<Heading color="green" mb="2">
Autorisation de travail valide
</Heading>
<List>
<li>{`- Numéro : ${id}`}</li>
<li>
- Pour le salarié :
<SubList>
<li>{`- Prénom : ${prenom}`}</li>
<li>{`- Nom : ${nom}`}</li>
</SubList>
</li>
<li>{`- Pour l'entreprise identifiée par le numéro SIRET ${siret}`}</li>
<li>{`- Valable du ${startDate} au ${endDate}.`}</li>
</List>
<Text fontWeight="bold" mt="3">
Contactez-nous pour récupérer une copie de l'attestation.
</Text>
</Card>
);
};

export default ValidityCheckValidAuthorizationStatus;
50 changes: 50 additions & 0 deletions components/validityCheck/ValidityCheckValidIntroductionStatus.jsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
// @flow
import React from "react";
import { Card, Heading, Text } from "rebass";
import { format } from "date-fns";
import frLocale from "date-fns/locale/fr";
import { List, SubList } from "./Style";

type Props = {
data: Object,
};

const extractFromChamps = (champs: Object[], libelle: string[]) =>
champs.find((champ) => champ.type_de_champ.libelle === libelle).value;

const ValidityCheckValidIntroductionStatus = (props: Props) => {
const {
data: { ds_id: id, prenom, nom, siret, champs },
} = props;

const typeContrat = extractFromChamps(champs, "Type de contrat");
const emploi = extractFromChamps(champs, "Emploi occupé");
const dureeTravail = extractFromChamps(champs, "Nombre d'heures");

return (
<Card border="1px solid" borderColor="green" borderRadius="6px" mb="4" p={[3, 4]}>
<Heading color="green" mb="2">
"Demande d'introduction valide."
</Heading>
<List>
<li>{`- Numéro : ${id}`}</li>
<li>
- Pour le salarié :
<SubList>
<li>{`- Prénom : ${prenom}`}</li>
<li>{`- Nom : ${nom}`}</li>
</SubList>
</li>
<li>{`- Pour l'entreprise identifiée par le numéro SIRET ${siret}`}</li>
<li>{`- Pour un contrat de type : ${typeContrat}`}</li>
<li>{`- Pour occuper l'emploi : ${emploi}`}</li>
<li>{`- Pour une durée de travail de ${dureeTravail}`}</li>
</List>
<Text fontWeight="bold" mt="3">
Contactez-nous pour récupérer une copie de l'attestation.
</Text>
</Card>
);
};

export default ValidityCheckValidIntroductionStatus;
42 changes: 12 additions & 30 deletions components/validityCheck/ValidityCheckValidStatus.jsx
Original file line number Diff line number Diff line change
@@ -1,41 +1,23 @@
// @flow
import React from "react";
import { Card, Heading, Text } from "rebass";
import { format } from "date-fns";
import frLocale from "date-fns/locale/fr";
import { List, SubList } from "./Style";
import ValidityCheckValidAuthorizationStatus from "./ValidityCheckValidAuthorizationStatus";
import ValidityCheckValidIntroductionStatus from "./ValidityCheckValidIntroductionStatus";

type Props = {
data: Object,
};

const ValidityCheckValidStatus = (props: Props) => {
const {
data: { ds_id: id, prenom, nom, siret, date_de_debut_apt: start, date_de_fin_apt: end },
} = props;
const startDate = format(new Date(start), "dd-MM-yyyy", { locale: frLocale });
const endDate = format(new Date(end), "dd-MM-yyyy", { locale: frLocale });
const ValidityCheckValidStatus = ({ data }: Props) => {
const { type } = data;

return (
<Card border="1px solid" borderColor="green" borderRadius="6px" mb="4" p={[3, 4]}>
<Heading color="green" mb="2">
Autorisation de travail valide.
</Heading>
<List>
<li>{`- Numéro : ${id}`}</li>
<li>
- Pour le salarié :
<SubList>
<li>{`- Prénom : ${prenom}`}</li>
<li>{`- Nom : ${nom}`}</li>
</SubList>
</li>
<li>{`- Pour l'entreprise identifiée par le numéro SIRET ${siret}`}</li>
<li>{`- Valable du ${startDate} au ${endDate}.`}</li>
</List>
<Text fontWeight="bold" mt="3">
Contactez-nous pour récupérer une copie de l'attestation.
</Text>
</Card>
<>
{type === "authorization" ? (
<ValidityCheckValidAuthorizationStatus data={data} />
) : (
<ValidityCheckValidIntroductionStatus data={data} />
)}
</>
);
};

Expand Down
5 changes: 4 additions & 1 deletion pages/validitycheck.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,10 @@ import ValidityCheck from "../components/validityCheck";
const ValidityCheckPage = () => (
<Box bg="white">
<Head>
<title>Work in France - Vérification d'une autorisation provisoire de travail</title>
<title>
Work in France - Vérification d'une autorisation provisoire de travail ou d'une demande
d'introduction d'un travailleur étranger
</title>
</Head>
<Wrapper>
<Flex justifyContent="center">
Expand Down

0 comments on commit 16e24af

Please sign in to comment.