7,10 → 7,12 |
import org.tela_botanica.client.composants.ChampComboBoxRechercheTempsReelPaginable; |
import org.tela_botanica.client.composants.ChampSliderPourcentage; |
import org.tela_botanica.client.composants.InfoLogger; |
import org.tela_botanica.client.composants.pagination.ProxyProjets; |
import org.tela_botanica.client.interfaces.Rafraichissable; |
import org.tela_botanica.client.modeles.Information; |
import org.tela_botanica.client.modeles.MenuApplicationId; |
import org.tela_botanica.client.modeles.commentaire.Commentaire; |
import org.tela_botanica.client.modeles.projet.Projet; |
import org.tela_botanica.client.synchronisation.Sequenceur; |
import org.tela_botanica.client.util.Debug; |
import org.tela_botanica.client.util.UtilArray; |
35,6 → 37,7 |
|
private Commentaire commentaire; |
|
private ChampComboBoxRechercheTempsReelPaginable projetsCombo = null; |
private TextField<String> titreChp; |
private TextArea texteChp; |
private ChampSliderPourcentage ponderationChp; |
84,7 → 87,46 |
} |
|
private void creerChamps() { |
|
|
ModelType modelTypeProjets = new ModelType(); |
modelTypeProjets.setRoot("projets"); |
modelTypeProjets.setTotalName("nbElements"); |
modelTypeProjets.addField("cpr_nom"); |
modelTypeProjets.addField("cpr_id_projet"); |
|
String displayNameProjets = "cpr_nom"; |
ProxyProjets<ModelData> proxyProjets = new ProxyProjets<ModelData>(null); |
|
projetsCombo = new ChampComboBoxRechercheTempsReelPaginable(proxyProjets, modelTypeProjets, displayNameProjets); |
projetsCombo.setWidth(100, 550); |
projetsCombo.getCombo().setTabIndex(tabIndex++); |
projetsCombo.getCombo().setFieldLabel(i18nC.projetChamp()); |
projetsCombo.getCombo().setEmptyText(i18nC.txtListeProjetDefaut()); |
projetsCombo.getCombo().setForceSelection(true); |
projetsCombo.getCombo().setEditable(false); |
projetsCombo.getCombo().setAllowBlank(false); |
projetsCombo.getCombo().setValidator(new Validator() { |
public String validate(Field<?> champ, String valeurAValider) { |
String retour = null; |
if (UtilString.isEmpty(valeurAValider) |
|| projetsCombo.getStore().findModel("cpr_nom", valeurAValider) == null) { |
champ.setValue(null); |
retour = i18nC.selectionnerValeur(); |
} |
if(retour == null) { |
projetsCombo.getCombo().addStyleName(ComposantClass.OBLIGATOIRE_OK); |
projetsCombo.getCombo().removeStyleName(ComposantClass.OBLIGATOIRE); |
} else { |
projetsCombo.getCombo().removeStyleName(ComposantClass.OBLIGATOIRE_OK); |
projetsCombo.getCombo().addStyleName(ComposantClass.OBLIGATOIRE); |
} |
return retour; |
} |
}); |
projetsCombo.getCombo().addStyleName(ComposantClass.OBLIGATOIRE); |
|
panneauFormulaire.add(projetsCombo, new FormData(450, 0)); |
|
titreChp = new TextField<String>(); |
titreChp.setFieldLabel(i18nC.commentaireTitre()); |
titreChp.setAllowBlank(false); |
128,6 → 170,34 |
genererTitreFormulaire(); |
} |
|
private String getValeurComboProjets() { |
String valeur = ""; |
if (projetsCombo.getCombo().getValue() != null && projetsCombo.getCombo().isValid()) { |
Projet projet = new Projet (projetsCombo.getValeur()); |
valeur = projet.getId(); |
} |
return valeur; |
} |
|
private void setValeurComboProjets() { |
if (mode.equals(Formulaire.MODE_MODIFIER)) { |
if (projetsCombo.getCombo().getStore() != null |
&& commentaire != null |
&& commentaire.getIdProjet() != null |
&& !UtilString.isEmpty(commentaire.getIdProjet())) { |
projetsCombo.chargerValeurInitiale(commentaire.getIdProjet(), "cpr_id_projet"); |
} else { |
projetsCombo.getCombo().setValue(null); |
} |
} else if (mode.equals(Formulaire.MODE_AJOUTER)) { |
if (projetsCombo.getCombo().getStore() != null) { |
projetsCombo.chargerValeurInitiale(mediateur.getProjetId(), "cpr_id_projet"); |
} else { |
projetsCombo.getCombo().setValue(null); |
} |
} |
} |
|
private void rafraichirInformation(Information info) { |
// Gestion des messages d'erreur |
if (info.getMessages() != null && !info.getMessages().toString().equals("[]")) { |
215,6 → 285,12 |
messages.add(i18nC.commentaireMessageTitre()); |
} |
|
if (UtilString.isEmpty(getValeurComboProjets())) { |
String selectionDe = i18nC.articleUn()+" "+i18nC.projetSingulier(); |
String pour = i18nC.articleLa()+" "+i18nC.commentaireSingulier(); |
messages.add(i18nM.selectionObligatoire(selectionDe, pour)); |
} |
|
if (messages.size() != 0) { |
String[] tableauDeMessages = {}; |
tableauDeMessages = messages.toArray(tableauDeMessages); |
225,6 → 301,7 |
} |
|
private void peuplerFormulaire() { |
setValeurComboProjets(); |
titreChp.setValue(commentaire.getTitre()); |
texteChp.setValue(commentaire.getTexte()); |
ponderationChp.peupler(commentaire.getPonderation()); |
235,6 → 312,8 |
private Commentaire collecterCommentaire() { |
Commentaire commentaireCollectee = (Commentaire) commentaire.cloner(new Commentaire()); |
|
commentaireCollectee.setIdProjet(getValeurComboProjets()); |
|
String titre = titreChp.getValue(); |
commentaireCollectee.setTitre(titre); |
|