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 |
{
|
189 |
mathias |
11 |
// Liste des projets
|
10 |
jpm |
12 |
$aso_preferences = array();
|
103 |
jpm |
13 |
$this->getRegistre()->setTitre('Modifier mes préférences');
|
10 |
jpm |
14 |
$Projet = new Projet();
|
|
|
15 |
$tab_projets = $Projet->consulter(Projet::GP_TOUS);
|
46 |
jpm |
16 |
|
189 |
mathias |
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>';
|
|
|
36 |
|
95 |
jpm |
37 |
if (false == $tab_projets) {
|
103 |
jpm |
38 |
$aso_preferences['messages'][] = "Veuillez commencer par ajouter des catégories de projet et des projets !";
|
95 |
jpm |
39 |
$aso_preferences['preferences'] = false;
|
|
|
40 |
} else {
|
|
|
41 |
$aso_preferences['nbre_projets'] = count($tab_projets);
|
189 |
mathias |
42 |
// Parcours du tableau de projets
|
95 |
jpm |
43 |
foreach ($tab_projets as $Projet) {
|
103 |
jpm |
44 |
// Vérification de la présence du projet dans les préférences de l'utilisateur
|
95 |
jpm |
45 |
$UtilisateurAProjet = new UtilisateurAProjet();
|
|
|
46 |
$cmd = UtilisateurAProjet::GUAP_ID;
|
|
|
47 |
$param = array($GLOBALS['_GTT_']['Utilisateur']->getIdUtilisateur(), $Projet->getIdProjet());
|
|
|
48 |
$coche = false;
|
189 |
mathias |
49 |
$present = $UtilisateurAProjet->consulter($cmd, $param);
|
|
|
50 |
if ($present) {
|
95 |
jpm |
51 |
$coche = true;
|
|
|
52 |
}
|
|
|
53 |
|
103 |
jpm |
54 |
// Récupération de la catégorie du projet
|
95 |
jpm |
55 |
$ProjetCategorie = new ProjetCategorie();
|
|
|
56 |
$Categorie = current($ProjetCategorie->consulter(ProjetCategorie::GPC_ID, $Projet->getCeCategorie()));
|
|
|
57 |
|
103 |
jpm |
58 |
// Récupération de toutes les infos
|
95 |
jpm |
59 |
$aso_preferences['preferences'][$Categorie->getLibelle()][] = array(
|
|
|
60 |
'id' => $Projet->getIdProjet(),
|
|
|
61 |
'valeur' => $Projet->getIdProjet(),
|
109 |
jpm |
62 |
'no' => $Projet->getNom(),
|
|
|
63 |
'de' => $Projet->getDescription(),
|
|
|
64 |
'dade' => $Projet->getDateDebut(),
|
|
|
65 |
'dafi' => $Projet->getDateFin(),
|
|
|
66 |
'dupr' => $Projet->getDureePrevue(),
|
|
|
67 |
'dufi' => $Projet->getDureeFinance(),
|
189 |
mathias |
68 |
'tpp' => $aso_temps_perso[$Projet->getIdProjet()]['temps_jours'], // temps perso. passé
|
109 |
jpm |
69 |
'av' => $Projet->getAvancement(),
|
177 |
mathias |
70 |
'avc' => $Projet->getAvancementCalcule(), // trop de la boulette !
|
95 |
jpm |
71 |
'coche' => $coche);
|
|
|
72 |
}
|
|
|
73 |
ksort($aso_preferences['preferences']);
|
|
|
74 |
}
|
189 |
mathias |
75 |
|
10 |
jpm |
76 |
//echo '<pre>'.print_r($aso_preferences, true).'</pre>';
|
11 |
jpm |
77 |
$this->getRegistre()->ajouterDonnee('preferences', $aso_preferences);
|
10 |
jpm |
78 |
}
|
46 |
jpm |
79 |
|
11 |
jpm |
80 |
public function executerValider()
|
10 |
jpm |
81 |
{
|
103 |
jpm |
82 |
// Mise à jour des Préférences
|
10 |
jpm |
83 |
$UtilisateurAProjet = new UtilisateurAProjet();
|
|
|
84 |
$UtilisateurAProjet->setIdUtilisateur($GLOBALS['_GTT_']['Utilisateur']->getIdUtilisateur());
|
|
|
85 |
$UtilisateurAProjet->supprimer();
|
|
|
86 |
//echo '<pre>'.print_r($_POST, true).'</pre>';
|
95 |
jpm |
87 |
if (isset($_POST['pr'])) {
|
|
|
88 |
foreach ($_POST['pr'] as $pr_id) {
|
|
|
89 |
$UtilisateurAProjet = new UtilisateurAProjet();
|
|
|
90 |
$UtilisateurAProjet->setIdUtilisateur($GLOBALS['_GTT_']['Utilisateur']->getIdUtilisateur());
|
|
|
91 |
$UtilisateurAProjet->setIdProjet($pr_id);
|
|
|
92 |
$UtilisateurAProjet->ajouter();
|
|
|
93 |
}
|
10 |
jpm |
94 |
}
|
95 |
jpm |
95 |
|
10 |
jpm |
96 |
// Action suivante
|
|
|
97 |
$this->setSuivant('__defaut__');
|
|
|
98 |
}
|
|
|
99 |
}
|
|
|
100 |
?>
|