Exemple #1
0
        break;
      case 'UTILISATEUR_ID':
        $c->addAscendingOrderByColumn(AbsenceSaisiePeer::UTILISATEUR_ID);
        break;
    }

  }else{
    $c->addAscendingOrderByColumn(AbsenceSaisiePeer::CREATED_ON);
  }

  // On ne veut que les absences qui concernent le jour d'aujourd'hui :
  $deb_creneau  = CreneauPeer::getFirstCreneau();
  $_ts          = $deb_creneau->getDebutCreneau() + mktime(0, 0, 0, date("m"), date("d"), date("Y")) - 3600; // on conserve une marge de 1 heure avant le premier creneau
  $c->add(AbsenceSaisiePeer::FIN_ABS, $_ts, Criteria::GREATER_EQUAL);
  
  $liste_absents_brute = AbsenceSaisiePeer::doSelect($c);
  //aff_debug($liste_absents_brute[3]->getJTraitementSaisies());exit();

  foreach ($liste_absents_brute as $absents){
     if (!in_array($absents->getEleve()->getIdEleve(), $tab_absents)){
       $tab_absents[$absents->getEleve()->getIdEleve()][] = $absents;
     }else{
       $place = array_key($tab_absents, $absents->getEleve()->getIdEleve());
       $tab_absents[$place][] = $absents;
     }
  }


  /***************** On élabore un petit tableau du suivi créneau par créneau *******************/
  $aff_creneaux = CreneauHelper::afficherPetitTableauDesCreneaux();
  $tab_creneaux = CreneauPeer::getAllCreneauxOrderByTime();
$_ordre       = isset ($_POST["ordre"]) ? $_POST["ordre"] : NULL;
$aff_fusion   = NULL;
$retour_aff   = NULL;

// ========================== Code métier ============================== //
// ============== Code métier ===============================
include("lib/erreurs.php");


try{

  // Une demande de fusion est lancée
  if ($fusionner == 'ok' AND $_fusion !== NULL){
    $aff_fusion = 'Une demande de fusion est lancée.';

    $saisies = AbsenceSaisiePeer::retrieveByPKs($_fusion);

  }



  $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){