Subversion Repositories Applications.gtt

Rev

Rev 122 | Rev 189 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

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