Rev 136 | 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->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_utilisateur_annuler'])) {// Action suivante$this->setSuivant('__defaut__');} else if (isset($_POST['btn_projet_modifier'])) {$aso_admin_projet = array();$bool_modifier = true;$this->verifierChampsCommuns($aso_admin_projet, $bool_modifier);if ($bool_modifier) {// Action suivante$this->setSuivant('modifier');} else {$this->getRegistre()->ajouterDonnee('admin_projet', $aso_admin_projet);// Action suivante$this->setSuivant('__defaut__');}}}public function executerModifier(){$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']);if ($Projet->modifier()) {$aso_admin_projet['messages'][] = "Le projet ${_POST['praj_nom']} a été modifié.";}// Ajout du message d'information$this->getRegistre()->ajouterDonnee('admin_projet', $aso_admin_projet);// Action suivante$this->setSuivant('__defaut__');}public function executerValiderAjouter(){$aso_admin_projet = array();if (isset($_POST['btn_projet_annuler'])) {// Action suivante$this->setSuivant('__defaut__');} else if (isset($_POST['btn_projet_ajouter'])) {$bool_ajouter = true;// Vérification de l'existance d'un projet avec le même nom$Projet = new Projet();$bool_existe = $Projet->consulter(Projet::GP_NOM, array($_POST['praj_nom']));if (true == $bool_existe) {$aso_admin_projet['messages'][] = "Un projet avec un nom identique existe déjà !";$bool_ajouter = false;}$this->verifierChampsCommuns($aso_admin_projet, $bool_ajouter);$this->getRegistre()->ajouterDonnee('admin_projet', $aso_admin_projet);if ($bool_ajouter) {// Action suivante$this->setSuivant('ajouter');} else {// Action suivante$this->setSuivant('__defaut__');}}}public function executerAjouter(){$aso_admin_projet = array();$Projet = new 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']);if ($Projet->ajouter()) {$aso_admin_projet['messages'][] = "Le projet ${_POST['praj_nom']} a été ajouté.";}// Ajout du message d'information$this->getRegistre()->ajouterDonnee('admin_projet', $aso_admin_projet);// Action suivante$this->setSuivant('__defaut__');}public function verifierChampsCommuns(&$aso_admin_projet, &$bool){if (empty($_POST['praj_nom'])) {$aso_admin_projet['messages'][] = 'Le nom du projet ne doit pas être vide !';$bool = false;}}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['messages'][] = "Le projet a été supprimé.";}}}// Message d'erreur si le projet contient des donnéesif ($bool_existe != false) {$aso_admin_projet['messages'][] = "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__');}}?>