Subversion Repositories eFlore/Applications.coel

Rev

Rev 749 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 749 Rev 758
Line 120... Line 120...
120
		fieldSetAuteurs = new FieldSet();
120
		fieldSetAuteurs = new FieldSet();
121
		fieldSetAuteurs.setHeading("Auteur(s)");
121
		fieldSetAuteurs.setHeading("Auteur(s)");
122
		fieldSetAuteurs.setCollapsible(true);
122
		fieldSetAuteurs.setCollapsible(true);
123
		fieldSetAuteurs.setLayout(layoutFieldset);
123
		fieldSetAuteurs.setLayout(layoutFieldset);
Line -... Line 124...
-
 
124
		
-
 
125
		listeAuteurs = new ArrayList<ComboBox<Personne>>(0);
124
		
126
		
Line 125... Line 127...
125
		panel.add(fieldSetAuteurs);
127
		panel.add(fieldSetAuteurs);
Line 126... Line 128...
126
		
128
		
127
		genererChampsAuteur("", false);
129
		genererChampsAuteur(false);
128
		
130
		
129
		// Création de la disposition : FIELDSET
131
		// Création de la disposition : FIELDSET
Line 222... Line 224...
222
	public void rafraichir(Object nouvellesDonnees) {
224
	public void rafraichir(Object nouvellesDonnees) {
Line 223... Line 225...
223
		
225
		
224
		// Si on a reçu les details d'une publication
226
		// Si on a reçu les details d'une publication
225
		if (nouvellesDonnees instanceof Publication) {
227
		if (nouvellesDonnees instanceof Publication) {
-
 
228
			mode = "MODIF" ;
226
			mode = "MODIF" ;
229
			
-
 
230
			
227
						
231
			genererChampsAuteur(true);
228
			publi = (Publication) nouvellesDonnees;
232
			publi = (Publication) nouvellesDonnees;
229
			mediateur.selectionnerAuteurAPublication(this,publi.getId());
233
			mediateur.selectionnerAuteurAPublication(this,publi.getId());
230
			mediateur.clicObtenirListeAuteurs(this);
234
			mediateur.clicObtenirListeAuteurs(this);
231
			nomArticle.setValue(publi.getTitre());
235
			nomArticle.setValue(publi.getTitre());
232
			intituleCollPub.setValue(publi.getCollection());
236
			intituleCollPub.setValue(publi.getCollection());
233
			uriPub.setValue(publi.getURI());
237
			uriPub.setValue(publi.getURI());
234
			datePub.setRawValue(publi.getDateParution());
238
			datePub.setRawValue(reduireDateParAnnee(publi.getDateParution()));
235
			tomPub.setValue(publi.getIndicationNvt());
239
			tomPub.setValue(publi.getIndicationNvt());
236
			fasciculePub.setValue(publi.getFascicule());
240
			fasciculePub.setValue(publi.getFascicule());
Line 237... Line 241...
237
			pagesPub.setValue(publi.getPages());
241
			pagesPub.setValue(publi.getPages());
Line 255... Line 259...
255
			comboListeEditeurs.expand();
259
			comboListeEditeurs.expand();
256
		}
260
		}
Line 257... Line 261...
257
		
261
		
258
		if(nouvellesDonnees instanceof PublicationAPersonneListe) {
262
		if(nouvellesDonnees instanceof PublicationAPersonneListe) {
259
			pubAPersonneListeAuteur = (PublicationAPersonneListe)nouvellesDonnees;
-
 
Line 260... Line 263...
260
			listeAuteurPublicationInitialisee = true;
263
			pubAPersonneListeAuteur = (PublicationAPersonneListe)nouvellesDonnees;
261
			
264
			
262
			if(listeAuteurInitialisee) {
265
			if(listeAuteurInitialisee) {
263
				Iterator<String> itap = pubAPersonneListeAuteur.keySet().iterator();
266
				Iterator<String> itap = pubAPersonneListeAuteur.keySet().iterator();
264
				for(;itap.hasNext();){
267
				for(;itap.hasNext();){
-
 
268
					creerTextFieldEtBouton(pubAPersonneListeAuteur.get(itap.next()).getIdAuteur());
-
 
269
				}
-
 
270
				
-
 
271
				int nbAuteurs = 0;
-
 
272
				for(Iterator<ComboBox<Personne>> it = listeAuteurs.iterator(); it.hasNext();) {
-
 
273
					if(listeAuteurs.size() > 1) {
-
 
274
						it.next().setFieldLabel("Auteur "+nbAuteurs);
-
 
275
						nbAuteurs++;
-
 
276
					}
265
					creerTextFieldEtBouton(pubAPersonneListeAuteur.get(itap.next()).getIdAuteur());
277
				}
266
				}
278
				listeAuteurPublicationInitialisee = true;
Line 267... Line 279...
267
			}
279
			}
268
		}
280
		}
Line 277... Line 289...
277
					Personne p = listePersonneAuteur.get(it.next());
289
					Personne p = listePersonneAuteur.get(it.next());
278
					storeAuteurs.add(p);
290
					storeAuteurs.add(p);
279
				}
291
				}
Line 280... Line 292...
280
				
292
				
281
				listeAuteurInitialisee = true;
-
 
282
				
-
 
283
				if(listeAuteurPublicationInitialisee && mode.equals("MODIF")) {
-
 
284
					Iterator<String> itap = pubAPersonneListeAuteur.keySet().iterator();
-
 
285
					for(;itap.hasNext();){
-
 
286
						creerTextFieldEtBouton(pubAPersonneListeAuteur.get(itap.next()).getIdAuteur());
-
 
287
					}
-
 
288
				}
293
				listeAuteurInitialisee = true;
Line 289... Line 294...
289
			}
294
			}
290
			
295
			
291
			if (nouvellesInfos.getType().equals("publication_valide")) {
296
			if (nouvellesInfos.getType().equals("publication_valide")) {
Line 396... Line 401...
396
			return "";
401
			return "";
397
		} else {
402
		} else {
398
			return "Format de date incorrect ";
403
			return "Format de date incorrect ";
399
		}
404
		}
400
	}
405
	}
401
 
406
	
402
	private void genererChampsAuteur(String auteursStr, boolean ajouter) {
407
	private String reduireDateParAnnee(String datePar) {
403
		String[] auteurs = auteursStr.split("|");
-
 
404
		
-
 
405
		Window.alert("les auteurs sont : "+auteursStr);
408
		if(datePar.matches("^[0-2][0-9]{3}(-[0-9]{2}){2}$")) {
406
		conteneurChamps = new LayoutContainer(); 
-
 
407
		
-
 
408
		if (auteurs.length != 0) {
409
			return datePar.split("-")[0];
409
			listeAuteurs = new ArrayList<ComboBox<Personne>>(auteurs.length);
-
 
410
		} else {
410
		} else {
411
			listeAuteurs = new ArrayList<ComboBox<Personne>>(1);
-
 
412
			ajouter = true ;
411
			return "";
413
		}
412
		}
-
 
413
	}
-
 
414
 
-
 
415
	private void genererChampsAuteur(boolean vider) {
Line 414... Line 416...
414
		
416
		
415
		fieldSetAuteurs.removeAll();
-
 
416
		int i = 0;
-
 
417
		
-
 
418
		for (i = 0; i < auteurs.length; i++) {
-
 
419
			conteneurChamps.add(creerTextFieldEtBouton(auteurs[i]));
-
 
420
		}
-
 
421
		
-
 
422
		if (ajouter) {
-
 
423
			conteneurChamps.add(creerTextFieldEtBouton(null));
-
 
Line -... Line 417...
-
 
417
		fieldSetAuteurs.removeAll();
-
 
418
		
424
		}
419
		conteneurChamps = new LayoutContainer(); 
425
		
420
				
Line 426... Line 421...
426
		Button ajoutAuteurBtn = new Button("Ajouter un auteur");
421
		Button ajoutAuteurBtn = new Button("Ajouter un auteur");
427
		ajoutAuteurBtn.addSelectionListener(new SelectionListener<ButtonEvent>() {
422
		ajoutAuteurBtn.addSelectionListener(new SelectionListener<ButtonEvent>() {
428
 
423
 
429
			@Override
424
			@Override
430
			public void componentSelected(ButtonEvent be) {
425
			public void componentSelected(ButtonEvent be) {
431
				creerTextFieldEtBouton("");
426
				creerTextFieldEtBouton("");
432
				int nbAuteurs = 1;
427
				int nbAuteurs = 0;
433
				for(Iterator<ComboBox<Personne>> it = listeAuteurs.iterator(); it.hasNext();) {
428
				for(Iterator<ComboBox<Personne>> it = listeAuteurs.iterator(); it.hasNext();) {
434
					if(listeAuteurs.size() > 1) {
429
					if(listeAuteurs.size() > 1) {
Line 442... Line 437...
442
		});
437
		});
Line 443... Line 438...
443
		
438
		
444
		fieldSetAuteurs.add(conteneurChamps);
439
		fieldSetAuteurs.add(conteneurChamps);
445
		fieldSetAuteurs.add(ajoutAuteurBtn);
440
		fieldSetAuteurs.add(ajoutAuteurBtn);
-
 
441
		fieldSetAuteurs.layout(true);
-
 
442
		
-
 
443
		if(!vider) {
-
 
444
			creerTextFieldEtBouton("");
-
 
445
		}
-
 
446
		
446
		fieldSetAuteurs.layout(true);
447
 
Line 447... Line 448...
447
	}
448
	}
448
	
449
	
Line 472... Line 473...
472
		
473
		
473
		Button supp = new Button("-");
474
		Button supp = new Button("-");
474
		supp.addSelectionListener(new SelectionListener<ButtonEvent>() {
475
		supp.addSelectionListener(new SelectionListener<ButtonEvent>() {
475
			@Override
476
			@Override
476
			public void componentSelected(ButtonEvent be) {
477
			public void componentSelected(ButtonEvent be) {
477
				int nbAuteurs = 1;
478
				int nbAuteurs = 0;
478
				if(listeAuteurs.size() != 1) {
479
				if(listeAuteurs.size() != 1) {
479
					for(Iterator<ComboBox<Personne>> it = listeAuteurs.iterator(); it.hasNext();) {
480
					for(Iterator<ComboBox<Personne>> it = listeAuteurs.iterator(); it.hasNext();) {
480
							it.next().setFieldLabel("Auteur "+nbAuteurs);
481
							it.next().setFieldLabel("Auteur "+nbAuteurs);
481
							nbAuteurs++;
482
							nbAuteurs++;