1,9 → 1,11 |
/** |
* var g_idObservation : id de l'observation en cours de consultation |
* var g_idUtilisateur : id utilisateur |
* var g_urlServiceVotes : url du service web des votes à appeler |
* var g_urlServiceUtilisateurs : url du service web utilisateur à appeler |
* var g_votes : tableau des votes |
*/ |
var g_idObservation = '726365'; |
var boutonClique = null; |
var g_idUtilisateur = null |
|
function gererEvenementsClicsVotes() { |
$('.bouton_vote').click(function(event) { |
15,17 → 17,36 |
function voter(ouiOuNon) { |
var idProposition = obtenirIdProposition(); |
var urlVote = getUrlVoteProposition(idProposition); |
var type = getMethodeRequete(idProposition, g_idUtilisateur); |
|
$.ajax({ |
url : urlVote, |
type: "PUT", |
data: "utilisateur="+g_idUtilisateur+"&valeur="+ouiOuNon, |
type: type, |
data: "utilisateur="+g_idUtilisateur+"&valeur="+ouiOuNon |
}).done(function(data) { |
mettreAjourTableauVotes(idProposition, g_idUtilisateur, ouiOuNon); |
mettreAJourNbVotes(idProposition); |
boutonClique.effect("highlight", {}, 1000); |
mettreAJourNbVotes(); |
boutonClique = null; |
}); |
} |
|
function getMethodeRequete(idProposition, idUtilisateur) { |
var methode = "PUT"; |
if(g_votes[idProposition] != undefined && g_votes[idProposition] != null && |
g_votes[idProposition][idUtilisateur] != undefined && g_votes[idProposition][idUtilisateur] != null) { |
methode = "POST"; |
} |
return methode; |
} |
|
function mettreAjourTableauVotes(idProposition, idUtilisateur, valeurVote) { |
if(g_votes[idProposition] == undefined) { |
g_votes[idProposition] = new Array(); |
} |
g_votes[idProposition][idUtilisateur] = valeurVote; |
} |
|
function getValeurVote() { |
valeur = "0"; |
if(boutonClique.hasClass('bouton_vote_oui')) { |
34,12 → 55,41 |
return valeur; |
} |
|
function mettreAJourNbVotes() { |
valeurNbVotes = boutonClique.next().html(); |
valeurNbVotes++; |
boutonClique.next().html(valeurNbVotes); |
function mettreAJourNbVotes(idProposition) { |
affichageVotes = boutonClique.parent().find(".nb_votes"); |
affichageVotes.each(function() { |
if($(this).hasClass("nb_votes_oui")) { |
$(this).html(calculerVotesOui(idProposition)); |
} |
|
if($(this).hasClass("nb_votes_non")) { |
$(this).html(calculerVotesNon(idProposition)); |
} |
}); |
} |
|
function calculerVotesOui(id_proposition) { |
var nbOui = 0; |
g_votes[id_proposition] |
for (var votant in g_votes[id_proposition]) { |
if(g_votes[id_proposition][votant] == 1) { |
nbOui++; |
} |
} |
return nbOui; |
} |
|
function calculerVotesNon(id_proposition) { |
var nbNon = 0; |
g_votes[id_proposition] |
for (var votant in g_votes[id_proposition]) { |
if(g_votes[id_proposition][votant] == 0) { |
nbNon++; |
} |
} |
return nbNon; |
} |
|
function obtenirIdProposition() { |
var chaineProposition = boutonClique.parent().attr('id'); |
return chaineProposition.replace('vote_determination_', ''); |
46,7 → 96,7 |
} |
|
function getUrlVoteProposition(idProposition) { |
return 'http://localhost/del/services/0.1/observations/'+g_idObservation+'/'+idProposition+'/vote/'; |
return g_urlServiceVotes+'/'+idProposition+'/vote/'; |
} |
|
function gererEvenementClicImageSecondaire() { |
64,7 → 114,14 |
}); |
} |
|
function getIdUtilisateur() { |
$.getJSON(g_urlServiceUtilisateurs, function(data) { |
g_idUtilisateur = data.id_utilisateur; |
}); |
} |
|
$(document).ready(function() { |
getIdUtilisateur(); |
gererEvenementsClicsVotes(); |
gererEvenementClicImageSecondaire(); |
}); |