Rev 48 | Rev 103 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
<?phpclass GttCtrlActionAdminAbsenceMotif extends aControlleurAction {public function __construct(Registre $Registre){$Registre->ajouterEspace('AdminAbsenceMotif', 'admin_absence_motif');$Registre->ajouterSquelette('admin_absence_motif', 'admin_absence_motif.tpl.html');$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 '<pre>'.print_r($aso_admin_absence_motif, true).'</pre>';$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__');}}?>