5,7 → 5,7 |
{ |
$Registre->ajouterEspace('AdminAbsenceMotif', 'admin_absence_motif'); |
$Registre->ajouterSquelette('admin_absence_motif', 'admin_absence_motif.tpl.html'); |
$Registre->setTitre('Administrer les motifs d\'absence'); |
$Registre->setTitre("Administrer les motifs d'absence"); |
} |
|
public function executer() |
14,7 → 14,15 |
|
// 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(); |
22,53 → 30,186 |
$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() |
{ |
// Ajout de la catégorie |
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(); |
$bool_existe = $AbsenceMotif->consulter(AbsenceMotif::GAM_LIBELLE, array($_POST['amaj_libelle'])); |
if ($bool_existe == false) { |
$AbsenceMotifMax = $AbsenceMotif->consulter(AbsenceMotif::GAM_ID_MAX); |
$id_max = $AbsenceMotifMax->getIdAbsenceMotif(); |
$AbsenceMotif->setIdAbsenceMotif(++$id_max); |
$AbsenceMotif->setLibelle($_POST['amaj_libelle']); |
$AbsenceMotif->ajouter(); |
$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 { |
$aso_admin_absence_motif['message'] = 'Ce motif d\'absence existe déjà !'; |
// 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']); |
$AbsenceMotif->supprimer(); |
|
// Mise à jour des absences possédant le motif supprimé |
$Absence = new Absence(); |
$tab_a = $Absence->consulter(Absence::GA_ID_ABSENCE_MOTIF, $_POST['amsu_id']); |
if ($tab_a != false) { |
if ($tab_a && count($tab_a) == 1) { |
$tab_a = array($tab_a); |
if ($AbsenceMotif->supprimer()) { |
$aso_admin_motif['messages'][] = "Le motif d'absence a été supprimé."; |
} |
foreach ($tab_a as $a) { |
$Ancien = clone $a; |
$a->setIdAbsenceMotif(0); |
$a->modifier($Ancien); |
} |
// 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__'); |
} |
|
|
} |
?> |