Subversion Repositories Applications.gtt

Rev

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

Rev 177 Rev 189
1
<?php
1
<?php
2
class GttCtrlActionPreferences extends aControlleurAction {
2
class GttCtrlActionPreferences extends aControlleurAction {
3
 
3
 
4
    public function __construct(Registre $Registre)
4
    public function __construct(Registre $Registre)
5
    {
5
    {
6
    	$Registre->ajouterEspace('Preferences', 'preferences');
6
    	$Registre->ajouterEspace('Preferences', 'preferences');
7
    }
7
    }
8
 
8
 
9
    public function executer()
9
    public function executer()
10
    {
10
    {
-
 
11
		// Liste des projets
11
    	$aso_preferences = array();
12
    	$aso_preferences = array();
12
    	$this->getRegistre()->setTitre('Modifier mes préférences');
13
    	$this->getRegistre()->setTitre('Modifier mes préférences');
13
    	$Projet = new Projet();
14
    	$Projet = new Projet();
14
    	$tab_projets = $Projet->consulter(Projet::GP_TOUS);
15
    	$tab_projets = $Projet->consulter(Projet::GP_TOUS);
-
 
16
 
-
 
17
		// Temps de travail perso sur chaque projet
-
 
18
		$aso_temps_perso = array();
-
 
19
		$TravailProjet = new TravailProjet();
-
 
20
		$utilisateurEnCours = $GLOBALS['_GTT_']['Utilisateur'];
-
 
21
		$tab_temps_perso = $TravailProjet->getTempsTravailUtilisateurParProjet($utilisateurEnCours->getIdUtilisateur());
-
 
22
    	//echo '<pre>'.print_r($tab_temps_perso, true).'</pre>';
-
 
23
 
-
 
24
		if (false == $tab_temps_perso) {
-
 
25
			$aso_preferences['messages'][] = "Impossible de lire le temps de travail personnel";
-
 
26
		} else {
-
 
27
			// Parcours du tableau de temps de travail perso par projet
-
 
28
	    	foreach ($tab_temps_perso as $tp) {
-
 
29
				$aso_temps_perso[$tp[1]] = array(
-
 
30
					'temps_heures' => $tp[2],
-
 
31
					'temps_jours' => floor(($tp[2] / 7))
-
 
32
				);
-
 
33
	    	}
-
 
34
		}
-
 
35
		//echo '<pre>'.print_r($aso_temps_perso, true).'</pre>';
15
 
36
 
16
		if (false == $tab_projets) {
37
		if (false == $tab_projets) {
17
			$aso_preferences['messages'][] = "Veuillez commencer par ajouter des catégories de projet et des projets !";
38
			$aso_preferences['messages'][] = "Veuillez commencer par ajouter des catégories de projet et des projets !";
18
			$aso_preferences['preferences'] = false;
39
			$aso_preferences['preferences'] = false;
19
		} else {
40
		} else {
20
    		$aso_preferences['nbre_projets'] = count($tab_projets);
41
    		$aso_preferences['nbre_projets'] = count($tab_projets);
21
			// Parcourt du tableau de projets
42
			// Parcours du tableau de projets
22
	    	foreach ($tab_projets as $Projet) {
43
	    	foreach ($tab_projets as $Projet) {
23
				// Vérification de la présence du projet dans les préférences de l'utilisateur
44
				// Vérification de la présence du projet dans les préférences de l'utilisateur
24
				$UtilisateurAProjet = new UtilisateurAProjet();
45
				$UtilisateurAProjet = new UtilisateurAProjet();
25
				$cmd = UtilisateurAProjet::GUAP_ID;
46
				$cmd = UtilisateurAProjet::GUAP_ID;
26
				$param = array($GLOBALS['_GTT_']['Utilisateur']->getIdUtilisateur(), $Projet->getIdProjet());
47
				$param = array($GLOBALS['_GTT_']['Utilisateur']->getIdUtilisateur(), $Projet->getIdProjet());
27
				$coche = false;
48
				$coche = false;
28
				if ($present = $UtilisateurAProjet->consulter($cmd, $param)) {
49
				$present = $UtilisateurAProjet->consulter($cmd, $param);
-
 
50
				if ($present) {
29
					$coche = true;
51
					$coche = true;
30
				}
52
				}
31
	
53
	
32
				// Récupération de la catégorie du projet
54
				// Récupération de la catégorie du projet
33
				$ProjetCategorie = new ProjetCategorie();
55
				$ProjetCategorie = new ProjetCategorie();
34
				$Categorie = current($ProjetCategorie->consulter(ProjetCategorie::GPC_ID, $Projet->getCeCategorie()));
56
				$Categorie = current($ProjetCategorie->consulter(ProjetCategorie::GPC_ID, $Projet->getCeCategorie()));
35
	
57
	
36
				// Récupération de toutes les infos
58
				// Récupération de toutes les infos
37
				$aso_preferences['preferences'][$Categorie->getLibelle()][] = array(
59
				$aso_preferences['preferences'][$Categorie->getLibelle()][] = array(
38
					'id' => $Projet->getIdProjet(),
60
					'id' => $Projet->getIdProjet(),
39
					'valeur' => $Projet->getIdProjet(),
61
					'valeur' => $Projet->getIdProjet(),
40
					'no' => $Projet->getNom(),
62
					'no' => $Projet->getNom(),
41
					'de' => $Projet->getDescription(),
63
					'de' => $Projet->getDescription(),
42
					'dade' => $Projet->getDateDebut(),
64
					'dade' => $Projet->getDateDebut(),
43
					'dafi' => $Projet->getDateFin(),
65
					'dafi' => $Projet->getDateFin(),
44
					'dupr' => $Projet->getDureePrevue(),
66
					'dupr' => $Projet->getDureePrevue(),
45
					'dufi' => $Projet->getDureeFinance(),
67
					'dufi' => $Projet->getDureeFinance(),
-
 
68
					'tpp' => $aso_temps_perso[$Projet->getIdProjet()]['temps_jours'], // temps perso. passé
46
					'av' => $Projet->getAvancement(),
69
					'av' => $Projet->getAvancement(),
47
					'avc' => $Projet->getAvancementCalcule(), // trop de la boulette !
70
					'avc' => $Projet->getAvancementCalcule(), // trop de la boulette !
48
					'coche' => $coche);
71
					'coche' => $coche);
49
	    	}
72
	    	}
50
	    	ksort($aso_preferences['preferences']);
73
	    	ksort($aso_preferences['preferences']);
51
		}
74
		}
52
		
75
 
53
    	//echo '<pre>'.print_r($aso_preferences, true).'</pre>';
76
    	//echo '<pre>'.print_r($aso_preferences, true).'</pre>';
54
		$this->getRegistre()->ajouterDonnee('preferences', $aso_preferences);
77
		$this->getRegistre()->ajouterDonnee('preferences', $aso_preferences);
55
    }
78
    }
56
 
79
 
57
    public function executerValider()
80
    public function executerValider()
58
    {
81
    {
59
    	// Mise à jour des Préférences
82
    	// Mise à jour des Préférences
60
    	$UtilisateurAProjet = new UtilisateurAProjet();
83
    	$UtilisateurAProjet = new UtilisateurAProjet();
61
    	$UtilisateurAProjet->setIdUtilisateur($GLOBALS['_GTT_']['Utilisateur']->getIdUtilisateur());
84
    	$UtilisateurAProjet->setIdUtilisateur($GLOBALS['_GTT_']['Utilisateur']->getIdUtilisateur());
62
    	$UtilisateurAProjet->supprimer();
85
    	$UtilisateurAProjet->supprimer();
63
    	//echo '<pre>'.print_r($_POST, true).'</pre>';
86
    	//echo '<pre>'.print_r($_POST, true).'</pre>';
64
    	if (isset($_POST['pr'])) {
87
    	if (isset($_POST['pr'])) {
65
	    	foreach ($_POST['pr'] as $pr_id) {
88
	    	foreach ($_POST['pr'] as $pr_id) {
66
	    		$UtilisateurAProjet = new UtilisateurAProjet();
89
	    		$UtilisateurAProjet = new UtilisateurAProjet();
67
				$UtilisateurAProjet->setIdUtilisateur($GLOBALS['_GTT_']['Utilisateur']->getIdUtilisateur());
90
				$UtilisateurAProjet->setIdUtilisateur($GLOBALS['_GTT_']['Utilisateur']->getIdUtilisateur());
68
				$UtilisateurAProjet->setIdProjet($pr_id);
91
				$UtilisateurAProjet->setIdProjet($pr_id);
69
				$UtilisateurAProjet->ajouter();
92
				$UtilisateurAProjet->ajouter();
70
	    	}
93
	    	}
71
    	}
94
    	}
72
    	
95
    	
73
    	// Action suivante
96
    	// Action suivante
74
    	$this->setSuivant('__defaut__');
97
    	$this->setSuivant('__defaut__');
75
    }
98
    }
76
}
99
}
77
?>
100
?>