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,19 → 109,41 |
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) { |
commentaire.setObservation(observation); |
commentaire.setParent(null); |
} else if (possesseurDeCommentaires != null) { |
commentaire.setObservation(CacheClient.getInstance().getObservationCourante()); |
commentaire.setParent(possesseurDeCommentaires); |
} |
|
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() { |
|
ValidateurChampTexteNonNul validateurNom = new ValidateurChampTexteNonNul(vue.getNomObjet()) { |