Subversion Repositories eFlore/Applications.coel

Rev

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

Rev 243 Rev 245
Line 36... Line 36...
36
import com.extjs.gxt.ui.client.event.SelectionChangedEvent;
36
import com.extjs.gxt.ui.client.event.SelectionChangedEvent;
37
import com.extjs.gxt.ui.client.event.SelectionChangedListener;
37
import com.extjs.gxt.ui.client.event.SelectionChangedListener;
38
import com.extjs.gxt.ui.client.event.SelectionListener;
38
import com.extjs.gxt.ui.client.event.SelectionListener;
39
import com.extjs.gxt.ui.client.event.ToolBarEvent;
39
import com.extjs.gxt.ui.client.event.ToolBarEvent;
40
import com.extjs.gxt.ui.client.store.ListStore;
40
import com.extjs.gxt.ui.client.store.ListStore;
-
 
41
import com.extjs.gxt.ui.client.store.Record;
-
 
42
import com.extjs.gxt.ui.client.store.Store;
-
 
43
import com.extjs.gxt.ui.client.store.StoreEvent;
41
import com.extjs.gxt.ui.client.widget.Component;
44
import com.extjs.gxt.ui.client.widget.Component;
42
import com.extjs.gxt.ui.client.widget.ContentPanel;
45
import com.extjs.gxt.ui.client.widget.ContentPanel;
43
import com.extjs.gxt.ui.client.widget.Info;
46
import com.extjs.gxt.ui.client.widget.Info;
44
import com.extjs.gxt.ui.client.widget.LayoutContainer;
47
import com.extjs.gxt.ui.client.widget.LayoutContainer;
45
import com.extjs.gxt.ui.client.widget.TabItem;
48
import com.extjs.gxt.ui.client.widget.TabItem;
Line 203... Line 206...
203
	private RadioGroup avecMotifAccesMarkRGrpChp;
206
	private RadioGroup avecMotifAccesMarkRGrpChp;
204
	private TextField<String> publicationChp;
207
	private TextField<String> publicationChp;
205
	private ContentPanel materielConservationCp;
208
	private ContentPanel materielConservationCp;
206
	private ListStore<Personne> personneExistanteMagazin;
209
	private ListStore<Personne> personneExistanteMagazin;
207
	private ComboBox<Personne> personneExistanteCombo;
210
	private ComboBox<Personne> personneExistanteCombo;
-
 
211
	private TextToolItem supprimerPersonnelBtn;
Line 208... Line 212...
208
 
212
 
209
 
213
 
210
	public FormStructureVue() {
214
	public FormStructureVue() {
Line 923... Line 927...
923
			for (int i = 0; i < nbrePersonne; i++) {
927
			for (int i = 0; i < nbrePersonne; i++) {
924
				StructureAPersonne personne = personnelGrilleMagazin.getAt(i);
928
				StructureAPersonne personne = personnelGrilleMagazin.getAt(i);
Line 925... Line 929...
925
				
929
				
926
				// Seules les lignes ajoutées ou modifiées sont prises en compte.
930
				// Seules les lignes ajoutées ou modifiées sont prises en compte.
-
 
931
				if (personnelGrilleMagazin.getModifiedRecords().contains(personnelGrilleMagazin.getRecord(personne)) == true) {
-
 
932
					
-
 
933
					// Gestion de l'id de la structure
-
 
934
					if (mode.equals("MODIF")) {
-
 
935
						personne.setIdStructure(identification.getId());
-
 
936
					}
927
				if (personnelGrilleMagazin.getModifiedRecords().contains(personnelGrilleMagazin.getRecord(personne)) == true) {
937
										
928
					// Gestion de la fonction
938
					// Gestion de la fonction
929
					String fonction = personne.get("fonction");
939
					String fonction = personne.get("fonction");
930
					if (fonction != null && !fonction.equals("")) {
940
					if (fonction != null && !fonction.equals("")) {
931
						Valeur valeurRecherche = comboLiFonction.getStore().findModel("nom", fonction);
941
						Valeur valeurRecherche = comboLiFonction.getStore().findModel("nom", fonction);
Line 981... Line 991...
981
					if (specialite != null && !specialite.equals("")) {
991
					if (specialite != null && !specialite.equals("")) {
982
						personne.setSpecialite(specialite);
992
						personne.setSpecialite(specialite);
983
					}
993
					}
Line 984... Line 994...
984
					
994
					
985
					// Ajout de la personne dans la liste correspondant à son état (ajouté ou modifié)
995
					// Ajout de la personne dans la liste correspondant à son état (ajouté ou modifié)
986
					if (personne.getIdPersonne().equals("")) {// Une personne ajoutée
996
					if (personne.get("etat").equals("A")) {// Une personne ajoutée
987
						personnelAjoute.put(""+i, personne);
997
						personnelAjoute.put(""+i, personne);
988
					} else {// Une personne modifiée
998
					} else {// Une personne modifiée
989
						personnelModifie.put(personne.getId(), personne);
999
						personnelModifie.put(personne.getId(), personne);
-
 
1000
					}
-
 
1001
				} else {
990
					}
1002
					GWT.log("Personne non modifiées : "+personne.getPrenom()+" "+personne.getNom(), null);
991
				}
1003
				}
992
			}
1004
			}
993
		}
1005
		}
Line 1063... Line 1075...
1063
		List<StructureAPersonne> personnes = new ArrayList<StructureAPersonne>();
1075
		List<StructureAPersonne> personnes = new ArrayList<StructureAPersonne>();
1064
		personnes.add(new StructureAPersonne(Valeur.FONCTION_DIRECTEUR, StructureAPersonne.ROLE_EQUIPE));
1076
		personnes.add(new StructureAPersonne(Valeur.FONCTION_DIRECTEUR, StructureAPersonne.ROLE_EQUIPE));
1065
		personnes.add(new StructureAPersonne(Valeur.FONCTION_CONSERVATEUR, StructureAPersonne.ROLE_EQUIPE));
1077
		personnes.add(new StructureAPersonne(Valeur.FONCTION_CONSERVATEUR, StructureAPersonne.ROLE_EQUIPE));
Line 1066... Line 1078...
1066
		
1078
		
1067
		personnelGrilleMagazin = new ListStore<StructureAPersonne>();
1079
		personnelGrilleMagazin = new ListStore<StructureAPersonne>();
-
 
1080
		personnelGrilleMagazin.add(personnes);
-
 
1081
		personnelGrilleMagazin.addListener(Store.Add, new Listener<StoreEvent<StructureAPersonne>>() {
-
 
1082
 
-
 
1083
			public void handleEvent(StoreEvent<StructureAPersonne> ce) {
-
 
1084
				// Activation du bouton supprimer si la grille contient un élément
-
 
1085
				if (grillePersonnel.getStore().getCount() > 0) {  
-
 
1086
					supprimerPersonnelBtn.enable();
-
 
1087
				}
-
 
1088
				
-
 
1089
			}
Line 1068... Line 1090...
1068
		personnelGrilleMagazin.add(personnes);  
1090
		});
Line 1069... Line 1091...
1069
		
1091
		
Line 1229... Line 1251...
1229
		TextToolItem ajouterPersonnelBtn = new TextToolItem("Ajouter", "icone-vcard-ajouter");
1251
		TextToolItem ajouterPersonnelBtn = new TextToolItem("Ajouter", "icone-vcard-ajouter");
1230
		ajouterPersonnelBtn.addSelectionListener(new SelectionListener<ToolBarEvent>() {  
1252
		ajouterPersonnelBtn.addSelectionListener(new SelectionListener<ToolBarEvent>() {  
1231
			@Override  
1253
			@Override  
1232
			public void componentSelected(ToolBarEvent ce) {  
1254
			public void componentSelected(ToolBarEvent ce) {  
1233
				StructureAPersonne personne = new StructureAPersonne("", StructureAPersonne.ROLE_EQUIPE);
1255
				StructureAPersonne personne = new StructureAPersonne("", StructureAPersonne.ROLE_EQUIPE);
-
 
1256
				personne.set("etat", "A");
1234
				grillePersonnel.stopEditing();
1257
				grillePersonnel.stopEditing();
1235
				int numNouveau = grillePersonnel.getData("nouveau");
1258
				int numNouveau = grillePersonnel.getData("nouveau");
1236
				grillePersonnel.setData("nouveau", ++numNouveau);
1259
				grillePersonnel.setData("nouveau", ++numNouveau);
1237
				personnelGrilleMagazin.insert(personne, 0);  
1260
				personnelGrilleMagazin.insert(personne, 0);
1238
				grillePersonnel.startEditing(0, 0);
1261
				grillePersonnel.startEditing(0, 0);
1239
 
-
 
1240
				// Activation du bouton supprimer si la grille contient un élément
-
 
1241
				if (grillePersonnel.getStore().getCount() > 0) {  
-
 
1242
					ce.component.enable();  
-
 
1243
				}
-
 
1244
			}  
1262
			}  
1245
		});
1263
		});
1246
		toolBar.add(ajouterPersonnelBtn);
1264
		toolBar.add(ajouterPersonnelBtn);
Line 1247... Line 1265...
1247
		
1265
		
Line 1248... Line 1266...
1248
		toolBar.add(new SeparatorToolItem());
1266
		toolBar.add(new SeparatorToolItem());
1249
		
1267
		
1250
		TextToolItem supprimerPersonnelBtn = new TextToolItem("Supprimer", "icone-vcard-supprimer");
1268
		supprimerPersonnelBtn = new TextToolItem("Supprimer", "icone-vcard-supprimer");
1251
		supprimerPersonnelBtn.addSelectionListener(new SelectionListener<ToolBarEvent>() {  
1269
		supprimerPersonnelBtn.addSelectionListener(new SelectionListener<ToolBarEvent>() {  
1252
			@Override
1270
			@Override
1253
			public void componentSelected(ToolBarEvent ce) {
1271
			public void componentSelected(ToolBarEvent ce) {
Line 1284... Line 1302...
1284
		toolBar.add(new SeparatorToolItem());
1302
		toolBar.add(new SeparatorToolItem());
Line 1285... Line 1303...
1285
		
1303
		
1286
		personneExistanteMagazin = new ListStore<Personne>();
1304
		personneExistanteMagazin = new ListStore<Personne>();
Line 1287... Line 1305...
1287
		personneExistanteMagazin.add(new ArrayList<Personne>());
1305
		personneExistanteMagazin.add(new ArrayList<Personne>());
1288
		
1306
		
1289
		personneExistanteCombo = new ComboBox<Personne>();  
1307
		personneExistanteCombo = new ComboBox<Personne>();
1290
		personneExistanteCombo.setWidth(200);
1308
		personneExistanteCombo.setWidth(200);
1291
		personneExistanteCombo.setEmptyText("Chercher une personne existante...");
1309
		personneExistanteCombo.setEmptyText("Chercher une personne existante...");
1292
		personneExistanteCombo.setTriggerAction(TriggerAction.ALL);  
1310
		personneExistanteCombo.setTriggerAction(TriggerAction.ALL);  
Line 1312... Line 1330...
1312
			public void componentSelected(ToolBarEvent ce) {  
1330
			public void componentSelected(ToolBarEvent ce) {  
1313
				Personne personneExistante = personneExistanteCombo.getValue();
1331
				Personne personneExistante = personneExistanteCombo.getValue();
Line 1314... Line 1332...
1314
				
1332
				
1315
				StructureAPersonne personne = new StructureAPersonne("", StructureAPersonne.ROLE_EQUIPE);
1333
				StructureAPersonne personne = new StructureAPersonne("", StructureAPersonne.ROLE_EQUIPE);
1316
				personne.setIdPersonne(personneExistante.getId());
-
 
1317
				personne.setPrenom(personneExistante.getPrenom());
-
 
Line 1318... Line 1334...
1318
				personne.setNom(personneExistante.getNom());
1334
				personne.setIdPersonne(personneExistante.getId());
-
 
1335
				
-
 
1336
				grillePersonnel.stopEditing();
1319
				
1337
 
1320
				grillePersonnel.stopEditing();
1338
				// Ajout au magazin de la grille
1321
				int numNouveau = grillePersonnel.getData("nouveau");
1339
				int numNouveau = grillePersonnel.getData("nouveau");
-
 
1340
				grillePersonnel.setData("nouveau", ++numNouveau);
-
 
1341
				personnelGrilleMagazin.insert(personne, 0);
-
 
1342
				
-
 
1343
				// Nous modifions l'enregistrement pour que le modèle soit pris en compte lors de la collecte.
-
 
1344
				Record record = personnelGrilleMagazin.getRecord(personnelGrilleMagazin.getAt(0));
-
 
1345
				record.beginEdit();
-
 
1346
				record.set("nom", personneExistante.getNom());
-
 
1347
				record.set("prenom", personneExistante.getPrenom());
-
 
1348
				record.set("telephone", personneExistante.selectionnerTelephone(Personne.TELEPHONE_FIXE));
-
 
1349
				record.set("fax", personneExistante.selectionnerFax(1));
-
 
1350
				record.set("courriel", personneExistante.selectionnerCourriel(1));
-
 
1351
				record.set("specialite", personneExistante.afficherSpecialite());
1322
				grillePersonnel.setData("nouveau", ++numNouveau);
1352
				record.set("etat", "A");
1323
				personnelGrilleMagazin.insert(personne, 0);  
1353
				record.endEdit();
1324
				grillePersonnel.startEditing(0, 0);
1354
				grillePersonnel.startEditing(0, 0);
1325
 
1355
				
1326
				// Activation du bouton supprimer si la grille contient un élément
-
 
1327
				if (grillePersonnel.getStore().getCount() > 0) {  
-
 
1328
					ce.component.enable();  
1356
				//GWT.log("Ajout : "+personnelGrilleMagazin.getModifiedRecords()., null);
1329
				}
1357
				GWT.log("ici : "+personnelGrilleMagazin.getModifiedRecords().contains(record), null);
1330
			}  
1358
			}  
Line 1331... Line 1359...
1331
		});
1359
		});
Line 2078... Line 2106...
2078
	private void rafraichirPersonnel() {
2106
	private void rafraichirPersonnel() {
2079
		mediateur.selectionnerStructureAPersonne(this, identification.getId(), StructureAPersonne.ROLE_EQUIPE);
2107
		mediateur.selectionnerStructureAPersonne(this, identification.getId(), StructureAPersonne.ROLE_EQUIPE);
2080
	}
2108
	}
Line 2081... Line 2109...
2081
	
2109
	
2082
	private void rafraichirPersonneExistante(String nom) {
2110
	private void rafraichirPersonneExistante(String nom) {
2083
		mediateur.selectionnerPersonneParNomComplet(this, null, nom); 
2111
		mediateur.selectionnerPersonneParNomComplet(this, null, nom+"%"); 
2084
	}
2112
	}
2085
}
2113
}