예제 #1
0
    public function testSave()
    {
        global $_SESSION;
        $_SESSION['login'] = '******';
         
        $florence_eleve = EleveQuery::create()->findOneByLogin('Florence Michu');
         
        $saisie_3 = $florence_eleve->getAbsenceEleveSaisiesDuJour(SAMEDI_s40j6)->getFirst();
        $traitement = new AbsenceEleveTraitement();
        $traitement->addAbsenceEleveSaisie($saisie_3);
        $traitement->setAbsenceEleveType(AbsenceEleveTypeQuery::create()->filterByNom('Exclusion de cours')->findOne());
        $traitement->save();
        $this->assertEquals('Lebesgue',$traitement->getUtilisateurId());
        $traitement->setAbsenceEleveType(AbsenceEleveTypeQuery::create()->filterByNom('Absence scolaire')->findOne());
        $traitement->save();
        $this->assertEquals('Lebesgue',$traitement->getModifieParUtilisateurId());

        AbsenceEleveTraitementPeer::disableAgregation();
        $traitement = AbsenceEleveTraitementQuery::create()->useJTraitementSaisieEleveQuery()
        ->useAbsenceEleveSaisieQuery()->filterByDebutAbs(JEUDI_s42j4.' 08:00:00')
        ->endUse()->endUse()->findOne();
        $traitement->setAbsenceEleveType(AbsenceEleveTypeQuery::create()->filterByNom('Infirmerie')->findOne());
        $traitement->save();
        $decompte = AbsenceAgregationDecompteQuery::create()->filterByEleve($florence_eleve)->filterByDateDemiJounee(JEUDI_s42j4)->findOne();
        $this->assertTrue($decompte == null || $decompte->getManquementObligationPresence() == true);
         
        AbsenceEleveTraitementPeer::enableAgregation();
        $traitement->save();
        $decompte = AbsenceAgregationDecompteQuery::create()->filterByEleve($florence_eleve)->filterByDateDemiJounee(JEUDI_s42j4)->findOne();
        $this->assertFalse($decompte->getManquementObligationPresence());
        $traitement->setAbsenceEleveType(AbsenceEleveTypeQuery::create()->filterByNom('Absence scolaire')->findOne());
        $traitement->save();
        $decompte = AbsenceAgregationDecompteQuery::create()->filterByEleve($florence_eleve)->filterByDateDemiJounee(JEUDI_s42j4)->findOne();
        $this->assertTrue($decompte->getManquementObligationPresence());
        AbsenceEleveTraitementPeer::disableAgregation();
    }
	/**
	 * Filter the query by a related AbsenceEleveTraitement object
	 *
	 * @param     AbsenceEleveTraitement $absenceEleveTraitement  the related object to use as filter
	 * @param     string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL
	 *
	 * @return    UtilisateurProfessionnelQuery The current query, for fluid interface
	 */
	public function filterByModifiedAbsenceEleveTraitement($absenceEleveTraitement, $comparison = null)
	{
		if ($absenceEleveTraitement instanceof AbsenceEleveTraitement) {
			return $this
				->addUsingAlias(UtilisateurProfessionnelPeer::LOGIN, $absenceEleveTraitement->getModifieParUtilisateurId(), $comparison);
		} elseif ($absenceEleveTraitement instanceof PropelCollection) {
			return $this
				->useModifiedAbsenceEleveTraitementQuery()
				->filterByPrimaryKeys($absenceEleveTraitement->getPrimaryKeys())
				->endUse();
		} else {
			throw new PropelException('filterByModifiedAbsenceEleveTraitement() only accepts arguments of type AbsenceEleveTraitement or PropelCollection');
		}
	}