/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 |
/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) { |