feat(routing): server side: prevent tdc deletion if used for routing

This commit is contained in:
simon lehericey 2023-04-05 18:07:32 +02:00
parent 3f55fddcef
commit c1f67499aa
3 changed files with 59 additions and 36 deletions

View file

@ -67,12 +67,20 @@ module Administrateurs
end
def destroy
@coordinate = draft.remove_type_de_champ(params[:stable_id])
flash.notice = "Formulaire enregistré"
coordinate, type_de_champ = draft.coordinate_and_tdc(params[:stable_id])
if @coordinate.present?
@destroyed = @coordinate
@morphed = champ_components_starting_at(@coordinate)
if coordinate.used_by_routing_rules?
errors = "« #{type_de_champ.libelle} » est utilisé pour le routage, vous ne pouvez pas le supprimer."
@morphed = [champ_component_from(coordinate, focused: false, errors:)]
flash.alert = errors
else
@coordinate = draft.remove_type_de_champ(params[:stable_id])
flash.notice = "Formulaire enregistré"
if @coordinate.present?
@destroyed = @coordinate
@morphed = champ_components_starting_at(@coordinate)
end
end
end
@ -101,27 +109,27 @@ module Administrateurs
def type_de_champ_update_params
params.required(:type_de_champ).permit(:type_champ,
:libelle,
:description,
:mandatory,
:drop_down_list_value,
:drop_down_other,
:drop_down_secondary_libelle,
:drop_down_secondary_description,
:collapsible_explanation_enabled,
:collapsible_explanation_text,
editable_options: [
:cadastres,
:unesco,
:arretes_protection,
:conservatoire_littoral,
:reserves_chasse_faune_sauvage,
:reserves_biologiques,
:reserves_naturelles,
:natura_2000,
:zones_humides,
:znieff
])
:libelle,
:description,
:mandatory,
:drop_down_list_value,
:drop_down_other,
:drop_down_secondary_libelle,
:drop_down_secondary_description,
:collapsible_explanation_enabled,
:collapsible_explanation_text,
editable_options: [
:cadastres,
:unesco,
:arretes_protection,
:conservatoire_littoral,
:reserves_chasse_faune_sauvage,
:reserves_biologiques,
:reserves_naturelles,
:natura_2000,
:zones_humides,
:znieff
])
end
def draft