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 |
?>
|