9,12 → 9,12 |
import org.tela_botanica.client.observation.ObservationMediateur; |
import org.tela_botanica.client.util.Util; |
|
import com.google.gwt.core.client.Callback; |
import com.google.gwt.user.client.ui.FileUpload; |
import com.google.gwt.user.client.ui.FormPanel; |
import com.google.gwt.user.client.ui.FormPanel.SubmitCompleteEvent; |
import com.google.gwt.user.client.ui.FormPanel.SubmitCompleteHandler; |
import com.google.gwt.user.client.ui.HTML; |
import com.google.gwt.user.client.ui.HasAlignment; |
import com.google.gwt.user.client.ui.HasHorizontalAlignment; |
import com.google.gwt.user.client.ui.Hidden; |
import com.google.gwt.user.client.ui.VerticalPanel; |
56,11 → 56,8 |
holder.add(identifiant); |
|
HTML lienVersDocumentModele = new HTML("<a href=\"modele_import.xls\">" + Msg.get("telecharger-modele") + "</a>"); |
|
holder.add(lienVersDocumentModele); |
|
holder.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_RIGHT); |
|
boutonValidation.addListener(new ButtonListenerAdapter() { |
|
@Override |
75,12 → 72,43 |
form.setAction(Configuration.getServiceBaseUrl() + "/ImportXLS"); |
|
form.addSubmitCompleteHandler(new SubmitCompleteHandler() { |
@Override |
public void onSubmitComplete(SubmitCompleteEvent event) { |
// Certains client ne savent pas lire le retour d'upload correctement |
// notamment à cause des requêtes CORS, donc en cas de problème on |
// appelle manuellement les stats d'upload en lecture |
if(event.getResults() != null) { |
try { |
Map<String, String> retourImport = Util.parserRetourImportObs(event.getResults()); |
surRetourImport(retourImport); |
} catch (Exception e) { |
demanderStatsUpload(); |
} |
} else { |
demanderStatsUpload(); |
} |
} |
}); |
} |
|
private void demanderStatsUpload() { |
Util.envoyerRequeteStatsUpload(new Callback<String, String>() { |
@Override |
public void onSubmitComplete(SubmitCompleteEvent event) { |
nPan.close(); |
public void onSuccess(String resultats) { |
Map<String, String> retourImport = Util.parserRetourImportObs(resultats); |
surRetourImport(retourImport); |
} |
|
@Override |
public void onFailure(String reason) { |
// TODO: rien à faire, si la requête échoue c'est que le serveur |
// ne répond pas et donc on a déjà eu des problèmes en amont |
} |
}); |
} |
|
private void surRetourImport(Map<String, String> retourImport) { |
String message = ""; |
Map<String, String> retourImport = Util.parserRetourImportObs(event.getResults()); |
for (Iterator<String> iterator = retourImport.keySet().iterator(); iterator |
.hasNext();) { |
String indexRapport = iterator.next(); |
92,10 → 120,9 |
message += Msg.get(cleI18n, StrParams)+"\n"; |
} |
com.google.gwt.user.client.Window.alert(message); |
nPan.close(); |
oMediateur.obtenirDernierePageObservation(); |
} |
}); |
} |
|
public void afficher() { |
nPan.show(); |