Subversion Repositories Applications.gtt

Rev

Rev 89 | Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
48 jpm 1
<?php
2
class GttCtrlActionAdminAbsenceMotif extends aControlleurAction {
3
 
4
	public function __construct(Registre $Registre)
5
	{
6
		$Registre->ajouterEspace('AdminAbsenceMotif', 'admin_absence_motif');
7
		$Registre->ajouterSquelette('admin_absence_motif', 'admin_absence_motif.tpl.html');
8
		$Registre->setTitre('Administrer les motifs d\'absence');
9
	}
10
 
11
	public function executer()
12
    {
13
    	$aso_admin_absence_motif = array();
14
 
15
		// Récupération des catégories
16
		$AbsenceMotif = new AbsenceMotif();
17
    	$tab_am = $AbsenceMotif->consulter(AbsenceMotif::GAM_TOUS);
18
    	foreach ($tab_am as $am) {
19
    		if ($am->getIdAbsenceMotif() != 0) {
20
    			$aso_motif['id'] = $am->getIdAbsenceMotif();
21
    			$aso_motif['libelle'] = $am->getLibelle();
22
    			$aso_admin_absence_motif['motifs'][] = $aso_motif;
23
    		}
24
    	}
25
 
26
    	//echo '<pre>'.print_r($aso_admin_absence_motif, true).'</pre>';
27
		$this->getRegistre()->ajouterDonnee('admin_absence_motif', $aso_admin_absence_motif);
28
    }
29
 
30
    public function executerValiderAjouter()
31
    {
32
		// Ajout de la catégorie
33
		$AbsenceMotif = new AbsenceMotif();
34
		$bool_existe = $AbsenceMotif->consulter(AbsenceMotif::GAM_LIBELLE, array($_POST['amaj_libelle']));
35
		if ($bool_existe == false) {
36
			$AbsenceMotifMax = $AbsenceMotif->consulter(AbsenceMotif::GAM_ID_MAX);
37
			$id_max = $AbsenceMotifMax->getIdAbsenceMotif();
38
			$AbsenceMotif->setIdAbsenceMotif(++$id_max);
39
			$AbsenceMotif->setLibelle($_POST['amaj_libelle']);
40
	    	$AbsenceMotif->ajouter();
41
		} else {
42
			$aso_admin_absence_motif['message'] = 'Ce motif d\'absence existe déjà !';
43
			$this->getRegistre()->ajouterDonnee('admin_absence_motif', $aso_admin_absence_motif);
44
		}
45
		// Action suivante
46
    	$this->setSuivant('__defaut__');
47
    }
48
 
49
    public function executerValiderSupprimer()
50
    {
51
		// Suppression du motif d'absence
52
		$AbsenceMotif = new AbsenceMotif();
53
		$AbsenceMotif->setIdAbsenceMotif($_POST['amsu_id']);
54
    	$AbsenceMotif->supprimer();
55
 
56
		// Mise à jour des absences possédant le motif supprimé
57
		$Absence = new Absence();
58
		$tab_a = $Absence->consulter(Absence::GA_ID_ABSENCE_MOTIF, $_POST['amsu_id']);
59
		if ($tab_a != false) {
60
			if ($tab_a && count($tab_a) == 1) {
61
				$tab_a = array($tab_a);
62
			}
63
			foreach ($tab_a as $a) {
64
	    		$Ancien = clone $a;
65
	    		$a->setIdAbsenceMotif(0);
66
	    		$a->modifier($Ancien);
67
	    	}
68
		}
69
 
70
		// Action suivante
71
    	$this->setSuivant('__defaut__');
72
    }
73
}
74
?>