Exemplo n.º 1
0
          // On fait la même chose mais on supprime également les entrées dans la table j_traitements_saisies
          $criteria = new Criteria();
          $criteria->add(JTraitementSaisiePeer::A_TRAITEMENT_ID, $_traite[$i], Criteria::EQUAL);
          $joinTraitement = JTraitementSaisiePeer::doSelect($criteria);
          foreach ($joinTraitement as $join){
            $delete_join = $join->delete();
          }
          $traitement = AbsenceTraitementPeer::retrieveByPK($_traite[$i]);
          $traitement->delete();
        }

      }else{

        // On met à jour les traitements qui ne sont pas supprimés
        $traitement = AbsenceTraitementPeer::retrieveByPK($_traite[$i]);
        $traitement->setUtilisateurId($_SESSION["login"]);
        $traitement->setATypeId($_type[$i]);
        $traitement->setAMotifId($_motif[$i]);
        $traitement->setAJustificationId($_justif[$i]);
        $traitement->setAActionId($_action[$i]);
        $traitement->save();

      }
    } // 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.
Exemplo n.º 2
0


  $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();
  }