Subversion Repositories Sites.obs-saisons.fr

Compare Revisions

Ignore whitespace Rev 286 → Rev 287

/trunk/applications/saisie/squelettes/navigation/barre_admin.tpl.html
1,10 → 1,13
<!-- ODS_SAISIE - DEBUT BARRE ADMIN -->
<div id="barre_admin">
<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">
<a href="<?= Liens::getUrlExportDonneesObservations() ?>" id="lien_export_observation"> Exporter les observations des membres </a>
</span>
<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>
<div class="export_observation_admin">
<a href="<?= Liens::getUrlExportDonneesObservations() ?>" id="lien_export_observation"> Exporter les observations des membres </a>
</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/Export.php
34,9 → 34,7
$donnees = array();
$export_dao = new ExportDao();
$export = $export_dao->getExportObservations();
$csv = $this->convertirTableauAssocVersCSV($export);
$this->envoyerFichier($csv);
57,7 → 55,13
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";
}
}
/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/controleurs/aControleur.php
223,6 → 223,18
public static function formaterChaineVersClasseCss($chaine) {
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();
/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;
/trunk/applications/saisie/bibliotheque/dao/ExportDao.php
25,7 → 25,7
public function getExportObservations($id_espece) {
$url = $this->url_jrest.self::SERVICE_EXPORT.'/'.self::METHODE_EXPORT_EVENEMENTS.'/?utilisateur='.AppControleur::getIdUtilisateur();
$json = $this->envoyerRequeteConsultation($url);
$json = $this->envoyerRequeteConsultation($url);
$donnees = json_decode($json, true);
return $donnees;
/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.
*/
61,6 → 63,20
$donnees = json_decode($json, true);
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) {
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');
}
}
?>