Subversion Repositories eFlore/Applications.coel

Rev

Rev 829 | Rev 852 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 829 Rev 850
Line 17... Line 17...
17
import org.tela_botanica.client.images.Images;
17
import org.tela_botanica.client.images.Images;
18
import org.tela_botanica.client.interfaces.Rafraichissable;
18
import org.tela_botanica.client.interfaces.Rafraichissable;
19
import org.tela_botanica.client.modeles.Configuration;
19
import org.tela_botanica.client.modeles.Configuration;
Line 20... Line 20...
20
 
20
 
-
 
21
import org.tela_botanica.client.modeles.Information;
21
import org.tela_botanica.client.modeles.Information;
22
import org.tela_botanica.client.modeles.MenuApplicationId;
22
import org.tela_botanica.client.modeles.Personne;
23
import org.tela_botanica.client.modeles.Personne;
23
import org.tela_botanica.client.modeles.PersonneListe;
24
import org.tela_botanica.client.modeles.PersonneListe;
24
import org.tela_botanica.client.modeles.Projet;
25
import org.tela_botanica.client.modeles.Projet;
25
import org.tela_botanica.client.modeles.ProjetListe;
26
import org.tela_botanica.client.modeles.ProjetListe;
Line 63... Line 64...
63
import com.extjs.gxt.ui.client.widget.form.Radio;
64
import com.extjs.gxt.ui.client.widget.form.Radio;
64
import com.extjs.gxt.ui.client.widget.form.RadioGroup;
65
import com.extjs.gxt.ui.client.widget.form.RadioGroup;
65
import com.extjs.gxt.ui.client.widget.form.TextArea;
66
import com.extjs.gxt.ui.client.widget.form.TextArea;
66
import com.extjs.gxt.ui.client.widget.form.TextField;
67
import com.extjs.gxt.ui.client.widget.form.TextField;
67
import com.extjs.gxt.ui.client.widget.form.ComboBox.TriggerAction;
68
import com.extjs.gxt.ui.client.widget.form.ComboBox.TriggerAction;
-
 
69
import com.extjs.gxt.ui.client.widget.form.FormPanel.LabelAlign;
68
import com.extjs.gxt.ui.client.widget.layout.ColumnData;
70
import com.extjs.gxt.ui.client.widget.layout.ColumnData;
69
import com.extjs.gxt.ui.client.widget.layout.ColumnLayout;
71
import com.extjs.gxt.ui.client.widget.layout.ColumnLayout;
70
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
72
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
71
import com.extjs.gxt.ui.client.widget.layout.FormData;
73
import com.extjs.gxt.ui.client.widget.layout.FormData;
72
import com.extjs.gxt.ui.client.widget.layout.FormLayout;
74
import com.extjs.gxt.ui.client.widget.layout.FormLayout;
Line 76... Line 78...
76
import com.extjs.gxt.ui.client.widget.toolbar.ToolBar;
78
import com.extjs.gxt.ui.client.widget.toolbar.ToolBar;
77
import com.google.gwt.core.client.GWT;
79
import com.google.gwt.core.client.GWT;
78
import com.google.gwt.i18n.client.DateTimeFormat;
80
import com.google.gwt.i18n.client.DateTimeFormat;
79
import com.google.gwt.user.client.ui.Widget;
81
import com.google.gwt.user.client.ui.Widget;
Line 80... Line 82...
80
 
82
 
Line 81... Line 83...
81
public class PersonneForm extends FormPanel implements Rafraichissable {
83
public class PersonneForm extends Formulaire implements Rafraichissable {
82
 
84
 
83
	// VARIABLES
85
	// VARIABLES
84
	private TabItem tiIdentite, tiAdresses, tiInfosNat;
86
	private TabItem tiIdentite, tiAdresses, tiInfosNat;
85
	private Mediateur mediateur = Registry.get(RegistreId.MEDIATEUR);
87
	private Mediateur mediateur;
86
	private Configuration config = (Configuration) Registry.get(RegistreId.CONFIG);
88
	private Configuration config = (Configuration) Registry.get(RegistreId.CONFIG);
Line 87... Line 89...
87
	private Personne personneSelectionnee, personneSauvegarde = null;
89
	private Personne personneSelectionnee, personneSauvegarde = null;
Line 96... Line 98...
96
	
98
	
Line 97... Line 99...
97
	private Button enregistrer, enregistrerEtRevenir;
99
	private Button enregistrer, enregistrerEtRevenir;
98
	
100
	
-
 
101
	public static final String MODE_AJOUTER = "AJOUT";
99
	public static final String MODE_AJOUTER = "AJOUT";
102
	public static final String MODE_MODIFIER = "MODIF";
100
	public static final String MODE_MODIFIER = "MODIF";
103
	private final String personneId;
Line 101... Line 104...
101
 
104
	
Line -... Line 105...
-
 
105
	private FormBinding binding = null;
-
 
106
	
-
 
107
	// CONSTRUCTEUR 
-
 
108
	
-
 
109
	
102
	private FormBinding binding = null;
110
	
103
	
111
	
-
 
112
	public PersonneForm(Mediateur mediateur, String mode, String personneId) {
104
	// CONSTRUCTEUR 
113
		
-
 
114
		this.personneId = personneId;
-
 
115
		this.mediateur = mediateur;
-
 
116
		initialiserFormulaire(mediateur, mode, MenuApplicationId.PERSONNE);
-
 
117
		initialiserComposants();
-
 
118
		
-
 
119
		String titreFormulaire = "";
-
 
120
		if (mode.equals(MODE_MODIFIER))	{
-
 
121
			titreFormulaire = mediateur.i18nC.personneModeModifier() + " ID: " + personneId;
-
 
122
		} else {
105
	
123
			titreFormulaire = mediateur.i18nC.personneModeAjout();
Line 106... Line 124...
106
	public PersonneForm(String mode) {
124
		}
107
		this.mode = mode;
125
		
108
		initialiserComposants();
126
		panneauFormulaire.setHeading(titreFormulaire);
Line 109... Line -...
109
	}
-
 
110
	
-
 
111
	public void initialiserComposants()	{
-
 
112
		personneSelectionnee = new Personne();
-
 
113
		personneSauvegarde = new Personne();
-
 
114
		
-
 
115
		initialiserPanneau();
-
 
116
		
-
 
117
		ButtonBar barreOutilsBas = new ButtonBar();
-
 
118
		//barreOutilsBas.setButtonAlign(HorizontalAlignment.CENTER);
-
 
119
		barreOutilsBas.setAlignment(HorizontalAlignment.CENTER);
-
 
120
		
-
 
121
		ajouterBoutonEnregistrer(barreOutilsBas);
-
 
122
		ajouterBoutonEnregistrerEtRevenir(barreOutilsBas);
-
 
123
		ajouterBoutonAnnuler(barreOutilsBas);
-
 
124
		gererEtatActivationBouton();
-
 
125
		
-
 
126
		setBottomComponent(barreOutilsBas);
127
	}
Line 127... Line 128...
127
		
128
	
128
		ToolBar barreOutilsHaut = new ToolBar();
129
	public void initialiserComposants()	{
129
		ajouterBoutonReinitialiser(barreOutilsHaut);
130
		personneSelectionnee = new Personne();
130
		setTopComponent(barreOutilsHaut);
-
 
Line 131... Line 131...
131
		
131
		personneSauvegarde = new Personne();
132
		initialiserOnglets();	
132
		
Line 133... Line -...
133
		
-
 
134
		creerComposantsIdentite();
-
 
135
		creerComposantsAdresse();
-
 
136
		creerComposantsInfosNat();
-
 
137
		layout();
-
 
138
		
-
 
139
		binderPersonne(personneSelectionnee);
-
 
140
	}
-
 
141
	
-
 
142
	// SOUS-METHODES
-
 
143
 
-
 
144
	public void initialiserPanneau()	{
-
 
145
		setCollapsible(false);  
-
 
146
		if (this.mode.equals(MODE_AJOUTER))	{
-
 
147
			setHeading(mediateur.i18nC.personneModeAjout());
-
 
148
			setIcon(Images.ICONES.ajouter());
-
 
149
		} else 	{
-
 
150
			setHeading(mediateur.i18nC.personneModeModifier());
-
 
151
			setIcon(Images.ICONES.formModifier());
-
 
152
		}
-
 
153
		setButtonAlign(HorizontalAlignment.CENTER);  
133
		initialiserOnglets();	
154
		setLayout(new FitLayout());
134
		
155
		setBodyBorder(false);
135
		creerComposantsIdentite();
156
		setBorders(false);
136
		creerComposantsAdresse();
157
		setPadding(0);
137
		creerComposantsInfosNat();
Line 185... Line 165...
185
		tiInfosNat = new TabItem(mediateur.i18nC.personneInfoNat());
165
		tiInfosNat = new TabItem(mediateur.i18nC.personneInfoNat());
186
		tiInfosNat.setLayout(new FormLayout());
166
		tiInfosNat.setLayout(new FormLayout());
187
		tiInfosNat.setScrollMode(Scroll.AUTO);
167
		tiInfosNat.setScrollMode(Scroll.AUTO);
Line 188... Line 168...
188
		
168
		
189
		formulaireOnglets.add(tiInfosNat);
169
		formulaireOnglets.add(tiInfosNat);
190
		add(formulaireOnglets);
170
		getFormulaire().add(formulaireOnglets);
Line 191... Line 171...
191
	}
171
	}
192
	
172
	
193
	/**
173
	/**
Line 636... Line 616...
636
		
616
		
637
		fsInfosNat.add(recolte);
617
		fsInfosNat.add(recolte);
638
		tiInfosNat.add(fsInfosNat);
618
		tiInfosNat.add(fsInfosNat);
Line 639... Line -...
639
	}
-
 
640
	
-
 
641
	/**
-
 
642
	 * Ajouter le bouton réinitialiser à la barre d'outils donnée
-
 
643
	 * 
-
 
644
	 * @param barreOutils la barre d'outils à modifier
-
 
645
	 * */
619
	}
646
	public void ajouterBoutonReinitialiser(ToolBar barreOutils)	{
-
 
647
		
-
 
648
		//Le bouton réintialiser recharge la page sans sauvegarder les informations
-
 
649
		Button reinitialiser = new Button("Réinitialiser le formulaire");
-
 
650
		reinitialiser.setIcon(Images.ICONES.rafraichir());
-
 
651
		reinitialiser.addSelectionListener(new SelectionListener<ButtonEvent>() {  
-
 
652
			public void componentSelected(ButtonEvent ce) {  
-
 
653
				//((Mediateur) Registry.get(RegistreId.MEDIATEUR)).clicAjouterPersonne();
-
 
654
				reinitialiser();
-
 
655
			}  
-
 
656
		});
-
 
Line 657... Line 620...
657
		barreOutils.add(reinitialiser);
620
	
658
	}
621
	
659
	
622
	
660
	/**
623
	/**
Line 967... Line 930...
967
		/*--------------------------------------------------------
930
		/*--------------------------------------------------------
968
		 * 					Infos naturalistes
931
		 * 					Infos naturalistes
969
		 * -----------------------------------------------------*/
932
		 * -----------------------------------------------------*/
Line 970... Line 933...
970
		
933
		
971
		((ChampMultiValeurs) hmInfosNat.get("specialite")).peupler(personne.getString("ce_truk_specialite"));
-
 
972
		System.out.println(personne.getString("truk_recolte"));
934
		((ChampMultiValeurs) hmInfosNat.get("specialite")).peupler(personne.getString("ce_truk_specialite"));
Line 973... Line 935...
973
		((ChampMultiValeursMultiTypes) hmInfosNat.get("recolte")).peupler(personne.getString("truk_recolte"));
935
		((ChampMultiValeursMultiTypes) hmInfosNat.get("recolte")).peupler(personne.getString("truk_recolte"));
Line 974... Line 936...
974
		 
936
		 
Line 992... Line 954...
992
		store.add(liste);
954
		store.add(liste);
993
		((ComboBox) hm.get(idComboBox)).setStore(store);
955
		((ComboBox) hm.get(idComboBox)).setStore(store);
994
	}
956
	}
Line 995... Line 957...
995
	
957
	
996
	private void gererEtatActivationBouton()	{
958
	private void gererEtatActivationBouton()	{
997
		if (((Utilisateur) Registry.get(RegistreId.UTILISATEUR_COURANT)).isIdentifie() == false)	{			
959
	/*	if (((Utilisateur) Registry.get(RegistreId.UTILISATEUR_COURANT)).isIdentifie() == false)	{			
998
			enregistrer.setEnabled(false);
960
			enregistrer.setEnabled(false);
999
			enregistrerEtRevenir.setEnabled(false);
961
			enregistrerEtRevenir.setEnabled(false);
1000
		} else	{
962
		} else	{
1001
			enregistrer.setEnabled(true);
963
			enregistrer.setEnabled(true);
1002
			enregistrerEtRevenir.setEnabled(true);
964
			enregistrerEtRevenir.setEnabled(true);
1003
		}
965
		}*/
Line 1004... Line 966...
1004
	}
966
	}
1005
	
967
	
Line 1006... Line 968...
1006
	public void reinitialiser()	{
968
	public void reinitialiserFormulaire()	{
Line 1007... Line 969...
1007
		mediateur.afficherPopinChargement();
969
		mediateur.afficherPopinChargement();
Line 1008... Line 970...
1008
		
970
		
Line 1009... Line 971...
1009
		mettreAJourPersonne(personneSauvegarde);
971
		mettreAJourPersonne(personneSauvegarde);
1010
		
972
		
Line 1011... Line 973...
1011
		mediateur.masquerPopinChargement();
973
		mediateur.masquerPopinChargement();
1012
		
974
		
1013
	}
975
	}
1014
	
976
	
Line 1141... Line 1103...
1141
			
1103
			
1142
 			MessageBox.alert("Erreurs", "Les erreurs suivantes ont été commises : \n" + strMessagesErreur, null);
1104
 			MessageBox.alert("Erreurs", "Les erreurs suivantes ont été commises : \n" + strMessagesErreur, null);
1143
 			success = false;
1105
 			success = false;
Line 1144... Line -...
1144
		}
-
 
1145
		
-
 
1146
		
1106
		}
1147
		
1107
		
Line 1148... Line 1108...
1148
		return success;
1108
		return success;
1149
	}
1109
	}
Line 1169... Line 1129...
1169
			strValeur = combo.getRawValue();
1129
			strValeur = combo.getRawValue();
1170
		}*/
1130
		}*/
Line 1171... Line 1131...
1171
		
1131
		
1172
		return strValeur;
1132
		return strValeur;
-
 
1133
	}
-
 
1134
 
-
 
1135
	@Override
-
 
1136
	protected SelectionListener<ButtonEvent> creerEcouteurValidation() {
-
 
1137
		SelectionListener<ButtonEvent> ecouteur = new SelectionListener<ButtonEvent>() {
-
 
1138
			@Override
-
 
1139
			public void componentSelected(ButtonEvent ce) {
-
 
1140
				String code = ((Button) ce.getComponent()).getData("code");
-
 
1141
				if (code.equals(FormulaireBarreValidation.CODE_BOUTON_VALIDER)) {
-
 
1142
					soumettreFormulaire();
-
 
1143
					clicBoutonvalidation = true;
-
 
1144
				} else if (code.equals(FormulaireBarreValidation.CODE_BOUTON_APPLIQUER)) {
-
 
1145
					soumettreFormulaire();
-
 
1146
				} else if (code.equals(FormulaireBarreValidation.CODE_BOUTON_ANNULER)) {
-
 
1147
					mediateur.clicMenu(menuIdCourant);
-
 
1148
				} else if (code.equals(FormulaireBarreValidation.CODE_BOUTON_REINITIALISER)) {
-
 
1149
					reinitialiserFormulaire();
-
 
1150
				}
-
 
1151
			}
-
 
1152
		};
-
 
1153
		
-
 
1154
		return ecouteur;
-
 
1155
	}
-
 
1156
 
-
 
1157
	protected boolean soumettreFormulaire() {
-
 
1158
		if (verifierFormulaire())	{
-
 
1159
			mediateur.enregistrerPersonne(this, personneSelectionnee);
-
 
1160
		}
-
 
1161
		return true;
-
 
1162
	}
-
 
1163
 
-
 
1164
	protected boolean verifierFormulaire() {
-
 
1165
		
-
 
1166
		boolean success = false;
-
 
1167
		LinkedList lstMessageErreur = new LinkedList<String>();
-
 
1168
		
-
 
1169
		ComboBox<Projet> cbProjets = (ComboBox<Projet>) hmIdentite.get("cbProjets");
-
 
1170
		Projet projet = cbProjets.getValue();
-
 
1171
		if (projet == null)	{
-
 
1172
			lstMessageErreur.add("Le projet n'a pas été renseigné");
-
 
1173
		} else {
-
 
1174
			personneSelectionnee.set("ce_projet", projet.getId());
-
 
1175
		}
-
 
1176
		
-
 
1177
		String strTfNom = ((TextField<String>) hmIdentite.get("tfNom")).getValue();
-
 
1178
		if ((strTfNom == null)||(strTfNom.trim().equals("")))	{
-
 
1179
			lstMessageErreur.add("Le nom n'a pas été saisi");
-
 
1180
		} else {
-
 
1181
			strTfNom = UtilString.ucFirst(strTfNom);
-
 
1182
			personneSelectionnee.set("nom", strTfNom);
-
 
1183
		}
-
 
1184
		
-
 
1185
		String strTfPrenom = ((TextField<String>) hmIdentite.get("tfPrenom")).getValue();
-
 
1186
		personneSelectionnee.set("prenom", UtilString.ucFirst(strTfPrenom));
-
 
1187
		
-
 
1188
		//Préparer les données
-
 
1189
		ComboBox combo = (ComboBox) hmIdentite.get("cbSexe");
-
 
1190
		Valeur valeur;
-
 
1191
		String strValeur = "";
-
 
1192
		
-
 
1193
		valeur = (Valeur) combo.getValue();
-
 
1194
		if (valeur!=null)	{
-
 
1195
			personneSelectionnee.set("ce_sexe", valeur.getId());
-
 
1196
		}
-
 
1197
		
-
 
1198
		strValeur = obtenirValeurCombo("cbPrefixe");
-
 
1199
		personneSelectionnee.set("ce_truk_prefix", strValeur);
-
 
1200
		
-
 
1201
		strValeur = obtenirValeurCombo("cbSuffixe"); 
-
 
1202
		personneSelectionnee.set("ce_truk_suffix", strValeur);
-
 
1203
		
-
 
1204
		String nomAutre = ((ChampMultiValeurs) hmIdentite.get("nomAutre")).getValeurs();
-
 
1205
		personneSelectionnee.set("truk_nom_autre", nomAutre);
-
 
1206
		
-
 
1207
		String abreviationAutre = ((ChampMultiValeurs) hmIdentite.get("abreviationAutre")).getValeurs();
-
 
1208
		personneSelectionnee.set("truk_abreviation_autre", abreviationAutre);
-
 
1209
		
-
 
1210
		personneSelectionnee.set("truk_courriel", ((ChampMultiValeurs) hmIdentite.get("courriels")).getValeurs());
-
 
1211
		
-
 
1212
		
-
 
1213
		//Pour le nom complet, on enregistre dans la bdd la valeur du prefixe/suffixe et non l'id
-
 
1214
		String strPrefixe = "";
-
 
1215
		combo = (ComboBox) hmIdentite.get("cbPrefixe");
-
 
1216
		valeur = (Valeur) combo.getValue();
-
 
1217
		if (valeur != null)	{
-
 
1218
			strPrefixe = valeur.getNom();
-
 
1219
		} else {
-
 
1220
			strPrefixe = combo.getRawValue();
-
 
1221
		}
-
 
1222
		
-
 
1223
		String strSuffixe = "";
-
 
1224
		combo = (ComboBox) hmIdentite.get("cbSuffixe");
-
 
1225
		valeur = (Valeur) combo.getValue();
-
 
1226
		if (valeur != null)	{
-
 
1227
			strSuffixe = valeur.getNom() + " ";
-
 
1228
		} else {
-
 
1229
			strSuffixe = combo.getRawValue() +" ";
-
 
1230
		}
-
 
1231
		
-
 
1232
		personneSelectionnee.setFmtNomComplet(strPrefixe, strSuffixe);
-
 
1233
		
-
 
1234
		DateField dfDateNaissance = (DateField) hmIdentite.get("dfDateNaissance");
-
 
1235
		Date naissanceDate = dfDateNaissance.getValue();
-
 
1236
		personneSelectionnee.setNaissanceDate(naissanceDate);
-
 
1237
		
-
 
1238
		Radio rbEstDecedee = (Radio) hmIdentite.get("rbEstDecedee");
-
 
1239
		if (rbEstDecedee.getValue() == true)	{
-
 
1240
			DateField dfDecesDate = (DateField) hmIdentite.get("dfDateDeces");
-
 
1241
			String decesLieu = ((TextField<String>) hmIdentite.get("tfLieuDeces")).getValue();
-
 
1242
			personneSelectionnee.setDeces(dfDecesDate.getValue(), decesLieu);
-
 
1243
		}	else	{
-
 
1244
			personneSelectionnee.setNonDecedee();			
-
 
1245
		}
-
 
1246
		
-
 
1247
		strValeur = obtenirValeurCombo("cbPays");
-
 
1248
		personneSelectionnee.set("ce_truk_pays", strValeur);
-
 
1249
		
-
 
1250
		strValeur = obtenirValeurCombo("cbRegion");
-
 
1251
		personneSelectionnee.set("ce_truk_region", strValeur);
-
 
1252
		
-
 
1253
		personneSelectionnee.set("truk_telephone", ((ChampMultiValeursMultiTypes) hmIdentite.get("telephones")).getValeurs());
-
 
1254
		
-
 
1255
		String logoUrls = ((ChampMultiValeursImage) hmIdentite.get("logos")).getValeurs();
-
 
1256
		personneSelectionnee.set("truk_logo", logoUrls);
-
 
1257
		
-
 
1258
		personneSelectionnee.set("truk_url", ((ChampMultiValeurs) hmIdentite.get("sites")).getValeurs());
-
 
1259
		
-
 
1260
		//Infos Naturalistes
-
 
1261
		String recolte = ((ChampMultiValeursMultiTypes) hmInfosNat.get("recolte")).getValeurs();
-
 
1262
		personneSelectionnee.set("truk_recolte", recolte);
-
 
1263
		
-
 
1264
		String specialite = ((ChampMultiValeurs) hmInfosNat.get("specialite")).getValeurs();
-
 
1265
		personneSelectionnee.set("ce_truk_specialite", specialite);
-
 
1266
		
-
 
1267
		
-
 
1268
		if (lstMessageErreur.size() == 0)	{
-
 
1269
			success = true;
-
 
1270
		} else {
-
 
1271
			String strMessagesErreur = "<span><br />";
-
 
1272
			Iterator<String> itMessagesErreur = lstMessageErreur.iterator();
-
 
1273
			while (itMessagesErreur.hasNext())	{
-
 
1274
				strMessagesErreur += "<br /> - " + itMessagesErreur.next();
-
 
1275
			}
-
 
1276
			strMessagesErreur += "</span>";
-
 
1277
			
-
 
1278
 			MessageBox.alert("Erreurs", "Les erreurs suivantes ont été commises : \n" + strMessagesErreur, null);
-
 
1279
 			success = false;
-
 
1280
		}
-
 
1281
		
-
 
1282
		return success;
1173
	}
1283
	}