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
Étiquettes v3.5.1
Aucune requête de fusion associée trouvée
...@@ -23,6 +23,12 @@ ...@@ -23,6 +23,12 @@
datas=#GET{statut}, datas=#GET{statut},
defaut=publie, defaut=publie,
cacher_option_intro=oui})] 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)]> </[(#VAL{ul}|saisie_balise_structure_formulaire)]>
[(#REM) ajouter les saisies supplementaires : extra et autre, a cet endroit ] [(#REM) ajouter les saisies supplementaires : extra et autre, a cet endroit ]
......
...@@ -19,17 +19,28 @@ function formulaires_exporter_formulaire_reponses_charger($id_formulaire = 0) { ...@@ -19,17 +19,28 @@ function formulaires_exporter_formulaire_reponses_charger($id_formulaire = 0) {
function formulaires_exporter_formulaire_reponses_verifier($id_formulaire = 0) { function formulaires_exporter_formulaire_reponses_verifier($id_formulaire = 0) {
$erreurs = array(); $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; return $erreurs;
} }
function formulaires_exporter_formulaire_reponses_traiter($id_formulaire = 0) { function formulaires_exporter_formulaire_reponses_traiter($id_formulaire = 0) {
$retours = array(); $retours = array();
$statut_reponses = _request('statut_reponses'); $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') { 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') { } 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) { if (!$ok) {
...@@ -45,7 +56,7 @@ function formulaires_exporter_formulaire_reponses_traiter($id_formulaire = 0) { ...@@ -45,7 +56,7 @@ function formulaires_exporter_formulaire_reponses_traiter($id_formulaire = 0) {
* @param integer $id_formulaire * @param integer $id_formulaire
* @return unknown_type * @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'); include_spip('inc/puce_statut');
// on ne fait des choses seulements si le formulaire existe et qu'il a des enregistrements // on ne fait des choses seulements si le formulaire existe et qu'il a des enregistrements
if ($id_formulaire > 0 if ($id_formulaire > 0
...@@ -54,6 +65,8 @@ function exporter_formulaires_reponses($id_formulaire, $delim = ',', $statut_rep ...@@ -54,6 +65,8 @@ function exporter_formulaires_reponses($id_formulaire, $delim = ',', $statut_rep
'*', '*',
'spip_formulaires_reponses', 'spip_formulaires_reponses',
'id_formulaire = ' . intval($id_formulaire) . ($statut_reponses == 'publie' ? ' and statut = "publie"' : '') '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('inc/saisies');
include_spip('facteur_fonctions'); include_spip('facteur_fonctions');
......
...@@ -90,6 +90,9 @@ $GLOBALS[$GLOBALS['idx_lang']] = array( ...@@ -90,6 +90,9 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
'erreur_importer_yaml' => 'Erreur durant l’importation du fichier YAML', 'erreur_importer_yaml' => 'Erreur durant l’importation du fichier YAML',
'erreur_inexistant' => 'Le formulaire n’existe pas.', 'erreur_inexistant' => 'Le formulaire n’existe pas.',
'erreur_unicite' => 'Cette valeur est déjà utilisée', '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_format_label' => 'Format du fichier',
'exporter_formulaire_statut_label' => 'Réponses', 'exporter_formulaire_statut_label' => 'Réponses',
......
<paquet <paquet
prefix="formidable" prefix="formidable"
categorie="communication" categorie="communication"
version="3.5.0" version="3.5.1"
etat="stable" etat="stable"
compatibilite="[3.0.0;3.2.*]" compatibilite="[3.0.0;3.2.*]"
logo="images/formidable-64.png" logo="images/formidable-64.png"
...@@ -38,7 +38,7 @@ ...@@ -38,7 +38,7 @@
<pipeline nom="corbeille_table_infos" inclure="formidable_pipelines.php" /> <pipeline nom="corbeille_table_infos" inclure="formidable_pipelines.php" />
<necessite nom="spip_bonux" compatibilite="[3.3.8;[" /> <necessite nom="spip_bonux" compatibilite="[3.3.8;[" />
<necessite nom="saisies" compatibilite="[2.18.10;[" /> <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="yaml" compatibilite="[1.5.2;[" />
<necessite nom="facteur" compatibilite="[3.4.7;[" /> <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