Subversion Repositories Sites.obs-saisons.fr

Compare Revisions

Regard whitespace Rev 319 → Rev 320

/trunk/applications/jrest/services/OdsObservation.php
79,8 → 79,7
$date_observation_formatee = date($this->config['appli']['format_date'], strtotime($observation_individu['oo_date']));
$liste_observation_individu_formatees[$annee_obs][$titre_stade][$numero_stade] = $date_observation_formatee;
$liste_observation_individu_formatees[$annee_obs][$titre_stade][$numero_stade] = $date_observation_formatee;
$liste_observation_individu_formatees[$annee_obs][$titre_stade][$numero_stade][$observation_individu['oo_id_observation']] = $date_observation_formatee;
}
}
99,7 → 98,7
*/
public function updateElement($uid, $params) {
$elements_requis = array('id_participant','id_individu');
$elements_requis = array('id_participant','id_individu', 'id_evenement', 'date_evenement');
$erreurs = array();
foreach($elements_requis as $requis) {
116,39 → 115,51
if(!empty($erreurs)) {
$this->envoyer($erreurs);
exit;
}
$id_participant = $params['id_participant'];
unset($params['id_participant']);
$id_individu = $params['id_individu'];
unset($params['id_individu']);
$requete_obs_deja_saisies_cette_annee = 'SELECT * FROM ods_observations WHERE oo_ce_individu = '.$this->proteger($id_individu).' '.
'AND oo_ce_participant = '.$this->proteger($id_participant).' '.
'AND YEAR(oo_date) = '.$this->proteger($annee_en_cours);
$a_modifier_ou_inserer = !empty($params['id_observation']) ? $params['id_observation'] : false;
$retour = array();
 
$obs_deja_saisies_cette_annee = $this->executerRequete($requete_obs_deja_saisies_cette_annee);
$date_evenement = $this->formaterDateObservationPourBdd($params['date_evenement']);
foreach($params as $cle => $valeur) {
if($est_une_valeur_obs = $this->renvoyerIdEvenementSiChampDeFormulaireObservation($cle)) {
// dans le cas des ajouts ou modifications on vérifie que l'on insère pas une date
// déjà existante, car ça n'a pas de sens pour un même individu et stade
if (strpos($date_evenement, '00-00') === false) {
$requete_existe_avec_cette_date = 'SELECT * FROM ods_observations '.
'WHERE oo_ce_participant = '.$this->proteger($id_participant).' AND '.
'oo_ce_individu = '.$this->proteger($id_individu).' AND '.
'oo_ce_evenement = '.$this->proteger($params['id_evenement']).' AND '.
'oo_date = '.$this->proteger($date_evenement);
$resultat_requete_existe_avec_cette_date = $this->executerRequete($requete_existe_avec_cette_date);
$valeur = $this->formaterDateObservationPourBdd($valeur);
if(!empty($resultat_requete_existe_avec_cette_date)) {
$this->envoyer([
'erreurs' => [
'date' => 'Une observation à cette date existe déjà pour ce stade et cet individu'
]
]);
exit;
}
}
$obs_a_traiter = array('date_evenement' => $valeur,
'id_evenement' => $est_une_valeur_obs,
'id_individu' => $id_individu,
$obs_a_traiter = array(
'date_evenement' => $date_evenement,
'id_evenement' => $params['id_evenement'],
'id_individu' => $params['id_individu'],
'commentaire' => '');
if($a_modifier_ou_inserer = $this->renvoyerIdObservationSiEvenementDejaObserveCetteAnnee($est_une_valeur_obs,$obs_deja_saisies_cette_annee)) {
if($a_modifier_ou_inserer) {
$obs_a_traiter['id_observation'] = $a_modifier_ou_inserer;
$this->modifierObservation($id_participant, $obs_a_traiter);
} else {
$this->insererObservation($id_participant, $obs_a_traiter);
$retour = ['id_observation' => $this->insererObservation($id_participant, $obs_a_traiter)];
}
}
}
$this->envoyer();
$this->envoyer($retour);
}
private function insererObservation($id_participant, $donnees_obs_a_inserer) {
178,7 → 189,8
'NOW()'.
')';
return $this->executerRequeteSimple($requete_nouvelle_observation);
$this->executerRequeteSimple($requete_nouvelle_observation);
return $this->renvoyerDernierIdInsere();
}
private function modifierObservation($id_participant, $donnees_obs_a_inserer) {
236,14 → 248,9
if($this->estUneDateInvalide($date_tab[1],$date_tab[0],$date_tab[2])) {
$date_a_renvoyer = $date_tab[2].'-'.$date_tab[1].'-'.$date_tab[0];
} else {
if(!ereg($pattern_date_simple, $date)) {
$time = strtotime($date);
$date_a_renvoyer = date('Y-m-d', $time);
}
$date_a_renvoyer = date('Y-m-d h:i:s', $time);
}
return $date_a_renvoyer;
}