Exemple #1
0
        /**
	 *
	 * Retourne une collection brute de saisies contenant les absences à prendre en compte dans les decomptes de demi-journées
	 * entre deux dates
	 *
	 * @param      DateTime $date_debut
	 * @param      DateTime $date_fin
	 *
	 * @return PropelCollection  AbsenceEleveSaisie[]
	 */
	public function getAbsenceEleveSaisiesParDate($date_debut= null, $date_fin= null) {
	    $request_query_hash = 'query_AbsenceEleveSaisieQuery_filterByEleve_'.$this->getId().'_filterByPlageTemps_deb_';
	    if ($date_debut != null) { $request_query_hash .= $date_debut->format('U');}
	    else {$request_query_hash .= 'null';}
	    $request_query_hash .= '_fin_';
	    if ($date_fin != null) {$request_query_hash .= $date_fin->format('U');}
	    else {$request_query_hash .= 'null';}

	    if (isset($_REQUEST[$request_query_hash]) && $_REQUEST[$request_query_hash] != null) {
		$abs_saisie_col = $_REQUEST[$request_query_hash];
	    } else {
                if ($date_debut== null && $date_fin== null) {
                    $abs_saisie_col = parent::getAbsenceEleveSaisies();
                } else {
                    $abs_saisie_col =  AbsenceEleveSaisieQuery::create()
                        ->filterByEleve($this)
                        ->filterByPlageTemps($date_debut, $date_fin)
                        ->orderByDebutAbs(Criteria::ASC)
                        ->leftJoinWith('AbsenceEleveSaisie.JTraitementSaisieEleve')
                        ->leftJoinWith('JTraitementSaisieEleve.AbsenceEleveTraitement')
                        ->leftJoinWith('AbsenceEleveTraitement.AbsenceEleveType')
                        ->distinct()
                        ->find();
                }
                $_REQUEST[$request_query_hash] = $abs_saisie_col;
	    }
	    return $abs_saisie_col;
	}