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...
*GLPI 9.1.6+fusion9.1+1.1+behaviours1.5.0+reports+fields+appliances+pdf+badges+formcreator2.5.2 PHP7.0 Mariadb10
*GLPI 9.2.4(behaviours1.5.2+fusion9.2+1.0+applicatifs2.3.0+dashboard 0.8.9)hebergé sur serveur mutualisé.
*GLPI 9.4.0 en test (ubuntu 18.04 mariadb 10.2.4)
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...
*GLPI 9.1.6+fusion9.1+1.1+behaviours1.5.0+reports+fields+appliances+pdf+badges+formcreator2.5.2 PHP7.0 Mariadb10
*GLPI 9.2.4(behaviours1.5.2+fusion9.2+1.0+applicatifs2.3.0+dashboard 0.8.9)hebergé sur serveur mutualisé.
*GLPI 9.4.0 en test (ubuntu 18.04 mariadb 10.2.4)
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...
*GLPI 9.1.6+fusion9.1+1.1+behaviours1.5.0+reports+fields+appliances+pdf+badges+formcreator2.5.2 PHP7.0 Mariadb10
*GLPI 9.2.4(behaviours1.5.2+fusion9.2+1.0+applicatifs2.3.0+dashboard 0.8.9)hebergé sur serveur mutualisé.
*GLPI 9.4.0 en test (ubuntu 18.04 mariadb 10.2.4)
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...
*GLPI 9.1.6+fusion9.1+1.1+behaviours1.5.0+reports+fields+appliances+pdf+badges+formcreator2.5.2 PHP7.0 Mariadb10
*GLPI 9.2.4(behaviours1.5.2+fusion9.2+1.0+applicatifs2.3.0+dashboard 0.8.9)hebergé sur serveur mutualisé.
*GLPI 9.4.0 en test (ubuntu 18.04 mariadb 10.2.4)
Offline
oups, visiblement on ne peut pas récupérer la classe PluginFormcreatorAnswer par l'API.
Trouver la panne avant de réparer...
*GLPI 9.1.6+fusion9.1+1.1+behaviours1.5.0+reports+fields+appliances+pdf+badges+formcreator2.5.2 PHP7.0 Mariadb10
*GLPI 9.2.4(behaviours1.5.2+fusion9.2+1.0+applicatifs2.3.0+dashboard 0.8.9)hebergé sur serveur mutualisé.
*GLPI 9.4.0 en test (ubuntu 18.04 mariadb 10.2.4)
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...
*GLPI 9.1.6+fusion9.1+1.1+behaviours1.5.0+reports+fields+appliances+pdf+badges+formcreator2.5.2 PHP7.0 Mariadb10
*GLPI 9.2.4(behaviours1.5.2+fusion9.2+1.0+applicatifs2.3.0+dashboard 0.8.9)hebergé sur serveur mutualisé.
*GLPI 9.4.0 en test (ubuntu 18.04 mariadb 10.2.4)
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...
*GLPI 9.1.6+fusion9.1+1.1+behaviours1.5.0+reports+fields+appliances+pdf+badges+formcreator2.5.2 PHP7.0 Mariadb10
*GLPI 9.2.4(behaviours1.5.2+fusion9.2+1.0+applicatifs2.3.0+dashboard 0.8.9)hebergé sur serveur mutualisé.
*GLPI 9.4.0 en test (ubuntu 18.04 mariadb 10.2.4)
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