New file |
0,0 → 1,100 |
<?php |
class GttCtrlActionPreferences extends aControlleurAction { |
|
public function __construct(Registre $Registre) |
{ |
$Registre->ajouterEspace('Preferences', 'preferences'); |
} |
|
public function executer() |
{ |
// Liste des projets |
$aso_preferences = array(); |
$this->getRegistre()->setTitre('Modifier mes préférences'); |
$Projet = new Projet(); |
$tab_projets = $Projet->consulter(Projet::GP_TOUS); |
|
// Temps de travail perso sur chaque projet |
$aso_temps_perso = array(); |
$TravailProjet = new TravailProjet(); |
$utilisateurEnCours = $GLOBALS['_GTT_']['Utilisateur']; |
$tab_temps_perso = $TravailProjet->getTempsTravailUtilisateurParProjet($utilisateurEnCours->getIdUtilisateur()); |
//echo '<pre>'.print_r($tab_temps_perso, true).'</pre>'; |
|
if (false == $tab_temps_perso) { |
$aso_preferences['messages'][] = "Impossible de lire le temps de travail personnel"; |
} else { |
// Parcours du tableau de temps de travail perso par projet |
foreach ($tab_temps_perso as $tp) { |
$aso_temps_perso[$tp[1]] = array( |
'temps_heures' => $tp[2], |
'temps_jours' => floor(($tp[2] / 7)) |
); |
} |
} |
//echo '<pre>'.print_r($aso_temps_perso, true).'</pre>'; |
|
if (false == $tab_projets) { |
$aso_preferences['messages'][] = "Veuillez commencer par ajouter des catégories de projet et des projets !"; |
$aso_preferences['preferences'] = false; |
} else { |
$aso_preferences['nbre_projets'] = count($tab_projets); |
// Parcours du tableau de projets |
foreach ($tab_projets as $Projet) { |
// Vérification de la présence du projet dans les préférences de l'utilisateur |
$UtilisateurAProjet = new UtilisateurAProjet(); |
$cmd = UtilisateurAProjet::GUAP_ID; |
$param = array($GLOBALS['_GTT_']['Utilisateur']->getIdUtilisateur(), $Projet->getIdProjet()); |
$coche = false; |
$present = $UtilisateurAProjet->consulter($cmd, $param); |
if ($present) { |
$coche = true; |
} |
|
// Récupération de la catégorie du projet |
$ProjetCategorie = new ProjetCategorie(); |
$Categorie = current($ProjetCategorie->consulter(ProjetCategorie::GPC_ID, $Projet->getCeCategorie())); |
|
// Récupération de toutes les infos |
$aso_preferences['preferences'][$Categorie->getLibelle()][] = array( |
'id' => $Projet->getIdProjet(), |
'valeur' => $Projet->getIdProjet(), |
'no' => $Projet->getNom(), |
'de' => $Projet->getDescription(), |
'dade' => $Projet->getDateDebut(), |
'dafi' => $Projet->getDateFin(), |
'dupr' => $Projet->getDureePrevue(), |
'dufi' => $Projet->getDureeFinance(), |
'tpp' => $aso_temps_perso[$Projet->getIdProjet()]['temps_jours'], // temps perso. passé |
'av' => $Projet->getAvancement(), |
'avc' => $Projet->getAvancementCalcule(), // trop de la boulette ! |
'coche' => $coche); |
} |
ksort($aso_preferences['preferences']); |
} |
|
//echo '<pre>'.print_r($aso_preferences, true).'</pre>'; |
$this->getRegistre()->ajouterDonnee('preferences', $aso_preferences); |
} |
|
public function executerValider() |
{ |
// Mise à jour des Préférences |
$UtilisateurAProjet = new UtilisateurAProjet(); |
$UtilisateurAProjet->setIdUtilisateur($GLOBALS['_GTT_']['Utilisateur']->getIdUtilisateur()); |
$UtilisateurAProjet->supprimer(); |
//echo '<pre>'.print_r($_POST, true).'</pre>'; |
if (isset($_POST['pr'])) { |
foreach ($_POST['pr'] as $pr_id) { |
$UtilisateurAProjet = new UtilisateurAProjet(); |
$UtilisateurAProjet->setIdUtilisateur($GLOBALS['_GTT_']['Utilisateur']->getIdUtilisateur()); |
$UtilisateurAProjet->setIdProjet($pr_id); |
$UtilisateurAProjet->ajouter(); |
} |
} |
|
// Action suivante |
$this->setSuivant('__defaut__'); |
} |
} |
?> |