ajouterEspace('AdminAbsenceMotif', 'admin_absence_motif'); $Registre->setTitre("Administrer les motifs d'absence"); } public function executer() { $aso_admin_absence_motif = array(); // Récupération des catégories $AbsenceMotif = new AbsenceMotif(); // Utilisateur vide par défaut $aso_admin_absence_motif['AbsenceMotif'] = clone $AbsenceMotif; $tab_am = $AbsenceMotif->consulter(AbsenceMotif::GAM_TOUS); if ($tab_am) { if ($tab_am instanceof AbsenceMotif) { $tab_am = array($tab_am); } foreach ($tab_am as $am) { if ($am->getIdAbsenceMotif() != 0) { $aso_motif['id'] = $am->getIdAbsenceMotif(); $aso_motif['libelle'] = $am->getLibelle(); $aso_admin_absence_motif['motifs'][] = $aso_motif; } } } // Modification des titres, légendes et bouton $aso_admin_absence_motif['form_legend'] = "Ajouter un motif d'abscence"; $aso_admin_absence_motif['form_bouton_value'] = 'Ajouter'; $aso_admin_absence_motif['form_bouton_id'] = 'btn_absence_motif_ajouter'; $aso_admin_absence_motif['form_url'] = 'index.php?action=admin-absence-motif_valider-ajouter'; //echo '
'.print_r($aso_admin_absence_motif, true).''; $this->getRegistre()->ajouterDonnee('admin_absence_motif', $aso_admin_absence_motif); } public function executerEditer() { // Initialisation de variable $aso_admin_absence_motif = array(); // Récupération d'info en fonction du bouton selectionné if (isset($_POST['btn_absence_motif_modifier'])) { // Récupération des données du motif à modifier $AbsenceMotif = new AbsenceMotif(); $AbsenceMotif ->consulter(AbsenceMotif::GAM_ID, $_POST['amsu_id'], true); $aso_admin_absence_motif['AbsenceMotif'] = $AbsenceMotif; // Modification des titres, légendes et bouton $aso_admin_absence_motif['form_legend'] = "Modifier un motif d'absence"; $aso_admin_absence_motif['form_bouton_value'] = 'Modifier'; $aso_admin_absence_motif['form_bouton_id'] = 'btn_absence_motif_modifier'; $aso_admin_absence_motif['form_url'] = 'index.php?action=admin-absence-motif_valider-modifier'; $this->getRegistre()->ajouterDonnee('admin_absence_motif', $aso_admin_absence_motif); } else if (isset($_POST['btn_absence_motif_supprimer'])) { // Action suivante $this->setSuivant('ValiderSupprimer'); } } public function executerValiderAjouter() { if (isset($_POST['btn_absence_motif_annuler'])) { // Action suivante $this->setSuivant('__defaut__'); } else if (isset($_POST['btn_absence_motif_ajouter'])) { // Vérification du motif à ajouter $bool_modifier = true; $AbsenceMotif = new AbsenceMotif(); $AmLibelle = $AbsenceMotif->consulter(AbsenceMotif::GAM_LIBELLE, array($_POST['amaj_libelle'])); if ((is_array($AmLibelle) && count($AmLibelle) > 1) || ($AmLibelle instanceof AbsenceMotif && $AmLibelle->getIdAbsenceMotif() != $_POST['amaj_id_absence_motif'])) { $aso_admin_absence_motif['messages'][] = "Un motif d'absence avec le même libellé existe déjà !"; $bool_modifier = false; } //$this->verifierChampsCommuns(&$aso_admin_absence_motif, &$bool_modifier); if ($bool_modifier) { // Action suivante $this->setSuivant('ajouter'); } else { // Action suivante $this->setSuivant('__defaut__'); $this->getRegistre()->ajouterDonnee('admin_absence_motif', $aso_admin_absence_motif); } } } public function executerAjouter() { // Initialisation de variable $aso_admin_motif = array(); // Création de l'objet AbsenceMotif à ajouter $AbsenceMotif = new AbsenceMotif(); $AbsenceMotif->setLibelle($_POST['amaj_libelle']); if (!isset($_POST['amaj_mark_cp_diminuer'])) { $_POST['amaj_mark_cp_diminuer'] = 0; } $AbsenceMotif->setMarkCpDiminuer($_POST['amaj_mark_cp_diminuer']); if (!isset($_POST['amaj_mark_hs_diminuer'])) { $_POST['amaj_mark_hs_diminuer'] = 0; } $AbsenceMotif->setMarkHsDiminuer($_POST['amaj_mark_hs_diminuer']); if ($AbsenceMotif->ajouter()) { $aso_admin_motif['messages'][] = "Le motif d'absence ${_POST['amaj_libelle']} a été ajouté."; } // Ajout du message d'information $this->getRegistre()->ajouterDonnee('admin_absence_motif', $aso_admin_motif); // Action suivante $this->setSuivant('__defaut__'); } public function executerValiderModifier() { if (isset($_POST['btn_absence_motif_annuler'])) { // Action suivante $this->setSuivant('__defaut__'); } else if (isset($_POST['btn_absence_motif_modifier'])) { // Initialisation de variable $aso_admin_motif = array(); // Vérification du motif à modifier $bool_modifier = true; $AbsenceMotif = new AbsenceMotif(); $AmLibelle = $AbsenceMotif->consulter(AbsenceMotif::GAM_LIBELLE, array($_POST['amaj_libelle'])); if ((is_array($AmLibelle) && count($AmLibelle) > 1) || ($AmLibelle instanceof AbsenceMotif && $AmLibelle->getIdAbsenceMotif() != $_POST['amaj_id_absence_motif'])) { $aso_admin_motif['messages'][] = "Un motif d'absence avec le même libellé existe déjà !"; $bool_modifier = false; } //$this->verifierChampsCommuns(&$aso_admin_absence_motif, &$bool_modifier); if ($bool_modifier) { // Action suivante $this->setSuivant('modifier'); } else { // Action suivante $_POST['btn_motif_absence_modifier'] = 'btn_absence_motif_modifier'; $_POST['amsu_id'] = $_POST['amaj_id_absence_motif']; $this->setSuivant('editer'); $this->getRegistre()->ajouterDonnee('admin_absence_motif', $aso_admin_motif); } } } public function executerModifier() { // Initialisation de variable $aso_admin_motif = array(); // Création de l'objet AbsenceMotif à modifier $AbsenceMotif = new AbsenceMotif(); $AbsenceMotif->setIdAbsenceMotif($_POST['amaj_id_absence_motif']); $AbsenceMotif->setLibelle($_POST['amaj_libelle']); if (!isset($_POST['amaj_mark_cp_diminuer'])) { $_POST['amaj_mark_cp_diminuer'] = 0; } $AbsenceMotif->setMarkCpDiminuer($_POST['amaj_mark_cp_diminuer']); if (!isset($_POST['amaj_mark_hs_diminuer'])) { $_POST['amaj_mark_hs_diminuer'] = 0; } $AbsenceMotif->setMarkHsDiminuer($_POST['amaj_mark_hs_diminuer']); if ($AbsenceMotif->modifier()) { $aso_admin_motif['messages'][] = "Le motif d'absence ${_POST['amaj_libelle']} a été modifié."; } // Ajout du message d'information $this->getRegistre()->ajouterDonnee('admin_absence_motif', $aso_admin_motif); // Action suivante $this->setSuivant('__defaut__'); } public function executerValiderSupprimer() { // Initialisation des variables $aso_admin_motif = array(); // Vérif des absences $Absence = new Absence(); $bool_existe = $Absence->consulter(Absence::GA_ID_ABSENCE_MOTIF, array($_POST['amsu_id'])); if ($bool_existe == false) { trigger_error('Absence -> OK', E_USER_NOTICE); // Suppression du motif d'absence $AbsenceMotif = new AbsenceMotif(); $AbsenceMotif->setIdAbsenceMotif($_POST['amsu_id']); if ($AbsenceMotif->supprimer()) { $aso_admin_motif['messages'][] = "Le motif d'absence a été supprimé."; } } // Message d'erreur si le motif d'absence est utilisé if ($bool_existe != false) { $aso_admin_motif['messages'][ ] = "Il n'est pas possible de supprimer un motif d'absence contenant des données!"; } // Enregistrement du message $this->getRegistre()->ajouterDonnee('admin_absence_motif', $aso_admin_motif); // Action suivante $this->setSuivant('__defaut__'); } } ?>