| Line 1... |
Line 1... |
| 1 |
package org.tela_botanica.client.vues.collection;
|
1 |
package org.tela_botanica.client.vues.collection;
|
| Line 2... |
Line 2... |
| 2 |
|
2 |
|
| - |
|
3 |
import java.util.ArrayList;
|
| 3 |
import java.util.ArrayList;
|
4 |
import java.util.HashMap;
|
| - |
|
5 |
import java.util.List;
|
| Line 4... |
Line 6... |
| 4 |
import java.util.List;
|
6 |
import java.util.Map;
|
| 5 |
|
7 |
|
| 6 |
import org.tela_botanica.client.ComposantClass;
|
8 |
import org.tela_botanica.client.ComposantClass;
|
| 7 |
import org.tela_botanica.client.Mediateur;
|
9 |
import org.tela_botanica.client.Mediateur;
|
| Line 407... |
Line 409... |
| 407 |
ColumnModel modeleDeColonnes = new ColumnModel(colonnes);
|
409 |
ColumnModel modeleDeColonnes = new ColumnModel(colonnes);
|
| 408 |
modeleDeColonnes.addHeaderGroup(0, 1, new HeaderGroupConfig(i18nC.personneIdentite(), 1, 4));
|
410 |
modeleDeColonnes.addHeaderGroup(0, 1, new HeaderGroupConfig(i18nC.personneIdentite(), 1, 4));
|
| 409 |
modeleDeColonnes.addHeaderGroup(0, 5, new HeaderGroupConfig(i18nC.personneNaissance(), 1, 2));
|
411 |
modeleDeColonnes.addHeaderGroup(0, 5, new HeaderGroupConfig(i18nC.personneNaissance(), 1, 2));
|
| 410 |
modeleDeColonnes.addHeaderGroup(0, 7, new HeaderGroupConfig(i18nC.personneDeces(), 1, 3));
|
412 |
modeleDeColonnes.addHeaderGroup(0, 7, new HeaderGroupConfig(i18nC.personneDeces(), 1, 3));
|
| Line -... |
Line 413... |
| - |
|
413 |
|
| - |
|
414 |
HashMap<String, String> virtualFields = new HashMap<String, String>();
|
| - |
|
415 |
virtualFields.put("_role_", "ccap_id_role");
|
| - |
|
416 |
virtualFields.put("_etat_", "");
|
| 411 |
|
417 |
|
| 412 |
// Grille
|
418 |
// Grille
|
| Line 413... |
Line 419... |
| 413 |
GrillePaginable<ModelData> grillePaginable = new GrillePaginable<ModelData>(modelTypeCollectionAPersonne, proxyCollectionAPersonne, colonnes, modeleDeColonnes);
|
419 |
GrillePaginable<ModelData> grillePaginable = new GrillePaginable<ModelData>(modelTypeCollectionAPersonne, virtualFields, proxyCollectionAPersonne, colonnes, modeleDeColonnes);
|
| 414 |
|
420 |
|
| 415 |
// Rajouter des écouteurs
|
421 |
// Rajouter des écouteurs
|
| 416 |
grillePaginable.getStore().addListener(Store.Update, new Listener<StoreEvent<ModelData>>() {
|
422 |
grillePaginable.getStore().addListener(Store.Update, new Listener<StoreEvent<ModelData>>() {
|
| Line 435... |
Line 441... |
| 435 |
typeRelationCombo.addListener(Events.Select, Formulaire.creerEcouteurChampObligatoire());
|
441 |
typeRelationCombo.addListener(Events.Select, Formulaire.creerEcouteurChampObligatoire());
|
| Line 436... |
Line 442... |
| 436 |
|
442 |
|
| Line 437... |
Line 443... |
| 437 |
CellEditor editeurRelation = new CellEditor(typeRelationCombo) {
|
443 |
CellEditor editeurRelation = new CellEditor(typeRelationCombo) {
|
| 438 |
|
444 |
|
| 439 |
// Sert à retourner un ModelData à partir d'une String (la string est passée par le Renderer)
|
445 |
// Sert à retourner un ModelData à partir d'une String (la string est passée par le Renderer)
|
| 440 |
public Object preProcessValue(Object valeur) {
|
446 |
public Object preProcessValue(Object valeur) {
|
| 441 |
Valeur retour = null;
|
447 |
Valeur retour = null;
|
| 442 |
if (valeur != null ) {
|
448 |
if (valeur != null ) {
|
| 443 |
if (typeRelationCombo.getStore().findModel("nom", valeur.toString()) != null) {
|
449 |
if (typeRelationCombo.getStore().findModel("nom", valeur.toString()) != null) {
|
| Line 451... |
Line 457... |
| 451 |
return retour;
|
457 |
return retour;
|
| 452 |
}
|
458 |
}
|
| Line 453... |
Line 459... |
| 453 |
|
459 |
|
| 454 |
// Sert à retourner un String à Partir d'une Valeur
|
460 |
// Sert à retourner un String à Partir d'une Valeur
|
| 455 |
// en postProcess on remplace la valeur du champ par l'Id de la valeur au lieu de son Nom
|
461 |
// en postProcess on remplace la valeur du champ par l'Id de la valeur au lieu de son Nom
|
| 456 |
public Object postProcessValue(Object valeur) {
|
462 |
public Object postProcessValue(Object valeur) {
|
| 457 |
String retour = null;
|
463 |
String retour = null;
|
| 458 |
if (valeur != null ) {
|
464 |
if (valeur != null ) {
|
| 459 |
if (valeur instanceof Valeur) {
|
465 |
if (valeur instanceof Valeur) {
|
| 460 |
Valeur valeurOntologie = (Valeur) valeur;
|
466 |
Valeur valeurOntologie = (Valeur) valeur;
|
| Line 468... |
Line 474... |
| 468 |
|
474 |
|
| 469 |
// Sert à afficher le nom du role au lieu de l'id
|
475 |
// Sert à afficher le nom du role au lieu de l'id
|
| 470 |
GridCellRenderer<ModelData> relationRendu = new GridCellRenderer<ModelData>() {
|
476 |
GridCellRenderer<ModelData> relationRendu = new GridCellRenderer<ModelData>() {
|
| 471 |
public String render(ModelData modele, String property, ColumnData config, int rowIndex, int colIndex, ListStore<ModelData> store, Grid<ModelData> grille) {
|
477 |
public String render(ModelData modele, String property, ColumnData config, int rowIndex, int colIndex, ListStore<ModelData> store, Grid<ModelData> grille) {
|
| 472 |
// Gestion du texte afficher dans la cellule
|
- |
|
| 473 |
CollectionAPersonne cap = new CollectionAPersonne(modele);
|
- |
|
| 474 |
|
478 |
// Gestion du texte afficher dans la cellule
|
| 475 |
String role = cap.getIdRole();
|
- |
|
| 476 |
modele.set("_role_", role);
|
- |
|
| 477 |
|
479 |
String role = modele.get("_role_");
|
| 478 |
if (typeRelationCombo.getStore() != null && typeRelationCombo.getStore().getCount() > 0 && role.matches("[0-9]+")) {
|
480 |
if (typeRelationCombo.getStore() != null && typeRelationCombo.getStore().getCount() > 0 && role.matches("[0-9]+")) {
|
| 479 |
role = typeRelationCombo.getStore().findModel("id_valeur", role).getNom();
|
481 |
role = typeRelationCombo.getStore().findModel("id_valeur", role).getNom();
|
| 480 |
}
|
- |
|
| 481 |
|
482 |
}
|
| 482 |
return role;
|
483 |
return role;
|
| 483 |
}
|
484 |
}
|
| 484 |
};
|
485 |
};
|
| 485 |
ColumnConfig typeRelationColonne = new ColumnConfig("_role_", i18nC.typeRelationPersonneCollection(), 75);
|
486 |
ColumnConfig typeRelationColonne = new ColumnConfig("_role_", i18nC.typeRelationPersonneCollection(), 75);
|
| Line 560... |
Line 561... |
| 560 |
// En mode AJOUT, il ne peut que y avoir des personnes liées ajoutées
|
561 |
// En mode AJOUT, il ne peut que y avoir des personnes liées ajoutées
|
| 561 |
mediateur.ajouterCollectionAPersonne(this, collectionId, personnesAjoutees);
|
562 |
mediateur.ajouterCollectionAPersonne(this, collectionId, personnesAjoutees);
|
| 562 |
}
|
563 |
}
|
| 563 |
} else if (type.equals("personne_modifiee")) {
|
564 |
} else if (type.equals("personne_modifiee")) {
|
| 564 |
if (info.getDonnee(0) != null) {
|
565 |
if (info.getDonnee(0) != null) {
|
| 565 |
Personne personne = (Personne) info.getDonnee(0);
|
566 |
Personne personne = (Personne) info.getDonnee(0);
|
| 566 |
ModelData personneDansGrille = grille.getStore().findModel("id_personne", personne.getId());
|
567 |
ModelData personneDansGrille = grille.getStore().findModel("ccap_id_personne", personne.getId());
|
| 567 |
int index = grille.getStore().indexOf(personneDansGrille);
|
568 |
int index = grille.getStore().indexOf(personneDansGrille);
|
| 568 |
grille.getStore().remove(personneDansGrille);
|
569 |
grille.getStore().remove(personneDansGrille);
|
| 569 |
String role = (String) personneDansGrille.get("_role_");
|
570 |
String role = (String) personneDansGrille.get("_role_");
|
| 570 |
ajouterDansGrille(personne, role, index);
|
571 |
ajouterDansGrille(personne, role, index);
|
| 571 |
}
|
572 |
}
|
| Line 589... |
Line 590... |
| 589 |
String personneNumero = "";
|
590 |
String personneNumero = "";
|
| 590 |
int nbrePersonne = grille.getStore().getCount();
|
591 |
int nbrePersonne = grille.getStore().getCount();
|
| Line 591... |
Line 592... |
| 591 |
|
592 |
|
| 592 |
if (nbrePersonne > 0) {
|
593 |
if (nbrePersonne > 0) {
|
| 593 |
for (int i = 0; i < nbrePersonne; i++) {
|
- |
|
| 594 |
CollectionAPersonne personne = new CollectionAPersonne(grille.getStore().getAt(i));
|
594 |
for (int i = 0; i < nbrePersonne; i++) {
|
| 595 |
if (personne.get("_role_").equals("")) {
|
595 |
if (grille.getStore().getAt(i).get("_role_").equals("")) {
|
| 596 |
personneNumero += (i != 0 ? ", " : "")+(i+1);
|
596 |
personneNumero += (i != 0 ? ", " : "")+(i+1);
|
| 597 |
}
|
597 |
}
|
| 598 |
}
|
598 |
}
|
| 599 |
if (!personneNumero.equals("")) {
|
599 |
if (!personneNumero.equals("")) {
|
| Line 607... |
Line 607... |
| 607 |
public void collecter() {
|
607 |
public void collecter() {
|
| 608 |
if (etreAccede()) {
|
608 |
if (etreAccede()) {
|
| 609 |
int nbrePersonne = grille.getStore().getCount();
|
609 |
int nbrePersonne = grille.getStore().getCount();
|
| 610 |
for (int i = 0; i < nbrePersonne; i++) {
|
610 |
for (int i = 0; i < nbrePersonne; i++) {
|
| 611 |
CollectionAPersonne relationCollectionPersonne = new CollectionAPersonne(grille.getStore().getAt(i));
|
611 |
CollectionAPersonne relationCollectionPersonne = new CollectionAPersonne(grille.getStore().getAt(i));
|
| - |
|
612 |
relationCollectionPersonne.set("_role_", grille.getStore().getAt(i).get("_role_"));
|
| Line 612... |
Line 613... |
| 612 |
|
613 |
|
| Line 613... |
Line 614... |
| 613 |
if (relationCollectionPersonne.get("_etat_") != null) {
|
614 |
if (grille.getStore().getAt(i).get("_etat_") != null) {
|
| 614 |
|
615 |
|
| 615 |
if (relationCollectionPersonne.get("_etat_").equals(aDonnee.ETAT_MODIFIE)) {
|
616 |
if (grille.getStore().getAt(i).get("_etat_").equals(aDonnee.ETAT_MODIFIE)) {
|
| Line 616... |
Line 617... |
| 616 |
// Comme il est impossible de modifier les relations nous supprimons l'ancien enregistrement et ajoutons un nouveau avec le nouveau id_role
|
617 |
// Comme il est impossible de modifier les relations nous supprimons l'ancien enregistrement et ajoutons un nouveau avec le nouveau id_role
|
| 617 |
personnesSupprimees.put("id"+idGenere++, relationCollectionPersonne);
|
618 |
personnesSupprimees.put("id"+idGenere++, relationCollectionPersonne);
|
| 618 |
|
619 |
|
| 619 |
CollectionAPersonne relationAAjouter = (CollectionAPersonne) relationCollectionPersonne.cloner(new CollectionAPersonne());
|
620 |
CollectionAPersonne relationAAjouter = (CollectionAPersonne) relationCollectionPersonne.cloner(new CollectionAPersonne());
|
| 620 |
corrigerChampsGrille(relationAAjouter);// Nous modifions l'id_role
|
621 |
corrigerChampsGrille(relationAAjouter);// Nous modifions l'id_role
|
| 621 |
personnesAjoutees.put("id"+idGenere++, relationAAjouter);
|
622 |
personnesAjoutees.put("id"+idGenere++, relationAAjouter);
|
| 622 |
}
|
623 |
}
|
| 623 |
if (relationCollectionPersonne.get("_etat_").equals(aDonnee.ETAT_AJOUTE)) {
|
624 |
if (grille.getStore().getAt(i).get("_etat_").equals(aDonnee.ETAT_AJOUTE)) {
|
| 624 |
corrigerChampsGrille(relationCollectionPersonne);// Nous modifions l'id_role
|
625 |
corrigerChampsGrille(relationCollectionPersonne);// Nous modifions l'id_role
|
| 625 |
personnesAjoutees.put("id"+idGenere++, relationCollectionPersonne);
|
626 |
personnesAjoutees.put("id"+idGenere++, relationCollectionPersonne);
|
| 626 |
}
|
627 |
}
|
| 627 |
// Initialisation de la grille
|
628 |
// Initialisation de la grille
|
| 628 |
relationCollectionPersonne.set("_etat_", "");
|
629 |
grille.getStore().getAt(i).set("_etat_", "");
|
| 629 |
}
|
630 |
}
|
| 630 |
}
|
631 |
}
|