Subversion Repositories Applications.gtt

Rev

Rev 103 | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 103 Rev 122
1
<?php
1
<?php
2
class GttCtrlActionAdminAbsenceMotif extends aControlleurAction {
2
class GttCtrlActionAdminAbsenceMotif extends aControlleurAction {
3
 
3
 
4
	public function __construct(Registre $Registre)
4
	public function __construct(Registre $Registre)
5
	{
5
	{
6
		$Registre->ajouterEspace('AdminAbsenceMotif', 'admin_absence_motif');
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");
7
		$Registre->setTitre("Administrer les motifs d'absence");
9
	}
8
	}
10
 
9
 
11
	public function executer()
10
	public function executer()
12
    {
11
    {
13
    	$aso_admin_absence_motif = array();
12
    	$aso_admin_absence_motif = array();
14
 
13
 
15
		// Récupération des catégories
14
		// Récupération des catégories
16
		$AbsenceMotif = new AbsenceMotif();
15
		$AbsenceMotif = new AbsenceMotif();
17
 
16
 
18
		// Utilisateur vide par défaut
17
		// Utilisateur vide par défaut
19
		$aso_admin_absence_motif['AbsenceMotif'] = clone $AbsenceMotif;
18
		$aso_admin_absence_motif['AbsenceMotif'] = clone $AbsenceMotif;
20
    	
19
    	
21
    	$tab_am = $AbsenceMotif->consulter(AbsenceMotif::GAM_TOUS);
20
    	$tab_am = $AbsenceMotif->consulter(AbsenceMotif::GAM_TOUS);
22
    	if ($tab_am) {
21
    	if ($tab_am) {
23
	    	if ($tab_am instanceof AbsenceMotif) {
22
	    	if ($tab_am instanceof AbsenceMotif) {
24
	    		$tab_am = array($tab_am);
23
	    		$tab_am = array($tab_am);
25
	    	}
24
	    	}
26
	    	foreach ($tab_am as $am) {
25
	    	foreach ($tab_am as $am) {
27
	    		if ($am->getIdAbsenceMotif() != 0) {
26
	    		if ($am->getIdAbsenceMotif() != 0) {
28
	    			$aso_motif['id'] = $am->getIdAbsenceMotif();
27
	    			$aso_motif['id'] = $am->getIdAbsenceMotif();
29
	    			$aso_motif['libelle'] = $am->getLibelle();
28
	    			$aso_motif['libelle'] = $am->getLibelle();
30
	    			$aso_admin_absence_motif['motifs'][] = $aso_motif;
29
	    			$aso_admin_absence_motif['motifs'][] = $aso_motif;
31
	    		}
30
	    		}
32
	    	}
31
	    	}
33
    	}
32
    	}
34
    	
33
    	
35
		// Modification des titres, légendes et bouton
34
		// Modification des titres, légendes et bouton
36
		$aso_admin_absence_motif['form_legend'] = "Ajouter un motif d'abscence";
35
		$aso_admin_absence_motif['form_legend'] = "Ajouter un motif d'abscence";
37
		$aso_admin_absence_motif['form_bouton_value'] = 'Ajouter';
36
		$aso_admin_absence_motif['form_bouton_value'] = 'Ajouter';
38
		$aso_admin_absence_motif['form_bouton_id'] = 'btn_absence_motif_ajouter';
37
		$aso_admin_absence_motif['form_bouton_id'] = 'btn_absence_motif_ajouter';
39
		$aso_admin_absence_motif['form_url'] = 'index.php?action=admin-absence-motif_valider-ajouter';
38
		$aso_admin_absence_motif['form_url'] = 'index.php?action=admin-absence-motif_valider-ajouter';
40
		
39
		
41
    	//echo '<pre>'.print_r($aso_admin_absence_motif, true).'</pre>';
40
    	//echo '<pre>'.print_r($aso_admin_absence_motif, true).'</pre>';
42
		$this->getRegistre()->ajouterDonnee('admin_absence_motif', $aso_admin_absence_motif);
41
		$this->getRegistre()->ajouterDonnee('admin_absence_motif', $aso_admin_absence_motif);
43
    }
42
    }
44
	
43
	
45
	public function executerEditer()
44
	public function executerEditer()
46
    {
45
    {
47
		// Initialisation de variable
46
		// Initialisation de variable
48
		$aso_admin_absence_motif = array();
47
		$aso_admin_absence_motif = array();
49
 
48
 
50
		// Récupération d'info en fonction du bouton selectionné
49
		// Récupération d'info en fonction du bouton selectionné
51
		if (isset($_POST['btn_absence_motif_modifier'])) {
50
		if (isset($_POST['btn_absence_motif_modifier'])) {
52
			// Récupération des données du motif à modifier
51
			// Récupération des données du motif à modifier
53
			$AbsenceMotif = new AbsenceMotif();
52
			$AbsenceMotif = new AbsenceMotif();
54
			$AbsenceMotif ->consulter(AbsenceMotif::GAM_ID, $_POST['amsu_id'], true);
53
			$AbsenceMotif ->consulter(AbsenceMotif::GAM_ID, $_POST['amsu_id'], true);
55
			$aso_admin_absence_motif['AbsenceMotif'] = $AbsenceMotif;
54
			$aso_admin_absence_motif['AbsenceMotif'] = $AbsenceMotif;
56
 
55
 
57
			// Modification des titres, légendes et bouton
56
			// Modification des titres, légendes et bouton
58
			$aso_admin_absence_motif['form_legend'] = "Modifier un motif d'absence";
57
			$aso_admin_absence_motif['form_legend'] = "Modifier un motif d'absence";
59
			$aso_admin_absence_motif['form_bouton_value'] = 'Modifier';
58
			$aso_admin_absence_motif['form_bouton_value'] = 'Modifier';
60
			$aso_admin_absence_motif['form_bouton_id'] = 'btn_absence_motif_modifier';
59
			$aso_admin_absence_motif['form_bouton_id'] = 'btn_absence_motif_modifier';
61
			$aso_admin_absence_motif['form_url'] = 'index.php?action=admin-absence-motif_valider-modifier';
60
			$aso_admin_absence_motif['form_url'] = 'index.php?action=admin-absence-motif_valider-modifier';
62
 
61
 
63
			$this->getRegistre()->ajouterDonnee('admin_absence_motif', $aso_admin_absence_motif);
62
			$this->getRegistre()->ajouterDonnee('admin_absence_motif', $aso_admin_absence_motif);
64
		} else if (isset($_POST['btn_absence_motif_supprimer'])) {
63
		} else if (isset($_POST['btn_absence_motif_supprimer'])) {
65
			// Action suivante
64
			// Action suivante
66
    		$this->setSuivant('ValiderSupprimer');
65
    		$this->setSuivant('ValiderSupprimer');
67
		}
66
		}
68
    }
67
    }
69
    
68
    
70
    public function executerValiderAjouter()
69
    public function executerValiderAjouter()
71
    {
70
    {
72
		if (isset($_POST['btn_absence_motif_annuler'])) {
71
		if (isset($_POST['btn_absence_motif_annuler'])) {
73
			// Action suivante
72
			// Action suivante
74
    		$this->setSuivant('__defaut__');
73
    		$this->setSuivant('__defaut__');
75
    	} else if (isset($_POST['btn_absence_motif_ajouter'])) {
74
    	} else if (isset($_POST['btn_absence_motif_ajouter'])) {
76
			// Vérification du motif à ajouter
75
			// Vérification du motif à ajouter
77
			$bool_modifier = true;
76
			$bool_modifier = true;
78
			$AbsenceMotif = new AbsenceMotif();
77
			$AbsenceMotif = new AbsenceMotif();
79
			$AmLibelle = $AbsenceMotif->consulter(AbsenceMotif::GAM_LIBELLE, array($_POST['amaj_libelle']));
78
			$AmLibelle = $AbsenceMotif->consulter(AbsenceMotif::GAM_LIBELLE, array($_POST['amaj_libelle']));
80
			if ((is_array($AmLibelle) && count($AmLibelle) > 1) || ($AmLibelle instanceof AbsenceMotif && $AmLibelle->getIdAbsenceMotif() != $_POST['amaj_id_absence_motif'])) {
79
			if ((is_array($AmLibelle) && count($AmLibelle) > 1) || ($AmLibelle instanceof AbsenceMotif && $AmLibelle->getIdAbsenceMotif() != $_POST['amaj_id_absence_motif'])) {
81
				$aso_admin_absence_motif['messages'][] = "Un motif d'absence avec le même libellé existe déjà !";
80
				$aso_admin_absence_motif['messages'][] = "Un motif d'absence avec le même libellé existe déjà !";
82
				$bool_modifier = false;
81
				$bool_modifier = false;
83
			}
82
			}
84
			
83
			
85
			//$this->verifierChampsCommuns(&$aso_admin_absence_motif, &$bool_modifier);
84
			//$this->verifierChampsCommuns(&$aso_admin_absence_motif, &$bool_modifier);
86
			if ($bool_modifier) {
85
			if ($bool_modifier) {
87
				// Action suivante
86
				// Action suivante
88
		    	$this->setSuivant('ajouter');
87
		    	$this->setSuivant('ajouter');
89
			} else {
88
			} else {
90
				// Action suivante
89
				// Action suivante
91
		    	$this->setSuivant('__defaut__');
90
		    	$this->setSuivant('__defaut__');
92
				$this->getRegistre()->ajouterDonnee('admin_absence_motif', $aso_admin_absence_motif);
91
				$this->getRegistre()->ajouterDonnee('admin_absence_motif', $aso_admin_absence_motif);
93
			}
92
			}
94
		}
93
		}
95
    }
94
    }
96
 
95
 
97
	public function executerAjouter()
96
	public function executerAjouter()
98
	{
97
	{
99
		// Initialisation de variable
98
		// Initialisation de variable
100
		$aso_admin_motif = array();
99
		$aso_admin_motif = array();
101
		
100
		
102
		// Création de l'objet AbsenceMotif à ajouter
101
		// Création de l'objet AbsenceMotif à ajouter
103
		$AbsenceMotif = new AbsenceMotif();
102
		$AbsenceMotif = new AbsenceMotif();
104
		$AbsenceMotif->setLibelle($_POST['amaj_libelle']);
103
		$AbsenceMotif->setLibelle($_POST['amaj_libelle']);
105
		if (!isset($_POST['amaj_mark_cp_diminuer'])) {
104
		if (!isset($_POST['amaj_mark_cp_diminuer'])) {
106
			$_POST['amaj_mark_cp_diminuer'] = 0;
105
			$_POST['amaj_mark_cp_diminuer'] = 0;
107
		}
106
		}
108
		$AbsenceMotif->setMarkCpDiminuer($_POST['amaj_mark_cp_diminuer']);
107
		$AbsenceMotif->setMarkCpDiminuer($_POST['amaj_mark_cp_diminuer']);
109
		if (!isset($_POST['amaj_mark_hs_diminuer'])) {
108
		if (!isset($_POST['amaj_mark_hs_diminuer'])) {
110
			$_POST['amaj_mark_hs_diminuer'] = 0;
109
			$_POST['amaj_mark_hs_diminuer'] = 0;
111
		}
110
		}
112
		$AbsenceMotif->setMarkHsDiminuer($_POST['amaj_mark_hs_diminuer']);
111
		$AbsenceMotif->setMarkHsDiminuer($_POST['amaj_mark_hs_diminuer']);
113
    	if ($AbsenceMotif->ajouter()) {
112
    	if ($AbsenceMotif->ajouter()) {
114
	    	$aso_admin_motif['messages'][] = "Le motif d'absence ${_POST['amaj_libelle']} a été ajouté.";
113
	    	$aso_admin_motif['messages'][] = "Le motif d'absence ${_POST['amaj_libelle']} a été ajouté.";
115
	    }
114
	    }
116
	    
115
	    
117
	    // Ajout du message d'information
116
	    // Ajout du message d'information
118
		$this->getRegistre()->ajouterDonnee('admin_absence_motif', $aso_admin_motif);
117
		$this->getRegistre()->ajouterDonnee('admin_absence_motif', $aso_admin_motif);
119
	    
118
	    
120
		// Action suivante
119
		// Action suivante
121
    	$this->setSuivant('__defaut__');
120
    	$this->setSuivant('__defaut__');
122
	}
121
	}
123
 
122
 
124
	public function executerValiderModifier()
123
	public function executerValiderModifier()
125
    {
124
    {
126
    	if (isset($_POST['btn_absence_motif_annuler'])) {
125
    	if (isset($_POST['btn_absence_motif_annuler'])) {
127
			// Action suivante
126
			// Action suivante
128
    		$this->setSuivant('__defaut__');
127
    		$this->setSuivant('__defaut__');
129
    	} else if (isset($_POST['btn_absence_motif_modifier'])) {
128
    	} else if (isset($_POST['btn_absence_motif_modifier'])) {
130
			// Initialisation de variable
129
			// Initialisation de variable
131
			$aso_admin_motif = array();
130
			$aso_admin_motif = array();
132
		
131
		
133
			// Vérification du motif à modifier
132
			// Vérification du motif à modifier
134
			$bool_modifier = true;
133
			$bool_modifier = true;
135
			$AbsenceMotif = new AbsenceMotif();
134
			$AbsenceMotif = new AbsenceMotif();
136
			$AmLibelle = $AbsenceMotif->consulter(AbsenceMotif::GAM_LIBELLE, array($_POST['amaj_libelle']));
135
			$AmLibelle = $AbsenceMotif->consulter(AbsenceMotif::GAM_LIBELLE, array($_POST['amaj_libelle']));
137
			if ((is_array($AmLibelle) && count($AmLibelle) > 1) || ($AmLibelle instanceof AbsenceMotif && $AmLibelle->getIdAbsenceMotif() != $_POST['amaj_id_absence_motif'])) {
136
			if ((is_array($AmLibelle) && count($AmLibelle) > 1) || ($AmLibelle instanceof AbsenceMotif && $AmLibelle->getIdAbsenceMotif() != $_POST['amaj_id_absence_motif'])) {
138
				$aso_admin_motif['messages'][] = "Un motif d'absence avec le même libellé existe déjà !";
137
				$aso_admin_motif['messages'][] = "Un motif d'absence avec le même libellé existe déjà !";
139
				$bool_modifier = false;
138
				$bool_modifier = false;
140
			}
139
			}
141
			//$this->verifierChampsCommuns(&$aso_admin_absence_motif, &$bool_modifier);
140
			//$this->verifierChampsCommuns(&$aso_admin_absence_motif, &$bool_modifier);
142
			if ($bool_modifier) {
141
			if ($bool_modifier) {
143
				// Action suivante
142
				// Action suivante
144
		    	$this->setSuivant('modifier');
143
		    	$this->setSuivant('modifier');
145
			} else {
144
			} else {
146
				// Action suivante
145
				// Action suivante
147
				$_POST['btn_motif_absence_modifier'] = 'btn_absence_motif_modifier';
146
				$_POST['btn_motif_absence_modifier'] = 'btn_absence_motif_modifier';
148
				$_POST['amsu_id'] = $_POST['amaj_id_absence_motif'];
147
				$_POST['amsu_id'] = $_POST['amaj_id_absence_motif'];
149
		    	$this->setSuivant('editer');
148
		    	$this->setSuivant('editer');
150
				$this->getRegistre()->ajouterDonnee('admin_absence_motif', $aso_admin_motif);
149
				$this->getRegistre()->ajouterDonnee('admin_absence_motif', $aso_admin_motif);
151
			}
150
			}
152
		}
151
		}
153
    }
152
    }
154
 
153
 
155
	public function executerModifier()
154
	public function executerModifier()
156
	{
155
	{
157
		// Initialisation de variable
156
		// Initialisation de variable
158
		$aso_admin_motif = array();
157
		$aso_admin_motif = array();
159
		
158
		
160
		// Création de l'objet AbsenceMotif à modifier
159
		// Création de l'objet AbsenceMotif à modifier
161
		$AbsenceMotif = new AbsenceMotif();
160
		$AbsenceMotif = new AbsenceMotif();
162
		$AbsenceMotif->setIdAbsenceMotif($_POST['amaj_id_absence_motif']);
161
		$AbsenceMotif->setIdAbsenceMotif($_POST['amaj_id_absence_motif']);
163
		$AbsenceMotif->setLibelle($_POST['amaj_libelle']);
162
		$AbsenceMotif->setLibelle($_POST['amaj_libelle']);
164
		if (!isset($_POST['amaj_mark_cp_diminuer'])) {
163
		if (!isset($_POST['amaj_mark_cp_diminuer'])) {
165
			$_POST['amaj_mark_cp_diminuer'] = 0;
164
			$_POST['amaj_mark_cp_diminuer'] = 0;
166
		}
165
		}
167
		$AbsenceMotif->setMarkCpDiminuer($_POST['amaj_mark_cp_diminuer']);
166
		$AbsenceMotif->setMarkCpDiminuer($_POST['amaj_mark_cp_diminuer']);
168
		if (!isset($_POST['amaj_mark_hs_diminuer'])) {
167
		if (!isset($_POST['amaj_mark_hs_diminuer'])) {
169
			$_POST['amaj_mark_hs_diminuer'] = 0;
168
			$_POST['amaj_mark_hs_diminuer'] = 0;
170
		}
169
		}
171
		$AbsenceMotif->setMarkHsDiminuer($_POST['amaj_mark_hs_diminuer']);
170
		$AbsenceMotif->setMarkHsDiminuer($_POST['amaj_mark_hs_diminuer']);
172
 
171
 
173
		if ($AbsenceMotif->modifier()) {
172
		if ($AbsenceMotif->modifier()) {
174
	    	$aso_admin_motif['messages'][] = "Le motif d'absence ${_POST['amaj_libelle']} a été modifié.";
173
	    	$aso_admin_motif['messages'][] = "Le motif d'absence ${_POST['amaj_libelle']} a été modifié.";
175
	    }
174
	    }
176
	    
175
	    
177
	    // Ajout du message d'information
176
	    // Ajout du message d'information
178
		$this->getRegistre()->ajouterDonnee('admin_absence_motif', $aso_admin_motif);
177
		$this->getRegistre()->ajouterDonnee('admin_absence_motif', $aso_admin_motif);
179
	    
178
	    
180
		// Action suivante
179
		// Action suivante
181
    	$this->setSuivant('__defaut__');
180
    	$this->setSuivant('__defaut__');
182
	}
181
	}
183
 
182
 
184
    public function executerValiderSupprimer()
183
    public function executerValiderSupprimer()
185
    {
184
    {
186
		// Initialisation des variables
185
		// Initialisation des variables
187
		$aso_admin_motif = array();
186
		$aso_admin_motif = array();
188
 
187
 
189
		// Vérif des absences
188
		// Vérif des absences
190
		$Absence = new Absence();
189
		$Absence = new Absence();
191
		$bool_existe = $Absence->consulter(Absence::GA_ID_ABSENCE_MOTIF, array($_POST['amsu_id']));
190
		$bool_existe = $Absence->consulter(Absence::GA_ID_ABSENCE_MOTIF, array($_POST['amsu_id']));
192
		if ($bool_existe == false) {
191
		if ($bool_existe == false) {
193
			trigger_error('Absence -> OK', E_USER_NOTICE);
192
			trigger_error('Absence -> OK', E_USER_NOTICE);
194
			// Suppression du motif d'absence
193
			// Suppression du motif d'absence
195
			$AbsenceMotif = new AbsenceMotif();
194
			$AbsenceMotif = new AbsenceMotif();
196
			$AbsenceMotif->setIdAbsenceMotif($_POST['amsu_id']);
195
			$AbsenceMotif->setIdAbsenceMotif($_POST['amsu_id']);
197
	    	if ($AbsenceMotif->supprimer()) {
196
	    	if ($AbsenceMotif->supprimer()) {
198
	    		$aso_admin_motif['messages'][] = "Le motif d'absence a été supprimé.";
197
	    		$aso_admin_motif['messages'][] = "Le motif d'absence a été supprimé.";
199
	    	}
198
	    	}
200
		}
199
		}
201
		// Message d'erreur si le motif d'absence est utilisé
200
		// Message d'erreur si le motif d'absence est utilisé
202
		if ($bool_existe != false) {
201
		if ($bool_existe != false) {
203
			$aso_admin_motif['messages'][	] = "Il n'est pas possible de supprimer un motif d'absence contenant des données!";
202
			$aso_admin_motif['messages'][	] = "Il n'est pas possible de supprimer un motif d'absence contenant des données!";
204
		}
203
		}
205
 
204
 
206
		// Enregistrement du message
205
		// Enregistrement du message
207
		$this->getRegistre()->ajouterDonnee('admin_absence_motif', $aso_admin_motif);
206
		$this->getRegistre()->ajouterDonnee('admin_absence_motif', $aso_admin_motif);
208
		
207
		
209
		// Action suivante
208
		// Action suivante
210
    	$this->setSuivant('__defaut__');
209
    	$this->setSuivant('__defaut__');
211
    }
210
    }
212
    
211
    
213
    
212
    
214
}
213
}
215
?>
214
?>