Subversion Repositories eFlore/Applications.coel

Compare Revisions

Ignore whitespace Rev 1862 → Rev 1863

/trunk/src/org/tela_botanica/client/vues/publication/PublicationImportForm.java
12,8 → 12,11
import com.extjs.gxt.ui.client.widget.Html;
import com.extjs.gxt.ui.client.widget.LayoutContainer;
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
import com.google.gwt.core.client.Callback;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.json.client.JSONParser;
import com.google.gwt.json.client.JSONValue;
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.FileUpload;
import com.google.gwt.user.client.ui.FormPanel;
72,7 → 75,27
form.addSubmitCompleteHandler(new FormPanel.SubmitCompleteHandler() {
@Override
public void onSubmitComplete(SubmitCompleteEvent event) {
surFormulaireEnvoye(event);
String resultat = event.getResults();
// Le formulaire est envoyé à travers un iframe caché, ce qui pose problème
// à certains navigateurs pour lire le retour
// si rien n'est renvoyé, on demande les stats d'upload au service par une autre requête
if(resultat == null || resultat.isEmpty()) {
PublicationAsyncDao.demanderStatistiquesDernierImport(new Callback<JSONValue, String>() {
@Override
public void onSuccess(JSONValue result) {
surFormulaireEnvoye(result);
}
@Override
public void onFailure(String reason) {
// TODO Auto-generated method stub
}
});
} else {
JSONValue responseValue = JSONParser.parseStrict(resultat);
surFormulaireEnvoye(responseValue);
}
}
});
84,6 → 107,6
}
public abstract void surSoumissionFormulaire(SubmitEvent event);
public abstract void surFormulaireEnvoye(SubmitCompleteEvent event);
public abstract void surFormulaireEnvoye(JSONValue reponse);
public abstract void surClicAnnuler();
}
/trunk/src/org/tela_botanica/client/modeles/publication/PublicationAsyncDao.java
13,12 → 13,10
import org.tela_botanica.client.util.UtilDAO;
 
import com.extjs.gxt.ui.client.Registry;
import com.google.gwt.core.client.GWT;
import com.google.gwt.core.client.Callback;
import com.google.gwt.json.client.JSONArray;
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;
 
public class PublicationAsyncDao {
private static final String SERVICE_NOM = "CoelPublication";
197,6 → 195,16
}
}
public static void demanderStatistiquesDernierImport(final Callback<JSONValue, String> callBack) {
final JsonRestRequestBuilder rb = UtilDAO.construireRequete(SERVICE_IMPORT);
rb.envoyerRequeteSuppression(new JsonRestRequestCallback() {
@Override
public void surReponse(JSONValue reponseValeur) {
callBack.onSuccess(reponseValeur);
}
});
}
public static boolean importEstUnSucces(JSONValue responseValue) {
boolean succesImportBool = false;
if(responseValue != null) {
/trunk/src/org/tela_botanica/client/Mediateur.java
1410,26 → 1410,10
}
@Override
public void surFormulaireEnvoye(SubmitCompleteEvent event) {
JSONValue responseValue = JSONParser.parseStrict(event.getResults());
String message = "";
if(PublicationAsyncDao.importEstUnSucces(responseValue)) {
String nbPubliImportee = PublicationAsyncDao.getNbPublisImportees(responseValue);
int nbPublint = Integer.parseInt(nbPubliImportee);
message = (nbPublint == 1) ? i18nM.retourSuccesImportPublication(nbPubliImportee) :
i18nM.retourSuccesImportPublicationPluriel(nbPubliImportee);
fenetre.hide();
// Tri artificiel par id de publications pour voir apparaître ce qui vient d'être importé
PublicationAsyncDao.tri = "cpu_id_publication";
publiListeVue.afficherDernierePage();
} else {
message = i18nM.retourEchecImportPublication(PublicationAsyncDao.getErreursImport(responseValue));
}
Window.alert(message);
masquerPopinChargement();
public void surFormulaireEnvoye(JSONValue responseValue) {
traiterRetourImportFormulaire(responseValue);
publiListeVue.afficherDernierePage();
fenetre.hide();
}
@Override
1441,6 → 1425,24
fenetre.show();
}
private void traiterRetourImportFormulaire(JSONValue responseValue) {
String message = "";
if(PublicationAsyncDao.importEstUnSucces(responseValue)) {
String nbPubliImportee = PublicationAsyncDao.getNbPublisImportees(responseValue);
int nbPublint = Integer.parseInt(nbPubliImportee);
message = (nbPublint == 1) ? i18nM.retourSuccesImportPublication(nbPubliImportee) :
i18nM.retourSuccesImportPublicationPluriel(nbPubliImportee);
// Tri artificiel par id de publications pour voir apparaître ce qui vient d'être importé
PublicationAsyncDao.tri = "cpu_id_publication";
} else {
message = i18nM.retourEchecImportPublication(PublicationAsyncDao.getErreursImport(responseValue));
}
Window.alert(message);
masquerPopinChargement();
}
//+----------------------------------------------------------------------------------------------------------------+
// GESTION de la relation PUBLICATION A PERSONNE