Subversion Repositories eFlore/Applications.del

Compare Revisions

Ignore whitespace Rev 1829 → Rev 1830

/trunk/src/org/tela_botanica/del/client/vues/identiplante/plateformedetermination/IdentiplanteDeterminationVue.java
23,9 → 23,6
Label nomTaxonProbable, lienOuvrages, lienEflore, lienBonnier, lienCles;
@UiField
Button boutonValidationTaxon;
@UiField
Hyperlink lienRetour;
@UiField
110,21 → 107,6
public HasWidgets getZoneRss() {
return zoneRss;
}
@Override
public HasClickHandlers getBoutonValidationTaxon() {
return boutonValidationTaxon;
}
@Override
public void cacherBoutonValidationTaxon() {
boutonValidationTaxon.setVisible(false);
}
@Override
public void afficherBoutonValidationTaxon() {
boutonValidationTaxon.setVisible(true);
}
 
@Override
public void viderMetadonnees() {
140,5 → 122,10
public void afficherZoneActionsObs() {
zoneActionsObs.setVisible(true);
}
 
@Override
public void viderForum() {
forum.clear();
}
}
 
/trunk/src/org/tela_botanica/del/client/vues/identiplante/plateformedetermination/IdentiplanteDeterminationVue.ui.xml
33,7 → 33,6
<g:HTMLPanel styleName="{style.taxonProbable}">
<g:Label styleName="gauche" text="{constants.determinationPlusProbable}" />
<g:Label ui:field="nomTaxonProbable" styleName="gauche gras {style.nomTaxonProbable}"/>
<g:Button ui:field="boutonValidationTaxon" text="{constants.accepter}" styleName="droite bouton {style.boutonValiderTaxon}"/>
<g:HTML><br /></g:HTML>
</g:HTMLPanel>
<g:VerticalPanel ui:field="forum" />
/trunk/src/org/tela_botanica/del/client/vues/identiplante/plateformedetermination/IdentiplanteDeterminationPresenteur.java
37,6 → 37,8
import org.tela_botanica.del.client.navigation.evenement.changementimagevalidation.GestionnaireEvenementChangementImageValidation;
import org.tela_botanica.del.client.navigation.evenement.depublierObs.EvenementDepublierObs;
import org.tela_botanica.del.client.navigation.evenement.depublierObs.GestionnaireEvenementDepublierObs;
import org.tela_botanica.del.client.navigation.evenement.validationPropositionDetermination.EvenementValidationPropositionDetermination;
import org.tela_botanica.del.client.navigation.evenement.validationPropositionDetermination.GestionnaireEvenementValidationPropositionDetermination;
import org.tela_botanica.del.client.navigation.evenement.voteDetermination.EvenementVoteDetermination;
import org.tela_botanica.del.client.navigation.evenement.voteDetermination.GestionnaireEvenementVoteDetermination;
import org.tela_botanica.del.client.services.CalculVoteDeterminationService;
69,19 → 71,19
* Vue de l'interface de détermination
* */
public interface Vue extends IsWidget {
public Panel getForum();
public HasWidgets getForum();
 
public Panel getDetailImageObservation();
public HasWidgets getDetailImageObservation();
 
public Panel getFormulaireRechercheEflore();
public HasWidgets getFormulaireRechercheEflore();
 
public Button getBoutonAjoutProposition();
public HasClickHandlers getBoutonAjoutProposition();
 
public Button getBoutonAjoutCommentaire();
public HasClickHandlers getBoutonAjoutCommentaire();
 
public Button getBoutonAjoutPropositionBas();
public HasClickHandlers getBoutonAjoutPropositionBas();
 
public Button getBoutonAjoutCommentaireBas();
public HasClickHandlers getBoutonAjoutCommentaireBas();
public HasClickHandlers getBoutonDepublierObs();
 
99,14 → 101,10
public HasWidgets getZoneRss();
 
HasClickHandlers getBoutonValidationTaxon();
 
void cacherBoutonValidationTaxon();
 
void afficherBoutonValidationTaxon();
 
public void viderMetadonnees();
public void viderForum();
void afficherZoneActionsObs();
void cacherZoneActionsObs();
176,41 → 174,12
if (votesOrdonnes.size() > 0) {
nomTaxon = votesOrdonnes.get(0).getIntituleAssocie();
propositionPlusPopulaire = votesOrdonnes.get(0).getPropositionAssociee();
if (doitAfficherBoutonValidation(votesOrdonnes)) {
vue.afficherBoutonValidationTaxon();
} else {
vue.cacherBoutonValidationTaxon();
}
}
vue.afficherNomTaxonProbable(nomTaxon);
}
}
private boolean doitAfficherBoutonValidation(List<MoyenneVote> votesOrdonnes) {
boolean estPropositionRetenue = votesOrdonnes.get(0).getPropositionAssociee().estPropositionRetenue();
String numNomProp = votesOrdonnes.get(0).getPropositionAssociee().getNumNomenclatural();
String referentielProp = votesOrdonnes.get(0).getPropositionAssociee().getReferentiel();
boolean aUnNumNom = (numNomProp != null && !numNomProp.trim().equals("") && !numNomProp.trim().equals("0"));
boolean aUnReferentiel = (referentielProp != null && !referentielProp.trim().equals("") && !referentielProp.trim().equals("0"));
Utilisateur utilisateur = CacheClient.getInstance().getUtilisateur();
boolean estAuteurObservation = false;
if(utilisateur != null) {
estAuteurObservation = utilisateur.estIdentifie() && utilisateur.getId().equals(cache.getObservationCourante().getIdAuteur());
}
boolean peutValiderObservation = ModerationUtils.utilisateurPeutValiderObservation(CacheClient.getInstance().getUtilisateur(), observation);
return (peutValiderObservation || estAuteurObservation) && aUnReferentiel && aUnNumNom && !estPropositionRetenue;
}
 
public void gererEvenements() {
BusEvenementiel.getInstance().addHandler(EvenementChangementEtatUtilisateur.TYPE, new GestionnaireEvenementChangementEtatUtilisateur() {
@Override
public void onModificationEtatUtilisateur(EvenementChangementEtatUtilisateur evenementChangementEtatUtilisateur) {
calculerEtAfficherVoteDeterminationPlusPopulaire();
};
});
BusEvenementiel.getInstance().addHandler(EvenementVoteDetermination.TYPE, new GestionnaireEvenementVoteDetermination() {
@Override
301,15 → 270,6
}
});
vue.getBoutonValidationTaxon().addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
if (Window.confirm(I18n.getVocabulary().confirmationValidationDetermination())) {
validerPropositionPlusPopulaire();
}
}
});
vue.getBoutonDepublierObs().addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
334,16 → 294,14
@Override
public void onModificationEtatUtilisateur(EvenementChangementEtatUtilisateur evenementChangementEtatUtilisateur) {
afficherZoneActionsObs();
//rechargerForum();
}
});
}
private void validerPropositionPlusPopulaire() {
PropositionDeterminationServiceConcret propositionService = new PropositionDeterminationServiceConcret();
propositionPlusPopulaire.setValideePar(CacheClient.getInstance().getUtilisateur().getId());
propositionService.validerProposition(propositionPlusPopulaire, new ValidationPropositionCallback() {
BusEvenementiel.getInstance().addHandler(EvenementValidationPropositionDetermination.TYPE, new GestionnaireEvenementValidationPropositionDetermination() {
@Override
public void surRetour(String objetRetour) {
public void onValidationPropositionDetermination(EvenementValidationPropositionDetermination event) {
String observationId = URLUtils.getURLSpecialParameterValue();
observationService.getObservation(observationId, new ObservationsCallback() {
 
351,7 → 309,7
public void surRetour(ObservationServiceResultat objetRetour) {
vue.viderMetadonnees();
new MetadonneesPresenteur(new MetadonneesEnLigneVue(), cache.getObservationCourante(), ModeRecherche.MODE_OBSERVATION, false).go(vue.getMetadonnees());
calculerEtAfficherVoteDeterminationPlusPopulaire();
rechargerForum();
}
 
@Override
358,13 → 316,18
public void surErreur(String messageErreur) {
Window.alert(messageErreur);
}
});
});
}
});
}
private void rechargerForum() {
vue.viderForum();
new ForumPresenteur(new ForumVue()).go(vue.getForum());
}
private void depublierObs() {
if (avoirUtilisateurAdmin()) {
if (ModerationUtils.utilisateurPeutDepublierObs(CacheClient.getInstance().getUtilisateur())) {
GWT.log("depublierObs :"+observation.getId());
observationService.depublier(observation, new DepublicationObservationCallBack() {
380,19 → 343,10
}
private void afficherZoneActionsObs() {
if (avoirUtilisateurAdmin()) {
if (ModerationUtils.utilisateurPeutDepublierObs(CacheClient.getInstance().getUtilisateur())) {
vue.afficherZoneActionsObs();
} else {
vue.cacherZoneActionsObs();
}
}
private boolean avoirUtilisateurAdmin() {
Utilisateur utilisateur = CacheClient.getInstance().getUtilisateur();
boolean etreAdmin = false;
if (utilisateur != null) {
etreAdmin = utilisateur.estIdentifie() && utilisateur.etreAdmin();
}
return etreAdmin;
}
}