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-le...@mailman3.com