Subversion Repositories Sites.obs-saisons.fr

Rev

Rev 35 | Rev 44 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
31 aurelien 1
<?php
2
// declare(encoding='UTF-8');
3
/**
4
 * Classe de test des Controleurs.
5
 *
6
 * @package     Collection
7
 * @category    Php 5.2
8
 * @author      Jean-Pascal MILCENT <jpm@tela-botanica.org>
9
 * @copyright   2010 Tela-Botanica
10
 * @license     http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL
11
 * @license     http://www.gnu.org/licenses/gpl.html Licence GNU-GPL
12
 * @version     SVN: $Id: Fiche.php 152 2010-09-06 16:19:12Z jpm $
13
 */
14
class Individu extends aControleur {
15
 
16
	private $id_individu_en_cours = null;
17
 
18
    public function __construct()  {
19
 
20
		parent::__construct();
21
        $this->initialiser();
22
    }
23
 
24
    public function initialiser() {
25
 
26
    	$this->id_individu_en_cours = $_GET['id_individu'];
27
    	$this->setNavigation();
28
    }
29
 
30
    public function executerActionParDefaut() {
35 aurelien 31
    	return $this->afficherFormulaireSaisieIndividu();
31 aurelien 32
    }
33
 
35 aurelien 34
    public function afficherFormulaireSaisieIndividu($donnees = array()) {
43 aurelien 35
 
36
    	$donnees['id_station'] = $_GET['id_station'];
37
    	$donnees['id_espece'] = $_GET['id_espece'];
38
 
35 aurelien 39
    	$formulaire = $this->getFormulaireSaisieIndividu($donnees);
31 aurelien 40
    	$this->setSortie(self::RENDU_CORPS, $formulaire);
41
    }
35 aurelien 42
 
43
    public function getFormulaireSaisieIndividu($donnees = array()) {
44
    	return $this->getVue('formulaires/individu_saisie',$donnees);
45
    }
31 aurelien 46
 
47
	// +---------------------------------------------------------------------------------------------------------------+
48
    // METHODES GENERIQUES
35 aurelien 49
    public function afficherListeIndividu() {
31 aurelien 50
 
51
    	$id_utilisateur = AppControleur::getUtilisateur()->getIdentifiantNumerique();
52
 
35 aurelien 53
    	$id_station = $_GET['id_station'];
54
    	$id_espece = $_GET['id_espece'];
55
 
31 aurelien 56
    	$espece = new Espece();
57
    	$evenements = $espece->getListeEvenementPourEspece($id_espece);
58
 
35 aurelien 59
    	$individus = $this->getListeIndividus($id_station, $id_espece);
60
 
31 aurelien 61
    	foreach($individus as &$individu) {
62
 
63
    		$observation = new Observation();
64
 
35 aurelien 65
    		$individu['observations'] = $observation->getListeObservationsPourIndividu($individu['id_individu']);
66
    		$individu['url'] = aControleur::getUrlConsultationFicheIndividu($individu['id_individu'],$individu['id_individu']);
31 aurelien 67
    	}
68
 
69
    	$donnees['evenements'] = $evenements;
70
    	$donnees['individus'] = $individus;
71
    	$donnees['id_station'] = $_GET['id_station'];
72
    	$donnees['id_espece'] = $_GET['id_espece'];
73
 
74
        $this->setSortie(self::RENDU_CORPS, $this->getVue('listes/evenement_liste', $donnees));
75
    }
76
 
77
    public function afficherInformationsIndividu() {
78
 
43 aurelien 79
    	$id_individu = $_GET['id_individu'];
80
    	$id_espece = $_GET['id_espece'];
31 aurelien 81
 
82
    	$donnees['infos_individu'] = $this->getInformationsIndividu($id_individu);
83
 
84
		$espece_dao = new EspeceDao();
85
    	$donnees['infos_espece'] = $espece_dao->getInformationsEspece($id_espece);
43 aurelien 86
 
31 aurelien 87
    	$this->setSortie(self::RENDU_CORPS, $this->getVue('fiches/individu_fiche', $donnees));
88
 
89
    }
90
 
91
    // +---------------------------------------------------------------------------------------------------------------+
35 aurelien 92
    // METHODES DE VALIDATION DE FORMULAIRE
93
	public function validerFormulaireSaisieIndividu() {
94
 
95
    	$valeurs_verifiees = $this->collecterValeursFormulaireSaisieIndividu();
96
 
97
    	$station_dao = new IndividuDao();
98
    	$station_dao->ajouterIndividu($valeurs_verifiees);
99
 
100
    	$this->afficherListeIndividu($valeurs_verifiees['id_espece']);
101
    }
102
 
103
    private function collecterValeursFormulaireSaisieIndividu() {
104
 
105
    	$valeurs_verifiees['id_station'] = $_POST['station'];
106
	    $valeurs_verifiees['id_espece'] =  $_POST['espece'];
107
	    $valeurs_verifiees['individu_nom'] = $_POST['individu_nom'];
108
 
109
	    //TODO: verifier valeurs plus complètement
110
 
111
	    return $valeurs_verifiees;
112
 
113
    }
114
 
115
    // +---------------------------------------------------------------------------------------------------------------+
31 aurelien 116
    // METHODES POUR FABRIQUER LE MENU
117
    public function setNavigation() {
118
 
119
    	$station = new Station();
120
    	$this->setSortie(self::RENDU_NAVIGATION, $station->construireMenuNavigation());
121
    }
122
 
35 aurelien 123
    protected function getListeIndividus($id_station, $id_espece) {
31 aurelien 124
 
125
    	$individu_dao = new IndividuDao();
35 aurelien 126
    	return $individu_dao->getListeIndividusPourStationPourEspece($id_station,$id_espece);
31 aurelien 127
 
128
    }
129
 
130
    private function getInformationsIndividu($id_individu) {
131
 
132
    	$individu_dao = new IndividuDao();
133
    	$infos_individu = $individu_dao->getInformationsIndividu($id_individu);
134
 
135
    	return $infos_individu;
136
    }
137
}