You are not logged in.
Bonjour à vous et merci beaucoup pour tous ces plug-in !
Contexte : GLPI 0.78.3 & plug-in 2.0.1-beta 1
voici mon petit souci avec le plug-in :
A l'installation, il n'y a aucun modèle. Pas de souci, comme indiqué, j'en crée un, je lui fournis le fichier (des utilisateurs), le charge, fais la correspondance entre les champs, valide le tout...
mais mais mais... lorsque je veux revenir à la liste de mes modèles, patatras ! plus rien... Ils ne s'affichent pas... Pourtant, ils sont bien présents en base (chose que j'ai pu vérifier via phpMyAdmin dans la table glpi_plugin_datainjection_models)...
Par contre, je ne retrouve plus ces modèles lorsque j'affiche la liste des modèles. La liste est vide. Et je suis connecté en super-admin (qui se trouve être le seul qui a tous les droits dans ma base, tel qu'indiqué dans la table glpi_plugin_datainjection_profiles.
Auriez vous une idée de le pourquoi de le comment ?
Cordialement,
Cordialement,
Guillaume
--
GLPI 0.78.3 en prod - Gentoo RPS II (Linux 2.6.32.2)
Offline
en mode debug il y a des erreurs ?
et dans les logs ?
Offline
Bonjour et merci pour la rapidité de la réponse.
En mode debug :
Voici la requête censée me retourner mes modèles :
SELECT `id`, `name`, `is_private`, `entities_id`, `is_recursive`, `itemtype`, `step`, `comment`
FROM `glpi_plugin_datainjection_models`
WHERE 1 AND`step` = '5' AND (`is_private` = '0' AND ( `glpi_plugin_datainjection_models`.`entities_id` = '0' ) ) OR (`is_private` = '1' AND `users_id` = '2')
ORDER BY `is_private` DESC, `entities_id`, name
Mes remarques/questions :
1. La clause `glpi_plugin_datainjection_models`.`entities_id` = '0' ne me semble pas correcte, car je suis sous l'entité racine (arborescence). Dans le cas spécifique de l'entité racine en mode arborescence, le plus simple serait de ne pas mettre la clause. Dans le cas d'un sous-entité avec elle même des sous-entités en mode arborescence, il faudrait sélectionner uniquement les entités mises en jeu.
2. Le positionnement des parenthèses des clauses ne me semble pas correcte par rapport à la distributivité des AND et des OR : si j'analyse la requête, j'ai d'un côté tous les modèles où (step=5 ET public ET entité=0) OU BIEN (privé et utilisateur=2). Est-ce que cela ne devrait pas être plutôt step = 5 ET ((public et entité=0) OU (privé ET utilisateur=2)) ?
3. Ensuite, étant donné qu'il peut y avoir des modèles non encore finalisés (en step <5), comment faire pour les retrouver et les "step-fiver" ?
Cordialement,
Cordialement,
Guillaume
--
GLPI 0.78.3 en prod - Gentoo RPS II (Linux 2.6.32.2)
Offline
2. Le positionnement des parenthèses des clauses ne me semble pas correcte par rapport à la distributivité des AND et des OR : si j'analyse la requête, j'ai d'un côté tous les modèles où (step=5 ET public ET entité=0) OU BIEN (privé et utilisateur=2). Est-ce que cela ne devrait pas être plutôt step = 5 ET ((public et entité=0) OU (privé ET utilisateur=2)) ?
je corrige légèrement ce point là, étant donné qu'en fait, on peut vouloir uniquement les modèles publics finalisés d'une entité ou bien les modèles privés non finalisés d'un utilisateur. Mais dans ce cas, que deviennent les modèles publics non finalisés ?
Cordialement,
Guillaume
--
GLPI 0.78.3 en prod - Gentoo RPS II (Linux 2.6.32.2)
Offline
Je viens de vérifier la requete générée par le moteur de recherche (Gestion des modèles) :
WHERE 1
AND (`is_private` = '0'
AND ( `glpi_plugin_datainjection_models`.`entities_id` = '335'
OR (`glpi_plugin_datainjection_models`.`is_recursive`='1' AND `glpi_plugin_datainjection_models`.`entities_id` IN ('0','303','68','1'))
)
)
OR (`is_private` = '1' AND `users_id` = '6')
Ce qui me semble correct....
Et je vois bien mon modèle en cours de création.
+
Dév. Fedora 29 - PHP 5.6/7.0/7.1/7.2/7.3/7.4 - MariaDB 10.3 - GLPI master
Certifié ITILv3 - RPM pour Fedora, RHEL et CentOS sur https://blog.remirepo.net/
Offline
Pour le "`step` = '5' " (choix du modèle pour injection), il y a effectivement un petit soucis de priorité.
Corrigé.
https://forge.indepnet.net/projects/dat … isions/569
Donc maintenant, on a
Moteur de recherche
WHERE ((`is_private` = '0'
AND ( `glpi_plugin_datainjection_models`.`entities_id` = '335'
OR (`glpi_plugin_datainjection_models`.`is_recursive`='1'
AND `glpi_plugin_datainjection_models`.`entities_id` IN ('0','303','68','1')) ) )
OR (`is_private` = '1' AND `users_id` = '6'))
Et pour la dropdown
WHERE `step` = '5'
AND ((`is_private` = '0'
AND ( `glpi_plugin_datainjection_models`.`entities_id` = '335'
OR (`glpi_plugin_datainjection_models`.`is_recursive`='1'
AND `glpi_plugin_datainjection_models`.`entities_id` IN ('0','303','68','1')) ) )
OR (`is_private` = '1' AND `users_id` = '6'))
à retester
Dév. Fedora 29 - PHP 5.6/7.0/7.1/7.2/7.3/7.4 - MariaDB 10.3 - GLPI master
Certifié ITILv3 - RPM pour Fedora, RHEL et CentOS sur https://blog.remirepo.net/
Offline
Bonjour et merci pour la réactivité !
désolé pour mon manque à moi de réactivité, mais j'étais en congés la semaine dernière.
à retester
je viens de mettre à jour le fichier et j'ai testé à nouveau, sans succès. En fait, maintenant, le problème semble se situer ailleurs :
En mode Debug, la requête est la suivante :
SELECT `id`, `name`, `is_private`, `entities_id`, `is_recursive`, `itemtype`, `step`, `comment`
FROM `glpi_plugin_datainjection_models`
WHERE ((`is_private` = '0' AND ( `glpi_plugin_datainjection_models`.`entities_id` = '38' OR (`glpi_plugin_datainjection_models`.`is_recursive`='1' AND `glpi_plugin_datainjection_models`.`entities_id` IN ('0')) ) ) OR (`is_private` = '1' AND `users_id` = '2'))
ORDER BY `is_private` DESC, `entities_id`, name
En l'exécutant, telle quelle, dans phpMyAdmin, elle me renvoie bien une ligne, celle correspondant à mon modèle. Donc, la requête est bonne. Toutefois, dans les listes affichée, dans GLPI, j'ai
Liste des modèles
Aucun modèle trouvé
que je me positionne dans l'entité racine ou bien dans l'entité pour laquelle je veux faire l'import des utilisateurs.
Cordialement,
Guillaume
--
GLPI 0.78.3 en prod - Gentoo RPS II (Linux 2.6.32.2)
Offline