/** * * Renvoi l'utilisateur de la session en cours (null si aucun utilisateur trouvé dans la session * * @return UtilisateurProfessionnel utilisateur */ public static function getUtilisateursSessionEnCours() { if (isset($_SESSION) && isset($_SESSION['objets_propel']) && isset($_SESSION['objets_propel']['utilisateurProfessionnel']) && $_SESSION['objets_propel']['utilisateurProfessionnel'] != null && $_SESSION['objets_propel']['utilisateurProfessionnel'] instanceof UtilisateurProfessionnel) { //echo 'utilisateur recupere dans la session'; return $_SESSION['objets_propel']['utilisateurProfessionnel']; } elseif (isset($_SESSION) && isset($_SESSION['login'])) { $utilisateur = UtilisateurProfessionnelQuery::create()->filterByLogin($_SESSION['login'])->findOne(); if ($utilisateur != null) { $_SESSION['objets_propel']['utilisateurProfessionnel'] = $utilisateur; } return $utilisateur; } else { return null; } }
/** * Gets the number of UtilisateurProfessionnel objects related by a many-to-many relationship * to the current object by way of the j_aid_utilisateurs 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 UtilisateurProfessionnel objects */ public function countUtilisateurProfessionnels($criteria = null, $distinct = false, PropelPDO $con = null) { if(null === $this->collUtilisateurProfessionnels || null !== $criteria) { if ($this->isNew() && null === $this->collUtilisateurProfessionnels) { return 0; } else { $query = UtilisateurProfessionnelQuery::create(null, $criteria); if($distinct) { $query->distinct(); } return $query ->filterByAidDetails($this) ->count($con); } } else { return count($this->collUtilisateurProfessionnels); } }
/** * Get the associated UtilisateurProfessionnel object * * @param PropelPDO Optional Connection object. * @return UtilisateurProfessionnel The associated UtilisateurProfessionnel object. * @throws PropelException */ public function getUtilisateurProfessionnel(PropelPDO $con = null) { if ($this->aUtilisateurProfessionnel === null && (($this->login !== "" && $this->login !== null))) { $this->aUtilisateurProfessionnel = UtilisateurProfessionnelQuery::create()->findPk($this->login, $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->aUtilisateurProfessionnel->addJScolClassess($this); */ } return $this->aUtilisateurProfessionnel; }
public function testDelete() { $florence_eleve = EleveQuery::create()->findOneByLogin('Florence Michu'); $saisie = $florence_eleve->getAbsenceEleveSaisiesDuJour(VENDREDI_s40j5)->getFirst(); //on va vérifier que le delete change bien le update_ad $old_updated_at = $saisie->getUpdatedAt('U'); sleep(1); $saisie->delete(); $this->assertGreaterThan($old_updated_at, $saisie->getUpdatedAt('U'), 'le delete doit changer le updated_ad'); $saisie = AbsenceEleveSaisieQuery::create()->filterByEleve($florence_eleve)->filterByDebutAbs(VENDREDI_s40j5.' 08:00:00')->findOne(); $this->assertNull($saisie); $saisie = AbsenceEleveSaisieQuery::create()->includeDeleted()->filterByEleve($florence_eleve)->filterByDebutAbs(VENDREDI_s40j5.' 08:00:00')->findOne(); $this->assertNotNull($saisie); AbsenceEleveSaisiePeer::enableAgregation(); $florence_eleve = EleveQuery::create()->findOneByLogin('Florence Michu'); $lebesgue_prof = UtilisateurProfessionnelQuery::create()->findOneByLogin('Lebesgue'); $saisie = new AbsenceEleveSaisie(); $saisie->setEleve($florence_eleve); $saisie->setUtilisateurProfessionnel($lebesgue_prof); $saisie->setDebutAbs(JEUDI_s38j4.' 08:00:00'); $saisie->setFinAbs(JEUDI_s38j4.' 09:00:00'); $saisie->save(); $decompte = AbsenceAgregationDecompteQuery::create()->filterByEleve($florence_eleve)->filterByDateDemiJounee(JEUDI_s38j4)->findOne(); $this->assertTrue($decompte->getManquementObligationPresence()); $saisie->getEleve()->clearAllReferences(); $saisie->delete(); $decompte = AbsenceAgregationDecompteQuery::create()->filterByEleve($florence_eleve)->filterByDateDemiJounee(JEUDI_s38j4)->findOne(); $this->assertFalse($decompte->getManquementObligationPresence()); }
public function testUpdateAbsenceAgregationTable() { //on purge les decompte pour florence $florence_eleve = EleveQuery::create()->findOneByLogin('Florence Michu'); AbsenceAgregationDecompteQuery::create()->deleteAll(); $florence_eleve->updateAbsenceAgregationTable(new DateTime(VENDREDI_s40j5.' 00:00:00'),new DateTime(MARDI_s41j2.' 23:59:59')); $this->assertEquals(11,AbsenceAgregationDecompteQuery::create()->filterByEleve($florence_eleve)->count()); AbsenceAgregationDecompteQuery::create()->deleteAll(); $florence_eleve->updateAbsenceAgregationTable(new DateTime(SAMEDI_s35j6.' 00:00:00'),new DateTime(DIMANCHEs35j7.' 23:59:59'));//ce test ne se terminait pas $this->assertEquals(5,AbsenceAgregationDecompteQuery::create()->filterByEleve($florence_eleve)->count()); AbsenceAgregationDecompteQuery::create()->deleteAll(); $florence_eleve->updateAbsenceAgregationTable(null,new DateTime(MARDI_s41j2.' 23:59:59')); $this->assertEquals(11,AbsenceAgregationDecompteQuery::create()->filterByEleve($florence_eleve)->count()); AbsenceAgregationDecompteQuery::create()->deleteAll(); $florence_eleve->updateAbsenceAgregationTable(new DateTime(VENDREDI_s40j5.' 00:00:00'),new DateTime(MARDI_s41j2.' 23:59:59')); $this->assertEquals(11,AbsenceAgregationDecompteQuery::create()->filterByEleve($florence_eleve)->count()); AbsenceAgregationDecompteQuery::create()->deleteAll(); $florence_eleve->updateAbsenceAgregationTable(new DateTime(VENDREDI_s40j5.' 00:00:00'),new DateTime(VENDREDI_s42j5.' 23:59:59')); $this->assertEquals(31,AbsenceAgregationDecompteQuery::create()->filterByEleve($florence_eleve)->count()); $this->assertEquals(4, AbsenceAgregationDecompteQuery::create()->filterByEleve($florence_eleve)->filterByManquementObligationPresence(true)->count()); $this->assertEquals(1, AbsenceAgregationDecompteQuery::create()->filterByEleve($florence_eleve)->filterByManquementObligationPresence(true)->filterByNonJustifiee(false)->count()); $this->assertEquals(4, AbsenceAgregationDecompteQuery::create()->filterByEleve($florence_eleve)->filterByRetards(1)->count()); $this->assertEquals(1, AbsenceAgregationDecompteQuery::create()->filterByEleve($florence_eleve)->filterByRetards(2)->count()); $this->assertEquals(4, AbsenceAgregationDecompteQuery::create()->filterByEleve($florence_eleve)->filterByRetardsNonJustifies(1)->count()); $demi_journee = AbsenceAgregationDecompteQuery::create()->filterByEleve($florence_eleve)->filterByManquementObligationPresence(true)->filterByNonJustifiee(false)->findOne(); $this->assertEquals(JEUDI_s42j4.' 00:00:00', $demi_journee->getDateDemiJounee('Y-m-d H:i:s')); AbsenceAgregationDecompteQuery::create()->deleteAll(); $florence_eleve->updateAbsenceAgregationTable(new DateTime(SAMEDI_s35j6.' 00:00:00'),new DateTime(DIMANCHEs35j7.' 23:59:59')); $this->assertEquals(5,AbsenceAgregationDecompteQuery::create()->filterByEleve($florence_eleve)->count()); $this->assertEquals(0, AbsenceAgregationDecompteQuery::create()->filterByEleve($florence_eleve)->filterByManquementObligationPresence(true)->count()); $this->assertEquals(5, AbsenceAgregationDecompteQuery::create()->filterByEleve($florence_eleve)->filterByRetards(0)->count()); AbsenceAgregationDecompteQuery::create()->filterByEleve($florence_eleve)->delete(); $saisie = new AbsenceEleveSaisie();//on va vérifier que la mise à jour de la table d'agrégation est bien limité à 3 ans dans le passé et dans le futur $saisie->setEleve($florence_eleve); $saisie->setUtilisateurProfessionnel(UtilisateurProfessionnelQuery::create()->findOneByLogin('Dolto')); $before = new DateTime(); $before->modify('-4 years'); $saisie->setDebutAbs($before); $after = new DateTime(); $after->modify('+4 years'); $saisie->setFinAbs($after); $saisie->save(); $now = new DateTime(); $florence_eleve->updateAbsenceAgregationTable(); $col = AbsenceAgregationDecompteQuery::create()->filterByEleve($florence_eleve)->orderByDateDemiJounee()->find(); $this->assertTrue($now->format('U') - $col->get(1)->getDateDemiJounee('U') < 3600*24*365*3 + 3600*24); $this->assertTrue($now->format('U') - $col->get(1)->getDateDemiJounee('U') > 3600*24*365*3 - 3600*24); $this->assertTrue($col->getLast()->getDateDemiJounee('U') - $now->format('U') < 3600*24*365*3 + 3600*24); $this->assertTrue($col->getLast()->getDateDemiJounee('U') - $now->format('U') > 3600*24*365*3 - 3600*24); try { $florence_eleve->updateAbsenceAgregationTable(new DateTime('1980-09-01 00:00:00'),null); $this->fail('Une exception doit être soulevée lors de cette demande car les dates sont trop larges'); } catch (Exception $e) { $this->assertTrue(true); } try { $florence_eleve->updateAbsenceAgregationTable(new DateTime('2100-09-01 00:00:00'),null); $this->fail('Une exception doit être soulevée lors de cette demande car les dates sont trop larges'); } catch (Exception $e) { $this->assertTrue(true); } try { $florence_eleve->updateAbsenceAgregationTable(null,new DateTime('2100-09-01 00:00:00')); $this->fail('Une exception doit être soulevée lors de cette demande car les dates sont trop larges'); } catch (Exception $e) { $this->assertTrue(true); } try { $florence_eleve->updateAbsenceAgregationTable(null,new DateTime('1980-09-01 00:00:00')); $this->fail('Une exception doit être soulevée lors de cette demande car les dates sont trop larges'); } catch (Exception $e) { $this->assertTrue(true); } }
if ($saisie->getEleve() == null) { echo "Marqueur d'appel effectué"; } else { echo $saisie->getEleve()->getCivilite() . ' ' . $saisie->getEleve()->getNom() . ' ' . $saisie->getEleve()->getPrenom(); echo ' ' . $saisie->getEleve()->getClasseNom(); } echo '</td> <td>' . $version->getDateDescription() . '</td> <td>'; if ($version->getVersion() == 1) { echo 'Créée le : '; } else { echo 'Modifiée le : '; } echo strftime("%a %d/%m/%Y %H:%M", $version->getVersionCreatedAt('U')); $modifie_par_utilisateur = UtilisateurProfessionnelQuery::create()->filterByLogin($version->getVersionCreatedBy())->findOne(); if ($modifie_par_utilisateur != null) { echo ' par ' . $modifie_par_utilisateur->getCivilite() . ' ' . $modifie_par_utilisateur->getNom() . ' ' . mb_substr($modifie_par_utilisateur->getPrenom(), 0, 1) . '.'; } echo '</td>'; /* echo ' <td>'; if ($version->getVersion() != $saisie->getVersion() && $saisie->getDeletedAt() == null) { echo '<a href="enregistrement_modif_saisie.php?id_saisie='.$saisie->getPrimaryKey().'&version='.$version->getVersion().''; echo'" target="_blank">Revenir à cette version</a>'; } echo '</td>'; */ echo ' </tr>';
// initialisations $mode_saisie = isset($_POST["mode"]) ? $_POST["mode"] :(isset($_GET["mode"]) ? $_GET["mode"] : NULL); $presaisie = $mode_saisie == 'presaisie' ? true : false; if ($acces_scol) $presaisie = false; // On force une saisie normale si profil scolarité if ($acces_prof and !$acces_prof_suivi) $presaisie = true; // On force le mode 'présaisie' si on a un prof 'normal' // Maintenant on peut utiliser $presaisie dans les tests de manière relativement fiable. $id_classe = isset($_POST["id_classe"]) ? $_POST["id_classe"] :(isset($_GET["id_classe"]) ? $_GET["id_classe"] :NULL); $periode_num = isset($_POST["periode_num"]) ? $_POST["periode_num"] :(isset($_GET["periode_num"]) ? $_GET["periode_num"] :NULL); $fiche = isset($_POST["fiche"]) ? $_POST["fiche"] :(isset($_GET["fiche"]) ? $_GET["fiche"] :NULL); $current_eleve_login = isset($_POST["current_eleve_login"]) ? $_POST["current_eleve_login"] :(isset($_GET["current_eleve_login"]) ? $_GET["current_eleve_login"] :NULL); $ind_eleve_login_suiv = isset($_POST["ind_eleve_login_suiv"]) ? $_POST["ind_eleve_login_suiv"] :(isset($_GET["ind_eleve_login_suiv"]) ? $_GET["ind_eleve_login_suiv"] :NULL); $current_eleve_login_ap = isset($NON_PROTECT["current_eleve_login_ap"]) ? traitement_magic_quotes(corriger_caracteres($NON_PROTECT["current_eleve_login_ap"])) :NULL; $affiche_message = isset($_GET["affiche_message"]) ? $_GET["affiche_message"] :NULL; $CurrentUser = UtilisateurProfessionnelQuery::create()->findPK($_SESSION['login']); include "../lib/periodes.inc.php"; //******************************************************************************************************* $msg = ''; // Le formulaire a été posté if (isset($_POST['is_posted'])) { check_token(); // On s'assure que la période sur laquelle on effectue l'enregistrement est valide
/** * Renvoie la liste des professeurs avec leurs matières rattachées (nom, prénom, login, liste matières) */ public function listeProfesseursAvecMatieres() { $profs = UtilisateurProfessionnelQuery::create()->filterByStatut('professeur')->filterByEtat('actif')->find(); $retour = $this->_format == 'xml' ? '<?xml version=\'1.0\' encoding=\'UTF-8\'?><professeurs>' : array(); foreach ($profs as $prof) { $matieres = array(); $profMat = $prof->getJProfesseursMatieressJoinMatiere(); foreach ($profMat as $mat) { $matieres[] = $mat->getMatiere()->getMatiere(); } if ($this->_format == 'xml') { $retour .= ' <professeur> <nom>' . $prof->getNom() . '</nom> <prenom>' . $prof->getPrenom() . '</prenom> <civilite>' . $prof->getCivilite() . '</civilite> <login>' . $prof->getLogin() . '</login> <numind>' . $prof->getNumind() . '</numind> <email>' . $prof->getEmail() . '</email>'; foreach ($matieres as $matiere) { $retour .= ' <matiere>' . $matiere . '</matiere>'; } $retour .= ' </professeur> '; } else { $retour[] = array($prof->getNom(), $prof->getPrenom(), $prof->getCivilite(), $prof->getLogin(), $prof->getNumind(), $prof->getEmail(), $matieres); } } if ($this->_format == 'xml') { $retour .= '</professeurs>'; } return $retour; }
} echo "<tr style='background-color :$background_couleur'>\n"; echo '<td>'; echo "<a href='visu_saisie.php?id_saisie=".$saisie->getPrimaryKey()."' style='display: block; height: 100%; color: #330033'> "; echo $saisie->getId(); echo "</a>"; echo '</td>'; if (getFiltreRechercheParam('filter_saisies_supprimees') == 'y') { echo '</td>'; echo '<td>'; echo "<a href='visu_saisie.php?id_saisie=".$saisie->getPrimaryKey()."' style='display: block; height: 100%; color: #330033'>\n"; echo (strftime("%a %d/%m/%Y %H:%M", $saisie->getDeletedAt('U'))); $suppr_utilisateur = UtilisateurProfessionnelQuery::create()->findPK($saisie->getDeletedBy()); if ($suppr_utilisateur != null) { echo ' par '. $suppr_utilisateur->getCivilite().' '.$suppr_utilisateur->getNom().' '.mb_substr($suppr_utilisateur->getPrenom(), 0, 1).'.';; } echo "</a>"; echo '</td>'; } echo '<td>'; if ($saisie->getEleve() != null) { echo "<table style='border-spacing:0px; border-style : none; margin : 0px; padding : 0px; font-size:100%; width:100%'>"; echo "<tr style='border-spacing:0px; border-style : none; margin : 0px; padding : 0px; font-size:100%;'>"; echo "<td style='border-spacing:0px; border-style : none; margin : 0px; padding : 0px; font-size:100%;'>"; echo "<a href='visu_saisie.php?id_saisie=".$saisie->getPrimaryKey()."' style='display: block; height: 100%; color: #330033'> "; echo ($saisie->getEleve()->getCivilite().' '.$saisie->getEleve()->getNom().' '.$saisie->getEleve()->getPrenom()); echo "</a>";
/** * Get the associated UtilisateurProfessionnel object * * @param PropelPDO Optional Connection object. * @return UtilisateurProfessionnel The associated UtilisateurProfessionnel object. * @throws PropelException */ public function getModifieParUtilisateur(PropelPDO $con = null) { if ($this->aModifieParUtilisateur === null && (($this->modifie_par_utilisateur_id !== "" && $this->modifie_par_utilisateur_id !== null))) { $this->aModifieParUtilisateur = UtilisateurProfessionnelQuery::create()->findPk($this->modifie_par_utilisateur_id, $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->aModifieParUtilisateur->addModifiedAbsenceEleveTraitements($this); */ } return $this->aModifieParUtilisateur; }
/** * 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(UtilisateurProfessionnelPeer::DATABASE_NAME, Propel::CONNECTION_WRITE); } $con->beginTransaction(); try { $deleteQuery = UtilisateurProfessionnelQuery::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; } }
public function testGetAidDetailssStatutCpe() { $dolto = UtilisateurProfessionnelQuery::create()->findOneByLogin('Dolto'); $aid_detailss = $dolto->getAidDetailss(); $this->assertEquals(1,$aid_detailss->count()); }
public function testCompte_demi_journee() { $florence_eleve = EleveQuery::create()->findOneByLogin('Florence Michu'); $saisie_col = AbsenceEleveSaisieQuery::create()->orderByDebutAbs(Criteria::DESC); try { AbsencesEleveSaisieHelper::compte_demi_journee($saisie_col); $this->fail('Une exception doit être soulevée lors de cette sauvegarde'); } catch (Exception $e) { $this->assertTrue(true); } $this->assertTrue(AbsencesEleveSaisieHelper::compte_demi_journee(new PropelCollection())->isEmpty()); $saisie_col = new PropelCollection(); $saisie = new AbsenceEleveSaisie(); $saisie->setDebutAbs('2010-11-01 08:00:00'); $saisie->setFinAbs('2010-11-01 13:00:00'); $saisie_col->append($saisie); saveSetting('abs2_heure_demi_journee','11:50'); $this->assertEquals(1,AbsencesEleveSaisieHelper::compte_demi_journee($saisie_col)->count()); saveSetting('abs2_heure_demi_journee','11:10'); $this->assertEquals(2,AbsencesEleveSaisieHelper::compte_demi_journee($saisie_col)->count()); saveSetting('abs2_heure_demi_journee','11:50'); $saisie = new AbsenceEleveSaisie(); $saisie->setDebutAbs('2010-11-01 09:00:00'); $saisie->setFinAbs('2010-11-01 17:00:00'); $saisie_col->append($saisie); $this->assertEquals(2,AbsencesEleveSaisieHelper::compte_demi_journee($saisie_col)->count()); $saisie = new AbsenceEleveSaisie(); $saisie->setDebutAbs('2010-11-01 09:00:00'); $saisie->setFinAbs('2010-11-01 17:00:00'); $saisie_col->append($saisie); $this->assertEquals(2,AbsencesEleveSaisieHelper::compte_demi_journee($saisie_col)->count()); $saisie = new AbsenceEleveSaisie(); $saisie->setDebutAbs('2010-11-02 10:00:00'); $saisie->setFinAbs('2010-11-02 10:50:00'); $saisie_col->append($saisie); $this->assertEquals(3,AbsencesEleveSaisieHelper::compte_demi_journee($saisie_col)->count()); $saisie = new AbsenceEleveSaisie(); $saisie->setDebutAbs('2010-11-02 11:00:00'); $saisie->setFinAbs('2010-11-02 13:30:00'); $saisie_col->append($saisie); $this->assertEquals(3,AbsencesEleveSaisieHelper::compte_demi_journee($saisie_col)->count()); $saisie = new AbsenceEleveSaisie(); $saisie->setDebutAbs('2010-11-02 11:00:00'); $saisie->setFinAbs('2010-11-02 17:30:00'); $saisie_col->append($saisie); $this->assertEquals(4,AbsencesEleveSaisieHelper::compte_demi_journee($saisie_col)->count()); $saisie = new AbsenceEleveSaisie(); $saisie->setDebutAbs('2010-11-02 11:00:00'); $saisie->setFinAbs('2010-11-03 10:30:00'); $saisie_col->append($saisie); $this->assertEquals(5,AbsencesEleveSaisieHelper::compte_demi_journee($saisie_col)->count()); $saisie = new AbsenceEleveSaisie(); $saisie->setDebutAbs('2010-11-02 11:00:00'); $saisie->setFinAbs('2010-11-03 17:30:00');//c'est un mercredi am donc on le compte pas, le total resta à 5 $saisie_col->append($saisie); $this->assertEquals(5,AbsencesEleveSaisieHelper::compte_demi_journee($saisie_col)->count()); $saisie = new AbsenceEleveSaisie(); $saisie->setDebutAbs('2010-11-03 16:00:00'); $saisie->setFinAbs('2010-11-03 17:30:00'); $saisie_col->append($saisie); $this->assertEquals(5,AbsencesEleveSaisieHelper::compte_demi_journee($saisie_col)->count()); $saisie = new AbsenceEleveSaisie(); $saisie->setDebutAbs('2010-11-03 16:00:00'); $saisie->setFinAbs('2010-11-04 02:00:00'); $saisie_col->append($saisie); $this->assertEquals(5,AbsencesEleveSaisieHelper::compte_demi_journee($saisie_col)->count()); $saisie = new AbsenceEleveSaisie(); $saisie->setDebutAbs('2010-11-03 16:00:00'); $saisie->setFinAbs('2010-11-04 09:00:00'); $saisie_col->append($saisie); $this->assertEquals(6,AbsencesEleveSaisieHelper::compte_demi_journee($saisie_col)->count()); $saisie = new AbsenceEleveSaisie(); $saisie->setDebutAbs('2010-11-04 15:00:00'); $saisie->setFinAbs('2010-11-04 16:00:00'); $saisie_col->append($saisie); $this->assertEquals(7,AbsencesEleveSaisieHelper::compte_demi_journee($saisie_col)->count()); $saisie_col = new PropelCollection(); $saisie = new AbsenceEleveSaisie(); $saisie->setDebutAbs('2010-11-05 14:00:00'); $saisie->setFinAbs('2010-11-05 15:00:00'); $saisie_col->append($saisie); saveSetting('abs2_heure_demi_journee','12:50'); $this->assertEquals('12:00',AbsencesEleveSaisieHelper::compte_demi_journee($saisie_col)->getFirst()->format('H:i')); saveSetting('abs2_heure_demi_journee','11:50'); $florence_eleve = EleveQuery::create()->findOneByLogin('Florence Michu'); $lebesgue_prof = UtilisateurProfessionnelQuery::create()->findOneByLogin('Lebesgue'); $saisie = new AbsenceEleveSaisie(); $saisie->setDebutAbs('2010-10-19 08:00:00'); $saisie->setFinAbs('2010-10-19 16:30:00'); $saisie->setEleve($florence_eleve); $saisie->setUtilisateurProfessionnel($lebesgue_prof); $saisie->save(); $saisie_col = new PropelCollection(); $saisie_col->append($saisie); $this->assertEquals(2,AbsencesEleveSaisieHelper::compte_demi_journee($saisie_col)->count()); //on va tester les effets de borne d'intervalle pour la bascule de midi saveSetting('abs2_heure_demi_journee','11:55'); $saisie_col = new PropelCollection(); $saisie = new AbsenceEleveSaisie(); $saisie->setDebutAbs('2010-11-05 11:55:00');//cette saisie va compter pour une après midi $saisie->setFinAbs('2010-11-05 12:25:00'); $saisie_col->append($saisie); $this->assertEquals('12:00',AbsencesEleveSaisieHelper::compte_demi_journee($saisie_col)->getFirst()->format('H:i')); $saisie_col = new PropelCollection(); $saisie = new AbsenceEleveSaisie(); $saisie->setDebutAbs('2010-11-05 11:50:00'); $saisie->setFinAbs('2010-11-05 12:25:00'); $saisie_col->append($saisie); $this->assertEquals('00:00',AbsencesEleveSaisieHelper::compte_demi_journee($saisie_col)->getFirst()->format('H:i')); }
/** * Returns a new UtilisateurProfessionnelQuery object. * * @param string $modelAlias The alias of a model in the query * @param Criteria $criteria Optional Criteria to build the query from * * @return UtilisateurProfessionnelQuery */ public static function create($modelAlias = null, $criteria = null) { if ($criteria instanceof UtilisateurProfessionnelQuery) { return $criteria; } $query = new UtilisateurProfessionnelQuery(); if (null !== $modelAlias) { $query->setModelAlias($modelAlias); } if ($criteria instanceof Criteria) { $query->mergeWith($criteria); } return $query; }