Subversion Repositories eFlore/Applications.del

Compare Revisions

Ignore whitespace Rev 881 → Rev 882

/trunk/src/org/tela_botanica/del/client/composants/formulaires/formulairecommentaire/FormulaireCommentairePresenteur.java
7,15 → 7,20
import org.tela_botanica.del.client.composants.validation.ValidateurChampTexteNonNul;
import org.tela_botanica.del.client.modeles.Commentaire;
import org.tela_botanica.del.client.modeles.Contributeur;
import org.tela_botanica.del.client.modeles.InterventionForum;
import org.tela_botanica.del.client.modeles.Observation;
import org.tela_botanica.del.client.modeles.PossesseurDeCommentaires;
import org.tela_botanica.del.client.modeles.Utilisateur;
import org.tela_botanica.del.client.navigation.evenement.BusEvenementiel;
import org.tela_botanica.del.client.navigation.evenement.ajoutcommentaire.EvenementAjoutCommentaire;
import org.tela_botanica.del.client.services.rest.CommentaireService;
import org.tela_botanica.del.client.services.rest.CommentaireServiceConcret;
import org.tela_botanica.del.client.services.rest.async.CommentaireCallback;
import org.tela_botanica.del.client.services.rest.async.CommentaireCallback.ModeRequete;
 
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.event.dom.client.HasClickHandlers;
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.ui.HasText;
import com.google.gwt.user.client.ui.HasWidgets;
import com.google.gwt.user.client.ui.IsWidget;
27,7 → 32,7
// necessité de separer les deux objets metiers
private Observation observation;
 
private PossesseurDeCommentaires possesseurDeCommentaires;
private InterventionForum possesseurDeCommentaires;
 
public interface Vue extends IsWidget {
 
61,6 → 66,7
}
 
private Vue vue;
private CommentaireService commentaireService = new CommentaireServiceConcret();
 
public FormulaireCommentairePresenteur(Observation observation, Vue vue) {
this.observation = observation;
67,7 → 73,7
this.vue = vue;
}
 
public FormulaireCommentairePresenteur(PossesseurDeCommentaires possesseurDeCommentaires, Vue vue) {
public FormulaireCommentairePresenteur(InterventionForum possesseurDeCommentaires, Vue vue) {
this.possesseurDeCommentaires = possesseurDeCommentaires;
this.vue = vue;
}
103,17 → 109,39
public void surValidationCommentaire() {
String texteCommentaire = vue.getCommentaire().getText();
String idUtilisateur = null;
if(CacheClient.getInstance().getUtilisateur().estIdentifie()) {
idUtilisateur = CacheClient.getInstance().getUtilisateur().getId();
}
 
Contributeur contributeur = new Contributeur(vue.getNom(), vue.getPrenom(), vue.getCourriel());
Commentaire commentaire = new Commentaire(contributeur, new Date(), texteCommentaire);
 
Contributeur contributeur = new Contributeur(idUtilisateur, vue.getNom(), vue.getPrenom(), vue.getCourriel());
final Commentaire commentaire = new Commentaire(contributeur, new Date(), texteCommentaire);
if (observation != null) {
observation.getInterventionsForum().add(commentaire);
commentaire.setObservation(observation);
commentaire.setParent(null);
} else if (possesseurDeCommentaires != null) {
possesseurDeCommentaires.getListeCommentaires().add(commentaire);
commentaire.setObservation(CacheClient.getInstance().getObservationCourante());
commentaire.setParent(possesseurDeCommentaires);
}
 
BusEvenementiel.getInstance().fireEvent(new EvenementAjoutCommentaire(commentaire));
commentaireService.ajouterCommentaire(commentaire, new CommentaireCallback(ModeRequete.AJOUT) {
@Override
public void surRetour(String messageRetour) {
if (observation != null) {
observation.getInterventionsForum().add(commentaire);
} else if (possesseurDeCommentaires != null) {
possesseurDeCommentaires.getListeCommentaires().add(commentaire);
}
BusEvenementiel.getInstance().fireEvent(new EvenementAjoutCommentaire(commentaire));
}
@Override
public void surErreur(String messageErreur) {
Window.alert(messageErreur);
}
});
}
 
private boolean validerNomPrenom() {