Skip to content

Commit d6c3413

Browse files
committed
Enhance UX for ToS not checked
Displayed them as red if not accepted and not checked on submit
1 parent 4855038 commit d6c3413

File tree

2 files changed

+19
-1
lines changed

2 files changed

+19
-1
lines changed

app/form_builders/authorization_request_form_builder.rb

+18
Original file line numberDiff line numberDiff line change
@@ -62,9 +62,27 @@ def cgu_check_box(opts = {})
6262
I18n.t('authorization_request_forms.default.terms_of_service_accepted.label', link: @object.definition.cgu_link).html_safe
6363
end
6464

65+
opts[:class] ||= []
66+
opts[:class] << 'fr-input-group--error' if all_terms_not_accepted_error?(:terms_of_service_accepted)
67+
6568
dsfr_check_box(:terms_of_service_accepted, opts)
6669
end
6770

71+
def data_protection_officer_informed_check_box(opts = {})
72+
opts[:class] ||= []
73+
opts[:class] << 'fr-input-group--error' if all_terms_not_accepted_error?(:data_protection_officer_informed)
74+
75+
dsfr_check_box(:data_protection_officer_informed, opts)
76+
end
77+
78+
def all_terms_not_accepted_error?(attribute)
79+
return false if @object.public_send(attribute).present?
80+
81+
@object.errors.any? do |error|
82+
error.attribute == :base && error.type == :all_terms_not_accepted
83+
end
84+
end
85+
6886
def dsfr_file_field(attribute, opts = {})
6987
opts[:class] ||= 'fr-upload-group'
7088

Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
<%= f.cgu_check_box %>
2-
<%= f.dsfr_check_box :data_protection_officer_informed %>
2+
<%= f.data_protection_officer_informed_check_box %>

0 commit comments

Comments
 (0)