Subversion Repositories eFlore/Applications.coel

Compare Revisions

Ignore whitespace Rev 1513 → Rev 1516

/trunk/src/org/tela_botanica/client/vues/publication/PublicationForm.java
755,12 → 755,12
/** Champ 'Date de publication' **/
/*********************************************/
datePublicationChp = new TextField<String>();
datePublicationChp.setMaxLength(4);
datePublicationChp.setMaxLength(9);
datePublicationChp.setMinLength(4);
datePublicationChp.setFieldLabel("Année de publication");
datePublicationChp.addStyleName(ComposantClass.OBLIGATOIRE);
datePublicationChp.addListener(Events.Valid, creerEcouteurChampObligatoire());
editionFieldset.add(datePublicationChp, new FormData(40, 0));
editionFieldset.add(datePublicationChp, new FormData(80, 0));
/*********************************/
/** Champ 'Tome' **/
908,7 → 908,7
titreChp.setValue(publication.getTitre());
collectionChp.setValue(publication.getCollection());
uriChp.setValue(publication.getURI());
datePublicationChp.setValue(reduireDateParAnnee(publication.getDateParution()));
datePublicationChp.setValue(publication.getAnneeParution());
tomeChp.setValue(publication.getIndicationNvt());
fasciculeChp.setValue(publication.getFascicule());
pagesChp.setValue(publication.getPages());
948,8 → 948,7
publicationCollectee.setEditeur(editeur);
String anneePublication = datePublicationChp.getRawValue();
String datePublication = anneePublication+"-00-00";
publicationCollectee.setDateParution(datePublication);
publicationCollectee.setAnneeParution(anneePublication);
String tome = tomeChp.getValue();
publicationCollectee.setIndicationNvt(tome);
1046,22 → 1045,6
}
}
private boolean etreDateValide(String anneePublication) {
boolean valide = true;
if (!anneePublication.matches("^[0-2][0-9]{3}$")) {
valide = false;
}
return valide;
}
private String reduireDateParAnnee(String datePar) {
if (datePar.matches("^[0-2][0-9]{3}(-[0-9]{2}){2}$")) {
return datePar.split("-")[0];
} else {
return "";
}
}
//---------------------------//
// Méthodes publiques //------------------------------------------------------------
1088,8 → 1071,8
if (datePublication == null || datePublication.equals("")) {
messages.add("Veuillez saisir une année de parution !");
} else {
if (!etreDateValide(datePublication)) {
messages.add("Le format de l'année saisie est incorrect !");
if (!Publication.etreAnneeParutionValide(datePublication)) {
messages.add("Le format de l'année saisie est incorrect ! Formats acceptés : AAAA ou AAAA-AAAA");
}
}
/trunk/src/org/tela_botanica/client/modeles/publication/Publication.java
181,14 → 181,40
}
 
public String getAnneeParution() {
String date;
if (removePrefix) date = renvoyerValeurCorrecte("date_parution");
else date = renvoyerValeurCorrecte(PREFIXE+"_date_parution");
if (date != null && !UtilString.isEmpty(date))
return date.substring(0, 4);
else
return null;
String annee = "";
String dateParution = this.getDateParution();
if (dateParution.matches("^[0-2][0-9]{3}(-[0-9]{2}){2}$")) {// AAAA-MM-JJ
annee = dateParution.split("-")[0];
} else if (dateParution.matches("^[0-2][0-9]{3}-[0-2][0-9]{3}$")) {// AAAA-AAAA
annee = dateParution;
} else if (dateParution.matches("^[0-2][0-9]{3}$")) {// AAAA
annee = dateParution;
} else {
annee = "";
}
return annee;
}
public void setAnneeParution(String annee) {
if (annee.matches("^[0-2][0-9]{3}(-[0-9]{2}){2}$")) {// AAAA-MM-JJ
this.setDateParution(annee);
} else if (annee.matches("^[0-2][0-9]{3}-[0-2][0-9]{3}$")) {// AAAA-AAAA
this.setDateParution(annee);
} else if (annee.matches("^[0-2][0-9]{3}$")) {// AAAA
this.setDateParution(annee);
} else {
this.setDateParution("");
}
}
public static boolean etreAnneeParutionValide(String annee) {
boolean valide = false;
if (annee.matches("^[0-2][0-9]{3}$")) {// AAAA
valide = true;
} else if (annee.matches("^[0-2][0-9]{3}-[0-2][0-9]{3}$")) {// AAAA-AAAA
valide = true;
}
return valide;
}
public String getDateParution() {
if (removePrefix) return renvoyerValeurCorrecte("date_parution");
else return renvoyerValeurCorrecte(PREFIXE+"_date_parution");