-
Notifications
You must be signed in to change notification settings - Fork 15
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat: merge RCS and RNE for agents (#1092)
* feat: merge RCS and RNE for agents * refactor: use API routes for protected labels and certifs * refactor: carte FNTP * fix: build * refactor: usa client data section for conformite * test: update 401 and 403 tests on data-fetching * chore: remigration of dirigeants and justificatif to plain old boring async API calls * fix: typo in rcs route
- Loading branch information
Showing
62 changed files
with
1,013 additions
and
577 deletions.
There are no files selected for viewing
File renamed without changes.
File renamed without changes.
47 changes: 47 additions & 0 deletions
47
app/(header-default)/dirigeants/[slug]/_component/sections/index.tsx
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
'use client'; | ||
|
||
import BreakPageForPrint from '#components-ui/print-break-page'; | ||
import { IUniteLegale } from '#models/core/types'; | ||
import { EScope, hasRights } from '#models/user/rights'; | ||
import { ISession } from '#models/user/session'; | ||
import useFetchRNEImmatriculation from 'hooks/fetch/RNE-immatriculation copy'; | ||
import BeneficiairesSection from './beneficiaires'; | ||
import DirigeantsProtectedSection from './protected-dirigeants'; | ||
import DirigeantsSection from './rne-dirigeants'; | ||
import DirigeantSummary from './summary'; | ||
|
||
export function DirigeantInformation({ | ||
uniteLegale, | ||
session, | ||
}: { | ||
uniteLegale: IUniteLegale; | ||
session: ISession | null; | ||
}) { | ||
const immatriculationRNE = useFetchRNEImmatriculation(uniteLegale); | ||
|
||
return ( | ||
<> | ||
<DirigeantSummary | ||
uniteLegale={uniteLegale} | ||
immatriculationRNE={immatriculationRNE} | ||
/> | ||
{!hasRights(session, EScope.mandatairesRCS) ? ( | ||
<DirigeantsSection | ||
uniteLegale={uniteLegale} | ||
immatriculationRNE={immatriculationRNE} | ||
/> | ||
) : ( | ||
<DirigeantsProtectedSection | ||
uniteLegale={uniteLegale} | ||
immatriculationRNE={immatriculationRNE} | ||
/> | ||
)} | ||
|
||
<BreakPageForPrint /> | ||
<BeneficiairesSection | ||
immatriculationRNE={immatriculationRNE} | ||
uniteLegale={uniteLegale} | ||
/> | ||
</> | ||
); | ||
} |
File renamed without changes.
136 changes: 136 additions & 0 deletions
136
app/(header-default)/dirigeants/[slug]/_component/sections/protected-dirigeants.tsx
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,136 @@ | ||
import routes from '#clients/routes'; | ||
import { Info, Warning } from '#components-ui/alerts'; | ||
import { INPI } from '#components/administrations'; | ||
import { DataSectionClient } from '#components/section/data-section'; | ||
import { EAdministration } from '#models/administrations/EAdministration'; | ||
import { IAPILoading, isAPILoading } from '#models/api-loading'; | ||
import { | ||
IAPINotRespondingError, | ||
isAPI404, | ||
isAPINotResponding, | ||
} from '#models/api-not-responding'; | ||
import { IUniteLegale } from '#models/core/types'; | ||
import { IDirigeant, IImmatriculationRNE } from '#models/immatriculation'; | ||
import useFetchRCSMandataires from 'hooks/fetch/RCS-mandataires'; | ||
import { DirigeantContent } from './dirigeant-content'; | ||
import DirigeantsSection from './rne-dirigeants'; | ||
|
||
type IProps = { | ||
immatriculationRNE: | ||
| IImmatriculationRNE | ||
| IAPINotRespondingError | ||
| IAPILoading; | ||
uniteLegale: IUniteLegale; | ||
}; | ||
|
||
function RCSDiffersFromRNE({ | ||
mandatairesRCS, | ||
immatriculationRNE, | ||
uniteLegale, | ||
}: { | ||
mandatairesRCS: Array<IDirigeant>; | ||
immatriculationRNE: | ||
| IImmatriculationRNE | ||
| IAPINotRespondingError | ||
| IAPILoading; | ||
uniteLegale: IUniteLegale; | ||
}) { | ||
if ( | ||
isAPILoading(immatriculationRNE) || | ||
isAPINotResponding(immatriculationRNE) | ||
) { | ||
return null; | ||
} | ||
|
||
if (immatriculationRNE.dirigeants.length === mandatairesRCS.length) { | ||
return null; | ||
} | ||
|
||
return ( | ||
<Warning> | ||
Les données d’Infogreffe sont issues du RNE mais il y a une différence | ||
entre le nombre de dirigeant(s) retourné(s) par l’ | ||
<INPI />({immatriculationRNE.dirigeants.length}) et par Infogreffe ( | ||
{mandatairesRCS.length}). Pour comparer, vous pouvez consulter la page de | ||
cette entreprise sur{' '} | ||
<a | ||
rel="noopener" | ||
target="_blank" | ||
href={`${routes.rne.portail.entreprise}${uniteLegale.siren}`} | ||
aria-label="Consulter la liste des dirigeants sur le site de l’INPI, nouvelle fenêtre" | ||
> | ||
data.inpi.fr | ||
</a> | ||
. | ||
</Warning> | ||
); | ||
} | ||
|
||
/** | ||
* Dirigeants for agents : either from Infogreffe or from RNE | ||
*/ | ||
function DirigeantsProtectedSection({ | ||
uniteLegale, | ||
immatriculationRNE, | ||
}: IProps) { | ||
const mandatairesRCS = useFetchRCSMandataires(uniteLegale); | ||
|
||
if (!isAPILoading(mandatairesRCS)) { | ||
if ( | ||
isAPI404(mandatairesRCS) || | ||
(!isAPINotResponding(mandatairesRCS) && mandatairesRCS.length === 0) | ||
) { | ||
return ( | ||
<DirigeantsSection | ||
uniteLegale={uniteLegale} | ||
immatriculationRNE={immatriculationRNE} | ||
/> | ||
); | ||
} | ||
} | ||
|
||
return ( | ||
<DataSectionClient | ||
id="rne-dirigeants" | ||
title="Dirigeant(s)" | ||
isProtected | ||
// @ts-ignore | ||
notFoundInfo={null} | ||
sources={[EAdministration.INPI, EAdministration.INFOGREFFE]} | ||
data={mandatairesRCS} | ||
> | ||
{(mandatairesRCS) => ( | ||
<> | ||
<Info> | ||
Ces informations proviennent d’ | ||
<a | ||
rel="noopener" | ||
target="_blank" | ||
href={`${routes.infogreffe.portail.home}`} | ||
aria-label="Visiter le site d’Infogreffe, nouvelle fenêtre" | ||
> | ||
Infogreffe | ||
</a>{' '} | ||
et incluent la date de naissance des dirigeant(e)s. | ||
</Info> | ||
<RCSDiffersFromRNE | ||
mandatairesRCS={mandatairesRCS} | ||
immatriculationRNE={immatriculationRNE} | ||
uniteLegale={uniteLegale} | ||
/> | ||
<p> | ||
Cette entreprise possède {mandatairesRCS.length} dirigeant(s) | ||
enregistré(s) au RNE : | ||
</p> | ||
<DirigeantContent | ||
dirigeants={mandatairesRCS} | ||
isFallback={false} | ||
uniteLegale={uniteLegale} | ||
/> | ||
</> | ||
)} | ||
</DataSectionClient> | ||
); | ||
} | ||
|
||
export default DirigeantsProtectedSection; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
File renamed without changes.
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.