Valider b75a34bb rédigé par marcimat@rezo.net's avatar marcimat@rezo.net
Parcourir les fichiers

Correction sur saisies_charger_champs() peu utilisée, mais qui permet de...

Correction sur saisies_charger_champs() peu utilisée, mais qui permet de retrouver le contexte de base,
à partir d’un tableau de saisies, pour le retour de la fonction charger() d’un formulaire CVT.

Cette fonction retournait la liste des champs, avec systématiquemet la valeur '' (chaine vide) ; 
or comme l’a vu Eric, cela pose un problème car ça ne permet pas aux saisies de retrouver leurs valeur par défaut ensuite
(il faut que la valeur soit null ; '' étant considéré comme une valeur).

Dès lors on modifie la fonction pour retourner des Null… mais encore plus malin, on retourne les valeurs par défaut si on les connait,
ce qui semble, a priori ce qui semble le plus pertinent. 

(Eric)
parent 78b723d9
Chargement en cours
Chargement en cours
Chargement en cours
Chargement en cours
+3 −6
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -212,20 +212,17 @@ function saisies_lister_labels($contenu, $avec_conteneur = false) {
/**
 * A utiliser dans une fonction charger d'un formulaire CVT,
 * cette fonction renvoie le tableau de contexte correspondant
 * de la forme $contexte['nom_champ'] = ''.
 * de la forme $contexte['nom_champ'] = null (ou sa valeur par défaut si définie).
 *
 * @param array $contenu Le contenu d'un formulaire (un tableau de saisies)
 *
 * @return array Un tableau de contexte
 */
function saisies_charger_champs($contenu) {
	// array_fill_keys est disponible uniquement avec PHP >= 5.2.0
	// return array_fill_keys(saisies_lister_champs($contenu, false), '');
	$champs = array();
	foreach (saisies_lister_champs($contenu, false) as $champ) {
		$champs[$champ] = '';
	foreach(saisies_lister_par_nom($contenu, false) as $champ => $saisie) {
		$champs[$champ] = isset($saisie['options']['defaut']) ? $saisie['options']['defaut'] : null;
	}

	return $champs;
}

+1 −1
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
<paquet
	prefix="saisies"
	categorie="outil"
	version="2.26.8"
	version="2.26.9"
	etat="stable"
	compatibilite="[3.0.0;3.2.*]"
	logo="images/logo_saisie_48.png"