$saisie->setDebutAbs($deb); $saisie->setFinAbs($fin); if ($_last_id = $saisie->save()){ // Si l'enregistrement est bon et que l'utilisateur a demandé un motif et/ou une justification, on crée un traitement également if (($_motifs[$a] != "0") OR ($_justifications[$a] != "0")){ $traitement = new AbsenceTraitement(); $traitement->setAMotifId($_motifs[$a]); $traitement->setAJustificationId($_justifications[$a]); $traitement->setATypeId($_types[$a]); $traitement->save(); $join = new JTraitementSaisie(); $join->setASaisieId($saisie->getId()); $join->setATraitementId($traitement->getId()); $join->save(); } // $_last_id est donc l'id de l'enregistrement qui vient d'avoir lieu => A vérifier, il semblerait que non $increment++; }else{ $_SESSION['msg_abs'] .= '||' . $_last_id; } } // fin du if (isset ($_eleve[$a])){ } // fin de la boucle for // Si tout est bon, on renvoie vers l'interface de saisie, sinon on renvoie une exception if ($increment == $nbre_el){
if ((isset($verif)) AND is_object($verif)){ $_id_test = $verif->getATraitementId(); $verif2 = AbsenceTraitementPeer::retrieveByPK($_id_test); if (isset($verif2) AND is_object($verif2)){ $_idTraitement = $verif2->getId(); } } } } if ($_idTraitement === NULL){ // sinon on crée un nouveau traitement $traite_test = new AbsenceTraitement(); $traite_test->setUtilisateurId($_SESSION["login"]); $traite_test->setCreatedOn(date("U")); $traite_test->save(); $_idTraitement = $traite_test->getId(); } foreach($saisies as $saisie){ if ($saisie->getEleveId() == $test){ $join = new JTraitementSaisie(); $join->setATraitementId($_idTraitement); $join->setASaisieId($saisie->getId()); $retour_aff .= 'La saisie de ' . $saisie->getEleve()->getNom() . ' du ' . date("d/m/Y H:i", $saisie->getDebutAbs()) . ' à ' . date("d/m/Y H:i", $saisie->getFinAbs()) . ' est fusionnée<br />'; }else{ $retour_aff .= 'Cette saisie ' . $saisie->getId(). ' ne peut être fusionnée car ce n\'est pas le même élève <br />';