Subversion Repositories eFlore/Applications.cel

Compare Revisions

Ignore whitespace Rev 1547 → Rev 1548

/trunk/jrest/services/Inventory.php
87,23 → 87,49
$uid[1] = rtrim($uid[1],',');
$champs_etendus = isset($pairs['obs_etendue']) ? $pairs['obs_etendue'] : null;
$this->supprimerChampsEtendusDesParametres($pairs);
$gestionnaire_observation = new GestionObservation($this->config);
$modification_observation = $gestionnaire_observation->modifierObservation($uid[0],$uid[1],$pairs);
if($champs_etendus != null) {
$gestion_champs_etendus = new GestionChampsEtendus($this->config, 'obs');
$id_obs = $gestionnaire_observation->renvoyerIdPourOrdre($uid[0],$uid[1]);
foreach($champs_etendus as $cle => $valeur) {
$gestion_champs_etendus->modifierChampEtendu($id_obs, $cle, $valeur);
}
}
return true;
}
 
 
function createElement($pairs){
 
function createElement($pairs) {
// Controle detournement utilisateur
$this->controleUtilisateur($pairs['ce_utilisateur']);
$champs_etendus = isset($pairs['obs_etendue']) ? $pairs['obs_etendue'] : null;
$this->supprimerChampsEtendusDesParametres($pairs);
$gestionnaire_observation = new GestionObservation($this->config);
$gestionnaire_observation->ajouterObservation($pairs['ce_utilisateur'], $pairs);
$id_nouvelle_obs = $gestionnaire_observation->ajouterObservation($pairs['ce_utilisateur'], $pairs);
 
if($champs_etendus != null) {
$gestion_champs_etendus = new GestionChampsEtendus($this->config, 'obs');
$champs_supp = $gestion_champs_etendus->ajouterChampsEtendusMultiples($id_nouvelle_obs, $champs_etendus);
}
return true;
}
function supprimerChampsEtendusDesParametres(&$parametres) {
unset($parametres['obs_etendue']);
foreach($parametres as $cle => $valeur) {
if(strpos($cle, "obs_etendue") === 0) {
unset($parametres[$cle]);
}
}
}
 
/**
* Supprime une observation
123,9 → 149,14
$uid[1] = rtrim($uid[1],',');
$id_obs = $gestionnaire_observation->renvoyerIdPourOrdre($uid[0],$uid[1]);
$gestionnaire_observation = new GestionObservation($this->config);
$suppression_observation = $gestionnaire_observation->supprimerObservation($uid[0],$uid[1]);
$gestion_champs_etendus = new GestionChampsEtendus($this->config, 'obs');
$champs_supp = $gestion_champs_etendus->supprimerChampsEtendusAElement($id_obs);
if ($suppression_observation) {
echo "OK";
}
/trunk/jrest/lib/GestionObservation.php
34,7 → 34,7
$retour = true;
$parametres['ordre'] = $this->renvoyerDernierOrdreUtilisePlusUn($utilisateur);
$requete_insertion_observation = 'INSERT INTO cel_obs ';
$sous_requete_colonnes = $this->traiterParametresObservationEtConstruireSousRequeteAjout($parametres);
48,9 → 48,10
if ($resultat_ajout_observation === false) {
$retour = false;
$this->logger("CEL_bugs","Erreur de creation d'une observation : ".$resultat_ajout_observation);
} else {
$retour = $this->renvoyerIdPourOrdre($utilisateur ,$parametres['ordre']);
}
 
// TODO: retourner l'id ou le numero d'ordre nouvellement créé ?
return $retour;
}
76,6 → 77,22
}
/**
* Renvoie l'id d'observation associé à l'utilisateur et l'ordre donné
*
* @param int $utilisateur id utilisateur
* @return int le numero d'ordre relatif à l'utilisateur
*/
public function renvoyerIdPourOrdre($utilisateur, $ordre) {
$requete_selection_dernier_id = "SELECT id_observation FROM cel_obs ".
"WHERE ce_utilisateur = ".$this->proteger($utilisateur)." ".
"AND ordre = ".$this->proteger($ordre)." ";
$dernier_id = $this->executerRequete($requete_selection_dernier_id);
return $dernier_id[0]['id_observation'];
}
/**
* Modifie une ou plusieurs observations grâce aux paramètres fournis
*
* @param int $utilisateur id utilisateur du proprietaire de l'observation