Closed EC2311 closed 3 years ago
Bonjour
Il y a un ticket concernant ce besoin pour le plugin Generic Object (il y a probablemetn plus d'un an maintenant). J'ai eu un peu de temps pour faire des investigations qui sont partagées dans ledit ticket. Je me souviens que Generic Object a besoin d'améliorations pour être interopérable avec Fotrmcreator.
Cela pourrait ête plus facile à réaliser avec des plugins plus simples. Dans tous les cas il faut définir comment l'API de GLPI peut nous aider et compléter les éventuelles fonctions manquantes en contribuant dans GLPI ou en définisant une API dédiée dans Formcreator que d'autres plugins consommeront.
Vous parlez de Generic objet : ok. De mon cote je parlais par exemple des plugin database ou web-application etc pour lesquels on pourrait poser des questions sur les databases ou web-applications que l'on a pu enregistrées en les utilisant. Faut-il aussi que leur createur intervienne ?
Bonjour,
Il est probable qu'il faille apporter des modifications à ces plugins. Je ne pourrai être affirmatif qu'après avoir fait une étude de faisabilité sur Formcreator et les plugins concernés.
Si il faut modifier les autres plugins, tout contributeur peut soumettre des modifications. Les mainteneurs sont requis au minimum pour faire une revue de code.
Bonjour j'ai regardé le fonctionnement de formcreator. A priori il faudrait creer une classe dans le repertoire INC/Fields, un peu comme 'objet glpi' et 'glpiselectfield.class'. je connais les tables que j'aimerais lister pour les différents plugins (database, web-application etc...) mais je ne vois pas comment les lire :( dans le php, ni comment coder cela... Comment sont listés les tables 'objetGLPI' qui sont présentées dans le formulaire ? d'avance merci
Bonjour
j'ai fait un rapide coup d'oeil aux deux plugins qui vous intéressent.
Ils créent deux assets tout à fait normaux, liables à des tickets quand on configure les profils utilsiateur correctement.
(profil > onglet Assistance)
Ca fait partie de ce que j'ai collecté comme renseignemetns pour faore fonctioner Formcreator et Generic Object.
La liste des assets liables à un ticket est dans $CFG_GLPI['ticket_types']. Je pense donc qu'il faut exploiter cette liste (un array) pour étoffer les assets utilsiable dans le champ de type Objet GLPI
Dans PluginFormcreatorQuestion::showForm() il y a un array définissant les types pris en charge par un champ de type Objet GLPI. Il faut composer cette array avec le contenu de $CFG_GLPI['ticket_types'], et la majorité du travail sera fait, peut être que ce sera même suffisant.
EDIT: de nouveaux assets sont entrés dans GLPI depuis ces 2 dernioères années, c'est l'occasion de les prendre en charge dans Formcreator dans la même PR : ça ne devrait couter que zéro ligne de code supplémentaire.
Merci pour votre reponse. Je ne connais pas du tout le php... j'ai recherché la chaine de caractere pluginFormCreatorQuestion::showform dans le repertoire formcreator : aucun resultat. La chains pluginformcreatorquestion : 86 hits, et showform : 16.
C'est bon j'ai trouvé il suffit en effet d'ajouter les lignes ci-dessous en ligne 735 du script inc/question.class.php
ceci dit, le plugin appliances fait une erreur , d'ou le commentaiare sur la ligne.
__("Plugins") => [
PluginDatabasesDatabase::class => PluginDatabasesDatabase::getTypeName(2),
/ PluginAppliancesApppliance::class => PluginAppliancesApppliance::getTypeName(2), / PluginWebapplicationsWebapplication::class => PluginWebapplicationsWebapplication::getTypeName(2)],
Bonjour,
oui c'est une solution mais si les autres plugins ne sont pas installés Formcreator va planter. Il est facile d'avoir un mécanisme pour vérifier la présence d'un autre plugin. Mais il faut faire quelque chose de plus souple, idéalement qui ne se base pas sur la détection d'un plugin ou une liste arbitraire. Il faut retrouver les itemtypes apportés par les autres plugins dans les variables de GLPI (et seulment les itemtypes pertinents)
__("Plugins") => [
PluginDatabasesDatabase::class => PluginDatabasesDatabase::getTypeName(2),
PluginAppliancesAppliance::class => PluginAppliancesAppliance::getTypeName(2),
PluginWebapplicationsWebapplication::class => PluginWebapplicationsWebapplication::getTypeName(2)],
j'avais mis un 'p' en trop
Par contre ne connaissant pas du tout le php : je vais avoir du mal ! Je comprends tout a fait votre remarque, pas de souci...
Je sais que ce sera dificile d'arrvier à quelque chose sans connaitre php. C'est l'occasion d'apprendre mais la barre va être un peu élevée car vous devrez aussi apprendre des choses sur GLPI, Formcreator et les plugins en general.
Soit vous persévérez, soit vous déléguez. l'un vous donne l'autuonomie et peut vous transformer en contributeur, l'autre est plus rapide.
Bonjour , SVP ace que vous savez s'il est possible d'effectuer des traitements(validation ) sur les formulaires glpi en modifiant le code source php?
Bonjour
Tout dépend de ce que vois voulez implémenter. C'est impossible de répondre sans savoir ce que vous voulez réaliser.
Bonjour, Je vous bien rendre quelques champs de formulaire (dropdown) obligatoires, d'une façon que le formulaire ne se valide pas si la liste de ce champ est vide.
Bonjour
Votre demande n'est pas en lien avec ce ticket.
Vous pouvez rendre un champ dropdown obligatoire. Voyez la documentation du plugin. Un lien vers cette documentation est dans README.md sur la branche develop. Bien que pas tout à fait à jour, vous devriez y trouverez votre réponse. Sinon, ouvrez un ticket sur le projet github de la documentation ou ici.
Je vous remercie pour votre retour :)
Pourquoi ne pas présenter les champs/valeurs des plugins supplémentaires en tant qu'objet GLPI ?