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 2023-10-04 20:08:16

mrvls
Member
Registered: 2020-10-03
Posts: 18

Valider un formulaire

Bonjour à tous,

je cherche simplement à valider un formulaire via requête API (ou créer le formulaire déjà validé tant que ça engendre bien la création du compte comme c'est le cas graphiquement).

voici ma requête PowerShell pour créer le formulaire (qui reste bloqué en validation donc) :

$json = @{
    input = @{
        "plugin_formcreator_forms_id"=6
        "formcreator_field_158"="val_test3"
        "requester_id"=3775
        "users_id_validator"=3775
    }
} | ConvertTo-Json -Depth 4

$PluginFormcreatorFormAnswer_new = Invoke-RestMethod "$($AppURL)/PluginFormcreatorFormAnswer" -Headers @{"session-token"=$SessionToken.session_token;"App-Token" = $glpi_appToken.GetNetworkCredential().Password} -ContentType "application/json" -Method POST -Body ([System.Text.Encoding]::UTF8.GetBytes($json))

j'ai à peu près tout essayé de ce qui se trouve sur ce forum, et pour le moment je n'ose pas ouvrir un sujet sur le github du plugin car ça n'a pas l'air dédié aux questions.

j'attaque ces URL :
"/PluginFormcreatorFormAnswer"
"/PluginFormcreatorFormAnswer/$($PluginFormcreatorFormAnswer_new.id)"

j'ai vu qu'il existait également "Issue" mais je n'ai pas encore trouvé comment m'en servir, à voir avec un search :
"/PluginFormcreatorIssue"

Et j'essaie tantôt de donner un "id"=$PluginFormcreatorFormAnswer_new.id
et évidemment de changer le "status"=2 (ou =104, voir ="accepted")

mais le plus étonnant c'est que même tenter de changer ça ne passe pas :
"formcreator_field_158"="val_test_mod"

et que ce soit en PATCH, POST, PUT, rien ne passe.

je reçois encore et toujours un vague :

Invoke-RestMethod : 
400 Bad Request
Bad Request
Your browser sent a request that this server could not understand.
Au caractère Ligne:10 : 1
+ Invoke-RestMethod "$($AppURL)/PluginFormcreatorFormAnswer/$($PluginFo ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation : (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-RestMethod], WebException
    + FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeRestMethodCommand

Offline

#2 2023-10-04 20:24:05

mrvls
Member
Registered: 2020-10-03
Posts: 18

Re: Valider un formulaire

alors au temps pour moi c'est bien entendu de ma faute car j'avais imposé un validateur au formulaire!
ma première requête va maintenant bien créer un formulaire automatiquement validé/accepté ce qui engendre bien la création d'un ticket.

maintenant je demeure intéressé par la méthode pour valider un formulaire via API car dans mon projet il y un moment de temporisation pour attendre la date de traitement effectif du contenu du formulaire.
là je vais passer par une mise en attente du ticket ça doit fonctionner aussi ... à bon entendeur, je suis preneur !

Offline

#3 2023-10-04 22:52:22

mrvls
Member
Registered: 2020-10-03
Posts: 18

Re: Valider un formulaire

un peu compliqué d'utiliser la validation du formulaire dans mon cas car je pense avoir compris que si le formulaire été renseigné et envoyé par le compte qui doit valider il est automatiquement approuvé et le ticket est créé sans étape de validation.

il faudrait donc un premier compte de service qui renseigne et envoie un formulaire, puis un second compte de service positionné dans les validateurs du formulaire qui va valider la demande une fois la date arrivée. trop lourd pour moi d'autant qu'il faut encore trouver la bonne requête pour valider.

j'abandonne cette piste et mon contenterais d'un formulaire automatiquement validé en basculant la gestion de la date directement dans let ticket, avec une planification je suppose.

sujet intéressant sur github, trouvé ici sur le forum GLPI :
/pluginsGLPI/formcreator/issues/2642

Last edited by mrvls (2023-10-05 12:57:59)

Offline

Board footer

Powered by FluxBB