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__');
}
}
?>