New file |
0,0 → 1,119 |
<?php |
class GttCtrlActionAdminCategorie extends aControlleurAction { |
|
public function __construct(Registre $Registre) |
{ |
$Registre->ajouterEspace('AdminCategorie', 'admin_categorie'); |
$Registre->setTitre('Administrer les catégories des projets'); |
} |
|
public function executer() |
{ |
$aso_admin_categ = array(); |
|
// Récupération des catégories |
$ProjetCategorie = new ProjetCategorie(); |
|
// Ajout de la catégorie par défaut |
$aso_admin_categ['ProjetCategorie'] = $ProjetCategorie; |
|
// Récupération des infos sur les categories existantes |
$tab_pc = $ProjetCategorie->consulter(ProjetCategorie::GPC_TOUS); |
if (false == $tab_pc) { |
$aso_admin_categ['categories'] = false; |
} else { |
foreach ($tab_pc as $pc) { |
if ($pc->getIdCategorie() != 0) { |
$aso_categ['id'] = $pc->getIdCategorie(); |
$aso_categ['libelle'] = $pc->getLibelle(); |
$aso_admin_categ['categories'][] = $aso_categ; |
} |
} |
} |
// Modification des titres, légendes et bouton |
$aso_admin_categ['form_legend'] = 'Ajouter une categorie'; |
$aso_admin_categ['form_bouton_value'] = 'Ajouter'; |
$aso_admin_categ['form_bouton_id'] = 'btn_categorie_ajouter'; |
$aso_admin_categ['form_url'] = 'index.php?action=admin-categorie_valider-ajouter'; |
|
//echo '<pre>'.print_r($aso_admin_categ, true).'</pre>'; |
$this->getRegistre()->ajouterDonnee('admin_categorie', $aso_admin_categ); |
} |
|
public function executerEditer() |
{ |
// Ajout du statut d'utilisateur |
if (isset($_POST['btn_categorie_modifier'])) { |
// Récupération des données de la categorie à modifier |
$ProjetCategorie = new ProjetCategorie(); |
$ProjetCategorie->consulter(ProjetCategorie::GPC_ID, $_POST['casu_id'], true); |
$aso_admin_categ['ProjetCategorie'] = $ProjetCategorie; |
|
// Modification des titres, légendes et bouton |
$aso_admin_categ['form_legend'] = 'Modifier une categorie'; |
$aso_admin_categ['form_bouton_value'] = 'Modifier'; |
$aso_admin_categ['form_bouton_id'] = 'btn_categorie_modifier'; |
$aso_admin_categ['form_url'] = 'index.php?action=admin-categorie_valider-modifier'; |
|
$this->getRegistre()->ajouterDonnee('admin_categorie', $aso_admin_categ); |
} else if (isset($_POST['btn_categorie_supprimer'])) { |
// Action suivante |
$this->setSuivant('ValiderSupprimer'); |
} |
} |
|
public function executerValiderModifier() |
{ |
if (isset($_POST['btn_categorie_annuler'])) { |
// Action suivante |
$this->setSuivant('__defaut__'); |
} else if (isset($_POST['btn_categorie_modifier'])) { |
$ProjetCategorie = new ProjetCategorie(); |
$ProjetCategorie->setIdCategorie($_POST['caaj_id_categorie']); |
$ProjetCategorie->setLibelle($_POST['caaj_libelle']); |
$ProjetCategorie->setAbreviation($_POST['caaj_abreviation']); |
$ProjetCategorie->modifier(); |
} |
} |
|
public function executerValiderAjouter() |
{ |
// Ajout de la catégorie |
$ProjetCategorie = new ProjetCategorie(); |
$bool_existe = $ProjetCategorie->consulter(ProjetCategorie::GPC_LIBELLE, array($_POST['caaj_libelle'])); |
if ($bool_existe == false) { |
$ProjetCategorie->setLibelle($_POST['caaj_libelle']); |
$ProjetCategorie->setAbreviation($_POST['caaj_abreviation']); |
$ProjetCategorie->ajouter(); |
} else { |
$aso_admin_categ['message'] = 'Cette catégorie existe déjà !'; |
$this->getRegistre()->ajouterDonnee('admin_categorie', $aso_admin_categ); |
} |
|
// Action suivante |
$this->setSuivant('__defaut__'); |
} |
|
public function executerValiderSupprimer() |
{ |
// Suppression de la catégorie |
$ProjetCategorie = new ProjetCategorie(); |
$ProjetCategorie->setIdCategorie($_POST['casu_id']); |
$ProjetCategorie->supprimer(); |
|
// Mise à jour des projets appartenant à la catégorie |
$Projet = new Projet(); |
$tab_p = $Projet->consulter(Projet::GP_CE_CATEGORIE, $_POST['casu_id']); |
if ($tab_p != false) { |
foreach ($tab_p as $p) { |
$Ancien = clone $p; |
$p->setCeCategorie(0); |
$p->modifier($Ancien); |
} |
} |
|
// Action suivante |
$this->setSuivant('__defaut__'); |
} |
} |
?> |