Subversion Repositories eFlore/Applications.coel

Compare Revisions

Ignore whitespace Rev 1603 → Rev 1604

/trunk/src/org/tela_botanica/client/vues/personne/PersonneForm.java
1398,36 → 1398,14
if(typeDate.equals("décès")) {
String valeurDateDeces = hmIdentite.getTextField("tfDateDeces").getRawValue();
String valeurDateNaissance = hmIdentite.getTextField("tfDateNaissance").getRawValue();
String[] composantsDateDeces = valeurDateDeces.split("/");
String[] composantsDateNaissance = valeurDateNaissance.split("/");
// Première vérification sur l'année (voir la raison sur le commentaire en dessous)
if(Integer.parseInt(composantsDateDeces[2]) > Integer.parseInt(composantsDateNaissance[2])) {
Date dateNaissance = parserDate(valeurDateNaissance);
Date dateDeces = parserDate(valeurDateDeces);
if(dateDeces.compareTo(dateNaissance) < 0) {
lstMessageErreur.add("La date de décès ne peut pas précéder la date de naissance");
} else {
Date dateNaissance = new Date();
// La méthode setYear ne prend pas en compte les années sur 4 chiffres
// on met donc les deux dates à zéro
dateNaissance.setYear(0);
// Les méthodes utilisées sont dépréciées, mais GWT ne gère les dates
// que comme ça
dateNaissance.setMonth(Integer.parseInt(composantsDateNaissance[1]));
dateNaissance.setDate(Integer.parseInt(composantsDateNaissance[0]));
Date dateDeces = new Date();
dateDeces.setYear(0);
dateDeces.setMonth(Integer.parseInt(composantsDateDeces[1]));
dateDeces.setDate(Integer.parseInt(composantsDateDeces[0]));
if(dateDeces.compareTo(dateNaissance) <= 0) {
lstMessageErreur.add("La date de décès ne peut pas précéder la date de naissance");
} else {
Window.alert(dateNaissance.toString()+" "+dateDeces.toString());
}
}
}
/** Date vide **/
} else {
if (typeDate=="naissance") {
1440,6 → 1418,22
}
private Date parserDate(String valeurDate) {
Date dateParsee = new Date();
String[] composantsDate = valeurDate.split("/");
// Attention : la fonction setYear ajoute 1900 à l'année
int annee = Integer.parseInt(composantsDate[(composantsDate.length-1)]) - 1900;
// Attention : les mois commencent à 0, donc janvier = 0, février = 1
int mois = (composantsDate.length > 1) ? Integer.parseInt(composantsDate[(composantsDate.length-2)]) - 1 : 0;
int jour = (composantsDate.length > 2) ? Integer.parseInt(composantsDate[0]) : 1;
dateParsee.setYear(annee);
dateParsee.setMonth(mois);
dateParsee.setDate(jour);
return dateParsee;
}
public Personne getPersonne() {
return this.personne;
}