} } // fin du for($i... } // On récupère toutes les absences dont le traitement n'est pas clos $c = new Criteria(); /** * Le code qui suit devrait ordonner la liste par ordre alphabétique des noms d'élèves absents mais renvoie les absences en double. $c->addJoin(AbsenceTraitementPeer::ID, JTraitementSaisiePeer::A_TRAITEMENT_ID, Criteria::LEFT_JOIN); $c->addJoin(JTraitementSaisiePeer::A_SAISIE_ID, AbsenceSaisiePeer::ID, Criteria::LEFT_JOIN); $c->addJoin(AbsenceSaisiePeer::ELEVE_ID, ElevePeer::ID_ELEVE, Criteria::LEFT_JOIN); $c->addAscendingOrderByColumn(ElevePeer::NOM); $c->addAscendingOrderByColumn(ElevePeer::PRENOM); */ $liste_traitements_en_cours = AbsenceTraitementPeer::doSelect($c); }catch(exception $e){ affExceptions($e); } //**************** EN-TETE ***************** $javascript_specifique = "mod_abs2/lib/absences_ajax"; $style_specifique = "mod_abs2/lib/abs_style"; $utilisation_win = 'oui'; $titre_page = "Le traitement des absences"; require_once("../lib/header.inc"); require("lib/abs_menu.php"); //**************** FIN EN-TETE ***************** //debug_var(); echo ' <div id="idAidAbs" style="display: none; position: absolute; background-color: gray; color: white; width: 600px;">
// Mémorisation de l'affichage ? if ($memoriser == 'ok'){ saveSetting('a2_aff_envois', $_tri); } $_memoriser = (getSettingValue('a2_aff_envois') != '' AND getSettingValue('a2_aff_envois') != '0') ? getSettingValue('a2_aff_envois') : $_tri; /** * Début de l'affichage des envois */ $criteria = new Criteria(); $criteria->add(AbsenceTraitementPeer::A_ACTION_ID, "0", Criteria::NOT_EQUAL); if ($_memoriser != '0'){ $criteria->add(AbsenceTraitementPeer::A_ACTION_ID, $_memoriser, Criteria::EQUAL); } $liste_envois = AbsenceTraitementPeer::doSelect($criteria); $increment = 0; foreach ($liste_envois as $envoi){ $couleur_ligne = (is_integer($increment/2)) ? 'lig1' : 'lig2'; $_id_traitement = $envoi->getId(); // On affiche l'action demandée par le selected $options_action = array('id'=>'action'.$_id_traitement, 'name'=>'action['.$increment.']', 'selected'=>$envoi->getAActionId(), 'class'=>$couleur_ligne); $aff_action = AbsencesParametresHelper::AfficherListeDeroulanteActions($options_action); // On récupère l'objet eleve $saisies = $envoi->getJTraitementSaisies(); $eleve = $saisies[0]->getAbsenceSaisie()->getEleve(); $aff_envois .= ' <tr class="'.$couleur_ligne.'">
$test = $saisies[0]->getEleveId(); // On prend le premier élève et on vérifiera les autres dans la boucle foreach $_idTraitement = NULL; // marqueur sur l'id du traitement if ($_fusionHier[0] == 'ok'){ // On fusionne tout le groupe avec le traitement existant le plus récent $c = new Criteria(); $c->add(AbsenceSaisiePeer::ELEVE_ID, $test, Criteria::EQUAL); $c->addDescendingOrderByColumn(AbsenceSaisiePeer::FIN_ABS); $traite_test = JTraitementSaisiePeer::doSelectJoinAbsenceSaisie($c); foreach($traite_test as $verif){ 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(); }