Questions and discussion about developing processes and programming in PHP, JavaScript, web services & REST API.
Forum rules: Please search to see if a question has already asked before creating a new topic. Please don't post the same question in multiple forums.
By leydyzapata03
#813190
Buenos días, quisiera que por favor me ayudaran con lo siguiente:

Tengo un formulario que solo es de un rol para almacenar información en una tabla de la base de datos. Cuando presionamos el botón submit saca una alerta que pregunta si desea finalizar el registro o lo desea guardar en borrador.
Si si finaliza utilizo la función $("#").submit() en el form y ya se finaliza el caso.
Si no finaliza utilizo la función $("#").saveForm() y deja el caso en el DRAFT con lo que se haya digitado sobre el form.
Luego del dynaform cree un trigger que me registra la info en caso de que no exista, si existe deberá hacer un update y utilizo la función PMFRedirectToStep() en esta decision para que no finalice el caso.

Estas funciones me sirven pero al momento de hacer el $("#").saveForm() no tengo algo que me llame el trigger para ejecutarse; es decir, cuando se queda en DRAFT no puedo hacer ningún registro en la BD.

¿Hay alguna manera de hacerlo?

Quedo atenta, muchas gracias.
User avatar
By amosbatto
#813231
Puedes llamar PUT /cases/{app_uid}/execute-trigger/{tri_uid} con jquery en tu Dynaform para ejecutar el trigger que guarda los datos en tu base de datos.

El código de JavaScript sería algo como:
Code: Select all
var host = PMDynaform.getHostName();                // get the hostname
var ws = PMDynaform.getWorkspaceName();             // get the current workspace
var token = PMDynaform.getAccessToken();            // get the access Token
var app_uid = frames.app_uid ? frames.app_uid : ''; // get the case ID
var trig_uid = "61048893559a5d178ac62a10846078482";  //set to the ID of the trigger

$("#saveButton").find("button").click(function() {
  var formId = $("form").prop("id");
  $(formId).saveForm();

  if (app_uid) {
    $.ajax({
        url: host+"/api/1.0/"+ws+"/cases/"+app_uid+"/execute-trigger/"+trig_uid,        // endpoint URL
        //data: JSON.stringify( {} ),    //uncomment if needing to send POST parameters                     
        type: "PUT",
        contentType: "application/json",
        dataType: 'text',
        beforeSend: function(xhr) {
          xhr.setRequestHeader('Authorization', 'Bearer '+token); // Header with access token
        }, 
        success: function(xhr, status, error){
          alert("Success" + (xhr.responseText ? ": "+xhr.responseText: ''));
        },
        error: function(xhr, status, error){
          if (xhr.responseText) {
            oResponse = JSON.parse(xhr.responseText);
            alert(oResponse.error.message)
          } else {
            alert("Error: " + error);
          }
        }
    });     
  }
});
Para más información, ver:
viewtopic.php?f=44&t=713486&p=795012#p795012

Hi there, I have 3.5.7, 3.8.1 and 3.8.2 versi[…]

AI bot development involves creating intelligent b[…]

AI bot development encompasses creating intelligen[…]

A stake clone script is a pre-coded solution desig[…]