Subversion Repositories Applications.gtt

Rev

Rev 103 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
39 jpm 1
<?php
2
class GttCtrlActionAdminCategorie extends aControlleurAction {
3
 
4
	public function __construct(Registre $Registre)
5
	{
6
		$Registre->ajouterEspace('AdminCategorie', 'admin_categorie');
103 jpm 7
		$Registre->setTitre('Administrer les catégories des projets');
39 jpm 8
	}
9
 
10
	public function executer()
11
    {
12
    	$aso_admin_categ = array();
13
 
103 jpm 14
		// Récupération des catégories
48 jpm 15
		$ProjetCategorie = new ProjetCategorie();
68 jpm 16
 
103 jpm 17
		// Ajout de la catégorie par défaut
68 jpm 18
		$aso_admin_categ['ProjetCategorie'] = $ProjetCategorie;
19
 
103 jpm 20
		// Récupération des infos sur les categories existantes
48 jpm 21
    	$tab_pc = $ProjetCategorie->consulter(ProjetCategorie::GPC_TOUS);
95 jpm 22
    	if (false == $tab_pc) {
23
    		$aso_admin_categ['categories'] = false;
24
    	} else {
25
	    	foreach ($tab_pc as $pc) {
26
	    		if ($pc->getIdCategorie() != 0) {
27
	    			$aso_categ['id'] = $pc->getIdCategorie();
28
	    			$aso_categ['libelle'] = $pc->getLibelle();
29
	    			$aso_admin_categ['categories'][] = $aso_categ;
30
	    		}
31
	    	}
48 jpm 32
    	}
103 jpm 33
		// Modification des titres, légendes et bouton
68 jpm 34
		$aso_admin_categ['form_legend'] = 'Ajouter une categorie';
35
		$aso_admin_categ['form_bouton_value'] = 'Ajouter';
36
		$aso_admin_categ['form_bouton_id'] = 'btn_categorie_ajouter';
37
		$aso_admin_categ['form_url'] = 'index.php?action=admin-categorie_valider-ajouter';
38
 
39 jpm 39
    	//echo '<pre>'.print_r($aso_admin_categ, true).'</pre>';
40
		$this->getRegistre()->ajouterDonnee('admin_categorie', $aso_admin_categ);
41
    }
48 jpm 42
 
68 jpm 43
	public function executerEditer()
44
    {
45
		// Ajout du statut d'utilisateur
46
		if (isset($_POST['btn_categorie_modifier'])) {
103 jpm 47
			// Récupération des données de la categorie à modifier
68 jpm 48
			$ProjetCategorie = new ProjetCategorie();
49
			$ProjetCategorie->consulter(ProjetCategorie::GPC_ID, $_POST['casu_id'], true);
50
			$aso_admin_categ['ProjetCategorie'] = $ProjetCategorie;
51
 
103 jpm 52
			// Modification des titres, légendes et bouton
68 jpm 53
			$aso_admin_categ['form_legend'] = 'Modifier une categorie';
54
			$aso_admin_categ['form_bouton_value'] = 'Modifier';
55
			$aso_admin_categ['form_bouton_id'] = 'btn_categorie_modifier';
56
			$aso_admin_categ['form_url'] = 'index.php?action=admin-categorie_valider-modifier';
57
 
58
			$this->getRegistre()->ajouterDonnee('admin_categorie', $aso_admin_categ);
73 jpm 59
		} else if (isset($_POST['btn_categorie_supprimer'])) {
68 jpm 60
			// Action suivante
75 jpm 61
    		$this->setSuivant('ValiderSupprimer');
68 jpm 62
		}
63
    }
64
 
65
	public function executerValiderModifier()
66
	{
67
		if (isset($_POST['btn_categorie_annuler'])) {
68
			// Action suivante
69
    		$this->setSuivant('__defaut__');
70
    	} else if (isset($_POST['btn_categorie_modifier'])) {
71
			$ProjetCategorie = new ProjetCategorie();
72
			$ProjetCategorie->setIdCategorie($_POST['caaj_id_categorie']);
73
			$ProjetCategorie->setLibelle($_POST['caaj_libelle']);
74
			$ProjetCategorie->setAbreviation($_POST['caaj_abreviation']);
75
	    	$ProjetCategorie->modifier();
76
		}
77
	}
78
 
48 jpm 79
    public function executerValiderAjouter()
80
    {
103 jpm 81
		// Ajout de la catégorie
48 jpm 82
		$ProjetCategorie = new ProjetCategorie();
83
		$bool_existe = $ProjetCategorie->consulter(ProjetCategorie::GPC_LIBELLE, array($_POST['caaj_libelle']));
84
		if ($bool_existe == false) {
85
			$ProjetCategorie->setLibelle($_POST['caaj_libelle']);
68 jpm 86
			$ProjetCategorie->setAbreviation($_POST['caaj_abreviation']);
48 jpm 87
    		$ProjetCategorie->ajouter();
88
		} else {
103 jpm 89
			$aso_admin_categ['message'] = 'Cette catégorie existe déjà !';
48 jpm 90
			$this->getRegistre()->ajouterDonnee('admin_categorie', $aso_admin_categ);
91
		}
92
 
93
		// Action suivante
94
    	$this->setSuivant('__defaut__');
95
    }
96
 
97
    public function executerValiderSupprimer()
98
    {
103 jpm 99
		// Suppression de la catégorie
48 jpm 100
		$ProjetCategorie = new ProjetCategorie();
101
		$ProjetCategorie->setIdCategorie($_POST['casu_id']);
102
    	$ProjetCategorie->supprimer();
103
 
103 jpm 104
		// Mise à jour des projets appartenant à la catégorie
48 jpm 105
		$Projet = new Projet();
106
		$tab_p = $Projet->consulter(Projet::GP_CE_CATEGORIE, $_POST['casu_id']);
107
		if ($tab_p != false) {
108
			foreach ($tab_p as $p) {
109
	    		$Ancien = clone $p;
110
	    		$p->setCeCategorie(0);
111
	    		$p->modifier($Ancien);
112
	    	}
113
		}
114
 
115
		// Action suivante
116
    	$this->setSuivant('__defaut__');
117
    }
39 jpm 118
}
119
?>