/** * @param JEleveClasse $jEleveClasse The jEleveClasse object to add. */ protected function doAddJEleveClasse($jEleveClasse) { $this->collJEleveClasses[]= $jEleveClasse; $jEleveClasse->setEleve($this); }
$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 $compte_utilisateur_eleve = UtilisateurProfessionnelPeer::retrieveByPK($nouvel_eleve->getLogin()); if ($compte_utilisateur_eleve != null) {
$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>"; echo "<form enctype='multipart/form-data' action='etape3.php' method=post>"; //echo add_token_field();
/** * * 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(); }