Subversion Repositories Applications.gtt

Rev

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

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