Rev 192 | Blame | Compare with Previous | Last modification | View Log | RSS feed
<?phpclass 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 projetforeach ($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 projetsforeach ($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__');}}?>