/** * Filtre la requete pour les eleves qui sont sous la responsabilite de l'utilisateur * en tant que prof principal, cpe ou scolarite * * @param UtilisateurProfessionnel $utilisateurProfessionnel the related object to use as filter * * @return EleveQuery The current query, for fluid interface */ public function filterByUtilisateurProfessionnel($utilisateurProfessionnel) { if ($utilisateurProfessionnel == null || ($utilisateurProfessionnel->getStatut() != "cpe" && $utilisateurProfessionnel->getStatut() != "professeur" && $utilisateurProfessionnel->getStatut() != "scolarite" && $utilisateurProfessionnel->getStatut() != "responsable" && $utilisateurProfessionnel->getStatut() != "autre")) { //on filtre tout return $this->where('1 <> 1'); } elseif ($utilisateurProfessionnel->getStatut() == "cpe") { $this->useJEleveCpeQuery()->filterByUtilisateurProfessionnel($utilisateurProfessionnel)->endUse(); return $this; } elseif ($utilisateurProfessionnel->getStatut() == "autre") { //pas de filtrage, tout les eleves sont acceptes return $this; } else if ($utilisateurProfessionnel->getStatut() == "professeur") { $this->useJEleveProfesseurPrincipalQuery()->filterByUtilisateurProfessionnel($utilisateurProfessionnel)->endUse(); return $this; } else if ($utilisateurProfessionnel->getStatut() == "scolarite") { $this->useJEleveClasseQuery()->addJoin(JEleveClassePeer::ID_CLASSE, JScolClassesPeer::ID_CLASSE, Criteria::INNER_JOIN) ->add(JScolClassesPeer::LOGIN, $utilisateurProfessionnel->getLogin()) ->endUse()->distinct(); return $this; } else if ($utilisateurProfessionnel->getStatut() == "responsable") { $this->useResponsableInformationQuery()->useResponsableEleveQuery()->filterByLogin($utilisateurProfessionnel->getLogin())->endUse()->endUse(); return $this; } }
/** * Filtre la requete pour les classes qui sont sous la responsabilite de l'utilisateur * en tant que prof principal, cpe ou scolarite * Pour les status cpe et professeur, on renvoi une classe dès qu'un élève de cette classe est sous la responsabilité de l'utilisateur * * @param UtilisateurProfessionnel $utilisateurProfessionnel the related object to use as filter * * @return ClasseQuery The current query, for fluid interface */ public function filterByUtilisateurProfessionnel($utilisateurProfessionnel) { if ($utilisateurProfessionnel === null) { //on filtre tout return $this->where('1 <> 1'); } else if ($utilisateurProfessionnel->getStatut() == "professeur") { return $this->useJEleveClasseQuery()->useEleveQuery()->useJEleveProfesseurPrincipalQuery()->filterByUtilisateurProfessionnel($utilisateurProfessionnel)->endUse()->endUse()->endUse(); } else if ($utilisateurProfessionnel->getStatut() == "cpe") { return $this->useJEleveClasseQuery()->useEleveQuery()->useJEleveCpeQuery()->filterByUtilisateurProfessionnel($utilisateurProfessionnel)->endUse()->endUse()->endUse(); } else if ($utilisateurProfessionnel->getStatut() == "scolarite") { return $this->useJScolClassesQuery()->filterByUtilisateurProfessionnel($utilisateurProfessionnel)->endUse(); } else { //on filtre tout return $this->where('1 <> 1'); } }
function verif_debut_fin_saisie(DateTime $dt_date_debut_appel, DateTime $dt_date_fin_appel, UtilisateurProfessionnel $utilisateur, $edt_cours) { $message_enregistrement = ''; if ($dt_date_debut_appel === null) { $message_enregistrement .= "Le début de saisie doit etre précisée.<br/>"; return $message_enregistrement; } if ($dt_date_fin_appel === null) { $message_enregistrement .= "La fin de saisie doit etre précisée.<br/>"; return $message_enregistrement; } ////on verifie si l'utilisateur a le droit de saisir cela if ($utilisateur->getStatut() == 'professeur') { if ($dt_date_debut_appel->format('d/m/Y') != $dt_date_fin_appel->format('d/m/Y')) { $message_enregistrement .= "Saisie sur plusieurs jours non autorisée.<br/>"; } //verification des autorisation de saisies decaleer if (getSettingValue("abs2_saisie_prof_decale") != 'y') { $now = new DateTime('now'); if ($dt_date_debut_appel->format('d/m/Y') != $now->format('d/m/Y') || $dt_date_fin_appel->format('d/m/Y') != $now->format('d/m/Y')) { $message_enregistrement .= "Saisie non autorisée autre que pour la journée courante.<br/>"; } } if ($edt_cours != null && $utilisateur->getStatut() == 'professeur' && getSettingValue("abs2_saisie_prof_hors_cours") != 'y') { //on verifie que le saisie ne deborde pas du cours if ($edt_cours->getHeureDebut('Hi') > $dt_date_debut_appel->format('Hi')) { $message_enregistrement .= "L'heure de début de saisie ne peut pas être antérieure au cours.<br/>"; } if ($edt_cours->getHeureFin('Hi') < $dt_date_fin_appel->format('Hi')) { $message_enregistrement .= "L'heure de fin de saisie ne peut pas être postérieure au cours.<br/>"; } } } if ($dt_date_debut_appel->format('U') > $dt_date_fin_appel->format('U')) { $message_enregistrement .= "L'heure de fin de saisie ne peut etre anterieure à l'heure de début.<br/>"; } return $message_enregistrement; }