Subversion Repositories Applications.gtt

Rev

Rev 71 | Rev 80 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 71 Rev 75
1
<?php
1
<?php
2
class GttCtrlActionAdminProjet extends aControlleurAction {
2
class GttCtrlActionAdminProjet extends aControlleurAction {
3
 
3
 
4
	public function __construct(Registre $Registre)
4
	public function __construct(Registre $Registre)
5
	{
5
	{
6
		$Registre->ajouterEspace('AdminProjet', 'admin_projet');
6
		$Registre->ajouterEspace('AdminProjet', 'admin_projet');
7
		$Registre->ajouterSquelette('admin_projet', 'admin_projet.tpl.html');
7
		$Registre->ajouterSquelette('admin_projet', 'admin_projet.tpl.html');
8
		$Registre->setTitre('Administrer les projets');
8
		$Registre->setTitre('Administrer les projets');
9
	}
9
	}
10
 
10
 
11
	public function executer()
11
	public function executer()
12
    {
12
    {
13
    	$aso_admin_projet = array();
13
    	$aso_admin_projet = array();
14
		
14
		
15
		// Récupération des projet
15
		// Récupération des projet
16
		$Projet = new Projet();
16
		$Projet = new Projet();
17
		
17
		
18
		// Ajout de la catégorie par défaut
18
		// Ajout du projet par défaut
-
 
19
		$aso_admin_projet['Projet'] = $Projet;
-
 
20
 
-
 
21
		// Récupération des catégories
-
 
22
		$ProjetCategorie = new ProjetCategorie();
19
		$aso_admin_projet['Projet'] = $Projet;
23
		$aso_admin_projet['categories'] = $ProjetCategorie->consulter(ProjetCategorie::GPC_TOUS);
20
 
24
			
21
		// Récupération des projets
25
		// Récupération des projets
22
    	$tab_p = $Projet->consulter(Projet::GP_TOUS);
26
    	$tab_p = $Projet->consulter(Projet::GP_TOUS);
23
		foreach ($tab_p as $Pr) {
27
		foreach ($tab_p as $Pr) {
24
    			$aso_projet['id'] = $Pr->getIdProjet();
28
    			$aso_projet['id'] = $Pr->getIdProjet();
25
    			$aso_projet['nom'] = $Pr->getNomProjet();
29
    			$aso_projet['nom'] = $Pr->getNomProjet();
26
    			$aso_admin_projet['projets'][] = $aso_projet;
30
    			$aso_admin_projet['projets'][] = $aso_projet;
27
    	}
31
    	}
28
    	
32
    	
29
		// Modification des titres, légendes et bouton
33
		// Modification des titres, légendes et bouton
30
		$aso_admin_projet['form_legend'] = 'Ajouter un projet';
34
		$aso_admin_projet['form_legend'] = 'Ajouter un projet';
31
		$aso_admin_projet['form_bouton_value'] = 'Ajouter';
35
		$aso_admin_projet['form_bouton_value'] = 'Ajouter';
32
		$aso_admin_projet['form_bouton_id'] = 'btn_projet_ajouter';
36
		$aso_admin_projet['form_bouton_id'] = 'btn_projet_ajouter';
33
		$aso_admin_projet['form_url'] = 'index.php?action=admin-projet_valider-ajouter';
37
		$aso_admin_projet['form_url'] = 'index.php?action=admin-projet_valider-ajouter';
34
		
38
		
35
    	//echo '<pre>'.print_r($aso_admin_projet, true).'</pre>';
39
    	//echo '<pre>'.print_r($aso_admin_projet, true).'</pre>';
36
		$this->getRegistre()->ajouterDonnee('admin_projet', $aso_admin_projet);
40
		$this->getRegistre()->ajouterDonnee('admin_projet', $aso_admin_projet);
37
    }
41
    }
38
 
42
 
39
	public function executerEditer()
43
	public function executerEditer()
40
    {
44
    {
41
		if (isset($_POST['btn_projet_modifier'])) {
45
		if (isset($_POST['btn_projet_modifier'])) {
42
			// Récupération des données du projet à modifier
46
			// Récupération des données du projet à modifier
43
			$Projet = new Projet();
47
			$Projet = new Projet();
44
			$Projet->consulter(Projet::GP_ID, $_POST['prsu_id'], true);
48
			$Projet->consulter(Projet::GP_ID, $_POST['prsu_id'], true);
45
			$aso_admin_projet['Projet'] = $Projet;
49
			$aso_admin_projet['Projet'] = $Projet;
-
 
50
			print_r($Projet);
-
 
51
			// Récupération des catégories
-
 
52
			$ProjetCategorie = new ProjetCategorie();
-
 
53
			$aso_admin_projet['categories'] = $ProjetCategorie->consulter(ProjetCategorie::GPC_TOUS);
-
 
54
 
-
 
55
			// Ajout de la catégorie par défaut
-
 
56
			$ProjetCategorie->consulter(ProjetCategorie::GPC_ID, $Projet->getCeCategorie(), true);
-
 
57
			$aso_admin_projet['CategorieDefaut'] = $ProjetCategorie; 
46
 
58
			//echo '<hr>'.print_r($aso_admin_projet['CategorieDefaut'],true);
47
			// Modification des titres, légendes et bouton
59
			// Modification des titres, légendes et bouton
48
			$aso_admin_projet['form_legend'] = 'Modifier une projet';
60
			$aso_admin_projet['form_legend'] = 'Modifier une projet';
49
			$aso_admin_projet['form_bouton_value'] = 'Modifier';
61
			$aso_admin_projet['form_bouton_value'] = 'Modifier';
50
			$aso_admin_projet['form_bouton_id'] = 'btn_projet_modifier';
62
			$aso_admin_projet['form_bouton_id'] = 'btn_projet_modifier';
51
			$aso_admin_projet['form_url'] = 'index.php?action=admin-projet_valider-modifier';
63
			$aso_admin_projet['form_url'] = 'index.php?action=admin-projet_valider-modifier';
52
 
64
 
53
			$this->getRegistre()->ajouterDonnee('admin_projet', $aso_admin_projet);
65
			$this->getRegistre()->ajouterDonnee('admin_projet', $aso_admin_projet);
54
		} else if (isset($_POST['btn_projet_supprimer'])) {
66
		} else if (isset($_POST['btn_projet_supprimer'])) {
55
			// Action suivante
67
			// Action suivante
56
    		$this->setSuivant('ValiderSupprimer');
68
    		$this->setSuivant('ValiderSupprimer');
57
		}
69
		}
58
    }
70
    }
59
 
71
 
60
	public function executerValiderModifier()
72
	public function executerValiderModifier()
61
	{
73
	{
62
		if (isset($_POST['btn_projet_annuler'])) {
74
		if (isset($_POST['btn_projet_annuler'])) {
63
			// Action suivante
75
			// Action suivante
64
    		$this->setSuivant('__defaut__');
76
    		$this->setSuivant('__defaut__');
65
    	} else if (isset($_POST['btn_projet_modifier'])) {
77
    	} else if (isset($_POST['btn_projet_modifier'])) {
66
			$Projet = new Projet();
78
			$Projet = new Projet();
67
			//$Projet->setIdCategorie($_POST['caaj_id_categorie']);
79
			//$Projet->setIdCategorie($_POST['caaj_id_categorie']);
68
			$Projet->setIdProjet($_POST['praj_id_projet']);
80
			$Projet->setIdProjet($_POST['praj_id_projet']);
-
 
81
			$Projet->setCeCategorie($_POST['praj_ce_categorie']);
69
			$Projet->setNomProjet($_POST['praj_nom']);
82
			$Projet->setNomProjet($_POST['praj_nom']);
70
			$Projet->setDescription($_POST['praj_description']);
83
			$Projet->setDescription($_POST['praj_description']);
71
			$Projet->setDateDebut($_POST['praj_date_debut']);
84
			$Projet->setDateDebut($_POST['praj_date_debut']);
72
			$Projet->setDureePrevue($_POST['praj_duree_prevue']);
85
			$Projet->setDureePrevue($_POST['praj_duree_prevue']);
73
			$Projet->setAvancement($_POST['praj_avancement']);
86
			$Projet->setAvancement($_POST['praj_avancement']);
74
	    	$Projet->modifier();
87
	    	$Projet->modifier();
75
		}
88
		}
76
	}
89
	}
77
	
90
	
78
    public function executerValiderAjouter()
91
    public function executerValiderAjouter()
79
    {
92
    {
80
		$aso_admin_projet = array();
93
		$aso_admin_projet = array();
81
		// Nous vérifions que le bouton annuler n'a pas été pressé
94
		// Nous vérifions que le bouton annuler n'a pas été pressé
82
		if (!isset($_POST['btn_projet_annuler']) && isset($_POST['btn_projet_ajouter'])) {
95
		if (!isset($_POST['btn_projet_annuler']) && isset($_POST['btn_projet_ajouter'])) {
83
			// Ajout du projet
96
			// Ajout du projet
84
			$Projet = new Projet();
97
			$Projet = new Projet();
85
			$bool_existe = $Projet->consulter(Projet::GP_NOM, array($_POST['praj_nom']));
98
			$bool_existe = $Projet->consulter(Projet::GP_NOM, array($_POST['praj_nom']));
86
			if ($bool_existe == false) {
99
			if ($bool_existe == false) {
87
				$ProjetMax = $Projet->consulter(Projet::GP_ID_MAX);
100
				$ProjetMax = $Projet->consulter(Projet::GP_ID_MAX);
88
				$id_max = $ProjetMax->getIdProjet();
101
				$id_max = $ProjetMax->getIdProjet();
89
				$Projet->setIdProjet(++$id_max);
102
				$Projet->setIdProjet(++$id_max);
-
 
103
				$Projet->setCeCategorie($_POST['praj_ce_categorie']);
90
				$Projet->setNomProjet($_POST['praj_nom']);
104
				$Projet->setNomProjet($_POST['praj_nom']);
91
				$Projet->setDescription($_POST['praj_description']);
105
				$Projet->setDescription($_POST['praj_description']);
-
 
106
				$Projet->setDateDebut($_POST['praj_date_debut']);
-
 
107
				$Projet->setDureePrevue($_POST['praj_duree_prevue']);
-
 
108
				$Projet->setAvancement($_POST['praj_avancement']);
92
	    		if ($Projet->ajouter()) {
109
	    		if ($Projet->ajouter()) {
93
	    			$aso_admin_projet['message'] = "Le projet ${_POST['praj_nom']} a été ajouté.";
110
	    			$aso_admin_projet['message'] = "Le projet ${_POST['praj_nom']} a été ajouté.";
94
	    		}
111
	    		}
95
			} else {
112
			} else {
96
				$aso_admin_projet['message'] = "Ce projet existe déjà !";
113
				$aso_admin_projet['message'] = "Ce projet existe déjà !";
97
 
114
 
98
			}
115
			}
99
		}
116
		}
100
		
117
		
101
		// Ajout du message d'information
118
		// Ajout du message d'information
102
		$this->getRegistre()->ajouterDonnee('admin_projet', $aso_admin_projet);
119
		$this->getRegistre()->ajouterDonnee('admin_projet', $aso_admin_projet);
103
		
120
		
104
		// Action suivante
121
		// Action suivante
105
    	$this->setSuivant('__defaut__');
122
    	$this->setSuivant('__defaut__');
106
    }
123
    }
107
 
124
 
108
    public function executerValiderSupprimer()
125
    public function executerValiderSupprimer()
109
    {
126
    {
110
		$aso_admin_projet = array();
127
		$aso_admin_projet = array();
111
		// Vérif des utilisateur_a_projets
128
		// Vérif des utilisateur_a_projets
112
		$UtilisateurAProjet = new UtilisateurAProjet();
129
		$UtilisateurAProjet = new UtilisateurAProjet();
113
		$bool_existe = $UtilisateurAProjet->consulter(UtilisateurAProjet::GUAP_PROJET, array($_POST['prsu_id']));
130
		$bool_existe = $UtilisateurAProjet->consulter(UtilisateurAProjet::GUAP_PROJET, array($_POST['prsu_id']));
114
		if ($bool_existe == false) {
131
		if ($bool_existe == false) {
115
			trigger_error('UtilisateurAProjet -> OK', E_USER_NOTICE);
132
			trigger_error('UtilisateurAProjet -> OK', E_USER_NOTICE);
116
			// Vérif des travail_projets
133
			// Vérif des travail_projets
117
			$TravailProjet = new TravailProjet();
134
			$TravailProjet = new TravailProjet();
118
			$bool_existe = $TravailProjet->consulter(TravailProjet::GTP_PROJET, array($_POST['prsu_id']));
135
			$bool_existe = $TravailProjet->consulter(TravailProjet::GTP_PROJET, array($_POST['prsu_id']));
119
			if ($bool_existe == false) {
136
			if ($bool_existe == false) {
120
				trigger_error('TravailProjet -> OK', E_USER_NOTICE);
137
				trigger_error('TravailProjet -> OK', E_USER_NOTICE);
121
				// Vérif des taches
138
				// Vérif des taches
122
				$ProjetTache = new ProjetTache();
139
				$ProjetTache = new ProjetTache();
123
				$bool_existe = $ProjetTache->consulter(ProjetTache::GPT_PROJET, array($_POST['prsu_id']));
140
				$bool_existe = $ProjetTache->consulter(ProjetTache::GPT_PROJET, array($_POST['prsu_id']));
124
				if ($bool_existe == false) {
141
				if ($bool_existe == false) {
125
					trigger_error('ProjetTache -> OK', E_USER_NOTICE);
142
					trigger_error('ProjetTache -> OK', E_USER_NOTICE);
126
					// Suppression du projet
143
					// Suppression du projet
127
					$Projet = new Projet();
144
					$Projet = new Projet();
128
					$Projet->setIdProjet($_POST['prsu_id']);
145
					$Projet->setIdProjet($_POST['prsu_id']);
129
			    	if ($Projet->supprimer()) {
146
			    	if ($Projet->supprimer()) {
130
			    		$aso_admin_projet['message'] = "Le projet a été supprimé.";
147
			    		$aso_admin_projet['message'] = "Le projet a été supprimé.";
131
			    	}
148
			    	}
132
				}		
149
				}		
133
			}
150
			}
134
		}
151
		}
135
		// Message d'erreur si le projet contient des données
152
		// Message d'erreur si le projet contient des données
136
		if ($bool_existe != false) {
153
		if ($bool_existe != false) {
137
			$aso_admin_projet['message'] = "Il n'est pas possible de supprimer un projet contenant des données!";
154
			$aso_admin_projet['message'] = "Il n'est pas possible de supprimer un projet contenant des données!";
138
		}
155
		}
139
 
156
 
140
		// Enregistrement du message
157
		// Enregistrement du message
141
		$this->getRegistre()->ajouterDonnee('admin_projet', $aso_admin_projet);
158
		$this->getRegistre()->ajouterDonnee('admin_projet', $aso_admin_projet);
142
		
159
		
143
		// Action suivante
160
		// Action suivante
144
    	$this->setSuivant('__defaut__');
161
    	$this->setSuivant('__defaut__');
145
    }
162
    }
146
}
163
}
147
?>
164
?>