Skip to content

Commit

Permalink
chore: merge with main
Browse files Browse the repository at this point in the history
  • Loading branch information
XavierJp committed Apr 8, 2024
2 parents dc9df3e + 0294396 commit ad7c9e5
Show file tree
Hide file tree
Showing 51 changed files with 217 additions and 200 deletions.
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
[![CI (lint, unit-tests, end2end, a11y)](https://github.com/etalab/annuaire-entreprises.data.gouv.fr/actions/workflows/pre-merge.yml/badge.svg)](https://github.com/etalab/annuaire-entreprises.data.gouv.fr/actions/workflows/pre-merge.yml)
[![External API check](https://github.com/etalab/annuaire-entreprises-site/actions/workflows/external-api-test.yml/badge.svg)](https://github.com/etalab/annuaire-entreprises-site/actions/workflows/external-api-test.yml)
[![Deploy cluster](https://github.com/etalab/annuaire-entreprises-site/actions/workflows/deploy-cluster.yml/badge.svg)](https://github.com/etalab/annuaire-entreprises-site/actions/workflows/deploy-cluster.yml)
<a href="https://annuaire-entreprises.data.gouv.fr/donnees/administrations"><img src="https://img.shields.io/badge/Page-partenaires-blue.svg" alt="Partenaires Badge"></a>
<a href="https://annuaire-entreprises.data.gouv.fr/administration"><img src="https://img.shields.io/badge/Page-partenaires-blue.svg" alt="Partenaires Badge"></a>
<a href="https://annuaire-entreprises.data.gouv.fr/donnees/sources"><img src="https://img.shields.io/badge/Page-datasources-blue.svg" alt="Sources de données Badge"></a>
<a href="https://annuaire-entreprises.data.gouv.fr/donnees/api"><img src="https://img.shields.io/badge/Page-statuts-blue.svg" alt="Statut des API Badge"></a>
<a href="https://annuaire-entreprises.data.gouv.fr/historique-des-modifications"><img src="https://img.shields.io/badge/Page-changelog-blue.svg" alt="Changelog Badge"></a>
Expand All @@ -16,7 +16,7 @@ Dépôt du site [Annuaire des Entreprises](https://annuaire-entreprises.data.gou

Ce site met à disposition des citoyens et des agents les données ouvertes (open-data) des entreprises, associations et administrations dotées d'un n° SIREN/SIRET.

Ce site ré-utilise les données des différentes administrations partenaires :
Ce site ré-utilise les données des différentes [administrations partenaires](https://annuaire-entreprises.data.gouv.fr/administration).

## Contenu

Expand Down
4 changes: 2 additions & 2 deletions app/(header-default)/entreprise/[slug]/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ import { estNonDiffusible } from '#models/core/statut-diffusion';
import { isAssociation, isCollectiviteTerritoriale } from '#models/core/types';
import { getUniteLegaleFromSlug } from '#models/core/unite-legale';
import { getServicePublicByUniteLegale } from '#models/service-public';
import { EScope, hasRights } from '#models/user/rights';
import {
extractSirenOrSiretSlugFromUrl,
shouldNotIndex,
Expand All @@ -31,7 +32,6 @@ import extractParamsAppRouter, {
} from '#utils/server-side-helper/app/extract-params';
import getSession from '#utils/server-side-helper/app/get-session';
import withErrorHandler from '#utils/server-side-helper/app/with-error-handler';
import { isSuperAgent } from '#utils/session';

const cachedGetUniteLegale = cache(
async (slug: string, page: number, isBot: boolean) => {
Expand Down Expand Up @@ -93,7 +93,7 @@ export default withErrorHandler(async function UniteLegalePage(
) : (
<>
<UniteLegaleSection uniteLegale={uniteLegale} session={session} />
{isSuperAgent(session) && (
{hasRights(session, EScope.isAgent) && (
<EspaceAgentSummarySection
uniteLegale={uniteLegale}
session={session}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import ButtonLink from '#components-ui/button';
import ButtonFranceConnect from '#components-ui/button-france-connect';
import { ISession, getHidePersonalDataRequestFCSession } from '#utils/session';
import { ISession } from '#models/user/session';
import { getHidePersonalDataRequestFCSession } from '#utils/session';

export async function ConnectionFranceConnect({
session,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
'use client';
import { useEffect } from 'react';
import { useFormState } from 'react-dom';
import { ISession, getHidePersonalDataRequestFCSession } from '#utils/session';
import { ISession } from '#models/user/session';
import { getHidePersonalDataRequestFCSession } from '#utils/session';
import { postHidePersonalDataRequest } from '../actions';
import { ConnectionFranceConnect } from './connection-france-connect';
import { RenseignerSiren } from './renseigner-siren';
Expand Down
12 changes: 4 additions & 8 deletions app/(header-minimal)/formulaire/nps/page.tsx
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import ButtonLink from '#components-ui/button';
import { MultiChoice } from '#components-ui/multi-choice';
import constants from '#models/constants';
import { isLoggedIn } from '#models/user/rights';
import { randomId } from '#utils/helpers';
import getSession from '#utils/server-side-helper/app/get-session';
import { isAgent, isSuperAgent } from '#utils/session';
import { NextPageWithLayout } from 'pages/_app';
import styles from './style.module.css';

Expand Down Expand Up @@ -97,16 +97,12 @@ const FeedBackPage: NextPageWithLayout = async () => {
</fieldset>

<fieldset>
{isAgent(session) ? (
{isLoggedIn(session) ? (
<input
aria-hidden
type="hidden"
name="radio-set-visitor-type"
value={
isSuperAgent(session)
? 'Super-agent connecté'
: 'Agent connecté'
}
value={`${session?.user?.userType}`}
tabIndex={-1}
/>
) : (
Expand Down Expand Up @@ -176,7 +172,7 @@ const FeedBackPage: NextPageWithLayout = async () => {
id="email"
name="email"
type="email"
defaultValue={isAgent(session) ? session?.user?.email : ''}
defaultValue={isLoggedIn(session) ? session?.user?.email : ''}
/>
</div>
</fieldset>
Expand Down
4 changes: 2 additions & 2 deletions app/api/data-fetching/espace-agent/conformite/[slug]/route.ts
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
import { HttpForbiddenError } from '#clients/exceptions';
import { getDonneesRestreintesEntreprise } from '#models/espace-agent/donnees-restreintes-entreprise';
import { FetchRessourceException } from '#models/exceptions';
import { EScope, hasRights } from '#models/user/rights';
import { extractSirenFromSiret, verifySiret } from '#utils/helpers';
import { logFatalErrorInSentry } from '#utils/sentry';
import getSession from '#utils/server-side-helper/app/get-session';
import { isSuperAgent } from '#utils/session';

export async function GET(
_request: Request,
Expand All @@ -13,7 +13,7 @@ export async function GET(
const session = await getSession();
const slug = params.slug;
try {
if (!isSuperAgent(session)) {
if (!hasRights(session, EScope.conformite)) {
throw new HttpForbiddenError('Unauthorized account');
}

Expand Down
4 changes: 2 additions & 2 deletions app/api/data-fetching/espace-agent/documents/[slug]/route.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@ import { clientDocuments } from '#clients/api-proxy/rne/documents';
import { HttpForbiddenError, HttpNotFound } from '#clients/exceptions';
import { EAdministration } from '#models/administrations/EAdministration';
import { FetchRessourceException } from '#models/exceptions';
import { EScope, hasRights } from '#models/user/rights';
import { verifySiren } from '#utils/helpers';
import logErrorInSentry from '#utils/sentry';
import getSession from '#utils/server-side-helper/app/get-session';
import { isAgent } from '#utils/session';

export async function GET(
_request: Request,
Expand All @@ -14,7 +14,7 @@ export async function GET(
const session = await getSession();
const slug = params.slug;
try {
if (!isAgent(session)) {
if (!hasRights(session, EScope.documentsRne)) {
throw new HttpForbiddenError('Unauthorized account');
}

Expand Down
17 changes: 10 additions & 7 deletions components-ui/alerts-with-explanations/non-diffusible.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import { ISTATUTDIFFUSION, estDiffusible } from '#models/core/statut-diffusion';
import { ISession, isAgent } from '#utils/session';
import { EScope, hasRights } from '#models/user/rights';
import { ISession } from '#models/user/session';
import { Info, ProtectedData } from '../alerts';

const DefaultNonDiffusibleAlert = () => (
Expand Down Expand Up @@ -42,12 +43,14 @@ export default function NonDiffusibleAlert({
if (estDiffusible({ statutDiffusion })) {
return null;
}
if (isAgent(session)) {
<ProtectedData full>
Les informations de cette structure ne sont pas accessibles au grand
public mais vous pouvez voir ses informations grâce à votre compte{' '}
<strong>agent-public</strong>.
</ProtectedData>;
if (hasRights(session, EScope.nonDiffusible)) {
return (
<ProtectedData full>
Les informations de cette structure ne sont pas accessibles au grand
public mais vous pouvez voir ses informations grâce à votre compte{' '}
<strong>agent-public</strong>.
</ProtectedData>
);
}

if (statutDiffusion === ISTATUTDIFFUSION.PROTECTED) {
Expand Down
2 changes: 1 addition & 1 deletion components-ui/alerts/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import constants from '#models/constants';
import styles from './styles.module.css';

const colors = {
info: ['#0078f3', '#f4f6ff'],
info: ['#0078f3', '#e5f3ff'],
success: ['#18753c', '#dffee6'],
error: ['#ce0500', '#fff4f4'],
warning: ['#ff9c00', '#fff3e0'],
Expand Down
6 changes: 2 additions & 4 deletions components/banner/info-banner.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,9 @@ export const InfoBanner: React.FC<{}> = () => (
}}
>
<div className="fr-container">
⚠️ Une mise à jour <INSEE /> est en cours et les données affichées sur notre site
peuvent ne pas être à jour.
⚠️ Une mise à jour <INSEE /> est en cours et les données <a href="https://www.data.gouv.fr/fr/datasets/base-sirene-des-entreprises-et-de-leurs-etablissements-siren-siret/">de la base Sirene</a> n’ont pas été mises à jour sur notre site depuis le 22 mars 2024.
<br />
Cette situation est susceptible de perdurer jusqu’au vendredi 05 avril.
Veuillez nous excuser pour la gêne occasionnée.
Cette situation est susceptible de perdurer jusqu’à ce que les données soient disponibles. Veuillez nous excuser pour la gêne occasionnée.
</div>
</div>
</PrintNever>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ import {
isAssociation,
isServicePublic,
} from '#models/core/types';
import { EScope, hasRights } from '#models/user/rights';
import { ISession } from '#models/user/session';
import { formatDateLong } from '#utils/helpers';
import useFetchActesRNE from 'hooks/fetch/actes-RNE';
import AgentWallDocuments from '../agent-wall/documents';
Expand Down Expand Up @@ -86,9 +88,9 @@ const AgentComponent: React.FC<{

const DocumentActesSection: React.FC<{
uniteLegale: IUniteLegale;
isAgent: boolean;
}> = ({ uniteLegale, isAgent }) => {
if (!isAgent) {
session: ISession | null;
}> = ({ uniteLegale, session }) => {
if (!hasRights(session, EScope.actesRne)) {
return (
<AgentWallDocuments
title="Actes et statuts"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@ import {
isAssociation,
isServicePublic,
} from '#models/core/types';
import { EScope, hasRights } from '#models/user/rights';
import { ISession } from '#models/user/session';
import { formatDateLong } from '#utils/helpers';
import { getFiscalYear } from '#utils/helpers/formatting/format-fiscal-year';
import useFetchActesRNE from 'hooks/fetch/actes-RNE';
Expand Down Expand Up @@ -98,9 +100,9 @@ const AgentComponent: React.FC<{

const DocumentBilansSection: React.FC<{
uniteLegale: IUniteLegale;
isAgent: boolean;
}> = ({ uniteLegale, isAgent }) => {
if (!isAgent) {
session: ISession | null;
}> = ({ uniteLegale, session }) => {
if (!hasRights(session, EScope.bilansRne)) {
return (
<AgentWallDocuments
title="Bilans"
Expand Down
5 changes: 3 additions & 2 deletions components/espace-agent-components/summary-section.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@ import { PrintNever } from '#components-ui/print-visibility';
import { Section } from '#components/section';
import { TwoColumnTable } from '#components/table/simple';
import { IUniteLegale } from '#models/core/types';
import { ISession, isSuperAgent } from '#utils/session';
import { EScope, hasRights } from '#models/user/rights';
import { ISession } from '#models/user/session';
import { NextPageWithLayout } from 'pages/_app';

interface IProps {
Expand Down Expand Up @@ -75,7 +76,7 @@ export const EspaceAgentSummarySection: NextPageWithLayout<IProps> = ({
<Icon slug="download">Télécharger les bilans</Icon>
</a>,
],
...(isSuperAgent(session)
...(hasRights(session, EScope.conformite)
? [
['', <br />],
[
Expand Down
2 changes: 1 addition & 1 deletion components/etablissement-description/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,14 @@ import {
getNomComplet,
} from '#models/core/statut-diffusion';
import { IEtablissement, IUniteLegale } from '#models/core/types';
import { ISession } from '#models/user/session';
import {
formatAge,
formatDateLong,
formatSiret,
uniteLegaleLabel,
uniteLegaleLabelWithPronounContracted,
} from '#utils/helpers';
import { ISession } from '#utils/session';

type IProps = {
etablissement: IEtablissement;
Expand Down
2 changes: 1 addition & 1 deletion components/etablissement-liste-section/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@ import {
getNomComplet,
} from '#models/core/statut-diffusion';
import { IEtablissement, IUniteLegale } from '#models/core/types';
import { ISession } from '#models/user/session';
import { Siret, formatDate, formatSiret } from '#utils/helpers';
import { ISession } from '#utils/session';

const EtablissementTable: React.FC<{
label?: string;
Expand Down
2 changes: 1 addition & 1 deletion components/etablissement-section/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -21,13 +21,13 @@ import {
getNomComplet,
} from '#models/core/statut-diffusion';
import { IEtablissement, IUniteLegale } from '#models/core/types';
import { ISession } from '#models/user/session';
import {
formatDate,
formatSiret,
uniteLegaleLabelWithPronounContracted,
} from '#utils/helpers';
import { libelleTrancheEffectif } from '#utils/helpers/formatting/codes-effectifs';
import { ISession } from '#utils/session';

type IProps = {
session: ISession | null;
Expand Down
4 changes: 2 additions & 2 deletions components/finances-section/societe/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ import { FullTable } from '#components/table/full';
import { EAdministration } from '#models/administrations/EAdministration';
import constants from '#models/constants';
import { IUniteLegale } from '#models/core/types';
import { EScope, hasRights } from '#models/user/rights';
import { formatCurrency, formatDate, formatDateYear } from '#utils/helpers';
import { isAgent } from '#utils/session';
import { useFetchFinancesSociete } from 'hooks';
import useSession from 'hooks/use-session';

Expand Down Expand Up @@ -36,7 +36,7 @@ export const FinancesSocieteSection: React.FC<{

if (
bilans.find((e) => e.confidentiality !== 'Public') &&
!isAgent(session)
!hasRights(session, EScope.bilansRne)
) {
return (
<Info>
Expand Down
5 changes: 3 additions & 2 deletions components/header/header-core/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@ import { InfoBanner } from '#components/banner/info-banner';
import LoadBar from '#components/load-bar';
import SearchBar from '#components/search-bar';
import constants from '#models/constants';
import { ISession, isLoggedIn } from '#utils/session';
import { isLoggedIn } from '#models/user/rights';
import { ISession } from '#models/user/session';
import styles from './styles.module.css';

type IProps = {
Expand Down Expand Up @@ -35,8 +36,8 @@ export const HeaderCore: React.FC<IProps> = ({
className="fr-header"
style={{ filter: !useSearchBar ? 'none' : undefined }}
>
<LoadBar session={session} />
<InfoBanner />
<LoadBar isAgent={isLoggedIn(session)} />

<PrintNever>
<form
Expand Down
4 changes: 2 additions & 2 deletions components/header/header-core/styles.module.css
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
position: relative;
}
.menuLogout:hover {
background-color: #eee;
background-color: #eee !important;
cursor: default;
}

Expand All @@ -29,7 +29,7 @@
box-shadow: 0 10px 15px -10px rgba(0, 0, 0, 0.5);
}
.menuLogout > a:hover {
background-color: #f8f8f8;
background-color: #f8f8f8 !important;
}

.menuLogout:hover > a {
Expand Down
2 changes: 1 addition & 1 deletion components/immatriculations/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import {
import { isAssociation, isServicePublic } from '#models/core/types';
import { IImmatriculation } from '#models/immatriculation';
import { IJustificatifs } from '#models/justificatifs';
import { ISession } from '#utils/session';
import { ISession } from '#models/user/session';
import ImmatriculationRNE from './rne';

const isNotFound = (
Expand Down
2 changes: 1 addition & 1 deletion components/immatriculations/insee.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@ import {
getAdresseEtablissement,
} from '#models/core/statut-diffusion';
import { IEtablissement, IUniteLegale } from '#models/core/types';
import { ISession } from '#models/user/session';
import { formatSiret } from '#utils/helpers';
import { ISession } from '#utils/session';

const AvisSituationTable: React.FC<{
etablissements: IEtablissement[];
Expand Down
6 changes: 4 additions & 2 deletions components/justificatifs/extrait-rne-link/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,15 @@ import {
nonDiffusibleDataFormatter,
} from '#models/core/statut-diffusion';
import { IUniteLegale } from '#models/core/types';
import { ISession, isAgent } from '#utils/session';
import { EScope, hasRights } from '#models/user/rights';
import { ISession } from '#models/user/session';

const ExtraitRNELink: React.FC<{
uniteLegale: IUniteLegale;
session: ISession | null;
}> = ({ uniteLegale, session }) => {
return estDiffusible(uniteLegale) || isAgent(session) ? (
return estDiffusible(uniteLegale) ||
hasRights(session, EScope.nonDiffusible) ? (
<a
target="_blank"
rel="noopener"
Expand Down
Loading

0 comments on commit ad7c9e5

Please sign in to comment.