Subversion Repositories eFlore/Applications.del

Compare Revisions

Ignore whitespace Rev 302 → Rev 303

/trunk/src/org/tela_botanica/del/client/vues/plateformedetermination/DeterminationVue.java
8,7 → 8,7
import com.google.gwt.user.client.ui.VerticalPanel;
import com.google.gwt.user.client.ui.Widget;
 
public class DeterminationVue extends Composite {
public class DeterminationVue extends Composite implements DeterminationPresenteur.Vue {
 
@UiField
VerticalPanel forum, detailImageObservation, formulaireRechercheEflore, vote, barreRepartition;
/trunk/src/org/tela_botanica/del/client/vues/plateformedetermination/forum/LigneForumPresenteur.java
File deleted
/trunk/src/org/tela_botanica/del/client/vues/plateformedetermination/forum/LigneForumVue.java
File deleted
/trunk/src/org/tela_botanica/del/client/vues/plateformedetermination/forum/ForumPresenteur.java
3,23 → 3,42
import java.util.List;
 
import org.tela_botanica.del.client.cache.CacheClient;
import org.tela_botanica.del.client.modeles.MoyenneVote;
import org.tela_botanica.del.client.modeles.PropositionDetermination;
import org.tela_botanica.del.client.navigation.evenement.BusEvenementiel;
import org.tela_botanica.del.client.navigation.evenement.ajoutcommentaire.EvenementAjoutCommentaire;
import org.tela_botanica.del.client.navigation.evenement.ajoutcommentaire.GestionnaireEvenementAjoutCommentaire;
import org.tela_botanica.del.client.navigation.evenement.ajoutdetermination.EvenementAjoutDetermination;
import org.tela_botanica.del.client.navigation.evenement.ajoutdetermination.GestionnaireEvenementAjoutDetermination;
import org.tela_botanica.del.client.services.CalculVoteDeterminationService;
import org.tela_botanica.del.client.vues.plateformedetermination.DeterminationPresenteur;
import org.tela_botanica.del.client.vues.plateformedetermination.vote.barrerepartition.BarreRepartitionVotePresenteur;
import org.tela_botanica.del.client.vues.plateformedetermination.vote.barrerepartition.BarreRepartitionVoteVue;
 
import com.google.gwt.user.client.ui.FlexTable;
import com.google.gwt.user.client.ui.HasWidgets;
import com.google.gwt.user.client.ui.IsWidget;
 
public class ForumPresenteur {
public interface Vue extends IsWidget {
public abstract void initialiserEntetesTableau();
public abstract void ajouterLigne(PropositionDetermination determination,
IsWidget barreRepartition);
public abstract HasWidgets getTable();
}
 
private ForumVue forumVue = new ForumVue();
 
private Vue vue;
private List<PropositionDetermination> determinations;
 
public ForumPresenteur(Vue vue) {
this.vue = vue;
}
public void go(HasWidgets composite) {
 
chargerDeterminations();
composite.add(forumVue);
composite.add(vue.asWidget());
 
gererEvenements();
}
26,11 → 45,10
 
private void chargerDeterminations() {
determinations = CacheClient.getInstance().getObservationCourante().getPropositionsDetermination();
forumVue.initialiserEntetesTableau();
vue.initialiserEntetesTableau();
 
for (PropositionDetermination determination : determinations) {
LigneForumPresenteur ligne = new LigneForumPresenteur(determination);
ligne.go(forumVue.getTable());
ajouterPropositionDetermination(determination);
}
}
 
39,9 → 57,27
 
@Override
public void onAjoutDetermination(EvenementAjoutDetermination event) {
LigneForumPresenteur ligne = new LigneForumPresenteur(event.getPropositionDetermination());
ligne.go(forumVue.getTable());
ajouterPropositionDetermination(event.getPropositionDetermination());
}
});
BusEvenementiel.getInstance().addHandler(EvenementAjoutCommentaire.TYPE, new GestionnaireEvenementAjoutCommentaire() {
@Override
public void onAjoutCommentaire(EvenementAjoutCommentaire event) {
//TODO gérer l'ajout de commentaire
}
});
}
private void ajouterPropositionDetermination(PropositionDetermination propositionDetermination) {
BarreRepartitionVotePresenteur barreRepartitionVotePresenteur = new BarreRepartitionVotePresenteur(new BarreRepartitionVoteVue());
calculerEtAfficherVoteDetermination(barreRepartitionVotePresenteur, propositionDetermination);
vue.ajouterLigne(propositionDetermination, barreRepartitionVotePresenteur.getBarreRepartitionVoteVue());
}
private void calculerEtAfficherVoteDetermination(BarreRepartitionVotePresenteur barreRepartitionVotePresenteur, PropositionDetermination propositionDetermination) {
MoyenneVote votes = CalculVoteDeterminationService.calculerVoteDetermination(propositionDetermination);
barreRepartitionVotePresenteur.afficherVotes(votes);
}
}
/trunk/src/org/tela_botanica/del/client/vues/plateformedetermination/forum/ForumVue.java
6,6 → 6,7
import org.tela_botanica.del.client.i18n.I18n;
import org.tela_botanica.del.client.modeles.Commentaire;
import org.tela_botanica.del.client.modeles.PropositionDetermination;
import org.tela_botanica.del.client.vues.plateformedetermination.forum.ForumPresenteur.Vue;
 
import com.google.gwt.core.client.GWT;
import com.google.gwt.i18n.client.DateTimeFormat;
14,11 → 15,12
import com.google.gwt.uibinder.client.UiField;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.FlexTable;
import com.google.gwt.user.client.ui.IsWidget;
import com.google.gwt.user.client.ui.Tree;
import com.google.gwt.user.client.ui.TreeItem;
import com.google.gwt.user.client.ui.Widget;
 
public class ForumVue extends Composite {
public class ForumVue extends Composite implements Vue {
 
private static ForumUIiBinder uiBinder = GWT.create(ForumUIiBinder.class);
 
32,6 → 34,10
initWidget(uiBinder.createAndBindUi(this));
}
 
/* (non-Javadoc)
* @see org.tela_botanica.del.client.vues.plateformedetermination.forum.Vue#initialiserEntetesTableau()
*/
@Override
public void initialiserEntetesTableau() {
 
htmlTableau.setHTML(1, 1, I18n.getVocabulary().nom());
41,7 → 47,48
htmlTableau.setHTML(1, 5, I18n.getVocabulary().commentaire());
}
/* (non-Javadoc)
* @see org.tela_botanica.del.client.vues.plateformedetermination.forum.Vue#ajouterLigne(org.tela_botanica.del.client.modeles.PropositionDetermination, com.google.gwt.user.client.ui.IsWidget)
*/
@Override
public void ajouterLigne(PropositionDetermination determination, IsWidget barreRepartition) {
Tree arbreCommentaires = new Tree();
TreeItem racineArbreCommentaires = new TreeItem();
arbreCommentaires.addItem(racineArbreCommentaires);
creerListeCommentaireRecursive(racineArbreCommentaires, determination.getListeCommentaires());
 
int ligne = htmlTableau.getRowCount() + 1;
htmlTableau.setWidget(ligne, 1, barreRepartition);
htmlTableau.setHTML(ligne, 2, determination.getContributeur());
htmlTableau.setHTML(ligne, 3, DateTimeFormat.getFormat(PredefinedFormat.DATE_SHORT).format(determination.getDate()));
htmlTableau.setWidget(ligne, 4, arbreCommentaires);
}
/* (non-Javadoc)
* @see org.tela_botanica.del.client.vues.plateformedetermination.forum.Vue#getTable()
*/
@Override
public FlexTable getTable() {
return htmlTableau;
}
private void creerListeCommentaireRecursive(TreeItem parentTreeItem, List<Commentaire> commentaires) {
 
for (Commentaire commentaire : commentaires) {
String commentaireHTML = commentaire.getCommentaire() +" "+ commentaire.getAuteur() + "-"+formaterDatePourForum(commentaire.getDate());
parentTreeItem.setHTML(commentaireHTML);
if (commentaire.getListeCommentaires().size() != 0) {
TreeItem childTreeItem = new TreeItem();
parentTreeItem.addItem(childTreeItem);
creerListeCommentaireRecursive(childTreeItem, commentaire.getListeCommentaires());
}
}
parentTreeItem.setState(true);
 
}
 
private String formaterDatePourForum(Date date) {
return DateTimeFormat.getFormat(PredefinedFormat.DATE_SHORT).format(date);
}
}
/trunk/src/org/tela_botanica/del/client/vues/plateformedetermination/formulairecommentaire/FormulaireCommentaireVue.java
New file
0,0 → 1,46
package org.tela_botanica.del.client.vues.plateformedetermination.formulairecommentaire;
 
import com.google.gwt.core.client.GWT;
import com.google.gwt.uibinder.client.UiBinder;
import com.google.gwt.uibinder.client.UiField;
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.TextArea;
import com.google.gwt.user.client.ui.TextBox;
import com.google.gwt.user.client.ui.Widget;
 
public class FormulaireCommentaireVue extends Composite implements FormulaireCommentairePresenteur.Vue {
@UiField(provided = true)
public TextBox nomPrenom = new TextBox();
 
@UiField(provided = true)
public TextArea commentaire = new TextArea();
 
@UiField(provided = true)
public Button boutonValidationCommentaire = new Button();
 
interface FormulairePropositionUIiBinder extends UiBinder<Widget, FormulaireCommentaireVue> {
};
 
FormulairePropositionUIiBinder uiBinder = GWT.create(FormulairePropositionUIiBinder.class);
 
public FormulaireCommentaireVue() {
initWidget(uiBinder.createAndBindUi(this));
}
 
@Override
public TextBox getNomPrenom() {
return nomPrenom;
}
 
@Override
public TextArea getCommentaire() {
return commentaire;
}
 
@Override
public Button getBoutonValidationCommentaire() {
return boutonValidationCommentaire;
}
}
/trunk/src/org/tela_botanica/del/client/vues/plateformedetermination/formulairecommentaire/formulaireCommentaire.css
New file
0,0 → 1,9
.formulaireProposition {z-index:1500; padding:50px; background:white; width:50%; width:600px; margin:0 auto; margin-top:5%;}
.boutonProposer {float:right; margin-right:35px; margin-top:-85px; padding:10px; background:url(./img/add.png) no-repeat 5px 12px #DDD; padding-left:20px; cursor:pointer}
.boutonProposer:hover {background-color:#AAA}
.colonneGauche, .colonneDroite {width:250px;}
.colonneGauche {padding-right:30px}
.colonneGauche select {width:100%}
.colonneGauche input {width:95%}
.commentaire {width:250px; height:100px}
.propositionTaxon{width:100%;height:30px;}
/trunk/src/org/tela_botanica/del/client/vues/plateformedetermination/formulairecommentaire/FormulaireCommentaireVue.ui.xml
New file
0,0 → 1,24
<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent">
<ui:UiBinder
xmlns:ui='urn:ui:com.google.gwt.uibinder'
xmlns:g='urn:import:com.google.gwt.user.client.ui'>
<ui:with field="constants" type="org.tela_botanica.del.client.i18n.Vocabulary"/>
<ui:style src="formulaireCommentaire.css" />
<g:VerticalPanel styleName="{style.formulaireProposition}">
<g:Label text="{constants.proposerSaDetermination}" styleName="titre"/>
<g:Label text="{constants.infoProposerDetermination}" styleName="petit"/>
<g:HTML><br /></g:HTML>
<g:HorizontalPanel>
<g:VerticalPanel styleName="{style.colonneGauche}">
<g:Label text="{constants.vous}" styleName="sousTitre"/>
<g:Label text="{constants.infoVous}" styleName="petit" />
<g:TextBox ui:field="nomPrenom" />
<g:HTML><br /></g:HTML>
<g:Label text="{constants.commentaire}" styleName="sousTitre"/>
<g:TextArea ui:field="commentaire" styleName="{style.commentaire}" />
</g:VerticalPanel>
</g:HorizontalPanel>
<g:Button text="{constants.boutonProposer}" ui:field="boutonValidationCommentaire" styleName="{style.boutonProposer}"/>
</g:VerticalPanel>
</ui:UiBinder>
/trunk/src/org/tela_botanica/del/client/vues/plateformedetermination/formulairecommentaire/FormulaireCommentairePresenteur.java
New file
0,0 → 1,63
package org.tela_botanica.del.client.vues.plateformedetermination.formulairecommentaire;
 
import java.util.Date;
 
import org.tela_botanica.del.client.modeles.Commentaire;
import org.tela_botanica.del.client.modeles.PossesseurDeCommentaires;
import org.tela_botanica.del.client.navigation.evenement.BusEvenementiel;
import org.tela_botanica.del.client.navigation.evenement.ajoutcommentaire.EvenementAjoutCommentaire;
import org.tela_botanica.del.client.navigation.evenement.voteDetermination.EvenementVoteDetermination;
 
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.event.dom.client.HasClickHandlers;
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.HasText;
import com.google.gwt.user.client.ui.HasWidgets;
import com.google.gwt.user.client.ui.IsWidget;
import com.google.gwt.user.client.ui.TextArea;
import com.google.gwt.user.client.ui.TextBox;
 
public class FormulaireCommentairePresenteur {
private PossesseurDeCommentaires objetACommenter;
public interface Vue extends IsWidget {
 
public abstract HasText getNomPrenom();
 
public abstract HasText getCommentaire();
 
public abstract HasClickHandlers getBoutonValidationCommentaire();
 
}
private Vue vue;
 
public FormulaireCommentairePresenteur(PossesseurDeCommentaires objetACommenter, Vue vue) {
this.objetACommenter = objetACommenter;
this.vue = vue;
}
 
public void go(HasWidgets composite) {
composite.add(vue.asWidget());
}
 
protected void gererEvenements() {
vue.getBoutonValidationCommentaire().addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
String texteCommentaire = vue.getCommentaire().getText();
String nomPrenom = vue.getNomPrenom().getText();
Commentaire commentaire = new Commentaire(nomPrenom, new Date(), texteCommentaire);
objetACommenter.ajouterCommentaire(commentaire);
BusEvenementiel.getInstance().fireEvent(new EvenementAjoutCommentaire(commentaire));
}
});
}
 
}
/trunk/src/org/tela_botanica/del/client/vues/plateformedetermination/formulaireproposition/FormulairePropositionVue.java
1,8 → 1,5
package org.tela_botanica.del.client.vues.plateformedetermination.formulaireproposition;
 
import java.util.Iterator;
import java.util.List;
 
import com.google.gwt.core.client.GWT;
import com.google.gwt.uibinder.client.UiBinder;
import com.google.gwt.uibinder.client.UiField;
9,12 → 6,11
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.LayoutPanel;
import com.google.gwt.user.client.ui.ListBox;
import com.google.gwt.user.client.ui.TextArea;
import com.google.gwt.user.client.ui.TextBox;
import com.google.gwt.user.client.ui.Widget;
 
public class FormulairePropositionVue extends Composite {
public class FormulairePropositionVue extends Composite implements FormulairePropositionPresenteur.Vue {
 
@UiField(provided = true)
public TextBox nomPrenom = new TextBox();
37,19 → 33,35
initWidget(uiBinder.createAndBindUi(this));
}
 
@Override
public TextBox getNomPrenom() {
return nomPrenom;
}
 
@Override
public LayoutPanel getPropositionTaxon() {
return propositionTaxon;
}
 
@Override
public TextArea getCommentaires() {
return commentaires;
}
 
@Override
public Button getBoutonValidationProposition() {
return boutonValidationProposition;
}
 
@Override
public void afficherStyleErreur(String styleErreur) {
nomPrenom.addStyleName(styleErreur);
propositionTaxon.addStyleName(styleErreur);
}
 
@Override
public void supprimerStyleErreur(String styleErreur) {
nomPrenom.removeStyleName(styleErreur);
propositionTaxon.removeStyleName(styleErreur);
}
}
/trunk/src/org/tela_botanica/del/client/vues/plateformedetermination/formulaireproposition/FormulairePropositionPresenteur.java
14,19 → 14,32
 
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.event.dom.client.HasClickHandlers;
import com.google.gwt.http.client.Response;
import com.google.gwt.json.client.JSONArray;
import com.google.gwt.json.client.JSONParser;
import com.google.gwt.json.client.JSONValue;
import com.google.gwt.user.client.ui.HasText;
import com.google.gwt.user.client.ui.HasWidgets;
import com.google.gwt.user.client.ui.IsWidget;
 
public class FormulairePropositionPresenteur extends Presenteur {
public interface Vue extends IsWidget {
public abstract HasText getNomPrenom();
public abstract HasWidgets getPropositionTaxon();
public abstract HasText getCommentaires();
public abstract HasClickHandlers getBoutonValidationProposition();
public abstract void afficherStyleErreur(String styleErreur);
public abstract void supprimerStyleErreur(String styleErreur);
}
private Vue vue;
private AutoCompletionComboBoxPresenteur autoCompletionNomTaxonsPresenteur;
private String urlServiceCompletionNom = "http://www.tela-botanica.org/eflore/cel2/jrest/NameSearch/";
public FormulairePropositionPresenteur() {
super(new FormulairePropositionVue());
public FormulairePropositionPresenteur(Vue vue) {
this.vue = vue;
autoCompletionNomTaxonsPresenteur = new AutoCompletionComboBoxPresenteur(urlServiceCompletionNom) {
@Override
38,13 → 51,13
 
public void go(HasWidgets composite) {
 
autoCompletionNomTaxonsPresenteur.go(((FormulairePropositionVue)getVue()).getPropositionTaxon());
composite.add((FormulairePropositionVue)getVue());
autoCompletionNomTaxonsPresenteur.go(vue.getPropositionTaxon());
composite.add(vue.asWidget());
gererEvenements();
}
 
protected void gererEvenements() {
((FormulairePropositionVue)getVue()).getBoutonValidationProposition().addClickHandler(new ClickHandler() {
vue.getBoutonValidationProposition().addClickHandler(new ClickHandler() {
 
@Override
public void onClick(ClickEvent event) {
64,7 → 77,17
 
private boolean validerSaisieProposition() {
 
ValidateurChampTexteNonNul validateurTaxon = new ValidateurChampTexteNonNul(((FormulairePropositionVue)getVue()).getNomPrenom());
ValidateurChampTexteNonNul validateurTaxon = new ValidateurChampTexteNonNul(vue.getNomPrenom()) {
@Override
public void afficherStyleErreur(String styleErreur) {
vue.afficherStyleErreur(styleErreur);
}
@Override
public void supprimerStyleErreur(String styleErreur) {
vue.supprimerStyleErreur(styleErreur);
}
};
boolean taxonSaisi = validateurTaxon.valider();
 
return taxonSaisi;
75,9 → 98,9
PropositionDetermination propositionAjoutee = new PropositionDetermination();
propositionAjoutee.setId(CacheClient.getInstance().getImageCourante().getIdImage());
 
String auteur = ((FormulairePropositionVue)getVue()).getNomPrenom().getText();
if (((FormulairePropositionVue)getVue()).getCommentaires().getText() != "") {
String contenuCommentaire = ((FormulairePropositionVue)getVue()).getCommentaires().getText();
String auteur = vue.getNomPrenom().getText();
if (vue.getCommentaires().getText() != "") {
String contenuCommentaire = vue.getCommentaires().getText();
Commentaire comm = new Commentaire(auteur, new Date(), contenuCommentaire);
propositionAjoutee.ajouterCommentaire(comm);
}
/trunk/src/org/tela_botanica/del/client/vues/plateformedetermination/vote/barrerepartition/BarreRepartitionVotePresenteur.java
23,12 → 23,12
public class BarreRepartitionVotePresenteur {
public interface Vue extends IsWidget {
public abstract void afficherVotes(int pourcentage, String NomTaxon);
public abstract IsWidget getBarreRepartitionHtmlBrut();
public abstract HasClickHandlers getBoutonOui();
public abstract HasClickHandlers getBoutonNon();
public abstract void setVoteOuiEffectue();
public abstract void setVoteNonEffectue();
public void afficherVotes(int pourcentage, String NomTaxon);
public IsWidget getBarreRepartitionHtmlBrut();
public HasClickHandlers getBoutonOui();
public HasClickHandlers getBoutonNon();
public void setVoteOuiEffectue();
public void setVoteNonEffectue();
}
private Vue vue;
/trunk/src/org/tela_botanica/del/client/vues/plateformedetermination/DeterminationPresenteur.java
14,38 → 14,52
import org.tela_botanica.del.client.services.CalculVoteDeterminationService;
import org.tela_botanica.del.client.vues.plateformedetermination.detail.DetailImageObservationPresenteur;
import org.tela_botanica.del.client.vues.plateformedetermination.formulaireproposition.FormulairePropositionPresenteur;
import org.tela_botanica.del.client.vues.plateformedetermination.formulaireproposition.FormulairePropositionVue;
import org.tela_botanica.del.client.vues.plateformedetermination.formulairerechercheeflore.FormulaireRechercheEflorePresenteur;
import org.tela_botanica.del.client.vues.plateformedetermination.forum.ForumPresenteur;
import org.tela_botanica.del.client.vues.plateformedetermination.forum.ForumVue;
import org.tela_botanica.del.client.vues.plateformedetermination.vote.EnsembleVotesPresenteur;
import org.tela_botanica.del.client.vues.plateformedetermination.vote.EnsembleVotesVue;
import org.tela_botanica.del.client.vues.plateformedetermination.vote.barrerepartition.BarreRepartitionVotePresenteur;
import org.tela_botanica.del.client.vues.plateformedetermination.vote.barrerepartition.BarreRepartitionVoteVue;
 
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.HasWidgets;
import com.google.gwt.user.client.ui.IsWidget;
import com.google.gwt.user.client.ui.VerticalPanel;
 
public class DeterminationPresenteur extends Presenteur {
 
public abstract interface Vue extends IsWidget {
public VerticalPanel getForum();
public VerticalPanel getDetailImageObservation();
public VerticalPanel getFormulaireRechercheEflore();
public VerticalPanel getVote();
public VerticalPanel getBarreRepartition();
public Button getBoutonAjoutProposition();
}
private Vue vue;
BarreRepartitionVotePresenteur barreRepartitionVotePresenteur;
 
public DeterminationPresenteur() {
super(new DeterminationVue());
public DeterminationPresenteur(Vue vue) {
this.vue = vue;
}
 
public void go(HasWidgets composite) {
 
DeterminationVue determinationVue = (DeterminationVue)getVue();
new DetailImageObservationPresenteur().go(determinationVue.getDetailImageObservation());
new EnsembleVotesPresenteur().go(determinationVue.getVote());
new ForumPresenteur().go(determinationVue.getForum());
new FormulaireRechercheEflorePresenteur().go(determinationVue.getFormulaireRechercheEflore());
new DetailImageObservationPresenteur().go(vue.getDetailImageObservation());
new EnsembleVotesPresenteur(new EnsembleVotesVue()).go(vue.getVote());
new ForumPresenteur(new ForumVue()).go(vue.getForum());
new FormulaireRechercheEflorePresenteur().go(vue.getFormulaireRechercheEflore());
 
barreRepartitionVotePresenteur = new BarreRepartitionVotePresenteur(new BarreRepartitionVoteVue());
barreRepartitionVotePresenteur.go(determinationVue.getBarreRepartition());
barreRepartitionVotePresenteur.go(vue.getBarreRepartition());
calculerEtAfficherVoteDeterminationPlusPopulaire();
 
composite.add(determinationVue);
composite.add(vue.asWidget());
gererEvenements();
}
66,11 → 80,11
}
});
((DeterminationVue)getVue()).getBoutonAjoutProposition().addClickHandler(new ClickHandler() {
vue.getBoutonAjoutProposition().addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
ouvrirFenetreModale(new FormulairePropositionPresenteur());
ouvrirFenetreModale(new FormulairePropositionPresenteur(new FormulairePropositionVue()));
}
});