From a24ecb9aa76dd2896ec370582d1ba798ba51546b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane?= Date: Wed, 18 Dec 2024 13:14:56 +0100 Subject: [PATCH 01/15] =?UTF-8?q?test:=20am=C3=A9lioration=20de=20la=20cou?= =?UTF-8?q?verture=20de=20code?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- impact/reglementations/tests/test_csrd_views.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/impact/reglementations/tests/test_csrd_views.py b/impact/reglementations/tests/test_csrd_views.py index 7808242a3..a7a7b9c4f 100644 --- a/impact/reglementations/tests/test_csrd_views.py +++ b/impact/reglementations/tests/test_csrd_views.py @@ -171,6 +171,7 @@ def test_gestion_de_la_csrd(etape, client, alice, entreprise_factory): [ "introduction", "selection-enjeux", + "analyse-materialite", ], ) def test_enregistrement_de_l_étape_de_la_csrd(etape, client, alice, entreprise_factory): @@ -188,9 +189,6 @@ def test_enregistrement_de_l_étape_de_la_csrd(etape, client, alice, entreprise_ response = client.post(url, follow=True) - content = response.content.decode("utf-8") - assert "" in content - rapport_csrd = RapportCSRD.objects.get(proprietaire=alice, entreprise=entreprise) assert rapport_csrd.etape_validee == etape @@ -200,6 +198,7 @@ def test_enregistrement_de_l_étape_de_la_csrd(etape, client, alice, entreprise_ [ "introduction", "selection-enjeux", + "analyse-materialite", ], ) def test_enregistrement_de_l_étape_de_la_csrd_retourne_une_404_si_aucune_CSRD( From c1c6efd0b8f2a7a488d3dcbcdd8de48efb4480af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane?= Date: Wed, 18 Dec 2024 13:19:23 +0100 Subject: [PATCH 02/15] =?UTF-8?q?test:=20refacto:=20division=20d'un=20test?= =?UTF-8?q?=20en=20deux=20car=20ils=20repr=C3=A9sentent=20deux=20cas=20dif?= =?UTF-8?q?f=C3=A9rents?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- impact/reglementations/tests/test_csrd_views.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/impact/reglementations/tests/test_csrd_views.py b/impact/reglementations/tests/test_csrd_views.py index a7a7b9c4f..948805d4d 100644 --- a/impact/reglementations/tests/test_csrd_views.py +++ b/impact/reglementations/tests/test_csrd_views.py @@ -156,15 +156,21 @@ def test_gestion_de_la_csrd(etape, client, alice, entreprise_factory): response, "reglementations/csrd/etape-analyse-materialite.html" ) + rapport_csrd = RapportCSRD.objects.get(proprietaire=alice, entreprise=entreprise) + NOMBRE_ENJEUX = 103 + assert len(rapport_csrd.enjeux.all()) == NOMBRE_ENJEUX + + +def test_étape_inexistante_de_la_csrd(client, alice, entreprise_factory): + entreprise = entreprise_factory() + attach_user_to_entreprise(alice, entreprise, "Présidente") + client.force_login(alice) etape_inexistante = f"/csrd/{entreprise.siren}/etape-4" + response = client.get(etape_inexistante) assert response.status_code == 404 - rapport_csrd = RapportCSRD.objects.get(proprietaire=alice, entreprise=entreprise) - NOMBRE_ENJEUX = 103 - assert len(rapport_csrd.enjeux.all()) == NOMBRE_ENJEUX - @pytest.mark.parametrize( "etape", From 86a0a470ad0af55ebc7126737dad70f743e128e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane?= Date: Wed, 18 Dec 2024 13:39:29 +0100 Subject: [PATCH 03/15] =?UTF-8?q?test:=20am=C3=A9lioration=20de=20la=20cou?= =?UTF-8?q?verture=20de=20code?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- impact/reglementations/tests/test_csrd_views.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/impact/reglementations/tests/test_csrd_views.py b/impact/reglementations/tests/test_csrd_views.py index 948805d4d..c21bc3c23 100644 --- a/impact/reglementations/tests/test_csrd_views.py +++ b/impact/reglementations/tests/test_csrd_views.py @@ -128,6 +128,7 @@ def test_guide_de_la_csrd_par_etape(etape, client, alice, entreprise_factory): "/csrd/{siren}/etape-introduction", "/csrd/{siren}/etape-selection-enjeux", "/csrd/{siren}/etape-analyse-materialite", + "/csrd/{siren}/etape-collection-donnees-entreprise", ], ) def test_gestion_de_la_csrd(etape, client, alice, entreprise_factory): @@ -155,6 +156,10 @@ def test_gestion_de_la_csrd(etape, client, alice, entreprise_factory): assertTemplateUsed( response, "reglementations/csrd/etape-analyse-materialite.html" ) + elif etape.endswith("collection-donnees-entreprise"): + assertTemplateUsed( + response, "reglementations/csrd/etape-collection-donnees-entreprise.html" + ) rapport_csrd = RapportCSRD.objects.get(proprietaire=alice, entreprise=entreprise) NOMBRE_ENJEUX = 103 From e99c80bbe07b4f44bfdc82f3b81972024347ea90 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane?= Date: Wed, 18 Dec 2024 13:48:07 +0100 Subject: [PATCH 04/15] =?UTF-8?q?apparition=20de=20l'=C3=A9tape=20suivante?= =?UTF-8?q?=20du=20rapport=20de=20durabilit=C3=A9=20(R=C3=A9diger=20le=20r?= =?UTF-8?q?apport)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- impact/reglementations/enums.py | 4 ++++ .../etape-redaction-rapport-durabilite.html | 22 +++++++++++++++++++ .../reglementations/tests/test_csrd_views.py | 5 +++++ 3 files changed, 31 insertions(+) create mode 100644 impact/reglementations/templates/reglementations/csrd/etape-redaction-rapport-durabilite.html diff --git a/impact/reglementations/enums.py b/impact/reglementations/enums.py index 35af3ca40..dc4627d04 100644 --- a/impact/reglementations/enums.py +++ b/impact/reglementations/enums.py @@ -433,4 +433,8 @@ def get(cls, id_etape): id="collection-donnees-entreprise", nom="Collecter les données de son entreprise", ), + EtapeCSRD( + id="redaction-rapport-durabilite", + nom="Rédiger son rapport de durabilité", + ), ] diff --git a/impact/reglementations/templates/reglementations/csrd/etape-redaction-rapport-durabilite.html b/impact/reglementations/templates/reglementations/csrd/etape-redaction-rapport-durabilite.html new file mode 100644 index 000000000..aaf6e6318 --- /dev/null +++ b/impact/reglementations/templates/reglementations/csrd/etape-redaction-rapport-durabilite.html @@ -0,0 +1,22 @@ +{% extends "base.html" %} + +{% block title %}Collection des données de l'entreprise{% endblock %} + +{% block content %} + + {% include "snippets/csrd_header.html" %} + +
+
+ {% include "snippets/gestion_csrd_menu.html" %} + +
+

{{ etape.nom }}

+

+ Étape en préparation : vous pourrez bientôt enregistrer le lien de téléchargement de votre Rapport de Durabilité. +

+
+ +
+ +{% endblock %} diff --git a/impact/reglementations/tests/test_csrd_views.py b/impact/reglementations/tests/test_csrd_views.py index c21bc3c23..b8929e3e2 100644 --- a/impact/reglementations/tests/test_csrd_views.py +++ b/impact/reglementations/tests/test_csrd_views.py @@ -129,6 +129,7 @@ def test_guide_de_la_csrd_par_etape(etape, client, alice, entreprise_factory): "/csrd/{siren}/etape-selection-enjeux", "/csrd/{siren}/etape-analyse-materialite", "/csrd/{siren}/etape-collection-donnees-entreprise", + "/csrd/{siren}/etape-redaction-rapport-durabilite", ], ) def test_gestion_de_la_csrd(etape, client, alice, entreprise_factory): @@ -160,6 +161,10 @@ def test_gestion_de_la_csrd(etape, client, alice, entreprise_factory): assertTemplateUsed( response, "reglementations/csrd/etape-collection-donnees-entreprise.html" ) + elif etape.endswith("redaction-rapport-durabilite"): + assertTemplateUsed( + response, "reglementations/csrd/etape-redaction-rapport-durabilite.html" + ) rapport_csrd = RapportCSRD.objects.get(proprietaire=alice, entreprise=entreprise) NOMBRE_ENJEUX = 103 From af480e2e5a9dc4068af7eec892e0d45f2a16e724 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane?= Date: Wed, 18 Dec 2024 18:48:16 +0100 Subject: [PATCH 05/15] =?UTF-8?q?validation=20de=20l'=C3=A9tape=20de=20col?= =?UTF-8?q?lection=20des=20donn=C3=A9es?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- impact/reglementations/enums.py | 1 + .../csrd/etape-collection-donnees-entreprise.html | 3 +++ impact/reglementations/tests/test_csrd_views.py | 2 ++ 3 files changed, 6 insertions(+) diff --git a/impact/reglementations/enums.py b/impact/reglementations/enums.py index dc4627d04..4e9bfd40e 100644 --- a/impact/reglementations/enums.py +++ b/impact/reglementations/enums.py @@ -390,6 +390,7 @@ class EtapeCSRD: "selection-enjeux", "analyse-materialite", "collection-donnees-entreprise", + "redaction-rapport-durabilite", ] @classmethod diff --git a/impact/reglementations/templates/reglementations/csrd/etape-collection-donnees-entreprise.html b/impact/reglementations/templates/reglementations/csrd/etape-collection-donnees-entreprise.html index e019c6d31..06a02101e 100644 --- a/impact/reglementations/templates/reglementations/csrd/etape-collection-donnees-entreprise.html +++ b/impact/reglementations/templates/reglementations/csrd/etape-collection-donnees-entreprise.html @@ -29,4 +29,7 @@

{{ etape.nom }}

+

+ {% include "snippets/csrd_submit.html" with prochaine_etape="redaction-rapport-durabilite" %} +

{% endblock %} diff --git a/impact/reglementations/tests/test_csrd_views.py b/impact/reglementations/tests/test_csrd_views.py index b8929e3e2..831d6e12d 100644 --- a/impact/reglementations/tests/test_csrd_views.py +++ b/impact/reglementations/tests/test_csrd_views.py @@ -188,6 +188,7 @@ def test_étape_inexistante_de_la_csrd(client, alice, entreprise_factory): "introduction", "selection-enjeux", "analyse-materialite", + "collection-donnees-entreprise", ], ) def test_enregistrement_de_l_étape_de_la_csrd(etape, client, alice, entreprise_factory): @@ -215,6 +216,7 @@ def test_enregistrement_de_l_étape_de_la_csrd(etape, client, alice, entreprise_ "introduction", "selection-enjeux", "analyse-materialite", + "collection-donnees-entreprise", ], ) def test_enregistrement_de_l_étape_de_la_csrd_retourne_une_404_si_aucune_CSRD( From 4f4c4b4fef2e15767577866280b1e61b8c9c37c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane?= Date: Thu, 19 Dec 2024 15:11:00 +0100 Subject: [PATCH 06/15] =?UTF-8?q?xlsx=20de=20l'EFRAG=20filtr=C3=A9=20selon?= =?UTF-8?q?=20les=20enjeux=20mat=C3=A9riels?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../reglementations/tests/test_csrd_views.py | 69 ++++++++++++++++++ impact/reglementations/urls.py | 5 ++ impact/reglementations/views/csrd.py | 27 +++++++ .../static/CSRD/ESRS_Data_Points_EFRAG.xlsx | Bin 0 -> 135390 bytes 4 files changed, 101 insertions(+) create mode 100644 impact/static/CSRD/ESRS_Data_Points_EFRAG.xlsx diff --git a/impact/reglementations/tests/test_csrd_views.py b/impact/reglementations/tests/test_csrd_views.py index 831d6e12d..df7d674b0 100644 --- a/impact/reglementations/tests/test_csrd_views.py +++ b/impact/reglementations/tests/test_csrd_views.py @@ -1,9 +1,11 @@ from datetime import date from datetime import datetime +from io import BytesIO import pytest from django.contrib.messages import WARNING from django.urls import reverse +from openpyxl import load_workbook from pytest_django.asserts import assertTemplateUsed from habilitations.models import attach_user_to_entreprise @@ -394,3 +396,70 @@ def test_liste_des_enjeux_csrd(client, alice, entreprise_non_qualifiee): assert "" in response.content.decode( "utf-8" ) + + +def test_datapoints_csrd_au_format_xlsx(client, alice, entreprise_non_qualifiee): + attach_user_to_entreprise(alice, entreprise_non_qualifiee, "Présidente") + csrd = RapportCSRD.objects.create( + proprietaire=alice, + entreprise=entreprise_non_qualifiee, + annee=f"{datetime.now():%Y}", + ) + enjeux = csrd.enjeux.all() + enjeu_attenuation = enjeux[1] + enjeu_attenuation.materiel = True + enjeu_attenuation.save() + esrs_materielle = enjeu_attenuation.esrs + client.force_login(alice) + + response = client.get( + f"/csrd/{entreprise_non_qualifiee.siren}/datapoints.xlsx", + ) + + assert ( + response["content-type"] + == "application/vnd.openxmlformatsofficedocument.spreadsheetml.sheet" + ) + workbook = load_workbook(filename=BytesIO(response.content)) + noms_onglet = workbook.get_sheet_names() + assert esrs_materielle.replace("_", " ") in noms_onglet + assert "Index" in noms_onglet + assert "ESRS 2" in noms_onglet + assert "ESRS2 MDR" in noms_onglet + + +def test_datapoints_csrd__au_format_xlsx_retourne_une_404_si_entreprise_inexistante( + client, alice +): + client.force_login(alice) + + response = client.get( + f"/csrd/000000001/datapoints.xlsx", + ) + + assert response.status_code == 404 + + +def test_datapoints_csrd_au_format_xlsx_retourne_une_404_si_habilitation_inexistante( + client, alice, entreprise_non_qualifiee +): + client.force_login(alice) + + response = client.get( + f"/csrd/{entreprise_non_qualifiee.siren}/datapoints.xlsx", + ) + + assert response.status_code == 404 + + +def test_datapoints_csrd_au_format_xlsx_retourne_une_404_si_csrd_inexistante( + client, alice, entreprise_non_qualifiee +): + attach_user_to_entreprise(alice, entreprise_non_qualifiee, "Présidente") + client.force_login(alice) + + response = client.get( + f"/csrd/{entreprise_non_qualifiee.siren}/datapoints.xlsx", + ) + + assert response.status_code == 404 diff --git a/impact/reglementations/urls.py b/impact/reglementations/urls.py index a948b48f1..6cc0d29cc 100644 --- a/impact/reglementations/urls.py +++ b/impact/reglementations/urls.py @@ -114,6 +114,11 @@ views.csrd.enjeux_materiels_xlsx, name="enjeux_materiels_xlsx", ), + path( + "csrd//datapoints.xlsx", + views.csrd.datapoints_xlsx, + name="datapoints_xlsx", + ), ] # Fragments HTMX diff --git a/impact/reglementations/views/csrd.py b/impact/reglementations/views/csrd.py index c627c75d6..df2ca454f 100644 --- a/impact/reglementations/views/csrd.py +++ b/impact/reglementations/views/csrd.py @@ -16,6 +16,7 @@ from django.template.loader import get_template from django.template.loader import TemplateDoesNotExist from django.urls import reverse_lazy +from openpyxl import load_workbook from openpyxl import Workbook from entreprises.models import CaracteristiquesAnnuelles @@ -672,3 +673,29 @@ def _build_xlsx(enjeux, csrd=None, materiels=False): response["Content-Disposition"] = f"filename='{filename}'" return response + + +@login_required +@csrd_required +def datapoints_xlsx(request, siren, csrd=None): + enjeux = csrd.enjeux.filter(materiel=True) + esrs_materielles = set((enjeu.esrs for enjeu in enjeux)) + esrs_a_supprimer = set(ESRS.values).difference(esrs_materielles) + workbook = load_workbook("impact/static/CSRD/ESRS_Data_Points_EFRAG.xlsx") + for esrs in esrs_a_supprimer: + if esrs not in ("ESRS_1", "ESRS_2"): + titre_onglet = esrs.replace("_", " ") + workbook.remove(workbook[titre_onglet]) + + with NamedTemporaryFile() as tmp: + workbook.save(tmp.name) + tmp.seek(0) + xlsx_stream = tmp.read() + + response = HttpResponse( + xlsx_stream, + content_type="application/vnd.openxmlformatsofficedocument.spreadsheetml.sheet", + ) + filename = "datapoints_csrd.xlsx" + response["Content-Disposition"] = f"filename={filename}" + return response diff --git a/impact/static/CSRD/ESRS_Data_Points_EFRAG.xlsx b/impact/static/CSRD/ESRS_Data_Points_EFRAG.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..a9363df3f5d316d2c20e5db9171ab813b4608f44 GIT binary patch literal 135390 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
1@Sa0*_T4+!9F) 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

6tV#(Dra*=6wYOA}-Lqxu@jm#AnhR-R_*m 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 Date: Thu, 19 Dec 2024 16:22:29 +0100 Subject: [PATCH 07/15] =?UTF-8?q?refacto:=20r=C3=A9ponse=20HTTP=20commune?= =?UTF-8?q?=20pour=20renvoyer=20un=20fichier=20.xlsx?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- impact/reglementations/views/csrd.py | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/impact/reglementations/views/csrd.py b/impact/reglementations/views/csrd.py index df2ca454f..7ad3184cf 100644 --- a/impact/reglementations/views/csrd.py +++ b/impact/reglementations/views/csrd.py @@ -665,12 +665,16 @@ def _build_xlsx(enjeux, csrd=None, materiels=False): tmp.seek(0) xlsx_stream = tmp.read() + filename = "enjeux_csrd.xlsx" if not materiels else "enjeux_csrd_materiels.xlsx" + return xlsx_response(xlsx_stream, filename) + + +def xlsx_response(stream, filename): response = HttpResponse( - xlsx_stream, + stream, content_type="application/vnd.openxmlformatsofficedocument.spreadsheetml.sheet", ) - filename = "enjeux_csrd.xlsx" if not materiels else "enjeux_csrd_materiels.xlsx" - response["Content-Disposition"] = f"filename='{filename}'" + response["Content-Disposition"] = f"filename={filename}" return response @@ -692,10 +696,5 @@ def datapoints_xlsx(request, siren, csrd=None): tmp.seek(0) xlsx_stream = tmp.read() - response = HttpResponse( - xlsx_stream, - content_type="application/vnd.openxmlformatsofficedocument.spreadsheetml.sheet", - ) filename = "datapoints_csrd.xlsx" - response["Content-Disposition"] = f"filename={filename}" - return response + return xlsx_response(xlsx_stream, filename) From e5510d942a7cf5bda9a49acaddf173204a002d05 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane?= Date: Thu, 19 Dec 2024 17:21:59 +0100 Subject: [PATCH 08/15] =?UTF-8?q?t=C3=A9l=C3=A9chargement=20des=20datapoin?= =?UTF-8?q?ts=20li=C3=A9s=20aux=20ESRS=20sans=20enjeux=20mat=C3=A9riels?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../etape-collection-donnees-entreprise.html | 6 ++- .../reglementations/tests/test_csrd_views.py | 38 ++++++++++++++++++- impact/reglementations/views/csrd.py | 23 +++++++++-- 3 files changed, 61 insertions(+), 6 deletions(-) diff --git a/impact/reglementations/templates/reglementations/csrd/etape-collection-donnees-entreprise.html b/impact/reglementations/templates/reglementations/csrd/etape-collection-donnees-entreprise.html index 06a02101e..84aefd9a6 100644 --- a/impact/reglementations/templates/reglementations/csrd/etape-collection-donnees-entreprise.html +++ b/impact/reglementations/templates/reglementations/csrd/etape-collection-donnees-entreprise.html @@ -13,7 +13,11 @@

{{ etape.nom }}

- Étape en préparation : vous pourrez bientôt télécharger vos données matérielles et non-matérielles. + Télécharger vos données ESG matérielles et non matérielles. +

En savoir plus sur les démarches de collecte des données diff --git a/impact/reglementations/tests/test_csrd_views.py b/impact/reglementations/tests/test_csrd_views.py index df7d674b0..f03445ef2 100644 --- a/impact/reglementations/tests/test_csrd_views.py +++ b/impact/reglementations/tests/test_csrd_views.py @@ -398,7 +398,9 @@ def test_liste_des_enjeux_csrd(client, alice, entreprise_non_qualifiee): ) -def test_datapoints_csrd_au_format_xlsx(client, alice, entreprise_non_qualifiee): +def test_datapoints_pour_enjeux_materiels_au_format_xlsx( + client, alice, entreprise_non_qualifiee +): attach_user_to_entreprise(alice, entreprise_non_qualifiee, "Présidente") csrd = RapportCSRD.objects.create( proprietaire=alice, @@ -426,6 +428,40 @@ def test_datapoints_csrd_au_format_xlsx(client, alice, entreprise_non_qualifiee) assert "Index" in noms_onglet assert "ESRS 2" in noms_onglet assert "ESRS2 MDR" in noms_onglet + assert "ESRS G1" not in noms_onglet + + +def test_datapoints_pour_enjeux_non_materiels_au_format_xlsx( + client, alice, entreprise_non_qualifiee +): + attach_user_to_entreprise(alice, entreprise_non_qualifiee, "Présidente") + csrd = RapportCSRD.objects.create( + proprietaire=alice, + entreprise=entreprise_non_qualifiee, + annee=f"{datetime.now():%Y}", + ) + enjeux = csrd.enjeux.all() + enjeu_attenuation = enjeux[1] + enjeu_attenuation.materiel = True + enjeu_attenuation.save() + esrs_materielle = enjeu_attenuation.esrs + client.force_login(alice) + + response = client.get( + f"/csrd/{entreprise_non_qualifiee.siren}/datapoints.xlsx?materiel=false", + ) + + assert ( + response["content-type"] + == "application/vnd.openxmlformatsofficedocument.spreadsheetml.sheet" + ) + workbook = load_workbook(filename=BytesIO(response.content)) + noms_onglet = workbook.get_sheet_names() + assert esrs_materielle.replace("_", " ") not in noms_onglet + assert "Index" in noms_onglet + assert "ESRS 2" in noms_onglet + assert "ESRS2 MDR" in noms_onglet + assert "ESRS G1" in noms_onglet def test_datapoints_csrd__au_format_xlsx_retourne_une_404_si_entreprise_inexistante( diff --git a/impact/reglementations/views/csrd.py b/impact/reglementations/views/csrd.py index 7ad3184cf..8f09ba442 100644 --- a/impact/reglementations/views/csrd.py +++ b/impact/reglementations/views/csrd.py @@ -682,9 +682,8 @@ def xlsx_response(stream, filename): @login_required @csrd_required def datapoints_xlsx(request, siren, csrd=None): - enjeux = csrd.enjeux.filter(materiel=True) - esrs_materielles = set((enjeu.esrs for enjeu in enjeux)) - esrs_a_supprimer = set(ESRS.values).difference(esrs_materielles) + materiel = request.GET.get("materiel", True) != "false" + esrs_a_supprimer = _esrs_materiel_a_supprimer(csrd, materiel) workbook = load_workbook("impact/static/CSRD/ESRS_Data_Points_EFRAG.xlsx") for esrs in esrs_a_supprimer: if esrs not in ("ESRS_1", "ESRS_2"): @@ -696,5 +695,21 @@ def datapoints_xlsx(request, siren, csrd=None): tmp.seek(0) xlsx_stream = tmp.read() - filename = "datapoints_csrd.xlsx" + filename = ( + "datapoints_csrd_materiels.xlsx" + if materiel + else "datapoints_csrd_non_materiels.xlsx" + ) return xlsx_response(xlsx_stream, filename) + + +def _esrs_materiel_a_supprimer(csrd, materiel): + enjeux_materiels = csrd.enjeux.filter(materiel=True) + esrs_materiels = set((enjeu.esrs for enjeu in enjeux_materiels)) + if materiel: + esrs_a_supprimer = set(ESRS.values) - esrs_materiels + else: + esrs_non_materiels = set(ESRS.values) - esrs_materiels + esrs_a_supprimer = set(ESRS.values) - esrs_non_materiels + + return esrs_a_supprimer From 0536e5c218f18a93c635dbb0ae28f0f2afc8b012 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane?= Date: Thu, 19 Dec 2024 17:30:54 +0100 Subject: [PATCH 09/15] =?UTF-8?q?refacto:=20la=20responsabilit=C3=A9=20des?= =?UTF-8?q?=20ESRS=20=C3=A0=20supprimer=20appartient=20=C3=A0=20une=20fonc?= =?UTF-8?q?tion=20d=C3=A9di=C3=A9e?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- impact/reglementations/views/csrd.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/impact/reglementations/views/csrd.py b/impact/reglementations/views/csrd.py index 8f09ba442..72ac76173 100644 --- a/impact/reglementations/views/csrd.py +++ b/impact/reglementations/views/csrd.py @@ -686,9 +686,8 @@ def datapoints_xlsx(request, siren, csrd=None): esrs_a_supprimer = _esrs_materiel_a_supprimer(csrd, materiel) workbook = load_workbook("impact/static/CSRD/ESRS_Data_Points_EFRAG.xlsx") for esrs in esrs_a_supprimer: - if esrs not in ("ESRS_1", "ESRS_2"): - titre_onglet = esrs.replace("_", " ") - workbook.remove(workbook[titre_onglet]) + titre_onglet = esrs.replace("_", " ") + workbook.remove(workbook[titre_onglet]) with NamedTemporaryFile() as tmp: workbook.save(tmp.name) @@ -712,4 +711,7 @@ def _esrs_materiel_a_supprimer(csrd, materiel): esrs_non_materiels = set(ESRS.values) - esrs_materiels esrs_a_supprimer = set(ESRS.values) - esrs_non_materiels + # ne pas supprimer ESRS_1 et ESRS_2 car ils n'existent pas dans le fichier .xlsx + esrs_a_supprimer -= set(("ESRS_1", "ESRS_2")) + return esrs_a_supprimer From 97869d37744eb0787b9fa1d481752d0c74f723ed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane?= Date: Thu, 19 Dec 2024 17:37:15 +0100 Subject: [PATCH 10/15] =?UTF-8?q?refacto:=20possibilit=C3=A9=20de=20factor?= =?UTF-8?q?iser=20la=20g=C3=A9n=C3=A9ration=20du=20flux=20xlsx=20dans=20la?= =?UTF-8?q?=20fonction=20commune?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- impact/reglementations/views/csrd.py | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/impact/reglementations/views/csrd.py b/impact/reglementations/views/csrd.py index 72ac76173..f15606ca2 100644 --- a/impact/reglementations/views/csrd.py +++ b/impact/reglementations/views/csrd.py @@ -660,18 +660,18 @@ def _build_xlsx(enjeux, csrd=None, materiels=False): numero_ligne += 1 + filename = "enjeux_csrd.xlsx" if not materiels else "enjeux_csrd_materiels.xlsx" + return _xlsx_response(workbook, filename) + + +def _xlsx_response(workbook, filename): with NamedTemporaryFile() as tmp: workbook.save(tmp.name) tmp.seek(0) xlsx_stream = tmp.read() - filename = "enjeux_csrd.xlsx" if not materiels else "enjeux_csrd_materiels.xlsx" - return xlsx_response(xlsx_stream, filename) - - -def xlsx_response(stream, filename): response = HttpResponse( - stream, + xlsx_stream, content_type="application/vnd.openxmlformatsofficedocument.spreadsheetml.sheet", ) response["Content-Disposition"] = f"filename={filename}" @@ -689,17 +689,12 @@ def datapoints_xlsx(request, siren, csrd=None): titre_onglet = esrs.replace("_", " ") workbook.remove(workbook[titre_onglet]) - with NamedTemporaryFile() as tmp: - workbook.save(tmp.name) - tmp.seek(0) - xlsx_stream = tmp.read() - filename = ( "datapoints_csrd_materiels.xlsx" if materiel else "datapoints_csrd_non_materiels.xlsx" ) - return xlsx_response(xlsx_stream, filename) + return _xlsx_response(workbook, filename) def _esrs_materiel_a_supprimer(csrd, materiel): From a1ade001c626985fe948c65386984715ad296146 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane?= Date: Thu, 19 Dec 2024 18:29:15 +0100 Subject: [PATCH 11/15] refacto: extraction d'une constante --- impact/reglementations/views/csrd.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/impact/reglementations/views/csrd.py b/impact/reglementations/views/csrd.py index f15606ca2..cf773618a 100644 --- a/impact/reglementations/views/csrd.py +++ b/impact/reglementations/views/csrd.py @@ -700,11 +700,12 @@ def datapoints_xlsx(request, siren, csrd=None): def _esrs_materiel_a_supprimer(csrd, materiel): enjeux_materiels = csrd.enjeux.filter(materiel=True) esrs_materiels = set((enjeu.esrs for enjeu in enjeux_materiels)) + tous_les_esrs = set(ESRS.values) if materiel: - esrs_a_supprimer = set(ESRS.values) - esrs_materiels + esrs_a_supprimer = tous_les_esrs - esrs_materiels else: - esrs_non_materiels = set(ESRS.values) - esrs_materiels - esrs_a_supprimer = set(ESRS.values) - esrs_non_materiels + esrs_non_materiels = tous_les_esrs - esrs_materiels + esrs_a_supprimer = tous_les_esrs - esrs_non_materiels # ne pas supprimer ESRS_1 et ESRS_2 car ils n'existent pas dans le fichier .xlsx esrs_a_supprimer -= set(("ESRS_1", "ESRS_2")) From c0ff95b64dab234a0ef1fc0767e4aee4bbde2259 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane?= Date: Thu, 19 Dec 2024 18:38:41 +0100 Subject: [PATCH 12/15] =?UTF-8?q?liens=20de=20t=C3=A9l=C3=A9chargement=20a?= =?UTF-8?q?u=20style=20DSFR?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../csrd/etape-collection-donnees-entreprise.html | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/impact/reglementations/templates/reglementations/csrd/etape-collection-donnees-entreprise.html b/impact/reglementations/templates/reglementations/csrd/etape-collection-donnees-entreprise.html index 84aefd9a6..e1de83db6 100644 --- a/impact/reglementations/templates/reglementations/csrd/etape-collection-donnees-entreprise.html +++ b/impact/reglementations/templates/reglementations/csrd/etape-collection-donnees-entreprise.html @@ -13,10 +13,16 @@

{{ etape.nom }}

- Télécharger vos données ESG matérielles et non matérielles. + Télécharger vos données ESG matérielles et non matérielles :

From 1a42657f43a20d7282ea3781b84227391a0c4d6f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Vergez?= Date: Fri, 20 Dec 2024 17:23:59 +0100 Subject: [PATCH 13/15] =?UTF-8?q?fix:=20correction=20de=20la=20mat=C3=A9ri?= =?UTF-8?q?alit=C3=A9=20des=20enjeux?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit L'analyse de matérialité des enjeux restait enregistrée après déselection éventuelle des enjeux. --- impact/reglementations/forms/csrd.py | 6 +++++- impact/reglementations/models/csrd.py | 9 ++++++--- impact/reglementations/tests/test_csrd_views.py | 15 ++++++++++++++- impact/reglementations/views/csrd.py | 14 ++++++++------ .../views/fragments/enjeux_materiels.py | 6 +++--- 5 files changed, 36 insertions(+), 14 deletions(-) diff --git a/impact/reglementations/forms/csrd.py b/impact/reglementations/forms/csrd.py index 6a390ba6a..2d2fbed89 100644 --- a/impact/reglementations/forms/csrd.py +++ b/impact/reglementations/forms/csrd.py @@ -25,13 +25,17 @@ def __init__(self, *args, esrs: str = None, **kwargs): if self.instance: qs = self.instance.enjeux_par_esrs(self.esrs) self.fields["enjeux"].queryset = qs - self.initial = {"enjeux": qs.filter(selection=True)} + self.initial = {"enjeux": qs.selectionnes()} def save(self, *args, **kwargs): super().save(*args, **kwargs) for enjeu in self.instance.enjeux.filter(esrs=self.esrs): enjeu.selection = enjeu in self.cleaned_data["enjeux"] + if not enjeu.selection: + # si un enjeu n'est pas sélectionné, il ne peut pas être analysé + # (raz éventuelle de l'analyse si on déselectionne l'enjeu) + enjeu.materiel = None enjeu.save() def sections(self): diff --git a/impact/reglementations/models/csrd.py b/impact/reglementations/models/csrd.py index 76cab6532..8db01772f 100644 --- a/impact/reglementations/models/csrd.py +++ b/impact/reglementations/models/csrd.py @@ -189,13 +189,16 @@ def modifiables(self): return self.filter(modifiable=True) def materiels(self): - return self.filter(materiel=True) + return self.selectionnes().filter(materiel=True) def non_materiels(self): - return self.filter(materiel=False) + return self.selectionnes().filter(materiel=False) + + def analyses(self): + return self.selectionnes().filter(materiel__isnull=False) def non_analyses(self): - return self.filter(materiel__isnull=True) + return self.selectionnes().filter(materiel__isnull=True) def environnement(self): return self.filter(esrs__startswith="ESRS_E") diff --git a/impact/reglementations/tests/test_csrd_views.py b/impact/reglementations/tests/test_csrd_views.py index f03445ef2..7fef9af27 100644 --- a/impact/reglementations/tests/test_csrd_views.py +++ b/impact/reglementations/tests/test_csrd_views.py @@ -409,6 +409,7 @@ def test_datapoints_pour_enjeux_materiels_au_format_xlsx( ) enjeux = csrd.enjeux.all() enjeu_attenuation = enjeux[1] + enjeu_attenuation.selection = True enjeu_attenuation.materiel = True enjeu_attenuation.save() esrs_materielle = enjeu_attenuation.esrs @@ -441,12 +442,24 @@ def test_datapoints_pour_enjeux_non_materiels_au_format_xlsx( annee=f"{datetime.now():%Y}", ) enjeux = csrd.enjeux.all() + + # enjeu de l'ESRS_E1: enjeu_attenuation = enjeux[1] + enjeu_attenuation.selection = True enjeu_attenuation.materiel = True enjeu_attenuation.save() esrs_materielle = enjeu_attenuation.esrs client.force_login(alice) + # note : les enjeux affichés dans le fichier "non-matériels" + # doivent au préalable avoir été sélectionnés + + # enjeu de l'ESRS_G1: + enjeux_G1 = enjeux.filter(esrs="ESRS_G1").first() + enjeux_G1.selection = True + enjeux_G1.materiel = False # et pas None + enjeux_G1.save() + response = client.get( f"/csrd/{entreprise_non_qualifiee.siren}/datapoints.xlsx?materiel=false", ) @@ -456,7 +469,7 @@ def test_datapoints_pour_enjeux_non_materiels_au_format_xlsx( == "application/vnd.openxmlformatsofficedocument.spreadsheetml.sheet" ) workbook = load_workbook(filename=BytesIO(response.content)) - noms_onglet = workbook.get_sheet_names() + noms_onglet = workbook.sheetnames assert esrs_materielle.replace("_", " ") not in noms_onglet assert "Index" in noms_onglet assert "ESRS 2" in noms_onglet diff --git a/impact/reglementations/views/csrd.py b/impact/reglementations/views/csrd.py index cf773618a..37b2d33cc 100644 --- a/impact/reglementations/views/csrd.py +++ b/impact/reglementations/views/csrd.py @@ -582,7 +582,7 @@ def gestion_csrd(request, siren=None, id_etape="introduction"): match EtapeCSRD.get(id_etape).id: ## légèrement plus lisible qu'un `if` case "collection-donnees-entreprise": - nb_enjeux_non_analyses = csrd.enjeux.selectionnes().non_analyses().count() + nb_enjeux_non_analyses = csrd.enjeux.non_analyses().count() context |= { "can_download": nb_enjeux_non_analyses != csrd.enjeux.selectionnes().count(), @@ -681,7 +681,7 @@ def _xlsx_response(workbook, filename): @login_required @csrd_required -def datapoints_xlsx(request, siren, csrd=None): +def datapoints_xlsx(request, _, csrd=None): materiel = request.GET.get("materiel", True) != "false" esrs_a_supprimer = _esrs_materiel_a_supprimer(csrd, materiel) workbook = load_workbook("impact/static/CSRD/ESRS_Data_Points_EFRAG.xlsx") @@ -697,14 +697,16 @@ def datapoints_xlsx(request, siren, csrd=None): return _xlsx_response(workbook, filename) -def _esrs_materiel_a_supprimer(csrd, materiel): - enjeux_materiels = csrd.enjeux.filter(materiel=True) - esrs_materiels = set((enjeu.esrs for enjeu in enjeux_materiels)) +def _esrs_materiel_a_supprimer(csrd: RapportCSRD, materiel: bool): tous_les_esrs = set(ESRS.values) + if materiel: + enjeux_materiels = csrd.enjeux.materiels() + esrs_materiels = set((enjeu.esrs for enjeu in enjeux_materiels)) esrs_a_supprimer = tous_les_esrs - esrs_materiels else: - esrs_non_materiels = tous_les_esrs - esrs_materiels + enjeux_non_materiels = csrd.enjeux.non_materiels() + esrs_non_materiels = set((enjeu.esrs for enjeu in enjeux_non_materiels)) esrs_a_supprimer = tous_les_esrs - esrs_non_materiels # ne pas supprimer ESRS_1 et ESRS_2 car ils n'existent pas dans le fichier .xlsx diff --git a/impact/reglementations/views/fragments/enjeux_materiels.py b/impact/reglementations/views/fragments/enjeux_materiels.py index 6556aab17..0b14de148 100644 --- a/impact/reglementations/views/fragments/enjeux_materiels.py +++ b/impact/reglementations/views/fragments/enjeux_materiels.py @@ -30,10 +30,10 @@ def _grouper_enjeux_par_esrs(enjeux): { "titre": TitreESRS[esrs].value, "esrs": esrs, - "analyses": len(enjeux.filter(esrs=esrs, materiel__isnull=False)), + "analyses": len(enjeux.analyses().filter(esrs=esrs)), "a_analyser": len(enjeux_), "enjeux": enjeux_, - "nb_materiels": len(enjeux.filter(esrs=esrs, materiel=True)), + "nb_materiels": len(enjeux.materiels().filter(esrs=esrs)), } ) @@ -46,7 +46,7 @@ def _grouper_enjeux_par_esrs(enjeux): def rafraichissement_enjeux_materiels(request, csrd_id): csrd = get_object_or_404(RapportCSRD, id=csrd_id) enjeux_selectionnes = csrd.enjeux.selectionnes() - enjeux_non_analyses = enjeux_selectionnes.non_analyses() + enjeux_non_analyses = csrd.enjeux.non_analyses() context = { "csrd": csrd, From 61267ff040e3b7ae8044ef0aed0ec37169e37f22 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Vergez?= Date: Fri, 20 Dec 2024 17:24:39 +0100 Subject: [PATCH 14/15] =?UTF-8?q?revue:=20maj=20de=20la=20mise=20en=20page?= =?UTF-8?q?=20de=20la=20partie=20collecte=20de=20donn=C3=A9es?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../etape-collection-donnees-entreprise.html | 56 ++++++++++++++----- 1 file changed, 43 insertions(+), 13 deletions(-) diff --git a/impact/reglementations/templates/reglementations/csrd/etape-collection-donnees-entreprise.html b/impact/reglementations/templates/reglementations/csrd/etape-collection-donnees-entreprise.html index e1de83db6..50e3ee66d 100644 --- a/impact/reglementations/templates/reglementations/csrd/etape-collection-donnees-entreprise.html +++ b/impact/reglementations/templates/reglementations/csrd/etape-collection-donnees-entreprise.html @@ -12,19 +12,49 @@

{{ etape.nom }}

-

- Télécharger vos données ESG matérielles et non matérielles : -

-

+

Analyse de la matérialité des informations élémentaires (points de données ou « data points »)

+ +

La phase 1 "analyse de double matérialité" vous a permis de déterminer vos enjeux de durabilité matériels. Cette phase 2 vous permet de déterminer les indicateurs pertinents sur lesquels vous allez reporter, puis collecter les données exigées.

+ +

La matérialité des informations s’appréhende en fonction des critères suivants : (i) l’importance de l’information élémentaire pour décrire l’enjeu ou (ii) son utilité pour répondre aux besoins des utilisateurs.

+ + +
+
+
+
Que faire ?
+ + +
+
+
+ +

Pour vous aidez, vous pouvez consulter le logigramme permettant de déterminer les informations à inclure au titre des ESRS.

+ +
+
+

+ +

+
+ +
+
+
+

En savoir plus sur les démarches de collecte des données

From 5f6ccf96e6cb9a4e1959b8ce2ec0d6140c5cc849 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Vergez?= Date: Fri, 20 Dec 2024 19:10:34 +0100 Subject: [PATCH 15/15] =?UTF-8?q?fix:=20ajout=20d'une=20r=C3=A8gle=20CSP?= =?UTF-8?q?=20pour=20afficher=20les=20images=20du=20S3=20Scaleway?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- impact/impact/settings.py | 2 ++ .../csrd/etape-collection-donnees-entreprise.html | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/impact/impact/settings.py b/impact/impact/settings.py index 8903ff285..69ab86aba 100644 --- a/impact/impact/settings.py +++ b/impact/impact/settings.py @@ -271,6 +271,8 @@ "data:", # some images are defined this way # matomo : "stats.beta.gouv.fr", + # S3 scaleway : + "sites-faciles.s3.fr-par.scw.cloud", ], "style-src": [ SELF, diff --git a/impact/reglementations/templates/reglementations/csrd/etape-collection-donnees-entreprise.html b/impact/reglementations/templates/reglementations/csrd/etape-collection-donnees-entreprise.html index 50e3ee66d..6f56cc3a0 100644 --- a/impact/reglementations/templates/reglementations/csrd/etape-collection-donnees-entreprise.html +++ b/impact/reglementations/templates/reglementations/csrd/etape-collection-donnees-entreprise.html @@ -50,7 +50,7 @@

- + logigramme