You are not logged in.
Pages: 1
Bonjour à tous ,
est-il possible de faire un REST sur formcreator , pour avoir le dernier formulaire remplit d'un formulaire précis.
merci pour vos remarque.
Offline
$formname="nom de mon formulaire";
$searchUrl="/search/PluginFormcreatorForm_Answer?is_deleted=0&range=0-0&order=DESC&sort=6";
$searchUrl .= "&criteria[0][link]=AND&criteria[0][field]=3&criteria[0][searchtype]=contains&criteria[0][value]=".rawurlencode($formname);
Trouver la panne avant de réparer...
GLPI10.0.16 (ubuntu 22.04 PHP8.1 Mariadb10.6 ) plugins : comportements 2.7.3 reports 1.16.0 formcreator 2.13.9, datainjection 2.13.5 fields 1.21.9
Offline
.rawurlencode , c'est quoi comme langage ?, actuellement , j'utilise powershell pour faire mes requêtes REST.
Offline
c'est du php pour la gestion des espaces dans les noms des formulaires.
je n'ai pas trouvé la recherche par id formulaire . la recherche sur du texte c'est moyen et j'ai quelques problèmes avec les caractères spéciaux.
j'ai essayé en ajoutant dans les search options de glpi/plugins/formcreator/inc/form_answer_class.php le code suivant :
$tab[] = [
'id' => '9',
'table' => 'glpi_plugin_formcreator_forms',
'field' => 'id',
'name' => __('ID'),
'searchtype' => 'contains',
'datatype' => 'integer',
'massiveaction' => false
];
ensuite je peux faire mon url comme suit avec l'id du formulaire ( je mets des ^et $ à cause du contains)
$formid="5";
$searchUrl="/search/PluginFormcreatorForm_Answer?is_deleted=0&range=0-0&order=DESC&sort=6";
$searchUrl .= "&criteria[0][link]=AND&criteria[0][field]=9&criteria[0][searchtype]=contains&criteria[0][value]=^".$formid."$";
$obj=glpi_get($searchUrl);
Trouver la panne avant de réparer...
GLPI10.0.16 (ubuntu 22.04 PHP8.1 Mariadb10.6 ) plugins : comportements 2.7.3 reports 1.16.0 formcreator 2.13.9, datainjection 2.13.5 fields 1.21.9
Offline
la requete PS :
$result = $(Invoke-RestMethod "$($GLPI_api)search/PluginFormcreatorForm_Answer?is_deleted=0&range=0-0&order=DESC&sort=6" -Method Get -Headers $HeadersRequest)
le resultat :
totalcount : 3
count : 1
sort : 6
order : DESC
data : {@{1=Mouvement; 2=3; 3=Mouvement; 4=glpi; 5=; 6=2018-11-20 18:02:12}}
content-range : 0-0/3
je cherche le contenue du formulaire
- nom
- prenom
Offline
i create a feature request on git hub to add this searchoption.
j'ai fait une demande sur GitHub pour ajouter la recherche par id du formulaire :
https://github.com/pluginsGLPI/formcreator/issues/1220
Trouver la panne avant de réparer...
GLPI10.0.16 (ubuntu 22.04 PHP8.1 Mariadb10.6 ) plugins : comportements 2.7.3 reports 1.16.0 formcreator 2.13.9, datainjection 2.13.5 fields 1.21.9
Offline
les plugins ne sont pas en mode REST ?
quand on fait un REST sur un ticket : $result = $(Invoke-RestMethod "$($GLPI_api)Ticket?" -Method Get -Headers $HeadersRequest)
j'ai l'ensemble des propriétés du ticket
id : 3
entities_id : 0
name : Mouvement agent
date : 2018-11-20 18:02:12
closedate :
solvedate :
date_mod : 2018-11-20 18:02:12
users_id_lastupdater : 2
status : 2
users_id_recipient : 2
requesttypes_id : 7
content : Données du formulaire
=================
Utilisateur
---------------------------------
1) Nom : Hugo
2) prenom : SKY
quand on fait un REST sur un formcreator : $result = $(Invoke-RestMethod "$($GLPI_api)Ticket?" -Method Get -Headers $HeadersRequest)
j'ai ce résultat
totalcount : 3
count : 3
sort : 1
order : ASC
data : {@{1=Mouvement; 2=1; 3=Mouvement; 4=glpi; 5=; 6=2018-06-29 10:05:11}, @{1=Mouvement; 2=2; 3=Mouvement; 4=glpi; 5=;
6=2018-07-02 09:18:33}, @{1=Mouvement; 2=3; 3=Mouvement; 4=glpi; 5=; 6=2018-11-20 18:02:12}}
content-range : 0-2/3
Offline
vous avez recherché la dernière réponses au formulaires sans préciser quel formulaire a été utilisé.
il vous manque : &criteria[0][link]=AND&criteria[0][field]=3&criteria[0][searchtype]=contains&criteria[0][value]=LeNomDeMonFormulaire.
l'url que je vous ai donnée vous permet de faire une recheche, pour avoir l'id du dernier formulaire créé
dans votre recherche vous avez
data : {@{1=Mouvement; 2=3; 3=Mouvement; 4=glpi; 5=; 6=2018-11-20 18:02:12}}
le 3 correspond au formulaire de réponse,
vous pouvez maintenant faire
$url="/PluginFormcreatorForm_Answer/3"; (le 3 que vous venez de récupérer dans data)
mais je pense que vous avez besoin de :
$url="/PluginFormcreatorAnswer/";
Trouver la panne avant de réparer...
GLPI10.0.16 (ubuntu 22.04 PHP8.1 Mariadb10.6 ) plugins : comportements 2.7.3 reports 1.16.0 formcreator 2.13.9, datainjection 2.13.5 fields 1.21.9
Offline
oups, visiblement on ne peut pas récupérer la classe PluginFormcreatorAnswer par l'API.
Trouver la panne avant de réparer...
GLPI10.0.16 (ubuntu 22.04 PHP8.1 Mariadb10.6 ) plugins : comportements 2.7.3 reports 1.16.0 formcreator 2.13.9, datainjection 2.13.5 fields 1.21.9
Offline
ok avec la requête : $result = $(Invoke-RestMethod "$($GLPI_api)search/PluginFormcreatorForm_Answer/3" -Method Get -Headers $HeadersRequest)
Security die. trying to load a forbidden class name
Offline
reste le mode sql , mais c autre chose.
Offline
attention si vous faites un GET en précisant l'ID vous ne devez pas ajouter le "search" .
Trouver la panne avant de réparer...
GLPI10.0.16 (ubuntu 22.04 PHP8.1 Mariadb10.6 ) plugins : comportements 2.7.3 reports 1.16.0 formcreator 2.13.9, datainjection 2.13.5 fields 1.21.9
Offline
merci pour l'aide et les explications , je vais chercher en mode sql.
Offline
en sql ça donne un truc comme ça, vous n'avez qu'à canger le F.ID avec l'id de votre formulaire
SELECT F.`name`,S.`name`,Q.`name`,FA.`name`,A.`answer`
FROM `glpi_plugin_formcreator_forms` AS F
JOIN `glpi_plugin_formcreator_sections` AS S on S.`plugin_formcreator_forms_id`=F.`id`
JOIN `glpi_plugin_formcreator_questions` AS Q ON Q.`plugin_formcreator_sections_id` =S.`id`
LEFT OUTER JOIN `glpi_plugin_formcreator_forms_answers` AS FA ON FA.`plugin_formcreator_forms_id`=F.`id`
LEFT OUTER JOIN `glpi_plugin_formcreator_answers` AS A on A.`plugin_formcreator_forms_answers_id`=FA.`id` AND A.`plugin_formcreator_questions_id`=Q.`id`
WHERE F.id=77
ORDER BY `A`.`answer` DESC
Trouver la panne avant de réparer...
GLPI10.0.16 (ubuntu 22.04 PHP8.1 Mariadb10.6 ) plugins : comportements 2.7.3 reports 1.16.0 formcreator 2.13.9, datainjection 2.13.5 fields 1.21.9
Offline
yes nickel , merci pour la requête car j’étais super loin du résultat
SELECT glpi.glpi_plugin_formcreator_forms_answers.id, glpi.glpi_plugin_formcreator_answers.answer, glpi.glpi_plugin_formcreator_answers.plugin_formcreator_questions_id
from glpi.glpi_plugin_formcreator_forms_answers as a
join glpi.glpi_plugin_formcreator_answers as r on a.id=r.plugin_formcreator_forms_answers_id
Offline
Pages: 1