Subversion Repositories eFlore/Applications.coel

Rev

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

Rev Author Line No. Line
102 jpm 1
package org.tela_botanica.client.modeles;
2
 
431 gduche 3
import java.util.Collection;
350 gduche 4
import java.util.Date;
431 gduche 5
import java.util.HashMap;
102 jpm 6
import java.util.Iterator;
7
import java.util.Set;
8
 
620 gduche 9
import org.tela_botanica.client.util.UtilString;
10
 
350 gduche 11
import com.google.gwt.core.client.GWT;
431 gduche 12
import com.google.gwt.http.client.URL;
350 gduche 13
import com.google.gwt.i18n.client.DateTimeFormat;
102 jpm 14
import com.google.gwt.json.client.JSONObject;
15
 
16
public class Personne extends aDonnee {
208 jp_milcent 17
 
18
	public static final String PREFIXE = "cp";
245 jp_milcent 19
	public static final String TELEPHONE_FIXE = "FIX";
20
	public static final String TELEPHONE_GSM = "GSM";
602 jp_milcent 21
	public static final String TELEPHONE_FAX = "FAX";
208 jp_milcent 22
 
102 jpm 23
	/**
103 jpm 24
	 * Constructeur vide
25
	 */
26
	public Personne() {
208 jp_milcent 27
 
103 jpm 28
	}
29
 
30
	/**
102 jpm 31
	 * Constructeur avec un objet JSON
32
	 *
33
	 * @param image
34
	 */
35
	public Personne(JSONObject liste) {
36
		// l'objet JSON est une table de hachage
37
		Set<String> im = liste.keySet();
38
 
39
		// Parcourt pour chaque clé
40
		for (Iterator<String> it = im.iterator(); it.hasNext();) {
431 gduche 41
 
102 jpm 42
			// Si elle est associée à une valeur, nous l'ajoutons
43
			String cle = it.next();
431 gduche 44
			if (cle.startsWith(PREFIXE+"_")) {
45
 
46
				// Suppression de l'abréviation du champ. Inutile dans le contexte d'un objet
47
				String cleObjet = cle.replaceFirst("^" + PREFIXE + "_", "");
48
				if (liste.get(cle).isString() != null) {
49
					String valeur = liste.get(cle).isString().stringValue();
50
					this.set(cleObjet, valeur);
51
				} else {
52
					// Sinon, nous ajoutons la clé avec une valeur vide
53
					String valeur = " ";
54
					this.set(cleObjet, valeur);
55
				}
102 jpm 56
			}
57
		}
261 gduche 58
 
59
		//Ajout du champ courriel principal
60
		this.set("courriel_princ", this.getInfoDenormaliseParPosition(this.renvoyerValeurCorrecte("truk_courriel"), 1));
102 jpm 61
	}
62
 
240 jp_milcent 63
	// ID PERSONNE
102 jpm 64
	public String getId() {
240 jp_milcent 65
		return renvoyerValeurCorrecte("id_personne");
102 jpm 66
	}
67
 
609 jp_milcent 68
	// ID PROJET
69
	public String getIdProjet() {
70
		return renvoyerValeurCorrecte("ce_projet");
71
	}
72
 
240 jp_milcent 73
	// NOM COMPLET
74
	public String getNomComplet() {
75
		return renvoyerValeurCorrecte("fmt_nom_complet");
181 gduche 76
	}
77
 
240 jp_milcent 78
	// NOM
79
	public String getNom() {
80
		return renvoyerValeurCorrecte("nom");
181 gduche 81
	}
82
 
240 jp_milcent 83
	// PRÉNOM
84
	public String getPrenom() {
85
		return renvoyerValeurCorrecte("prenom");
238 aurelien 86
	}
87
 
350 gduche 88
	public Date getDate(String nomChamp)	{
89
 
90
		String strDate = renvoyerValeurCorrecte(nomChamp);
91
 
92
		Date dateRetour = null;
93
		try
94
		{
95
			if ((strDate != null) && (!strDate.equals("0000-00-00"))) {
96
				dateRetour = DateTimeFormat.getFormat("yyyy-MM-dd").parseStrict(strDate);
97
			}
98
		} catch (StringIndexOutOfBoundsException e)	{
99
			GWT.log("Impossible de parser la date " + strDate, e);
100
		}
101
		return dateRetour;
102
	}
103
 
240 jp_milcent 104
	// TÉLÉPHONE
105
	public String getTelephone() {
106
		return renvoyerValeurCorrecte("truk_telephone");
107
	}
108
	public void setTelephone(String t) {
109
		this.set("truk_telephone", t);
110
	}
245 jp_milcent 111
	public void ajouterTelephone(String type, Object valeur) {
240 jp_milcent 112
		ajouterChaineDenormaliseAvecType("truk_telephone", type, valeur);
113
	}
245 jp_milcent 114
	public String selectionnerTelephone(String type) {
115
		return getInfoDenormaliseParType(renvoyerValeurCorrecte("truk_telephone"), type);
116
	}
240 jp_milcent 117
 
118
	// FAX
119
	public String getFax() {
120
		return renvoyerValeurCorrecte("truk_fax");
121
	}
122
	public void setFax(String f) {
123
		this.set("truk_fax", f);
124
	}
245 jp_milcent 125
	public void ajouterFax(Object valeur) {
240 jp_milcent 126
		ajouterChaineDenormalise("truk_fax", valeur);
127
	}
245 jp_milcent 128
	public String selectionnerFax(int position) {
129
		return getInfoDenormaliseParPosition(renvoyerValeurCorrecte("truk_fax"), position);
130
	}
240 jp_milcent 131
 
132
	// COURRIEL
133
	public String getCourriel() {
134
		return renvoyerValeurCorrecte("truk_courriel");
135
	}
136
	public void setCourriel(String c) {
137
		this.set("truk_courriel", c);
138
	}
245 jp_milcent 139
	public void ajouterCourriel(String c) {
240 jp_milcent 140
		ajouterChaineDenormalise("truk_courriel", c);
141
	}
245 jp_milcent 142
	public String selectionnerCourriel(int position) {
143
		return getInfoDenormaliseParPosition(renvoyerValeurCorrecte("truk_courriel"), position);
144
	}
240 jp_milcent 145
 
146
	// SPÉCIALITÉ
147
	public String getSpecialite() {
148
		return renvoyerValeurCorrecte("ce_truk_specialite");
149
	}
150
	public void setSpecialite(String s) {
151
		// Pas de liste pour l'instant, donc tout passe dans "Autre".
152
		setChaineDenormaliseUnique("ce_truk_specialite", "AUTRE", s);
153
	}
245 jp_milcent 154
	public String afficherSpecialite() {
155
		return getChaineDenormaliseUnique("ce_truk_specialite");
156
	}
240 jp_milcent 157
 
181 gduche 158
	public Object obtenirValeurChamp(String nomChamp)	{
159
		return renvoyerValeurCorrecte(nomChamp);
160
	}
431 gduche 161
 
162
 
163
	public String getString(String champ)	{
164
 
165
		return String.valueOf(renvoyerValeurCorrecte(champ));
166
 
167
	}
455 gduche 168
 
169
	public void setNaissanceDate(Date naissanceDate) {
170
		if (naissanceDate != null) {
171
			this.set("naissance_date", DateTimeFormat.getFormat("yyyy-MM-dd").format(naissanceDate));
172
		}
173
	}
174
 
175
	public void setDecesDate(Date decesDate) {
176
		if (decesDate != null) {
177
			this.set("deces_date", DateTimeFormat.getFormat("yyyy-MM-dd").format(decesDate));
178
		}
179
	}
180
 
181
	public void setFmtNomComplet(String prefixe, String suffixe)	{
182
		String fmtNomComplet = "";
183
		if ((prefixe != null)&&(!prefixe.trim().equals("")))	{
184
			fmtNomComplet += prefixe + " ";
185
		}
186
 
187
		if ((this.getPrenom()!=null)&&(!this.getPrenom().trim().equals("")))	{
188
			fmtNomComplet += this.getPrenom() + " ";
189
		}
190
 
191
		if ((this.getNom()!=null)&&(!this.getNom().trim().equals("")))	{
192
			fmtNomComplet += this.getNom() + " ";
193
		}
194
 
195
		if ((suffixe!=null)&&(!suffixe.trim().equals("")))	{
196
			fmtNomComplet += suffixe;
197
		}
198
 
620 gduche 199
 
200
		this.set("fmt_nom_complet", UtilString.ucFirst(fmtNomComplet));
455 gduche 201
	}
202
 
203
 
181 gduche 204
 
102 jpm 205
}