Skip to content

Commit 2fc4676

Browse files
committed
Enhance rendering of contact mentions on authorizations
1 parent 45f3c9d commit 2fc4676

File tree

6 files changed

+55
-9
lines changed

6 files changed

+55
-9
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
class AuthorizationRequestDecorator < ApplicationDecorator
2+
delegate_all
3+
4+
def only_in_contacts?(user)
5+
user != object.applicant &&
6+
object.contact_types_for(user).present?
7+
end
8+
9+
def humanized_contact_types_for(user)
10+
object.contact_types_for(user).map do |contact_type|
11+
lookup_i18n_key("#{contact_type}.title").downcase
12+
end
13+
end
14+
15+
private
16+
17+
def lookup_i18n_key(subkey)
18+
t("authorization_request_forms.#{object.model_name.element}.#{subkey}", default: nil) ||
19+
t("authorization_request_forms.default.#{subkey}")
20+
end
21+
end

app/views/dashboard/_authorization_request_card.html.erb

+4-3
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
<% authorization_request = authorization_request.decorate %>
2+
13
<div class="authorization-request-card authorization-request">
24
<div class="card-header">
35
<span class="fr-badge fr-badge--no-icon">
@@ -19,10 +21,9 @@
1921
<div class="card-description">
2022
<%= truncate(authorization_request.description, length: 30) %>
2123

22-
<% if authorization_request.applicant != current_user %>
24+
<% if authorization_request.only_in_contacts?(current_user) %>
2325
<p class="fr-text--xs fr-text-grey">
24-
<% contact_types = authorization_request.contact_types_for(current_user).map { |contact_type| t("authorization_request_forms.default.#{contact_type}.title").downcase }.to_sentence %>
25-
<%= t('.current_user_mention', contact_types:) %>
26+
<%= t('.current_user_mentions', contact_types: authorization_request.humanized_contact_types_for(current_user).to_sentence) %>
2627
</p>
2728
<% end %>
2829
</div>

config/locales/fr.yml

+3-1
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ fr:
9494
changes_requested_title: Demandes à modifier
9595

9696
authorization_request_card:
97-
current_user_mention: Vous avez été référencé comme %{contact_types}
97+
current_user_mentions: Vous avez été référencé comme %{contact_types}
9898
cta: Consulter
9999

100100
profile:
@@ -138,6 +138,8 @@ fr:
138138
error:
139139
title: Une erreur est survenue lors de la sauvegarde de la demande d'habilitation
140140
description: &common_authorization_requests_error_description Certains champs ci-dessous ne sont pas valides, merci d'effectuer les corrections nécessaires
141+
multiple_steps_as_single_page:
142+
current_user_mentions: Vous avez été référence comme %{contact_types} dans cette habilitation.
141143
update:
142144
success: La demande d'habilitation %{name} a été mise à jour avec succès
143145
error: &authorization_requests_update_error

features/consultation_habilitation.feature

+15-5
Original file line numberDiff line numberDiff line change
@@ -13,19 +13,29 @@ Fonctionnalité: Consultation d'une demande d'habilitation
1313
Scénario: Je consulte une demande d'habilitation simple en brouillon m'appartenant
1414
Quand je me rends sur une demande d'habilitation "Portail HubEE - Démarche CertDC" en brouillon
1515
Alors il y a un titre contenant "Portail HubEE - Démarche CertDC"
16-
Alors il y a un bouton "Enregistrer"
16+
Et il y a un formulaire en une seule page
17+
Et il y a un bouton "Enregistrer"
1718

18-
Scénario: Je consulte une demande d'habilitation simple en brouillon de l'organisation
19-
Quand mon organisation a 1 demande d'habilitation "Portail HubEE - Démarche CertDC"
19+
Scénario: Je consulte une demande d'habilitation en plusieurs étapes en brouillon m'appartenant
20+
Quand je me rends sur une demande d'habilitation "API Entreprise" en brouillon
21+
Alors il y a un titre contenant "API Entreprise"
22+
Et il y a un formulaire en plusieurs étapes
23+
Et il y a un bouton "Suivant"
24+
25+
Scénario: Je consulte une demande d'habilitation en plusieurs étapes en brouillon de l'organisation
26+
Quand mon organisation a 1 demande d'habilitation "API Entreprise"
2027
Et que je clique sur "Les demandes ou habilitations de l'organisation"
2128
Et que je clique sur "Consulter"
22-
Alors il y a un titre contenant "Portail HubEE - Démarche CertDC"
23-
Alors il n'y a pas de bouton "Enregistrer"
29+
Alors il y a un titre contenant "API Entreprise"
30+
Et il y a un formulaire en une seule page
31+
Et il n'y a pas de bouton "Enregistrer"
2432

2533
Scénario: Je consulte une demande d'habilitation où je suis mentionné
2634
Quand je suis mentionné dans 1 demande d'habilitation "API Entreprise" en tant que "Contact technique"
2735
Et que je vais sur la page du tableau de bord
2836
Et que je clique sur "Mes mentions"
2937
Et que je clique sur "Consulter"
3038
Alors il y a un titre contenant "API Entreprise"
39+
Et il y a un formulaire en une seule page
40+
Et il y a un message d'info contenant "Vous avez été référencé comme contact technique"
3141
Et il n'y a pas de bouton "Enregistrer"

features/step_definitions/authorization_requests_steps.rb

+8
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,14 @@
4545
end
4646
end
4747

48+
Alors('il y a un formulaire en plusieurs étapes') do
49+
expect(page).to have_css('.fr-stepper')
50+
end
51+
52+
Alors('il y a un formulaire en une seule page') do
53+
expect(page).to have_no_css('.fr-stepper')
54+
end
55+
4856
# https://rubular.com/r/Vg8QOMkfLtrxhh
4957
Quand(/je me rends sur une demande d'habilitation "([^"]+)"(?: (?:en|à))? ?(.+)?/) do |type, status|
5058
if current_user.instructor?

features/step_definitions/web_steps.rb

+4
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,10 @@
116116
expect(page).to have_css('.fr-alert.fr-alert--warning', text:)
117117
end
118118

119+
Alors("il y a un message d'info contenant {string}") do |text|
120+
expect(page).to have_css('.fr-alert.fr-alert--info', text:)
121+
end
122+
119123
Alors('il y a au moins une erreur sur un champ') do
120124
expect(page).to have_css('.fr-input-group.fr-input-group--error')
121125
end

0 commit comments

Comments
 (0)