/trunk/src/org/tela_botanica/client/util/Analytics.java |
---|
New file |
0,0 → 1,68 |
package org.tela_botanica.client.util; |
import org.tela_botanica.client.modeles.objets.Configuration; |
import org.tela_botanica.client.util.Util; |
public class Analytics { |
/** |
* Envoie une notification à Google Analytics, comme quoi la page "url" a été visitée; |
* passer par pageVisitee() pour s'assurer qu'on est bien en prod |
* |
* @param url adresse ou surnom de la page visitée |
*/ |
public static native void pageVisiteeNatif(String url) /*-{ |
if (url == "") { |
url = $wnd.location.href; |
} |
$wnd.ga('send', 'pageview', url); |
}-*/; |
/** |
* Proxy pour evenementNatif() qui n'envoie l'événement que si on est en prod |
*/ |
public static void pageVisitee(String url) { |
if (Configuration.isProd()) { |
//Util.LogVersFirebug("Page vue: " + url); |
Analytics.pageVisiteeNatif(url); |
} else { |
} |
} |
public static void pageVisitee() { |
pageVisitee(""); |
} |
/** |
* Envoie une notification à Google Analytics, comme quoi l'événement "action" a été déclenché |
* sur la ressource "categorie" - passer par evenement() pour s'assurer qu'on |
* est bien en prod |
* |
* @param categorie - la ressource sur laquelle l'utilisateur a agi |
* @param action - ce que l'utilisateur a fait avec cette ressource |
* @param label - un bout de JSON avec des détails |
* @param nombre - nombre d'actions à enregistrer |
*/ |
public static native void evenementNatif(String categorie, String action, String label, int nombre) /*-{ |
$wnd.ga('send', 'event', categorie, action, label, nombre); |
}-*/; |
/** |
* Proxy pour evenementNatif() qui n'envoie l'événement que si on est en prod |
*/ |
public static void evenement(String categorie, String action, String label, int nombre) { |
if (Configuration.isProd()) { |
//Util.LogVersFirebug("Evenement: " + categorie + ", " + action + ", " + label + ", " + nombre); |
Analytics.evenementNatif(categorie, action, label, nombre); |
} |
} |
public static void evenement(String categorie, String action, String label) { |
Analytics.evenement(categorie, action, label, 1); |
} |
public static void evenement(String categorie, String action) { |
Analytics.evenement(categorie, action, "", 1); |
} |
} |
/trunk/src/org/tela_botanica/client/cel2.java |
---|
3,6 → 3,7 |
import org.tela_botanica.client.i18n.Msg; |
import org.tela_botanica.client.modeles.objets.Configuration; |
import org.tela_botanica.client.util.Util; |
import org.tela_botanica.client.util.Analytics; |
import com.google.gwt.ajaxloader.client.AjaxLoader; |
import com.google.gwt.ajaxloader.client.AjaxLoader.AjaxLoaderOptions; |
44,6 → 45,9 |
Configuration config = new Configuration(); |
initialiserLangue(); |
// stats |
Analytics.pageVisitee(); |
Element elem = DOM.getElementById("texte_chargement"); |
elem.setInnerText(Msg.get("chargement")); |
/trunk/src/org/tela_botanica/client/modeles/dao/TransmissionObservationAsynchroneDAO.java |
---|
4,6 → 4,7 |
import org.tela_botanica.client.modeles.objets.Configuration; |
import org.tela_botanica.client.modeles.objets.Utilisateur; |
import org.tela_botanica.client.observation.ObservationModele; |
import org.tela_botanica.client.util.Analytics; |
import com.google.gwt.http.client.Request; |
import org.tela_botanica.client.util.RequestBuilderWithCredentials; |
19,7 → 20,7 |
om = observationModele ; |
} |
public void transmettreObservations(final Rafraichissable r, String identifiant, String idsObs, boolean publier) { |
public void transmettreObservations(final Rafraichissable r, final String identifiant, final String idsObs, final boolean publier) { |
// on envoie le get asynchrone |
String post = "&transmission="; |
45,8 → 46,16 |
} |
@Override |
public void onResponseReceived(Request request, |
Response response) { |
public void onResponseReceived(Request request, Response response) { |
// stats |
String action = ""; |
if (publier) { |
action = "rendre-publiques"; |
} else { |
action = "rendre-privees"; |
} |
Analytics.evenement("observation", action, "{\"utilisateur\": \"" + identifiant + "\", \"observations\": \"" + idsObs + "\"}"); |
// Attention OK n'est pas un terme à traduire ici |
r.rafraichir("OK",true); |
} |
/trunk/src/org/tela_botanica/client/modeles/dao/ObservationAsynchroneDAO.java |
---|
6,6 → 6,7 |
import org.tela_botanica.client.modeles.objets.Observation; |
import org.tela_botanica.client.observation.ObservationModele; |
import org.tela_botanica.client.util.Util; |
import org.tela_botanica.client.util.Analytics; |
import com.google.gwt.http.client.Request; |
import org.tela_botanica.client.util.RequestBuilderWithCredentials; |
13,7 → 14,6 |
import com.google.gwt.http.client.RequestException; |
import com.google.gwt.http.client.Response; |
import com.google.gwt.http.client.URL; |
import com.google.gwt.user.client.Window; |
/** |
44,13 → 44,12 |
} |
/** |
* Envoie requete au serveur pour ajouter une observations |
* Envoie une requete au serveur pour ajouter une observation |
* |
* @param motcle |
* le mots clés à ajouter avec son parent et son identifiant |
* le mot-clé à ajouter avec son parent et son identifiant |
*/ |
public void ajouter(final Rafraichissable r, String utilisateur, final Observation obs) { |
public void ajouter(final Rafraichissable r, final String utilisateur, final Observation obs) { |
RequestBuilderWithCredentials rb = new RequestBuilderWithCredentials(RequestBuilderWithCredentials.POST,Configuration.getServiceBaseUrl()+ "/Inventory/") ; |
rb.setHeader("Content-type", "application/x-www-form-urlencoded"); |
90,6 → 89,9 |
if(response.getStatusCode() >= 400) { |
com.google.gwt.user.client.Window.alert(response.getText()); |
} |
// stats |
Analytics.evenement("observation", "creation", "{\"utilisateur\": \"" + utilisateur + "\", \"nom_sci\": \"" + obs.getNomSaisi() + "\", \"referentiel\": \"" + obs.getCodeCourtReferentielTaxo() + "\"}"); |
r.rafraichir(obs,true); |
} |
}) ; |
106,7 → 108,7 |
* le mots clés à ajouter avec son parent et son identifiant |
*/ |
public void modifier(final Rafraichissable r, String utilisateur, final Observation obs) { |
public void modifier(final Rafraichissable r, final String utilisateur, final Observation obs) { |
RequestBuilderWithCredentials rb = new RequestBuilderWithCredentials(RequestBuilderWithCredentials.POST,Configuration.getServiceBaseUrl()+ "/Inventory/" + utilisateur + "/" + obs.getNumeroOrdre()+ "/") ; |
rb.setHeader("Content-type", "application/x-www-form-urlencoded"); |
146,6 → 148,9 |
if(response.getStatusCode() >= 400) { |
com.google.gwt.user.client.Window.alert(response.getText()); |
} |
// stats |
Analytics.evenement("observation", "modification", "{\"utilisateur\": \"" + utilisateur + "\", \"nom_sci\": \"" + obs.getNomSaisi() + "\", \"referentiel\": \"" + obs.getCodeCourtReferentielTaxo() + "\"}"); |
r.rafraichir(obs,true); |
} |
158,7 → 163,7 |
} |
public void supprimer(Rafraichissable r, String identifiant, String numeroOrdre) { |
public void supprimer(Rafraichissable r, final String identifiant, final String numeroOrdre) { |
String postData = ""; |
postData += "&action=DELETE"; |
181,12 → 186,11 |
} |
@Override |
public void onResponseReceived(Request request, |
Response response) { |
public void onResponseReceived(Request request, Response response) { |
if (response.getText().equals("OK")) { |
// stats |
Analytics.evenement("observation", "suppression", "{\"utilisateur\": \"" + identifiant + "\", \"numero_ordre\": \"" + numeroOrdre + "\"}"); |
} else { |
com.google.gwt.user.client.Window.alert(Msg.get("probleme-mise-a-jour-donnees")); |
return ; |
/trunk/src/org/tela_botanica/client/modeles/objets/Configuration.java |
---|
1,18 → 1,10 |
package org.tela_botanica.client.modeles.objets; |
import java.util.ArrayList; |
import java.util.HashMap; |
import java.util.Iterator; |
import java.util.List; |
import java.util.Map; |
import com.google.gwt.i18n.client.Dictionary; |
import com.google.gwt.json.client.JSONObject; |
import com.google.gwt.json.client.JSONParser; |
import com.google.gwt.json.client.JSONValue; |
import com.google.gwt.user.client.Window; |
import com.google.gwt.user.client.Window.Location; |
import com.sun.org.apache.bcel.internal.generic.RETURN; |
/** |
* Classe chargeant certains paramètres de configuration à partir d'un fichier |
46,10 → 38,6 |
private static String lienEfloreBaseUrl; |
private static String refTax; |
private static String refTaxVersion; |
private static String licence =""; |
private static String formatOriginal = ""; |
84,6 → 72,8 |
private static String chorologieAvertissementCourriel = ""; |
private static boolean prod = false; |
/** |
* Constructeur sans argument |
*/ |
166,6 → 156,8 |
languesDisponibles = Dictionary.getDictionary("configuration").get("languesDisponibles"); |
chorologieAvertissementCourriel = Dictionary.getDictionary("configuration").get("chorologieAvertissementCourriel"); |
prod = Boolean.parseBoolean(Dictionary.getDictionary("configuration").get("prod")); |
// Pour test, l'activation de l'ajout des champs étendus est activable ou désactivable par |
// l'url |
341,4 → 333,8 |
public static String getChorologieAvertissementCourriel() { |
return chorologieAvertissementCourriel; |
} |
public static boolean isProd() { |
return prod; |
} |
} |