Subversion Repositories eFlore/Applications.coel

Rev

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

Rev 782 Rev 786
Line 50... Line 50...
50
import com.google.gwt.user.client.ui.HTML;
50
import com.google.gwt.user.client.ui.HTML;
51
import com.google.gwt.user.client.ui.Label;
51
import com.google.gwt.user.client.ui.Label;
Line 52... Line 52...
52
 
52
 
Line 53... Line 53...
53
public class PublicationForm extends Formulaire implements Rafraichissable {
53
public class PublicationForm extends Formulaire implements Rafraichissable {
54
	
54
	
55
	private Publication publi;
-
 
Line 56... Line 55...
56
	private PublicationAPersonneListe pubAPersonneListeAuteur = null;
55
	private Publication publication;
57
	
56
	private PublicationAPersonneListe publicationAPersonneListe = null;
58
	
57
	
59
	private FieldSet auteursFieldset = null;
58
	private FieldSet auteursFieldset = null;
60
	private ArrayList<ComboBox<Personne>> auteurComboboxListe = null;
59
	private ArrayList<ComboBox<Personne>> auteurComboboxListe = null;
Line 61... Line 60...
61
	private PersonneListe listePersonneAuteur = null;
60
	private PersonneListe listePersonneAuteur = null;
62
	private LayoutContainer conteneurChamps;
61
	private LayoutContainer conteneurChamps;
63
	private ListStore<Personne> auteursStorePartage = null;
62
	private ListStore<Personne> auteursStorePartage = null;
64
	
63
	
Line 65... Line 64...
65
	private FieldSet generalitesFieldset = null;
64
	private FieldSet generalitesFieldset = null;
66
	private TextField<String> nomArticle = null;
65
	private TextField<String> titreChp = null;
67
	private TextField<String> intituleCollPub = null;
66
	private TextField<String> collectionChp = null;
68
	private TextField<String> uriPub = null;
67
	private TextField<String> uriChp = null;
69
	
68
	
70
	private FieldSet editionFieldset = null;
69
	private FieldSet editionFieldset = null;
71
	private ComboBox<Structure> comboListeEditeurs = null;
70
	private ComboBox<Structure> editeursCombobox = null;
Line 72... Line 71...
72
	private ListStore<Structure> storeEditeurs = null;
71
	private ListStore<Structure> editeursStore = null;
73
	private TextField<String> datePub = null;
-
 
74
	private TextField<String> tomPub = null;
-
 
75
	private TextField<String> fasciculePub = null;
-
 
76
	private TextField<String> pagesPub = null;
72
	private TextField<String> datePublicationChp = null;
Line -... Line 73...
-
 
73
	private TextField<String> tomeChp = null;
-
 
74
	private TextField<String> fasciculeChp = null;
-
 
75
	private TextField<String> pagesChp = null;
77
	
76
	
78
	private String idStructureEdition = ""; 
77
	private String idStructureEdition = ""; 
79
	private String idPublication = "";
78
	private String idAuteurs = "";
80
	private String idProjet = "";
79
	
81
	
-
 
82
	private String idAuteurs = "";
-
 
83
	
-
 
84
	private boolean formValide = false;
80
	protected boolean listePersonneAuteurInitialisee = false;
Line 85... Line 81...
85
	private boolean validationPublication = false;
81
	protected boolean listeAuteurPublicationInitialisee = false;
86
	private boolean validationAuteurs = false;
82
 
87
	
83
	private boolean formValide = false;
Line 238... Line 234...
238
		generalitesFieldset = new FieldSet();
234
		generalitesFieldset = new FieldSet();
239
		generalitesFieldset.setHeading("Informations générales");
235
		generalitesFieldset.setHeading("Informations générales");
240
		generalitesFieldset.setCollapsible(true);
236
		generalitesFieldset.setCollapsible(true);
241
		generalitesFieldset.setLayout(layout);
237
		generalitesFieldset.setLayout(layout);
Line 242... Line 238...
242
		
238
		
243
		nomArticle = new TextField<String>();
239
		titreChp = new TextField<String>();
244
		nomArticle.setName("cpu");
240
		titreChp.setName("cpu");
245
		nomArticle.setFieldLabel("Titre de l'article ou de l'ouvrage");
241
		titreChp.setFieldLabel("Titre de l'article ou de l'ouvrage");
246
		
242
		
247
		intituleCollPub = new TextField<String>();
243
		collectionChp = new TextField<String>();
248
		intituleCollPub.setFieldLabel("Intitulé de la collection ou de la revue");
244
		collectionChp.setFieldLabel("Intitulé de la collection ou de la revue");
249
		
245
		
250
		uriPub = new TextField<String>();
246
		uriChp = new TextField<String>();
251
		uriPub.setFieldLabel("URI de la publication");
247
		uriChp.setFieldLabel("URI de la publication");
252
		
248
		
253
		generalitesFieldset.add(nomArticle);
249
		generalitesFieldset.add(titreChp);
254
		generalitesFieldset.add(intituleCollPub);
250
		generalitesFieldset.add(collectionChp);
255
		generalitesFieldset.add(uriPub);
251
		generalitesFieldset.add(uriChp);
Line 256... Line 252...
256
	}
252
	}
257
	
253
	
258
	private void creerZoneEdition() {
254
	private void creerZoneEdition() {
Line 263... Line 259...
263
		editionFieldset = new FieldSet();
259
		editionFieldset = new FieldSet();
264
		editionFieldset.setHeading("Edition");
260
		editionFieldset.setHeading("Edition");
265
		editionFieldset.setCollapsible(true);
261
		editionFieldset.setCollapsible(true);
266
		editionFieldset.setLayout(layout);
262
		editionFieldset.setLayout(layout);
Line 267... Line 263...
267
		
263
		
268
		storeEditeurs = new ListStore<Structure>();
264
		editeursStore = new ListStore<Structure>();
269
		comboListeEditeurs = new ComboBox<Structure>();  
265
		editeursCombobox = new ComboBox<Structure>();  
270
		comboListeEditeurs.setEmptyText("Sélectionner un editeur...");
266
		editeursCombobox.setEmptyText("Sélectionner un editeur...");
271
		comboListeEditeurs.setFieldLabel("Editeur de la publication");
267
		editeursCombobox.setFieldLabel("Editeur de la publication");
272
		comboListeEditeurs.setDisplayField("nom");
268
		editeursCombobox.setDisplayField("nom");
273
		comboListeEditeurs.setStore(storeEditeurs);
269
		editeursCombobox.setStore(editeursStore);
274
		comboListeEditeurs.setEditable(true);
270
		editeursCombobox.setEditable(true);
275
		comboListeEditeurs.setTypeAhead(true);  
271
		editeursCombobox.setTypeAhead(true);  
276
		comboListeEditeurs.setTriggerAction(TriggerAction.QUERY);
272
		editeursCombobox.setTriggerAction(TriggerAction.QUERY);
277
		editionFieldset.add(comboListeEditeurs, new FormData(500, 20));
273
		editionFieldset.add(editeursCombobox, new FormData(500, 20));
278
		
274
		
279
		datePub = new TextField<String>();
275
		datePublicationChp = new TextField<String>();
280
		datePub.setMaxLength(4);
276
		datePublicationChp.setMaxLength(4);
281
		datePub.setMinLength(4);
277
		datePublicationChp.setMinLength(4);
282
		datePub.setFieldLabel("Année de publication");
278
		datePublicationChp.setFieldLabel("Année de publication");
283
		editionFieldset.add(datePub, new FormData(40, 20));
279
		editionFieldset.add(datePublicationChp, new FormData(40, 20));
284
		
280
		
285
		tomPub = new TextField<String>();
281
		tomeChp = new TextField<String>();
286
		tomPub.setFieldLabel("Tome");
282
		tomeChp.setFieldLabel("Tome");
287
		editionFieldset.add(tomPub, new FormData(75, 20));
283
		editionFieldset.add(tomeChp, new FormData(75, 20));
288
		
284
		
289
		fasciculePub = new TextField<String>();
285
		fasciculeChp = new TextField<String>();
290
		fasciculePub.setFieldLabel("Fascicule");
286
		fasciculeChp.setFieldLabel("Fascicule");
291
		editionFieldset.add(fasciculePub, new FormData(75, 20));
287
		editionFieldset.add(fasciculeChp, new FormData(75, 20));
292
		
288
		
293
		pagesPub = new TextField<String>();
289
		pagesChp = new TextField<String>();
294
		pagesPub.setFieldLabel("Pages");
290
		pagesChp.setFieldLabel("Pages");
295
		editionFieldset.add(pagesPub, new FormData(100, 20));
291
		editionFieldset.add(pagesChp, new FormData(100, 20));
Line 296... Line 292...
296
	}
292
	}
297
 
293
 
298
	public void rafraichir(Object nouvellesDonnees) {
294
	public void rafraichir(Object nouvellesDonnees) {
Line 315... Line 311...
315
			repandreRafraichissement();
311
			repandreRafraichissement();
316
			controlerFermetureApresRafraichissement();
312
			controlerFermetureApresRafraichissement();
317
		}
313
		}
318
	}
314
	}
Line 319... Line 315...
319
 
315
 
320
	private void rafraichirPublication(Publication publication) {
316
	private void rafraichirPublication(Publication publi) {
Line 321... Line 317...
321
		publi = publication;
317
		publication = publi;
322
		
318
		
323
		genererChampsAuteur(true);
319
		genererChampsAuteur(true);
324
		nomArticle.setValue(publi.getTitre());
320
		titreChp.setValue(publication.getTitre());
325
		intituleCollPub.setValue(publi.getCollection());
321
		collectionChp.setValue(publication.getCollection());
326
		uriPub.setValue(publi.getURI());
322
		uriChp.setValue(publication.getURI());
327
		datePub.setRawValue(reduireDateParAnnee(publi.getDateParution()));
323
		datePublicationChp.setRawValue(reduireDateParAnnee(publication.getDateParution()));
328
		tomPub.setValue(publi.getIndicationNvt());
324
		tomeChp.setValue(publication.getIndicationNvt());
329
		fasciculePub.setValue(publi.getFascicule());
-
 
330
		pagesPub.setValue(publi.getPages());
325
		fasciculeChp.setValue(publication.getFascicule());
331
		idPublication = publi.getId();
-
 
332
		idStructureEdition = publi.getEditeur();
326
		pagesChp.setValue(publication.getPages());
Line 333... Line 327...
333
		idProjet = publi.getIdProjet() ;
327
		idStructureEdition = publication.getEditeur();
334
	}
328
	}
335
	
329
	
Line 336... Line 330...
336
	private void rafraichirListeEditeurs(StructureListe editeurs) {
330
	private void rafraichirListeEditeurs(StructureListe editeurs) {
337
		storeEditeurs.removeAll();
331
		editeursStore.removeAll();
338
		storeEditeurs.add((List<Structure>) editeurs.toList());
332
		editeursStore.add((List<Structure>) editeurs.toList());
339
		
333
		
340
		if (mode.equals(Formulaire.MODE_MODIFIER)) {	
334
		if (mode.equals(Formulaire.MODE_MODIFIER)) {	
Line 341... Line 335...
341
			comboListeEditeurs.setValue((Structure) editeurs.get(idStructureEdition));
335
			editeursCombobox.setValue((Structure) editeurs.get(idStructureEdition));
342
		}
336
		}
Line 343... Line 337...
343
		comboListeEditeurs.expand();
337
		editeursCombobox.expand();
344
	}
338
	}
345
	
339
	
346
	private void rafraichirListeAuteurs(PublicationAPersonneListe auteurs) {
340
	private void rafraichirListeAuteurs(PublicationAPersonneListe auteurs) {
347
		pubAPersonneListeAuteur = auteurs;
341
		publicationAPersonneListe = auteurs;
Line 348... Line 342...
348
		
342
		
349
		if (listePersonneAuteurInitialisee) {
343
		if (listePersonneAuteurInitialisee) {
350
			Iterator<String> itap = pubAPersonneListeAuteur.keySet().iterator();
344
			Iterator<String> itap = publicationAPersonneListe.keySet().iterator();
Line 362... Line 356...
362
			listeAuteurPublicationInitialisee = true;
356
			listeAuteurPublicationInitialisee = true;
363
		}
357
		}
364
	}
358
	}
Line 365... Line 359...
365
	
359
	
-
 
360
	private void rafraichirInformation(Information info) {
366
	private void rafraichirInformation(Information info) {
361
		GWT.log("la", null);
367
		if (info.getType().equals("liste_personne")) {
362
		if (info.getType().equals("liste_personne")) {
368
			listePersonneAuteurInitialisee = true;
363
			listePersonneAuteurInitialisee = true;
369
			listePersonneAuteur = (PersonneListe) info.getDonnee(0);
364
			listePersonneAuteur = (PersonneListe) info.getDonnee(0);
370
			List<Personne> liste = listePersonneAuteur.toList();
365
			List<Personne> liste = listePersonneAuteur.toList();
371
			auteursStorePartage.removeAll();
366
			auteursStorePartage.removeAll();
372
			auteursStorePartage.add(liste);
367
			auteursStorePartage.add(liste);
373
		} else if (info.getType().equals("publication_valide")) {
368
		} else if (info.getType().equals("publication_valide")) {
374
			validationPublication = true;
369
			validationPublication = true;
Line 375... Line 370...
375
			idPublication = (String) info.getDonnee(0);
370
			publication.setId((String) info.getDonnee(0));
376
			
371
			
377
			if (mode.equals(Formulaire.MODE_AJOUTER)) {
372
			if (mode.equals(Formulaire.MODE_AJOUTER)) {
378
				mediateur.ajouterAuteurPublication(this, idAuteurs, PublicationAPersonne.ROLE_AUTEUR, idPublication);
373
				mediateur.ajouterAuteurPublication(this, idAuteurs, PublicationAPersonne.ROLE_AUTEUR, publication.getId());
379
			} else if (mode.equals(Formulaire.MODE_MODIFIER)) {
374
			} else if (mode.equals(Formulaire.MODE_MODIFIER)) {
380
				mediateur.modifierAuteurPublication(this, idAuteurs, idPublication);
375
				mediateur.modifierAuteurPublication(this, idAuteurs, publication.getId());
381
			}
376
			}
-
 
377
		} else if (info.getType().equals("auteur_valide")) {
382
		} else if (info.getType().equals("auteur_valide")) {
378
			validationAuteurs = true;
383
			validationAuteurs = true;
379
			GWT.log("ici", null);
Line 384... Line 380...
384
		}
380
		}
385
	}
381
	}
Line 398... Line 394...
398
		validationAuteurs = false;
394
		validationAuteurs = false;
399
	}
395
	}
Line 400... Line 396...
400
	
396
	
401
	private void repandreRafraichissement() {
397
	private void repandreRafraichissement() {
-
 
398
		if (vueExterneARafraichirApresValidation != null) {
-
 
399
			String type = "publication_modifiee";
-
 
400
			if (mode.equals(Formulaire.MODE_AJOUTER)) {
-
 
401
				type = "publication_ajoutee";
402
		if (vueExterneARafraichirApresValidation != null) {
402
			}
403
			Information info = new Information("");
-
 
-
 
403
			Information info = new Information(type);
404
			
404
			info.setDonnee(0, publication);
405
			vueExterneARafraichirApresValidation.rafraichir(info);
405
			vueExterneARafraichirApresValidation.rafraichir(info);
406
		}
406
		}
Line 407... Line 407...
407
	}
407
	}
408
	
408
	
409
	public void soumettreFormulaire() {
409
	public boolean soumettreFormulaire() {
410
		formValide = verifierFormulaire();
410
		formValide = verifierFormulaire();
411
		if (formValide) {
-
 
412
			Publication publication = new Publication();
-
 
413
			
411
		if (formValide) {
414
			String auteur = "";
412
			Publication publicationCollectee = collecterPublication();
415
			for (int i = 0; i < auteurComboboxListe.size(); i++) {
413
			if (publicationCollectee != null) {
416
				if (auteurComboboxListe.get(i).getValue() != null) {
-
 
417
					idAuteurs += auteurComboboxListe.get(i).getValue().getId();
414
				if (mode.equals(Formulaire.MODE_AJOUTER)) {
418
					auteur += auteurComboboxListe.get(i).getValue().getNom()+ " "+auteurComboboxListe.get(i).getValue().getPrenom();
-
 
419
					if (i != auteurComboboxListe.size() -1) {
415
					mediateur.ajouterPublication(this, publicationCollectee);
420
						auteur += "|";
-
 
421
						idAuteurs += ",";
416
				} else if (mode.equals(Formulaire.MODE_MODIFIER)) {
422
					}
417
					mediateur.modifierPublication(this, publicationCollectee);
423
				}
-
 
424
			}
-
 
425
			publication.setAuteur(auteur);
-
 
426
			
-
 
427
			String titre = nomArticle.getValue();
-
 
428
			publication.setTitre(titre);
-
 
429
			
-
 
430
			String collection = intituleCollPub.getValue();
-
 
431
			publication.setCollection(collection);
-
 
432
			
-
 
433
			String nomComplet = nomArticle.getValue()+" "+intituleCollPub.getValue();
-
 
434
			publication.setNomComplet(nomComplet);
-
 
435
			
-
 
436
			String uri = uriPub.getValue();
-
 
437
			publication.setUri(uri);
-
 
438
			
-
 
439
			String editeur = "";
-
 
440
			if (comboListeEditeurs.getValue() != null) {
-
 
441
				editeur = comboListeEditeurs.getValue().getId();
-
 
442
			} else if (comboListeEditeurs.getRawValue() != "") {
-
 
443
				editeur = comboListeEditeurs.getRawValue();
-
 
444
			}
-
 
445
			publication.setEditeur(editeur);
-
 
446
			
-
 
447
			String datePar = datePub.getRawValue();
-
 
448
			datePar = datePar+"-00-00";
-
 
449
			
-
 
450
			String tome = tomPub.getValue();
-
 
451
			publication.setIndicationNvt(tome);
-
 
452
			
-
 
453
			String fascicule = fasciculePub.getValue();
-
 
454
			publication.setFascicule(fascicule);
-
 
455
			
-
 
456
			String pages = pagesPub.getValue();
-
 
457
			publication.setPages(pages);
-
 
458
			
-
 
459
 
-
 
460
			if (mode.equals(Formulaire.MODE_AJOUTER)) {
-
 
461
				mediateur.ajouterPublication(this, publication);
-
 
462
			} else if (mode.equals(Formulaire.MODE_MODIFIER)) {
-
 
463
				mediateur.modifierPublication(this, publication);
418
				}
-
 
419
			}
464
			}
420
		}
Line 465... Line 421...
465
		}
421
		return formValide;
466
	}
422
	}
467
	
423
	
Line 468... Line 424...
468
	private boolean verifierFormulaire() {
424
	private boolean verifierFormulaire() {
469
		boolean valide = true;
425
		boolean valide = true;
470
		ArrayList<String> messages = new ArrayList<String>();
426
		ArrayList<String> messages = new ArrayList<String>();
471
		
427
		
472
		boolean auteurErreur = false;
428
		boolean auteurErreur = true;
473
		for (int i = 0; i < auteurComboboxListe.size(); i++) {
429
		for (int i = 0; i < auteurComboboxListe.size(); i++) {
474
			if (auteurComboboxListe.get(i).getValue() != null) {
430
			if (auteurComboboxListe.get(i).getValue() != null) {
475
				auteurErreur = true;
431
				auteurErreur = false;
476
				break;
432
				break;
477
			}
433
			}
Line 478... Line 434...
478
		}
434
		}
479
		if (auteurErreur) {
435
		if (auteurErreur) {
480
			messages.add("Veuillez saisir au moins un auteur !");
436
			messages.add("Veuillez saisir au moins un auteur !");
481
		}
437
		}
Line 482... Line 438...
482
		
438
		
483
		String titre = nomArticle.getValue();
439
		String titre = titreChp.getValue();
484
		if (titre == null || titre.equals("")) {
440
		if (titre == null || titre.equals("")) {
485
			messages.add("Veuillez saisir le titre de la publication !");
441
			messages.add("Veuillez saisir le titre de la publication !");
486
		}
442
		}
487
		
443
		
Line 501... Line 457...
501
			valide = false;
457
			valide = false;
502
		}
458
		}
503
		return valide;		
459
		return valide;		
504
	}
460
	}
Line -... Line 461...
-
 
461
	
-
 
462
	private Publication collecterPublication() {
-
 
463
		Publication publicationARetourner = null;
-
 
464
		Publication publicationCollectee = (Publication) publication.cloner(new Publication());
-
 
465
		
-
 
466
		String auteur = "";
-
 
467
		for (int i = 0; i < auteurComboboxListe.size(); i++) {
-
 
468
			if (auteurComboboxListe.get(i).getValue() != null) {
-
 
469
				idAuteurs += auteurComboboxListe.get(i).getValue().getId();
-
 
470
				auteur += auteurComboboxListe.get(i).getValue().getNom()+ " "+auteurComboboxListe.get(i).getValue().getPrenom();
-
 
471
				if (i != auteurComboboxListe.size() -1) {
-
 
472
					auteur += "|";
-
 
473
					idAuteurs += ",";
-
 
474
				}
-
 
475
			}
-
 
476
		}
-
 
477
		publicationCollectee.setAuteur(auteur);
-
 
478
		
-
 
479
		String titre = titreChp.getValue();
-
 
480
		publicationCollectee.setTitre(titre);
-
 
481
		
-
 
482
		String collection = collectionChp.getValue();
-
 
483
		publicationCollectee.setCollection(collection);
-
 
484
		
-
 
485
		String nomComplet = titreChp.getValue()+" "+collectionChp.getValue();
-
 
486
		publicationCollectee.setNomComplet(nomComplet);
-
 
487
		
-
 
488
		String uri = uriChp.getValue();
-
 
489
		publicationCollectee.setUri(uri);
-
 
490
		
-
 
491
		String editeur = "";
-
 
492
		if (editeursCombobox.getValue() != null) {
-
 
493
			editeur = editeursCombobox.getValue().getId();
-
 
494
		} else if (editeursCombobox.getRawValue() != "") {
-
 
495
			editeur = editeursCombobox.getRawValue();
-
 
496
		}
-
 
497
		publicationCollectee.setEditeur(editeur);
-
 
498
		
-
 
499
		String datePar = datePublicationChp.getRawValue();
-
 
500
		datePar = datePar+"-00-00";
-
 
501
		publicationCollectee.setDateParution(datePar);
-
 
502
		
-
 
503
		String tome = tomeChp.getValue();
-
 
504
		publicationCollectee.setIndicationNvt(tome);
-
 
505
		
-
 
506
		String fascicule = fasciculeChp.getValue();
-
 
507
		publicationCollectee.setFascicule(fascicule);
-
 
508
		
-
 
509
		String pages = pagesChp.getValue();
-
 
510
		publicationCollectee.setPages(pages);
-
 
511
		
-
 
512
		if (!publicationCollectee.comparer(publication)) {
-
 
513
			publicationARetourner = publication = publicationCollectee;
-
 
514
		}
-
 
515
		
-
 
516
		return publicationARetourner;
-
 
517
	}
505
	
518
	
506
	protected void reinitialiserFormulaire() {
519
	protected void reinitialiserFormulaire() {
507
		if (mode.equals(Formulaire.MODE_MODIFIER)) {
520
		if (mode.equals(Formulaire.MODE_MODIFIER)) {
508
			mediateur.afficherFormPublication(publi.getId());
521
			mediateur.afficherFormPublication(publication.getId());
509
		} else {
522
		} else {
510
			mediateur.afficherFormPublication(null);
523
			mediateur.afficherFormPublication(null);
511
		}
524
		}