/trunk/jrest/services/ImportXLS.php |
---|
326,20 → 326,19 |
restore_error_handler(); |
if ($this->bilan) { |
echo implode("\n", $this->bilan) . "\n"; |
$retour = array('import_erreurs' => implode("\n", $this->bilan) . "\n"); |
} else { |
$retour = array( |
'import_obs_ajoutees' => '"'.$obs_ajouts.'"', |
'import_images_ajoutees' => '"'.$nb_images_ajoutees.'"', |
'import_mots_cles_ajoutes' => '"'.$nb_mots_cle_ajoutes.'"', |
'import_colonnes_non_traitees' => '"'.implode(', ', $filtre->exclues).'"' |
); |
} |
printf('%1$d observation%2$s ajoutée%2$s' . "\n" . |
'%3$d image%4$s attachée%4$s' . "\n" . |
(count($filtre->exclues) > 0 ? 'colonne%7$s non-traitée%7$s: %8$s' . "\n" : ''), |
$obs_ajouts, |
$obs_ajouts > 1 ? 's' : '', |
$nb_images_ajoutees, |
$nb_images_ajoutees > 1 ? 's' : '', |
$nb_mots_cle_ajoutes, |
$nb_mots_cle_ajoutes > 1 ? 's' : '', |
count($filtre->exclues) > 1 ? 's' : '', |
implode(', ', $filtre->exclues)); |
// le JSON ci-dessus est envoyé à la main car provenant d'une requête synchrone |
// certains navigateurs/plugins le modifient à la volée pour l'afficher (genre jsonView) |
// ce qui fait rater le parsing de la requete |
echo json_encode($retour); |
die(); |
} |
1099,4 → 1098,5 |
public function erreurs_stock($errno, $errstr) { |
$this->bilan[] = $errstr; |
} |
} |
} |
?> |
/trunk/src/org/tela_botanica/client/vues/observation/FormulaireImportObservationVue.java |
---|
1,9 → 1,13 |
package org.tela_botanica.client.vues.observation; |
import java.util.Iterator; |
import java.util.Map; |
import org.tela_botanica.client.i18n.Msg; |
import org.tela_botanica.client.modeles.objets.Configuration; |
import org.tela_botanica.client.modeles.objets.Utilisateur; |
import org.tela_botanica.client.observation.ObservationMediateur; |
import org.tela_botanica.client.util.Util; |
import com.google.gwt.user.client.ui.FileUpload; |
import com.google.gwt.user.client.ui.FormPanel; |
75,8 → 79,19 |
@Override |
public void onSubmitComplete(SubmitCompleteEvent event) { |
nPan.close(); |
// TODO: le résultat est du texte, mais à l'avenir il faudrait utiliser du JSON |
com.google.gwt.user.client.Window.alert(event.getResults()); |
String message = ""; |
Map<String, String> retourImport = Util.parserRetourImportObs(event.getResults()); |
for (Iterator<String> iterator = retourImport.keySet().iterator(); iterator |
.hasNext();) { |
String indexRapport = iterator.next(); |
// on ne met pas de "-" dans les clés json, mais par contre nos clé i18n |
// sont séparées par des tirets, donc on remplace |
String cleI18n = indexRapport.replace("_", "-"); |
Util.LogVersFirebug(cleI18n); |
String[] StrParams = {retourImport.get(indexRapport)}; |
message += Msg.get(cleI18n, StrParams)+"\n"; |
} |
com.google.gwt.user.client.Window.alert(message); |
oMediateur.obtenirDernierePageObservation(); |
} |
}); |
/trunk/src/org/tela_botanica/client/util/Util.java |
---|
17,7 → 17,6 |
import org.tela_botanica.client.modeles.objets.ReferentielLocalite; |
import org.tela_botanica.client.modeles.objets.ReferentielNom; |
import com.google.gwt.dom.client.Element; |
import com.google.gwt.http.client.Response; |
import com.google.gwt.json.client.JSONArray; |
import com.google.gwt.json.client.JSONObject; |
24,7 → 23,6 |
import com.google.gwt.json.client.JSONParser; |
import com.google.gwt.json.client.JSONString; |
import com.google.gwt.json.client.JSONValue; |
import com.google.gwt.user.client.DOM; |
import com.google.gwt.user.client.ui.RootPanel; |
public class Util { |
522,6 → 520,25 |
return locMap; |
} |
public static Map<String, String> parserRetourImportObs(String json) { |
final JSONValue responseValue = JSONParser.parse(json); |
JSONObject reponse = null; |
Map<String, String> retourImport = new HashMap<String,String>(); |
// si c'est un objet |
if ((reponse = responseValue.isObject()) != null) { |
Iterator<String> it = reponse.keySet().iterator(); |
while(it.hasNext()) { |
String cle = it.next(); |
String valeur = reponse.get(cle).isString().stringValue(); |
retourImport.put(cle, valeur); |
} |
} |
return retourImport; |
} |
public static native void LogVersFirebug(Object o) /*-{ |
if (!!($wnd.console && $wnd.console.log)) { |
console.log(o); |
/trunk/war/i18n/messages_fr.js |
---|
7,6 → 7,14 |
"deconnexion" : "deconnexion", |
"langue" : "Langue", |
"import-erreurs" : "Des erreurs se sont produites lors de l'import : {0}", |
"import-obs-ajoutees" : "{0} observation(s) ajoutée(s)", |
"import-images-ajoutees" : "{0} image(s) liée(s)", |
"import-mots_cle-ajoutes" : "{0} mot(s)-clé(s) ajoutée(s)", |
"import-colonnes-non-traitees" : "Colonnes non traitées : {0}", |
"envoyer" : "Envoyer", |
"filtres" : "Filtres", |
"dates" : "Dates", |
"inconnue" : "Inconnue", |
/trunk/war/i18n/messages_en.js |
---|
7,6 → 7,14 |
"deconnexion" : "logout", |
"langue" : "Language", |
"import-erreurs" : "Error during import : {0}", |
"import-obs-ajoutees" : "{0} observation(s) added", |
"import-images-ajoutees" : "{0} image(s) linked", |
"import-mots-cle-ajoutes" : "{0} keywords added", |
"import-colonnes-non-traitees" : "Unrecognized columns : {0}", |
"envoyer" : "Send", |
"filtres" : "Filters", |
"dates" : "Dates", |
"inconnue" : "Unknown", |