Subversion Repositories eFlore/Applications.del

Rev

Rev 1316 | Rev 1566 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1316 Rev 1471
Line 6... Line 6...
6
import org.tela_botanica.del.client.composants.votefleur.VoteFleurPresenteur;
6
import org.tela_botanica.del.client.composants.votefleur.VoteFleurPresenteur;
7
import org.tela_botanica.del.client.composants.votefleur.VoteFleurVue;
7
import org.tela_botanica.del.client.composants.votefleur.VoteFleurVue;
8
import org.tela_botanica.del.client.modeles.Image;
8
import org.tela_botanica.del.client.modeles.Image;
9
import org.tela_botanica.del.client.modeles.Protocole;
9
import org.tela_botanica.del.client.modeles.Protocole;
10
import org.tela_botanica.del.client.modeles.VoteProtocole;
10
import org.tela_botanica.del.client.modeles.VoteProtocole;
-
 
11
import org.tela_botanica.del.client.navigation.evenement.BusEvenementiel;
-
 
12
import org.tela_botanica.del.client.navigation.evenement.changementEtatUtilisateur.EvenementChangementEtatUtilisateur;
-
 
13
import org.tela_botanica.del.client.navigation.evenement.changementEtatUtilisateur.GestionnaireEvenementChangementEtatUtilisateur;
-
 
14
import org.tela_botanica.del.client.navigation.evenement.suppressioncommentaire.EvenementSuppressionCommentaire;
-
 
15
import org.tela_botanica.del.client.navigation.evenement.suppressioncommentaire.GestionnaireEvenementSuppressionCommentaire;
11
import org.tela_botanica.del.client.services.rest.VoteProtocoleService;
16
import org.tela_botanica.del.client.services.rest.VoteProtocoleService;
-
 
17
import org.tela_botanica.del.client.services.rest.async.AjoutVoteProtocoleCallback;
12
import org.tela_botanica.del.client.services.rest.async.VoteProtocoleCallback;
18
import org.tela_botanica.del.client.services.rest.async.VoteProtocoleCallback;
Line 13... Line 19...
13
 
19
 
14
import com.google.gwt.event.dom.client.ClickEvent;
20
import com.google.gwt.event.dom.client.ClickEvent;
15
import com.google.gwt.event.dom.client.ClickHandler;
21
import com.google.gwt.event.dom.client.ClickHandler;
16
import com.google.gwt.event.dom.client.HasClickHandlers;
22
import com.google.gwt.event.dom.client.HasClickHandlers;
17
import com.google.gwt.event.dom.client.HasMouseMoveHandlers;
23
import com.google.gwt.event.dom.client.HasMouseMoveHandlers;
18
import com.google.gwt.event.dom.client.MouseMoveEvent;
24
import com.google.gwt.event.dom.client.MouseMoveEvent;
-
 
25
import com.google.gwt.event.dom.client.MouseMoveHandler;
19
import com.google.gwt.event.dom.client.MouseMoveHandler;
26
import com.google.gwt.user.client.Window;
20
import com.google.gwt.user.client.ui.HasText;
27
import com.google.gwt.user.client.ui.HasText;
21
import com.google.gwt.user.client.ui.HasWidgets;
28
import com.google.gwt.user.client.ui.HasWidgets;
Line 22... Line 29...
22
import com.google.gwt.user.client.ui.IsWidget;
29
import com.google.gwt.user.client.ui.IsWidget;
Line 23... Line 30...
23
 
30
 
24
public class MoyenneVotePresenteur {
-
 
25
 
-
 
26
	public interface Vue extends IsWidget {
31
public class MoyenneVotePresenteur {
Line 27... Line 32...
27
		public HasClickHandlers getBoutonVoter();
32
 
Line 28... Line 33...
28
 
33
	public interface Vue extends IsWidget {
Line 29... Line -...
29
		public HasClickHandlers getBoutonAnnuler();
-
 
30
 
-
 
31
		public HasClickHandlers getVotes();
34
		public HasClickHandlers getBoutonAnnuler();
Line 32... Line -...
32
 
-
 
33
		public int getValeurVote();
-
 
34
 
35
 
Line 35... Line 36...
35
		public void afficherBoutonVoter();
36
		public HasClickHandlers getVotes();
Line 36... Line 37...
36
 
37
 
Line 62... Line 63...
62
 
63
 
63
		public HasMouseMoveHandlers getZoneVoter();
64
		public HasMouseMoveHandlers getZoneVoter();
Line 64... Line 65...
64
		public void masquerZoneVoter();
65
		public void masquerZoneVoter();
-
 
66
 
-
 
67
		public void setNoteGeneraleToolTip(double valeurVoteTotalPrecise);
-
 
68
 
-
 
69
		void desactiverInteractionVote();
-
 
70
 
-
 
71
		void activerInteractionVote();
65
 
72
 
Line 66... Line 73...
66
		public void setNoteGeneraleToolTip(double valeurVoteTotalPrecise);
73
		void afficherVoteSupprime();
67
	}
74
	}
68
 
75
 
Line 109... Line 116...
109
		
116
		
110
		vue.getVotes().addClickHandler(new ClickHandler() {
117
		vue.getVotes().addClickHandler(new ClickHandler() {
111
			@Override
118
			@Override
112
			public void onClick(ClickEvent event) {
119
			public void onClick(ClickEvent event) {
113
				valeurVoteUtilisateur = vue.getValeurVote();
120
				valeurVoteUtilisateur = vue.getValeurVote();
114
				vue.afficherBoutonVoter();
121
				enregistrerVote();
115
				vue.afficherBoutonAnnuler();
122
				vue.afficherBoutonAnnuler();
116
				vue.masquerNbVotes();
123
				vue.masquerNbVotes();
117
			}
124
			}
Line 118... Line 125...
118
		});
125
		});
119
 
126
 
120
		vue.getBoutonAnnuler().addClickHandler(new ClickHandler() {
127
		vue.getBoutonAnnuler().addClickHandler(new ClickHandler() {
121
			@Override
128
			@Override
122
			public void onClick(ClickEvent event) {
-
 
123
				valeurVoteUtilisateur = valeurVoteDefaut;
129
			public void onClick(ClickEvent event) {
-
 
130
				valeurVoteUtilisateur = valeurVoteDefaut;
124
				vue.masquerBoutonVoter();
131
				vue.masquerBoutonAnnuler();
125
				vue.masquerBoutonAnnuler();
132
				supprimerVote();
126
				vue.afficherNbVotes();
133
				vue.afficherNbVotes();
127
				vue.reinitialiserVotes();
134
				vue.reinitialiserVotes();
128
			}
135
			}
129
		});
136
		});
130
 
137
		
131
		vue.getBoutonVoter().addClickHandler(new ClickHandler() {
138
		BusEvenementiel.getInstance().addHandler(EvenementChangementEtatUtilisateur.TYPE, new GestionnaireEvenementChangementEtatUtilisateur() {		
132
			@Override
139
			@Override
133
			public void onClick(ClickEvent event) {
-
 
134
				enregistrerVote();
-
 
135
				vue.masquerBoutonVoter();
-
 
136
				vue.masquerBoutonAnnuler();
-
 
137
				vue.afficherNbVotes();
140
			public void onModificationEtatUtilisateur(EvenementChangementEtatUtilisateur evenementChangementEtatUtilisateur) {
138
				vue.reinitialiserVotes();
141
				rafraichirVue();
139
			}
142
			}
Line 140... Line 143...
140
		});
143
		});
141
	}
144
	}
142
 
145
 
Line 143... Line 146...
143
	public void setValeurVoteUtilisateur(int valeurVoteUtilisateur) {
146
	public void setValeurVoteUtilisateur(int valeurVoteUtilisateur) {
-
 
147
		this.valeurVoteUtilisateur = valeurVoteUtilisateur;
144
		this.valeurVoteUtilisateur = valeurVoteUtilisateur;
148
	}
145
	}
149
 
146
 
150
	public void enregistrerVote() {
147
	public void enregistrerVote() {
151
		vue.desactiverInteractionVote();
148
		final VoteProtocole voteProtocole = new VoteProtocole();
152
		final VoteProtocole voteProtocole = new VoteProtocole();
149
		voteProtocole.setProtocole(this.protocole);
153
		voteProtocole.setProtocole(this.protocole);
150
		voteProtocole.setVote(valeurVoteUtilisateur);
-
 
151
		String idContributeur = CacheClient.getInstance().getUtilisateur()
-
 
152
				.getId();
-
 
153
		voteProtocole.setContributeur(idContributeur);
154
		voteProtocole.setVote(valeurVoteUtilisateur);
154
		// TODO: Mettre un message de chargement pendant l'envoi du vote ?
-
 
155
		// C'est très rapide mais bon
155
		String idContributeur = CacheClient.getInstance().getUtilisateur()
156
		VoteProtocoleCallback vpc = new VoteProtocoleCallback() {
-
 
157
 
-
 
158
			@Override
-
 
159
			public void surRetour(Void objetRetour) {
-
 
160
				// TODO: voir si l'on affiche un message en cas de succès ?
-
 
161
				image.ajouterVoteProtocole(voteProtocole);
-
 
162
				rafraichirVue();
-
 
163
			}
156
				.getId();
164
 
157
		voteProtocole.setContributeur(idContributeur);
-
 
158
		
-
 
159
		//TODO: ceci devrait pouvoir être factorisé
-
 
160
		if (image.utilisateurAVotePourProtocole(this.protocole.getId() + "",
-
 
161
				idContributeur)) {
-
 
162
			voteProtocole.setId(image.getVotesProtocoles(this.protocole.getId()+"").get(idContributeur).getId());
-
 
163
			VoteProtocoleCallback vpc = new VoteProtocoleCallback() {
-
 
164
				@Override
-
 
165
				public void surRetour(Void objetRetour) {
-
 
166
					image.ajouterVoteProtocole(voteProtocole);
-
 
167
					rafraichirVue();
165
		};
168
					vue.afficherVoteModifie();
166
 
169
					vue.activerInteractionVote();
167
		if (image.utilisateurAVotePourProtocole(this.protocole.getId() + "",
-
 
168
				idContributeur)) {
170
				}
-
 
171
			};
-
 
172
			voteProtocoleService.modifierVote(image.getIdImage(),
-
 
173
					voteProtocole, vpc);
-
 
174
		} else {
-
 
175
			AjoutVoteProtocoleCallback vpc = new AjoutVoteProtocoleCallback() {
-
 
176
				@Override
-
 
177
				public void surRetour(String idVote) {
-
 
178
					voteProtocole.setId(idVote);
-
 
179
					image.ajouterVoteProtocole(voteProtocole);
-
 
180
					rafraichirVue();
169
			voteProtocoleService.modifierVote(image.getIdImage(),
181
					vue.afficherVotePrisEnCompte();
170
					voteProtocole, vpc);
182
					vue.activerInteractionVote();
171
			vue.afficherVoteModifie();
-
 
172
		} else {
183
				}
173
			voteProtocoleService.ajouterVote(image.getIdImage(), voteProtocole,
184
			};
-
 
185
			voteProtocoleService.ajouterVote(image.getIdImage(), voteProtocole,
-
 
186
					vpc);
-
 
187
		}
-
 
188
	}
-
 
189
	
-
 
190
	public void supprimerVote() {
-
 
191
		vue.desactiverInteractionVote();
-
 
192
		final String idContributeur = CacheClient.getInstance().getUtilisateur()
-
 
193
				.getId();
-
 
194
		final VoteProtocole voteProtocole = image.getVotesProtocoles(protocole.getId()).get(idContributeur);
-
 
195
		VoteProtocoleCallback vpc = new VoteProtocoleCallback() {
-
 
196
			@Override
-
 
197
			public void surRetour(Void objetRetour) {
-
 
198
				// TODO: voir si l'on affiche un message en cas de succès ?
-
 
199
				image.supprimerVoteProtocole(protocole.getId() + "", idContributeur);
-
 
200
				rafraichirVue();
-
 
201
				vue.afficherVoteSupprime();
-
 
202
				vue.activerInteractionVote();
-
 
203
			}
Line 174... Line 204...
174
					vpc);
204
 
175
			vue.afficherVotePrisEnCompte();
205
		};
176
		}
206
		voteProtocoleService.supprimerVote(image.getIdImage(), voteProtocole, vpc);
Line 193... Line 223...
193
		int voteUtilisateur = 0;
223
		int voteUtilisateur = 0;
194
		if (voteProtocole != null) {
224
		if (voteProtocole != null) {
195
			voteUtilisateur = voteProtocole.getVote();
225
			voteUtilisateur = voteProtocole.getVote();
196
			vue.masquerZoneVoter();
226
			vue.masquerZoneVoter();
197
		}
227
		}
-
 
228
		
-
 
229
		if(image.utilisateurAVotePourProtocole(protocole.getId()+"", CacheClient.getInstance().getUtilisateur().getId())) {
-
 
230
			vue.afficherBoutonAnnuler();
-
 
231
		}
Line 198... Line 232...
198
 
232
 
199
		VoteFleurPresenteur presenteurFleur = new VoteFleurPresenteur(
233
		VoteFleurPresenteur presenteurFleur = new VoteFleurPresenteur(
200
				new VoteFleurVue());
234
				new VoteFleurVue());
201
		presenteurFleur.setNote(valeurVoteTotal);
235
		presenteurFleur.setNote(valeurVoteTotal);