Subversion Repositories eFlore/Applications.cel

Compare Revisions

Regard whitespace Rev 216 → Rev 215

/trunk/src/org/tela_botanica/client/vues/observation/ListeObservationVue.java
311,8 → 311,8
// gestion du clic sur une ligne
public void onRowClick(GridPanel grid, int rowIndex,
EventObject e) {
// on notifie le médiateur et on lui passe le numéro de ligne
Record rd = getStore().getAt(rowIndex);
// on notifie le médiateur et on lui passe le nuémro de ligne
Record rd = getSelectionModel().getSelected();
String ordreObservation = rd.getAsString("ordre_observation") ;
observationMediateur.onClicListeObservation(rowIndex,ordreObservation);
759,8 → 759,6
private String fabriquerLieu(Observation obs) {
String lieuModele = modeleLieu;
String commune = obs.getLocalite();
String lieuDit = obs.getLieudit();
String station = obs.getStation();
780,27 → 778,27
lieuCommuneFormate += idLoc+" - ";
}
lieuCommuneFormate += commune;
lieuModele = lieuModele.replaceAll("IDLOCCOMMUNE", lieuCommuneFormate);
modeleLieu = modeleLieu.replaceAll("IDLOCCOMMUNE", lieuCommuneFormate);
} else {
lieuModele = lieuModele.replaceAll("IDLOCCOMMUNE,", lieuCommuneFormate);
modeleLieu = modeleLieu.replaceAll("IDLOCCOMMUNE,", lieuCommuneFormate);
}
if(lieuDit != null && !lieuDit.contains("000null") && !lieuDit.trim().equals("")) {
lieuDitFormate += lieuDit;
lieuModele = lieuModele.replaceAll("LIEUDIT", lieuDitFormate);
modeleLieu = modeleLieu.replaceAll("LIEUDIT", lieuDitFormate);
} else {
lieuModele = lieuModele.replaceAll("LIEUDIT,", lieuDitFormate);
modeleLieu = modeleLieu.replaceAll("LIEUDIT,", lieuDitFormate);
}
if(station != null && !station.contains("000null") && !station.trim().equals("")) {
stationFormatee += station;
lieuModele = lieuModele.replaceAll("STATION", stationFormatee);
modeleLieu = modeleLieu.replaceAll("STATION", stationFormatee);
} else {
lieuModele = lieuModele.replaceAll("STATION,", stationFormatee);
modeleLieu = modeleLieu.replaceAll("STATION,", stationFormatee);
}
return lieuModele;
return modeleLieu;
}
 
}
/trunk/src/org/tela_botanica/client/vues/observation/FormulaireSaisieObservationVue.java
5,7 → 5,6
import java.util.Iterator;
 
import org.tela_botanica.client.interfaces.Rafraichissable;
import org.tela_botanica.client.modeles.ListeObservation;
import org.tela_botanica.client.modeles.ListeReferentielCommune;
import org.tela_botanica.client.modeles.ListeReferentielNom;
import org.tela_botanica.client.modeles.Observation;
13,7 → 12,6
import org.tela_botanica.client.modeles.ReferentielNom;
import org.tela_botanica.client.observation.ObservationMediateur;
 
import com.google.gwt.user.client.Window;
import com.gwtext.client.core.EventCallback;
import com.gwtext.client.core.EventObject;
import com.gwtext.client.core.ListenerConfig;
36,7 → 34,6
import com.gwtext.client.widgets.event.PanelListenerAdapter;
import com.gwtext.client.widgets.form.ComboBox;
import com.gwtext.client.widgets.form.DateField;
import com.gwtext.client.widgets.form.Field;
import com.gwtext.client.widgets.form.FormPanel;
import com.gwtext.client.widgets.form.TextArea;
import com.gwtext.client.widgets.form.TextField;
76,37 → 73,7
// Pour remise a zero partielle lors d'une validation
private enum Champs {
DATE, LIEUDIT, STATION, MILIEU, COMMENT, COMMUNE, ESPECE, TOUT ;
public String toString() {
switch(this) {
case DATE:
return "date";
case COMMUNE:
return "commune";
case LIEUDIT:
return "lieu dit";
case STATION:
return "station";
case MILIEU:
return "milieu";
case COMMENT:
return "commentaire";
case ESPECE:
return "espèce";
case TOUT:
return "date, commune, lieu dit, station, milieu, espèce, commentaire";
}
return TOUT.toString();
}
DATE, LIEUDIT, STATION, MILIEU, COMMENT, COMMUNE, ESPECE, TOUT
};
121,17 → 88,6
private boolean modification = false ;
private Toolbar bt = null ;
private final String VALEURS_MULTIPLES = "(Valeurs multiples)";
private final String modeleMessageModif = "commune lieu dit station milieu date espece commentaire";
private boolean communeModifiee = false;
private boolean LieuDitModifie = false;
private boolean StationModifiee = false;
private boolean milieuModifie = false;
private boolean dateModifiee = false;
private boolean especeModifiee = false;
private boolean commModifie = false;
private final int KEY_ALT = 18;
private final int KEY_BACKSPACE = 8;
private final int KEY_CTRL = 17;
169,8 → 125,6
 
private Panel panneauSecondeColonne;
 
private boolean masseModification =false ;
/**
* Constructeur sans argument (privé car ne doit pas être utilisé)
*/
329,6 → 283,7
panneauIntermediaire.setHeight(rawHeight);
}});
// on ajoute les listeners
338,6 → 293,10
private void ajouterListeners()
{
// Listener completion communne
commune.addListener(new ComboBoxListenerAdapter() {
380,7 → 339,6
case KEY_ENTER:
if (selectionCommune) {
communeModifiee= true;
selectionCommune=false;
}
else {
394,7 → 352,6
departement="";
obtenirListeReferentielCommune();
communeModifiee= true;
break;
}
406,7 → 363,6
 
public void execute(EventObject e) {
// TODO Auto-generated method stub
dateModifiee = true;
switch(e.getKey()) {
case KEY_ENTER:
422,7 → 378,6
 
public void execute(EventObject e) {
// TODO Auto-generated method stub
StationModifiee = true;
switch(e.getKey()) {
case KEY_ENTER:
480,7 → 435,6
case KEY_ENTER:
if(selectionEspece) {
especeModifiee = true;
selectionEspece=false;
}
else {
493,7 → 447,6
numeroNom="";
obtenirListeReferentielNom();
especeModifiee = true;
break;
}
510,7 → 463,6
 
public void execute(EventObject e) {
// TODO Auto-generated method stub
LieuDitModifie = true;
switch(e.getKey()) {
case KEY_ENTER:
526,7 → 478,6
 
public void execute(EventObject e) {
// TODO Auto-generated method stub
milieuModifie = true;
switch(e.getKey()) {
case KEY_ENTER:
538,13 → 489,20
}
});
comment.addKeyPressListener(new EventCallback() {
/*comment.addKeyPressListener(new EventCallback() {
 
public void execute(EventObject e) {
// TODO Auto-generated method stub
commModifie = true;
switch(e.getKey()) {
case KEY_ENTER:
validerSaisie(Champs.COMMENT);
break;
default:
}
});
}
});*/
 
 
553,12 → 511,8
public void onClick(Button button, EventObject e) {
if(modification) {
if(masseModification) {
modifierObservationEnMasse(null);
} else {
modifierObservation() ;
}
}
else {
ajouterObservation();
}
601,13 → 555,8
private void validerSaisie(Champs champs) {
if(modification) {
if(masseModification) {
modifierObservationEnMasse(champs);
} else {
modifierObservation();
}
raz(champs);
}
else {
ajouterObservation();
723,11 → 672,6
afficherDetailsObservation(obs) ;
}
if(nouvelleDonnees instanceof ListeObservation) {
ListeObservation listeObs = (ListeObservation)nouvelleDonnees;
calculerAfficherDifferences(listeObs);
}
// Sur Mise à jour ou suppression d'une suppression ?
if(nouvelleDonnees instanceof String)
744,6 → 688,8
}
 
}
 
public void obtenirListeReferentielCommune() {
String com=commune.getText().replaceAll(" ","/");
794,9 → 740,9
}
private void modifierObservation() {
Observation obs=new Observation(espece.getText(),numeroNom,commune.getText(),departement,lieudit.getText(),station.getText(),milieu.getText(), comment.getText(),date.getRawValue());
obs.setNumeroOrdre(numeroOrdre);
observationMediateur.modifierObservation(obs);
 
selecteurMode.setValue("création");
804,73 → 750,6
}
private void modifierObservationEnMasse(Champs champModifie) {
String communeM = null;
String departementM = null;
String lieuDitM = null;
String stationM = null;
String milieuM = null;
String dateM = null;
String especeM = null;
String commM = null;
String champs = modeleMessageModif;
if(communeModifiee) {
communeM = commune.getText();
} else {
champs = champs.replaceAll("commune ", "");
}
if(LieuDitModifie) {
lieuDitM = lieudit.getText();
}else {
champs = champs.replaceAll("lieu dit ", "");
}
if(StationModifiee) {
stationM = station.getText();
}else {
champs = champs.replaceAll("station ", "");
}
 
if(milieuModifie) {
milieuM = milieu.getText();
}else {
champs = champs.replaceAll("milieu ", "");
}
 
if(dateModifiee) {
dateM = date.getRawValue();
}else {
champs = champs.replaceAll("date ", "");
}
 
if(especeModifiee) {
especeM = espece.getText();
}else {
champs = champs.replaceAll("espece ", "");
}
 
if(commModifie) {
commM = comment.getText();
}else {
champs = champs.replaceAll("commentaire", "");
}
String message = "Voulez vous modifier les champs suivants : "+champs+" pour les observations selectionnées ?" ;
if(champs.trim().equals("")) {
Window.alert("Aucun champ n'a été modifié");
} else {
Observation obs = new Observation(especeM,numeroNom,communeM,departementM,lieuDitM,stationM,milieuM, commM,dateM);
obs.setNumeroOrdre(numeroOrdre);
if(Window.confirm(message)) {
observationMediateur.modifierObservationEnMasse(obs);
}
}
}
private void supprimerObservation() {
observationMediateur.supprimerObservation(this, numeroOrdre);
880,16 → 759,13
public void afficherDetailsObservation(Observation obs)
{
raz() ;
String idLoc ;
if(obs.getIdentifiantLocalite() != VALEURS_MULTIPLES) {
idLoc =obs.getIdentifiantLocalite().replaceAll(" ","/");
char g ;
String idLoc =obs.getIdentifiantLocalite().replaceAll(" ","/");
idLoc = idLoc.replaceAll("%","");
idLoc = idLoc.replaceAll("\"","");
idLoc = idLoc.replace('\\',' ');
idLoc = idLoc.trim();
} else {
idLoc = obs.getIdentifiantLocalite();
}
if(!obs.getDate().equals("null") && !obs.getDate().equals("000null")) {
String[] dateEtHeure = obs.getDate().split(" ", 2);
914,7 → 790,7
comment.setValue(obs.getCommentaire()) ;
}
if(!obs.getLocalite().equals("null") && !obs.getLocalite().equals("000null")) {
if(!idLoc.equals("000null") && !idLoc.equals(VALEURS_MULTIPLES)) {
if(!idLoc.equals("000null")) {
commune.setValue(obs.getLocalite()+" ("+idLoc+")") ;
}
else
1008,10 → 884,11
modification = true ;
selecteurMode.removeClass("x-selec-crea") ;
selecteurMode.setCls("x-selec-modif") ;
observationMediateur.onModeModification();
}
else
{
 
boutonOK.setText("Ajouter") ;
setTitle("Saisir") ;
boutonAnnuler.setText("Réinitialiser") ;
1031,15 → 908,6
return modification ;
}
/**
* renvoie vrai si on est en mode modification de masse, faux sinon
* @return
*/
public boolean getMasseModification()
{
return masseModification ;
}
public boolean verifierFormatDate(String date) {
String regex = "[1-9][0-9]{3}-[0-9]{2}-[0-9]{2}" ;
1051,96 → 919,5
}
}
 
public void setMasseModification(boolean masseModification) {
this.masseModification = masseModification;
if(masseModification) {
reinitialiserValeurModifiees();
}
}
private void calculerAfficherDifferences(ListeObservation listeObs) {
String departement = null;
String commune = null;
String lieuDit = null;
String station = null;
String milieu = null;
String espece = null;
String date = null;
String notes = null;
String ordreObs = "";
for(Iterator<String> it = listeObs.keySet().iterator();it.hasNext();) {
Observation obsEnCours = listeObs.get(it.next());
departement = comparerDifferencesChamps(departement, obsEnCours.getIdentifiantLocalite());
commune = comparerDifferencesChamps(commune, obsEnCours.getLocalite());
lieuDit = comparerDifferencesChamps(lieuDit, obsEnCours.getLieudit());
station = comparerDifferencesChamps(station, obsEnCours.getStation());
milieu = comparerDifferencesChamps(milieu, obsEnCours.getMilieu());
espece = comparerDifferencesChamps(espece, obsEnCours.getNomSaisi());
date = comparerDifferencesChamps(date, obsEnCours.getDate());
notes = comparerDifferencesChamps(notes, obsEnCours.getCommentaire());
ordreObs += obsEnCours.getNumeroOrdre()+",";
}
Observation obs=new Observation(espece,numeroNom,commune,departement,lieuDit,station,milieu, notes,date);
obs.setNumeroOrdre(ordreObs);
rafraichir(obs, false);
}
private String comparerDifferencesChamps(String valeurActuelle, String nouvelleValeur) {
String retour = "000null";
if(valeurActuelle == null) {
retour = nouvelleValeur;
} else {
if(valeurActuelle.equals(nouvelleValeur)) {
retour = valeurActuelle;
} else {
retour = VALEURS_MULTIPLES;
}
}
return retour;
}
private void reinitialiserValeurModifiees() {
communeModifiee = false;
LieuDitModifie = false;
StationModifiee = false;
milieuModifie = false;
dateModifiee = false;
especeModifiee = false;
commModifie = false;
}
private Field obtenirCorrespondanceChampsEnum(Champs champ) {
switch(champ) {
case DATE:
return date;
case COMMUNE:
return commune;
case LIEUDIT:
return lieudit;
case STATION:
return station;
case MILIEU:
return milieu;
case COMMENT:
return comment;
case ESPECE:
return espece;
}
return null;
}
}