Subversion Repositories eFlore/Applications.coel

Rev

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

Rev 446 Rev 456
Line 16... Line 16...
16
import org.tela_botanica.client.modeles.InterneValeur;
16
import org.tela_botanica.client.modeles.InterneValeur;
Line 17... Line 17...
17
 
17
 
18
import org.tela_botanica.client.modeles.Information;
18
import org.tela_botanica.client.modeles.Information;
19
import org.tela_botanica.client.modeles.Personne;
19
import org.tela_botanica.client.modeles.Personne;
-
 
20
import org.tela_botanica.client.modeles.PersonneListe;
-
 
21
import org.tela_botanica.client.modeles.Projet;
20
import org.tela_botanica.client.modeles.PersonneListe;
22
import org.tela_botanica.client.modeles.ProjetListe;
21
import org.tela_botanica.client.modeles.Valeur;
23
import org.tela_botanica.client.modeles.Valeur;
Line 22... Line 24...
22
import org.tela_botanica.client.modeles.ValeurListe;
24
import org.tela_botanica.client.modeles.ValeurListe;
23
 
25
 
Line 54... Line 56...
54
import com.extjs.gxt.ui.client.widget.form.LabelField;
56
import com.extjs.gxt.ui.client.widget.form.LabelField;
55
import com.extjs.gxt.ui.client.widget.form.Radio;
57
import com.extjs.gxt.ui.client.widget.form.Radio;
56
import com.extjs.gxt.ui.client.widget.form.RadioGroup;
58
import com.extjs.gxt.ui.client.widget.form.RadioGroup;
57
import com.extjs.gxt.ui.client.widget.form.TextArea;
59
import com.extjs.gxt.ui.client.widget.form.TextArea;
58
import com.extjs.gxt.ui.client.widget.form.TextField;
60
import com.extjs.gxt.ui.client.widget.form.TextField;
-
 
61
import com.extjs.gxt.ui.client.widget.form.ComboBox.TriggerAction;
59
import com.extjs.gxt.ui.client.widget.layout.ColumnData;
62
import com.extjs.gxt.ui.client.widget.layout.ColumnData;
60
import com.extjs.gxt.ui.client.widget.layout.ColumnLayout;
63
import com.extjs.gxt.ui.client.widget.layout.ColumnLayout;
61
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
64
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
62
import com.extjs.gxt.ui.client.widget.layout.FormData;
65
import com.extjs.gxt.ui.client.widget.layout.FormData;
63
import com.extjs.gxt.ui.client.widget.layout.FormLayout;
66
import com.extjs.gxt.ui.client.widget.layout.FormLayout;
64
import com.extjs.gxt.ui.client.widget.layout.RowLayout;
67
import com.extjs.gxt.ui.client.widget.layout.RowLayout;
65
import com.extjs.gxt.ui.client.widget.toolbar.TextToolItem;
68
import com.extjs.gxt.ui.client.widget.toolbar.TextToolItem;
66
import com.extjs.gxt.ui.client.widget.toolbar.ToolBar;
69
import com.extjs.gxt.ui.client.widget.toolbar.ToolBar;
67
import com.google.gwt.core.client.GWT;
70
import com.google.gwt.core.client.GWT;
68
import com.google.gwt.i18n.client.DateTimeFormat;
71
import com.google.gwt.i18n.client.DateTimeFormat;
69
import com.google.gwt.user.client.Window;
-
 
70
import com.google.gwt.user.client.ui.RadioButton;
-
 
71
import com.google.gwt.user.client.ui.Widget;
72
import com.google.gwt.user.client.ui.Widget;
Line 72... Line 73...
72
 
73
 
Line 73... Line 74...
73
public class PersonneForm extends FormPanel implements Rafraichissable {
74
public class PersonneForm extends FormPanel implements Rafraichissable {
Line 79... Line 80...
79
	
80
	
80
	private TabItem tiIdentite, tiAdresses, tiInfosNat;
81
	private TabItem tiIdentite, tiAdresses, tiInfosNat;
81
	private Mediateur mediateur = Registry.get(RegistreId.MEDIATEUR);
82
	private Mediateur mediateur = Registry.get(RegistreId.MEDIATEUR);
82
	private Configuration config = (Configuration) Registry.get(RegistreId.CONFIG);
83
	private Configuration config = (Configuration) Registry.get(RegistreId.CONFIG);
-
 
84
	private Personne personneSelectionnee, personneSauvegarde = null;
-
 
85
	private String mode = "";
-
 
86
	
-
 
87
	public static final String MODE_AJOUTER = "AJOUT";
-
 
88
	public static final String MODE_MODIFIER = "MODIF";
Line 83... Line 89...
83
	private Personne personneSelectionnee, personneSauvegarde = null;
89
	
Line 84... Line 90...
84
	
90
	
85
	private FormBinding binding = null;
91
	private FormBinding binding = null;
Line 94... Line 100...
94
	 * 
100
	 * 
95
	 * Initialise le panneau et ajoute une barre d'outils à deux boutons (réinitialiser le 
101
	 * Initialise le panneau et ajoute une barre d'outils à deux boutons (réinitialiser le 
96
	 * formulaire et annuler la saisie). 
102
	 * formulaire et annuler la saisie). 
97
	 * 
103
	 * 
98
	 * */
104
	 * */
99
	public PersonneForm() {
105
	public PersonneForm(String mode) {
-
 
106
		
-
 
107
		this.mode = mode;
100
		initialiserComposants();
108
		initialiserComposants();
101
	}
109
	}
Line 102... Line 110...
102
	
110
	
Line 196... Line 204...
196
	private HashMap<String, Widget>hmInfosNat = new HashMap<String, Widget>();
204
	private HashMap<String, Widget>hmInfosNat = new HashMap<String, Widget>();
197
	private FormData fd100 = new FormData("1");
205
	private FormData fd100 = new FormData("1");
Line 198... Line 206...
198
	
206
	
Line -... Line 207...
-
 
207
	public void creerComposantsIdentite()	{
199
	public void creerComposantsIdentite()	{
208
		
200
		
209
		
201
			// Gestion de l'affichage en colonnes : 3 Layout container : principal, gauche & droite
210
			// Gestion de l'affichage en colonnes : 3 Layout container : principal, gauche & droite
Line 202... Line 211...
202
			LayoutContainer left = new LayoutContainer();
211
			LayoutContainer left = new LayoutContainer();
203
			left.setLayout(new FormLayout());
212
			left.setLayout(new FormLayout());
Line 204... Line 213...
204
			
213
			
205
			LayoutContainer right = new LayoutContainer();
214
			LayoutContainer right = new LayoutContainer();
Line 206... Line 215...
206
			right.setLayout(new FormLayout());
215
			right.setLayout(new FormLayout());
207
			
216
			
Line 208... Line 217...
208
			LayoutContainer main = new LayoutContainer();
217
			LayoutContainer main = new LayoutContainer();
209
			main.setLayout(new ColumnLayout());
218
			main.setLayout(new ColumnLayout());
210
			
219
			
Line -... Line 220...
-
 
220
			main.add(left, new ColumnData(.5));
-
 
221
			main.add(right, new ColumnData(.5));			
-
 
222
			
-
 
223
			// Création des champs
-
 
224
			FormLayout formLayout = new FormLayout();
-
 
225
			formLayout.setLabelAlign(LabelAlign.LEFT);
-
 
226
			
-
 
227
				FieldSet fsProjet = new FieldSet();
-
 
228
				fsProjet.setHeading("Projet");
-
 
229
				fsProjet.setLayout(new FormLayout());
-
 
230
				
-
 
231
					ListStore<Projet> storeProjets = new ListStore<Projet>();
-
 
232
					ComboBox cbProjets = new ComboBox<Projet>();
-
 
233
					cbProjets.setFieldLabel("Projet:");
-
 
234
					cbProjets.setLabelSeparator("");
-
 
235
					cbProjets.setDisplayField("nom");
-
 
236
					cbProjets.setEditable(false);
-
 
237
					cbProjets.setTriggerAction(TriggerAction.ALL);
-
 
238
					cbProjets.setStore(storeProjets);
-
 
239
					cbProjets.setAllowBlank(false);
-
 
240
					fsProjet.add(cbProjets);
-
 
241
					
211
			main.add(left, new ColumnData(.49));
242
					hmIdentite.put("cbProjets", cbProjets);
212
			main.add(right, new ColumnData(.49));			
243
					
213
			
244
					mediateur.selectionnerProjets(this);
214
			// Création des champs
245
				
215
			FormLayout formLayout = new FormLayout();
246
				left.add(fsProjet);
216
			formLayout.setLabelAlign(LabelAlign.LEFT);
247
					
217
			
248
				
218
				FieldSet fsNoms = new FieldSet();
249
				FieldSet fsNoms = new FieldSet();
Line 249... Line 280...
249
					hmIdentite.put("tfPrenom", tfPrenom);
280
					hmIdentite.put("tfPrenom", tfPrenom);
Line 250... Line 281...
250
			
281
			
251
					//Nom
282
					//Nom
252
					TextField<String> tfNom = new TextField<String>();
283
					TextField<String> tfNom = new TextField<String>();
-
 
284
					tfNom.setFieldLabel("Nom");
253
					tfNom.setFieldLabel("Nom");
285
					tfNom.setAllowBlank(false);
Line 254... Line 286...
254
					tfNom.setName("nom");
286
					tfNom.setName("nom");
255
					
287
					
Line 336... Line 368...
336
								((TextField) hmIdentite.get("tfLieuDeces")).setVisible(true);
368
								((TextField) hmIdentite.get("tfLieuDeces")).setVisible(true);
337
							} else	{
369
							} else	{
338
								((DateField) hmIdentite.get("dfDateDeces")).setVisible(false);
370
								((DateField) hmIdentite.get("dfDateDeces")).setVisible(false);
339
								((TextField) hmIdentite.get("tfLieuDeces")).setVisible(false);
371
								((TextField) hmIdentite.get("tfLieuDeces")).setVisible(false);
340
							}
372
							}
341
							//afficherChampSupplementaire(((Radio) be.component));
-
 
342
						}
373
						}	
343
						
-
 
344
					});
374
					});
Line 345... Line -...
345
					
-
 
-
 
375
					
Line 346... Line 376...
346
					
376
					hmIdentite.put("rbEstDecedee", rbEstDecedee);
347
					
377
					
348
					Radio rbNestPasDecedee = new Radio();
378
					Radio rbNestPasDecedee = new Radio();
Line 808... Line 838...
808
	/**
838
	/**
809
	 * Ajouter le bouton Sauvegarder et revenir à la liste à la barre d'outils donnée
839
	 * Ajouter le bouton Sauvegarder et revenir à la liste à la barre d'outils donnée
810
	 * 
840
	 * 
811
	 * @param barreOutils la barre d'outils à modifier
841
	 * @param barreOutils la barre d'outils à modifier
812
	 * */
842
	 * */
813
	public static void ajouterBoutonEnregistrerEtRevenir(ButtonBar barreOutils)	{
843
	private void ajouterBoutonEnregistrerEtRevenir(ButtonBar barreOutils)	{
Line 814... Line 844...
814
		
844
		
815
		//Le bouton réintialiser recharge la page sans sauvegarder les informations
845
		//Le bouton réintialiser recharge la page sans sauvegarder les informations
816
		Button enregistrer = new Button("Enregistrer et revenir à la liste");
846
		Button enregistrer = new Button("Enregistrer et revenir à la liste");
817
		enregistrer.setIconStyle(ComposantClass.ICONE_PREFERENCE);
847
		enregistrer.setIconStyle(ComposantClass.ICONE_PREFERENCE);
818
		enregistrer.addSelectionListener(new SelectionListener<ComponentEvent>() {  
848
		enregistrer.addSelectionListener(new SelectionListener<ComponentEvent>() {  
819
			public void componentSelected(ComponentEvent ce) {  
849
			public void componentSelected(ComponentEvent ce) {  
820
				// TODO : Enregistrer le formulaire
850
				// TODO : Enregistrer le formulaire
821
			}  
851
			}  
-
 
852
		});
-
 
853
		enregistrer.setEnabled(false);
-
 
854
		
822
		});
855
		hmIdentite.put("btnEnregistrerRevenir", enregistrer);
-
 
856
		barreOutils.add(enregistrer);
823
		barreOutils.add(enregistrer);
857
		
Line 824... Line 858...
824
	}
858
	}
825
	
859
	
826
	/**
860
	/**
827
	 * Ajouter le bouton Sauvegarder à la barre d'outils donnée
861
	 * Ajouter le bouton Sauvegarder à la barre d'outils donnée
828
	 * 
862
	 * 
829
	 * @param barreOutils la barre d'outils à modifier
863
	 * @param barreOutils la barre d'outils à modifier
Line 830... Line 864...
830
	 * */
864
	 * */
831
	public void ajouterBoutonEnregistrer(ButtonBar barreOutils)	{
865
	private void ajouterBoutonEnregistrer(ButtonBar barreOutils)	{
832
		
866
		
833
		//Le bouton réintialiser recharge la page sans sauvegarder les informations
867
		//Le bouton réintialiser recharge la page sans sauvegarder les informations
834
		Button enregistrer = new Button("Enregistrer");
868
		Button enregistrer = new Button("Enregistrer");
835
		enregistrer.setIconStyle(ComposantClass.ICONE_PREFERENCE);
869
		enregistrer.setIconStyle(ComposantClass.ICONE_PREFERENCE);
836
		enregistrer.setId("main-button");
870
		enregistrer.setId("main-button");
837
		enregistrer.addSelectionListener(new SelectionListener<ComponentEvent>() {  
-
 
838
			public void componentSelected(ComponentEvent ce) {  
-
 
839
				enregistrer();
871
		enregistrer.addSelectionListener(new SelectionListener<ComponentEvent>() {  
840
				
872
			public void componentSelected(ComponentEvent ce) {  
-
 
873
				enregistrer();
-
 
874
			}  
-
 
875
		});
841
				
876
		enregistrer.setEnabled(false);
842
			}  
877
		
Line 843... Line 878...
843
		});
878
		hmIdentite.put("btnEnregistrer", enregistrer);
844
		barreOutils.add(enregistrer);
879
		barreOutils.add(enregistrer);
Line 874... Line 909...
874
	 */	
909
	 */	
875
	public void rafraichir(Object nouvellesDonnees) {
910
	public void rafraichir(Object nouvellesDonnees) {
Line 876... Line 911...
876
		
911
		
Line 877... Line 912...
877
		
912
		
Line 878... Line 913...
878
		
913
		
Line 917... Line 952...
917
				
952
				
918
				((ComboBox) hmAdresse.get("cbRegion")).setVisible(true);
953
				((ComboBox) hmAdresse.get("cbRegion")).setVisible(true);
Line -... Line 954...
-
 
954
			}
-
 
955
			
-
 
956
			
-
 
957
		} else if (nouvellesDonnees instanceof ProjetListe) {
-
 
958
			
-
 
959
			ProjetListe projets = (ProjetListe) nouvellesDonnees;
-
 
960
			
-
 
961
			List<Projet> liste = new ArrayList<Projet>();
-
 
962
			for (Iterator<String> it = projets.keySet().iterator(); it.hasNext();) {
-
 
963
				liste.add(projets.get(it.next()));
-
 
964
			}
-
 
965
			ComboBox cbProjets = (ComboBox) hmIdentite.get("cbProjets");
-
 
966
			ListStore<Projet> storeProjets= cbProjets.getStore();
-
 
967
			storeProjets.removeAll();
919
			}
968
			storeProjets.add(liste);
Line 920... Line 969...
920
			
969
			cbProjets.setStore(storeProjets);
921
			
970
			
Line 950... Line 999...
950
					
999
					
951
					binderPersonne(personne);
1000
					binderPersonne(personne);
952
					//Mise à jour de la personne		
1001
					//Mise à jour de la personne		
Line 953... Line -...
953
					//Personne personne = (Personne) nouvellesDonnees;
-
 
-
 
1002
					//Personne personne = (Personne) nouvellesDonnees;
-
 
1003
					
Line 954... Line 1004...
954
					
1004
					ComboBox cbProjets = (ComboBox) hmIdentite.get("cbProjets");
955
					
1005
					cbProjets.setValue(cbProjets.getStore().findModel("id_projet", personne.get("ce_projet")));
956
					
1006
					
Line 1115... Line 1165...
1115
					
1165
					
1116
					//Ville
1166
					//Ville
Line -... Line 1167...
-
 
1167
					((TextField) hmAdresse.get("tfVille")).setValue(personne.get("ville"));
-
 
1168
					
-
 
1169
					
1117
					((TextField) hmAdresse.get("tfVille")).setValue(personne.get("ville"));
1170
					((Button) hmIdentite.get("btnEnregistrerRevenir")).setEnabled(true);
1118
					
1171
					((Button) hmIdentite.get("btnEnregistrer")).setEnabled(true);
1119
					
1172
					
1120
				} else {
1173
				} else {
Line 1168... Line 1221...
1168
				((LabelField) hmIdentite.get("nomComplet")).hide();
1221
				((LabelField) hmIdentite.get("nomComplet")).hide();
1169
			}
1222
			}
1170
		}
1223
		}
Line 1171... Line 1224...
1171
		
1224
		
-
 
1225
		mediateur.masquerPopinChargement();
-
 
1226
		
-
 
1227
		if (mode.equals("AJOUT"))	{
-
 
1228
			((Button) hmIdentite.get("btnEnregistrerRevenir")).setEnabled(true);
-
 
1229
			((Button) hmIdentite.get("btnEnregistrer")).setEnabled(true);
1172
		mediateur.masquerPopinChargement();
1230
		}
Line 1173... Line 1231...
1173
	}
1231
	}
1174
 
1232
 
Line 1469... Line 1527...
1469
	 */
1527
	 */
1470
	public void enregistrer()	{
1528
	public void enregistrer()	{
Line 1471... Line 1529...
1471
		
1529
		
Line -... Line 1530...
-
 
1530
		LinkedList lstMessageErreur = new LinkedList<String>();
-
 
1531
		
-
 
1532
		ComboBox<Projet> cbProjets = (ComboBox<Projet>) hmIdentite.get("cbProjets");
-
 
1533
		Projet projet = cbProjets.getValue();
-
 
1534
		if (projet == null)	{
-
 
1535
			lstMessageErreur.add("Le projet n'a pas été renseigné");
-
 
1536
		}
1472
		LinkedList lstMessageErreur = new LinkedList<String>();
1537
		 
1473
		
1538
		
1474
		//Préparer les données
1539
		//Préparer les données
1475
		ComboBox combo = (ComboBox) hmIdentite.get("cbSexe");
1540
		ComboBox combo = (ComboBox) hmIdentite.get("cbSexe");
Line 1508... Line 1573...
1508
		
1573
		
1509
		String strSuffixe = "";
1574
		String strSuffixe = "";
1510
		combo = (ComboBox) hmIdentite.get("cbSuffixe");
1575
		combo = (ComboBox) hmIdentite.get("cbSuffixe");
1511
		valeur = (Valeur) combo.getValue();
1576
		valeur = (Valeur) combo.getValue();
1512
		if (valeur != null)	{
1577
		if (valeur != null)	{
1513
			strSuffixe = valeur.getNom();
1578
			strSuffixe = valeur.getNom() + " ";
1514
		} else {
1579
		} else {
1515
			strSuffixe = combo.getRawValue();
1580
			strSuffixe = combo.getRawValue() +" ";
1516
		}
-
 
1517
		strValeur = strPrefixe
-
 
1518
					+ " " + personneSelectionnee.get("prenom")
-
 
1519
					+ " " + personneSelectionnee.get("nom")
-
 
Line 1520... Line 1581...
1520
					+ " " + strSuffixe;
1581
		}
Line 1521... Line -...
1521
		
-
 
Line -... Line 1582...
-
 
1582
		
-
 
1583
		personneSelectionnee.setFmtNomComplet(strPrefixe, strSuffixe);
-
 
1584
		
-
 
1585
		
-
 
1586
		DateField dfDateNaissance = (DateField) hmIdentite.get("dfDateNaissance");
-
 
1587
		Date naissanceDate = dfDateNaissance.getValue();
-
 
1588
		personneSelectionnee.setNaissanceDate(naissanceDate);
-
 
1589
		
-
 
1590
		Radio rbEstDecedee = (Radio) hmIdentite.get("rbEstDecedee");
-
 
1591
		if (rbEstDecedee.getValue().equals(true))	{
-
 
1592
			
-
 
1593
			DateField dfDecesDate = (DateField) hmIdentite.get("dfDateDeces");
-
 
1594
			Date decesDate = dfDecesDate.getValue();
-
 
1595
			if (decesDate == null)	{
-
 
1596
				decesDate = new Date();
-
 
1597
			}
-
 
1598
			personneSelectionnee.setDecesDate(decesDate);
Line 1522... Line 1599...
1522
		personneSelectionnee.set("fmt_nom_complet", strValeur);
1599
			personneSelectionnee.set("deces_lieu", ((TextField<String>) hmIdentite.get("tfLieuDeces")).getValue());
1523
		
1600
		}
Line 1524... Line 1601...
1524
		personneSelectionnee.set("naissance_date", (Date) ((DateField) hmIdentite.get("dfDateNaissance")).getValue());
1601
		
Line 1538... Line 1615...
1538
		}
1615
		}
1539
		personneSelectionnee.set("truk_logo", logoUrls);
1616
		personneSelectionnee.set("truk_logo", logoUrls);
Line 1540... Line 1617...
1540
		
1617
		
Line 1541... Line 1618...
1541
		personneSelectionnee.set("truk_url", ((HiddenField) hmIdentite.get("hfUrl")).getValue());
1618
		personneSelectionnee.set("truk_url", ((HiddenField) hmIdentite.get("hfUrl")).getValue());
1542
		
1619
		
1543
		//if (lstMessageErreur.size() < 0)	{
1620
		if (lstMessageErreur.size() < 0)	{
1544
			mediateur.enregistrerPersonne(this, personneSelectionnee);
1621
			mediateur.enregistrerPersonne(this, personneSelectionnee);
1545
		/*} else {
1622
		} else {
1546
			String strMessagesErreur = "";
1623
			String strMessagesErreur = "<span><br />";
1547
			Iterator<String> itMessagesErreur = lstMessageErreur.iterator();
1624
			Iterator<String> itMessagesErreur = lstMessageErreur.iterator();
1548
			while (itMessagesErreur.hasNext())	{
1625
			while (itMessagesErreur.hasNext())	{
-
 
1626
				strMessagesErreur += "<br /> - " + itMessagesErreur.next();
Line 1549... Line 1627...
1549
				strMessagesErreur += " - " + itMessagesErreur.next() +" \n";
1627
			}
1550
			}
1628
			strMessagesErreur += "</span>";
1551
			
1629
			
Line 1552... Line 1630...
1552
 			MessageBox.alert("Erreurs", "Les erreurs suivantes ont été commises : \n" + strMessagesErreur, null);
1630
 			MessageBox.alert("Erreurs", "Les erreurs suivantes ont été commises : \n" + strMessagesErreur, null);
Line 1553... Line 1631...
1553
		}*/
1631
		}