Subversion Repositories eFlore/Applications.coel

Compare Revisions

Ignore whitespace Rev 244 → Rev 245

/trunk/src/org/tela_botanica/client/vues/FormStructureVue.java
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+"%");
}
}