21,7 → 21,6 |
|
private List<Protocole> listeProtocoles; |
|
private String home = ConstantesNavigation.PAGE_RECHERCHE_OBSERVATIONS; |
private Observation observationCourante; |
private Image imageCourante; |
private String taxonPourRechercheEflore; |
39,12 → 38,14 |
private InformationsRecherche informationsRechercheImage; |
private InformationsRecherche informationsRechercheObservation; |
private Utilisateur utilisateur; |
private String pageCourante = home; |
private String pageCourante = ""; |
private String statut; |
private String[] statutsPossibles = {ConstantesNavigation.PARAM_TYPE_TOUS, |
ConstantesNavigation.PARAM_TYPE_A_DETERMINER, |
ConstantesNavigation.PARAM_TYPE_EN_DISCUSSION, |
ConstantesNavigation.PARAM_TYPE_VALIDEES}; |
private String[] statutsPossibles = { |
ConstantesNavigation.PARAM_TYPE_TOUS, |
ConstantesNavigation.PARAM_TYPE_A_DETERMINER, |
ConstantesNavigation.PARAM_TYPE_EN_DISCUSSION, |
ConstantesNavigation.PARAM_TYPE_VALIDEES |
}; |
|
public void supprimerFiltreStatut() { |
this.statut = null; |
73,20 → 74,18 |
} |
|
public void initialiserAvecParametres() { |
String urlCourante = Window.Location.getHref(); |
Config config = new Config(); |
String urlAppliImg = config.getUrl("pictoflora"); |
|
if(Location.getPath().contains("identiplante")) { |
if(Location.getHash().contains(ConstantesNavigation.PAGE_VALIDATION)) { |
setPageCourante(ConstantesNavigation.PAGE_VALIDATION+"~"+URLUtils.getURLSpecialParameterValue()); |
} else { |
setPageCourante(ConstantesNavigation.PAGE_RECHERCHE_OBSERVATIONS); |
} |
} else if(Location.getPath().contains("pictoflora")) { |
if(Location.getHash().contains(ConstantesNavigation.PAGE_VALIDATION_PICTOFLORA)) { |
setPageCourante(ConstantesNavigation.PAGE_VALIDATION+URLUtils.getURLSpecialParameterValue()); |
} else { |
setPageCourante(ConstantesNavigation.PAGE_RECHERCHE_IMAGES); |
} |
if (Location.getHash().contains(ConstantesNavigation.PAGE_DETAIL_OBS)) { |
setPageCourante(ConstantesNavigation.PAGE_DETAIL_OBS+"~"+URLUtils.getURLSpecialParameterValue()); |
} else if (Location.getHash().contains(ConstantesNavigation.PAGE_DETAIL_IMG)) { |
setPageCourante(ConstantesNavigation.PAGE_DETAIL_IMG+"~"+URLUtils.getURLSpecialParameterValue()); |
} else { |
setPageCourante(""); |
} |
GWT.log("initialiserAvecParametres:"+getPageCourante()); |
|
String rechercheLibre = Location.getParameter("masque"); |
String famille = Location.getParameter("masque.famille"); |
106,7 → 105,7 |
String page = Location.getParameter("page"); |
Integer pageInt = null; |
try { |
pageInt = Integer.parseInt(page); |
pageInt = Integer.parseInt(page); |
} catch (Exception e) { |
pageInt = null; |
} |
113,9 → 112,9 |
|
String pas = Location.getParameter("pas"); |
Integer pasInt = null; |
if(pas != null) { |
if (pas != null) { |
try { |
pasInt = Integer.parseInt(pas); |
pasInt = Integer.parseInt(pas); |
} catch (Exception e) { |
pasInt = null; |
} |
132,64 → 131,70 |
rechercheParArguments.setDate(date); |
rechercheParArguments.setTag(tag); |
|
if(protocole != null && !protocole.equals("")) { |
if (protocole != null && !protocole.equals("")) { |
CacheClient.getInstance().setIdProtocoleEnAttente(protocole); |
rechercheParArguments.setIdProtocoleSelectionne(protocole); |
} else if(URLUtils.getURLSpecialParameterValue() != null) { |
} else if (URLUtils.getURLSpecialParameterValue() != null) { |
CacheClient.getInstance().setIdProtocoleEnAttente(URLUtils.getURLSpecialParameterValue()); |
rechercheParArguments.setIdProtocoleSelectionne(URLUtils.getURLSpecialParameterValue()); |
} |
|
if(pasInt != null) setPasPagination(pasInt); |
|
if(pageCourante.equals(ConstantesNavigation.PAGE_RECHERCHE_IMAGES)) { |
if (pasInt != null) { |
setPasPagination(pasInt); |
} |
|
if (urlCourante.contains(urlAppliImg)) { |
rechercheParArguments.setMotClefCel(tagCel); |
rechercheParArguments.setMotClefDel(tagDel); |
if(pageInt != null) setPageCouranteRechercheImages(pageInt); |
if (pageInt != null) { |
setPageCouranteRechercheImages(pageInt); |
} |
} else { |
if(pageInt != null) setPageCouranteRechercheObservations(pageInt); |
if (pageInt != null) { |
setPageCouranteRechercheObservations(pageInt); |
} |
} |
|
String tri = Location.getParameter("tri"); |
String ordre = Location.getParameter("ordre"); |
|
if(tri != null) { |
if (tri != null) { |
ModeTri modeTri = ModeTri.TRI_ASCENDANT; |
if(ordre != null && ordre.equals("asc")) { |
if (ordre != null && ordre.equals("asc")) { |
modeTri = ModeTri.TRI_ASCENDANT; |
} |
|
if(ordre != null && ordre.equals("desc")) { |
if (ordre != null && ordre.equals("desc")) { |
modeTri = ModeTri.TRI_DESCENDANT; |
} |
|
if(tri.equals("votes")) { |
if (tri.equals("votes")) { |
rechercheParArguments.setTriParNbVotes(modeTri); |
} |
|
if(tri.equals("tags")) { |
if (tri.equals("tags")) { |
rechercheParArguments.setTriParNbTags(modeTri); |
} |
|
if(tri.equals("date_observation")) { |
if (tri.equals("date_observation")) { |
rechercheParArguments.setTriParDate(modeTri); |
} |
} |
} |
|
rechercheParArguments.setMotClef(tag); |
|
// si le référentiel est passé dans l'url alors il ne doit pas être modifiable |
if(referentiel != null && !referentiel.equals("")) { |
if (referentiel != null && !referentiel.equals("")) { |
setReferentielCourant(referentiel); |
rechercheParArguments.setReferentiel(referentiel); |
referentielNonModifiable = true; |
} |
|
if(Location.getParameterMap().size() == 0) { |
if (Location.getParameterMap().size() == 0) { |
// par défaut l'application s'ouvre sur l'onglet à déterminer |
statut = ConstantesNavigation.PARAM_TYPE_DEFAUT; |
} else { |
if(Arrays.asList(statutsPossibles).contains(statutParam)) { |
if (Arrays.asList(statutsPossibles).contains(statutParam)) { |
statut = statutParam; |
} else { |
statut = ConstantesNavigation.PARAM_TYPE_DEFAUT; |
222,12 → 227,11 |
} |
|
public void setHome(String home) { |
this.home = home; |
setPageCourante(home); |
} |
|
public String getHome() { |
return home; |
return ""; |
} |
|
public Observation getObservationCourante() { |
307,7 → 311,7 |
} |
|
public InformationsRecherche getInformationsRechercheImage() { |
if(informationsRechercheImage == null) { |
if (informationsRechercheImage == null) { |
informationsRechercheImage = new InformationsRecherche(); |
} |
return informationsRechercheImage; |
314,7 → 318,7 |
} |
|
public InformationsRecherche getInformationsRechercheObservation() { |
if(informationsRechercheObservation == null) { |
if (informationsRechercheObservation == null) { |
informationsRechercheObservation = new InformationsRecherche(); |
} |
return informationsRechercheObservation; |
353,57 → 357,48 |
} |
|
public String genererUrlCourante() { |
String url = Window.Location.getHref(); |
String urlCourante = Window.Location.getHref(); |
Config config = new Config(); |
String urlAppliObs = config.getUrl("identiplante"); |
String urlAppliImg = config.getUrl("pictoflora"); |
String url = urlCourante; |
String arguments = ""; |
String argumentsRecherche = ""; |
|
if (getPageCourante().equals(ConstantesNavigation.PAGE_RECHERCHE_IMAGES)) { |
|
//GWT.log("URL courante:"+urlCourante); |
//GWT.log("IdentiPlante:"+urlCourante.contains(urlAppliObs)); |
//GWT.log("PictoFlora:"+urlCourante.contains(urlAppliImg)); |
|
if (urlCourante.contains(urlAppliImg)) { |
InformationsRecherche infoRecherche; |
infoRecherche = getInformationsRechercheImage(); |
|
if (CacheClient.getInstance().getProtocoleCourant() != null) { |
infoRecherche.setIdProtocoleSelectionne(""+CacheClient.getInstance().getProtocoleCourant().getId()); |
infoRecherche.setIdProtocoleSelectionne("" + CacheClient.getInstance().getProtocoleCourant().getId()); |
} |
argumentsRecherche = infoRecherche.versChaineRequete(); |
|
if(!GWT.isScript()) { |
argumentsRecherche += "&gwt.codesvr="+Location.getParameter("gwt.codesvr")+""; |
} |
|
argumentsRecherche += (argumentsRecherche.isEmpty()) ? "" : "&"; |
argumentsRecherche += "page="+getPageCouranteRechercheImage()+"&pas="+getPasPagination(); |
|
argumentsRecherche = (argumentsRecherche.isEmpty()) ? argumentsRecherche : "?" + argumentsRecherche; |
arguments = argumentsRecherche; |
url = new Config().getUrl("pictoflora") + arguments; |
url += "#"+ConstantesNavigation.PAGE_RECHERCHE_IMAGES; |
} else if (getPageCourante().equals(ConstantesNavigation.PAGE_RECHERCHE_OBSERVATIONS) || getPageCourante().equals("")) { |
|
arguments = infoRecherche.versChaineRequete(); |
arguments += (arguments.isEmpty()) ? "" : "&"; |
arguments += "page="+getPageCouranteRechercheImage()+"&pas="+getPasPagination(); |
|
url = config.getUrl("pictoflora"); |
} else if (urlCourante.contains(urlAppliObs)) { |
InformationsRecherche infoRecherche; |
infoRecherche = getInformationsRechercheObservation(); |
argumentsRecherche = "masque.type="+statut; |
argumentsRecherche += "&page="+getPageCouranteRechercheObservations()+"&pas="+getPasPagination(); |
argumentsRecherche += "&"+infoRecherche.versChaineRequete(); |
|
if(!GWT.isScript()) { |
argumentsRecherche += "&gwt.codesvr="+Location.getParameter("gwt.codesvr")+""; |
} |
arguments = "masque.type="+statut; |
arguments += "&page="+getPageCouranteRechercheObservations()+"&pas="+getPasPagination(); |
arguments += "&"+infoRecherche.versChaineRequete(); |
|
arguments = "?"+argumentsRecherche; |
url = new Config().getUrl("identiplante") + arguments; |
url += "#"+ConstantesNavigation.PAGE_RECHERCHE_OBSERVATIONS; |
} else if (getPageCourante().contains(ConstantesNavigation.PAGE_VALIDATION) || getPageCourante().contains(ConstantesNavigation.PAGE_VALIDATION_PICTOFLORA)) { |
url = new Config().getUrl("del"); |
if(getPageCourante().contains(ConstantesNavigation.PAGE_VALIDATION)) { |
url = new Config().getUrl("identiplante"); |
} else { |
url = new Config().getUrl("pictoflora"); |
} |
if(!GWT.isScript()) { |
url += "?gwt.codesvr="+Location.getParameter("gwt.codesvr"); |
} |
url += "#"+getPageCourante(); |
url = config.getUrl("identiplante"); |
} |
|
if (!GWT.isScript()) { |
arguments += "&gwt.codesvr="+Location.getParameter("gwt.codesvr")+""; |
} |
arguments = (arguments.isEmpty()) ? "" : "?" + arguments; |
String signet = getPageCourante().equals("") ? "" : "#" + getPageCourante(); |
url += arguments + signet; |
|
// remplacements batards pour corriger l'url |
// TODO: factoriser toute la fonction |
url = url.replaceAll("&#", "#"); |
410,10 → 405,11 |
url = url.replaceAll("&&", "&"); |
url = url.replaceAll("\\?&", "?"); |
|
//GWT.log("URL de sortie:"+url); |
|
return url; |
} |
|
|
public void mettreAjourUrlCourante() { |
mettreAJourUrlCouranteSansRecharger(genererUrlCourante()); |
} |
421,8 → 417,8 |
private static native void mettreAJourUrlCouranteSansRecharger(String nouvelleUrl) /*-{ |
// javascript double negative trick |
// pour plus d'info http://stackoverflow.com/questions/4686583/can-someone-explain-this-double-negative-trick |
if(!!($wnd.history && $wnd.history.pushState)) { |
$wnd.history.pushState(nouvelleUrl, "", nouvelleUrl); |
} |
}-*/; |
if (!!($wnd.history && $wnd.history.pushState)) { |
$wnd.history.pushState(nouvelleUrl, "", nouvelleUrl); |
} |
}-*/; |
} |