Subversion Repositories Applications.referentiel

Rev

Rev 156 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 156 Rev 181
1
<?php
1
<?php
2
// declare(encoding='UTF-8');
2
// declare(encoding='UTF-8');
3
/**
3
/**
4
 * Classe Controleur du module Test.
4
 * Classe Controleur du module Test.
5
 * 
5
 * 
6
 * TODO : refactoriser l'ensemble des tests!
6
 * TODO : refactoriser l'ensemble des tests!
7
 *
7
 *
8
 * @package		Referentiel
8
 * @package		Referentiel
9
 * @category	Php5.2
9
 * @category	Php5.2
10
 * @author		Jean-Pascal MILCENT <jpm@tela-botanica.org>
10
 * @author		Jean-Pascal MILCENT <jpm@tela-botanica.org>
11
 * @copyright	2010 Tela-Botanica
11
 * @copyright	2010 Tela-Botanica
12
 * @license		http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL
12
 * @license		http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL
13
 * @license		http://www.gnu.org/licenses/gpl.html Licence GNU-GPL
13
 * @license		http://www.gnu.org/licenses/gpl.html Licence GNU-GPL
14
 * @version		SVN: $Id$
14
 * @version		SVN: $Id$
15
 */
15
 */
16
class Test extends AppliControleur {
16
class Test extends AppliControleur {
17
	
17
	
18
	const SCRIPT_A_LANCER = 'tests';
18
	const SCRIPT_A_LANCER = 'tests';
19
	
19
	
20
	private $referentiel = null;
20
	private $referentiel = null;
-
 
21
	private $referentielDao = null;
21
	private $traitementDao = null;
22
	private $traitementDao = null;
22
	
23
	
23
	public function __construct()  {
24
	public function __construct()  {
24
		parent::__construct();
25
		parent::__construct();
25
		
26
		
26
		// Récupération de paramêtres
27
		// Récupération de paramêtres
27
		if (isset($_GET['ref'])) { // code du projet courrant
28
		if (isset($_GET['ref'])) { // code du projet courrant
28
			$this->referentiel = strtolower($_GET['ref']);
29
			$this->referentiel = strtolower($_GET['ref']);
29
		}
30
		}
30
		
31
		
31
		// Chargement des DAO nécessaires
32
		// Chargement des DAO nécessaires
-
 
33
		$this->referentielDao = new ReferentielDao();
32
		$this->traitementDao = new TraitementDao();
34
		$this->traitementDao = new TraitementDao();
33
	}
35
	}
34
	
36
	
35
	//+----------------------------------------------------------------------------------------------------------------+
37
	//+----------------------------------------------------------------------------------------------------------------+
36
	// Méthodes
38
	// Méthodes
37
	/**
39
	/**
38
	 * Fonction d'affichage par défaut, elle appelle la liste des administrateurs
40
	 * Fonction d'affichage par défaut, elle appelle la liste des administrateurs
39
	 */
41
	 */
40
	public function executerActionParDefaut() {
42
	public function executerActionParDefaut() {
41
		return $this->afficherInterface();
43
		return $this->afficherInterface();
42
	}
44
	}
43
	
45
	
44
	/**
46
	/**
45
	 * Affiche le formulaire de demande de traitement
47
	 * Affiche le formulaire de demande de traitement
46
	 */
48
	 */
47
	public function afficherInterface() {
49
	public function afficherInterface() {
48
		if ($this->authentifierCoordinateur()) {
50
		if ($this->authentifierCoordinateur()) {
49
			$donnees = array();
51
			$donnees = array();
50
			$this->definirCommeModulePrincipal(get_class($this));
52
			$this->definirCommeModulePrincipal(get_class($this));
51
			
53
			
52
			$this->url->unsetVariablesRequete(array('module', 'action', 'ref'));
54
			$this->url->unsetVariablesRequete(array('module', 'action', 'ref'));
53
			$donnees['url_form'] = $this->url->getUrl();
55
			$donnees['url_form'] = $this->url->getUrl();
54
			$donnees['url_module'] = 'Test';
56
			$donnees['url_module'] = 'Test';
55
			$donnees['url_action_demande'] = 'demanderTraitement';
57
			$donnees['url_action_demande'] = 'demanderTraitement';
56
			$donnees['url_action_rafraichir'] = 'afficherInterface';
58
			$donnees['url_action_rafraichir'] = 'afficherInterface';
57
			
59
			
58
			// Traitement de l'info sur le code du référentiel
60
			// Traitement de l'info sur le code du référentiel
59
			if (isset($this->referentiel)) {
61
			if (isset($this->referentiel)) {
-
 
62
				// Récupération du nom du référentiel courrant
-
 
63
				$donnees['nom_referentiel'] = $this->referentielDao->getNom($this->referentiel);
-
 
64
				
-
 
65
				// Récupération du référentiel courrant
60
				$donnees['ref'] = $this->referentiel;
66
				$donnees['ref'] = $this->referentiel;
61
	
67
	
62
				// Recherche des traitements en attente
68
				// Recherche des traitements en attente
63
				$donnees['traitements_en_attente'] = $this->traitementDao->getTraitementsEnAttente($this->referentiel, self::SCRIPT_A_LANCER);
69
				$donnees['traitements_en_attente'] = $this->traitementDao->getTraitementsEnAttente($this->referentiel, self::SCRIPT_A_LANCER);
64
				
70
				
65
				// Recherche des traitements en cours d'éxecution
71
				// Recherche des traitements en cours d'éxecution
66
				$donnees['traitements_en_cours'] = $this->traitementDao->getTraitementsEnCours($this->referentiel, self::SCRIPT_A_LANCER);
72
				$donnees['traitements_en_cours'] = $this->traitementDao->getTraitementsEnCours($this->referentiel, self::SCRIPT_A_LANCER);
67
				
73
				
68
				// Recherche des traitements déjà effectué
74
				// Recherche des traitements déjà effectué
69
				$resultat = $this->traitementDao->getTraitementsTermines($this->referentiel, self::SCRIPT_A_LANCER);
75
				$resultat = $this->traitementDao->getTraitementsTermines($this->referentiel, self::SCRIPT_A_LANCER);
70
				if (is_array($resultat)) {
76
				if (is_array($resultat)) {
71
					// Ajout de l'url vers la fiche du traitement
77
					// Ajout de l'url vers la fiche du traitement
72
					foreach ($resultat as &$traitement) {
78
					foreach ($resultat as &$traitement) {
73
						$traitement['url'] = $this->obtenirUrlFicheTraitement($this->referentiel, $traitement['id_traitement']);
79
						$traitement['url'] = $this->obtenirUrlFicheTraitement($this->referentiel, $traitement['id_traitement']);
74
					}
80
					}
75
					$donnees['traitements_termines'] = $resultat;
81
					$donnees['traitements_termines'] = $resultat;
76
				}
82
				}
77
			} else {
83
			} else {
78
				$this->addMessage("Aucun code de projet de référentiel n'est indiqué (Ex. bdtfx).");
84
				$this->addMessage("Aucun code de projet de référentiel n'est indiqué (Ex. bdtfx).");
79
			}
85
			}
80
			
86
			
81
			$donnees['messages'] = $this->getMessages();
87
			$donnees['messages'] = $this->getMessages();
82
			$this->setSortie(self::RENDU_CORPS, $this->getVue('form_tests', $donnees), false);
88
			$this->setSortie(self::RENDU_CORPS, $this->getVue('form_tests', $donnees), false);
83
			$this->construireMenu($this->referentiel);
89
			$this->construireMenu($this->referentiel);
84
			$this->construireFilAriane($this->referentiel);
90
			$this->construireFilAriane($this->referentiel);
85
		}
91
		}
86
	}
92
	}
87
	
93
	
88
	/**
94
	/**
89
	 * Lance l'ajout d'un traitement
95
	 * Lance l'ajout d'un traitement
90
	 */
96
	 */
91
	public function demanderTraitement() {
97
	public function demanderTraitement() {
92
		$this->ajouterTraitement($this->referentiel, self::SCRIPT_A_LANCER);
98
		$this->ajouterTraitement($this->referentiel, self::SCRIPT_A_LANCER);
93
		$this->afficherInterface();
99
		$this->afficherInterface();
94
	}
100
	}
95
}
101
}
96
?>
102
?>