Subversion Repositories eFlore/Applications.cel

Rev

Rev 1813 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
437 aurelien 1
package org.tela_botanica.client.vues.observation;
2
 
2630 mathias 3
import org.tela_botanica.client.i18n.Msg;
989 aurelien 4
import org.tela_botanica.client.modeles.objets.Configuration;
1323 aurelien 5
import org.tela_botanica.client.modeles.objets.Utilisateur;
437 aurelien 6
import org.tela_botanica.client.observation.ObservationMediateur;
2630 mathias 7
 
437 aurelien 8
import com.google.gwt.user.client.ui.FileUpload;
9
import com.google.gwt.user.client.ui.FormPanel;
10
import com.google.gwt.user.client.ui.FormPanel.SubmitCompleteEvent;
11
import com.google.gwt.user.client.ui.FormPanel.SubmitCompleteHandler;
12
import com.google.gwt.user.client.ui.HTML;
13
import com.google.gwt.user.client.ui.HasAlignment;
1292 aurelien 14
import com.google.gwt.user.client.ui.HasHorizontalAlignment;
481 david 15
import com.google.gwt.user.client.ui.Hidden;
437 aurelien 16
import com.google.gwt.user.client.ui.VerticalPanel;
17
import com.gwtext.client.core.EventObject;
18
import com.gwtext.client.widgets.Button;
19
import com.gwtext.client.widgets.Window;
20
import com.gwtext.client.widgets.event.ButtonListenerAdapter;
21
 
22
public class FormulaireImportObservationVue {
23
 
24
	private ObservationMediateur oMediateur = null;
481 david 25
	private  Window nPan = null;
26
	private Hidden identifiant = null;
437 aurelien 27
 
481 david 28
 
437 aurelien 29
	public FormulaireImportObservationVue(ObservationMediateur om) {
481 david 30
 
437 aurelien 31
		this.oMediateur = om;
481 david 32
 
2630 mathias 33
		nPan = new Window(Msg.get("import-observations"));
481 david 34
		identifiant = new Hidden();
1323 aurelien 35
		identifiant.setName("utilisateur");
36
		identifiant.setValue(Utilisateur.getInstance().getIdentifiantUtilisateurConsulte());
437 aurelien 37
 
38
		final FormPanel form = new FormPanel();
2630 mathias 39
		final Button boutonValidation = new Button(Msg.get("envoyer"));
481 david 40
 
437 aurelien 41
		form.setEncoding(FormPanel.ENCODING_MULTIPART);
42
		form.setMethod(FormPanel.METHOD_POST);
43
		form.setWidth("275px");
460 aurelien 44
		nPan.setWidth("275px");
437 aurelien 45
 
46
		VerticalPanel holder = new VerticalPanel();
47
 
48
		FileUpload upload = new FileUpload();
49
		upload.setName("upload");
50
		holder.add(upload);
51
		holder.add(boutonValidation);
481 david 52
		holder.add(identifiant);
454 aurelien 53
 
2630 mathias 54
		HTML lienVersDocumentModele = new HTML("<a href=\"modele_import.xls\">" + Msg.get("telecharger-modele") + "</a>");
454 aurelien 55
 
56
		holder.add(lienVersDocumentModele);
437 aurelien 57
 
1292 aurelien 58
		holder.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_RIGHT);
437 aurelien 59
 
60
		boutonValidation.addListener(new ButtonListenerAdapter() {
61
 
1292 aurelien 62
			@Override
437 aurelien 63
			public void onClick(Button button, EventObject e) {
64
				form.submit();
65
			}
66
		});
67
 
68
		form.add(holder);
69
 
70
		nPan.add(form);
1672 aurelien 71
		form.setAction(Configuration.getServiceBaseUrl() + "/ImportXLS");
437 aurelien 72
 
73
		form.addSubmitCompleteHandler(new SubmitCompleteHandler() {
74
 
1292 aurelien 75
			@Override
437 aurelien 76
			public void onSubmitComplete(SubmitCompleteEvent event) {
444 david 77
				nPan.close();
1813 raphael 78
				// TODO: le résultat est du texte, mais à l'avenir il faudrait utiliser du JSON
79
				com.google.gwt.user.client.Window.alert(event.getResults());
446 aurelien 80
				oMediateur.obtenirDernierePageObservation();
437 aurelien 81
			}
82
		});
481 david 83
	}
84
 
85
	public void afficher() {
437 aurelien 86
		nPan.show();
87
	}
88
}