Subversion Repositories Applications.gtt

Rev

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

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