Subversion Repositories eFlore/Applications.coel

Rev

Rev 1762 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1762 Rev 1764
1
package org.tela_botanica.client.vues.personne;
1
package org.tela_botanica.client.vues.personne;
2
 
2
 
3
import java.util.ArrayList;
3
import java.util.ArrayList;
4
import java.util.Iterator;
4
import java.util.Iterator;
5
import java.util.List;
5
import java.util.List;
6
 
6
 
7
import org.tela_botanica.client.Mediateur;
7
import org.tela_botanica.client.Mediateur;
8
import org.tela_botanica.client.RegistreId;
8
import org.tela_botanica.client.RegistreId;
9
import org.tela_botanica.client.composants.ChampFiltreRecherche;
9
import org.tela_botanica.client.composants.ChampFiltreRecherche;
10
import org.tela_botanica.client.composants.InfoLogger;
10
import org.tela_botanica.client.composants.InfoLogger;
11
import org.tela_botanica.client.images.Images;
11
import org.tela_botanica.client.images.Images;
12
import org.tela_botanica.client.interfaces.Rafraichissable;
12
import org.tela_botanica.client.interfaces.Rafraichissable;
13
import org.tela_botanica.client.modeles.Information;
13
import org.tela_botanica.client.modeles.Information;
14
import org.tela_botanica.client.modeles.Utilisateur;
14
import org.tela_botanica.client.modeles.Utilisateur;
15
import org.tela_botanica.client.modeles.personne.Personne;
15
import org.tela_botanica.client.modeles.personne.Personne;
16
import org.tela_botanica.client.modeles.personne.PersonneAsyncDao;
16
import org.tela_botanica.client.modeles.personne.PersonneAsyncDao;
17
import org.tela_botanica.client.modeles.personne.PersonneListe;
17
import org.tela_botanica.client.modeles.personne.PersonneListe;
18
import org.tela_botanica.client.modeles.projet.Projet;
-
 
19
import org.tela_botanica.client.util.Debug;
-
 
20
import org.tela_botanica.client.vues.BarrePaginationVue;
18
import org.tela_botanica.client.vues.BarrePaginationVue;
21
 
19
 
22
import com.extjs.gxt.ui.client.Registry;
20
import com.extjs.gxt.ui.client.Registry;
23
import com.extjs.gxt.ui.client.Style.SortDir;
-
 
24
import com.extjs.gxt.ui.client.data.ModelComparer;
-
 
25
import com.extjs.gxt.ui.client.event.BaseEvent;
21
import com.extjs.gxt.ui.client.event.BaseEvent;
26
import com.extjs.gxt.ui.client.event.ButtonEvent;
22
import com.extjs.gxt.ui.client.event.ButtonEvent;
27
import com.extjs.gxt.ui.client.event.Events;
23
import com.extjs.gxt.ui.client.event.Events;
28
import com.extjs.gxt.ui.client.event.GridEvent;
24
import com.extjs.gxt.ui.client.event.GridEvent;
29
import com.extjs.gxt.ui.client.event.Listener;
25
import com.extjs.gxt.ui.client.event.Listener;
30
import com.extjs.gxt.ui.client.event.SelectionChangedEvent;
26
import com.extjs.gxt.ui.client.event.SelectionChangedEvent;
31
import com.extjs.gxt.ui.client.event.SelectionChangedListener;
27
import com.extjs.gxt.ui.client.event.SelectionChangedListener;
32
import com.extjs.gxt.ui.client.event.SelectionListener;
28
import com.extjs.gxt.ui.client.event.SelectionListener;
33
import com.extjs.gxt.ui.client.store.ListStore;
29
import com.extjs.gxt.ui.client.store.ListStore;
34
import com.extjs.gxt.ui.client.store.Store;
-
 
35
import com.extjs.gxt.ui.client.store.StoreSorter;
-
 
36
import com.extjs.gxt.ui.client.widget.ContentPanel;
30
import com.extjs.gxt.ui.client.widget.ContentPanel;
37
import com.extjs.gxt.ui.client.widget.button.Button;
31
import com.extjs.gxt.ui.client.widget.button.Button;
38
import com.extjs.gxt.ui.client.widget.grid.ColumnConfig;
32
import com.extjs.gxt.ui.client.widget.grid.ColumnConfig;
39
import com.extjs.gxt.ui.client.widget.grid.ColumnModel;
33
import com.extjs.gxt.ui.client.widget.grid.ColumnModel;
40
import com.extjs.gxt.ui.client.widget.grid.Grid;
34
import com.extjs.gxt.ui.client.widget.grid.Grid;
41
import com.extjs.gxt.ui.client.widget.grid.GridSelectionModel;
35
import com.extjs.gxt.ui.client.widget.grid.GridSelectionModel;
42
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
36
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
43
import com.extjs.gxt.ui.client.widget.toolbar.ToolBar;
37
import com.extjs.gxt.ui.client.widget.toolbar.ToolBar;
44
import com.google.gwt.core.client.GWT;
38
import com.google.gwt.core.client.GWT;
45
import com.google.gwt.i18n.client.Constants;
39
import com.google.gwt.i18n.client.Constants;
46
import com.google.gwt.user.client.Window;
40
import com.google.gwt.user.client.Window;
47
 
41
 
48
public class PersonneListeVue extends ContentPanel implements Rafraichissable {
42
public class PersonneListeVue extends ContentPanel implements Rafraichissable {
49
	
43
	
50
	private Mediateur mediateur = null ;
44
	private Mediateur mediateur = null ;
51
	
45
	
52
	private Grid<Personne> grille = null;
46
	private Grid<Personne> grille = null;
53
	private ListStore<Personne> store = null;
47
	private ListStore<Personne> store = null;
54
	
48
	
55
	private ChampFiltreRecherche champFiltreRecherche = null;
49
	private ChampFiltreRecherche champFiltreRecherche = null;
56
	private BarrePaginationVue pagination = null;
50
	private BarrePaginationVue pagination = null;
57
	
51
	
58
	private ColumnModel modeleColonnes = null;
52
	private ColumnModel modeleColonnes = null;
59
	private Button ajouter = null;
53
	private Button ajouter = null;
60
	private Button modifier = null;
54
	private Button modifier = null;
61
	private Button supprimer = null;
55
	private Button supprimer = null;
62
	
56
	
63
	private int indexElementSelectionne = 0;
57
	private int indexElementSelectionne = 0;
64
	private Personne personneSelectionnee = null;
58
	private Personne personneSelectionnee = null;
65
	
59
	
66
	public PersonneListeVue() {
60
	public PersonneListeVue() {
67
		mediateur = Registry.get(RegistreId.MEDIATEUR);
61
		mediateur = Registry.get(RegistreId.MEDIATEUR);
68
		Constants i18nC = mediateur.i18nC;
62
		Constants i18nC = mediateur.i18nC;
69
		
63
		
70
		setHeadingHtml(Mediateur.i18nC.personneListeLabel());
64
		setHeadingHtml(Mediateur.i18nC.personneListeLabel());
71
		setLayout(new FitLayout());
65
		setLayout(new FitLayout());
72
		
66
		
73
		//Définition de la barre d'outil
67
		//Définition de la barre d'outil
74
		ToolBar toolBar = new ToolBar();
68
		ToolBar toolBar = new ToolBar();
75
		ajouter = new Button(Mediateur.i18nC.ajouter());
69
		ajouter = new Button(Mediateur.i18nC.ajouter());
76
		ajouter.setIcon(Images.ICONES.ajouter());
70
		ajouter.setIcon(Images.ICONES.ajouter());
77
		ajouter.addSelectionListener(new SelectionListener<ButtonEvent>() {  
71
		ajouter.addSelectionListener(new SelectionListener<ButtonEvent>() {  
78
			public void componentSelected(ButtonEvent ce) {  
72
			public void componentSelected(ButtonEvent ce) {  
79
				mediateur.clicAjouterPersonne();
73
				mediateur.clicAjouterPersonne();
80
			}  
74
			}  
81
		});
75
		});
82
		ajouter.setToolTip(mediateur.i18nC.indicationCreerUneFiche()+" "+mediateur.i18nC.collectionSingulier());
76
		ajouter.setToolTip(mediateur.i18nC.indicationCreerUneFiche()+" "+mediateur.i18nC.collectionSingulier());
83
		toolBar.add(ajouter);
77
		toolBar.add(ajouter);
84
 
78
 
85
		modifier = new Button(Mediateur.i18nC.modifier());
79
		modifier = new Button(Mediateur.i18nC.modifier());
86
		modifier.setIcon(Images.ICONES.formModifier());
80
		modifier.setIcon(Images.ICONES.formModifier());
87
		modifier.addSelectionListener(new SelectionListener<ButtonEvent>() {  
81
		modifier.addSelectionListener(new SelectionListener<ButtonEvent>() {  
88
			public void componentSelected(ButtonEvent ce) {  
82
			public void componentSelected(ButtonEvent ce) {
89
				mediateur.clicModifierPersonne(grille.getSelectionModel().getSelectedItems());
83
				mediateur.clicModifierPersonne(grille.getSelectionModel().getSelectedItems());
90
			}  
84
			}  
91
		});
85
		});
92
		modifier.setToolTip(mediateur.i18nC.indicationModifierUneFiche());
86
		modifier.setToolTip(mediateur.i18nC.indicationModifierUneFiche());
93
		toolBar.add(modifier);
87
		toolBar.add(modifier);
94
		
88
		
95
		supprimer = new Button(Mediateur.i18nC.supprimer());
89
		supprimer = new Button(Mediateur.i18nC.supprimer());
96
		supprimer.setIcon(Images.ICONES.supprimer());
90
		supprimer.setIcon(Images.ICONES.supprimer());
97
		supprimer.addSelectionListener(new SelectionListener<ButtonEvent>() {  
91
		supprimer.addSelectionListener(new SelectionListener<ButtonEvent>() {  
98
			public void componentSelected(ButtonEvent ce) {  
92
			public void componentSelected(ButtonEvent ce) {  
99
				clicSupprimerPersonne(grille.getSelectionModel().getSelectedItems());
93
				clicSupprimerPersonne(grille.getSelectionModel().getSelectedItems());
100
			}  
94
			}  
101
		});
95
		});
102
		supprimer.setToolTip(mediateur.i18nC.indicationSupprimerUneFiche());
96
		supprimer.setToolTip(mediateur.i18nC.indicationSupprimerUneFiche());
103
		toolBar.add(supprimer);
97
		toolBar.add(supprimer);
104
		setTopComponent(toolBar);
98
		setTopComponent(toolBar);
105
 
99
 
106
		// Définition des colomnes de la grille:
100
		// Définition des colomnes de la grille:
107
		List<ColumnConfig> lstColumns = new ArrayList<ColumnConfig>();
101
		List<ColumnConfig> lstColumns = new ArrayList<ColumnConfig>();
108
		lstColumns.add(new ColumnConfig("id_personne", "Id", 45));
102
		lstColumns.add(new ColumnConfig("id_personne", "Id", 45));
109
		lstColumns.add(new ColumnConfig("nom", "Nom", 100));
103
		lstColumns.add(new ColumnConfig("nom", "Nom", 100));
110
		lstColumns.add(new ColumnConfig("prenom", "Prénom", 100));
104
		lstColumns.add(new ColumnConfig("prenom", "Prénom", 100));
111
		lstColumns.add(new ColumnConfig("fmt_nom_complet", "Nom Complet", 200));
105
		lstColumns.add(new ColumnConfig("fmt_nom_complet", "Nom Complet", 200));
112
		lstColumns.add(new ColumnConfig("code_postal", "Code postal", 100));
106
		lstColumns.add(new ColumnConfig("code_postal", "Code postal", 100));
113
		lstColumns.add(new ColumnConfig("ville", "Ville", 100));
107
		lstColumns.add(new ColumnConfig("ville", "Ville", 100));
114
		lstColumns.add(new ColumnConfig("_courriel_princ_", "Courriel", 200));
108
		lstColumns.add(new ColumnConfig("_courriel_princ_", "Courriel", 200));
115
 
109
 
116
		lstColumns.get(0).setHidden(true);
110
		lstColumns.get(0).setHidden(true);
117
		lstColumns.get(1).setHidden(true);
111
		lstColumns.get(1).setHidden(true);
118
		lstColumns.get(2).setHidden(true);
112
		lstColumns.get(2).setHidden(true);
119
		
113
		
120
		modeleColonnes = new ColumnModel(lstColumns);
114
		modeleColonnes = new ColumnModel(lstColumns);
121
 
115
 
122
		// Définition de la grille
116
		// Définition de la grille
123
		GridSelectionModel<Personne> gsmSelectionGrille = new GridSelectionModel<Personne>();
117
		GridSelectionModel<Personne> gsmSelectionGrille = new GridSelectionModel<Personne>();
124
		gsmSelectionGrille.addSelectionChangedListener(new SelectionChangedListener<Personne>() {
118
		gsmSelectionGrille.addSelectionChangedListener(new SelectionChangedListener<Personne>() {
125
			public void selectionChanged(SelectionChangedEvent<Personne> event) {
119
			public void selectionChanged(SelectionChangedEvent<Personne> event) {
126
				personneSelectionnee = (Personne) event.getSelectedItem();
120
				personneSelectionnee = (Personne) event.getSelectedItem();
127
				indexElementSelectionne = store.indexOf(personneSelectionnee);
121
				indexElementSelectionne = store.indexOf(personneSelectionnee);
128
				clicListe(personneSelectionnee);
122
				clicListe(personneSelectionnee);
129
			}
123
			}
130
		});
124
		});
131
		
125
		
132
		store = new ListStore<Personne>();
126
		store = new ListStore<Personne>();
133
		
127
		
134
		grille = new Grid<Personne>(store, modeleColonnes);		
128
		grille = new Grid<Personne>(store, modeleColonnes);		
135
		grille.setSelectionModel(gsmSelectionGrille);
129
		grille.setSelectionModel(gsmSelectionGrille);
136
		grille.setWidth("100%");
130
		grille.setWidth("100%");
137
		grille.setAutoExpandColumn("fmt_nom_complet");
131
		grille.setAutoExpandColumn("fmt_nom_complet");
138
		grille.getView().setAutoFill(true);
132
		grille.getView().setAutoFill(true);
139
		grille.getView().setForceFit(true);
133
		grille.getView().setForceFit(true);
140
		grille.addListener(Events.ViewReady, new Listener<BaseEvent>() {
134
		grille.addListener(Events.ViewReady, new Listener<BaseEvent>() {
141
			public void handleEvent(BaseEvent be) {
135
			public void handleEvent(BaseEvent be) {
142
				grille.getSelectionModel().select(0, false);
136
				grille.getSelectionModel().select(0, false);
143
			}
137
			}
144
		});
138
		});
145
		grille.addListener(Events.OnDoubleClick, new Listener<BaseEvent>(){
139
		grille.addListener(Events.OnDoubleClick, new Listener<BaseEvent>(){
146
			public void handleEvent(BaseEvent be) {
140
			public void handleEvent(BaseEvent be) {
147
				modifier.fireEvent(Events.Select);
141
				modifier.fireEvent(Events.Select);
148
			}
142
			}
149
		});
143
		});
150
 
144
 
151
		grille.addListener(Events.SortChange, new Listener<BaseEvent>() {
145
		grille.addListener(Events.SortChange, new Listener<BaseEvent>() {
152
 
146
 
153
			@Override
147
			@Override
154
			public void handleEvent(BaseEvent be) {
148
			public void handleEvent(BaseEvent be) {
155
				GridEvent ge = (GridEvent<Personne>) be;
149
				GridEvent ge = (GridEvent<Personne>) be;
-
 
150
				ge.preventDefault();
156
				// TODO rajouter un test sur le sort state pour trier par nom par défaut 
151
				// TODO rajouter un test sur le sort state pour trier par nom par défaut 
157
				// bref, on verra plus tard parce que c'est chiant et qu'on en a marre de coel
152
				// bref, on verra plus tard parce que c'est chiant et qu'on en a marre de coel
158
				String tri = ge.getSortInfo().getSortField();
153
				String tri = ge.getSortInfo().getSortField();
159
				if(tri.equals("_courriel_princ_")) {
154
				if(tri.equals("_courriel_princ_")) {
160
					tri = "truk_courriel";
155
					tri = "truk_courriel";
161
				}
156
				}
162
				
157
				
163
				if(tri.equals("fmt_nom_complet")) {
158
				if(tri.equals("fmt_nom_complet")) {
164
					tri = "nom";
159
					tri = "nom";
165
				}
160
				}
166
				PersonneAsyncDao.tri = Personne.PREFIXE+"_"+tri+" "+ge.getSortInfo().getSortDir().toString();
161
				PersonneAsyncDao.tri = Personne.PREFIXE+"_"+tri+" "+ge.getSortInfo().getSortDir().toString();
167
				pagination.changePage();
162
				pagination.changePage();
168
			}
163
			}
169
		});
164
		});
170
		add(grille);
165
		add(grille);
171
		
166
		
172
		PersonneListe personneListe = new PersonneListe();
167
		PersonneListe personneListe = new PersonneListe();
173
		champFiltreRecherche = new ChampFiltreRecherche(mediateur, toolBar, personneListe);
168
		champFiltreRecherche = new ChampFiltreRecherche(mediateur, toolBar, personneListe);
174
		// Définition de la barre de pagination
169
		// Définition de la barre de pagination
175
		pagination = new BarrePaginationVue(personneListe, mediateur, champFiltreRecherche);
170
		pagination = new BarrePaginationVue(personneListe, mediateur, champFiltreRecherche);
176
		setBottomComponent(pagination);
171
		setBottomComponent(pagination);
177
	}
172
	}
178
 
173
 
179
	private void clicListe(Personne personne) {
174
	private void clicListe(Personne personne) {
180
		if (personne != null && store.getCount() > 0) {
175
		if (personne != null && store.getCount() > 0) {
181
			mediateur.clicListePersonne(personne);
176
			mediateur.clicListePersonne(personne);
182
		}
177
		}
183
	}
178
	}
184
	
179
	
185
	private void clicSupprimerPersonne(List<Personne> personnesASupprimer) {
180
	private void clicSupprimerPersonne(List<Personne> personnesASupprimer) {
186
		if (store.getCount() > 0) {
181
		if (store.getCount() > 0) {
187
			mediateur.clicSupprimerPersonne(this, personnesASupprimer);
182
			mediateur.clicSupprimerPersonne(this, personnesASupprimer);
188
		}
183
		}
189
	}
184
	}
190
	
185
	
191
	private void gererEtatActivationBouton()	{
186
	private void gererEtatActivationBouton()	{
192
		int nbreElementDuMagazin = store.getCount();
187
		int nbreElementDuMagazin = store.getCount();
193
		ajouter.enable();
188
		ajouter.enable();
194
		if (nbreElementDuMagazin == 0) {
189
		if (nbreElementDuMagazin == 0) {
195
			supprimer.disable();
190
			supprimer.disable();
196
			modifier.disable();
191
			modifier.disable();
197
		} else if (nbreElementDuMagazin > 0) {
192
		} else if (nbreElementDuMagazin > 0) {
198
			modifier.enable();
193
			modifier.enable();
199
			if (((Utilisateur) Registry.get(RegistreId.UTILISATEUR_COURANT)).isIdentifie()) {
194
			if (((Utilisateur) Registry.get(RegistreId.UTILISATEUR_COURANT)).isIdentifie()) {
200
				supprimer.enable();
195
				supprimer.enable();
201
			}
196
			}
202
		}
197
		}
203
	}
198
	}
204
	
199
	
205
	public void rafraichir(Object nouvellesDonnees) {
200
	public void rafraichir(Object nouvellesDonnees) {
206
		
201
		
207
		if (nouvellesDonnees instanceof PersonneListe) {
202
		if (nouvellesDonnees instanceof PersonneListe) {
208
			PersonneListe listePersonnes = (PersonneListe) nouvellesDonnees;
203
			PersonneListe listePersonnes = (PersonneListe) nouvellesDonnees;
209
			
204
			
210
			// la grille de gxt est case sensitive, on harmonise donc tous les noms en majuscule et sans espaces
205
			// la grille de gxt est case sensitive, on harmonise donc tous les noms en majuscule et sans espaces
211
			// au début et à la fin  afin de pouvoir trier correctement 
206
			// au début et à la fin  afin de pouvoir trier correctement 
212
			// (la colonne nom ne sert qu'au tri et n'est pas affichée)
207
			// (la colonne nom ne sert qu'au tri et n'est pas affichée)
213
			for (Iterator<Personne> iterator = listePersonnes.toList().iterator(); iterator.hasNext();) {
208
			for (Iterator<Personne> iterator = listePersonnes.toList().iterator(); iterator.hasNext();) {
214
				 Personne personne =  iterator.next();
209
				 Personne personne =  iterator.next();
215
				 personne.setNom(personne.getNom().toUpperCase().trim());
210
				 personne.setNom(personne.getNom().toUpperCase().trim());
216
			}
211
			}
217
			
212
			
218
			champFiltreRecherche.setListePaginable(listePersonnes);
213
			champFiltreRecherche.setListePaginable(listePersonnes);
219
			pagination.setlistePaginable(listePersonnes);
214
			pagination.setlistePaginable(listePersonnes);
220
			pagination.rafraichir(listePersonnes.getPageTable());
215
			pagination.rafraichir(listePersonnes.getPageTable());
221
			
216
			
222
			if (listePersonnes != null) {
217
			if (listePersonnes != null) {
223
				List<Personne> liste = (List<Personne>) listePersonnes.toList();
218
				List<Personne> liste = (List<Personne>) listePersonnes.toList();
224
				store.removeAll();
219
				store.removeAll();
225
				store.add(liste);
220
				store.add(liste);
226
				mediateur.actualiserPanneauCentral();
221
				mediateur.actualiserPanneauCentral();
227
				grille.fireEvent(Events.ViewReady);
222
				grille.fireEvent(Events.ViewReady);
228
			}
223
			}
229
		} else if (nouvellesDonnees instanceof Information)	{
224
		} else if (nouvellesDonnees instanceof Information)	{
230
			Information info = (Information) nouvellesDonnees;
225
			Information info = (Information) nouvellesDonnees;
231
			if (info.getType().equals("maj_utilisateur")) {
226
			if (info.getType().equals("maj_utilisateur")) {
232
				gererEtatActivationBouton();
227
				gererEtatActivationBouton();
233
			} else if(info.getType().equals("personne_modifiee")) {
228
			} else if(info.getType().equals("personne_modifiee")) {
-
 
229
				// curieusement la suppression efface aussi l'index de l'élément
-
 
230
				// car elle redéclenche l'évenement de selection (on le stocke donc temporairement)
-
 
231
				int temporaire = indexElementSelectionne;
234
				if(personneSelectionnee != null) {
232
				if(personneSelectionnee != null) {
235
					store.remove(indexElementSelectionne);
233
					store.remove(indexElementSelectionne);
236
					personneSelectionnee = null;
234
					personneSelectionnee = null;
237
				}
235
				}
238
				Personne personneModifiee = (Personne)info.getDonnee(0);
236
				Personne personneModifiee = (Personne)info.getDonnee(0);
239
				// au cas ou le bouton appliquer aurait été cliqué avant de valider
237
				// au cas ou le bouton appliquer aurait été cliqué avant de valider
240
				store.remove(personneModifiee);
238
				store.remove(personneModifiee);
-
 
239
				indexElementSelectionne = temporaire;
241
				store.insert(personneModifiee, indexElementSelectionne);
240
				store.insert(personneModifiee, temporaire);
242
				personneSelectionnee = personneModifiee;
241
				personneSelectionnee = personneModifiee;
243
				int indexElementSelectionne = store.indexOf(personneSelectionnee);
242
				int indexElementSelectionne = store.indexOf(personneSelectionnee);
244
				grille.getSelectionModel().select(indexElementSelectionne, false);
243
				grille.getSelectionModel().select(indexElementSelectionne, false);
245
				grille.getView().focusRow(indexElementSelectionne);
244
				grille.getView().focusRow(indexElementSelectionne);
246
				clicListe(personneSelectionnee);
245
				clicListe(personneSelectionnee);
247
			} else if (info.getType().equals("suppression_personne")) 	{
246
			} else if (info.getType().equals("suppression_personne")) 	{
248
				InfoLogger.display("Suppression de personne", info.getMessages().toString());	
247
				InfoLogger.display("Suppression de personne", info.getMessages().toString());	
249
				pagination.getlistePaginable().recharger();
248
				pagination.getlistePaginable().recharger();
250
				gererEtatActivationBouton();
249
				gererEtatActivationBouton();
251
			} else if (info.getType().equals("maj_utilisateur"))	{
250
			} else if (info.getType().equals("maj_utilisateur"))	{
252
				gererEtatActivationBouton();
251
				gererEtatActivationBouton();
253
			} else {
252
			} else {
254
				InfoLogger.display("Erreur", info.getMessages().toString(), true);
253
				InfoLogger.display("Erreur", info.getMessages().toString(), true);
255
			}
254
			}
256
		} else {
255
		} else {
257
			GWT.log(Mediateur.i18nM.erreurRafraichir(nouvellesDonnees.getClass(), this.getClass()), null);
256
			GWT.log(Mediateur.i18nM.erreurRafraichir(nouvellesDonnees.getClass(), this.getClass()), null);
258
		}
257
		}
259
		
258
		
260
		layout();
259
		layout();
261
	}
260
	}
262
}
261
}
263
 
262
 
264
 
263
 
265
 
264
 
266
 
265
 
267
 
266
 
268
 
267