Subversion Repositories eFlore/Applications.cel

Compare Revisions

Ignore whitespace Rev 1945 → Rev 1946

/trunk/widget/modules/saisie/squelettes/florileges/css/florileges.css
194,20 → 194,23
/*+--------------------------------------------------------------------------------------------------------+*/
/* Spécifique Florilèges */
.entete .intro {
background-color: #689E4B;
background: url("../img/background/noise.png") repeat scroll 0 0, radial-gradient(ellipse farthest-corner at center center , #A1C886 0%, #689E4B 100%) repeat scroll 0 0 transparent;
color: white;
background-color:#689E4B;
background:url("../img/background/noise.png") repeat scroll 0 0, radial-gradient(ellipse farthest-corner at center center , #A1C886 0%, #689E4B 100%) repeat scroll 0 0 transparent;
color:white;
padding:5px;
}
.entete .intro a {
color: #524C47;
color:#524C47;
}
 
/* Géolocalisation */
#map-canvas {
height: 280px;
height:280px;
margin-bottom:5px;
}
#map-canvas img {
max-width:none;
}
.coordonnees-geo, .lat-lon-info {
font-size: 10px;
}
275,9 → 278,12
#form-date .input-prepend input + label.error {
display: block;
}
 
/* Liste des taxons */
#taxon-liste optgroup + optgroup {
border-top: 1px solid black;
}
 
/*+--------------------------------------------------------------------------------------------------------+*/
/* SLIDERs */
.slider-on {
/trunk/widget/modules/saisie/squelettes/florileges/js/florileges.js
129,8 → 129,14
//FORM IDENTITE : gestion de l'observateur
 
$(document).ready(function() {
requeterIdentite();// Sur rechargement de la page
 
// Interaction sur le formulaire observateur
$('#prenom').on('change', formaterPrenom);
$('#nom').on('change', formaterNom);
$('#courriel').on('blur', requeterIdentite);
$('#courriel').on('keypress', testerLancementRequeteIdentite);
$('#courriel_confirmation').on('paste', bloquerCopierCollerCourriel);
});
 
function testerLancementRequeteIdentite(event) {
143,36 → 149,36
 
function requeterIdentite() {
var courriel = $('#courriel').val();
//TODO: mettre ceci en paramètre de config
var urlAnnuaire = SERVICE_ANNUAIRE_ID_URL + courriel;
$.ajax({
url: urlAnnuaire,
type: 'GET',
success: function(data, textStatus, jqXHR) {
if (data != undefined && data[courriel] != undefined) {
var infos = data[courriel];
$('#id_utilisateur').val(infos.id);
$('#prenom').val(infos.prenom);
$('#nom').val(infos.nom);
$('#courriel_confirmation').val(courriel);
$('#prenom, #nom, #courriel_confirmation').attr('disabled', 'disabled');
$('#structure').focus();
} else {
if (courriel) {
var urlAnnuaire = SERVICE_ANNUAIRE_ID_URL + courriel;
$.ajax({
url: urlAnnuaire,
type: 'GET',
success: function(data, textStatus, jqXHR) {
if (data != undefined && data[courriel] != undefined) {
var infos = data[courriel];
$('#id_utilisateur').val(infos.id);
$('#prenom').val(infos.prenom);
$('#nom').val(infos.nom);
$('#courriel_confirmation').val(courriel);
$('#prenom, #nom, #courriel_confirmation').attr('disabled', 'disabled');
$('#structure').focus();
} else {
surErreurCompletionCourriel();
}
},
error: function(jqXHR, textStatus, errorThrown) {
surErreurCompletionCourriel();
},
complete: function(jqXHR, textStatus) {
$('#zone-prenom-nom').removeClass('hidden');
$('#zone-courriel-confirmation').removeClass('hidden');
}
},
error: function(jqXHR, textStatus, errorThrown) {
surErreurCompletionCourriel();
},
complete: function(jqXHR, textStatus) {
$('#zone-prenom-nom').removeClass('hidden');
$('#zone-courriel-confirmation').removeClass('hidden');
}
});
});
}
}
 
function surErreurCompletionCourriel() {
$('#prenom, #nom, #courriel_confirmation').val('');
$('#prenom, #nom, #courriel_confirmation').removeAttr('disabled');
afficherPanneau('#dialogue-courriel-introuvable');
}
203,6 → 209,11
$(this).val(prenom.join(' '));
}
 
function bloquerCopierCollerCourriel() {
afficherPanneau('#dialogue-bloquer-copier-coller');
return false;
}
 
//+----------------------------------------------------------------------------------------------------------+
// GOOGLE MAP
 
729,7 → 740,19
//+---------------------------------------------------------------------------------------------------------+
// FORMULAIRE : traitements génériques
 
$(document).ready(function() {
$(document).ready(function() {
// Interaction générales
$('.alert .close').on('click', fermerPanneauAlert);
$('.has-tooltip').tooltip('enable');
$('#btn-aide').on('click', basculerAffichageAide);
$('.dropdown-menu input, .dropdown-menu label').on('click', function(event) {
event.stopPropagation();
});
// Afficher/Cacher champs cachés par défaut
surChangementPeriodiciteTraitementPhyto();// Vérif lors du chargement de la page
$('#periodicite-traitement-phyto').on('change', surChangementPeriodiciteTraitementPhyto);
// Sliders
transformerEnSlider('#presence-zone-vegetalise');
transformerEnSlider('#hauteur-batiment-avoisinant');
736,35 → 759,25
transformerEnSlider('#periodicite-traitement-phyto');
transformerEnSlider('#resistance-traitement-phyto');
transformerEnSlider('#vitesse-croissance');
// Afficher/Cacher champs cachés par défaut
$('#periodicite-traitement-phyto').on('change', surChangementPeriodiciteTraitementPhyto);
$('#taxon-liste').on('change', surChangementTaxonListe);
$('.alert .close').on('click', fermerPanneauAlert);
$('.has-tooltip').tooltip('enable');
$('#btn-aide').on('click', basculerAffichageAide);
$('#prenom').on('change', formaterPrenom);
$('#nom').on('change', formaterNom);
 
// Date picker
configurerDatePicker('#date');
configurerDatePicker('#date-arret-traitement-phyto');
// Gestion de la liste des taxons
surChangementTaxonListe();// Vérif lors du chargement de la page
ajouterAutocompletionNoms();
$('#taxon-liste').on('change', surChangementTaxonListe);
// Validation du formulaire
configurerFormValidator();
definirReglesFormValidator();
$('.dropdown-menu input, .dropdown-menu label').on('click', function(event) {
event.stopPropagation();
});
// Gestion des obs
$('.cb-milieux').on('click', function(event) {
$(this).valid();
event.stopPropagation();
});
$('input#hauteur-plante').on('blur', function() {
// if there's a bad value
var valeur = $(this).val();
773,20 → 786,14
var nouvelleValeur = valeur.replace(/[^0-9]/g, '');
$(this).val(nouvelleValeur);
}
});
$('#courriel_confirmation').on('paste', bloquerCopierCollerCourriel);
});
$('a.afficher-coord').on('click', basculerAffichageCoord);
$('#ajouter-obs').on('click', ajouterObs);
$('.obs-nbre').on('changement', surChangementNbreObs);
$('body').on('click', '.supprimer-obs', supprimerObs);
$('#transmettre-obs').on('click', transmettreObs);
 
// Défilement des photos
$('body').on('click', '.defilement-control-zone', function(event) {
defilerMiniatures($(this));
});
1021,11 → 1028,6
}
}
 
function bloquerCopierCollerCourriel() {
afficherPanneau('#dialogue-bloquer-copier-coller');
return false;
}
 
function basculerAffichageCoord() {
$('.afficher-coord-action').toggle();
$('#coordonnees-geo').toggle('slow');
/trunk/widget/modules/saisie/squelettes/sauvages/sauvages.tpl.html
155,18 → 155,38
</div>
<div class="row-fluid">
<div class="span12">
<h2>Observateur</h2>
<form id="form-observateur" action="#" autocomplete="on">
<fieldset id="partie-identification">
<div class="row-fluid">
<div class="span6 control-group has-tooltip" data-placement="bottom"
title="Saisissez le courriel avec lequel vous être inscrit à Tela Botanica.
Si vous n'êtes pas inscrit, ce n'est pas grave, vous pourrez le faire
ultérieurement. Des informations complémentaires vont vous être
demandées : prénom et nom.">
<label class="control-label" for="courriel">
<strong class="obligatoire">*</strong>
Courriel
<h2 id="titre-form-observateur">Observateur</h2>
<div id="zone-identification">
<fieldset id="partie-identification">
<div class="row-fluid">
<div class="span6 control-group has-tooltip" data-placement="bottom"
title="Saisissez le courriel avec lequel vous être inscrit à Tela Botanica.
Si vous n'êtes pas inscrit, ce n'est pas grave, vous pourrez le faire
ultérieurement. Des informations complémentaires vont vous être
demandées : prénom et nom.">
<label class="control-label" for="courriel">
<strong class="obligatoire">*</strong>
Courriel
</label>
<div class="controls">
<div class="input-prepend">
<span class="add-on">
<i class="icon-envelope"></i>
</span>
<input id="courriel" name="courriel" class="span11" type="text"/>
<input id="id_utilisateur" name="id_utilisateur" type="hidden"/>
</div>
</div>
</div>
<div id="zone-courriel-confirmation" class="span6 hidden control-group has-tooltip"
data-placement="bottom"
title="Saisissez à nouveau votre courriel afin de le confirmer. Le
copier/coller est désactivé pour éviter les erreurs.">
<label class="control-label" for="courriel_confirmation">
<strong class="obligatoire">*</strong>
Courriel (confirmation)
</label>
<div class="controls">
<div class="input-prepend">
173,50 → 193,32
<span class="add-on">
<i class="icon-envelope"></i>
</span>
<input id="courriel" name="courriel" class="span11" type="text"/>
<input id="id_utilisateur" name="id_utilisateur" type="hidden"/>
<input id="courriel_confirmation" name="courriel_confirmation"
class="span11" type="text"/>
</div>
</div>
</div>
</div>
<div id="zone-courriel-confirmation" class="span6 hidden control-group has-tooltip"
data-placement="bottom"
title="Saisissez à nouveau votre courriel afin de le confirmer. Le
copier/coller est désactivé pour éviter les erreurs.">
<label class="control-label" for="courriel_confirmation">
<strong class="obligatoire">*</strong>
Courriel (confirmation)
</label>
<div class="controls">
<div class="input-prepend">
<span class="add-on">
<i class="icon-envelope"></i>
</span>
<input id="courriel_confirmation" name="courriel_confirmation"
class="span11" type="text"/>
<div id="zone-prenom-nom" class="row-fluid hidden">
<div class="span6 control-group">
<label for="prenom" class="control-label">
<strong class="obligatoire">*</strong>
Prénom
</label>
<input id="prenom" name="prenom" class="span12" type="text"/>
</div>
<div class="span6 control-group">
<label for="nom" class="control-label">
<strong class="obligatoire">*</strong>
Nom
</label>
<div class="controls">
<input id="nom" name="nom" class="span12" type="text"/>
</div>
</div>
</div>
</div>
<div id="zone-prenom-nom" class="row-fluid hidden">
<div class="span6 control-group">
<label for="prenom" class="control-label">
<strong class="obligatoire">*</strong>
Prénom
</label>
<input id="prenom" name="prenom" class="span12" type="text"/>
</div>
<div class="span6 control-group">
<label for="nom" class="control-label">
<strong class="obligatoire">*</strong>
Nom
</label>
<div class="controls">
<input id="nom" name="nom" class="span12" type="text"/>
</div>
</div>
</div>
</fieldset>
</fieldset>
</div>
</form>
</div>
</div>
249,8 → 251,9
</div>
</div>
<!-- Fiche terrain -->
<form id="form-obs" class="form-inline" action="#" autocomplete="on">
<h2>Fiche de terrain</h2>
<h2 id="titre-form-obs">Fiche de terrain</h2>
<div id="zone-fiche-terrain">
<fieldset id="partie-date">
<legend>Date du relevé</legend>
274,9 → 277,6
<fieldset id="partie-station">
<legend>Lieu du relevé</legend>
 
<div class="row-fluid">
<div class="span12">
<label for="map_canvas" class="control-label"
366,57 → 366,166
</div>
</div>
<label for="rue_cote" title="Choisissez le (ou les) côté(s) de la rue que vous avez étudié">
<strong class="obligatoire">*</strong>
Côté de la rue
</label>
<select id="rue_cote" name="rue_cote">
<option value="">Sélectionner un type de côté</option>
<option value="pair">Pair</option>
<option value="impair">Impair</option>
<option value="2cotes">Les deux</option>
</select>
<div class="row-fluid">
<div class="span12 control-group has-tooltip"
title="Choisissez le (ou les) côté(s) de la rue que vous avez étudié.">
<label class="control-label">
<strong class="obligatoire">*</strong>
Côté de la rue
<select id="rue_cote" name="rue_cote">
<option value="">Sélectionner un type de côté</option>
<option value="pair">Pair</option>
<option value="impair">Impair</option>
<option value="2cotes">Les deux</option>
</select>
</label>
</div>
</div>
</fieldset>
 
<fieldset id="partie-observation">
<legend>Observations</legend>
<ul>
<li>
<label for="taxon" title="Choisissez une espèce rencontrée. Si vous avez trouvé d'autres espèces non listées, n'hésitez pas à le signaler dans les notes">
<strong class="obligatoire">*</strong>
Espèce
<div class="row-fluid">
<div class="span12">
<div id="taxon-liste-input-groupe" class="control-group has-tooltip"
title="Sélectionnez une espèce dans la liste déroulante par son nom latin
ou commun. Si une espèce est absente, sélectionner «Autre espèce»." >
<label>
<strong class="obligatoire">*</strong>
Espèces communes
<div class="input-prepend ">
<span class="add-on">
<i class="icon-leaf"></i>
</span>
<select id="taxon-liste" name="taxon-liste">
<option value="" selected>Sélectionner une espèce</option>
<optgroup id="taxon-liste-noms">
<?php foreach ($taxons['sci-et-fr'] as $taxon) :?>
<option
class="<?=$taxon['nom_type'] ?>"
value="<?=$taxon['num_nom'] ?>"
title="<?=$taxon['nom_title'] ?>"
data-nom-a-sauver="<?=$taxon['nom_a_sauver'] ?>"
>
<?=$taxon['nom_a_afficher']?>
</option>
<?php endforeach; ?>
</optgroup>
<optgroup id="taxon-liste-special">
<?php foreach ($taxons['speciaux'] as $taxon) :?>
<option
class="<?=$taxon['nom_type'] ?>"
value="<?=$taxon['num_nom'] ?>"
title="<?=$taxon['nom_title'] ?>"
data-nom-a-sauver="<?=$taxon['nom_a_sauver'] ?>"
>
<?=$taxon['nom_a_afficher']?>
</option>
<?php endforeach; ?>
<option value="?">Autre espèce</option>
</optgroup>
</select>
</div>
</label>
</div>
</div>
</div>
<div id="taxon-input-groupe" class="row-fluid hidden">
<div class="span12">
<div class="control-group has-tooltip"
title="Sélectionnez une espèce dans la liste déroulante pour lier
votre nom au référentiel. Si vous le désirez vous pouvez aussi saisir
un nom absent du référentiel (Ex. : 'fleur violette' ou 'Viola sp.1')." >
<label for="taxon" class="control-label" title="Choisissez l'espèce rencontrée.">
Autre espèce
</label>
<div class="controls">
<input id="taxon" name="taxon" type="text" class="span12"
placeholder="Autre espèce (ou indication sur la plante)"
value="<?= $nom_sci_espece_defaut; ?>" />
</div>
</div>
</div>
</div>
<div class="row-fluid">
<div class="span12 control-group has-tooltip"
title="Indiquez le (ou les) milieu(x) dans lequel (lesquels) vous avez rencontré cette espèce.">
<label class="span2 control-label">
<strong class="obligatoire">*</strong>
Milieux
</label>
<select id="taxon" name="taxon">
<option value="">Sélectionner une espèce</option>
<?php foreach ($taxons as $taxon) :?>
<option <?= $taxon['nom_ret']== $taxon['nom_fr'] ? 'style="font-style:italic;"' : '' ?> value="<?=$taxon['num_nom_sel']?>"
title="<?=$taxon['nom_ret'].($taxon['nom_fr_autre'] != '' ? ' - '.$taxon['nom_fr_autre'] : '' )?>">
<?=$taxon['nom_fr']?>
</option>
<?php endforeach; ?>
</select>
</li>
<li>
<label for="liste-milieux" title="Indiquez le (ou les) milieu(x) dans lequel (lesquels) vous avez rencontré cette espèce">
<strong class="obligatoire">*</strong>
Milieu
</label>
<ul id="liste-milieux">
<?php foreach ($milieux as $milieu => $description) : ?>
<li>
<input type="checkbox" class="milieu" name="milieu[]" value="<?=$milieu?>"
<?=($description != '') ? 'title="'.$description.'"': '' ?>/>
<?=$milieu?>
</li>
<?php endforeach; ?>
</ul>
<hr class="nettoyage" />
</li>
<li>
<div id="milieux-controls" class="controls">
<div class="input-prepend">
<div class="btn-group">
<button class="btn dropdown-toggle" data-toggle="dropdown">
<i class="icon-globe"></i>
Sélectionner un ou plusieurs milieux
<span class="caret"></span>
</button>
<ul class="dropdown-menu" role="menu" aria-labelledby="dLabel">
<li>
<label class="checkbox">
<input name="milieux[]" class="cb-milieux" type="checkbox" value="fissures"/>
Fissures
</label>
</li>
<li>
<label class="checkbox">
<input name="milieux[]" class="cb-milieux" type="checkbox" value="pied d'arbre"/>
Pied d'arbre
</label>
</li>
<li>
<label class="checkbox">
<input name="milieux[]" class="cb-milieux" type="checkbox" value="mur"/>
Mur
</label>
</li>
<li>
<label class="checkbox">
<input name="milieux[]" class="cb-milieux" type="checkbox" value="pelouse"/>
Pelouse
</label>
</li>
<li>
<label class="checkbox">
<input name="milieux[]" class="cb-milieux" type="checkbox" value="plate bande"/>
Plate bande
</label>
</li>
<li>
<label class="checkbox">
<input name="milieux[]" class="cb-milieux" type="checkbox" value="haie"/>
Haie
</label>
</li>
<li>
<label class="checkbox">
<input name="milieux[]" class="cb-milieux" type="checkbox" value="chemin"/>
Chemin
</label>
</li>
</ul>
</div>
</div>
</div>
</div>
</div>
<div class="row-fluid">
<div class="span12">
<label for="notes">Notes</label>
<textarea id="notes" name="notes" rows="3" cols="4" placeholder="Indiquez nous en particulier le ou les outils d'identification que vous avez utilisé, et toute autre information concernant le milieu ou l'espèce" ></textarea>
</li>
</ul>
<div>
<textarea id="notes" class="span12" rows="7" name="notes"
placeholder="Indiquez nous en particulier le ou les outils d'identification que vous avez utilisé, et toute autre information concernant le milieu ou l'espèce."></textarea>
</div>
</div>
</div>
</fieldset>
</div><!-- zone-fiche-terrain-->
</form>
427,8 → 536,11
<div class="row-fluid">
<div class="span12">
<fieldset id="partie-photo">
<legend>Ajouter une photo</legend>
<p class="miniature-info" class="discretion help-inline">Vous pouvez ajouter des photos correspondant à cette espèce. Les photos doivent être au format JPEG et ne doivent pas excéder 5Mo chacunes.</p>
<legend>Ajouter des photos</legend>
<p class="miniature-info" class="discretion help-inline">
Vous pouvez ajouter des photos correspondant à cette espèce.
Les photos doivent être au format JPEG et ne doivent pas excéder 5Mo chacunes.
</p>
<div id ="photos-conteneur">
<input type="file" id="fichier" name="fichier" accept="image/jpeg" />
<input type="hidden" name="MAX_FILE_SIZE" value="5242880"/>
440,7 → 552,7
</div>
</form>
<div class="row-fluid">
<div class="span12 centre has-tooltip"
<div class="span12 has-tooltip"
title="Une fois les champs remplis, vous pouvez cliquer sur ce bouton pour
ajouter votre observation à la liste à transmettre.">
<button id="ajouter-obs" class="btn btn-primary btn-large" type="button">
452,7 → 564,7
<!-- Messages d'erreur du formulaire-->
<div class="row-fluid">
<div class="zone-alerte span6 offset3">
<div class="zone-alerte span12">
<div id="dialogue-bloquer-creer-obs" class="alert alert-warning alert-block" style="display: none;">
<a class="close">×</a>
<h4 class="alert-heading">Information : 10 observations maximum</h4>
462,7 → 574,7
</p>
</div>
</div>
<div class="zone-alerte span6 offset3">
<div class="zone-alerte span12">
<div id="dialogue-form-invalide" class="alert alert-warning alert-block" style="display: none;">
<a class="close">×</a>
<h4 class="alert-heading">Information : champs en erreur</h4>
472,7 → 584,7
</p>
</div>
</div>
<div class="zone-alerte span6 offset3">
<div class="zone-alerte span12">
<div id="dialogue-form-invalide-rue" class="alert alert-warning alert-block" style="display: none;">
<a class="close">×</a>
<h4 class="alert-heading">Information : champs en erreur</h4>
485,12 → 597,12
</div>
<!-- Affiche le tableau récapitualif des observations ajoutées -->
<div id="zone-liste-obs" class="row-fluid hidden">
<div class="span12">
<div class="well">
<div id="zone-liste-obs" class="hidden">
<div class="row-fluid">
<div class="span12">
<div class="row-fluid">
<div class="span8">
<h2>Observations à transmettre : <span class="obs-nbre">0</span></h2>
<h2 id="titre-liste-obs">Liste des observations à transmettre : <span class="obs-nbre">0</span></h2>
</div>
<div class="span4 droite">
<button id="transmettre-obs" class="btn btn-primary btn-large has-tooltip"
506,7 → 618,7
</div>
<div class="row-fluid">
<div class="zone-alerte span6 offset3">
<div class="zone-alerte span12">
<div id="dialogue-zero-obs" class="alert alert-block" style="display: none;">
<a class="close">×</a>
<h4 class="alert-heading">Attention : aucune observation</h4>
/trunk/widget/modules/saisie/squelettes/sauvages/TODO
New file
0,0 → 1,0
- Tester si l'id utilisateur est bien gardé après rechargement de la page.
/trunk/widget/modules/saisie/squelettes/sauvages/css/sauvages.css
14,21 → 14,16
letter-spacing:0.3em;
padding:5px 10px;
background:#A1CA10;
width:250px;
margin-bottom:0;
margin-left:2px;
-webkit-border-radius: 10px 10px 0 0;-moz-border-radius: 10px 10px 0 0;border-radius: 10px 10px 0 0;
line-height:2em;
}
a, a:active, a:visited {
border-bottom:1px dotted;
text-decoration:none;
 
a {
font-weight:bold;
}
a:active, a:focus, a:hover{
border-bottom:none;
}
 
 
/*+--------------------------------------------------------------------------------------------------------+*/
/* Générique */
.discretion {
36,7 → 31,9
font-family:arial;
font-size:11px;
}
 
.nom-sci {
font-style:italic;
}
/*+--------------------------------------------------------------------------------------------------------+*/
/* Positionnement général */
#zone-appli {
46,8 → 43,19
 
/*+--------------------------------------------------------------------------------------------------------+*/
/* Formulaire générique */
legend {
color: #000000;
font-size: 1.2em;
letter-spacing: 0.2em;
padding: 5px 10px;
text-transform: uppercase;
line-height:1.2em;
margin:2px 2px 0;
width:inherit;
}
fieldset {
background-color:#A1CA10;
padding:5px;
}
 
/* Validation du formulaire */
73,13 → 81,22
 
/*-------------------------------------------------------*/
/* Formulaire observateur */
#partie-identification, #partie-identification legend{
#titre-form-observateur {
width:250px;
}
#zone-identification {
margin-left:2px;
}
#partie-identification{
background:#A1CA10;
-webkit-border-radius: 10px;-moz-border-radius: 10px;border-radius: 10px;
-webkit-border-radius: 0 10px 10px 10px;-moz-border-radius: 0 10px 10px 10px;border-radius: 0 10px 10px 10px;
}
 
/*+--------------------------------------------------------------------------------------------------------+*/
/* Formulaire obs */
#titre-form-obs{
width:250px;
}
#zone-fiche-terrain, #zone-fiche-terrain-photo{
background:#A1CA10;
width:600px;
94,8 → 111,7
margin-top:-20px;
}
#partie-station, #partie-observation, #partie-photo, #partie-date{
width:550px;
margin-left:10px;
margin:0 10px 10px;
background:#E5E5E5;
-webkit-border-radius: 10px;-moz-border-radius: 10px;border-radius: 10px;
}
104,14 → 120,22
-webkit-border-radius: 10px 10px 0 0 ;-moz-border-radius: 10px 10px 0 0;border-radius: 10px 10px 0 0;
}
 
/* Liste des taxons */
#taxon-liste optgroup + optgroup {
border-top: 1px solid black;
}
 
/*-------------------------------------------------------*/
/* Géolocalisation */
#map-canvas {
height: 280px;
height:280px;
margin-bottom:5px;
}
#map-canvas img {
max-width:none;
}
.coordonnees-geo, .lat-lon-info {
font-size: 10px;
font-size:10px;
}
#info-commune {
text-align:right;
122,8 → 146,8
}
.indication_geolocalisation {
color:#118811;
font-style: italic;
font-weight: bold;
font-style:italic;
font-weight:bold;
font-weight:0.9em;
}
 
235,6 → 259,22
 
/*-------------------------------------------------------*/
/* Observations */
#titre-liste-obs{
margin-top:0;
padding-top:0;
}
#zone-liste-obs{
background-color:#A1CA10;
padding:5px;
-webkit-border-radius: 10px;-moz-border-radius: 10px;border-radius: 10px;
}
#zone-liste-obs .well{
background-color:#A1CA10;
margin:0 5px 5px 5px;
}
#liste-obs .well{
background-color:#E0DFDE;
}
#obs-titre {
margin-right: 20px;
}
260,40 → 300,20
opacity:1;
}
 
/*-------------------------------------------------------*/
/* Partie-preview */
#partie-preview legend, #partie-preview{
background:#A1CA10;
-webkit-border-radius: 10px;-moz-border-radius: 10px;border-radius: 10px;
}
#partie-preview {
width:582px;
border:none;
}
 
#ajouter-obs{
margin-left:407px;
margin-top:10px;
font-size:20px;
background:#181;
color:#FFF;
-webkit-border-radius: 5x;-moz-border-radius: 5px;border-radius: 5px;
height:35px;
width:137px;
}
#transmettre-obs{
margin-left:400px;
margin-top:5px;
font-size:20px;
background:#811;
color:#FFF;
-webkit-border-radius: 5x;-moz-border-radius: 5px;border-radius: 5px;
height:35px;
}
 
 
 
 
 
/*-------------------------------------------------------*/
/* Autocomplete */
.valeur-defaut-recherche {
/trunk/widget/modules/saisie/squelettes/sauvages/js/sauvages.js
46,8 → 46,14
//FORM IDENTITE : gestion de l'observateur => OK
 
$(document).ready(function() {
requeterIdentite();// Sur rechargement de la page
// Interaction sur le formulaire observateur
$('#courriel').on('keypress', testerLancementRequeteIdentite);
$('#courriel').on('blur', requeterIdentite);
$('#courriel').on('keypress', testerLancementRequeteIdentite);
$('#prenom').on('change', formaterPrenom);
$('#nom').on('change', formaterNom);
$('#courriel_confirmation').on('paste', bloquerCopierCollerCourriel);
});
 
function testerLancementRequeteIdentite(event) {
60,36 → 66,36
 
function requeterIdentite() {
var courriel = $('#courriel').val();
//TODO: mettre ceci en paramètre de config
var urlAnnuaire = SERVICE_ANNUAIRE_ID_URL + courriel;
$.ajax({
url: urlAnnuaire,
type: 'GET',
success: function(data, textStatus, jqXHR) {
if (data != undefined && data[courriel] != undefined) {
var infos = data[courriel];
$('#id_utilisateur').val(infos.id);
$('#prenom').val(infos.prenom);
$('#nom').val(infos.nom);
$('#courriel_confirmation').val(courriel);
$('#prenom, #nom, #courriel_confirmation').attr('disabled', 'disabled');
$('#structure').focus();
} else {
if (courriel) {
var urlAnnuaire = SERVICE_ANNUAIRE_ID_URL + courriel;
$.ajax({
url: urlAnnuaire,
type: 'GET',
success: function(data, textStatus, jqXHR) {
if (data != undefined && data[courriel] != undefined) {
var infos = data[courriel];
$('#id_utilisateur').val(infos.id);
$('#prenom').val(infos.prenom);
$('#nom').val(infos.nom);
$('#courriel_confirmation').val(courriel);
$('#prenom, #nom, #courriel_confirmation').attr('disabled', 'disabled');
$('#structure').focus();
} else {
surErreurCompletionCourriel();
}
},
error: function(jqXHR, textStatus, errorThrown) {
surErreurCompletionCourriel();
},
complete: function(jqXHR, textStatus) {
$('#zone-prenom-nom').removeClass('hidden');
$('#zone-courriel-confirmation').removeClass('hidden');
}
},
error: function(jqXHR, textStatus, errorThrown) {
surErreurCompletionCourriel();
},
complete: function(jqXHR, textStatus) {
$('#zone-prenom-nom').removeClass('hidden');
$('#zone-courriel-confirmation').removeClass('hidden');
}
});
}
}
 
function surErreurCompletionCourriel() {
$('#prenom, #nom, #courriel_confirmation').val('');
$('#prenom, #nom, #courriel_confirmation').removeAttr('disabled');
afficherPanneau('#dialogue-courriel-introuvable');
}
120,6 → 126,11
$(this).val(prenom.join(' '));
}
 
function bloquerCopierCollerCourriel() {
afficherPanneau('#dialogue-bloquer-copier-coller');
return false;
}
 
//+----------------------------------------------------------------------------------------------------------+
//GOOGLE MAP => OK
 
184,9 → 195,14
});
 
function initialiserGoogleMap(){
latLngDeb = new google.maps.LatLng(46.30871, 2.54395);// Centre de la France
latLngDeb = new google.maps.LatLng(48.8543, 2.3483);// Paris
if (VILLE == 'Marseille') {
latLngDeb = new google.maps.LatLng(43.29545, 5.37458);
} else if (VILLE == 'Montpellier') {
latLngDeb = new google.maps.LatLng(43.61077, 3.87672);
}
var options = {
zoom: 5,
zoom: 16,
center: latLngDeb,
mapTypeId: google.maps.MapTypeId.HYBRID,
mapTypeControlOptions: {
648,27 → 664,25
$('.dropdown-menu input, .dropdown-menu label').on('click', function(event) {
event.stopPropagation();
});
// Gestion de la liste des taxons
ajouterAutocompletionNoms();
surChangementTaxonListe();
$('#taxon-liste').on('change', surChangementTaxonListe);
console.log('Selected taxon:'+$('#taxon-liste option:selected').val());
 
// Interaction sur le formulaire observateur
$('#prenom').on('change', formaterPrenom);
$('#nom').on('change', formaterNom);
$('#courriel_confirmation').on('paste', bloquerCopierCollerCourriel);
// Validation du formulaire
configurerFormValidator();
definirReglesFormValidator();
// Interaction sur le formulaire obs
configurerDatePicker('#date');
$('a.afficher-coord').on('click', basculerAffichageCoord);
$('#taxon-liste').on('change', surChangementTaxonListe);
ajouterAutocompletionNoms();
$('.cb-milieux').on('click', function(event) {
$(this).valid();
event.stopPropagation();
});
 
// Validation du formulaire
configurerFormValidator();
definirReglesFormValidator();
// Gestion des obs
$('#ajouter-obs').on('click', ajouterObs);
$('.obs-nbre').on('changement', surChangementNbreObs);
$('body').on('click', '.supprimer-obs', supprimerObs);
768,6 → 782,16
});
}
 
function validerFormulaire() {
var observateur = $('#form-observateur').valid(),
obs = $('#form-obs').valid(),
debRue = (latLngDeb == undefined) ? false : true,
finRue = (latLngFin == undefined) ? false : true;
var ok = (observateur && obs && debRue && finRue) ? true : false;
//console.log('observateur:'+observateur+'-obs:'+obs+'-debRue:'+debRue+'-finRue:'+finRue);
return ok;
}
 
function surChangementTaxonListe() {
if ($('#taxon-liste').val() === '?') {
$('#taxon-input-groupe').removeClass('hidden');
808,11 → 832,6
}
}
 
function bloquerCopierCollerCourriel() {
afficherPanneau('#dialogue-bloquer-copier-coller');
return false;
}
 
function basculerAffichageCoord() {
$('.afficher-coord-action').toggle();
$('#coordonnees-geo').toggle('slow');
851,56 → 870,49
referentiel = (numNomSel == undefined) ? '' : '['+NOM_SCI_PROJET+']',
commune = $('#commune-nom').text(),
codeInsee = $('#commune-code-insee').text(),
station = $('input[name="adresse"]').val(),
lat = $('input[name="latitude"]').val(),
lng = $('input[name="longitude"]').val(),
date = $('#date').val(),
site = $('#station').val(),
revetement = $('#revetement-sol').val(),
intensiteGestion = $('#intensite-gestion').val(),
resistance = $('#resistance-traitement-phyto').val(),
milieux = getMilieux(),
notes = (nomSpecial ? taxons[numNomSel]['nom_fr'] + ".<br />" : '') + $('#notes').val();
$('#liste-obs').prepend(
'<div id="obs'+obsNbre+'" class="row-fluid obs obs'+obsNbre+'">'+
'<div class="span12">'+
'<div class="well">'+
'<div class="obs-action pull-right has-tooltip" data-placement="bottom" '+
'title="Supprimer cette observation de la liste à transmettre">'+
'<button class="btn btn-danger supprimer-obs" value="'+obsNbre+'" title="'+obsNbre+'">'+
'<i class="icon-trash icon-white"></i>'+
'</button>'+
'</div> '+
'<div class="row-fluid">'+
'<div class="span2 obs-miniatures">'+
ajouterImgMiniatureAuTransfert()+
'<div id="obs'+obsNbre+'" class="row-fluid obs obs'+obsNbre+'">' +
'<div class="span12">' +
'<div class="well">' +
'<div class="obs-action pull-right has-tooltip" data-placement="bottom" ' +
'title="Supprimer cette observation de la liste à transmettre">' +
'<button class="btn btn-danger supprimer-obs" value="'+obsNbre+'" title="'+obsNbre+'">' +
'<i class="icon-trash icon-white"></i>' +
'</button>' +
'</div> ' +
'<div class="row-fluid">' +
'<div class="span2 obs-miniatures">' +
ajouterImgMiniatureAuTransfert() +
'</div>'+
'<div class="span8">'+
'<ul class="unstyled">'+
'<div class="span7">' +
'<ul class="unstyled">' +
'<li>'+
'<span class="nom-sci">' + taxon + '</span> ' +
formaterNumNomSel(numNomSel)+
'<span class="referentiel-obs">' + referentiel + '</span>' +
' observé à ' +
formaterNumNomSel(numNomSel) +
' observé à <br />' +
'<span class="station">' + station + '</span><br /> ' +
'<span class="commune">' + commune + '</span> ' +
'(' + codeInsee + ') [' + lat +' / ' + lng + ']' +
'(' + codeInsee + ') ' +
' le ' +
'<span class="date">' + date + '</span>' +
'</li>' +
'<li>' +
'<span>Site :</span> ' + site + ' ' + ' ; ' +
'<span>Revêtement au sol :</span> ' + revetement + ' ' + ' ; ' +
'<span>Intensité de gestion :</span> ' + intensiteGestion + ' ' + ' ; ' +
'<span>Milieu :</span> ' + milieux + ' ' + ' ; ' +
'<span>Résistance/Résilience :</span> ' + resistance + ' ' +
'Milieux : ' + milieux + ' ' + ' ; ' +
'</li>' +
'<li>' +
'Commentaires : ' + notes +
'</li>'+
'</ul>'+
'</div>'+
'</div>'+
'</div>'+
'Notes : ' + notes +
'</li>' +
'</ul>' +
'</div>' +
'</div>' +
'</div>' +
'</div>'+
'</div>');
}
1045,14 → 1057,6
$('#dialogue-bloquer-creer-obs').hide();
}
 
function getNomsImgsOriginales() {
var noms = new Array();
$('.miniature-img').each(function() {
noms.push($(this).attr('alt'));
});
return noms;
}
 
function stockerObsData() {
var nomHorsListe = $('#taxon-liste').val() == '?' ? true : false;
nomSpecial = $('#taxon-liste option:selected').hasClass('nom-special'),
1069,7 → 1073,7
'date': $('#date').val(),
'notes': notes,
'station': $('#station').val(),
'station': $('input[name="adresse"]').val(),
'latitude': $('#latitude').val(),
'longitude': $('#longitude').val(),
'commune_nom': $('#commune-nom').text(),
1094,12 → 1098,16
//console.log($('#liste-obs').data('obsId'+obsNbre));
}
 
function getNomsImgsOriginales() {
var noms = new Array();
$('.miniature-img').each(function() {
noms.push($(this).attr('alt'));
});
return noms;
}
 
function getObsChpEtendus() {
var champs = [],
perceptionTechnicien = getPerceptionTechnicien();
if (perceptionTechnicien != undefined) {
champs.push(perceptionTechnicien);
}
var champs = [];
if (latLngDeb != undefined) {
var latitudeDebutRue = {cle: 'latitudeDebutRue', label: 'Latitude du début de la rue', valeur: latLngDeb.lat().toFixed(5)};
champs.push(latitudeDebutRue);
1125,19 → 1133,6
return champs;
}
 
function getPerceptionTechnicien() {
var perceptionTechnicien = undefined,
perceptions = [];
$('.cb-perception-technicien:checked').each(function() {
perceptions.push($(this).val());
});
if (perceptions.length > 0) {
var valeur = Array.prototype.slice.call(perceptions).join(', ');
perceptionTechnicien = {cle: 'perceptionTechnicien', label: "Perceptions par l'équipe", valeur: valeur};
}
return perceptionTechnicien;
}
 
//+----------------------------------------------------------------------------------------------------------+
//TRANSFERER OBS : envoie des obs au CEL => OK