Skip to content
Extraits de code Groupes Projets
Valider 68b33075 rédigé par prigent.yohann@gmail.com's avatar prigent.yohann@gmail.com
Parcourir les fichiers

Une nouvelle fonctionnalité pour Formidable : pouvoir filtre par date lors d’un export de réponses

parent b66785ac
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -23,6 +23,12 @@
datas=#GET{statut},
defaut=publie,
cacher_option_intro=oui})]
[(#SAISIE{date, date_debut,
label=<:formidable:exporter_formulaire_date_debut_label:>
})]
[(#SAISIE{date, date_fin,
label=<:formidable:exporter_formulaire_date_fin_label:>
})]
</[(#VAL{ul}|saisie_balise_structure_formulaire)]>
[(#REM) ajouter les saisies supplementaires : extra et autre, a cet endroit ]
......
......@@ -19,17 +19,28 @@ function formulaires_exporter_formulaire_reponses_charger($id_formulaire = 0) {
function formulaires_exporter_formulaire_reponses_verifier($id_formulaire = 0) {
$erreurs = array();
if (_request('date_debut') && _request('date_fin')) {
// Vérifions que la date debut soit < date de fin
if (strtotime(str_replace('/', '-', _request('date_debut'))) > strtotime(str_replace('/', '-', _request('date_fin')))) {
$erreurs['message_erreur'] = _T('formidable:exporter_formulaire_date_erreur');
}
}
return $erreurs;
}
function formulaires_exporter_formulaire_reponses_traiter($id_formulaire = 0) {
$retours = array();
$statut_reponses = _request('statut_reponses');
// Normaliser la date
$verifier = charger_fonction('verifier', 'inc/');
$date_debut = _request('date_debut') ? $verifier(_request('date_debut'), 'date', array('normaliser' => 'datetime')) : false;
$date_fin = _request('date_fin') ? $verifier(_request('date_fin'), 'date', array('normaliser' => 'datetime')) : false;
if (_request('type_export') == 'csv') {
$ok = exporter_formulaires_reponses($id_formulaire, ',', $statut_reponses);
$ok = exporter_formulaires_reponses($id_formulaire, ',', $statut_reponses, $date_debut, $date_fin);
} elseif (_request('type_export') == 'xls') {
$ok = exporter_formulaires_reponses($id_formulaire, 'TAB', $statut_reponses);
$ok = exporter_formulaires_reponses($id_formulaire, 'TAB', $statut_reponses, $date_debut, $date_fin);
}
if (!$ok) {
......@@ -45,7 +56,7 @@ function formulaires_exporter_formulaire_reponses_traiter($id_formulaire = 0) {
* @param integer $id_formulaire
* @return unknown_type
*/
function exporter_formulaires_reponses($id_formulaire, $delim = ',', $statut_reponses = 'publie') {
function exporter_formulaires_reponses($id_formulaire, $delim = ',', $statut_reponses = 'publie', $date_debut = false, $date_fin = false) {
include_spip('inc/puce_statut');
// on ne fait des choses seulements si le formulaire existe et qu'il a des enregistrements
if ($id_formulaire > 0
......@@ -54,6 +65,8 @@ function exporter_formulaires_reponses($id_formulaire, $delim = ',', $statut_rep
'*',
'spip_formulaires_reponses',
'id_formulaire = ' . intval($id_formulaire) . ($statut_reponses == 'publie' ? ' and statut = "publie"' : '')
. ($date_debut ? ' and date >= "'. $date_debut. '"' : '')
. ($date_fin ? ' and date <= "'.$date_fin.'"' : '')
)) {
include_spip('inc/saisies');
include_spip('facteur_fonctions');
......
......@@ -90,6 +90,9 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
'erreur_importer_yaml' => 'Erreur durant l’importation du fichier YAML',
'erreur_inexistant' => 'Le formulaire n’existe pas.',
'erreur_unicite' => 'Cette valeur est déjà utilisée',
'exporter_formulaire_date_debut_label' => 'A partir de',
'exporter_formulaire_date_fin_label' => 'Jusqu\'au',
'exporter_formulaire_date_erreur' => 'La date de fin doit être inférieure à la date de début',
'exporter_formulaire_format_label' => 'Format du fichier',
'exporter_formulaire_statut_label' => 'Réponses',
......
<paquet
prefix="formidable"
categorie="communication"
version="3.5.0"
version="3.5.1"
etat="stable"
compatibilite="[3.0.0;3.2.*]"
logo="images/formidable-64.png"
......@@ -38,7 +38,7 @@
<pipeline nom="corbeille_table_infos" inclure="formidable_pipelines.php" />
<necessite nom="spip_bonux" compatibilite="[3.3.8;[" />
<necessite nom="saisies" compatibilite="[2.18.10;[" />
<necessite nom="verifier" compatibilite="[1.6.2;[" />
<necessite nom="verifier" compatibilite="[1.6.6;[" />
<necessite nom="yaml" compatibilite="[1.5.2;[" />
<necessite nom="facteur" compatibilite="[3.4.7;[" />
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter