Subversion Repositories Applications.gtt

Rev

Rev 102 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

<?php
class GttCtrlActionAdminUtilisateurStatut extends aControlleurAction {

        public function __construct(Registre $Registre)
        {
                $Registre->ajouterEspace('AdminUtilisateurStatut', 'admin_utilisateur_statut');
                $Registre->ajouterSquelette('admin_utilisateur_statut', 'admin_utilisateur_statut.tpl.html');
                $Registre->setTitre('Administrer les statuts des utilisateurs');
        }

        public function executer()
    {
        $aso_admin_us = array();

                // Récupération des statuts d'utilisateur
                $UtilisateurStatut = new UtilisateurStatut();
        $tab_us = $UtilisateurStatut->consulter(UtilisateurStatut::GUS_TOUS);
        foreach ($tab_us as $us) {
                // Nous récupérons tous les statuts sauf le null (=0)
                if ($us->getIdUtilisateurStatut() != 0) {
                        $aso_us['id'] = $us->getIdUtilisateurStatut();
                        $aso_us['libelle'] = $us->getLibelle();
                        $aso_admin_us['statuts'][] = $aso_us;
                }
        }

        //echo '<pre>'.print_r($aso_admin_us, true).'</pre>';
                $this->getRegistre()->ajouterDonnee('admin_utilisateur_statut', $aso_admin_us);
    }

    public function executerValiderAjouter()
    {
                // Ajout du statut d'utilisateur
                $UtilisateurStatut = new UtilisateurStatut();
                $bool_existe = $UtilisateurStatut->consulter(UtilisateurStatut::GUS_LIBELLE, array($_POST['usaj_libelle']));
                if ($bool_existe == false) {
                        $UtilisateurStatutMax = $UtilisateurStatut->consulter(UtilisateurStatut::GUS_ID_MAX);
                        $id_max = $UtilisateurStatutMax->getIdUtilisateurStatut();
                        $UtilisateurStatut->setIdUtilisateurStatut(++$id_max);
                        $UtilisateurStatut->setLibelle($_POST['usaj_libelle']);
                $UtilisateurStatut->ajouter();
                } else {
                        $aso_admin_us['message'] = 'Ce statut d\'utilisateur existe déjà !';
                        $this->getRegistre()->ajouterDonnee('admin_utilisateur_statut', $aso_admin_us);
                }

                // Action suivante
        $this->setSuivant('__defaut__');
    }

    public function executerValiderSupprimer()
    {
                // Suppression du statut d'utilisateur
                $UtilisateurStatut = new UtilisateurStatut();
                $UtilisateurStatut->setIdUtilisateurStatut($_POST['ussu_id']);
        $UtilisateurStatut->supprimer();

                // Mise à jour des utilisateurs possédant ce statut
                $Utilisateur = new Utilisateur();
                $tab_u = $Utilisateur->consulter(Utilisateur::GU_CE_STATUT, $_POST['ussu_id']);
                if ($tab_u != false) {
                        if ($tab_u && count($tab_u) == 1) {
                                $tab_u = array($tab_u);
                        }
                        foreach ($tab_u as $u) {
                        $Ancien = clone $u;
                        $u->setCeStatut(0);
                        $u->modifier($Ancien);
                }
                }

                // Action suivante
        $this->setSuivant('__defaut__');
    }
}
?>