/trunk/applications/saisie/squelettes/navigation/barre_admin.tpl.html |
---|
3,8 → 3,11 |
<form action="<?= Liens::getUrlDefaut(); ?>" id="form_changement_identite" method="post"> |
Vous regardez les données de : <input type="text" id="identite_utilisateur" size="10" name="identite_utilisateur" value="<?= AppControleur::getUtilisateur()->getIdentiteNom(); ?>" /> |
</form> |
<span class="export_observation_admin"> |
<div class="export_observation_admin"> |
<a href="<?= Liens::getUrlExportDonneesObservations() ?>" id="lien_export_observation"> Exporter les observations des membres </a> |
</span> |
</div> |
<div class="gestion_espece_admin"> |
<a href="<?= Liens::getUrlAdministrationEspeces() ?>" id="lien_admin_especes"> Administrer les espèces </a> |
</div> |
</div> |
<!-- ODS_SAISIE - FIN MENU NAVIGATION --> |
/trunk/applications/saisie/squelettes/listes/espece_liste_administration.tpl.html |
---|
New file |
0,0 → 1,33 |
<!-- ODS_SAISIE - DEBUT LISTE ESPECES ADMIN --> |
<div id="saisie_liste_especes_admin"> |
<?php if (isset($especes)) : ?> |
<table class="saisie_liste_especes_admin"> |
<tr> |
<th></th> |
<th>Nom scientifique</th> |
<th>Nom vernaculaire</th> |
<th>Espèce école</th> |
<th>Description</th> |
<th>Active</th> |
</tr> |
<?php foreach ($especes as $type) : ?> |
<tr><td colspan="6"><h2><?= $type['nom'] ?></h2></td> |
<?php foreach ($type['especes'] as $id => $espece) : ?> |
<tr <?=$espece['active'] == 0 ? 'class="espece_inactive"' : '' ?>> |
<td> |
<a href="<?= Liens::getUrlFormulaireModificationEspeceAdmin($id) ?>"> |
<img title="<?= Liens::getCreditImageEspece($espece['nom_scientifique']) ?>" class="illustration_espece droite" alt="editer" src="<?= Liens::getUrlImageEspece($espece['nom_scientifique']) ?>" /> |
</a> |
</td> |
<td><?=$espece['nom_scientifique']?></td> |
<td><?=$espece['nom_vernaculaire']?></td> |
<td><?= $espece['espece_ecole'] == 1 ? 'oui' : 'non' ?></td> |
<td><?= aControleur::tronquerChaineSansCouperMot($espece['description']); ?></td> |
<td><?=$espece['active'] == 1 ? 'oui' : 'non' ?></td> |
</tr> |
<?php endforeach; ?> |
<?php endforeach; ?> |
</table> |
<?php endif; ?> |
</div> |
<!-- ODS_SAISIE - FIN LISTE ESPECES ADMIN --> |
/trunk/applications/saisie/squelettes/css/saisie.css |
---|
428,7 → 428,7 |
-moz-border-radius: 10px 10px 10px 10px; |
background-color: #F4F2EB; |
border: 1px solid #D1C6A8; |
height: 22px; |
height: 60px; |
margin-bottom: 10px; |
padding: 5px; |
} |
442,8 → 442,33 |
background: url("../images/csv.png") no-repeat scroll 28px 0 transparent; |
padding-left: 46px; |
padding-top: 3px; |
}; |
} |
.gestion_espece_admin { |
background: url("../images/espece.png") no-repeat scroll 28px 0 transparent; |
padding-left: 46px; |
padding-top: 3px; |
} |
.saisie_liste_especes_admin { |
width: 100%; |
} |
.saisie_liste_especes_admin tr:nth-child(1) { |
color: #494949; |
background-color: #CFCFCF; |
} |
.saisie_liste_especes_admin .espece_inactive { |
color: #494949; |
background-color: #FF7D73; |
} |
#form_modification_espece_admin label { |
width: 150px; |
padding-right: 50px; |
} |
/* ============ Styles créés par des effets javascripts automatiques ===== */ |
.chargement { |
/trunk/applications/saisie/squelettes/formulaires/espece_modification_administration.tpl.html |
---|
New file |
0,0 → 1,30 |
<!-- ODS_SAISIE - DEBUT MODIFICATION ESPECE ADMIN --> |
<div id="saisie_espece_admin"> |
<h2 class="etape"> Modification de l'espece <?= $espece['nom_scientifique'] ?> </h2> |
<img title="<?= Liens::getCreditImageEspece($espece['nom_scientifique']) ?>" class="illustration_espece droite" alt="image de l'espece" class="droite" src="<?= Liens::getUrlImageEspece($espece['nom_scientifique']) ?>" /> |
<br/> |
<form method="post" action="<?= Liens::getUrlValidationFormulaireModificationEspeceAdmin($espece['id_espece']) ?>" id="form_modification_espece_admin"> |
<div class="element_formulaire"> |
<label for="nom_scientifique">Nom scientifique</label><br /> |
<input type="text" id="nom_scientifique" name="nom_scientifique" value="<?= $espece['nom_scientifique'] ?>" /> |
<?= isset($erreurs['nom_scientifique']) ? '<span class="erreur"> '.$erreurs['nom_scientifique'].' </span>' : '' ?> |
</div> |
<div class="element_formulaire"> |
<label for="nom_vernaculaire">Nom vernaculaire</label><br /> |
<input type="text" id="nom_vernaculaire" name="nom_vernaculaire" value="<?= $espece['nom_vernaculaire'] ?>" /> |
<?= isset($erreurs['nom_vernaculaire']) ? '<span class="erreur"> '.$erreurs['nom_vernaculaire'].' </span>' : '' ?> |
</div> |
<div class="element_formulaire"> |
<label for="description">Description</label><br /> |
<textarea cols="60" rows="6" id="description" name="description"><?= $espece['description'] ?></textarea> |
<?= isset($erreurs['description']) ? '<span class="erreur"> '.$erreurs['description'].' </span>' : '' ?> |
</div> |
<div class="element_formulaire"> |
<label for="espece_active">Espèce active</label> |
<input type="checkbox" id="espece_active" name="espece_active" <?= $espece['active'] == 1 ? 'checked="checked"' : '' ?> /> |
</div> |
<input type="hidden" name="id_espece" id="id_espece" value="<?= $espece['id_espece'] ?>" /> |
<input class="droite gros_bouton_validation" type="submit" value="Valider" /> |
</form> |
</div> |
<!-- ODS_SAISIE - FIN MODIFICATION ESPECE ADMIN --> |
/trunk/applications/saisie/controleurs/aControleur.php |
---|
224,6 → 224,18 |
return trim(str_replace(' ','_',$chaine)); |
} |
public static function tronquerChaineSansCouperMot($chaine, $longueur = 120) { |
$retour = ""; |
if (strlen ($chaine) < $longueur) { |
$retour = $chaine; |
} elseif (preg_match ("/(.{1,$longueur})\s./ms", $chaine, $match)) { |
$retour = $match [1] . "..."; |
} else { |
$retour = substr ($chaine, 0, $longueur) . "..."; |
} |
return $retour; |
} |
protected function chargerPiedDePage() { |
$donnees['appli'] = Application::getInfo(); |
$this->setSortie(self::RENDU_PIED, $this->getVue('pied', $donnees)); |
/trunk/applications/saisie/controleurs/Export.php |
---|
34,9 → 34,7 |
$donnees = array(); |
$export_dao = new ExportDao(); |
$export = $export_dao->getExportObservations(); |
$csv = $this->convertirTableauAssocVersCSV($export); |
$this->envoyerFichier($csv); |
57,9 → 55,15 |
foreach($tableau as $elements) { |
unset($elements['pseudo_participant']); |
unset($elements['mail_participant']); |
$csv .= implode(';',$elements).";\n"; |
$ligne = ""; |
// parcours des cases de chaque ligne nécessaire car si on utilise implode |
// les valeurs vides ne sont pas prises et ça décale les colonnes |
foreach ($elements as $element) { |
$ligne .= '"'.$element.'";'; |
} |
$csv .= $ligne."\n"; |
} |
} |
return $csv; |
} |
/trunk/applications/saisie/controleurs/Administration.php |
---|
New file |
0,0 → 1,89 |
<?php |
// declare(encoding='UTF-8'); |
/** |
* Classe d'administration de l'application |
* |
* @package Collection |
* @category Php 5.2 |
* @author Aurélien PERONNET <aurelien@tela-botanica.org> |
* @copyright 2013 Tela-Botanica |
* @license http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL |
* @license http://www.gnu.org/licenses/gpl.html Licence GNU-GPL |
* @version SVN: $Id: Espece.php 152 2010-09-06 16:19:12Z jpm $ |
*/ |
class Administration extends aControleur { |
public function __construct() { |
parent::__construct(); |
$this->initialiser(); |
} |
public function initialiser() { |
} |
public function afficherListeEspecesAdministrables() { |
$espece_dao = new EspeceDao(); |
$donnees['especes'] = $espece_dao->getListeEspecesAdminParType(); |
$liste = $this->getVue('listes/espece_liste_administration',$donnees); |
$this->setSortie(self::RENDU_CORPS, $liste); |
} |
public function afficherFormulaireModificationEspeceAdmin($valeurs_precedentes = array()) { |
$id_espece = $_GET['id_espece']; |
$espece_dao = new EspeceDao(); |
$erreurs = isset($valeurs_precedentes['erreurs']) ? $valeurs_precedentes['erreurs'] : array(); |
$valeurs_precedentes['erreurs']; |
$donnees['espece'] = $espece_dao->getInformationsEspece($id_espece); |
$donnees['espece'] = array_merge($donnees['espece'], $valeurs_precedentes); |
$donnees['erreurs'] = $erreurs; |
$formulaire = $this->getVue('formulaires/espece_modification_administration',$donnees); |
$this->setSortie(self::RENDU_CORPS, $formulaire); |
} |
// +---------------------------------------------------------------------------------------------------------------+ |
// METHODES DE VALIDATION DE FORMULAIRE |
public function validerFormulaireModificationEspeceAdmin() { |
$donnees = $_POST; |
$verification_ou_erreurs = $this->verifierValeursEspece($donnees); |
if($verification_ou_erreurs !== true) { |
$donnees['erreurs'] = $verification_ou_erreurs; |
$this->afficherFormulaireModificationEspeceAdmin($donnees); |
return; |
} |
if(isset($donnees['espece_active'])) { |
$donnees['espece_active'] = 1; |
} else { |
$donnees['espece_active'] = 0; |
} |
$espece_dao = new EspeceDao(); |
$id_espece = $donnees['id_espece']; |
unset($donnees['id_espece']); |
$retour_modif_espece = $espece_dao->modifierEspece($id_espece, $donnees); |
if($retour_modif_espece) { |
$this->afficherListeEspecesAdministrables(); |
} else { |
$this->afficherFormulaireModificationEspeceAdmin($donnees); |
} |
} |
private function verifierValeursEspece($donnees) { |
$erreurs = array(); |
foreach($donnees as $champ => $valeur) { |
if(trim($valeur) == '') { |
$erreurs[$champ] .= ' Ce champ ne peut pas être vide'; |
} |
} |
if(!empty($erreurs)) { |
return $erreurs; |
} |
return true; |
} |
} |
?> |
/trunk/applications/saisie/controleurs/Liens.php |
---|
65,6 → 65,14 |
return Config::get('url_fiches_especes').$nom_sci_formate.'/'; |
} |
public static function getUrlAdministrationEspeces() { |
$params = array( |
'module' => 'Administration', |
'action' => 'afficherListeEspecesAdministrables' |
); |
return self::construireUrl($params); |
} |
public static function getCreditImageEspece($nom_sci) { |
$nom_sci_formate = strtolower(str_replace(' ', '_', $nom_sci)); |
329,6 → 337,25 |
return self::construireUrl($params); |
} |
public static function getUrlFormulaireModificationEspeceAdmin($id_espece) { |
$params = array( |
'module' => 'Administration', |
'action' => 'afficherFormulaireModificationEspeceAdmin', |
'id_espece' => $id_espece |
); |
return self::construireUrl($params); |
} |
public static function getUrlValidationFormulaireModificationEspeceAdmin($id_espece) { |
$params = array( |
'module' => 'Administration', |
'action' => 'validerFormulaireModificationEspeceAdmin', |
'id_espece' => $id_espece |
); |
return self::construireUrl($params); |
} |
public static function renvoyerStylesInclus() { |
$styles = ''; |
/trunk/applications/saisie/bibliotheque/dao/EspeceDao.php |
---|
18,6 → 18,7 |
const METHODE_ESPECES_STATION = 'EspecesPourStation'; |
const METHODE_ESPECES_TYPE = 'EspecesParType'; |
const METHODE_ESPECES_TYPE_ADMIN = 'EspecesParTypeAdmin'; |
const METHODE_INFOS_ESPECE = 'Espece'; |
/** |
51,6 → 52,7 |
/** |
* Retourne l'ensemble des especes présentes organisées hierarchiquement par type. |
* Mais seulement sur les espèces actives |
* |
* @return array un tableau contenant les informations sur les especes. |
*/ |
62,6 → 64,20 |
return $donnees; |
} |
/** |
* Retourne l'ensemble des especes présentes organisées hierarchiquement par type, |
* ce qui comprend également les espèces inactives |
* |
* @return array un tableau contenant les informations sur les especes. |
*/ |
public function getListeEspecesAdminParType() { |
$url = $this->url_jrest.self::SERVICE_ESPECE.'/'.self::METHODE_ESPECES_TYPE_ADMIN.'/'; |
$json = $this->envoyerRequeteConsultation($url); |
$donnees = json_decode($json, true); |
return $donnees; |
} |
public function getInformationsEspece($id_espece) { |
$url = $this->url_jrest.self::SERVICE_ESPECE.'/'.self::METHODE_INFOS_ESPECE.'/'.$id_espece; |
87,5 → 103,12 |
return true; |
} |
public function modifierEspece($id_espece, $valeurs_espece) { |
$url = $this->url_jrest.self::SERVICE_ESPECE."/".$id_espece; |
$json = $this->envoyerRequeteModif($url, $valeurs_espece); |
$donnees = json_decode($json, true); |
return ($donnees == 'ok'); |
} |
} |
?> |
/trunk/applications/saisie/bibliotheque/dao/IndividuDao.php |
---|
58,7 → 58,6 |
$url = $this->url_jrest.self::SERVICE_INDIVIDU."/"; |
$json = $this->envoyerRequeteAjout($url, $donnees); |
$donnees = json_decode($json, true); |
$donnees_retour = json_decode($json, true); |
return $donnees_retour; |