diff --git a/formulaires/editer_livraisonmode.php b/formulaires/editer_livraisonmode.php index 47e94bfadf1bdbc23df3c8d7fe2403ac02eeb3c8..13514052dbe0ecfbd415f9b70cc20ed942ca2ae2 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); }