Ejemplo n.º 1
0
        // On traite ce qui est demandé :
        // S = supprimer le traitement en faisant en sorte qu'il disparaisse (les saisies également)
        // D = Défusionner en faisant disparaitre le traitement (mais en conservant les saisies)
        if ($_supprimer[$i] == "S"){

          // Donc ces saisies seront toujours stockées dans la base, rattachées à un traitement qui n'existe plus
          // Donc elles ne sont plus visibles dans le suivi des saisies mais continuent d'être stockées dans la base
          $traitement = AbsenceTraitementPeer::retrieveByPK($_traite[$i]);
          $traitement->delete();

        }elseif($_supprimer[$i] == "D"){

          // 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]);
Ejemplo n.º 2
0
    $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){
      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"]);