38,6 → 38,9 |
import com.extjs.gxt.ui.client.event.SelectionListener; |
import com.extjs.gxt.ui.client.event.ToolBarEvent; |
import com.extjs.gxt.ui.client.store.ListStore; |
import com.extjs.gxt.ui.client.store.Record; |
import com.extjs.gxt.ui.client.store.Store; |
import com.extjs.gxt.ui.client.store.StoreEvent; |
import com.extjs.gxt.ui.client.widget.Component; |
import com.extjs.gxt.ui.client.widget.ContentPanel; |
import com.extjs.gxt.ui.client.widget.Info; |
205,6 → 208,7 |
private ContentPanel materielConservationCp; |
private ListStore<Personne> personneExistanteMagazin; |
private ComboBox<Personne> personneExistanteCombo; |
private TextToolItem supprimerPersonnelBtn; |
|
|
public FormStructureVue() { |
925,6 → 929,12 |
|
// Seules les lignes ajoutées ou modifiées sont prises en compte. |
if (personnelGrilleMagazin.getModifiedRecords().contains(personnelGrilleMagazin.getRecord(personne)) == true) { |
|
// Gestion de l'id de la structure |
if (mode.equals("MODIF")) { |
personne.setIdStructure(identification.getId()); |
} |
|
// Gestion de la fonction |
String fonction = personne.get("fonction"); |
if (fonction != null && !fonction.equals("")) { |
983,11 → 993,13 |
} |
|
// Ajout de la personne dans la liste correspondant à son état (ajouté ou modifié) |
if (personne.getIdPersonne().equals("")) {// Une personne ajoutée |
if (personne.get("etat").equals("A")) {// Une personne ajoutée |
personnelAjoute.put(""+i, personne); |
} else {// Une personne modifiée |
personnelModifie.put(personne.getId(), personne); |
} |
} else { |
GWT.log("Personne non modifiées : "+personne.getPrenom()+" "+personne.getNom(), null); |
} |
} |
} |
1065,7 → 1077,17 |
personnes.add(new StructureAPersonne(Valeur.FONCTION_CONSERVATEUR, StructureAPersonne.ROLE_EQUIPE)); |
|
personnelGrilleMagazin = new ListStore<StructureAPersonne>(); |
personnelGrilleMagazin.add(personnes); |
personnelGrilleMagazin.add(personnes); |
personnelGrilleMagazin.addListener(Store.Add, new Listener<StoreEvent<StructureAPersonne>>() { |
|
public void handleEvent(StoreEvent<StructureAPersonne> ce) { |
// Activation du bouton supprimer si la grille contient un élément |
if (grillePersonnel.getStore().getCount() > 0) { |
supprimerPersonnelBtn.enable(); |
} |
|
} |
}); |
|
RowNumberer r = new RowNumberer(); |
|
1231,16 → 1253,12 |
@Override |
public void componentSelected(ToolBarEvent ce) { |
StructureAPersonne personne = new StructureAPersonne("", StructureAPersonne.ROLE_EQUIPE); |
personne.set("etat", "A"); |
grillePersonnel.stopEditing(); |
int numNouveau = grillePersonnel.getData("nouveau"); |
grillePersonnel.setData("nouveau", ++numNouveau); |
personnelGrilleMagazin.insert(personne, 0); |
personnelGrilleMagazin.insert(personne, 0); |
grillePersonnel.startEditing(0, 0); |
|
// Activation du bouton supprimer si la grille contient un élément |
if (grillePersonnel.getStore().getCount() > 0) { |
ce.component.enable(); |
} |
} |
}); |
toolBar.add(ajouterPersonnelBtn); |
1247,7 → 1265,7 |
|
toolBar.add(new SeparatorToolItem()); |
|
TextToolItem supprimerPersonnelBtn = new TextToolItem("Supprimer", "icone-vcard-supprimer"); |
supprimerPersonnelBtn = new TextToolItem("Supprimer", "icone-vcard-supprimer"); |
supprimerPersonnelBtn.addSelectionListener(new SelectionListener<ToolBarEvent>() { |
@Override |
public void componentSelected(ToolBarEvent ce) { |
1286,7 → 1304,7 |
personneExistanteMagazin = new ListStore<Personne>(); |
personneExistanteMagazin.add(new ArrayList<Personne>()); |
|
personneExistanteCombo = new ComboBox<Personne>(); |
personneExistanteCombo = new ComboBox<Personne>(); |
personneExistanteCombo.setWidth(200); |
personneExistanteCombo.setEmptyText("Chercher une personne existante..."); |
personneExistanteCombo.setTriggerAction(TriggerAction.ALL); |
1314,19 → 1332,29 |
|
StructureAPersonne personne = new StructureAPersonne("", StructureAPersonne.ROLE_EQUIPE); |
personne.setIdPersonne(personneExistante.getId()); |
personne.setPrenom(personneExistante.getPrenom()); |
personne.setNom(personneExistante.getNom()); |
|
grillePersonnel.stopEditing(); |
|
// Ajout au magazin de la grille |
int numNouveau = grillePersonnel.getData("nouveau"); |
grillePersonnel.setData("nouveau", ++numNouveau); |
personnelGrilleMagazin.insert(personne, 0); |
personnelGrilleMagazin.insert(personne, 0); |
|
// Nous modifions l'enregistrement pour que le modèle soit pris en compte lors de la collecte. |
Record record = personnelGrilleMagazin.getRecord(personnelGrilleMagazin.getAt(0)); |
record.beginEdit(); |
record.set("nom", personneExistante.getNom()); |
record.set("prenom", personneExistante.getPrenom()); |
record.set("telephone", personneExistante.selectionnerTelephone(Personne.TELEPHONE_FIXE)); |
record.set("fax", personneExistante.selectionnerFax(1)); |
record.set("courriel", personneExistante.selectionnerCourriel(1)); |
record.set("specialite", personneExistante.afficherSpecialite()); |
record.set("etat", "A"); |
record.endEdit(); |
grillePersonnel.startEditing(0, 0); |
|
// Activation du bouton supprimer si la grille contient un élément |
if (grillePersonnel.getStore().getCount() > 0) { |
ce.component.enable(); |
} |
|
//GWT.log("Ajout : "+personnelGrilleMagazin.getModifiedRecords()., null); |
GWT.log("ici : "+personnelGrilleMagazin.getModifiedRecords().contains(record), null); |
} |
}); |
toolBar.add(ajouterPersonneExistanteBtn); |
2080,6 → 2108,6 |
} |
|
private void rafraichirPersonneExistante(String nom) { |
mediateur.selectionnerPersonneParNomComplet(this, null, nom); |
mediateur.selectionnerPersonneParNomComplet(this, null, nom+"%"); |
} |
} |