/** * @param JEleveClasse $jEleveClasse The jEleveClasse object to add. */ protected function doAddJEleveClasse($jEleveClasse) { $this->collJEleveClasses[]= $jEleveClasse; $jEleveClasse->setEleve($this); }
//$relation_ec_a_modifier->save(); $new_relation = new JEleveClasse(); $new_relation->setClasse($relation_ec->getClasse()); $new_relation->setLogin($relation_ec->getLogin()); $new_relation->setPeriode(1); $new_relation->save(); // Suppression de la relation temporaire (voir pourquoi modif impossible !) $relation_ec_a_modifier->delete(); //$relation_ec->setPeriode($periodes_de_la_classe_row->num_periode); //$relation_ec->save(); //echo "mise a jour du lien temporaire effectuee pour ".$relation_ec->getLogin() // ." (Periode numero ".$periodes_de_la_classe_row->num_periode // ." Classe : ".$periodes_de_la_classe_row->id_classe.")<br>"; // Ensuite, pour chaque periode restante, on ajoute une relation eleve / periode de la classe while ($periodes_de_la_classe_row = mysqli_fetch_object($periodes_de_la_classe)) { $nouvelle_relation_ep = new JEleveClasse(); $eleve_concerne = ElevePeer::retrieveByLOGIN($relation_ec->getLogin()); $nouvelle_relation_ep->setEleve($eleve_concerne); // On passe l'objet eleve $classe_concerne = ClassePeer::retrieveByPK($relation_ec->getIdClasse()); $nouvelle_relation_ep->setClasse($classe_concerne); // On passe l'objet classe $nouvelle_relation_ep->setPeriode($periodes_de_la_classe_row->num_periode); // On passe le numero de periode $nouvelle_relation_ep->save(); } } // Si on ne trouve pas de periodes pour cette association temporaire, on ne fait rien } // Eleves associees a leurs classes ? pas d'erreur ? echo "<br>";
$nouvelle_classe = new Classe(); $nouvelle_classe->setNom($code_classe); $nouvelle_classe->save(); $classes_inserees++; $classe_courante = $nouvelle_classe; // On crééra les périodes associées a la classe par la suite } else { if (count($classe_select) == 1) { $classe_courante = $classe_select[0]; } else { die("erreur dans la base : plusieurs classes ont le meme nom.<br>"); } } // Comme on n'a pas encore de périodes, on va tricher un peu // pour la définition de l'association élève-classe $nouvelle_assoc_classe_eleve = new JEleveClasse(); $nouvelle_assoc_classe_eleve->setClasse($classe_courante); $nouvelle_assoc_classe_eleve->setEleve($nouvel_eleve); // Pour le moment on met 0 dans l'id de periode, car on les créera plus tard. // On veut simplement garder l'association eleve/classe pour ne pas avoir // a refaire une connexion au LDAP a l'etape suivante $nouvelle_assoc_classe_eleve->setPeriode(0); $nouvelle_assoc_classe_eleve->save(); $nouvel_eleve->addJEleveClasse($nouvelle_assoc_classe_eleve); } //Fin du if classe appartient a l'etablissement courant } //Fin du parcours des classes de l'eleve $nouvel_eleve->save(); // On créé maintenant son compte d'accès à Gepi // On test si l'uid est deja connu de GEPI
/** * * Ajoute un eleve a une classe et sauve la relation. Si la periode de note est nulle, cela ajoute l'eleve la periode actuelle * * @param PropelPDO $con (optional) The PropelPDO connection to use. */ public function addEleve(Eleve $eleve, $num_periode_notes = null) { if ($eleve->getId() == null) { throw new PropelException("Eleve id ne doit pas etre null"); } if ($num_periode_notes == null) { $periode = $this->getPeriodeNoteOuverte(); if ($periode != null) { $num_periode_notes = $periode->getNumPeriode(); } } $jEleveClasse = new JEleveClasse(); $jEleveClasse->setEleve($eleve); $jEleveClasse->setPeriode($num_periode_notes); $this->addJEleveClasse($jEleveClasse); $jEleveClasse->save(); $eleve->clearPeriodeNotes(); }
/** * Exclude object from result * * @param JEleveClasse $jEleveClasse Object to remove from the list of results * * @return JEleveClasseQuery The current query, for fluid interface */ public function prune($jEleveClasse = null) { if ($jEleveClasse) { $this->addCond('pruneCond0', $this->getAliasedColName(JEleveClassePeer::LOGIN), $jEleveClasse->getLogin(), Criteria::NOT_EQUAL); $this->addCond('pruneCond1', $this->getAliasedColName(JEleveClassePeer::ID_CLASSE), $jEleveClasse->getIdClasse(), Criteria::NOT_EQUAL); $this->addCond('pruneCond2', $this->getAliasedColName(JEleveClassePeer::PERIODE), $jEleveClasse->getPeriode(), Criteria::NOT_EQUAL); $this->combine(array('pruneCond0', 'pruneCond1', 'pruneCond2'), Criteria::LOGICAL_OR); } return $this; }
/** * Filter the query by a related JEleveClasse object * * @param JEleveClasse $jEleveClasse the related object to use as filter * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL * * @return ClasseQuery The current query, for fluid interface */ public function filterByJEleveClasse($jEleveClasse, $comparison = null) { if ($jEleveClasse instanceof JEleveClasse) { return $this ->addUsingAlias(ClassePeer::ID, $jEleveClasse->getIdClasse(), $comparison); } elseif ($jEleveClasse instanceof PropelCollection) { return $this ->useJEleveClasseQuery() ->filterByPrimaryKeys($jEleveClasse->getPrimaryKeys()) ->endUse(); } else { throw new PropelException('filterByJEleveClasse() only accepts arguments of type JEleveClasse or PropelCollection'); } }