15,6 → 15,8 |
import org.tela_botanica.client.modeles.InterneValeurListe; |
import org.tela_botanica.client.modeles.Personne; |
import org.tela_botanica.client.modeles.PersonneListe; |
import org.tela_botanica.client.modeles.Projet; |
import org.tela_botanica.client.modeles.ProjetListe; |
import org.tela_botanica.client.modeles.Structure; |
import org.tela_botanica.client.modeles.StructureAPersonne; |
import org.tela_botanica.client.modeles.StructureAPersonneListe; |
86,6 → 88,7 |
import com.google.gwt.i18n.client.DateTimeFormat; |
import com.google.gwt.i18n.client.NumberFormat; |
import com.google.gwt.user.client.Window; |
import com.google.gwt.user.client.ui.ListBox; |
|
public class FormStructureVue extends LayoutContainer implements Rafraichissable { |
|
94,6 → 97,7 |
private Modele modele = null ; |
|
private String mode = "AJOUT"; |
private int tabIndex = 100; |
private FormPanel structureFormPanneau = null; |
private TabPanel onglets = null; |
|
209,6 → 213,9 |
private ListStore<Personne> personneExistanteMagazin; |
private ComboBox<Personne> personneExistanteCombo; |
private TextToolItem supprimerPersonnelBtn; |
private ListBox projetChp; |
private ListStore<Projet> projetsMagazin; |
private ComboBox<Projet> projetsCombo; |
|
|
public FormStructureVue() { |
298,7 → 305,7 |
|
if (mode.equals("AJOUT")) { |
// Ajout des informations sur la Structure |
mediateur.ajouterStructure(this, structure); |
mediateur.ajouterStructure(this, structure, conservation, valorisation); |
// L'ajout des relations StructureAPersonne se fait quand la structure a été ajoutée |
// Voir la méthode rafraichir(). |
} else if (mode.equals("MODIF")) { |
625,6 → 632,10 |
Structure structure = new Structure(); |
structure.setId(idStructureChp.getValue()); |
structure.setNom(nomStructureChp.getValue()); |
// Récupération de l'identifiant du projet |
if (projetsCombo.getValue() != null) { |
structure.setIdProjet(projetsCombo.getValue().getId()); |
} |
// Récupération de l'acronyme (= identifiant alternatif) |
structure.setIdAlternatif(null); |
if (comboAcronyme.getValue() != null) { |
680,6 → 691,10 |
if (mode.equals("MODIF") && identification != null && identificationOnglet.getData("acces").equals(false)) { |
idStructureChp.setValue(identification.getId()); |
nomStructureChp.setValue(identification.getNom()); |
if (!identification.getIdProjet().equals("0")) { |
projetsCombo.setValue(projetsCombo.getStore().findModel("id_projet", identification.getIdProjet())); |
} |
|
if (!identification.getIdAlternatif().isEmpty()) { |
String[] acronyme = identification.getIdAlternatif().split("##"); |
if (acronyme[0].matches("^IH$")) { |
1104,7 → 1119,7 |
configs.add(r); |
|
ColumnConfig column = new ColumnConfig("fonction", "Fonction", 150); |
modele.obtenirListeValeurs(((Configuration) Registry.get(RegistreId.CONFIG)).getListeId("fonction")); |
modele.obtenirListeValeurs(this, ((Configuration) Registry.get(RegistreId.CONFIG)).getListeId("fonction")); |
magazinLiFonction = new ListStore<Valeur>(); |
magazinLiFonction.add(new ArrayList<Valeur>()); |
|
1203,7 → 1218,7 |
column.setEditor(new CellEditor(emailChp)); |
configs.add(column); |
|
modele.obtenirListeValeurs(((Configuration) Registry.get(RegistreId.CONFIG)).getListeId("statut")); |
modele.obtenirListeValeurs(this, ((Configuration) Registry.get(RegistreId.CONFIG)).getListeId("statut")); |
magazinLiStatut = new ListStore<Valeur>(); |
magazinLiStatut.add(new ArrayList<Valeur>()); |
|
1421,12 → 1436,25 |
fieldSetIdentite.setLayout(creerFormLayout(200, LabelAlign.LEFT, 4)); |
|
nomStructureChp = new TextField<String>(); |
nomStructureChp.setTabIndex(100); |
nomStructureChp.setTabIndex(tabIndex++); |
nomStructureChp.setFieldLabel("Nom de la structure"); |
nomStructureChp.setAllowBlank(false); |
nomStructureChp.getMessages().setBlankText("Ce champ est obligatoire."); |
fieldSetIdentite.add(nomStructureChp, new FormData(450, 0)); |
|
modele.selectionnerProjets(this); |
projetsMagazin = new ListStore<Projet>(); |
projetsMagazin.add(new ArrayList<Projet>()); |
projetsCombo = new ComboBox<Projet>(); |
projetsCombo.setTabIndex(tabIndex++); |
projetsCombo.setFieldLabel("Projet"); |
projetsCombo.setLabelSeparator(""); |
projetsCombo.setDisplayField("nom"); |
projetsCombo.setEditable(false); |
projetsCombo.setTriggerAction(TriggerAction.ALL); |
projetsCombo.setStore(projetsMagazin); |
fieldSetIdentite.add(projetsCombo, new FormData(450, 0)); |
|
// Création du sous-formulaire : Acronyme |
LayoutContainer ligne = new LayoutContainer(); |
ligne.setLayout(new ColumnLayout()); |
1439,7 → 1467,7 |
acronymes.add(InterneValeurListe.getTypeAcronyme()); |
|
comboAcronyme = new ComboBox<InterneValeur>(); |
comboAcronyme.setTabIndex(101); |
comboAcronyme.setTabIndex(tabIndex++); |
comboAcronyme.setEmptyText("Sélectioner un type d'acronyme..."); |
comboAcronyme.setFieldLabel("Acronymes"); |
comboAcronyme.setDisplayField("nom"); |
1468,7 → 1496,7 |
|
ihChp = new TextField<String>(); |
//ihChp.setEmptyText("Index Herbariorum"); |
ihChp.setTabIndex(102); |
ihChp.setTabIndex(tabIndex++); |
ihChp.setLabelSeparator(""); |
ihChp.setToolTip("Index Herbariorum : herbier de plus de 5000 échantillons"); |
ihChp.hide(); |
1475,7 → 1503,7 |
droite.add(ihChp); |
|
mnhnChp = new TextField<String>(); |
mnhnChp.setTabIndex(103); |
mnhnChp.setTabIndex(tabIndex++); |
//mnhnChp.setEmptyText("MNHN"); |
mnhnChp.setLabelSeparator(""); |
mnhnChp.setToolTip("Acronyme MNHN : herbier de moins de 5000 échantillons"); |
1500,7 → 1528,7 |
typesStructure.add(InterneValeurListe.getTypeStructure()); |
|
comboTypeStructure = new ComboBox<InterneValeur>(); |
comboTypeStructure.setTabIndex(104); |
comboTypeStructure.setTabIndex(tabIndex++); |
comboTypeStructure.setEmptyText("Sélectioner un type de structure..."); |
comboTypeStructure.setFieldLabel("Statut des structures"); |
comboTypeStructure.setDisplayField("nom"); |
1527,11 → 1555,11 |
}); |
gaucheTs.add(comboTypeStructure); |
|
modele.obtenirListeValeurs(((Configuration) Registry.get(RegistreId.CONFIG)).getListeId("stpu")); |
modele.obtenirListeValeurs(this, ((Configuration) Registry.get(RegistreId.CONFIG)).getListeId("stpu")); |
magazinLstpu = new ListStore<Valeur>(); |
magazinLstpu.add(new ArrayList<Valeur>()); |
comboLstpu = new ComboBox<Valeur>(); |
comboLstpu.setTabIndex(105); |
comboLstpu.setTabIndex(tabIndex++); |
//comboLstpu.setFieldLabel("Statut des structures publiques"); |
comboLstpu.setLabelSeparator(""); |
comboLstpu.setDisplayField("nom"); |
1541,11 → 1569,11 |
comboLstpu.hide(); |
droiteTs.add(comboLstpu); |
|
modele.obtenirListeValeurs(((Configuration) Registry.get(RegistreId.CONFIG)).getListeId("stpr")); |
modele.obtenirListeValeurs(this, ((Configuration) Registry.get(RegistreId.CONFIG)).getListeId("stpr")); |
magazinLstpr = new ListStore<Valeur>(); |
magazinLstpr.add(new ArrayList<Valeur>()); |
comboLstpr = new ComboBox<Valeur>(); |
comboLstpr.setTabIndex(106); |
comboLstpr.setTabIndex(tabIndex++); |
//comboLstpr.setFieldLabel("Statut des structures privées"); |
comboLstpr.setLabelSeparator(""); |
comboLstpr.setDisplayField("nom"); |
1560,7 → 1588,7 |
fieldSetIdentite.add(ligneTs); |
|
dateFondationChp = new DateField(); |
dateFondationChp.setTabIndex(107); |
dateFondationChp.setTabIndex(tabIndex++); |
dateFondationChp.setFieldLabel("Date de fondation"); |
dateFondationChp.getPropertyEditor().getFormat(); |
dateFondationChp.getPropertyEditor().setFormat(DateTimeFormat.getFormat("dd/MM/yyyy")); |
1594,22 → 1622,22 |
fieldSetAdresse.setLayout(creerFormLayout(100, LabelAlign.LEFT, 4)); |
|
adrChp = new TextArea(); |
adrChp.setTabIndex(108); |
adrChp.setTabIndex(tabIndex++); |
adrChp.setFieldLabel("Adresse"); |
fieldSetAdresse.add(adrChp, new FormData(550, 0)); |
|
cpChp = new TextField<String>(); |
cpChp.setTabIndex(109); |
cpChp.setTabIndex(tabIndex++); |
cpChp.setFieldLabel("Code postal"); |
gaucheFdAdresse.add(cpChp); |
|
villeChp = new TextField<String>(); |
villeChp.setTabIndex(110); |
villeChp.setTabIndex(tabIndex++); |
villeChp.setFieldLabel("Ville"); |
droiteFdAdresse.add(villeChp); |
|
regionChp = new TextField<String>(); |
regionChp.setTabIndex(111); |
regionChp.setTabIndex(tabIndex++); |
regionChp.setFieldLabel("Région"); |
gaucheFdAdresse.add(regionChp); |
|
1616,11 → 1644,11 |
//paysChp = new TextField<String>(); |
//paysChp.setTabIndex(112); |
//paysChp.setFieldLabel("Pays"); |
modele.obtenirListeValeurs(((Configuration) Registry.get(RegistreId.CONFIG)).getListeId("pays")); |
modele.obtenirListeValeurs(this, ((Configuration) Registry.get(RegistreId.CONFIG)).getListeId("pays")); |
magazinPays = new ListStore<Valeur>(); |
magazinPays.add(new ArrayList<Valeur>()); |
comboPays = new ComboBox<Valeur>(); |
comboPays.setTabIndex(112); |
comboPays.setTabIndex(tabIndex++); |
comboPays.setFieldLabel("Pays"); |
comboPays.setEmptyText("Sélectioner un pays..."); |
comboPays.setEditable(true); |
1655,23 → 1683,23 |
fieldSetTelMail.setLayout(creerFormLayout(200, LabelAlign.LEFT, 4)); |
|
telChp = new TextField<String>(); |
telChp.setTabIndex(113); |
telChp.setTabIndex(tabIndex++); |
telChp.setFieldLabel("Téléphone"); |
gaucheFdTelMail.add(telChp); |
|
faxChp = new TextField<String>(); |
faxChp.setTabIndex(114); |
faxChp.setTabIndex(tabIndex++); |
faxChp.setFieldLabel("Fax"); |
droiteFdTelMail.add(faxChp); |
|
emailChp = new TextField<String>(); |
emailChp.setTabIndex(115); |
emailChp.setTabIndex(tabIndex++); |
emailChp.setFieldLabel("Courriel"); |
emailChp.setToolTip("Saisir le courriel de l'organisation, pas de courriel individuel. Ex. : accueil@organisation.org"); |
gaucheFdTelMail.add(emailChp); |
|
urlChp = new TextField<String>(); |
urlChp.setTabIndex(116); |
urlChp.setTabIndex(tabIndex++); |
urlChp.setFieldLabel("Site web"); |
droiteFdTelMail.add(urlChp); |
|
1866,7 → 1894,7 |
* @return |
*/ |
private ContentPanel creerChoixMultipleCp(String listeNom) { |
modele.obtenirListeValeurs(((Configuration) Registry.get(RegistreId.CONFIG)).getListeId(listeNom)); |
modele.obtenirListeValeurs(this, ((Configuration) Registry.get(RegistreId.CONFIG)).getListeId(listeNom)); |
ContentPanel cp = new ContentPanel(); |
cp.setLayout(creerFormLayout(650, LabelAlign.TOP, 0)); |
cp.setHeaderVisible(false); |
2103,6 → 2131,18 |
} else { |
GWT.log("La liste #"+listeValeurs.getId()+" ne contient aucune valeurs!", null); |
} |
} else if (nouvelleDonnees instanceof ProjetListe) { |
ProjetListe projets = (ProjetListe) nouvelleDonnees; |
|
List<Projet> liste = new ArrayList<Projet>(); |
for (Iterator<String> it = projets.keySet().iterator(); it.hasNext();) { |
liste.add(projets.get(it.next())); |
} |
projetsMagazin.removeAll(); |
projetsMagazin.add(liste); |
projetsCombo.setStore(projetsMagazin); |
} else { |
GWT.log("Pas de correspondance dans la méthode rafraichir() de la classe "+this.getClass(), null); |
} |
} catch (Exception e) { |
GWT.log("rafraichir()", e); |