forked from GitHub/dbot
votees stores vote, can change vote
This commit is contained in:
parent
800faf5a88
commit
2e27d7dece
@ -20,7 +20,7 @@ var poll = function(dbot) {
|
|||||||
'description': description,
|
'description': description,
|
||||||
'owner': event.user,
|
'owner': event.user,
|
||||||
'votes': {},
|
'votes': {},
|
||||||
'votees': []
|
'votees': {}
|
||||||
};
|
};
|
||||||
|
|
||||||
for(var i=0;i<options.length;i++) {
|
for(var i=0;i<options.length;i++) {
|
||||||
@ -37,16 +37,22 @@ var poll = function(dbot) {
|
|||||||
var vote = event.input[2];
|
var vote = event.input[2];
|
||||||
|
|
||||||
if(polls.hasOwnProperty(name)) {
|
if(polls.hasOwnProperty(name)) {
|
||||||
if(polls[name].votees.include(event.user)) {
|
if(polls[name].votes.hasOwnProperty(vote)) {
|
||||||
event.reply(dbot.t('alread_voted'));
|
if(polls[name].votees.hasOwnProperty(event.user)) {
|
||||||
} else {
|
var oldVote = polls[name].votees[event.user];
|
||||||
if(polls[name].votes.hasOwnProperty(vote)) {
|
polls[name].votes[oldVote]--;
|
||||||
polls[name].votes[vote]++;
|
polls[name].votes[vote]++;
|
||||||
polls[name].votees.push(event.user);
|
polls[name].votees[event.user] = vote;
|
||||||
event.reply(dbot.t('voted', {'vote': vote}));
|
event.reply(dbot.t('changed_voted', {'vote': vote, 'poll': name,
|
||||||
|
'count': polls[name].votes[vote]}));
|
||||||
} else {
|
} else {
|
||||||
event.reply(dbot.t('invalid_vote', {'vote': vote}));
|
polls[name].votes[vote]++;
|
||||||
|
polls[name].votees[event.user] = vote;
|
||||||
|
event.reply(dbot.t('voted', {'vote': vote, 'poll': name,
|
||||||
|
'count': polls[name].votes[vote]}));
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
event.reply(dbot.t('invalid_vote', {'vote': vote}));
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
event.reply(dbot.t('poll_unexistent', {'name': name}));
|
event.reply(dbot.t('poll_unexistent', {'name': name}));
|
||||||
|
@ -51,7 +51,7 @@ var webInterface = function(dbot) {
|
|||||||
totalVotes += N;
|
totalVotes += N;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
res.render('polls', { 'name': dbot.name, 'description': dbot.db.polls[key].description, 'votees': dbot.db.polls[key].votees, 'options': dbot.db.polls[key].votes, locals: { 'totalVotes': totalVotes, 'url_regex': RegExp.prototype.url_regex() } });
|
res.render('polls', { 'name': dbot.name, 'description': dbot.db.polls[key].description, 'votees': Object.keys(dbot.db.polls[key].votees), 'options': dbot.db.polls[key].votes, locals: { 'totalVotes': totalVotes, 'url_regex': RegExp.prototype.url_regex() } });
|
||||||
} else {
|
} else {
|
||||||
res.render('error', { 'name': dbot.name, 'message': 'No polls under that key.' });
|
res.render('error', { 'name': dbot.name, 'message': 'No polls under that key.' });
|
||||||
}
|
}
|
||||||
|
@ -205,11 +205,11 @@
|
|||||||
"poll_created": {
|
"poll_created": {
|
||||||
"english": "Poll '{name}' created ({description}). Cast thy votations!"
|
"english": "Poll '{name}' created ({description}). Cast thy votations!"
|
||||||
},
|
},
|
||||||
"already_voted": {
|
"changed_vote": {
|
||||||
"english": "You've already voted in this poll!"
|
"english": "Changed vote in {poll} to '{vote}' ({count})"
|
||||||
},
|
},
|
||||||
"voted": {
|
"voted": {
|
||||||
"english": "Voted for {vote}"
|
"english": "Voted for '{vote}' in {poll} ({count})"
|
||||||
},
|
},
|
||||||
"invalid_vote": {
|
"invalid_vote": {
|
||||||
"english": "Invalid vote: {vote}"
|
"english": "Invalid vote: {vote}"
|
||||||
|
Loading…
Reference in New Issue
Block a user