Gestion du JSON auto par le `ModuleManager`, si pas d'erreur lors du décodage du json, on prend la valeur en json
This commit is contained in:
parent
d56a1cced5
commit
da69d09579
|
@ -191,10 +191,10 @@
|
||||||
"description": "Enregistre les données d'une enquête téléphonique.",
|
"description": "Enregistre les données d'une enquête téléphonique.",
|
||||||
"permissions": ["admin"],
|
"permissions": ["admin"],
|
||||||
"parameters": {
|
"parameters": {
|
||||||
"subject": { "description": "Données sur le sujet de l'enquête.", "type": "json" },
|
"subject": { "description": "Données sur le sujet de l'enquête.", "type": "array" },
|
||||||
"contacts": { "description": "Données des contacts de l'enquête.", "type": "json" },
|
"contacts": { "description": "Données des contacts de l'enquête.", "type": "array<array>" },
|
||||||
"mini": { "description": "Mini fiches relations sur les contacts de l'enquête.", "type": "json" },
|
"mini": { "description": "Mini fiches relations sur les contacts de l'enquête.", "type": "array<array>" },
|
||||||
"fiches": { "description": "Fiches relation sur les plus proches contacts de l'enquête.", "type": "json" }
|
"fiches": { "description": "Fiches relation sur les plus proches contacts de l'enquête.", "type": "array<array>" }
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,3 +1,3 @@
|
||||||
function APIClass(b){this.target=b}
|
function APIClass(b){this.target=b}
|
||||||
APIClass.prototype={xhr:[],send:function(b,c,f){b.hasOwnProperty("path")||c({ModuleError:4});for(var a=0;a<this.xhr.length;a++)4==this.xhr[a].readyState&&(this.xhr=this.xhr.slice(0,a-1).concat(this.xhr.slice(a,this.xhr.length-1)));this.xhr.push(null);a=this.xhr.length-1;this.xhr[a]=window.XMLHttpRequest?new XMLHttpRequest:new ActiveXObject("Microsoft.XMLHttpRequest");console.log(b);var d=this;this.xhr[a].onreadystatechange=function(){if(4==d.xhr[a].readyState)if(-1<[0,200].indexOf(d.xhr[a].status))try{c(JSON.parse(d.xhr[a].responseText))}catch(b){c({ModuleError:1})}else c({ModuleError:3})};
|
APIClass.prototype={xhr:[],send:function(b,d,g){b.hasOwnProperty("path")||d({ModuleError:4});for(var a=0;a<this.xhr.length;a++)4==this.xhr[a].readyState&&(this.xhr=this.xhr.slice(0,a-1).concat(this.xhr.slice(a,this.xhr.length-1)));this.xhr.push(null);a=this.xhr.length-1;this.xhr[a]=window.XMLHttpRequest?new XMLHttpRequest:new ActiveXObject("Microsoft.XMLHttpRequest");console.log(b);var e=this;this.xhr[a].onreadystatechange=function(){if(4==e.xhr[a].readyState)if(-1<[0,200].indexOf(e.xhr[a].status))try{d(JSON.parse(e.xhr[a].responseText))}catch(b){d({ModuleError:1})}else d({ModuleError:3})};
|
||||||
var g=new FormData,e;for(e in b)g.append(e,b[e]);this.xhr[a].open("POST",this.target,!0);null!=f&&this.xhr[a].setRequestHeader("Authorization","Digest "+f);this.xhr[a].send(g)}};
|
var f=new FormData,c;for(c in b)"path"==c?f.append(c,b[c]):f.append(c,JSON.stringify(b[c]));this.xhr[a].open("POST",this.target,!0);null!=g&&this.xhr[a].setRequestHeader("Authorization","Digest "+g);this.xhr[a].send(f)}};
|
||||||
|
|
|
@ -75,7 +75,8 @@ APIClass.prototype = {
|
||||||
|
|
||||||
// On ajoute tous les attributs en POST
|
// On ajoute tous les attributs en POST
|
||||||
for( var key in pRequest )
|
for( var key in pRequest )
|
||||||
form.append(key, pRequest[key]);
|
if( key == 'path' ) form.append(key, pRequest[key]);
|
||||||
|
else form.append(key, JSON.stringify(pRequest[key]));
|
||||||
|
|
||||||
|
|
||||||
this.xhr[i].open('POST', this.target, true);
|
this.xhr[i].open('POST', this.target, true);
|
||||||
|
|
|
@ -192,8 +192,16 @@
|
||||||
// On retire le @path de @params
|
// On retire le @path de @params
|
||||||
unset($params['path']);
|
unset($params['path']);
|
||||||
|
|
||||||
|
/* [3] On met les paramètres JSON en JSON (si ils décodent sans erreur)
|
||||||
|
=========================================================*/
|
||||||
|
foreach($params as $name=>$value){
|
||||||
|
$json = json_decode( $value, true );
|
||||||
|
// Si aucune erreur, on affecte la valeur
|
||||||
|
if( $json != null )
|
||||||
|
$params[$name] = $json;
|
||||||
|
}
|
||||||
|
|
||||||
/* [3] On retourne une instance de <ModuleRequest>
|
/* [4] On retourne une instance de <ModuleRequest>
|
||||||
=========================================================*/
|
=========================================================*/
|
||||||
// On cree notre requete avec le token
|
// On cree notre requete avec le token
|
||||||
return new ModuleRequest($post['path'], $params, $token);
|
return new ModuleRequest($post['path'], $params, $token);
|
||||||
|
@ -366,14 +374,9 @@
|
||||||
|
|
||||||
|
|
||||||
/* (6) Si le paramètre est renseigné */
|
/* (6) Si le paramètre est renseigné */
|
||||||
}else{
|
}else
|
||||||
// Si la verification est fausse, on retourne faux
|
// Si la verification est fausse, on retourne faux
|
||||||
if( !Database::check($paramsdata['type'], $params[$name]) ) return false;
|
if( !Database::check($paramsdata['type'], $params[$name]) ) return false;
|
||||||
|
|
||||||
// Si c'est du JSON, on le décode
|
|
||||||
if( $paramsdata['type'] == 'json' )
|
|
||||||
$params[$name] = json_decode( $params[$name], true );
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* [3] Gestion du retour, si tout s'est bien passe
|
/* [3] Gestion du retour, si tout s'est bien passe
|
||||||
|
|
Loading…
Reference in New Issue