/trunk/src/org/tela_botanica/del/client/i18n/Messages.properties |
---|
8,4 → 8,8 |
#formulaire proposition determination |
propositionDejaEffectuee = Le taxon {0} a deja été proposé. Vous pouvez voter pour cette determination si vous êtes d accord avec cette proposition. |
etVotesAnonymes = Et {0} votes anonymes |
greetings = salut |
greetings = salut |
#évenements du flux personnel |
nouveauxVotes = {0} nouveaux votes |
nouveauxCommentaires = {0} nouveaux commentaires |
/trunk/src/org/tela_botanica/del/client/i18n/Vocabulary.properties |
---|
129,6 → 129,21 |
ongletAConfirmer = A confirmer |
ongletVerifiees = Vérifiées |
# Evènements vue recherche observation, flux personnel |
nouveauVote = 1 nouveau vote sur une proposition |
nouveauCommentaire = 1 nouveau commentaire |
nouvelleObservation = Vous avez publié cette observation |
nouveauCommentaireVousAObsAutre = Vous avez commenté cette observation |
nouveauCommentaireAutreSurObsVous = Un utilisateur a commenté votre observation |
nouvellePropositionVousAObsAutre = Vous avez proposé un nom pour cette observation |
nouvellePropositionAutreSurObsVous = Un utilisateur a proposé un nom pour votre observation |
nouveauVoteVousAComAutre = Vous avez voté pour une proposition |
nouveauVoteAutreSurComVous = Un utilisateur a voté pour votre proposition |
nouvelleValidationVousAPropAutre = Vous avez validé une proposition |
nouvelleValidationAutreAPropVous = Un utilisateur a validé votre proposition |
# Vue determination |
proposerSaDetermination = Proposer une détermination |
infoProposerDetermination = Pour proposer une détermination, remplissez les champs ci-dessous et cliquez sur le bouton Proposer ! |
/trunk/src/org/tela_botanica/del/client/i18n/Messages.java |
---|
18,4 → 18,7 |
String etVotesAnonymes(String nbVotes); |
String nouveauxVotes(String nbVotes); |
String nouveauxCommentaires(String nbComms); |
} |
/trunk/src/org/tela_botanica/del/client/i18n/Vocabulary.java |
---|
1824,4 → 1824,103 |
@DefaultStringValue("Indeterminée") |
@Key("indeterminee") |
String indeterminee(); |
/** |
* Translated ""1 nouveau vote sur une proposition"" |
* |
* @return translated ""1 nouveau vote sur une proposition"" |
*/ |
@DefaultStringValue("1 nouveau vote sur une proposition") |
@Key("nouveauVote") |
String nouveauVote(); |
/** |
* Translated "1 nouveau commentaire" |
* |
* @return translated "1 nouveau commentaire" |
*/ |
@DefaultStringValue("1 nouveau commentaire") |
@Key("nouveauCommentaire") |
String nouveauCommentaire(); |
/** |
* Translated "Nouvelle observation" |
* |
* @return translated "Nouvelle observation" |
*/ |
@DefaultStringValue("Nouvelle observation") |
@Key("nouvelleObservation") |
String nouvelleObservation(); |
/** |
* Translated "Vous avez commenté cette observation" |
* |
* @return translated "Vous avez commenté cette observation" |
*/ |
@DefaultStringValue("Vous avez commenté cette observation") |
@Key("nouveauCommentaireVousAObsAutre") |
String nouveauCommentaireVousAObsAutre(); |
/** |
* Translated "Un utilisateur a commenté votre observation" |
* |
* @return translated "Un utilisateur a commenté votre observation" |
*/ |
@DefaultStringValue("Un utilisateur a commenté votre observation") |
@Key("nouveauCommentaireAutreSurObsVous") |
String nouveauCommentaireAutreSurObsVous(); |
/** |
* Translated "Vous avez proposé un nom pour cette observation" |
* |
* @return translated "Vous avez proposé un nom pour cette observation" |
*/ |
@DefaultStringValue("Vous avez proposé un nom pour cette observation") |
@Key("nouvellePropositionVousAObsAutre") |
String nouvellePropositionVousAObsAutre(); |
/** |
* Translated "Un utilisateur a proposé un nom pour votre observation" |
* |
* @return translated "Un utilisateur a proposé un nom pour votre observation" |
*/ |
@DefaultStringValue("Un utilisateur a proposé un nom pour votre observation") |
@Key("nouvellePropositionAutreSurObsVous") |
String nouvellePropositionAutreSurObsVous(); |
/** |
* Translated "Vous avez voté pour une proposition" |
* |
* @return translated "Vous avez voté pour une proposition" |
*/ |
@DefaultStringValue("Vous avez voté pour une proposition") |
@Key("nouveauVoteVousAComAutre") |
String nouveauVoteVousAComAutre(); |
/** |
* Translated "Un utilisateur a voté pour votre proposition" |
* |
* @return translated "Un utilisateur a voté pour votre proposition" |
*/ |
@DefaultStringValue("Un utilisateur a voté pour votre proposition") |
@Key("nouveauVoteAutreSurComVous") |
String nouveauVoteAutreSurComVous(); |
/** |
* Translated "Vous avez validé une proposition" |
* |
* @return translated "Vous avez validé une proposition" |
*/ |
@DefaultStringValue("Vous avez validé une proposition") |
@Key("nouvelleValidationVousAPropAutre") |
String nouvelleValidationVousAPropAutre(); |
/** |
* Translated "Un utilisateur a validé votre proposition" |
* |
* @return translated "Un utilisateur a validé votre proposition" |
*/ |
@DefaultStringValue("Un utilisateur a validé votre proposition") |
@Key("nouvelleValidationAutreAPropVous") |
String nouvelleValidationAutreAPropVous(); |
} |
/trunk/src/org/tela_botanica/del/client/utils/UtilitairesServiceResultat.java |
---|
106,6 → 106,16 |
observation.setMotsClefs(parserMotsCles(UtilitairesServiceResultat.getValeurOuVide(observationJson, "mots_cles_texte"))); |
JSONValue propositions = observationJson.get("commentaires"); |
JSONValue evenements = observationJson.get("evenements"); |
List<String> evenementsObs = new ArrayList<String>(); |
if (evenements != null && evenements.isArray() != null) { |
JSONArray evenementsTab = evenements.isArray(); |
for (int i = 0; i < evenementsTab.size(); i++) { |
evenementsObs.add(evenementsTab.get(i).isString().stringValue()); |
} |
} |
observation.setEvenementsAssocies(evenementsObs); |
boolean creerPropositionAPartirObs = true; |
boolean propositionInitialeExiste = false; |
PropositionDetermination propositionPotentiellementInitiale = null; |
483,8 → 493,14 |
adminNiveau = utilisateurJson.get("admin").isString().stringValue(); |
} |
String nbEvtsUtilisateur = utilisateurJson.get("nb_evenements").isString().stringValue(); |
String dateDerniereConsultationEvts = utilisateurJson.get("date_derniere_consultation_evenements").isString().stringValue(); |
utilisateur = new Utilisateur(sessionId, idUtilisateur, prenomUtilisateur, nomUtilisateur, |
courrielUtilisateur, mdpHashUtilisateur, adminNiveau); |
utilisateur.setNbEvenements(nbEvtsUtilisateur); |
utilisateur.setDateDerniereConsultationEvenements(dateDerniereConsultationEvts); |
} else { |
utilisateur = new Utilisateur(sessionId, idUtilisateur); |
} |
/trunk/src/org/tela_botanica/del/client/utils/StringUtils.java |
---|
1,5 → 1,7 |
package org.tela_botanica.del.client.utils; |
import org.tela_botanica.del.client.i18n.I18n; |
import com.google.gwt.i18n.client.NumberFormat; |
public class StringUtils { |
46,4 → 48,56 |
return NumberFormat.getFormat(patternNb.toString()).format(valeur); |
} |
public static String getCorrespondanceChaineEvenementObs(String evenement, int nb) { |
String trad = ""; |
// Arghhhh pourquoi on ne peut pas faire de switch sur une string !!!!!! |
// arggh arrrghghhhhhh |
if(evenement.equals("nouveau_vote")) { |
trad = nb > 1 ? I18n.getMessages().nouveauxVotes(nb+"") : I18n.getVocabulary().nouveauVote(); |
} |
if(evenement.equals("nouveau_commentaire")) { |
trad = nb > 1 ? I18n.getMessages().nouveauxCommentaires(nb+"") : I18n.getVocabulary().nouveauCommentaire(); |
} |
if(evenement.equals("nouvelle_observation")) { |
trad = I18n.getVocabulary().nouvelleObservation(); |
} |
if(evenement.equals("nouveau_commentaire_vous_a_obs_autre")) { |
trad = I18n.getVocabulary().nouveauCommentaireVousAObsAutre(); |
} |
if(evenement.equals("nouveau_commentaire_autre_sur_obs_vous")) { |
trad = I18n.getVocabulary().nouveauCommentaireAutreSurObsVous(); |
} |
if(evenement.equals("nouvelle_proposition_vous_a_obs_autre")) { |
trad = I18n.getVocabulary().nouvellePropositionVousAObsAutre(); |
} |
if(evenement.equals("nouvelle_proposition_autre_sur_obs_vous")) { |
trad = I18n.getVocabulary().nouvellePropositionAutreSurObsVous(); |
} |
if(evenement.equals("nouveau_vote_vous_a_com_autre")) { |
trad = I18n.getVocabulary().nouveauVoteVousAComAutre(); |
} |
if(evenement.equals("nouveau_vote_autre_sur_com_vous")) { |
trad = I18n.getVocabulary().nouveauVoteAutreSurComVous(); |
} |
if(evenement.equals("nouvelle_validation_vous_a_prop_autre")) { |
trad = I18n.getVocabulary().nouvelleValidationVousAPropAutre(); |
} |
if(evenement.equals("nouvelle_validation_autre_sur_prop_vous")) { |
trad = I18n.getVocabulary().nouvelleValidationAutreAPropVous(); |
} |
return trad; |
} |
} |
/trunk/src/org/tela_botanica/del/client/vues/identiplante/resultats/observations/ObservationVue.java |
---|
25,7 → 25,7 |
@UiField |
Panel determinationsPanel, imagesPanel, metadonnees; |
@UiField Label nomEspece; |
@UiField Label nomEspece, messageEvenements; |
public ObservationVue() { |
78,4 → 78,18 |
boutonPlusDeDetails.setText(boutonPlusDeDetails.getText()+" ("+nbCommentaires+")"); |
} |
@Override |
public void afficherEvenementsObservation(String evenementsObs) { |
messageEvenements.setText(evenementsObs); |
messageEvenements.setVisible(true); |
} |
public void cacherEvenementsObservation() { |
messageEvenements.setVisible(false); |
} |
@Override |
public void mettreEnValeurEvenementsObs() { |
messageEvenements.addStyleName("evenementsNouveaux"); |
} |
} |
/trunk/src/org/tela_botanica/del/client/vues/identiplante/resultats/observations/observation.css |
---|
98,4 → 98,12 |
} |
.plusDeDetails { |
width: 130px; |
} |
.evenements { |
background-color: #eaedcd; |
border: 1px solid #eaedcd; |
border-radius: 5px; |
margin-bottom: 3px; |
padding: 4px; |
font-size: 14px; |
} |
/trunk/src/org/tela_botanica/del/client/vues/identiplante/resultats/observations/ObservationVue.ui.xml |
---|
9,6 → 9,7 |
<ui:style src="observation.css" /> |
<g:HTMLPanel styleName="{style.ligneObservation} limiteMin"> |
<g:Label styleName="{style.evenements}" ui:field="messageEvenements"></g:Label> |
<g:HTMLPanel styleName="gauche ombre-faible arrondi {style.observation}"> |
<g:HTMLPanel styleName="colonne {style.colonneImages}"> |
<g:Label ui:field="nomEspece" styleName="{style.nomEspece}"></g:Label> |
/trunk/src/org/tela_botanica/del/client/vues/identiplante/resultats/observations/ObservationPresenteur.java |
---|
1,6 → 1,9 |
package org.tela_botanica.del.client.vues.identiplante.resultats.observations; |
import java.util.HashMap; |
import java.util.Iterator; |
import java.util.List; |
import java.util.Map; |
import org.tela_botanica.del.client.cache.CacheClient; |
import org.tela_botanica.del.client.composants.metadonnees.MetadonneesPresenteur; |
27,9 → 30,12 |
import org.tela_botanica.del.client.gestionhistorique.ConstantesNavigation; |
import org.tela_botanica.del.client.services.rest.CommentaireServiceConcret; |
import org.tela_botanica.del.client.services.rest.PropositionDeterminationServiceConcret; |
import org.tela_botanica.del.client.utils.StringUtils; |
import org.tela_botanica.del.client.vues.identiplante.resultats.observationdeterminations.ObservationDeterminationPresenteur; |
import org.tela_botanica.del.client.vues.identiplante.resultats.observationdeterminations.ObservationDeterminationVue; |
import com.gargoylesoftware.htmlunit.html.Util; |
import com.google.gwt.core.shared.GWT; |
import com.google.gwt.event.dom.client.ClickEvent; |
import com.google.gwt.event.dom.client.ClickHandler; |
import com.google.gwt.event.dom.client.HasClickHandlers; |
56,6 → 62,12 |
public HasClickHandlers getBoutonAjoutCommentaire(); |
public HasClickHandlers getBoutonPlusDeDetails(); |
public void afficherEvenementsObservation(String evenementsObs); |
public void cacherEvenementsObservation(); |
public void mettreEnValeurEvenementsObs(); |
} |
private Vue vue; |
82,9 → 94,47 |
observationDeterminationPresenteur.go(vue.getDeterminationsPanel()); |
vue.setNomEspece(observation.getNomRetenu()); |
vue.setNbCommentaires(observation.getNbCommentaires()); |
gererAffichageEvenementsObs(); |
gererEvenements(); |
} |
private void gererAffichageEvenementsObs() { |
if(!observation.getEvenementsAssocies().isEmpty()) { |
Map<String, Integer> nbEventsParEvent = new HashMap<String, Integer>(); |
List<String> evts = observation.getEvenementsAssocies(); |
GWT.log("Evenements pour l'obs "+observation.getId()); |
GWT.log(observation.getEvenementsAssocies().size()+" evenements dans la liste"); |
for (Iterator<String> iterator = evts.iterator(); iterator.hasNext();) { |
String evenement = iterator.next(); |
if(nbEventsParEvent.containsKey(evenement)) { |
Integer nbEvent = nbEventsParEvent.get(evenement); |
nbEvent++; |
nbEventsParEvent.put(evenement, nbEvent); |
GWT.log("ajout à l'évènement "+evenement+" "+(nbEvent)); |
} else { |
GWT.log("nouvel évènement "+evenement); |
nbEventsParEvent.put(evenement, 1); |
} |
GWT.log("vérif évenement "+evenement+" "+nbEventsParEvent.get(evenement)); |
} |
StringBuilder stb = new StringBuilder(); |
for (Iterator<String> iterator = nbEventsParEvent.keySet().iterator(); iterator.hasNext();) { |
String evtNom = (String) iterator.next(); |
stb.append(StringUtils.getCorrespondanceChaineEvenementObs(evtNom, nbEventsParEvent.get(evtNom))); |
if(iterator.hasNext()) { |
stb.append(", "); |
} |
} |
vue.afficherEvenementsObservation(stb.toString()); |
} else { |
vue.cacherEvenementsObservation(); |
} |
} |
public void go(HasWidgets composite) { |
composite.add(vue.asWidget()); |
} |
148,4 → 198,8 |
private void ajouterPropositionDetermination(PropositionDetermination propositionDetermination) { |
observationDeterminationPresenteur.setPropositions(observation.getPropositionDeterminations()); |
} |
public void mettreEnValeurEvenementsObs() { |
vue.mettreEnValeurEvenementsObs(); |
} |
} |
/trunk/src/org/tela_botanica/del/client/vues/identiplante/resultats/ResultatsIdentiplantePresenteur.java |
---|
6,13 → 6,16 |
import org.tela_botanica.del.client.composants.pagination.PaginationPresenteur; |
import org.tela_botanica.del.client.composants.pagination.PaginationVue; |
import org.tela_botanica.del.client.composants.presenteur.Presenteur; |
import org.tela_botanica.del.client.gestionhistorique.ConstantesNavigation; |
import org.tela_botanica.del.client.modeles.Image; |
import org.tela_botanica.del.client.modeles.InformationsRecherche; |
import org.tela_botanica.del.client.modeles.ModeTri; |
import org.tela_botanica.del.client.modeles.Observation; |
import org.tela_botanica.del.client.modeles.ObservationServiceResultat; |
import org.tela_botanica.del.client.modeles.Utilisateur; |
import org.tela_botanica.del.client.services.rest.ObservationService; |
import org.tela_botanica.del.client.services.rest.async.ObservationsCallback; |
import org.tela_botanica.del.client.utils.StringUtils; |
import org.tela_botanica.del.client.vues.identiplante.resultats.observations.ObservationPresenteur; |
import org.tela_botanica.del.client.vues.identiplante.resultats.observations.ObservationVue; |
69,6 → 72,8 |
void setModeTriObservation(ModeTri mode); |
void setModeTriNbCommentaires(ModeTri mode); |
void afficherCacherZoneTri(boolean afficher); |
} |
private Vue vue; |
361,6 → 366,14 |
vue.afficherElementsAucunResultatTrouve(); |
} else { |
vue.afficherElementsResultatsTrouves(); |
// Si on consulte l'onglet mon activité, on cache le tri qui n'a pas de sens ici car c'est une timeline |
vue.afficherCacherZoneTri(!cache.getFiltreStatut().equals(ConstantesNavigation.PARAM_TYPE_MONACTIVITE)); |
// S'il y a de nouveau évènements sur l'obs, elle doit être mise en valeur |
// les x premieres obs sont affichées un peu différemment (où x est le nombre de nouveaux évènements) |
int i = 0; |
int nbEvents = CacheClient.getInstance().getUtilisateur().getNbEvenementsInt(); |
for (Observation observation : resultats.getObservations()) { |
List<Image> listeImagesObs = observation.getImages(); |
Image imagePrincipale = null; |
369,8 → 382,13 |
} |
ObservationPresenteur presenteur = new ObservationPresenteur(new ObservationVue(), observation, imagePrincipale); |
presenteur.go(vue.getZoneObservations()); |
if(nbEvents != 0 && i <= nbEvents) { |
presenteur.mettreEnValeurEvenementsObs(); |
} |
i++; |
} |
} |
CacheClient.getInstance().mettreAjourUrlCourante(); |
vue.stopChargement(); |
} |
/trunk/src/org/tela_botanica/del/client/vues/identiplante/resultats/ResultatsIdentiplanteVue.java |
---|
90,6 → 90,10 |
zoneTri.setVisible(true); |
} |
public void afficherCacherZoneTri(boolean afficher) { |
zoneTri.setVisible(afficher); |
} |
public Button getTriParDateObservationAscendant() { |
return triParDateObservationAscendant; |
} |
/trunk/src/org/tela_botanica/del/client/vues/identiplante/moteur/MoteurIdentiplanteVue.java |
---|
7,6 → 7,8 |
import com.google.gwt.uibinder.client.UiBinder; |
import com.google.gwt.uibinder.client.UiField; |
import com.google.gwt.user.client.ui.Composite; |
import com.google.gwt.user.client.ui.FocusPanel; |
import com.google.gwt.user.client.ui.HTML; |
import com.google.gwt.user.client.ui.HasWidgets; |
import com.google.gwt.user.client.ui.Label; |
import com.google.gwt.user.client.ui.Panel; |
26,6 → 28,9 |
@UiField |
Label ongletTout, ongletADeterminer, ongletAConfirmer, ongletValidees; |
@UiField |
HTML ongletMonActivite; |
public HasWidgets getZoneRecherche() { |
return zoneRecherche; |
} |
61,6 → 66,16 |
} |
@Override |
public void afficherCacherOngletMonActivite(boolean afficher) { |
ongletMonActivite.setVisible(afficher); |
} |
@Override |
public HasClickHandlers getOngletMonActivite() { |
return ongletMonActivite; |
} |
@Override |
public void setOngletADeterminerActif() { |
nettoyerOngletsActifs(); |
ongletADeterminer.addStyleName("onglet-actif"); |
84,24 → 99,48 |
ongletValidees.addStyleName("onglet-actif"); |
} |
@Override |
public void setOngletMonActiviteActif() { |
nettoyerOngletsActifs(); |
ongletMonActivite.addStyleName("onglet-actif"); |
} |
public void nettoyerOngletsActifs() { |
ongletTout.removeStyleName("onglet-actif"); |
ongletADeterminer.removeStyleName("onglet-actif"); |
ongletAConfirmer.removeStyleName("onglet-actif"); |
ongletValidees.removeStyleName("onglet-actif"); |
ongletMonActivite.removeStyleName("onglet-actif"); |
} |
public void mettreAJourOngletEnFonctionDuCache() { |
String statut = CacheClient.getInstance().getFiltreStatut(); |
if (statut == null) { |
@Override |
public void setOngletActif(String onglet) { |
if (onglet == null || onglet.equals("tous")) { |
setOngletToutActif(); |
} else if (statut.equals("adeterminer")) { |
} else if (onglet.equals("adeterminer")) { |
setOngletADeterminerActif(); |
} else if (statut.equals("aconfirmer")) { |
} else if (onglet.equals("aconfirmer")) { |
setOngletAConfirmerActif(); |
} else if (statut.equals("validees")) { |
} else if (onglet.equals("validees")) { |
setOngletValideesActif(); |
} else if (onglet.equals("monactivite")) { |
setOngletMonActiviteActif(); |
} |
} |
public void mettreAJourOngletEnFonctionDuCache() { |
String statut = CacheClient.getInstance().getFiltreStatut(); |
setOngletActif(statut); |
} |
@Override |
public void afficherNbEvenements(String nbEvenements) { |
String HtmlIndication = "<div class=\"nbEvenementsMonActivite\">"+nbEvenements+"</div>"; |
ongletMonActivite.setHTML(HtmlIndication); |
} |
@Override |
public void cacherNbEvenements() { |
ongletMonActivite.setHTML(""); |
} |
} |
/trunk/src/org/tela_botanica/del/client/vues/identiplante/moteur/MoteurIdentiplanteVue.ui.xml |
---|
19,6 → 19,8 |
<g:Label styleName="onglet" text="{constants.ongletAConfirmer}" ui:field="ongletAConfirmer"></g:Label> |
<!-- terme Validées/Vérifiées sujet à changement, "Vérifiées" en texte, "Validées" partout ailleurs dans le code --> |
<g:Label styleName="onglet" text="{constants.ongletVerifiees}" ui:field="ongletValidees"></g:Label> |
<!-- terme Validées/Vérifiées sujet à changement, "Vérifiées" en texte, "Validées" partout ailleurs dans le code --> |
<g:HTML styleName="onglet ongletMonActivite" text=" " ui:field="ongletMonActivite"></g:HTML> |
</g:HTMLPanel> |
<g:HTMLPanel> |
<g:HTMLPanel ui:field="zoneResultats" /> |
/trunk/src/org/tela_botanica/del/client/vues/identiplante/moteur/MoteurIdentiplantePresenteur.java |
---|
8,6 → 8,10 |
import org.tela_botanica.del.client.composants.presenteur.Presenteur; |
import org.tela_botanica.del.client.config.Config; |
import org.tela_botanica.del.client.modeles.ModeRecherche; |
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.changementEtatUtilisateur.EvenementChangementEtatUtilisateur; |
import org.tela_botanica.del.client.navigation.evenement.changementEtatUtilisateur.GestionnaireEvenementChangementEtatUtilisateur; |
import org.tela_botanica.del.client.services.rest.ObservationService; |
import org.tela_botanica.del.client.services.rest.ObservationServiceConcret; |
import org.tela_botanica.del.client.vues.identiplante.resultats.ResultatsIdentiplantePresenteur; |
36,6 → 40,8 |
public HasClickHandlers getOngletValidees(); |
public HasClickHandlers getOngletMonActivite(); |
public void setOngletADeterminerActif(); |
public void setOngletToutActif(); |
44,6 → 50,15 |
public void setOngletValideesActif(); |
void afficherCacherOngletMonActivite(boolean afficher); |
void setOngletMonActiviteActif(); |
void setOngletActif(String onglet); |
public void afficherNbEvenements(String nbEvenements); |
public void cacherNbEvenements(); |
} |
private Vue vue; |
57,9 → 72,29 |
composite.add(vue.asWidget()); |
ajouterMoteurRechercheAvancee(); |
gererEvenements(); |
gererAffichageOngletMonActivite(); |
} |
private void gererAffichageOngletMonActivite() { |
vue.afficherCacherOngletMonActivite(CacheClient.getInstance().getUtilisateur().estIdentifie()); |
BusEvenementiel.getInstance().addHandler(EvenementChangementEtatUtilisateur.TYPE, new GestionnaireEvenementChangementEtatUtilisateur() { |
@Override |
public void onModificationEtatUtilisateur(EvenementChangementEtatUtilisateur evenementChangementEtatUtilisateur) { |
Utilisateur utilisateur = CacheClient.getInstance().getUtilisateur(); |
vue.afficherCacherOngletMonActivite(utilisateur.estIdentifie()); |
vue.cacherNbEvenements(); |
if(!utilisateur.estIdentifie()) { |
activerOnglet("tous"); |
} else { |
if(utilisateur.getNbEvenementsInt() > 0) { |
vue.afficherNbEvenements(utilisateur.getNbEvenements()); |
} |
} |
} |
}); |
} |
protected void ajouterMoteurRechercheAvancee() { |
MoteurRecherchePresenteur presenteur = new MoteurRecherchePresenteur(new MoteurRechercheVue("") { |
}, ModeRecherche.MODE_OBSERVATION) { |
81,48 → 116,52 |
protected void gererEvenements() { |
// Gestion du clic sur les onglets |
vue.getOngletTout().addClickHandler(new ClickHandler() { |
@Override |
public void onClick(ClickEvent event) { |
CacheClient.getInstance().setFiltreStatut("tous"); |
CacheClient.getInstance().setPageCouranteRechercheObservations(1); |
chercherObservations(); |
vue.setOngletToutActif(); |
activerOnglet("tous"); |
} |
}); |
vue.getOngletADeterminer().addClickHandler(new ClickHandler() { |
@Override |
public void onClick(ClickEvent event) { |
CacheClient.getInstance().setFiltreStatut("adeterminer"); |
CacheClient.getInstance().setPageCouranteRechercheObservations(1); |
chercherObservations(); |
vue.setOngletADeterminerActif(); |
activerOnglet("adeterminer"); |
} |
}); |
vue.getOngletAConfirmer().addClickHandler(new ClickHandler() { |
@Override |
public void onClick(ClickEvent event) { |
CacheClient.getInstance().setFiltreStatut("aconfirmer"); |
CacheClient.getInstance().setPageCouranteRechercheObservations(1); |
chercherObservations(); |
vue.setOngletAConfirmerActif(); |
activerOnglet("aconfirmer"); |
} |
}); |
vue.getOngletValidees().addClickHandler(new ClickHandler() { |
@Override |
public void onClick(ClickEvent event) { |
activerOnglet("validees"); |
} |
}); |
vue.getOngletMonActivite().addClickHandler(new ClickHandler() { |
@Override |
public void onClick(ClickEvent event) { |
CacheClient.getInstance().setFiltreStatut("validees"); |
CacheClient.getInstance().setPageCouranteRechercheObservations(1); |
chercherObservations(); |
vue.setOngletValideesActif(); |
// S'il y a de nouveau évènements sur l'obs, on les affichera tous sur la même page |
int nbEvents = CacheClient.getInstance().getUtilisateur().getNbEvenementsInt(); |
if(CacheClient.getInstance().getPasPagination() < nbEvents) { |
CacheClient.getInstance().setPasPagination(nbEvents); |
} |
activerOnglet("monactivite"); |
vue.cacherNbEvenements(); |
} |
}); |
} |
protected void activerOnglet(String onglet) { |
CacheClient.getInstance().setFiltreStatut(onglet); |
CacheClient.getInstance().setPageCouranteRechercheObservations(1); |
chercherObservations(); |
vue.setOngletActif(onglet); |
} |
} |
/trunk/src/org/tela_botanica/del/client/cache/CacheClient.java |
---|
46,7 → 46,8 |
ConstantesNavigation.PARAM_TYPE_TOUS, |
ConstantesNavigation.PARAM_TYPE_A_DETERMINER, |
ConstantesNavigation.PARAM_TYPE_A_CONFIRMER, |
ConstantesNavigation.PARAM_TYPE_VALIDEES |
ConstantesNavigation.PARAM_TYPE_VALIDEES, |
ConstantesNavigation.PARAM_TYPE_MONACTIVITE |
}; |
private ModeTri modeTri = ModeTri.TRI_ASCENDANT; |
/trunk/src/org/tela_botanica/del/client/gestionhistorique/ConstantesNavigation.java |
---|
10,4 → 10,5 |
public static final String PARAM_TYPE_A_CONFIRMER = "aconfirmer"; |
public static final String PARAM_TYPE_VALIDEES = "validees"; |
public static final String PARAM_TYPE_DEFAUT = PARAM_TYPE_A_DETERMINER; |
public static final String PARAM_TYPE_MONACTIVITE = "monactivite"; |
} |
/trunk/src/org/tela_botanica/del/client/modeles/Utilisateur.java |
---|
2,6 → 2,7 |
import java.util.HashMap; |
import org.tela_botanica.del.client.cache.CacheClient; |
import org.tela_botanica.del.client.i18n.I18n; |
import com.google.gwt.core.shared.GWT; |
19,6 → 20,9 |
private boolean identifie = false; |
private HashMap<String, String> preferences = null; |
private String nbEvenements = "0"; |
private String dateDerniereConsultationEvenements = null; |
public Utilisateur(String sessionId, String id) { |
this.id = id; |
this.sessionId = sessionId; |
99,4 → 103,30 |
sessionId + "\n" + adminNiveau + "\n"; |
return utilisateur; |
} |
public String getNbEvenements() { |
return nbEvenements; |
} |
public int getNbEvenementsInt() { |
int nbEvents = 0; |
try { |
nbEvents = Integer.parseInt(nbEvenements); |
} catch (Exception e) { |
nbEvents = 0; |
} |
return nbEvents; |
} |
public void setNbEvenements(String nbEvenements) { |
this.nbEvenements = nbEvenements; |
} |
public String getDateDerniereConsultationEvenements() { |
return dateDerniereConsultationEvenements; |
} |
public void setDateDerniereConsultationEvenements(String dateDerniereConsultationEvenements) { |
this.dateDerniereConsultationEvenements = dateDerniereConsultationEvenements; |
} |
} |
/trunk/src/org/tela_botanica/del/client/modeles/Observation.java |
---|
4,6 → 4,7 |
import java.util.ArrayList; |
import java.util.Iterator; |
import java.util.List; |
import java.util.Map; |
public class Observation implements Serializable { |
13,6 → 14,7 |
milieu, commentaire, dateReleve, station, referentiel, pays; |
private List<String> motsClefs = new ArrayList<String>(); |
private List<String> evenements = new ArrayList<String>(); |
// les propositions sont une liste ordonnée qui contient soit des |
// proposition de determinations, soit des commentaires |
307,4 → 309,12 |
public void setPays(String pays) { |
this.pays = pays; |
} |
public List<String> setEvenementsAssocies(List<String> evenements) { |
return this.evenements = evenements; |
} |
public List<String> getEvenementsAssocies() { |
return evenements; |
} |
} |