$saisie->setDebutAbs($date_debut); try { $date_fin = new DateTime(str_replace("/", ".", $_POST['date_fin_absence_eleve'][$i])); } catch (Exception $x) { $message_erreur_eleve[$id_eleve] .= "Mauvais format de date.<br/>"; continue; } try { $heure_fin = new DateTime($_POST['heure_fin_absence_eleve'][$i]); } catch (Exception $x) { $message_erreur_eleve[$id_eleve] .= "Mauvais format d'heure.<br/>"; continue; } $date_fin->setTime($heure_fin->format('H'), $heure_fin->format('i')); $saisie->setFinAbs($date_fin); $message_erreur_eleve[$id_eleve] .= verif_debut_fin_saisie($date_debut, $date_fin, $utilisateur, $current_cours); $saisie->setUtilisateurId($utilisateur->getPrimaryKey()); $saisie_discipline = false; // 20150404 // Il faudrait pouvoir tester ici si la saisie peut et doit être rattachée à un traitement existant // Pb: si un prof saisit une absence... puis s'il s'agit d'un retard... et qu'il faut ensuite un passage à l'infirmerie, il va être délicat de se baser sur le fait que la saisie est sur le même créneau (englobée?)... // Si on teste juste qu'une saisie englobe date_debut_saisie_engloblante<=date_debut_saisie et date_fin_saisie_engloblante>date_fin_saisie // ou date_debut_saisie_engloblante<date_debut_saisie et date_fin_saisie_engloblante>=date_fin_saisie // est-ce qu'on ne va pas rater des infos dans le cas d'un élève qui arrive avant sa date prévue de retour? $info_type_saisie = ""; if (isset($_POST['type_absence_eleve'][$i]) && $_POST['type_absence_eleve'][$i] != -1) { $type = AbsenceEleveTypeQuery::create()->findPk($_POST['type_absence_eleve'][$i]); if ($type != null) { $info_type_saisie = $type->getNom(); /* echo "<pre>";
} else { $message_enregistrement .= "<span class='rouge'>Erreur : heure de fin de saisie non precisée.</span><br/>"; } if ($id_creneau == null && $id_cours == null) { $message_enregistrement .= '<span class="rouge">Erreur : Il faut au moins un creneau ou un cours pour faire un appel.</span><br/>'; } if ($message_enregistrement != '') { //il y a une erreur, on arrete la saisie include("saisir_groupe.php"); die(); } //on verifie si l'utilisateur a le droit de saisir cela $message_erreur .= verif_debut_fin_saisie($dt_date_debut_appel, $dt_date_fin_appel, $utilisateur, $current_cours); if ($message_erreur != '') { $message_enregistrement .= '<span class="rouge">Erreur sur l\'enregistrement : '.$message_erreur.'</span>'; //on arrete la saisie include("saisir_groupe.php"); die(); } // $cpt++; // echo $cpt.' - '.date('H:m:s').'<br />'; // on crée la saisie unset ($saisie); $saisie = new AbsenceEleveSaisie(); $saisie->setEleveId($eleve->getId()); $saisie->setIdEdtCreneau($id_creneau);