|
|
|
@ -246,9 +246,11 @@ function formulaires_construire_formulaire_verifier($identifiant, $formulaire_in
|
|
|
|
|
'options' => array(
|
|
|
|
|
'nom' => "saisie_modifiee_${nom}[verifier][type]",
|
|
|
|
|
'label' => _T('saisies:construire_verifications_label'),
|
|
|
|
|
'option_intro' => _T('saisies:construire_verifications_aucune'),
|
|
|
|
|
'cacher_option_intro' => True,
|
|
|
|
|
'conteneur_class' => 'liste_verifications',
|
|
|
|
|
'data' => array()
|
|
|
|
|
'data' => array(),
|
|
|
|
|
'class' => 'select2',
|
|
|
|
|
'multiple' => true
|
|
|
|
|
)
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
@ -261,7 +263,8 @@ function formulaires_construire_formulaire_verifier($identifiant, $formulaire_in
|
|
|
|
|
'options' => array(
|
|
|
|
|
'nom' => 'options',
|
|
|
|
|
'label' => $verif['titre'],
|
|
|
|
|
'conteneur_class' => "$type_verif options_verifier"
|
|
|
|
|
'conteneur_class' => "$type_verif options_verifier",
|
|
|
|
|
'afficher_si' => "@saisie_modifiee_${nom}[verifier][type]@ IN '$type_verif'"
|
|
|
|
|
),
|
|
|
|
|
'saisies' => $verif['options']
|
|
|
|
|
);
|
|
|
|
@ -302,13 +305,9 @@ function formulaires_construire_formulaire_verifier($identifiant, $formulaire_in
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// On regarde s'il a été demandé un type de vérif
|
|
|
|
|
if (isset($saisie_modifiee['verifier']['type'])
|
|
|
|
|
and (($type_verif = $saisie_modifiee['verifier']['type']) != '')
|
|
|
|
|
and $verif_options[$type_verif]) {
|
|
|
|
|
// On ne vérifie que les options du type demandé
|
|
|
|
|
$vraies_erreurs = array_merge($vraies_erreurs, saisies_verifier($verif_options[$type_verif]['saisies']));
|
|
|
|
|
}
|
|
|
|
|
// On regarde s'il a été demandé des vérifs, et on vérifie les options des vérif (!)
|
|
|
|
|
// Note : les options de verif sont en afficher_si, donc ne sont vérifié que celles des vérifs choisies.
|
|
|
|
|
$vraies_erreurs = array_merge($vraies_erreurs, saisies_verifier($verif_options));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// On insère chaque saisie des options de verification
|
|
|
|
@ -426,12 +425,15 @@ function formulaires_construire_formulaire_traiter($identifiant, $formulaire_ini
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// On regarde s'il y a des options de vérification à modifier
|
|
|
|
|
if (isset($saisie_modifiee['verifier']['type'])
|
|
|
|
|
and ($type_verif = $saisie_modifiee['verifier']['type']) != '') {
|
|
|
|
|
$saisie_modifiee['verifier'] = array(
|
|
|
|
|
'type' => $type_verif,
|
|
|
|
|
'options' => $saisie_modifiee['verifier'][$type_verif]
|
|
|
|
|
);
|
|
|
|
|
if (isset($saisie_modifiee['verifier']['type'])) {
|
|
|
|
|
$verifier_format_api = [];
|
|
|
|
|
foreach ($saisie_modifiee['verifier']['type'] as $type_verif) {
|
|
|
|
|
$verifier_format_api[] = [
|
|
|
|
|
'type' => $type_verif,
|
|
|
|
|
'options' => $saisie_modifiee['verifier'][$type_verif] ?? []
|
|
|
|
|
];
|
|
|
|
|
}
|
|
|
|
|
$saisie_modifiee['verifier'] = $verifier_format_api;
|
|
|
|
|
} else {
|
|
|
|
|
unset($saisie_modifiee['verifier']);
|
|
|
|
|
}
|
|
|
|
@ -480,7 +482,7 @@ function construire_formulaire_transformer_nom(&$valeur, $cle, $transformation)
|
|
|
|
|
// Applique une transformation à la valeur de tous les champs "afficher_si" d'un formulaire, y compris loin dans l'arbo
|
|
|
|
|
function construire_formulaire_transformer_afficher_si(&$valeur, $cle, $transformation) {
|
|
|
|
|
if ($cle == 'afficher_si' and is_string($valeur)) {
|
|
|
|
|
$valeur = preg_replace("#@((?!config:)(?!plugin).*)@#U", '@'.$transformation.'[${1}]@', $valeur);
|
|
|
|
|
$valeur = preg_replace("#@((?!saisie_modifiee)(?!config:)(?!plugin).*)@#U", '@'.$transformation.'[${1}]@', $valeur);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -612,11 +614,27 @@ function construire_formulaire_generer_saisie_configurable(array $saisie, array
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
$env2["saisie_modifiee_$nom"] = $env2['_saisies_par_nom'][$nom];
|
|
|
|
|
// il n'y a pas toujours de verification...
|
|
|
|
|
if (isset($env2["saisie_modifiee_$nom"]['verifier']) and isset($env2["saisie_modifiee_$nom"]['verifier']['type'])) {
|
|
|
|
|
$env2["saisie_modifiee_$nom"]['verifier'][ $env2["saisie_modifiee_$nom"]['verifier']['type'] ]
|
|
|
|
|
= $env2["saisie_modifiee_$nom"]['verifier']['options'] ?? [];
|
|
|
|
|
|
|
|
|
|
// Support de l'ancien format avec une seule saisie
|
|
|
|
|
if (isset($env2["saisie_modifiee_$nom"]['verifier']['type'])) {
|
|
|
|
|
$env2["saisie_modifiee_$nom"]['verifier'] = [
|
|
|
|
|
[
|
|
|
|
|
'type' => $env2["saisie_modifiee_$nom"]['verifier']['type'],
|
|
|
|
|
'options' => $env2["saisie_modifiee_$nom"]['verifier']['options'] ?? []
|
|
|
|
|
]
|
|
|
|
|
];
|
|
|
|
|
}
|
|
|
|
|
// Puis convertir le tableau depuis le format API vers le format constructeur
|
|
|
|
|
$verif_format_constructeur = ['type' => []];
|
|
|
|
|
foreach ($env2["saisie_modifiee_$nom"]['verifier'] ?? [] as $verif) {
|
|
|
|
|
$verif_format_constructeur['type'][] = $verif['type'];
|
|
|
|
|
$verif_format_constructeur[$verif['type']] = [];
|
|
|
|
|
$options_verif = $verif['options'] ?? [];
|
|
|
|
|
foreach ($options_verif as $option_verif => $valeur_option_verif) {
|
|
|
|
|
$verif_format_constructeur[$verif['type']][$option_verif] = $valeur_option_verif;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
$env2["saisie_modifiee_$nom"]['verifier'] = $verif_format_constructeur;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$env2['fond_generer'] = 'inclure/generer_saisies';
|
|
|
|
|