[Corrigé 3.1.48] Recherche de Ticket ne retourne rien

Vous avez trouvé un bug dans l'application (dernière version stable ou bêta): Décrivez le ici afin que la correction soit intégrée a la prochaine version.
Répondre
raphmax
Gsup LEVEL 0
Messages : 5
Enregistré le : jeu. 28 nov. 2019 17:03

Bonjour,

Je vous contacte car je rencontre un bug lors de la recherche de ticket via la barre supérieure. Peu importe ce que je recherche, je ne trouve rien.

Pour info, nous étions en 3.0.10 depuis trop longtemps, j'ai donc upgradé vers 3.0.11, puis le gap vers 3.1.35 puis tous les patchs un à un jusqu'en 3.1.44.

Et depuis la recherche semble HS.

J'ai tenté de jouer la requête du mode debug : 0 résultat.
En enlevant toutes les jointures des tables : tstates, tthreads, tsubcat, tcategory, tassets (et champs associés dans la requête), la recherche retourne les résultats escomptés.

Il doit donc y avoir une jointure qui ne passe pas et casse la requête.

Pourriez-vous m'aider ?

Merci beaucoup par avance.

Bien cordialement,

Raphael
Avatar du membre
Flox
Administrateur du site
Messages : 9040
Enregistré le : jeu. 21 juin 2012 19:00

Bonjour,

pouvez-vous reproduire le problème sur la webdemo ?

Si vous n'y arrivez pas merci de passer temporairement en mode debug et faire un impression écran après une recherche infructueuse.

Cdt
GestSup: 3.2.47 | Debian: 12 | Apache: 2.4.58 | MariaDB: 11.3.2 | PHP: 8.3.6 | https://doc.gestsup.fr/
raphmax
Gsup LEVEL 0
Messages : 5
Enregistré le : jeu. 28 nov. 2019 17:03

Bonjour,

Sur le site de demo cela fonctionne.

J'ai monté un site de DEV iso à celui de PROD pour tester.

J'ai créé un ticket contenant "jambon" dans le titre :)

Lorsque je fais une recherche dans la colonne c'est ok, avec la query suivante :

DEBUG MODE:
SELECT DISTINCT tincidents.id, tincidents.type, tincidents.technician, tincidents.t_group, tincidents.title, tincidents.user, tincidents.u_group, tincidents.u_service, tincidents.u_agency, tincidents.sender_service, tincidents.techread_date, tincidents.date_create, tincidents.date_hope, tincidents.date_res, tincidents.state, tincidents.priority, tincidents.criticality, tincidents.category, tincidents.subcat, tincidents.techread, tincidents.place, tincidents.asset_id
FROM tincidents
LEFT JOIN tstates ON tincidents.state=tstates.id
WHERE
tincidents.disable='0' AND
tincidents.sender_service LIKE '%' AND
tincidents.u_group LIKE '%' AND
tincidents.t_group LIKE '%' AND
tincidents.techread LIKE '%' AND
tincidents.category LIKE '%' AND
tincidents.subcat LIKE '%' AND
tincidents.asset_id LIKE '%' AND
tincidents.id LIKE '%' AND
tincidents.user LIKE '%' AND
tincidents.date_hope LIKE '%' AND
tincidents.priority LIKE '%' AND
tincidents.criticality LIKE '%' AND
tincidents.type LIKE '%' AND
tincidents.title LIKE '%jambon%' AND
tincidents.state LIKE '%' AND
tincidents.user LIKE '%' AND
tincidents.technician LIKE '%' AND
tincidents.place LIKE '%' AND
tincidents.date_create LIKE '%%' AND
tincidents.date_res LIKE '%%'
ORDER BY tstates.number,tincidents.priority,tincidents.criticality,tincidents.date_create DESC
LIMIT 0,50
VAR: POST_keywords= GET_keywords='' | POST_state=% GET_state=% state=AND tincidents.state LIKE '%' | POST_date_create=% GET_date_create=% | cnt_service= | GET_view= | POST_date_start= | POST_date_end= | cnt_agency=


Lorsque je fais une recherche du mot dans la barre de recherche générale, le mode debug sort cette requete, mais qui ne retourne aucun résultat :

DEBUG MODE:
SELECT DISTINCT tincidents.id, tincidents.type, tincidents.technician, tincidents.t_group, tincidents.title, tincidents.user, tincidents.u_group, tincidents.u_service, tincidents.u_agency, tincidents.sender_service, tincidents.date_create, tincidents.date_hope, tincidents.date_res, tincidents.state, tincidents.priority, tincidents.criticality, tincidents.category, tincidents.subcat, tincidents.techread, tincidents.place, tincidents.asset_id
FROM tincidents, tstates, tthreads, tsubcat, tcategory, tassets
WHERE
tincidents.state=tstates.id AND
tincidents.id=tthreads.ticket AND
tincidents.subcat=tsubcat.id AND
tincidents.category=tcategory.id AND
tincidents.asset_id=tassets.id AND
( tincidents.title LIKE '%jambon%' OR
tincidents.description LIKE '%jambon%' OR
tthreads.text LIKE '%jambon%' OR
tsubcat.name LIKE 'jambon' OR
tassets.netbios LIKE 'jambon' OR
tcategory.name LIKE 'jambon' OR
tincidents.id = 'jambon' OR
tincidents.user LIKE (SELECT max(id) FROM tusers where (firstname LIKE '%jambon%' OR
lastname LIKE '%jambon%') AND
disable=0) ) AND
( tincidents.user LIKE '%' AND
tincidents.disable='0' AND
tincidents.u_group LIKE '%' AND
tincidents.technician LIKE '%' AND
tincidents.t_group LIKE '%' AND
tincidents.techread LIKE '%' AND
tincidents.category LIKE '%' AND
tincidents.subcat LIKE '%' AND
tincidents.id LIKE '%' AND
tincidents.user LIKE '%' AND
tincidents.date_hope LIKE '%' AND
tincidents.priority LIKE '%' AND
tincidents.criticality LIKE '%' AND
tincidents.type LIKE '%' AND
tincidents.title LIKE '%' ) AND
tincidents.disable='0'
ORDER BY tstates.number,tincidents.priority,tincidents.criticality,tincidents.date_create DESC
LIMIT 0,50
VAR: POST_keywords=jambon GET_keywords='' | POST_state=% GET_state=% state= | POST_date_create=% GET_date_create= | cnt_service= | GET_view= | POST_date_start= | POST_date_end= | cnt_agency=

Au passage, l'info indique : Aucun ticket trouvé pour la recherche: ''
On voit que le mot n'est pas dispo entre les quotes.

Ci-joint les screens de la recherche globale, et celui de la recherche via l'input de la colonne.

En esperant que cela aidera :)

Merci d'avance :)
Fichiers joints
Recherche Globale
Recherche Globale
RechercheGlobale.jpg (254.25 Kio) Vu 4296 fois
Recherche Colonne
Recherche Colonne
RechercheColonne.jpg (238.29 Kio) Vu 4296 fois
Avatar du membre
Flox
Administrateur du site
Messages : 9040
Enregistré le : jeu. 21 juin 2012 19:00

Bonjour,

pouvez-vous essayer sur votre serveur de préproduction de passer en dernière version beta 3.1.47 et de refaire un test.

Si le test échoue et que le problème n'est pas reproductible sur la webdemo, la récupération de votre base de données en MP me serait nécessaire pour isoler le défaut.

Cdt
GestSup: 3.2.47 | Debian: 12 | Apache: 2.4.58 | MariaDB: 11.3.2 | PHP: 8.3.6 | https://doc.gestsup.fr/
raphmax
Gsup LEVEL 0
Messages : 5
Enregistré le : jeu. 28 nov. 2019 17:03

Bonjour,

Je suis déjà sur la dernière version beta 3.1.47 ...

MP envoyé :)

Merci ;)
Avatar du membre
Flox
Administrateur du site
Messages : 9040
Enregistré le : jeu. 21 juin 2012 19:00

A priori un conflit avec la fonction équipement, je n'ai pas encore chercher la source mais pour corriger le pb passer la requête suivante :

Code : Tout sélectionner

UPDATE `tassets` SET `id` = '0' WHERE `tassets`.`id` = 1;
GestSup: 3.2.47 | Debian: 12 | Apache: 2.4.58 | MariaDB: 11.3.2 | PHP: 8.3.6 | https://doc.gestsup.fr/
raphmax
Gsup LEVEL 0
Messages : 5
Enregistré le : jeu. 28 nov. 2019 17:03

Effectivement après avoir passé l'update ca fonctionne sur la DEV :)
Je le passe sur la PROD.
Pour info, nous n'utilisons pas les gestion des équipements. Peut être une piste ?
Merci en tout cas pour la résolution rapide ;)
Avatar du membre
Flox
Administrateur du site
Messages : 9040
Enregistré le : jeu. 21 juin 2012 19:00

Il s'agit d'un bug uniquement sur les anciennes installation, corrigé dans la prochaine version 3.1.48 ou via la requête transmise.
GestSup: 3.2.47 | Debian: 12 | Apache: 2.4.58 | MariaDB: 11.3.2 | PHP: 8.3.6 | https://doc.gestsup.fr/
raphmax
Gsup LEVEL 0
Messages : 5
Enregistré le : jeu. 28 nov. 2019 17:03

Super alors :)
Merci encore ;)
Répondre