alvaro-prieto
5/4/2017 - 10:40 AM

API CRUD desde JS Javascript ( inserta borra orden limite expandida modifica insertar borrar listar modificar crear guardar

CRUD desde JS Javascript ( inserta borra lista listaExpandida orden limite expandida modifica insertar borrar listar modificar crear guardar...)

Cuando llamamos a API, podemos hacer un carga según distintos campos, no únicamente por ID

"api":{
	"carga_idvariable":6,  //se utiliza el prefijo carga_ delante de la variable que sea
	"carga_idcentro":5,   //otro ejemplo. En este caso la combinacion de ambas es única
	"api":"VariablesCentros.insertaVariable",
	"error": true, //si es false, en vez de abrirse una alerta en caso de error automáticamente, gestionamos el error manualmente
	"parametros":{
		"variable": "telefono_fax"
	}
},
//Lista Expandida
api( {"api":"PersonalMensajes.listaExpandida",
  "var1": "PersonalMensajes.mensaje, Usuario.nombre,Usuario.apellidos",   //las cosas que queremos van siempre en var1
  "limite": this.quontrol.data("numeroLineas")*1,  //opcionalmente lo de siempre: limite, orden, etc..
  "orden": "fecha DESC",
 },function(json){ 
	 if(!json.error){
		   //iterar la lista o lo que sea
	 }
 });
 
 //Se pueden hacer listados desde JS

api({
  "api": "DocenteAlumnos.lista",
  "where": "dni like '%"+dniAlumno+"%'"
},function(json){
    console.log(json.resultado);
});
 
 
 //Cargar
api( {"api":"PersonalArticulos.carga", 
	  "var1": id    //Si estamos llamando a una función que trabaja con objeto cargado, podemos utilizar el parámetro "carga_id": loquesea  
	 },function(json){ 
		 if(!json.error){
		 	var obj = json.resultado;
		 }
	 });


//Borrar
api( {"api":"PersonalReconocimiento.borra", 
        "carga_id": id  
    },function(json){ 
    //eliminado
    });
						
						
//insertar
api( {"api":"PersonalReconocimiento.inserta", 
      //"var_idusuario_emisor": usuarioEmisor,    //se los pasamos por PHP en el Override de Inserta por seguridad
      //"var_fecha": convertirFechaSQL( new Date(), true),   //se lo pasamos por PHP Override
      "var_reconocimiento": valor  

     },function(json){ 
         var idInsercion = json.resultado.id;
         var error = json.error;
        //insertado
     });
     
     
     
  //insertar 2
  
  
api( {"api":"PersonalReconocimiento.inserta", 
  //"var_idusuario_emisor": usuarioEmisor,    //se los pasamos por PHP en el Override de Inserta por seguridad. Mas info debajo
  "var_idusuario_receptor": usuarioReceptor,  //pasamos las columnas precedidas de de var_
  "var_reconocimiento": valor  

    },function(json){ 
     var id_insercion = json.resultado.id;
     contenedor.data("id", id_insercion);
 });

/** Override del Iserta en PHP
<? if (!$parametros['fecha'])
{
	$parametros['fecha'] = 'now()';
}
if(!$parametros['idusuario_emisor']){
	$parametros["idusuario_emisor"] = $this->quid->idusuario();
}
$res = $this->_inserta($parametros);
return $res;
*/


//Insertar polimorficas, no se les pasa clase e idregistro:

api(

/* Equivalente a

      {" api":"EncuestaSatisfaccion.inserta", 
        "var_clase": "ClasePolimorfica",
        "var_idregistro": idregistroX,
        "var_parametrocualquiera": 2  
       }
*/

{
    "api": "ClasePolimorfica.EncuestaSatisfaccion.inserta",
    "where": "ClasePolimorfica.id=" + quontrol.data("_idregistro"),  //pasado desde PHP a JS
    "var_parametroqualquiera": quontrol.data("aula")
},
function(json) {
    var id_insercion = json.resultado.id;
    //insertado
});

//al parecer hay modificaDato en singular y modificaDatos en plural. No se bien la diferencia, 
//pero me ha gustado más el plural
api( {"api":"PersonalLogrosUsuarios.modificaDatos", 
	"carga_id": this.quontrol.data("id_logroUsuario"),
	"var_conseguido": 0
  },apiCallback);

//Modificar guardar (modificadato)
api({"api":"WebDiapositivas.modificaDato","carga_id": quontrol.data("q_carga_id"), 
		"var1":"plantilla",
		"var2": plantilla},
		function(json){
			console.log("callback");
		}
	);


$this->modificaDato('nombre_campo',69);  //siendo 69 el valor
//creo que también existe la opcion modificaDatos en plural, para cambiar varios 
//campos a la vez, no se si funciona con _ ya lo comprobaré algún día