From fb91e7833fa11b00229edb76a7362bcd4dd512f5 Mon Sep 17 00:00:00 2001 From: tcharlss <tcharlss@bravecassine.com> Date: Sat, 8 Feb 2025 00:48:31 +0100 Subject: [PATCH] =?UTF-8?q?feat:=20si=20select2=20est=20activ=C3=A9,=20on?= =?UTF-8?q?=20l'utilise=20sur=20la=20saisie=20pays=20au=20lieu=20d'un=20si?= =?UTF-8?q?mple=20input?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- formulaires/editer_livraisonmode.php | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/formulaires/editer_livraisonmode.php b/formulaires/editer_livraisonmode.php index 47e94bf..1351405 100644 --- a/formulaires/editer_livraisonmode.php +++ b/formulaires/editer_livraisonmode.php @@ -55,6 +55,8 @@ function formulaires_editer_livraisonmode_identifier_dist($id_livraisonmode='new * Hash du formulaire */ function formulaires_editer_livraisonmode_saisies_dist($id_livraisonmode='new', $retour='', $lier_trad=0, $config_fonc='', $row=array(), $hidden=''){ + include_spip('inc/utils'); + $select2 = test_plugin_actif('select2'); $saisies = [ [ 'saisie' => 'input', @@ -73,11 +75,14 @@ function formulaires_editer_livraisonmode_saisies_dist($id_livraisonmode='new', ], ], [ - 'saisie' => 'input', + 'saisie' => ($select2 ? 'pays' : 'input'), 'options' => [ 'nom' => 'zone_pays', 'label' => _T('livraisonmode:champ_zone_pays_label'), 'explication' => _T('livraisonmode:champ_zone_pays_explication'), + 'class' => ($select2 ? 'select2' : ''), + 'champ_pays' => 'code', + 'multiple' => true, ], ], [ @@ -97,11 +102,14 @@ function formulaires_editer_livraisonmode_saisies_dist($id_livraisonmode='new', ], ], [ - 'saisie' => 'input', + 'saisie' => ($select2 ? 'pays' : 'input'), 'options' => [ 'nom' => 'zone_pays_exclus', 'label' => _T('livraisonmode:champ_zone_pays_exclus_label'), 'explication' => _T('livraisonmode:champ_zone_pays_exclus_explication'), + 'class' => ($select2 ? 'select2' : ''), + 'champ_pays' => 'code', + 'multiple' => true, ], ], [ @@ -244,6 +252,13 @@ function formulaires_editer_livraisonmode_verifier_dist($id_livraisonmode='new', * Retours des traitements */ function formulaires_editer_livraisonmode_traiter_dist($id_livraisonmode='new', $retour='', $lier_trad=0, $config_fonc='', $row=array(), $hidden=''){ + // Normaliser les sélections de pays si nécessaire + foreach (['zone_pays', 'zone_pays_exclus'] as $champ) { + $valeur = _request($champ); + if (is_array($valeur)) { + set_request($champ, implode(',', $valeur)); + } + } return formulaires_editer_objet_traiter('livraisonmode',$id_livraisonmode,'',$lier_trad,$retour,$config_fonc,$row,$hidden); } -- GitLab