Subversion Repositories Applications.gtt

Rev

Rev 103 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

<?php
class GttCtrlActionAdminAbsenceMotif extends aControlleurAction {

        public function __construct(Registre $Registre)
        {
                $Registre->ajouterEspace('AdminAbsenceMotif', 'admin_absence_motif');
                $Registre->ajouterSquelette('admin_absence_motif', 'admin_absence_motif.tpl.html');
                $Registre->setTitre('Administrer les motifs d\'absence');
        }

        public function executer()
    {
        $aso_admin_absence_motif = array();

                // Récupération des catégories
                $AbsenceMotif = new AbsenceMotif();
        $tab_am = $AbsenceMotif->consulter(AbsenceMotif::GAM_TOUS);
        foreach ($tab_am as $am) {
                if ($am->getIdAbsenceMotif() != 0) {
                        $aso_motif['id'] = $am->getIdAbsenceMotif();
                        $aso_motif['libelle'] = $am->getLibelle();
                        $aso_admin_absence_motif['motifs'][] = $aso_motif;
                }
        }

        //echo '<pre>'.print_r($aso_admin_absence_motif, true).'</pre>';
                $this->getRegistre()->ajouterDonnee('admin_absence_motif', $aso_admin_absence_motif);
    }

    public function executerValiderAjouter()
    {
                // Ajout de la catégorie
                $AbsenceMotif = new AbsenceMotif();
                $bool_existe = $AbsenceMotif->consulter(AbsenceMotif::GAM_LIBELLE, array($_POST['amaj_libelle']));
                if ($bool_existe == false) {
                        $AbsenceMotifMax = $AbsenceMotif->consulter(AbsenceMotif::GAM_ID_MAX);
                        $id_max = $AbsenceMotifMax->getIdAbsenceMotif();
                        $AbsenceMotif->setIdAbsenceMotif(++$id_max);
                        $AbsenceMotif->setLibelle($_POST['amaj_libelle']);
                $AbsenceMotif->ajouter();
                } else {
                        $aso_admin_absence_motif['message'] = 'Ce motif d\'absence existe déjà !';
                        $this->getRegistre()->ajouterDonnee('admin_absence_motif', $aso_admin_absence_motif);
                }
                // Action suivante
        $this->setSuivant('__defaut__');
    }

    public function executerValiderSupprimer()
    {
                // Suppression du motif d'absence
                $AbsenceMotif = new AbsenceMotif();
                $AbsenceMotif->setIdAbsenceMotif($_POST['amsu_id']);
        $AbsenceMotif->supprimer();

                // Mise à jour des absences possédant le motif supprimé
                $Absence = new Absence();
                $tab_a = $Absence->consulter(Absence::GA_ID_ABSENCE_MOTIF, $_POST['amsu_id']);
                if ($tab_a != false) {
                        if ($tab_a && count($tab_a) == 1) {
                                $tab_a = array($tab_a);
                        }
                        foreach ($tab_a as $a) {
                        $Ancien = clone $a;
                        $a->setIdAbsenceMotif(0);
                        $a->modifier($Ancien);
                }
                }

                // Action suivante
        $this->setSuivant('__defaut__');
    }
}
?>