You are not logged in.

Announcement

 Téléchargez la dernière version stable de GLPI      -     Et vous, que pouvez vous faire pour le projet GLPI ? :  Contribuer
 Download last stable version of GLPI                      -     What can you do for GLPI ? :  Contribute

#1 2019-10-11 22:12:17

SilentBob999
Member
Registered: 2019-05-25
Posts: 12

Bug traduction - Intitulé - Catégories de ticket

Bonjour,
Nous avions un bug pour lequel nous nous somme casser la tête. Les intitulés, catégorie de ticket ou lieux disparaissait dès que nous faisions une traduction. Nous avons finalement réussi à en trouver la cause.


Pour reproduire le problème, vous devez :
1- Modifier les éléments à afficher pour que les "Catégories de billets" affichent "Nom complet" ET "Nom"
2- Créez une traduction pour l'un des éléments.

Si la langue de la traduction est la même que celle configurée pour l'utilisateur. Tous les éléments de la liste disparaissent (ex. aucune catégorie de ticket ne s'affiche). Si l'utilisateur change de langue pour une autre pour laquelle il n'y a pas de traduction. Les catégories reviennent.
Le débogage montre qu'il existe un doublon ALIAS. glpi_itilcategories_trans est déclaré deux fois en tant qu'alias car il y a deux « LEFT JOIN » (une pour le nom complet et une pour le nom).
Voici par exemple le résultat en ce qui concerne la page "/front/itilcategory.php" :

SELECT DISTINCT `glpi_itilcategories`.`id` AS id, '*****' AS currentuser, `glpi_itilcategories`.`entities_id`, `glpi_itilcategories`.`is_recursive`, `glpi_itilcategories`.`completename` AS `ITEM_ITILCategory_1`, `glpi_itilcategories`.`id` AS `ITEM_ITILCategory_1_id`, `glpi_entities`.`completename` AS `ITEM_ITILCategory_80`, `glpi_itilcategories`.`name` AS `ITEM_ITILCategory_14`, `glpi_itilcategories`.`id` AS `ITEM_ITILCategory_14_id`
FROM `glpi_itilcategories`
LEFT JOIN `glpi_dropdowntranslations` AS `glpi_itilcategories_trans` ON (`glpi_itilcategories_trans`.`itemtype` = 'ITILCategory' AND `glpi_itilcategories_trans`.`items_id` = `glpi_itilcategories`.`id` AND `glpi_itilcategories_trans`.`language` = 'fr_FR' AND `glpi_itilcategories_trans`.`field` = 'completename')
LEFT JOIN `glpi_entities` ON (`glpi_itilcategories`.`entities_id` = `glpi_entities`.`id` )
LEFT JOIN `glpi_dropdowntranslations` AS `glpi_itilcategories_trans` ON (`glpi_itilcategories_trans`.`itemtype` = 'ITILCategory' AND `glpi_itilcategories_trans`.`items_id` = `glpi_itilcategories`.`id` AND `glpi_itilcategories_trans`.`language` = 'fr_FR' AND `glpi_itilcategories_trans`.`field` = 'name')
WHERE ( `glpi_itilcategories`.`entities_id` IN ('1') OR (`glpi_itilcategories`.`is_recursive`='1' AND `glpi_itilcategories`.`entities_id` IN ('0')) )
ORDER BY ITEM_ITILCategory_1 ASC LIMIT 0, 50

En ce qui nous concerne, une fois qu’on a trouvé la raison du problème, notre solution fût bien sûr de changer les vus pour ne pas affiché en même temps les noms et noms complets.

J’aimerais bien corriger le search.class.php mais c’est un peu trop complexe pour nous.

Merci,


EDIT: anglais -> français

Last edited by SilentBob999 (2019-10-15 15:49:51)

Offline

Board footer

Powered by FluxBB