diff --git a/app/components/procedure/revision_changes_component.rb b/app/components/procedure/revision_changes_component.rb
index fc31276de..e266f13e2 100644
--- a/app/components/procedure/revision_changes_component.rb
+++ b/app/components/procedure/revision_changes_component.rb
@@ -3,6 +3,7 @@ class Procedure::RevisionChangesComponent < ApplicationComponent
@changes = changes
@previous_revision = previous_revision
@public_move_changes, @private_move_changes = changes.filter { _1.op == :move }.partition { !_1.private? }
+ @delete_champ_warning = !total_dossiers.zero? && !@changes.all?(&:can_rebase?)
end
private
diff --git a/app/components/procedure/revision_changes_component/revision_changes_component.fr.yml b/app/components/procedure/revision_changes_component/revision_changes_component.fr.yml
index 847cc40a9..eac9a5bc8 100644
--- a/app/components/procedure/revision_changes_component/revision_changes_component.fr.yml
+++ b/app/components/procedure/revision_changes_component/revision_changes_component.fr.yml
@@ -4,6 +4,9 @@ fr:
breaking_change:
one: Un dossier en cours de traitement n’est pas compatible avec ce changement.
other: "%{count} dossiers en cours de traitement ne sont pas compatible avec ce changement."
+ delete_champ_html:
+ one: "Un dossier en cours de traitement porte ce champ. Les données associées à ce champ seront supprimées."
+ other: "%{count} dossiers en cours de traitement portent ce champ. Les données associées avec ce champ seront supprimées."
add_option: "ajoutés : %{items}"
remove_option: "supprimés : %{items}"
public:
diff --git a/app/components/procedure/revision_changes_component/revision_changes_component.html.haml b/app/components/procedure/revision_changes_component/revision_changes_component.html.haml
index 6cf97bbe6..76e42c741 100644
--- a/app/components/procedure/revision_changes_component/revision_changes_component.html.haml
+++ b/app/components/procedure/revision_changes_component/revision_changes_component.html.haml
@@ -12,11 +12,14 @@
- else
= t(".#{prefix}.add", label: change.label)
- if !total_dossiers.zero? && !change.can_rebase?
- %strong
- = t('.breaking_change', count: total_dossiers)
+ .fr-alert.fr-alert--warning.fr-mt-1v
+ %p= t('.breaking_change', count: total_dossiers)
- when :remove
- list.with_item do
= t(".#{prefix}.remove", label: change.label)
+ - if @delete_champ_warning
+ .fr-alert.fr-alert--warning.fr-mt-1v
+ %p= t('.delete_champ_html', count: total_dossiers)
- when :update
- case change.attribute
- when :libelle
@@ -26,8 +29,8 @@
- list.with_item do
= t(".#{prefix}.update_type_champ", label: change.label, to: t("activerecord.attributes.type_de_champ.type_champs.#{change.to}"))
- if !total_dossiers.zero? && !change.can_rebase?
- %strong
- = t('.breaking_change', count: total_dossiers)
+ .fr-alert.fr-alert--warning.fr-mt-1v
+ %p= t('.breaking_change', count: total_dossiers)
- when :description
- list.with_item do
- if change.to.blank?
@@ -45,14 +48,14 @@
- list.with_item do
= t(".public.enable_mandatory", label: change.label)
- if !total_dossiers.zero? && !change.can_rebase?
- %strong
- = t('.breaking_change', count: total_dossiers)
+ .fr-alert.fr-alert--warning.fr-mt-1v
+ %p= t('.breaking_change', count: total_dossiers)
- else
- list.with_item do
= t(".public.disable_mandatory", label: change.label)
- if !total_dossiers.zero? && !change.can_rebase?
- %strong
- = t('.breaking_change', count: total_dossiers)
+ .fr-alert.fr-alert--warning.fr-mt-1v
+ %p= t('.breaking_change', count: total_dossiers)
- when :piece_justificative_template
- list.with_item do
= t(".#{prefix}.update_piece_justificative_template", label: change.label)
@@ -69,21 +72,21 @@
- list.with_item do
= t('.remove_option', items: removed.map{ |term| "« #{term.strip} »" }.join(", "))
- if !total_dossiers.zero? && !change.can_rebase?
- %strong
- = t('.breaking_change', count: total_dossiers)
+ .fr-alert.fr-alert--warning.fr-mt-1v
+ %p= t('.breaking_change', count: total_dossiers)
- when :drop_down_other
- if change.from == false
- list.with_item do
= t(".#{prefix}.enable_drop_down_other", label: change.label)
- if !total_dossiers.zero? && !change.can_rebase?
- %strong
- = t('.breaking_change', count: total_dossiers)
+ .fr-alert.fr-alert--warning.fr-mt-1v
+ %p= t('.breaking_change', count: total_dossiers)
- else
- list.with_item do
= t(".#{prefix}.disable_drop_down_other", label: change.label)
- if !total_dossiers.zero? && !change.can_rebase?
- %strong
- = t('.breaking_change', count: total_dossiers)
+ .fr-alert.fr-alert--warning.fr-mt-1v
+ %p= t('.breaking_change', count: total_dossiers)
- when :carte_layers
- added = change.to.sort - change.from.sort
- removed = change.from.sort - change.to.sort
@@ -114,20 +117,20 @@
- list.with_item do
= t(".#{prefix}.add_condition", label: change.label, to: change.to)
- if !total_dossiers.zero? && !change.can_rebase?
- %strong
- = t('.breaking_change', count: total_dossiers)
+ .fr-alert.fr-alert--warning.fr-mt-1v
+ %p= t('.breaking_change', count: total_dossiers)
- elsif change.to.nil?
- list.with_item do
= t(".#{prefix}.remove_condition", label: change.label)
- if !total_dossiers.zero? && !change.can_rebase?
- %strong
- = t('.breaking_change', count: total_dossiers)
+ .fr-alert.fr-alert--warning.fr-mt-1v
+ %p= t('.breaking_change', count: total_dossiers)
- else
- list.with_item do
= t(".#{prefix}.update_condition", label: change.label, to: change.to)
- if !total_dossiers.zero? && !change.can_rebase?
- %strong
- = t('.breaking_change', count: total_dossiers)
+ .fr-alert.fr-alert--warning.fr-mt-1v
+ %p= t('.breaking_change', count: total_dossiers)
- if @public_move_changes.present?
- list.with_item do