Hello, J'avais plus ou moins la même requête pour les recherches avancées et notamment dans les recherches libres avec les dates. Hormis le RGPD, j'ai également les renouvellements de vaccins obligatoires (club canin) ou les certificats médicaux. Actuellement, j'exporte tout et je filtre avec Open Office par exemple. Tu avais déjà posé la même question en décembre 2023 (le 24 ;)) Bon! je n'ai pas répondu à ta question et j'avais également fait d'autres demandes dans le passé La recherche libre est une fonction expérimentale : - Anomalie #1473 <https://bugs.galette.eu/issues/1473> - recherche champ booléen - Souhaits #1464 <https://bugs.galette.eu/issues/1464> - recherche avec date ou encore Souhaits #1485 <https://bugs.galette.eu/issues/1485> - recherche si présence fichier téléchargé Le lun. 22 juil. 2024 à 07:50, Contact CID Auditeur < contact@cid-auditeur.com> a écrit :
Bonjour à tous,
Je relance ce sujet assez important pour l'assoc dont j'ai la charge en tant que webmaster et dans le cadre du respect du RGPD "Droit à l'oubli". J'ai un champs dynamique concernant la démission de l'assoc, et au bout d'un an je dois détruire les fiches membres concernées. Celui-ci était analysé par une requête de recherche avancée et produisait une liste de membres à détruire.
Cela ne concerne donc que la *recherche avancée libre sur un champs de dates* (coeur ou dynamique).
Au départ il propose bien :
Il *comprends bien que l'on travaille sur des dates*, suite à l'entrée d'une date et lancement, le résultat est vierge.
Requête produite au départ : SELECT DISTINCT `a`.*, `status`.`priorite_statut` AS `priorite_statut` FROM `oitar_adherents` AS `a` LEFT JOIN `oitar_socials` AS `so` ON `a`.`id_adh`=`so`.`id_adh` LEFT JOIN `oitar_adherents` AS `parent` ON `a`.`parent_id`=`parent`.`id_adh` INNER JOIN `oitar_statuts` AS `status` ON `a`.`id_statut`=`status`.`id_statut` LEFT JOIN (SELECT `df`.`item_id` AS `item_id`, `df`.`field_val` AS `val` FROM `oitar_dynamic_fields` AS `df` WHERE `df`.`field_form` = 'adh' AND `df`.`field_id` = '36') AS `df36` ON `a`.`id_adh` = `df36`.`item_id` WHERE a.activite_adh=true *AND STR_TO_DATE(df36.val, '%d/%m/%Y') < STR_TO_DATE('2023-06-01', '%d/%m/%Y')* ORDER BY `nom_adh` ASC, `prenom_adh` ASC LIMIT 100 OFFSET 0
Si on demande la modification des critères alors il présente cela :
Il a *perdu la notion de Avant - Après*.
Dans les *versions antérieures 0.9.x cela marchait très bien*, je l'utilisais très très souvent (et j'avais même des requêtes enregistrées).
*PRECISIONS *: si on fait la même chose avec le *champs du coeur Date de naissance*, dans cette *recherche libre* :
Ca marche, il y a un résultat, mais il perd aussi cette notion *Avant - Après *à la modification des critères, avec une proposition d'analyse comme la copie d'écran N°2.
Requête produite au départ : SELECT DISTINCT `a`.*, `status`.`priorite_statut` AS `priorite_statut` FROM `oitar_adherents` AS `a` LEFT JOIN `oitar_socials` AS `so` ON `a`.`id_adh`=`so`.`id_adh` LEFT JOIN `oitar_adherents` AS `parent` ON `a`.`parent_id`=`parent`.`id_adh` INNER JOIN `oitar_statuts` AS `status` ON `a`.`id_statut`=`status`.`id_statut` WHERE a.activite_adh=true AND *a.ddn_adh< '2023-06-01'* ORDER BY `nom_adh` ASC, `prenom_adh` ASC LIMIT 100 OFFSET 0
Requête produite si modif : SELECT DISTINCT `a`.*, `status`.`priorite_statut` AS `priorite_statut` FROM `oitar_adherents` AS `a` LEFT JOIN `oitar_socials` AS `so` ON `a`.`id_adh`=`so`.`id_adh` LEFT JOIN `oitar_adherents` AS `parent` ON `a`.`parent_id`=`parent`.`id_adh` INNER JOIN `oitar_statuts` AS `status` ON `a`.`id_statut`=`status`.`id_statut` WHERE a.activite_adh=true AND *LOWER(a.ddn_adh) = '2023-06-01'* ORDER BY `nom_adh` ASC, `prenom_adh` ASC LIMIT 100 OFFSET 0 Si vous avez des idées, c'est une fonction importante et hyper utile sur des champs de type date.
Cordialement,
GEORGES *BEYNA*
_______________________________________________ Galette-users mailing list -- galette-users@mailman3.com To unsubscribe send an email to galette-users-leave@mailman3.com