Subversion Repositories eFlore/Applications.del

Rev

Rev 1426 | Rev 1496 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1426 Rev 1467
Line 1... Line 1...
1
package org.tela_botanica.del.client.cache;
1
package org.tela_botanica.del.client.cache;
Line -... Line 2...
-
 
2
 
2
 
3
import java.util.Arrays;
Line -... Line 4...
-
 
4
import java.util.List;
3
import java.util.List;
5
 
4
 
6
import org.tela_botanica.del.client.config.Config;
5
import org.tela_botanica.del.client.gestionhistorique.ConstantesNavigation;
7
import org.tela_botanica.del.client.gestionhistorique.ConstantesNavigation;
6
import org.tela_botanica.del.client.modeles.Image;
8
import org.tela_botanica.del.client.modeles.Image;
7
import org.tela_botanica.del.client.modeles.InformationsRecherche;
9
import org.tela_botanica.del.client.modeles.InformationsRecherche;
8
import org.tela_botanica.del.client.modeles.Observation;
10
import org.tela_botanica.del.client.modeles.Observation;
Line -... Line 11...
-
 
11
import org.tela_botanica.del.client.modeles.Protocole;
-
 
12
import org.tela_botanica.del.client.modeles.Utilisateur;
9
import org.tela_botanica.del.client.modeles.Protocole;
13
 
Line 10... Line 14...
10
import org.tela_botanica.del.client.modeles.Utilisateur;
14
import com.google.gwt.core.client.GWT;
Line 11... Line 15...
11
 
15
import com.google.gwt.user.client.Window;
Line 32... Line 36...
32
	private InformationsRecherche informationsRechercheImage;
36
	private InformationsRecherche informationsRechercheImage;
33
	private InformationsRecherche informationsRechercheObservation;
37
	private InformationsRecherche informationsRechercheObservation;
34
	private Utilisateur utilisateur;
38
	private Utilisateur utilisateur;
35
	private String pageCourante = home;
39
	private String pageCourante = home;
36
	private String statut;
40
	private String statut;
-
 
41
	private String[] statutsPossibles = {ConstantesNavigation.PARAM_TYPE_TOUS, 
-
 
42
										ConstantesNavigation.PARAM_TYPE_A_DETERMINER,
-
 
43
										ConstantesNavigation.PARAM_TYPE_EN_DISCUSSION,
-
 
44
										ConstantesNavigation.PARAM_TYPE_VALIDEES};
Line 37... Line 45...
37
	
45
	
38
	public void supprimerFiltreStatut() {
46
	public void supprimerFiltreStatut() {
39
		this.statut = null;
47
		this.statut = null;
Line 73... Line 81...
73
		String tag = Location.getParameter("masque.tag");
81
		String tag = Location.getParameter("masque.tag");
74
		String tagCel = Location.getParameter("masque.tag_cel");
82
		String tagCel = Location.getParameter("masque.tag_cel");
75
		String tagDel = Location.getParameter("masque.tag_pictoflora");
83
		String tagDel = Location.getParameter("masque.tag_pictoflora");
76
		String referentiel = Location.getParameter("masque.referentiel");
84
		String referentiel = Location.getParameter("masque.referentiel");
Line -... Line 85...
-
 
85
		
-
 
86
		String statutParam = Location.getParameter("masque.type");
77
		
87
		
78
		InformationsRecherche rechercheParArguments = new InformationsRecherche();
88
		InformationsRecherche rechercheParArguments = new InformationsRecherche();
79
		rechercheParArguments.setRechercheLibre(rechercheLibre);
89
		rechercheParArguments.setRechercheLibre(rechercheLibre);
80
		rechercheParArguments.setFamille(famille);
90
		rechercheParArguments.setFamille(famille);
81
		rechercheParArguments.setTaxon(taxon);
91
		rechercheParArguments.setTaxon(taxon);
Line 87... Line 97...
87
		rechercheParArguments.setTag(tag);
97
		rechercheParArguments.setTag(tag);
88
		if(pageCourante.equals(ConstantesNavigation.PAGE_RECHERCHE_IMAGES)) {
98
		if(pageCourante.equals(ConstantesNavigation.PAGE_RECHERCHE_IMAGES)) {
89
			rechercheParArguments.setMotClefCel(tagCel);
99
			rechercheParArguments.setMotClefCel(tagCel);
90
			rechercheParArguments.setMotClefDel(tagDel);
100
			rechercheParArguments.setMotClefDel(tagDel);
91
		}
101
		}
-
 
102
		
92
		rechercheParArguments.setMotClef(tag);
103
		rechercheParArguments.setMotClef(tag);
Line 93... Line 104...
93
		
104
		
94
		// si le référentiel est passé dans l'url alors il ne doit pas être modifiable
105
		// si le référentiel est passé dans l'url alors il ne doit pas être modifiable
95
		if(referentiel != null && !referentiel.equals("")) {
106
		if(referentiel != null && !referentiel.equals("")) {
96
			setReferentielCourant(referentiel);
107
			setReferentielCourant(referentiel);
97
			rechercheParArguments.setReferentiel(referentiel);
108
			rechercheParArguments.setReferentiel(referentiel);
98
			referentielNonModifiable = true;
109
			referentielNonModifiable = true;
Line -... Line 110...
-
 
110
		}
-
 
111
		
-
 
112
		if(Location.getParameterMap().size() == 0) {
-
 
113
			// par défaut l'application s'ouvre sur l'onglet à déterminer
-
 
114
			statut = ConstantesNavigation.PARAM_TYPE_DEFAUT;
-
 
115
		} else {
-
 
116
			if(Arrays.asList(statutsPossibles).contains(statutParam)) {
-
 
117
				statut = statutParam;
-
 
118
			} else {
-
 
119
				statut = ConstantesNavigation.PARAM_TYPE_DEFAUT;
-
 
120
			}
99
		}
121
		}
100
		
122
		
101
		informationsRechercheImage = rechercheParArguments;
123
		informationsRechercheImage = rechercheParArguments;
Line 102... Line 124...
102
		informationsRechercheObservation = rechercheParArguments;
124
		informationsRechercheObservation = rechercheParArguments;
Line 241... Line 263...
241
	}
263
	}
Line 242... Line 264...
242
	
264
	
243
	public boolean getReferentielNonModifiable() {
265
	public boolean getReferentielNonModifiable() {
244
		return referentielNonModifiable;
266
		return referentielNonModifiable;
-
 
267
	}
-
 
268
	
-
 
269
	public String genererUrlCourante() {
-
 
270
		String url = Window.Location.getHref();
-
 
271
		CacheClient cache = CacheClient.getInstance();
-
 
272
		
-
 
273
		String arguments = "";
-
 
274
		String argumentsRecherche = "";
-
 
275
		if (cache.getPageCourante().equals(ConstantesNavigation.PAGE_RECHERCHE_IMAGES)) {
-
 
276
			
-
 
277
			InformationsRecherche infoRecherche;
-
 
278
			infoRecherche = cache.getInformationsRechercheImage();			
-
 
279
			argumentsRecherche = infoRecherche.versChaineRequete();
-
 
280
			
-
 
281
			if(!GWT.isScript()) {
-
 
282
				argumentsRecherche += "&gwt.codesvr="+Location.getParameter("gwt.codesvr")+"";
-
 
283
			}
-
 
284
			
-
 
285
			argumentsRecherche = (argumentsRecherche.isEmpty()) ? argumentsRecherche : "?" + argumentsRecherche;
-
 
286
			arguments = argumentsRecherche + "#" + ConstantesNavigation.PAGE_RECHERCHE_IMAGES;
-
 
287
			url = new Config().getUrl("del") + arguments;
-
 
288
 
-
 
289
			if (CacheClient.getInstance().getProtocoleCourant() != null) {
-
 
290
				url += "~"+String.valueOf(CacheClient.getInstance().getProtocoleCourant().getId());
-
 
291
			}
-
 
292
		} else if (cache.getPageCourante().equals(ConstantesNavigation.PAGE_RECHERCHE_OBSERVATIONS) || cache.getPageCourante().equals("")) {
-
 
293
			
-
 
294
			InformationsRecherche infoRecherche;
-
 
295
			infoRecherche = cache.getInformationsRechercheObservation();
-
 
296
			argumentsRecherche = "masque.type="+statut;
-
 
297
			argumentsRecherche += "&"+infoRecherche.versChaineRequete();
-
 
298
			
-
 
299
			if(!GWT.isScript()) {
-
 
300
				argumentsRecherche += "&gwt.codesvr="+Location.getParameter("gwt.codesvr")+"";
-
 
301
			}
-
 
302
			arguments = "?"+argumentsRecherche + "#" + ConstantesNavigation.PAGE_RECHERCHE_OBSERVATIONS;
-
 
303
			url = new Config().getUrl("del") + arguments;
-
 
304
		} else if (cache.getPageCourante().contains(ConstantesNavigation.PAGE_VALIDATION) || cache.getPageCourante().contains(ConstantesNavigation.PAGE_VALIDATION_PICTOFLORA)) {
-
 
305
			url = new Config().getUrl("del");
-
 
306
			if(!GWT.isScript()) {
-
 
307
				url += "?gwt.codesvr="+Location.getParameter("gwt.codesvr");
-
 
308
			}
-
 
309
			url += "#"+cache.getPageCourante();
-
 
310
		}
-
 
311
		// remplacements batards pour corriger l'url
-
 
312
		// TODO: factoriser toute la fonction 
-
 
313
		url = url.replaceAll("&#", "#");
-
 
314
		url = url.replaceAll("&&", "&");
-
 
315
		url = url.replaceAll("\\?&", "?");
-
 
316
		
-
 
317
		return url;
-
 
318
	}
-
 
319
	
-
 
320
	
-
 
321
	public void mettreAjourUrlCourante() {
-
 
322
		mettreAJourUrlCouranteSansRecharger(genererUrlCourante());
-
 
323
	}
-
 
324
	
-
 
325
	private static native void mettreAJourUrlCouranteSansRecharger(String nouvelleUrl) /*-{
-
 
326
    	$wnd.history.pushState(nouvelleUrl, "", nouvelleUrl);
-
 
327
	}-*/;
245
	}
328