$location .= "?id_groupe=".$current_cours->getIdGroupe(); } header($location); die(); } //**************** GROUPES ET AID ***************** //on affiche une boite de selection avec les groupes et les creneaux if (getSettingValue("abs2_saisie_prof_hors_cours")!='y' && $utilisateur->getStatut() == "professeur") { //le reglage specifie que le prof n'a pas le droit de saisir autre chose que son cours //donc on affiche pas de selection, le cours est automatiquement selectionné } else { if (getSettingValue("GepiAccesAbsTouteClasseCpe")=='yes' && $utilisateur->getStatut() == "cpe") { $groupe_col = GroupeQuery::create()->orderByName()->useJGroupesClassesQuery()->useClasseQuery()->orderByNom()->endUse()->endUse() ->leftJoinWith('Groupe.JGroupesClasses') ->leftJoinWith('JGroupesClasses.Classe') ->find(); $aid_col = AidDetailsQuery::create()->find(); } else { $groupe_col = $utilisateur->getGroupes(); $aid_col = $utilisateur->getAidDetailss(); } } //**************** COURS SEMAINES ***************** if (getSettingValue("abs2_saisie_prof_decale_journee")!='y' && getSettingValue("abs2_saisie_prof_decale")!='y' && $utilisateur->getStatut() == "professeur") { //le reglage specifie que le prof n'a pas le droit de saisir autre chose que son cours
/** * Get the associated Groupe object * * @param PropelPDO Optional Connection object. * @return Groupe The associated Groupe object. * @throws PropelException */ public function getGroupe(PropelPDO $con = null) { if ($this->aGroupe === null && ($this->id_groupe !== null)) { $this->aGroupe = GroupeQuery::create()->findPk($this->id_groupe, $con); /* The following can be used additionally to guarantee the related object contains a reference to this object. This level of coupling may, however, be undesirable since it could result in an only partially populated collection in the referenced object. $this->aGroupe->addJGroupesMatieress($this); */ } return $this->aGroupe; }
//$id_creneau = $current_cours->getIdDefiniePeriode(); $current_creneau = $current_cours->getEdtCreneau(); $current_groupe = $current_cours->getGroupe(); $current_aid = $current_cours->getAidDetails(); } else { $message_enregistrement .= "<span style='color :red'>Erreur : Probleme avec le parametre id_cours</span><br/>"; } } } else { $current_creneau = EdtCreneauQuery::create()->findPk($id_creneau); if ($current_creneau == null) { $message_enregistrement .= "<span style='color :red'>Erreur : Probleme avec le parametre id_creneau</span><br/>"; } } if ($type_selection == 'id_groupe') { $current_groupe = GroupeQuery::create()->findPk($id_groupe); if ($current_groupe == null) { $message_enregistrement .= "<span style='color :red'>Erreur : Probleme avec le parametre id_groupe</span><br/>"; } } elseif ($type_selection == 'id_classe') { $current_classe = ClasseQuery::create()->findPk($id_classe); if ($current_classe == null) { $message_enregistrement .= "<span style='color :red'>Erreur : Probleme avec le parametre id_classe</span><br/>"; } } elseif ($type_selection == 'id_aid') { $current_aid = AidDetailsQuery::create()->findPk($id_aid); if ($current_aid == null) { $message_enregistrement .= "<span style='color :red'>Erreur : Probleme avec le parametre id_aid</span><br/>"; } } $id_groupe = null;
/** * Gets a collection of Groupe objects related by a many-to-many relationship * to the current object by way of the j_groupes_professeurs cross-reference table. * * If the $criteria is not null, it is used to always fetch the results from the database. * Otherwise the results are fetched from the database the first time, then cached. * Next time the same method is called without $criteria, the cached collection is returned. * If this UtilisateurProfessionnel is new, it will return * an empty collection or the current collection; the criteria is ignored on a new object. * * @param Criteria $criteria Optional query object to filter the query * @param PropelPDO $con Optional connection object * * @return PropelCollection|array Groupe[] List of Groupe objects */ public function getGroupes($criteria = null, PropelPDO $con = null) { if(null === $this->collGroupes || null !== $criteria) { if ($this->isNew() && null === $this->collGroupes) { // return empty collection $this->initGroupes(); } else { if ($this->statut == "professeur") { if (null !== $criteria) { $collGroupes = GroupeQuery::create(null, $criteria) ->orderByName() ->filterByUtilisateurProfessionnel($this) ->leftJoin('Groupe.JGroupesClasses')->with('JGroupesClasses') ->leftJoin('JGroupesClasses.Classe')->with('Classe') ->orderBy('Classe.Nom') ->find($con); } else { //on utilise du sql directement pour optimiser la requete $sql = "SELECT /* getGroupes manual sql */ groupes.ID, groupes.NAME, groupes.DESCRIPTION, groupes.RECALCUL_RANG, j_groupes_classes.ID_GROUPE, j_groupes_classes.ID_CLASSE, j_groupes_classes.PRIORITE, j_groupes_classes.COEF, j_groupes_classes.CATEGORIE_ID, j_groupes_classes.SAISIE_ECTS, j_groupes_classes.VALEUR_ECTS, classes.ID, classes.CLASSE, classes.NOM_COMPLET, classes.SUIVI_PAR, classes.FORMULE, classes.FORMAT_NOM, classes.DISPLAY_RANG, classes.DISPLAY_ADDRESS, classes.DISPLAY_COEF, classes.DISPLAY_MAT_CAT, classes.DISPLAY_NBDEV, classes.DISPLAY_MOY_GEN, classes.MODELE_BULLETIN_PDF, classes.RN_NOMDEV, classes.RN_TOUTCOEFDEV, classes.RN_COEFDEV_SI_DIFF, classes.RN_DATEDEV, classes.RN_SIGN_CHEFETAB, classes.RN_SIGN_PP, classes.RN_SIGN_RESP, classes.RN_SIGN_NBLIG, classes.RN_FORMULE, classes.ECTS_TYPE_FORMATION, classes.ECTS_PARCOURS, classes.ECTS_CODE_PARCOURS, classes.ECTS_DOMAINES_ETUDE, classes.ECTS_FONCTION_SIGNATAIRE_ATTESTATION FROM `groupes` INNER JOIN j_groupes_professeurs ON (groupes.ID=j_groupes_professeurs.ID_GROUPE) LEFT JOIN j_groupes_classes ON (groupes.ID=j_groupes_classes.ID_GROUPE) LEFT JOIN classes ON (j_groupes_classes.ID_CLASSE=classes.ID) WHERE j_groupes_professeurs.LOGIN='******' ORDER BY groupes.NAME ASC,classes.CLASSE ASC"; $con = Propel::getConnection(GroupePeer::DATABASE_NAME, Propel::CONNECTION_READ); $stmt = $con->prepare($sql); $stmt->execute(); $collGroupes = UtilisateurProfessionnel::getGroupeFormatter()->format($stmt); // $collGroupes = GroupeQuery::create(null, $criteria) // ->orderByName() // ->filterByUtilisateurProfessionnel($this) // ->leftJoin('Groupe.JGroupesClasses')->with('JGroupesClasses') // ->leftJoin('JGroupesClasses.Classe')->with('Classe') // ->orderBy('Classe.Nom') // ->setComment('getGroupes manual sql') // ->find($con); } } elseif ($this->statut == "cpe") { //on ajoute les groupes contenant des eleves sous la responsabilite du cpe $collGroupes = GroupeQuery::create(null, $criteria) ->distinct() ->orderByName() ->useJEleveGroupeQuery()->useEleveQuery()->useJEleveCpeQuery() ->filterByUtilisateurProfessionnel($this) ->endUse()->endUse()->endUse() ->leftJoinWith('Groupe.JGroupesClasses') ->leftJoinWith('JGroupesClasses.Classe') ->orderBy('Classe.Nom') ->find(); } else if ($this->statut == "scolarite") { //on ajoute les groupes des classes sous la responsabilite du compte scolalite $collGroupes = GroupeQuery::create(null, $criteria) ->orderByName() ->useJGroupesClassesQuery()->useClasseQuery()->orderBy('Classe.Nom')->useJScolClassesQuery() ->filterByUtilisateurProfessionnel($this) ->endUse()->endUse()->endUse() ->find(); } else { //par de groupes pour les autres statuts $collGroupes = new PropelObjectCollection(); } if (null !== $criteria) { return $collGroupes; } $this->collGroupes = $collGroupes; } } return $this->collGroupes; }
/** * Gets the number of Groupe objects related by a many-to-many relationship * to the current object by way of the j_groupes_professeurs cross-reference table. * * @param Criteria $criteria Optional query object to filter the query * @param boolean $distinct Set to true to force count distinct * @param PropelPDO $con Optional connection object * * @return int the number of related Groupe objects */ public function countGroupes($criteria = null, $distinct = false, PropelPDO $con = null) { if(null === $this->collGroupes || null !== $criteria) { if ($this->isNew() && null === $this->collGroupes) { return 0; } else { $query = GroupeQuery::create(null, $criteria); if($distinct) { $query->distinct(); } return $query ->filterByUtilisateurProfessionnel($this) ->count($con); } } else { return count($this->collGroupes); } }
echo "<div class='css-panes' id='containDiv'>\n"; echo "<table cellspacing='15px' cellpadding='5px'><tr>"; //on affiche une boite de selection pour l'eleve echo "<td style='border : 1px solid; padding : 10px;'>"; echo "<form action=\"./saisir_eleve.php\" method=\"post\" style=\"width: 100%;\">\n"; echo '<p>'; echo 'Nom : <input type="hidden" name="type_selection" value="nom_eleve"/> '; echo '<input type="text" name="nom_eleve" size="10" value="' . $nom_eleve . '"/> '; echo '<button type="submit">Rechercher</button>'; echo '</p>'; echo '</form>'; echo '</td>'; //on affiche une boite de selection avec les groupes et les creneaux //on affiche une boite de selection avec les aid if (getSettingValue("GepiAccesAbsTouteClasseCpe") == 'yes' && $utilisateur->getStatut() == "cpe") { $groupe_col = GroupeQuery::create()->orderByName()->useJGroupesClassesQuery()->useClasseQuery()->orderByNom()->endUse()->endUse()->leftJoinWith('Groupe.JGroupesClasses')->leftJoinWith('JGroupesClasses.Classe')->find(); } else { $groupe_col = $utilisateur->getGroupes(); } if (!$groupe_col->isEmpty()) { echo "<td style='border : 1px solid; padding : 10px;'>"; echo "<form action=\"./saisir_eleve.php\" method=\"post\" style=\"width: 100%;\">\n"; echo '<p>'; echo '<input type="hidden" name="type_selection" value="id_groupe"/>'; echo "Groupe : <select name=\"id_groupe\" class=\"small\">"; echo "<option value='-1'>choisissez un groupe</option>\n"; foreach ($groupe_col as $group) { echo "<option value='" . $group->getId() . "'"; if ($id_groupe == $group->getId()) { echo " selected='selected' "; }
/** * Removes this object from datastore and sets delete attribute. * * @param PropelPDO $con * @return void * @throws PropelException * @see BaseObject::setDeleted() * @see BaseObject::isDeleted() */ public function delete(PropelPDO $con = null) { if ($this->isDeleted()) { throw new PropelException("This object has already been deleted."); } if ($con === null) { $con = Propel::getConnection(GroupePeer::DATABASE_NAME, Propel::CONNECTION_WRITE); } $con->beginTransaction(); try { $deleteQuery = GroupeQuery::create() ->filterByPrimaryKey($this->getPrimaryKey()); $ret = $this->preDelete($con); if ($ret) { $deleteQuery->delete($con); $this->postDelete($con); $con->commit(); $this->setDeleted(true); } else { $con->commit(); } } catch (Exception $e) { $con->rollBack(); throw $e; } }
/** * Returns a new GroupeQuery object. * * @param string $modelAlias The alias of a model in the query * @param Criteria $criteria Optional Criteria to build the query from * * @return GroupeQuery */ public static function create($modelAlias = null, $criteria = null) { if ($criteria instanceof GroupeQuery) { return $criteria; } $query = new GroupeQuery(); if (null !== $modelAlias) { $query->setModelAlias($modelAlias); } if ($criteria instanceof Criteria) { $query->mergeWith($criteria); } return $query; }
/** * * Renvoi sous forme d'un tableau la liste des groupes d'un eleve pour une période donnée. * * @param mixed $periode numeric, DateTime ou PeriodeNote * @return PropelObjectCollection Groupes[] * */ public function getGroupes($periode = null) { if ($periode != null && !is_numeric($periode) && !($periode instanceOf PeriodeNote) && !($periode instanceOf DateTime)) { throw new PropelException('$periode doit être de type numeric|DateTime|PeriodeNote'); } //on va récupérer le numéro de période $periode_num if (is_numeric($periode)) { $periode_num = $periode; } else { if ($periode instanceOf PeriodeNote) { $periode_num = $periode->getNumPeriode(); } else { //$periode devrait maintenant être un DateTime (ou null) $periode = $this->getPeriodeNote($periode);//on récupère un objet période qui englobe la date if ($periode != null) { $periode_num = $periode->getNumPeriode(); } else { return new PropelObjectCollection();//si la période est nulle, c'est que aucune classe n'a été assignée pour cette élève pour le paramêtre passé } } } if(!isset($this->collGroupes[$periode_num]) || null === $this->collGroupes[$periode_num]) { if ($this->isNew() && null === $this->collGroupes[$periode_num]) { // return empty collection $this->initGroupes($periode_num); } else { $query = GroupeQuery::create(); $query->useJEleveGroupeQuery() ->filterByEleve($this) ->filterByPeriode($periode_num) ->endUse(); $query->orderByName()->distinct(); $this->collGroupes[$periode_num] = $query->find(); } } return $this->collGroupes[$periode_num]; }