Beispiel #1
0
    public static function populate($con = null)
    {
        if($con === null) {
            $con = Propel::getConnection();
        }

        $con->beginTransaction();

        // Add utilisateur records
        // ---------------------

        $lebesgue_prof = new UtilisateurProfessionnel();
        $lebesgue_prof->setLogin('Lebesgue');
        $lebesgue_prof->setStatut('professeur');
        $lebesgue_prof->setPreferenceValeur('glace_parfum','chocolat');
        $lebesgue_prof->save($con);

        $newton_prof = new UtilisateurProfessionnel();
        $newton_prof->setLogin('Newton');
        $newton_prof->setStatut('professeur');
        $newton_prof->save($con);

        $curie_prof = new UtilisateurProfessionnel();
        $curie_prof->setLogin('Curie');
        $curie_prof->setStatut('professeur');
        $curie_prof->save($con);

        $dolto_cpe = new UtilisateurProfessionnel();
        $dolto_cpe->setLogin('Dolto');
        $dolto_cpe->setStatut('cpe');
        $dolto_cpe->save($con);

        $aubert_scola = new UtilisateurProfessionnel();
        $aubert_scola->setLogin('Aubert');
        $aubert_scola->setStatut('scolarite');
        $aubert_scola->save($con);

        $florence_eleve = new Eleve();
        $florence_eleve->setLogin('Florence Michu');
        $florence_eleve->setEleId('00112233');
        $florence_eleve->save();
        $adresse = new Adresse();
        $adresse->setAdr1('13 rue du paradis');
        $adresse->setCommune('Montendre');
        $adresse->setCp('01001');
        $adresse->save();
        $adresse->setId('add id 1');
        $responsable = new ResponsableEleve();
        $responsable->setCivilite('M.');
        $responsable->setNom('Michu');
        $responsable->setMel('mail@test');
        $responsable->setPrenom('Mere');
        $responsable->setResponsableEleveId('id 1');
        $responsable->setAdresse($adresse);
        $responsable->save();
        $responsable_info = new ResponsableInformation();
        $responsable_info->setEleve($florence_eleve);
        $responsable_info->setNiveauResponsabilite(1);
        $responsable_info->setResponsableEleve($responsable);
        $responsable_info->save();
        $responsable2 = new ResponsableEleve();
        $responsable2->setCivilite('Mme.');
        $responsable2->setNom('Michudame');
        $responsable2->setMel('mail@test');
        $responsable2->setPrenom('Mere');
        $responsable2->setResponsableEleveId('id 2');
        $responsable2->setAdresse($adresse);
        $responsable2->save();
        $responsable_info2 = new ResponsableInformation();
        $responsable_info2->setEleve($florence_eleve);
        $responsable_info2->setNiveauResponsabilite(2);
        $responsable_info2->setResponsableEleve($responsable2);
        $responsable_info2->save();
        $dolto_cpe->addEleve($florence_eleve);
        $dolto_cpe->save();
        $newton_prof->addEleve($florence_eleve);
        $newton_prof->save();

        $nicolas_eleve = new Eleve();
        $nicolas_eleve->setLogin('Nicolas Dupont');
        $nicolas_eleve->setEleId('00112234');
        $nicolas_eleve->save();

        $michel_eleve = new Eleve();
        $michel_eleve->setLogin('Michel Martin');
        $michel_eleve->setEleId('00112235');
        $michel_eleve->setDateSortie(LUNDI_s52j1);
        $michel_eleve->save();

        $classe_6A = new Classe();
        $classe_6A->setNom('6ieme A');
        $classe_6A->save();
        $periode_6A_1 = new PeriodeNote();
        $periode_6A_1->setClasse($classe_6A);
        $periode_6A_1->setNumPeriode(1);
        $periode_6A_1->setVerouiller('O');
        $periode_6A_1->setNomPeriode('premier trimestre');
        $periode_6A_1->setDateFin(trimestre1.' 00:00:00');
        $periode_6A_1->save();
        $periode_6A_2 = new PeriodeNote();
        $periode_6A_2->setClasse($classe_6A);
        $periode_6A_2->setNumPeriode(2);
        $periode_6A_2->setVerouiller('N');
        $periode_6A_2->setNomPeriode('deuxième trimestre');
        $periode_6A_2->setDateFin(trimestre2.' 23:59:59');
        $periode_6A_2->save();

        $classe_6A->addEleve($florence_eleve,1);//florence est dans la 6A pour les deux premiers trimestres et dans la 6B pour les deux suivants
        $classe_6A->addEleve($florence_eleve,2);
        $aubert_scola->addClasse($classe_6A);
        $aubert_scola->save();

        $classe_6B = new Classe();
        $classe_6B->setNom('6ieme B');
        $classe_6B->save();
        $periode_6B_2 = new PeriodeNote();
        $periode_6B_2->setClasse($classe_6B);
        $periode_6B_2->setNumPeriode(2);
        $periode_6B_2->setVerouiller('O');
        $periode_6B_2->setNomPeriode('deuxième trimestre');
        $periode_6B_2->setDateFin(trimestre2.' 23:59:59');
        $periode_6B_2->save();
        $periode_6B_3 = new PeriodeNote();
        $periode_6B_3->setClasse($classe_6B);
        $periode_6B_3->setNumPeriode(3);
        $periode_6B_3->setVerouiller('O');
        $periode_6B_3->setNomPeriode('troisième trimestre');
        $periode_6B_3->setDateFin(trimestre3.' 23:59:59');
        $periode_6B_3->save();
        $classe_6B->addEleve($nicolas_eleve,1);
        $classe_6B->addEleve($nicolas_eleve,2);
        $classe_6B->addEleve($florence_eleve,3);

        $groupe_math = new Groupe();
        $groupe_math->setName('MATH6A');
        $groupe_math->addEleve($florence_eleve, 1);
        $groupe_math->addEleve($florence_eleve, 2);
        $groupe_math->addEleve($florence_eleve, 3);
        $groupe_math->addUtilisateurProfessionnel($lebesgue_prof);
        $groupe_math->addClasse($classe_6A);
        $groupe_math->addClasse($classe_6B);
        $groupe_math->save();

        $aid_1 = new AidDetails();
        $aid_1->setNom('aid 1');
        $aid_1->setId('1ai');
        $aid_1->addEleve($florence_eleve);
        $aid_1->addUtilisateurProfessionnel($newton_prof);
        $aid_1->save();

        //on va peupler les absences 2
        include_once(dirname(__FILE__).'/../../../../mod_abs2/admin/function.php');
        ajoutMotifsParDefaut();
        ajoutLieuxParDefaut();
        ajoutJustificationsParDefaut();
        ajoutTypesParDefaut();

        $saisie_1 = new AbsenceEleveSaisie();
        $saisie_1->setEleve($florence_eleve);
        $saisie_1->setUtilisateurProfessionnel($lebesgue_prof);
        $saisie_1->setDebutAbs(VENDREDI_s40j5.' 08:00:00');//le 2010-10-01 est un vendredi
        $saisie_1->setFinAbs(VENDREDI_s40j5.' 09:00:00');
        $saisie_1->save();

        $saisie_2 = new AbsenceEleveSaisie();
        $saisie_2->setEleve($florence_eleve);
        $saisie_2->setUtilisateurProfessionnel($lebesgue_prof);
        $saisie_2->setDebutAbs(SAMEDI_s40j6.' 08:00:00');//samedi : ne comptera pas comme demi journée d'absence
        $saisie_2->setFinAbs(SAMEDI_s40j6.' 09:00:00');
        $saisie_2->save();
        $traitement = new AbsenceEleveTraitement();
        $traitement->addAbsenceEleveSaisie($saisie_2);
        $traitement->setAbsenceEleveType(AbsenceEleveTypeQuery::create()->filterByNom('Absence scolaire')->findOne());
        $traitement->setUtilisateurProfessionnel($dolto_cpe);
        $traitement->setAbsenceEleveJustification(AbsenceEleveJustificationQuery::create()->filterByNom('Courrier familial')->findOne());
        $traitement->save();
        $notification = new AbsenceEleveNotification();
        $notification->setStatutEnvoi(AbsenceEleveNotificationPeer::STATUT_ENVOI_EN_COURS);
        $notification->setTypeNotification(AbsenceEleveNotificationPeer::TYPE_NOTIFICATION_COURRIER);
        $notification->setAbsenceEleveTraitement($traitement);
        $notification->save();

        $saisie_3 = new AbsenceEleveSaisie();
        $saisie_3->setEleve($florence_eleve);
        $saisie_3->setUtilisateurProfessionnel($lebesgue_prof);
        $saisie_3->setDebutAbs(DIMANCHE_s40j7.' 08:00:00');//dimanche : ne comptera pas comme demi journée d'absence
        $saisie_3->setFinAbs(DIMANCHE_s40j7.' 08:29:00');
        $saisie_3->save();
        $traitement = new AbsenceEleveTraitement();
        $traitement->addAbsenceEleveSaisie($saisie_3);
        $traitement->setAbsenceEleveType(AbsenceEleveTypeQuery::create()->filterByNom('Exclusion de cours')->findOne());
        $traitement->setUtilisateurProfessionnel($dolto_cpe);
        $traitement->save();

        $saisie_4 = new AbsenceEleveSaisie();
        $saisie_4->setEleve($florence_eleve);
        $saisie_4->setUtilisateurProfessionnel($lebesgue_prof);
        $saisie_4->setDebutAbs(LUNDI_s41j1.' 08:00:00');
        $saisie_4->setFinAbs(LUNDI_s41j1.' 08:29:00');//retard : ne comptera pas comme demi journée d'absence
        $saisie_4->save();
        $traitement = new AbsenceEleveTraitement();
        $traitement->addAbsenceEleveSaisie($saisie_4);
        $traitement->setAbsenceEleveType(AbsenceEleveTypeQuery::create()->filterByNom('Retard intercours')->findOne());
        $traitement->setUtilisateurProfessionnel($dolto_cpe);
        $traitement->save();
        $traitement = new AbsenceEleveTraitement();
        $traitement->addAbsenceEleveSaisie($saisie_4);
        $traitement->setAbsenceEleveType(AbsenceEleveTypeQuery::create()->filterByNom('Absence scolaire')->findOne());
        $traitement->setUtilisateurProfessionnel($dolto_cpe);
        $traitement->setAbsenceEleveJustification(AbsenceEleveJustificationQuery::create()->filterByNom('Courrier familial')->findOne());
        $traitement->save();
        $traitement = new AbsenceEleveTraitement();
        $traitement->addAbsenceEleveSaisie($saisie_4);
        $traitement->setAbsenceEleveType(AbsenceEleveTypeQuery::create()->filterByNom('Erreur de saisie')->findOne());
        $traitement->setUtilisateurProfessionnel($dolto_cpe);
        $traitement->save();
        $notification = new AbsenceEleveNotification();
        $notification->setStatutEnvoi(AbsenceEleveNotificationPeer::STATUT_ENVOI_SUCCES);
        $notification->setTypeNotification(AbsenceEleveNotificationPeer::TYPE_NOTIFICATION_COURRIER);
        $notification->setAbsenceEleveTraitement($traitement);
        $notification->save();

        $saisie_5 = new AbsenceEleveSaisie();
        $saisie_5->setEleve($florence_eleve);
        $saisie_5->setUtilisateurProfessionnel($lebesgue_prof);
        $saisie_5->setDebutAbs(MARDI_s41j2.' 08:00:00');
        $saisie_5->setFinAbs(MARDI_s41j2.' 08:29:00');//retard : ne comptera pas comme demi journée d'absence
        $saisie_5->save();
        $saisie_51 = new AbsenceEleveSaisie();
        $saisie_51->setEleve($florence_eleve);
        $saisie_51->setUtilisateurProfessionnel($lebesgue_prof);
        $saisie_51->setDebutAbs(MARDI_s41j2.' 09:00:00');
        $saisie_51->setFinAbs(MARDI_s41j2.' 09:29:00');//retard : ne comptera pas comme demi journée d'absence
        $saisie_51->save();
        $traitement = new AbsenceEleveTraitement();
        $traitement->addAbsenceEleveSaisie($saisie_5);
        $traitement->setUtilisateurProfessionnel($dolto_cpe);
        $traitement->setAbsenceEleveJustification(AbsenceEleveJustificationQuery::create()->filterByNom('Courrier familial')->findOne());
        $traitement->save();


        $saisie_6 = new AbsenceEleveSaisie();
        $saisie_6->setEleve($florence_eleve);
        $saisie_6->setUtilisateurProfessionnel($lebesgue_prof);
        $saisie_6->setDebutAbs(MERCREDI_s41j3.' 08:00:00');
        $saisie_6->setFinAbs(MERCREDI_s41j3.' 09:00:00');
        $saisie_6->save();
        $traitement = new AbsenceEleveTraitement();
        $traitement->addAbsenceEleveSaisie($saisie_6);
        $traitement->setAbsenceEleveType(AbsenceEleveTypeQuery::create()->filterByNom('Retard exterieur')->findOne());//c'est le retard extérieur qui va prendre le dessus : ne comptera pas comme demi journée d'absence
        $traitement->setUtilisateurProfessionnel($dolto_cpe);
        $traitement->save();
        $traitement = new AbsenceEleveTraitement();
        $traitement->addAbsenceEleveSaisie($saisie_6);
        $traitement->setAbsenceEleveType(AbsenceEleveTypeQuery::create()->filterByNom('Absence scolaire')->findOne());
        $traitement->setUtilisateurProfessionnel($dolto_cpe);
        $traitement->save();
        $traitement = new AbsenceEleveTraitement();
        $traitement->addAbsenceEleveSaisie($saisie_6);
        $traitement->setAbsenceEleveType(AbsenceEleveTypeQuery::create()->filterByNom('Erreur de saisie')->findOne());
        $traitement->setUtilisateurProfessionnel($dolto_cpe);
        $traitement->save();

        $saisie_7 = new AbsenceEleveSaisie();
        $saisie_7->setEleve($florence_eleve);
        $saisie_7->setUtilisateurProfessionnel($lebesgue_prof);
        $saisie_7->setDebutAbs(JEUDI_s41j4.' 08:00:00');
        $saisie_7->setFinAbs(JEUDI_s41j4.' 09:00:00');
        $saisie_7->save();
        $traitement = new AbsenceEleveTraitement();
        $traitement->addAbsenceEleveSaisie($saisie_7);
        $traitement->setAbsenceEleveType(AbsenceEleveTypeQuery::create()->filterByNom('Erreur de saisie')->findOne());
        $traitement->setUtilisateurProfessionnel($dolto_cpe);
        $traitement->save();

        $saisie_8 = new AbsenceEleveSaisie();
        $saisie_8->setEleve($florence_eleve);
        $saisie_8->setUtilisateurProfessionnel($lebesgue_prof);
        $saisie_8->setDebutAbs(VENDREDI_s41j5.' 08:00:00');
        $saisie_8->setFinAbs(VENDREDI_s41j5.' 09:00:00');
        $saisie_8->save();
        $saisie_81 = new AbsenceEleveSaisie();
        $saisie_81->setEleve($florence_eleve);
        $saisie_81->setUtilisateurProfessionnel($lebesgue_prof);
        $saisie_81->setDebutAbs(VENDREDI_s41j5.' 08:00:00');
        $saisie_81->setFinAbs(VENDREDI_s41j5.' 08:10:00');//ce retard ne sera pas décompté car il est inclus dans une absence plus globale
        $saisie_81->save();
        $traitement = new AbsenceEleveTraitement();
        $traitement->addAbsenceEleveSaisie($saisie_81);
        $traitement->setAbsenceEleveType(AbsenceEleveTypeQuery::create()->filterByNom('Retard exterieur')->findOne());
        $traitement->setUtilisateurProfessionnel($dolto_cpe);
        $traitement->save();

        $saisie_9 = new AbsenceEleveSaisie();
        $saisie_9->setEleve($florence_eleve);
        $saisie_9->setUtilisateurProfessionnel($lebesgue_prof);
        $saisie_9->setDebutAbs(SAMEDI_s41j6.' 08:00:00');
        $saisie_9->setFinAbs(SAMEDI_s41j6.' 09:00:00');//samedi : ne comptera pas comme demi journée d'absence
        $saisie_9->save();
        $saisie_91 = new AbsenceEleveSaisie();
        $saisie_91->setEleve($florence_eleve);
        $saisie_91->setUtilisateurProfessionnel($lebesgue_prof);
        $saisie_91->setDebutAbs(SAMEDI_s41j6.' 08:00:00');
        $saisie_91->setFinAbs(SAMEDI_s41j6.' 08:10:00');
        $saisie_91->save();
        $traitement = new AbsenceEleveTraitement();
        $traitement->addAbsenceEleveSaisie($saisie_91);
        $traitement->setAbsenceEleveType(AbsenceEleveTypeQuery::create()->filterByNom('Infirmerie')->findOne());
        $traitement->setUtilisateurProfessionnel($dolto_cpe);
        $traitement->save();

        $saisie_10 = new AbsenceEleveSaisie();
        //$saisie_9->setEleve($florence_eleve);//aucun eleve : c'est un marqueur d'appel éffectué
        $saisie_10->setUtilisateurProfessionnel($lebesgue_prof);
        $saisie_10->setDebutAbs(DIMANCHE_s41j7.' 08:00:00');
        $saisie_10->setFinAbs(DIMANCHE_s41j7.' 09:00:00');
        $saisie_10->setGroupe($groupe_math);
        $saisie_10->save();
        $saisie_101 = new AbsenceEleveSaisie();
        $saisie_101->setEleve($florence_eleve);
        $saisie_101->setUtilisateurProfessionnel($lebesgue_prof);
        $saisie_101->setDebutAbs(DIMANCHE_s41j7.' 08:00:00');
        $saisie_101->setFinAbs(DIMANCHE_s41j7.' 08:10:00');
        $saisie_101->save();
        $traitement = new AbsenceEleveTraitement();
        $traitement->addAbsenceEleveSaisie($saisie_101);
        $traitement->setAbsenceEleveType(AbsenceEleveTypeQuery::create()->filterByNom('Retard exterieur')->findOne());
        $traitement->setUtilisateurProfessionnel($dolto_cpe);
        $traitement->save();

        $saisie_11 = new AbsenceEleveSaisie();
        //$saisie_9->setEleve($florence_eleve);//aucun eleve : c'est un marqueur d'appel éffectué
        $saisie_11->setUtilisateurProfessionnel($lebesgue_prof);
        $saisie_11->setDebutAbs(LUNDI_s42j1.' 08:00:00');
        $saisie_11->setFinAbs(LUNDI_s42j1.' 09:00:00');
        $saisie_11->setClasse($classe_6A);
        $saisie_11->save();
        $saisie_111 = new AbsenceEleveSaisie();
        $saisie_111->setEleve($florence_eleve);
        $saisie_111->setUtilisateurProfessionnel($lebesgue_prof);
        $saisie_111->setDebutAbs(LUNDI_s42j1.' 08:00:00');
        $saisie_111->setFinAbs(LUNDI_s42j1.' 08:10:00');
        $saisie_111->save();
        $traitement = new AbsenceEleveTraitement();
        $traitement->addAbsenceEleveSaisie($saisie_111);
        $traitement->setAbsenceEleveType(AbsenceEleveTypeQuery::create()->filterByNom('Retard exterieur')->findOne());
        $traitement->setUtilisateurProfessionnel($dolto_cpe);
        $traitement->save();

        $saisie_12 = new AbsenceEleveSaisie();
        //$saisie_9->setEleve($florence_eleve);//aucun eleve : c'est un marqueur d'appel éffectué
        $saisie_12->setUtilisateurProfessionnel($lebesgue_prof);
        $saisie_12->setDebutAbs(MARDI_s42j2.' 08:00:00');
        $saisie_12->setFinAbs(MARDI_s42j2.' 09:00:00');
        $saisie_12->setAidDetails($aid_1);
        $saisie_12->save();
        $saisie_121 = new AbsenceEleveSaisie();
        $saisie_121->setEleve($florence_eleve);
        $saisie_121->setUtilisateurProfessionnel($lebesgue_prof);
        $saisie_121->setDebutAbs(MARDI_s42j2.' 08:00:00');
        $saisie_121->setFinAbs(MARDI_s42j2.' 08:10:00');
        $saisie_121->save();
        $traitement = new AbsenceEleveTraitement();
        $traitement->addAbsenceEleveSaisie($saisie_121);
        $traitement->setAbsenceEleveType(AbsenceEleveTypeQuery::create()->filterByNom('Retard exterieur')->findOne());
        $traitement->setUtilisateurProfessionnel($dolto_cpe);
        $traitement->save();

        $saisie_13 = new AbsenceEleveSaisie();
        //$saisie_13->setEleve($florence_eleve);//aucun eleve : c'est un marqueur d'appel effectué
        $saisie_13->setUtilisateurProfessionnel($lebesgue_prof);
        $saisie_13->setDebutAbs(MERCREDI_s42j3.' 08:00:00');
        $saisie_13->setFinAbs(MERCREDI_s42j3.' 09:00:00');
        $saisie_13->setClasse($classe_6A);
        $saisie_13->save();
        $saisie_131 = new AbsenceEleveSaisie();
        $saisie_131->setEleve($florence_eleve);
        $saisie_131->setUtilisateurProfessionnel($lebesgue_prof);
        $saisie_131->setDebutAbs(MERCREDI_s42j3.' 08:00:00');
        $saisie_131->setFinAbs(MERCREDI_s42j3.' 08:10:00');
        $saisie_131->save();
        $traitement = new AbsenceEleveTraitement();
        $traitement->addAbsenceEleveSaisie($saisie_131);
        $traitement->setAbsenceEleveType(AbsenceEleveTypeQuery::create()->filterByNom('Infirmerie')->findOne());
        $traitement->setUtilisateurProfessionnel($dolto_cpe);
        $traitement->save();

        $saisie_14 = new AbsenceEleveSaisie();
        $saisie_14->setEleve($florence_eleve);
        $saisie_14->setUtilisateurProfessionnel($lebesgue_prof);
        $saisie_14->setDebutAbs(JEUDI_s42j4.' 08:00:00');
        $saisie_14->setFinAbs(JEUDI_s42j4.' 09:00:00');
        $saisie_14->setClasse($classe_6A);
        $saisie_14->save();
        $traitement = new AbsenceEleveTraitement();
        $traitement->addAbsenceEleveSaisie($saisie_14);
        $traitement->setUtilisateurProfessionnel($dolto_cpe);
        $traitement->setAbsenceEleveJustification(AbsenceEleveJustificationQuery::create()->filterByNom('Courrier familial')->findOne());
        $traitement->save();

        $saisie_15 = new AbsenceEleveSaisie();
        $saisie_15->setEleve($florence_eleve);
        $saisie_15->setUtilisateurProfessionnel($lebesgue_prof);
        $saisie_15->setDebutAbs(VENDREDI_s42j5.' 08:00:00');
        $saisie_15->setFinAbs(VENDREDI_s42j5.' 09:00:00');
        $saisie_15->setClasse($classe_6A);
        $saisie_15->save();
        $saisie_151 = new AbsenceEleveSaisie();
        $saisie_151->setEleve($florence_eleve);
        $saisie_151->setUtilisateurProfessionnel($lebesgue_prof);
        $saisie_151->setDebutAbs(VENDREDI_s42j5.' 08:00:00');//ce retard ne sera pas décompté car il est inclus dans une absence plus globale
        $saisie_151->setFinAbs(VENDREDI_s42j5.' 08:10:00');
        $saisie_151->setClasse($classe_6A);
        $saisie_151->save();

        $saisie_16 = new AbsenceEleveSaisie();
        //$saisie_9->setEleve($florence_eleve);//aucun eleve : c'est un marqueur d'appel éffectué
        $saisie_16->setUtilisateurProfessionnel($lebesgue_prof);
        $saisie_16->setDebutAbs(SAMEDI_s42j6.' 08:00:00');
        $saisie_16->setFinAbs(SAMEDI_s42j6.' 09:00:00');
        $saisie_16->setAidDetails($aid_1);
        $saisie_16->save();
        $traitement = new AbsenceEleveTraitement();
        $traitement->addAbsenceEleveSaisie($saisie_16);
        $traitement->setAbsenceEleveType(AbsenceEleveTypeQuery::create()->filterByNom('Erreur de saisie')->findOne());
        $traitement->setUtilisateurProfessionnel($dolto_cpe);
        $traitement->save();

        $saisie_17 = new AbsenceEleveSaisie();
        $saisie_17->setEleve($florence_eleve);
        $saisie_17->setUtilisateurProfessionnel($lebesgue_prof);
        $saisie_17->setDebutAbs(DIMANCHE_s42j7.' 08:00:00');
        $saisie_17->setFinAbs(DIMANCHE_s42j7.' 09:00:00');
        $saisie_17->save();
        $saisie_171 = new AbsenceEleveSaisie();
        $saisie_171->setEleve($florence_eleve);
        $saisie_171->setUtilisateurProfessionnel($lebesgue_prof);
        $saisie_171->setDebutAbs(DIMANCHE_s42j7.' 14:00:00');
        $saisie_171->setFinAbs(DIMANCHE_s42j7.' 15:00:00');
        $saisie_171->save();
        $traitement = new AbsenceEleveTraitement();
        $traitement->addAbsenceEleveSaisie($saisie_17);
        $traitement->addAbsenceEleveSaisie($saisie_171);
        $traitement->setAbsenceEleveType(AbsenceEleveTypeQuery::create()->filterByNom('Absence scolaire')->findOne());
        $traitement->setUtilisateurProfessionnel($dolto_cpe);
        $traitement->save();
        
        $saisie_18 = new AbsenceEleveSaisie();
        $saisie_18->setEleve($florence_eleve);
        $saisie_18->setUtilisateurProfessionnel($lebesgue_prof);
        $saisie_18->setDebutAbs(LUNDI_s43j1.' 08:00:00');
        $saisie_18->setFinAbs(LUNDI_s43j1.' 09:00:00');
        $saisie_18->save();
        $traitement = new AbsenceEleveTraitement();
        $traitement->addAbsenceEleveSaisie($saisie_18);
        $traitement->setAbsenceEleveType(AbsenceEleveTypeQuery::create()->filterByNom('Retard exterieur')->findOne());//c'est le retard extérieur qui va prendre le dessus : ne comptera pas comme demi journée d'absence
        $traitement->setUtilisateurProfessionnel($dolto_cpe);
        $traitement->save();
        $saisie_181 = new AbsenceEleveSaisie();//la saisie 181 est la même que 18 mais elle va être comptée comme une absence normale et non un retard
        $saisie_181->setEleve($florence_eleve);
        $saisie_181->setUtilisateurProfessionnel($lebesgue_prof);
        $saisie_181->setDebutAbs(LUNDI_s43j1.' 08:00:00');
        $saisie_181->setFinAbs(LUNDI_s43j1.' 09:00:00');
        $saisie_181->save();
        
        $saisie_19 = new AbsenceEleveSaisie(); //saisie sur une journée ouvrée un mardi
        $saisie_19->setEleve($florence_eleve);
        $saisie_19->setUtilisateurProfessionnel($lebesgue_prof);
        $saisie_19->setDebutAbs(MARDI_s43j2.' 08:00:00');
        $saisie_19->setFinAbs(MARDI_s43j2.' 16:30:00');
        $saisie_19->save();

        $saisie_20 = new AbsenceEleveSaisie(); //saisie sur plusieurs journées du jeudi 28-10 au mardi 2-11-2010, 1 seule saisie
        $saisie_20->setEleve($florence_eleve);
        $saisie_20->setUtilisateurProfessionnel($dolto_cpe);
        $saisie_20->setDebutAbs(JEUDI_s44j4.' 08:00:00');
        $saisie_20->setFinAbs(MARDI_s45j2.' 17:00:00');
        $saisie_20->save();
        $traitement = new AbsenceEleveTraitement();
        $traitement->addAbsenceEleveSaisie($saisie_20);
        $traitement->setAbsenceEleveType(AbsenceEleveTypeQuery::create()->filterByNom('Absence scolaire')->findOne());
        $traitement->setUtilisateurProfessionnel($dolto_cpe);
        $traitement->save();
		
        $saisie_21 = new AbsenceEleveSaisie(); //saisie sur 1 journée et sortir l'élève de l'établissement
        $saisie_21->setEleve($florence_eleve);
        $saisie_21->setUtilisateurProfessionnel($lebesgue_prof);
        $saisie_21->setDebutAbs(LUNDI_a1_s22j1.' 08:00:00');
        $saisie_21->setFinAbs(LUNDI_a1_s22j1.' 16:30:00');
        $saisie_21->save();
        
        $saisie_22 = new AbsenceEleveSaisie();
        $saisie_22->setEleve($florence_eleve);
        $saisie_22->setUtilisateurProfessionnel($lebesgue_prof);
        $saisie_22->setDebutAbs(MARDI_a1_s22j2.' 08:01:00');
        $saisie_22->setFinAbs(MARDI_a1_s22j2.' 09:00:00');
        $saisie_22->save();
        $saisie_221 = new AbsenceEleveSaisie();
        $saisie_221->setEleve($florence_eleve);
        $saisie_221->setUtilisateurProfessionnel($lebesgue_prof);
        $saisie_221->setDebutAbs(MARDI_a1_s22j2.' 08:00:00');
        $saisie_221->setFinAbs(MARDI_a1_s22j2.' 09:10:00');
        $saisie_221->save();
        $traitement = new AbsenceEleveTraitement();
        $traitement->addAbsenceEleveSaisie($saisie_221);
        $traitement->setAbsenceEleveType(AbsenceEleveTypeQuery::create()->filterByNom('Infirmerie')->findOne());
        $traitement->setUtilisateurProfessionnel($dolto_cpe);
        $traitement->save();

        $saisie_23 = new AbsenceEleveSaisie();
        $saisie_23->setEleve($florence_eleve);
        $saisie_23->setUtilisateurProfessionnel($lebesgue_prof);
        $saisie_23->setDebutAbs(MERCREDI_a1_s22j3.' 08:01:00');
        $saisie_23->setFinAbs(MERCREDI_a1_s22j3.' 08:10:00');
        $saisie_23->save();
        $saisie_231 = new AbsenceEleveSaisie();
        $saisie_231->setEleve($florence_eleve);
        $saisie_231->setUtilisateurProfessionnel($lebesgue_prof);
        $saisie_231->setDebutAbs(MERCREDI_a1_s22j3.' 08:00:00');
        $saisie_231->setFinAbs(MERCREDI_a1_s22j3.' 09:10:00');
        $saisie_231->save();
        $traitement = new AbsenceEleveTraitement();
        $traitement->addAbsenceEleveSaisie($saisie_231);
        $traitement->setAbsenceEleveType(AbsenceEleveTypeQuery::create()->filterByNom('Infirmerie')->findOne());
        $traitement->setUtilisateurProfessionnel($dolto_cpe);
        $traitement->save();

        //on ajoute des cours
        $edtCours = new EdtEmplacementCours();
        $edtCours->setGroupe($groupe_math);
        $edtCours->setDuree(2);
        $edtCours->setIdDefiniePeriode(4);
        $edtCours->setJourSemaine('vendredi');
        $edtCours->setHeuredebDec(0);
        $edtCours->setUtilisateurProfessionnel($lebesgue_prof);
        $edtCours->save();
        $edtCours = new EdtEmplacementCours();
        $edtCours->setGroupe($groupe_math);
        $edtCours->setDuree(2);
        $edtCours->setIdDefiniePeriode(1);
        $edtCours->setJourSemaine('jeudi');
        $edtCours->setHeuredebDec(0);
        $edtCours->setUtilisateurProfessionnel($lebesgue_prof);
        $edtCours->save();
        $edtCours = new EdtEmplacementCours();
        $edtCours->setAidDetails($aid_1);
        $edtCours->setDuree(2);
        $edtCours->setIdDefiniePeriode(4);
        $edtCours->setJourSemaine('vendredi');
        $edtCours->setHeuredebDec(0);
        $edtCours->setUtilisateurProfessionnel($newton_prof);
        $edtCours->save();

        //on va peupler des saisies englobantes ou identiques
        $saisie_1 = new AbsenceEleveSaisie();
        $saisie_1->setEleve($florence_eleve);
        $saisie_1->setUtilisateurProfessionnel($lebesgue_prof);
        $saisie_1->setDebutAbs(JEUDI_a1_s22j4.' 08:00:00');
        $saisie_1->setFinAbs(JEUDI_a1_s22j4.' 09:00:00');
        $saisie_1->save();
        $saisie_1 = new AbsenceEleveSaisie();
        $saisie_1->setEleve($florence_eleve);
        $saisie_1->setUtilisateurProfessionnel($lebesgue_prof);
        $saisie_1->setDebutAbs(JEUDI_a1_s22j4.' 07:00:00');
        $saisie_1->setFinAbs(JEUDI_a1_s22j4.' 10:00:00');
        $saisie_1->save();
        $traitement = new AbsenceEleveTraitement();
        $traitement->addAbsenceEleveSaisie($saisie_1);
        $traitement->setAbsenceEleveType(AbsenceEleveTypeQuery::create()->filterByNom('Infirmerie')->findOne());
        $traitement->setUtilisateurProfessionnel($dolto_cpe);
        $traitement->save();

        $saisie_1 = new AbsenceEleveSaisie();
        $saisie_1->setEleve($florence_eleve);
        $saisie_1->setUtilisateurProfessionnel($lebesgue_prof);
        $saisie_1->setDebutAbs(VENDREDI_a1_s22j5.' 08:00:00');
        $saisie_1->setFinAbs(VENDREDI_a1_s22j5.' 09:00:00');
        $saisie_1->save();
        $saisie_1 = new AbsenceEleveSaisie();
        $saisie_1->setEleve($florence_eleve);
        $saisie_1->setUtilisateurProfessionnel($lebesgue_prof);
        $saisie_1->setDebutAbs(VENDREDI_a1_s22j5.' 08:00:00');
        $saisie_1->setFinAbs(VENDREDI_a1_s22j5.' 09:00:00');
        $saisie_1->save();
        $traitement = new AbsenceEleveTraitement();
        $traitement->addAbsenceEleveSaisie($saisie_1);
        $traitement->setAbsenceEleveType(AbsenceEleveTypeQuery::create()->filterByNom('Infirmerie')->findOne());
        $traitement->setUtilisateurProfessionnel($dolto_cpe);
        $traitement->save();

        $saisie_1 = new AbsenceEleveSaisie();
        $saisie_1->setEleve($florence_eleve);
        $saisie_1->setUtilisateurProfessionnel($lebesgue_prof);
        $saisie_1->setDebutAbs(LUNDI_a1_s23j1.' 08:00:00');
        $saisie_1->setFinAbs(LUNDI_a1_s23j1.' 09:00:00');
        $saisie_1->save();
        $saisie_1 = new AbsenceEleveSaisie();
        $saisie_1->setEleve($florence_eleve);
        $saisie_1->setUtilisateurProfessionnel($lebesgue_prof);
        $saisie_1->setDebutAbs(LUNDI_a1_s23j1.' 08:00:00');
        $saisie_1->setFinAbs(LUNDI_a1_s23j1.' 09:30:00');
        $saisie_1->save();
        $traitement = new AbsenceEleveTraitement();
        $traitement->addAbsenceEleveSaisie($saisie_1);
        $traitement->setAbsenceEleveType(AbsenceEleveTypeQuery::create()->filterByNom('Infirmerie')->findOne());
        $traitement->setUtilisateurProfessionnel($dolto_cpe);
        $traitement->save();
        $saisie_1 = new AbsenceEleveSaisie();
        $saisie_1->setEleve($florence_eleve);
        $saisie_1->setUtilisateurProfessionnel($lebesgue_prof);
        $saisie_1->setDebutAbs(LUNDI_a1_s23j1.' 08:00:00');
        $saisie_1->setFinAbs(LUNDI_a1_s23j1.' 10:00:00');
        $saisie_1->save();

        $saisie_1 = new AbsenceEleveSaisie();
        $saisie_1->setEleve($florence_eleve);
        $saisie_1->setUtilisateurProfessionnel($lebesgue_prof);
        $saisie_1->setDebutAbs(MARDI_a1_s23j2.' 08:00:00');
        $saisie_1->setFinAbs(MARDI_a1_s23j2.' 09:00:00');
        $saisie_1->save();
        $traitement = new AbsenceEleveTraitement();
        $traitement->addAbsenceEleveSaisie($saisie_1);
        $traitement->setAbsenceEleveType(AbsenceEleveTypeQuery::create()->filterByNom('Infirmerie')->findOne());
        $traitement->setUtilisateurProfessionnel($dolto_cpe);
        $traitement->save();
        $saisie_1 = new AbsenceEleveSaisie();
        $saisie_1->setEleve($florence_eleve);
        $saisie_1->setUtilisateurProfessionnel($lebesgue_prof);
        $saisie_1->setDebutAbs(MARDI_a1_s23j2.' 09:00:00');
        $saisie_1->setFinAbs(MARDI_a1_s23j2.' 09:40:00');
        $saisie_1->save();
        $saisie_1 = new AbsenceEleveSaisie();
        $saisie_1->setEleve($florence_eleve);
        $saisie_1->setUtilisateurProfessionnel($lebesgue_prof);
        $saisie_1->setDebutAbs(MARDI_a1_s23j2.' 08:00:00');
        $saisie_1->setFinAbs(MARDI_a1_s23j2.' 10:00:00');
        $saisie_1->save();
        $traitement = new AbsenceEleveTraitement();
        $traitement->addAbsenceEleveSaisie($saisie_1);
        $traitement->setAbsenceEleveJustification(AbsenceEleveJustificationQuery::create()->filterByNom('Courrier familial')->findOne());
        $traitement->setUtilisateurProfessionnel($dolto_cpe);
        $traitement->save();

        $saisie_1 = new AbsenceEleveSaisie();
        $saisie_1->setEleve($florence_eleve);
        $saisie_1->setUtilisateurProfessionnel($lebesgue_prof);
        $saisie_1->setDebutAbs(MERCREDI_a1_s23j3.' 08:00:00');
        $saisie_1->setFinAbs(MERCREDI_a1_s23j3.' 09:00:00');
        $saisie_1->save();
        $saisie_1 = new AbsenceEleveSaisie();
        $saisie_1->setEleve($florence_eleve);
        $saisie_1->setUtilisateurProfessionnel($lebesgue_prof);
        $saisie_1->setDebutAbs(MERCREDI_a1_s23j3.' 08:00:00');
        $saisie_1->setFinAbs(MERCREDI_a1_s23j3.' 09:00:00');
        $saisie_1->save();
        $traitement = new AbsenceEleveTraitement();
        $traitement->addAbsenceEleveSaisie($saisie_1);
        $traitement->setAbsenceEleveJustification(AbsenceEleveJustificationQuery::create()->filterByNom('Courrier familial')->findOne());
        $traitement->setAbsenceEleveType(AbsenceEleveTypeQuery::create()->filterByNom('Infirmerie')->findOne());
        $traitement->setUtilisateurProfessionnel($dolto_cpe);
        $traitement->save();

        $saisie_1 = new AbsenceEleveSaisie();
        $saisie_1->setEleve($florence_eleve);
        $saisie_1->setUtilisateurProfessionnel($lebesgue_prof);
        $saisie_1->setDebutAbs(JEUDI_a1_s23j4.' 08:00:00');
        $saisie_1->setFinAbs(JEUDI_a1_s23j4.' 08:10:00');
        $saisie_1->save();
        $saisie_1 = new AbsenceEleveSaisie();
        $saisie_1->setEleve($florence_eleve);
        $saisie_1->setUtilisateurProfessionnel($lebesgue_prof);
        $saisie_1->setDebutAbs(JEUDI_a1_s23j4.' 08:00:00');
        $saisie_1->setFinAbs(JEUDI_a1_s23j4.' 08:15:00');
        $saisie_1->save();
        $traitement = new AbsenceEleveTraitement();
        $traitement->addAbsenceEleveSaisie($saisie_1);
        $traitement->setUtilisateurProfessionnel($dolto_cpe);
        $traitement->save();
        $notification = new AbsenceEleveNotification();
        $notification->setStatutEnvoi(AbsenceEleveNotificationPeer::STATUT_ENVOI_EN_COURS);
        $notification->setTypeNotification(AbsenceEleveNotificationPeer::TYPE_NOTIFICATION_COURRIER);
        $notification->setAbsenceEleveTraitement($traitement);
        $notification->save();
        
        $saisie_1 = new AbsenceEleveSaisie();
        $saisie_1->setEleve($florence_eleve);
        $saisie_1->setUtilisateurProfessionnel($lebesgue_prof);
        $saisie_1->setDebutAbs(VENDREDI_a1_s23j5.' 08:00:00');
        $saisie_1->setFinAbs(VENDREDI_a1_s23j5.' 08:10:00');
        $saisie_1->save();
        $saisie_1 = new AbsenceEleveSaisie();
        $saisie_1->setEleve($florence_eleve);
        $saisie_1->setUtilisateurProfessionnel($lebesgue_prof);
        $saisie_1->setDebutAbs(VENDREDI_a1_s23j5.' 08:00:00');
        $saisie_1->setFinAbs(VENDREDI_a1_s23j5.' 08:10:00');
        $saisie_1->save();

        $saisie_1 = new AbsenceEleveSaisie();
        $saisie_1->setEleve($florence_eleve);
        $saisie_1->setUtilisateurProfessionnel($lebesgue_prof);
        $saisie_1->setDebutAbs(SAMEDI_a1_s23j6.' 08:00:00');
        $saisie_1->setFinAbs(SAMEDI_a1_s23j6.' 09:00:00');
        $saisie_1->save();
        $saisie_1 = new AbsenceEleveSaisie();
        $saisie_1->setEleve($florence_eleve);
        $saisie_1->setUtilisateurProfessionnel($lebesgue_prof);
        $saisie_1->setDebutAbs(SAMEDI_a1_s23j6.' 08:00:00');
        $saisie_1->setFinAbs(SAMEDI_a1_s23j6.' 09:00:00');
        $saisie_1->save();
        $saisie_1 = new AbsenceEleveSaisie();
        $saisie_1->setEleve($florence_eleve);
        $saisie_1->setUtilisateurProfessionnel($lebesgue_prof);
        $saisie_1->setDebutAbs(SAMEDI_a1_s23j6.' 08:00:00');
        $saisie_1->setFinAbs(SAMEDI_a1_s23j6.' 09:00:00');
        $saisie_1->save();
        $traitement = new AbsenceEleveTraitement();
        $traitement->addAbsenceEleveSaisie($saisie_1);
        $traitement->setAbsenceEleveType(AbsenceEleveTypeQuery::create()->filterByNom('Infirmerie')->findOne());
        $traitement->setUtilisateurProfessionnel($dolto_cpe);
        $traitement->save();
        $saisie_1 = new AbsenceEleveSaisie();
        $saisie_1->setEleve($florence_eleve);
        $saisie_1->setUtilisateurProfessionnel($lebesgue_prof);
        $saisie_1->setDebutAbs(SAMEDI_a1_s23j6.' 08:00:00');
        $saisie_1->setFinAbs(SAMEDI_a1_s23j6.' 09:10:00');
        $saisie_1->save();
        $traitement = new AbsenceEleveTraitement();
        $traitement->addAbsenceEleveSaisie($saisie_1);
        $traitement->setAbsenceEleveType(AbsenceEleveTypeQuery::create()->filterByNom('Erreur de saisie')->findOne());
        $traitement->setUtilisateurProfessionnel($dolto_cpe);
        $traitement->save();

        $saisie_1 = new AbsenceEleveSaisie();
        $saisie_1->setEleve($florence_eleve);
        $saisie_1->setUtilisateurProfessionnel($lebesgue_prof);
        $saisie_1->setDebutAbs(DIMANCHE_a1_s23j7.' 08:00:00');
        $saisie_1->setFinAbs(DIMANCHE_a1_s23j7.' 09:00:00');
        $saisie_1->save();
        $saisie_1 = new AbsenceEleveSaisie();
        $saisie_1->setEleve($florence_eleve);
        $saisie_1->setUtilisateurProfessionnel($lebesgue_prof);
        $saisie_1->setDebutAbs(DIMANCHE_a1_s23j7.' 07:00:00');
        $saisie_1->setFinAbs(DIMANCHE_a1_s23j7.' 09:10:00');
        $saisie_1->save();
        $saisie_1 = new AbsenceEleveSaisie();
        $saisie_1->setEleve($florence_eleve);
        $saisie_1->setUtilisateurProfessionnel($lebesgue_prof);
        $saisie_1->setDebutAbs(DIMANCHE_a1_s23j7.' 08:00:00');
        $saisie_1->setFinAbs(DIMANCHE_a1_s23j7.' 09:11:00');
        $saisie_1->save();
        $traitement = new AbsenceEleveTraitement();
        $traitement->addAbsenceEleveSaisie($saisie_1);
        $traitement->setAbsenceEleveType(AbsenceEleveTypeQuery::create()->filterByNom('Infirmerie')->findOne());
        $traitement->setUtilisateurProfessionnel($dolto_cpe);
        $traitement->save();
        $saisie_1 = new AbsenceEleveSaisie();
        $saisie_1->setEleve($florence_eleve);
        $saisie_1->setUtilisateurProfessionnel($lebesgue_prof);
        $saisie_1->setDebutAbs(DIMANCHE_a1_s23j7.' 08:00:00');
        $saisie_1->setFinAbs(DIMANCHE_a1_s23j7.' 09:10:00');
        $saisie_1->save();
        $traitement = new AbsenceEleveTraitement();
        $traitement->addAbsenceEleveSaisie($saisie_1);
        $traitement->setAbsenceEleveType(AbsenceEleveTypeQuery::create()->filterByNom('Erreur de saisie')->findOne());
        $traitement->setUtilisateurProfessionnel($dolto_cpe);
        $traitement->save();

        $saisie_1 = new AbsenceEleveSaisie();
        $saisie_1->setEleve($florence_eleve);
        $saisie_1->setUtilisateurProfessionnel($lebesgue_prof);
        $saisie_1->setDebutAbs(LUNDIa1_s24j1.' 08:00:00');
        $saisie_1->setFinAbs(LUNDIa1_s24j1.' 08:10:00');
        $saisie_1->save();
        $saisie_1 = new AbsenceEleveSaisie();
        $saisie_1->setEleve($florence_eleve);
        $saisie_1->setUtilisateurProfessionnel($lebesgue_prof);
        $saisie_1->setDebutAbs(LUNDIa1_s24j1.' 08:00:00');
        $saisie_1->setFinAbs(LUNDIa1_s24j1.' 08:10:00');
        $saisie_1->save();
        $saisie_1 = new AbsenceEleveSaisie();
        $saisie_1->setEleve($florence_eleve);
        $saisie_1->setUtilisateurProfessionnel($lebesgue_prof);
        $saisie_1->setDebutAbs(LUNDIa1_s24j1.' 08:00:00');
        $saisie_1->setFinAbs(LUNDIa1_s24j1.' 08:10:00');
        $saisie_1->save();
        $saisie_1 = new AbsenceEleveSaisie();
        $saisie_1->setEleve($florence_eleve);
        $saisie_1->setUtilisateurProfessionnel($lebesgue_prof);
        $saisie_1->setDebutAbs(LUNDIa1_s24j1.' 08:00:00');
        $saisie_1->setFinAbs(LUNDIa1_s24j1.' 09:10:00');
        $saisie_1->save();
        $traitement = new AbsenceEleveTraitement();
        $traitement->addAbsenceEleveSaisie($saisie_1);
        $traitement->setUtilisateurProfessionnel($dolto_cpe);
        $traitement->save();
        $notification = new AbsenceEleveNotification();
        $notification->setStatutEnvoi(AbsenceEleveNotificationPeer::STATUT_ENVOI_SUCCES);
        $notification->setTypeNotification(AbsenceEleveNotificationPeer::TYPE_NOTIFICATION_COURRIER);
        $notification->setAbsenceEleveTraitement($traitement);
        $notification->save();
        
        //on va purger les références, qui peuvent être fausses suite à des ajouts ultérieurs
        GepiDataPopulator::clearAllReferences();
        
        
        $con->commit();
    }
Beispiel #2
0
			}

			if(isset($_POST["id_motif"])) {
				$traitement->setAbsenceEleveMotif(AbsenceEleveMotifQuery::create()->findPk($_POST["id_motif"]));
			}

			$traitement->save();

			$tab_traitement_cree[$key_ele]=$traitement->getId();

			$nb_reg++;


			if((isset($_POST['type_notification']))&&($_POST['type_notification']!="")) {

				$notification = new AbsenceEleveNotification();
				$notification->setUtilisateurProfessionnel($utilisateur);
				$notification->setAbsenceEleveTraitement($traitement);

				//on met le type courrier par défaut
				//$notification->setTypeNotification(AbsenceEleveNotificationPeer::TYPE_NOTIFICATION_COURRIER);

				$notification->setTypeNotification($_POST['type_notification']);
				$notification->setStatutEnvoi(AbsenceEleveNotificationPeer::STATUT_ENVOI_ETAT_INITIAL);

				$responsable_eleve1 = null;
				$responsable_eleve2 = null;
				foreach ($traitement->getResponsablesInformationsSaisies() as $responsable_information) {
					if ($responsable_information->getNiveauResponsabilite() == '1') {
						$responsable_eleve1 = $responsable_information->getResponsableEleve();
					} else if ($responsable_information->getNiveauResponsabilite() == '2') {
    //on charge les traitements
    $saisie->getAbsenceEleveTraitements();
    $traitement = new AbsenceEleveTraitement();
    $traitement->setUtilisateurProfessionnel($utilisateur);
    $traitement->addAbsenceEleveSaisie($saisie);
    $traitement->save();
    header("Location: ./visu_traitement.php?id_traitement=" . $traitement->getId() . '&menu=' . $menu);
    die;
} elseif (isset($_POST["creation_notification"])) {
    //on charge les traitements
    $saisie->getAbsenceEleveTraitements();
    $traitement = new AbsenceEleveTraitement();
    $traitement->setUtilisateurProfessionnel($utilisateur);
    $traitement->addAbsenceEleveSaisie($saisie);
    $traitement->save();
    $notification = new AbsenceEleveNotification();
    $notification->setUtilisateurProfessionnel($utilisateur);
    $notification->setAbsenceEleveTraitement($traitement);
    //on met le type courrier par défaut
    $notification->setTypeNotification(AbsenceEleveNotificationPeer::TYPE_NOTIFICATION_COURRIER);
    $responsable_eleve1 = null;
    $responsable_eleve2 = null;
    foreach ($traitement->getResponsablesInformationsSaisies() as $responsable_information) {
        if ($responsable_information->getNiveauResponsabilite() == '1') {
            $responsable_eleve1 = $responsable_information->getResponsableEleve();
        } else {
            if ($responsable_information->getNiveauResponsabilite() == '2') {
                $responsable_eleve2 = $responsable_information->getResponsableEleve();
            }
        }
    }
	/**
	 * Exclude object from result
	 *
	 * @param     AbsenceEleveNotification $absenceEleveNotification Object to remove from the list of results
	 *
	 * @return    AbsenceEleveNotificationQuery The current query, for fluid interface
	 */
	public function prune($absenceEleveNotification = null)
	{
		if ($absenceEleveNotification) {
			$this->addUsingAlias(AbsenceEleveNotificationPeer::ID, $absenceEleveNotification->getId(), Criteria::NOT_EQUAL);
		}

		return $this;
	}
	/**
	 * Filter the query by a related AbsenceEleveNotification object
	 *
	 * @param     AbsenceEleveNotification|PropelCollection $absenceEleveNotification The related object(s) to use as filter
	 * @param     string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL
	 *
	 * @return    JNotificationResponsableEleveQuery The current query, for fluid interface
	 */
	public function filterByAbsenceEleveNotification($absenceEleveNotification, $comparison = null)
	{
		if ($absenceEleveNotification instanceof AbsenceEleveNotification) {
			return $this
				->addUsingAlias(JNotificationResponsableElevePeer::A_NOTIFICATION_ID, $absenceEleveNotification->getId(), $comparison);
		} elseif ($absenceEleveNotification instanceof PropelCollection) {
			if (null === $comparison) {
				$comparison = Criteria::IN;
			}
			return $this
				->addUsingAlias(JNotificationResponsableElevePeer::A_NOTIFICATION_ID, $absenceEleveNotification->toKeyValue('PrimaryKey', 'Id'), $comparison);
		} else {
			throw new PropelException('filterByAbsenceEleveNotification() only accepts arguments of type AbsenceEleveNotification or PropelCollection');
		}
	}
<?php
/**
 * 
 * 
 * @link liste_traitements.php
 */

# $results : collection de traitements affichés dans liste_traitements.php

# On crée une notification pret à envoyer

foreach ($results as $traitement) {
	# reprise du code de enregistrement_modif_notification ligne 86...
	
	$notification = new AbsenceEleveNotification();
	$notification->setUtilisateurProfessionnel($utilisateur);
	$notification->setAbsenceEleveTraitement($traitement);
	
	//on met le type courrier et le statut pret à envoyer
	$notification->setTypeNotification(AbsenceEleveNotificationPeer::TYPE_NOTIFICATION_COURRIER);
    $notification->setStatutEnvoi(AbsenceEleveNotificationPeer::STATUT_ENVOI_PRET_A_ENVOYER);

	$responsable_eleve1 = null;
	$responsable_eleve2 = null;
	foreach ($traitement->getResponsablesInformationsSaisies() as $responsable_information) {
	    if ($responsable_information->getNiveauResponsabilite() == '1') {
		$responsable_eleve1 = $responsable_information->getResponsableEleve();
	    } else if ($responsable_information->getNiveauResponsabilite() == '2') {
		$responsable_eleve2 = $responsable_information->getResponsableEleve();
	    }
	}
$message_enregistrement = '';
$notification = AbsenceEleveNotificationQuery::create()->findPk($id_notification);
if ($notification == null && !isset($_POST["creation_notification"])) {
    $message_enregistrement .= '<span style="color:red">Modification impossible : notification non trouvée.</span> ';
    include "visu_notification.php";
    die;
}
if (isset($_POST["creation_notification"])) {
    $id_traitement = isset($_POST["id_traitement"]) ? $_POST["id_traitement"] : (isset($_GET["id_traitement"]) ? $_GET["id_traitement"] : NULL);
    $traitement = AbsenceEleveTraitementQuery::create()->findPk($id_traitement);
    if ($traitement == null) {
        $message_enregistrement .= '<span style="color:red">Modification impossible : traitement non trouvé.</span> ';
        include "visu_notification.php";
        die;
    } else {
        $notification = new AbsenceEleveNotification();
        $notification->setUtilisateurProfessionnel($utilisateur);
        $notification->setAbsenceEleveTraitement($traitement);
        //on met le type courrier par défaut
        $notification->setTypeNotification(AbsenceEleveNotificationPeer::TYPE_NOTIFICATION_COURRIER);
        $responsable_eleve1 = null;
        $responsable_eleve2 = null;
        foreach ($traitement->getResponsablesInformationsSaisies() as $responsable_information) {
            if ($responsable_information->getNiveauResponsabilite() == '1') {
                $responsable_eleve1 = $responsable_information->getResponsableEleve();
            } else {
                if ($responsable_information->getNiveauResponsabilite() == '2') {
                    $responsable_eleve2 = $responsable_information->getResponsableEleve();
                }
            }
        }
	/**
	 * @param	AbsenceEleveNotification $absenceEleveNotification The absenceEleveNotification object to add.
	 */
	protected function doAddAbsenceEleveNotification($absenceEleveNotification)
	{
		$this->collAbsenceEleveNotifications[]= $absenceEleveNotification;
		$absenceEleveNotification->setAbsenceEleveTraitement($this);
	}
Beispiel #9
0
	/**
	 * @param	AbsenceEleveNotification $absenceEleveNotification The absenceEleveNotification object to add.
	 */
	protected function doAddAbsenceEleveNotification($absenceEleveNotification)
	{
		$this->collAbsenceEleveNotifications[]= $absenceEleveNotification;
		$absenceEleveNotification->setAdresse($this);
	}
	/**
	 * @param	AbsenceEleveNotification $absenceEleveNotification The absenceEleveNotification object to add.
	 */
	protected function doAddAbsenceEleveNotification($absenceEleveNotification)
	{
		$this->collAbsenceEleveNotifications[]= $absenceEleveNotification;
		$absenceEleveNotification->setUtilisateurProfessionnel($this);
	}
	/**
	 * Filter the query by a related AbsenceEleveNotification object
	 *
	 * @param     AbsenceEleveNotification $absenceEleveNotification  the related object to use as filter
	 * @param     string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL
	 *
	 * @return    ResponsableEleveAdresseQuery The current query, for fluid interface
	 */
	public function filterByAbsenceEleveNotification($absenceEleveNotification, $comparison = null)
	{
		if ($absenceEleveNotification instanceof AbsenceEleveNotification) {
			return $this
				->addUsingAlias(ResponsableEleveAdressePeer::ADR_ID, $absenceEleveNotification->getAdrId(), $comparison);
		} elseif ($absenceEleveNotification instanceof PropelCollection) {
			return $this
				->useAbsenceEleveNotificationQuery()
					->filterByPrimaryKeys($absenceEleveNotification->getPrimaryKeys())
				->endUse();
		} else {
			throw new PropelException('filterByAbsenceEleveNotification() only accepts arguments of type AbsenceEleveNotification or PropelCollection');
		}
	}
/**
   * Envoi une notification (email ou sms uniquement)
   *
   * @param AbsenceEleveNotification $notification
   * @param String $message le message texte a envoyer
   * @return String message d'erreur si envoi échoué
   */
  public static function EnvoiNotification($notification, $message){
    $return_message = '';
    if ($notification->getStatutEnvoi() != AbsenceEleveNotificationPeer::STATUT_ENVOI_ETAT_INITIAL && $notification->getStatutEnvoi() != AbsenceEleveNotificationPeer::STATUT_ENVOI_ETAT_INITIAL) {
	return 'Seul une notification de statut initial ou prete à envoyer peut être envoyée avec cette méthode';
    }
    if ($notification->getTypeNotification() != AbsenceEleveNotificationPeer::TYPE_NOTIFICATION_EMAIL &&
	    $notification->getTypeNotification() != AbsenceEleveNotificationPeer::TYPE_NOTIFICATION_SMS) {
	return 'Seul une notification de type email ou sms peut être envoyée avec cette méthode';
    } elseif ($notification->getTypeNotification() == AbsenceEleveNotificationPeer::TYPE_NOTIFICATION_EMAIL) {
	if ($notification->getEmail() == null || $notification->getEmail() == '') {
	    $notification->setErreurMessageEnvoi('email non renseigné');
	    $notification->save();
	    return 'Echec de l\'envoi : email non renseigné.';
	}

	require_once('../lib/email_validator.php');
	if (!validEmail($notification->getEmail())) {
	    $notification->setErreurMessageEnvoi('adresse email non valide');
	    $notification->save();
	    return 'Erreur : adresse email non valide.';
	}

	$email_abs_etab = getSettingValue("gepiAbsenceEmail");
	if ($email_abs_etab == null || $email_abs_etab == '') {
	    $email_abs_etab = getSettingValue("gepiSchoolEmail");
	}
	$envoi = mail($notification->getEmail(),
		"Notification d'absence ".getSettingValue("gepiSchoolName").' - Ref : '.$notification->getId().' -',
		$message,
	       "From: ".$email_abs_etab."\r\n"
	       ."X-Mailer: PHP/" . phpversion());

	$notification->setDateEnvoi('now');
	if ($envoi) {
	    $notification->setStatutEnvoi(AbsenceEleveNotificationPeer::STATUT_ENVOI_SUCCES);
	    $return_message = '';
	} else {
	    $return_message = 'Non accepté pour livraison.';
	    $notification->setErreurMessageEnvoi($return_message);
	    $notification->setStatutEnvoi(AbsenceEleveNotificationPeer::STATUT_ENVOI_ECHEC);
	}
	$notification->save();
	return $return_message;

    } else if ($notification->getTypeNotification() == AbsenceEleveNotificationPeer::TYPE_NOTIFICATION_SMS) {
	if (getSettingValue("abs2_sms")!='y') {
	    return 'Erreur : envoi de sms désactivé.';
	}

	// Load the template
	if (getSettingValue("abs2_sms_prestataire")=='tm4b') {
	    $url = "http://www.tm4b.com/client/api/http.php";
	    $hote = "tm4b.com";
	    $script = "/client/api/http.php";
	    $param['username'] = getSettingValue("abs2_sms_username"); // identifiant de notre compte TM4B
	    $param['password'] = getSettingValue("abs2_sms_password"); // mot de passe de notre compte TM4B
	    $param['type'] = 'broadcast'; // envoi de sms
	    $param['msg'] = $message; // message que l'on désire envoyer

	    $tel = $notification->getTelephone();
	    if (mb_substr($tel, 0, 1) == '0') {
		$tel = '33'.mb_substr($tel, 1, 9);
	    }
	    $param['to'] = $tel; // numéros de téléphones auxquels on envoie le message
	    $param['from'] = getSettingValue("gepiSchoolName"); // expéditeur du message (first class uniquement)
	    $param['route'] = 'business'; // type de route (pour la france, business class uniquement)
	    $param['version'] = '2.1';
	    $param['sim'] = 'yes'; // on active le mode simulation, pour tester notre script
	} else if (getSettingValue("abs2_sms_prestataire")=='123-sms') {
	    $url = "http://www.123-SMS.net/http.php";
	    $hote = "123-SMS.net";
	    $script = "/http.php";
	    $param['email'] = getSettingValue("abs2_sms_username"); // identifiant de notre compte TM4B
	    $param['pass'] = getSettingValue("abs2_sms_password"); // mot de passe de notre compte TM4B
	    $param['message'] = $message; // message que l'on désire envoyer
	    $param['numero'] = $notification->getTelephone(); // numéros de téléphones auxquels on envoie le message
	} else if (getSettingValue("abs2_sms_prestataire")=='pluriware') {
            $url = "http://sms.pluriware.fr/httpapi.php";
            $hote = "pluriware.fr";
            $script = "/httpapi.php";
            $param['user'] = getSettingValue("abs2_sms_username"); // identifiant du compte Pluriware
            $param['pass'] = getSettingValue("abs2_sms_password"); // mot de passe du compte Pluriware
	    $param['cmd'] = 'sendsms';            
	    $param['txt'] = $message; // message a envoyer
		$tel = $notification->getTelephone();
		$tel = str_replace(" ","",$tel);
		$tel = str_replace(".","",$tel);
		$tel = str_replace("-","",$tel);
		$tel = str_replace("/","",$tel);
	    if (mb_substr($tel, 0, 1) == '0') { //Ajout indicatif 33
		$tel = '33'.mb_substr($tel, 1, 9);
	    }
        $param['to'] = $tel; // numéro de téléphone auxquel on envoie le message
	    $param['from'] = str_replace(" ","",getSettingValue("gepiSchoolTel")); // expéditeur du message (facultatif)
	    /*
    		Les  parametres suivants sont pour le moment facultatifs (janv/2011) 
        mais peuvent êtres utiles pour une évolution future ou en cas de debug
	    */
	    $param['gepi_school'] = getSettingValue("gepiSchoolName");
	    $param['gepi_version'] = getSettingValue("version"); // pour debug au cas ou
	    $param['gepi_mail'] = getSettingValue("gepiSchoolEmail"); // remontée éventuelle des réponses par mail
	    $param['gepi_rne'] = getSettingValue("gepiSchoolRne"); // identification supplémentaire
	    $param['gepi_pays'] = getSettingValue("gepiSchoolPays"); // peux servir pour corriger ou insérer l'indicatif international du num tel
		
		//echo "<pre>";
		//echo print_r($param);
		//echo "</pre>";
	}

	$requete = '';
	foreach($param as $clef => $valeur)  {
	    $requete .= $clef . '=' . urlencode($valeur); // il faut bien formater les valeurs
	    $requete .= '&';
	}

	if (in_array  ('curl', get_loaded_extensions())) {
	    //on utilise curl pour la requete au service sms
	    $ch = curl_init();
	    curl_setopt($ch, CURLOPT_URL, $url);
	    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
	    curl_setopt($ch, CURLOPT_POST, 1);
	    curl_setopt($ch, CURLOPT_POSTFIELDS, $requete);
	    $reponse = curl_exec($ch);
	    curl_close($ch);
	} else {
	    $longueur_requete = strlen($requete);
	    $methode = "POST";
	    $entete = $methode . " " . $script . " HTTP/1.1\r\n";
	    $entete .= "Host: " . $hote . "\r\n";
	    $entete .= "Content-Type: application/x-www-form-urlencoded\r\n";
	    $entete .= "Content-Length: " . $longueur_requete . "\r\n";
	    $entete .= "Connection: close\r\n\r\n";
	    $entete .= $requete . "\r\n";
	    $socket = fsockopen($hote, 80, $errno, $errstr);
	    if($socket) {
		fputs($socket, $entete); // envoi de l'entete
		while(!feof($socket)) {
		    $reponseArray[] = fgets($socket); // recupere les resultats
		}
		$reponse = $reponseArray[8];
		fclose($socket);
	    } else {
		$reponse = 'error : no socket available.';
	    }
	}

	$notification->setDateEnvoi('now');

	//traitement de la réponse
	if (getSettingValue("abs2_sms_prestataire")=='tm4b') {
	    if (mb_substr($reponse, 0, 5) == 'error') {
		$return_message = 'Erreur : message non envoyé. Code erreur : '.$reponse;
		$notification->setStatutEnvoi(AbsenceEleveNotificationPeer::STATUT_ENVOI_ECHEC);
		$notification->setErreurMessageEnvoi($reponse);
	    } else {
		$notification->setStatutEnvoi(AbsenceEleveNotificationPeer::STATUT_ENVOI_ECHEC);
	    }
	} else if (getSettingValue("abs2_sms_prestataire")=='123-sms') {
	    if ($reponse != '80') {
		$return_message = 'Erreur : message non envoyé. Code erreur : '.$reponse;
		$notification->setStatutEnvoi(AbsenceEleveNotificationPeer::STATUT_ENVOI_ECHEC);
		$notification->setErreurMessageEnvoi($reponse);
	    } else {
		$notification->setStatutEnvoi(AbsenceEleveNotificationPeer::STATUT_ENVOI_ECHEC);
	    }
	} else if (getSettingValue("abs2_sms_prestataire")=='pluriware') {
            if (mb_substr($reponse, 0, 3) == 'ERR') {
                $return_message = 'Erreur : message non envoyé. Code erreur : '.$reponse;
                $notification->setStatutEnvoi(AbsenceEleveNotificationPeer::STATUT_ENVOI_ECHEC);
                $notification->setErreurMessageEnvoi($reponse);
            } else {
                $notification->setStatutEnvoi(AbsenceEleveNotificationPeer::STATUT_ENVOI_SUCCES);
            }
        }
		
	$notification->save();
	return $return_message;
    }
  }
	    echo $notif->getAdresse()->getDescriptionSurUneLigne();
	}
	echo '</td>';
	echo '<td>Statut '.$notif->getStatutEnvoi().'</td>';
	echo '<td>'.$notif->getDateEnvoi('d/m/Y H:i').'</td>';
	echo '<td>';
	if ($notif->getAbsenceEleveTraitement() != null) {
	    echo 'Traitement '.$notif->getAbsenceEleveTraitement()->getDescription();
	}
	echo '</td>';
	echo '</tr>';
    }
    echo '</table></br>';
    echo '<br/>';
}
if (!$notif_courrier_a_envoyer_col->isEmpty()) {$notif = new AbsenceEleveNotification();
    echo 'Nouveaux courriers';
    echo '<table id="table_liste_absents" style="border-spacing:0px;">';
    //en tete commentaire
    echo '</tr>';
    echo '<th>id</th>';
    echo '<th></th>';
    echo '<th>responsables</th>';
    echo '<th>adresse</th>';
    echo '<th>statut</th>';
    echo '<th>date d\'envoi</th>';
    echo '<th>traitement</th>';
    echo '</tr>';
    foreach($notif_courrier_a_envoyer_col as $notif) {
	echo '<tr>';
	echo '<td><a href="visu_notification.php?id_notification='.$notif->getId().'">'.$notif->getId().'</a></td>';
	/**
	 * Declares an association between this object and a AbsenceEleveNotification object.
	 *
	 * @param      AbsenceEleveNotification $v
	 * @return     JNotificationResponsableEleve The current object (for fluent API support)
	 * @throws     PropelException
	 */
	public function setAbsenceEleveNotification(AbsenceEleveNotification $v = null)
	{
		if ($v === null) {
			$this->setANotificationId(NULL);
		} else {
			$this->setANotificationId($v->getId());
		}

		$this->aAbsenceEleveNotification = $v;

		// Add binding for other direction of this n:n relationship.
		// If this object has already been added to the AbsenceEleveNotification object, it will not be re-added.
		if ($v !== null) {
			$v->addJNotificationResponsableEleve($this);
		}

		return $this;
	}
	/**
	 * Filter the query by a related AbsenceEleveNotification object
	 *
	 * @param     AbsenceEleveNotification $absenceEleveNotification  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 filterByAbsenceEleveNotification($absenceEleveNotification, $comparison = null)
	{
		if ($absenceEleveNotification instanceof AbsenceEleveNotification) {
			return $this
				->addUsingAlias(UtilisateurProfessionnelPeer::LOGIN, $absenceEleveNotification->getUtilisateurId(), $comparison);
		} elseif ($absenceEleveNotification instanceof PropelCollection) {
			return $this
				->useAbsenceEleveNotificationQuery()
				->filterByPrimaryKeys($absenceEleveNotification->getPrimaryKeys())
				->endUse();
		} else {
			throw new PropelException('filterByAbsenceEleveNotification() only accepts arguments of type AbsenceEleveNotification or PropelCollection');
		}
	}
						$saisie_discipline = true;
					}
					$dernierEleve = $eleve->getId();
				} else {
					$message_erreur_eleve[$key] .= "Type d'absence non autorisé pour ce statut : ".$type_absence_eleve."<br/>";
				}
			} else {
				$message_erreur_eleve[$key] .= "Probleme avec l'id du type d'absence : ".$type_absence_eleve."<br/>";
			}
			
			// on crée une notification si demandé
			/* */
			if (isset($_POST['Valider']) && 'SavePrint' == $_POST['Valider']) {
				//echo 'Notification ';
				unset ($notification);
				$notification = new AbsenceEleveNotification();
				$notification->setUtilisateurProfessionnel($utilisateur);
				$notification->setAbsenceEleveTraitement($traitement);

				//on met le type courrier par défaut
				$notification->setTypeNotification(AbsenceEleveNotificationPeer::TYPE_NOTIFICATION_COURRIER);

				$result = $notification->preremplirResponsables();
				if ($result) $notification->setStatutEnvoi(AbsenceEleveNotificationPeer::STATUT_ENVOI_PRET_A_ENVOYER);

				// on ajoute le motif au besoin
				if (isset ($_POST["type_motif_eleve"])) {
					$traitement->setAbsenceEleveMotif(AbsenceEleveMotifQuery::create()->findPk($_POST["type_motif_eleve"]));
				}
				$traitement->save();
				$notification->save();