Rev 103 | Rev 122 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
<?phpclass GttCtrlActionAdminProjet extends aControlleurAction {public function __construct(Registre $Registre){$Registre->ajouterEspace('AdminProjet', 'admin_projet');$Registre->ajouterSquelette('admin_projet', 'admin_projet.tpl.html');$Registre->setTitre('Administrer les projets');}public function executer(){$aso_admin_projet = array();// Récupération des projet$Projet = new Projet();// Ajout du projet par défaut$aso_admin_projet['Projet'] = $Projet;// Récupération des catégories$ProjetCategorie = new ProjetCategorie();$aso_admin_projet['categories'] = $ProjetCategorie->consulter(ProjetCategorie::GPC_TOUS);// Récupération des projets$tab_p = $Projet->consulter(Projet::GP_TOUS);if (false == $tab_p) {$aso_admin_projet['projets'] = false;} else {foreach ($tab_p as $Pr) {$aso_projet['id'] = $Pr->getIdProjet();$aso_projet['nom'] = $Pr->getNom();$aso_admin_projet['projets'][] = $aso_projet;}}// Modification des titres, légendes et bouton$aso_admin_projet['form_legend'] = 'Ajouter un projet';$aso_admin_projet['form_bouton_value'] = 'Ajouter';$aso_admin_projet['form_bouton_id'] = 'btn_projet_ajouter';$aso_admin_projet['form_url'] = 'index.php?action=admin-projet_valider-ajouter';//echo '<pre>'.print_r($aso_admin_projet, true).'</pre>';$this->getRegistre()->ajouterDonnee('admin_projet', $aso_admin_projet);}public function executerEditer(){if (isset($_POST['btn_projet_modifier'])) {// Récupération des données du projet à modifier$Projet = new Projet();$Projet->consulter(Projet::GP_ID, $_POST['prsu_id'], true);$aso_admin_projet['Projet'] = $Projet;// Récupération des catégories$ProjetCategorie = new ProjetCategorie();$aso_admin_projet['categories'] = $ProjetCategorie->consulter(ProjetCategorie::GPC_TOUS);// Ajout de la catégorie par défaut$ProjetCategorie->consulter(ProjetCategorie::GPC_ID, $Projet->getCeCategorie(), true);$aso_admin_projet['CategorieDefaut'] = $ProjetCategorie;//echo '<hr>'.print_r($aso_admin_projet['CategorieDefaut'],true);// Modification des titres, légendes et bouton$aso_admin_projet['form_legend'] = 'Modifier une projet';$aso_admin_projet['form_bouton_value'] = 'Modifier';$aso_admin_projet['form_bouton_id'] = 'btn_projet_modifier';$aso_admin_projet['form_url'] = 'index.php?action=admin-projet_valider-modifier';$this->getRegistre()->ajouterDonnee('admin_projet', $aso_admin_projet);} else if (isset($_POST['btn_projet_supprimer'])) {// Action suivante$this->setSuivant('ValiderSupprimer');}}public function executerValiderModifier(){if (isset($_POST['btn_projet_modifier'])) {$Projet = new Projet();//$Projet->setIdCategorie($_POST['caaj_id_categorie']);$Projet->setIdProjet($_POST['praj_id_projet']);$Projet->setCeCategorie($_POST['praj_ce_categorie']);$Projet->setNom($_POST['praj_nom']);$Projet->setDescription($_POST['praj_description']);$Projet->setDateDebut($_POST['praj_date_debut']);$Projet->setDateFin($_POST['praj_date_fin']);$Projet->setDureePrevue($_POST['praj_duree_prevue']);$Projet->setDureeFinance($_POST['praj_duree_finance']);$Projet->setAvancement($_POST['praj_avancement']);$Projet->modifier();}// Action suivante$this->setSuivant('__defaut__');}public function executerValiderAjouter(){$aso_admin_projet = array();// Nous vérifions que le bouton annuler n'a pas été presséif (!isset($_POST['btn_projet_annuler']) && isset($_POST['btn_projet_ajouter'])) {// Ajout du projet$Projet = new Projet();$bool_existe = $Projet->consulter(Projet::GP_NOM, array($_POST['praj_nom']));if ($bool_existe == false) {$Projet->setCeCategorie($_POST['praj_ce_categorie']);$Projet->setNom($_POST['praj_nom']);$Projet->setDescription($_POST['praj_description']);$Projet->setDateDebut($_POST['praj_date_debut']);$Projet->setDateFin($_POST['praj_date_fin']);$Projet->setDureePrevue($_POST['praj_duree_prevue']);$Projet->setDureeFinance($_POST['praj_duree_finance']);$Projet->setAvancement($_POST['praj_avancement']);if ($Projet->ajouter()) {$aso_admin_projet['message'] = "Le projet ${_POST['praj_nom']} a été ajouté.";}} else {$aso_admin_projet['message'] = "Un projet avec un nom identique existe déjà !";}}// Ajout du message d'information$this->getRegistre()->ajouterDonnee('admin_projet', $aso_admin_projet);// Action suivante$this->setSuivant('__defaut__');}public function executerValiderSupprimer(){$aso_admin_projet = array();// Vérif des utilisateur_a_projets$UtilisateurAProjet = new UtilisateurAProjet();$bool_existe = $UtilisateurAProjet->consulter(UtilisateurAProjet::GUAP_PROJET, array($_POST['prsu_id']));if ($bool_existe == false) {trigger_error('UtilisateurAProjet -> OK', E_USER_NOTICE);// Vérif des travail_projets$TravailProjet = new TravailProjet();$bool_existe = $TravailProjet->consulter(TravailProjet::GTP_PROJET, array($_POST['prsu_id']));if ($bool_existe == false) {trigger_error('TravailProjet -> OK', E_USER_NOTICE);// Suppression du projet$Projet = new Projet();$Projet->setIdProjet($_POST['prsu_id']);if ($Projet->supprimer()) {$aso_admin_projet['message'] = "Le projet a été supprimé.";}}}// Message d'erreur si le projet contient des donnéesif ($bool_existe != false) {$aso_admin_projet['message'] = "Il n'est pas possible de supprimer un projet contenant des données!";}// Enregistrement du message$this->getRegistre()->ajouterDonnee('admin_projet', $aso_admin_projet);// Action suivante$this->setSuivant('__defaut__');}}?>