Merge pull request #8761 from colinux/fix-siret-non-diffusible

Fix: masque le nom de l'entreprise aux usagers lorsqu'elle exerce sont droit de non diffusion
This commit is contained in:
Colin Darie 2023-03-15 17:09:45 +00:00 committed by GitHub
commit 17361b8644
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
9 changed files with 29 additions and 16 deletions

View file

@ -1,4 +1,8 @@
module EtablissementHelper module EtablissementHelper
def pretty_siret(siret)
"#{siret[0..2]} #{siret[3..5]} #{siret[6..8]} #{siret[9..]}"
end
def pretty_currency(capital_social, unit: '€') def pretty_currency(capital_social, unit: '€')
number_to_currency(capital_social, locale: :fr, unit: unit, precision: 0) number_to_currency(capital_social, locale: :fr, unit: unit, precision: 0)
end end

View file

@ -20,14 +20,14 @@
%tbody %tbody
- if etablissement.diffusable_commercialement == false && profile != 'instructeur' - if etablissement.diffusable_commercialement == false && profile != 'instructeur'
%tr %tr
%td= t('warning_for_private_info', scope: 'views.shared.dossiers.identite_entreprise', etablissement: raison_sociale_or_name(etablissement)) %td= t('warning_for_private_info', scope: 'views.shared.dossiers.identite_entreprise', siret: pretty_siret(etablissement.siret))
- else - else
%tr %tr
%td.libelle Dénomination : %td.libelle Dénomination :
%td= raison_sociale_or_name(etablissement) %td= raison_sociale_or_name(etablissement)
%tr %tr
%td.libelle SIRET : %td.libelle SIRET :
%td= etablissement.siret %td= pretty_siret(etablissement.siret)
- unless local_assigns[:short_identity] - unless local_assigns[:short_identity]
- if etablissement.siret != etablissement.entreprise.siret_siege_social - if etablissement.siret != etablissement.entreprise.siret_siege_social

View file

@ -17,7 +17,7 @@
%br %br
%br %br
Veuillez vérifier par vous-même que le numéro Veuillez vérifier par vous-même que le numéro
%strong= etablissement.siret %strong= pretty_siret(etablissement.siret)
correspond bien à votre entreprise : correspond bien à votre entreprise :
%p %p
@ -25,7 +25,7 @@
Vérifier dans l'annuaire des entreprises Vérifier dans l'annuaire des entreprises
- elsif etablissement.diffusable_commercialement == false - elsif etablissement.diffusable_commercialement == false
%p= t('warning_for_private_info', scope: 'views.shared.dossiers.identite_entreprise', etablissement: raison_sociale_or_name(etablissement)) %p= t('warning_for_private_info', scope: 'views.shared.dossiers.identite_entreprise', siret: pretty_siret(etablissement.siret))
- else - else
%p %p

View file

@ -1,7 +1,7 @@
%ul.etablissement-infos-entreprise %ul.etablissement-infos-entreprise
%li %li
Siret : Siret :
= etablissement.siret = pretty_siret(etablissement.siret)
%li %li
Libellé NAF : Libellé NAF :

View file

@ -3,7 +3,7 @@ en:
shared: shared:
dossiers: dossiers:
identite_entreprise: identite_entreprise:
warning_for_private_info: "The establishment %{etablissement} applied his right to not publish information regarding his identity. These informaiton won't be visible from instructor services" warning_for_private_info: "The establishment SIRET %{siret} applied his right to not publish information regarding his identity. These informaiton won't be visible from instructor services."
avis: avis:
demande_envoyee_le: "Feedback send at %{date}" demande_envoyee_le: "Feedback send at %{date}"
demande_revoquee_le: "Feedback revoked at %{date}" demande_revoquee_le: "Feedback revoked at %{date}"

View file

@ -3,7 +3,7 @@ fr:
shared: shared:
dossiers: dossiers:
identite_entreprise: identite_entreprise:
warning_for_private_info: "Létablissement %{etablissement} a exercé son droit à la non publication des informations relatives à son identité. Les informations ne seront donc visibles que de la part des services instructeurs" warning_for_private_info: "Létablissement SIRET %{siret} a exercé son droit à la non publication des informations relatives à son identité. Les informations ne seront donc visibles que de la part des services instructeurs."
avis: avis:
demande_envoyee_le: "Demande davis envoyée le %{date}" demande_envoyee_le: "Demande davis envoyée le %{date}"
demande_revoquee_le: "Demande davis révoquée le %{date}" demande_revoquee_le: "Demande davis révoquée le %{date}"

View file

@ -18,6 +18,12 @@ RSpec.describe EtablissementHelper, type: :helper do
end end
let(:etablissement) { create(:etablissement, etablissement_params) } let(:etablissement) { create(:etablissement, etablissement_params) }
describe "#pretty_siret" do
subject { pretty_siret("12345678900001") }
it { is_expected.to eq("123 456 789 00001") }
end
describe '#raison_sociale_or_name' do describe '#raison_sociale_or_name' do
subject { raison_sociale_or_name(etablissement) } subject { raison_sociale_or_name(etablissement) }

View file

@ -14,10 +14,11 @@ describe 'shared/dossiers/identite_entreprise.html.haml', type: :view do
end end
context "for an entreprise with private infos" do context "for an entreprise with private infos" do
let(:etablissement) { create(:etablissement, :non_diffusable) } let(:etablissement) { create(:etablissement, :non_diffusable, siret: "12345678900001") }
it "displays only public infos" do it "hide any info except siret" do
expect(rendered).to have_text(etablissement.entreprise_raison_sociale) expect(rendered).to have_text("123 456 789 00001")
expect(rendered).not_to have_text(etablissement.entreprise_raison_sociale)
expect(rendered).not_to have_text(etablissement.entreprise.forme_juridique) expect(rendered).not_to have_text(etablissement.entreprise.forme_juridique)
end end
end end

View file

@ -1,5 +1,5 @@
describe 'users/dossiers/etablissement.html.haml', type: :view do describe 'users/dossiers/etablissement.html.haml', type: :view do
let(:etablissement) { create(:etablissement, :with_exercices) } let(:etablissement) { create(:etablissement, :with_exercices, siret: "12345678900001") }
let(:dossier) { create(:dossier, etablissement: etablissement) } let(:dossier) { create(:dossier, etablissement: etablissement) }
let(:footer) { view.content_for(:footer) } let(:footer) { view.content_for(:footer) }
@ -13,13 +13,15 @@ describe 'users/dossiers/etablissement.html.haml', type: :view do
subject! { render } subject! { render }
it 'affiche les informations de létablissement' do it 'affiche les informations de létablissement' do
expect(rendered).to have_text(etablissement.siret) expect(rendered).to have_text("123 456 789 00001")
expect(rendered).to have_text(etablissement.entreprise_raison_sociale)
end end
context 'etablissement avec infos non diffusables' do context 'etablissement avec infos non diffusables' do
let(:etablissement) { create(:etablissement, :with_exercices, :non_diffusable) } let(:etablissement) { create(:etablissement, :with_exercices, :non_diffusable, siret: "12345678900001") }
it "affiche uniquement le nom de l'établissement si infos non diffusables" do it "affiche uniquement le SIRET si infos non diffusables" do
expect(rendered).to have_text(etablissement.entreprise_raison_sociale) expect(rendered).to have_text("123 456 789 00001")
expect(rendered).not_to have_text(etablissement.entreprise_raison_sociale)
expect(rendered).not_to have_text(etablissement.entreprise.forme_juridique) expect(rendered).not_to have_text(etablissement.entreprise.forme_juridique)
end end
end end
@ -32,7 +34,7 @@ describe 'users/dossiers/etablissement.html.haml', type: :view do
let(:etablissement) { Etablissement.create!(siret: '41816609600051') } let(:etablissement) { Etablissement.create!(siret: '41816609600051') }
it "affiche une notice avec un lien de vérification vers l'annuaire" do it "affiche une notice avec un lien de vérification vers l'annuaire" do
expect(rendered).to have_text(etablissement.siret) expect(rendered).to have_text("418 166 096 00051")
expect(rendered).to have_link("Vérifier dans l'annuaire des entreprises", href: "https://annuaire-entreprises\.data\.gouv\.fr/rechercher?terme=#{etablissement.siret}") expect(rendered).to have_link("Vérifier dans l'annuaire des entreprises", href: "https://annuaire-entreprises\.data\.gouv\.fr/rechercher?terme=#{etablissement.siret}")
end end
end end