Skip to content

Commit

Permalink
Fix issue with wrong poll being highlighted. (#53)
Browse files Browse the repository at this point in the history
  • Loading branch information
xitij2000 committed Mar 14, 2019
2 parents c5c2cc1 + 0ae7251 commit 2c385b9
Show file tree
Hide file tree
Showing 20 changed files with 781 additions and 26 deletions.
5 changes: 5 additions & 0 deletions poll/poll.py
Original file line number Diff line number Diff line change
Expand Up @@ -489,8 +489,11 @@ def tally_detail(self):
total = 0
self.clean_tally()
source_tally = self.tally
highest_count = None
for key, value in answers.items():
count = int(source_tally[key])
if highest_count is None or count > highest_count:
highest_count = count
tally.append({
'count': count,
'answer': value['label'],
Expand All @@ -511,6 +514,8 @@ def tally_detail(self):
except ZeroDivisionError:
answer['percent'] = 0

answer['leader'] = answer['count'] == highest_count

# This should always be true, but on the off chance there are
# no answers...
if tally:
Expand Down
2 changes: 1 addition & 1 deletion poll/public/handlebars/poll_results.handlebars
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
<label class="poll-answer-label" for="answer-{{key}}-{{../block_id}}">{{{answer}}}</label>
</div>
<div class="poll-percent-container">
<span class="poll-percent-display{{#if first}} poll-top-choice{{/if}}">{{percent}}%</span>
<span class="poll-percent-display{{#if leader}} poll-top-choice{{/if}}">{{percent}}%</span>
</div>
</li>
{{/each}}
Expand Down
146 changes: 146 additions & 0 deletions poll/public/js/translations/de_de/textjs.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,146 @@

(function(global){
var PollXBlockI18N = {
init: function() {


(function (globals) {

var django = globals.django || (globals.django = {});


django.pluralidx = function (count) { return (count == 1) ? 0 : 1; };



/* gettext library */

django.catalog = {
"Answer": "Antwort",
"Delete": "L\u00f6schen",
"Feedback": "Feedback",
"Image URL": "Bild-URL",
"Image alternative text": "Bild zum alternativen Text",
"Question": "Frage",
"Results": "Ergebnisse",
"Results gathered from {total} respondent.": [
"Ergebnisse von {total} Befragten.",
"Ergebnisse von {total} Befragten."
],
"Submit": "Einreichen",
"This must have an image URL or text, and can have both. If you add an image, you must also provide an alternative text that describes the image in a way that would allow someone to answer the poll if the image did not load.": "Eine Bild-URL oder ein Text oder beides muss hinzugef\u00fcgt sein. Wenn Sie ein Bild hinzuf\u00fcgen, m\u00fcssen Sie auch einen alternativen Text angeben, der das Bild so beschreibt, dass jemand die Umfrage auch dann beantworten kann, wenn das Bild nicht geladen wurde.",
"You can make limited use of Markdown in answer texts, preferably only bold and italics.": "Sie k\u00f6nnen Markdown eingeschr\u00e4nkt in Antworttexten verwenden, vorzugsweise nur in fett und kursiv.",
"move poll down": "Umfrage nach unten verschieben",
"move poll up": "Umfrage nach oben verschieben"
};

django.gettext = function (msgid) {
var value = django.catalog[msgid];
if (typeof(value) == 'undefined') {
return msgid;
} else {
return (typeof(value) == 'string') ? value : value[0];
}
};

django.ngettext = function (singular, plural, count) {
var value = django.catalog[singular];
if (typeof(value) == 'undefined') {
return (count == 1) ? singular : plural;
} else {
return value[django.pluralidx(count)];
}
};

django.gettext_noop = function (msgid) { return msgid; };

django.pgettext = function (context, msgid) {
var value = django.gettext(context + '\x04' + msgid);
if (value.indexOf('\x04') != -1) {
value = msgid;
}
return value;
};

django.npgettext = function (context, singular, plural, count) {
var value = django.ngettext(context + '\x04' + singular, context + '\x04' + plural, count);
if (value.indexOf('\x04') != -1) {
value = django.ngettext(singular, plural, count);
}
return value;
};


django.interpolate = function (fmt, obj, named) {
if (named) {
return fmt.replace(/%\(\w+\)s/g, function(match){return String(obj[match.slice(2,-2)])});
} else {
return fmt.replace(/%s/g, function(match){return String(obj.shift())});
}
};


/* formatting library */

django.formats = {
"DATETIME_FORMAT": "j. F Y H:i",
"DATETIME_INPUT_FORMATS": [
"%d.%m.%Y %H:%M:%S",
"%d.%m.%Y %H:%M:%S.%f",
"%d.%m.%Y %H:%M",
"%d.%m.%Y",
"%Y-%m-%d %H:%M:%S",
"%Y-%m-%d %H:%M:%S.%f",
"%Y-%m-%d %H:%M",
"%Y-%m-%d"
],
"DATE_FORMAT": "j. F Y",
"DATE_INPUT_FORMATS": [
"%d.%m.%Y",
"%d.%m.%y",
"%Y-%m-%d"
],
"DECIMAL_SEPARATOR": ",",
"FIRST_DAY_OF_WEEK": "1",
"MONTH_DAY_FORMAT": "j. F",
"NUMBER_GROUPING": "3",
"SHORT_DATETIME_FORMAT": "d.m.Y H:i",
"SHORT_DATE_FORMAT": "d.m.Y",
"THOUSAND_SEPARATOR": ".",
"TIME_FORMAT": "H:i",
"TIME_INPUT_FORMATS": [
"%H:%M:%S",
"%H:%M:%S.%f",
"%H:%M"
],
"YEAR_MONTH_FORMAT": "F Y"
};

django.get_format = function (format_type) {
var value = django.formats[format_type];
if (typeof(value) == 'undefined') {
return format_type;
} else {
return value;
}
};

/* add to global namespace */
globals.pluralidx = django.pluralidx;
globals.gettext = django.gettext;
globals.ngettext = django.ngettext;
globals.gettext_noop = django.gettext_noop;
globals.pgettext = django.pgettext;
globals.npgettext = django.npgettext;
globals.interpolate = django.interpolate;
globals.get_format = django.get_format;

}(this));


}
};
PollXBlockI18N.init();
global.PollXBlockI18N = PollXBlockI18N;
}(this));

148 changes: 148 additions & 0 deletions poll/public/js/translations/es_419/textjs.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,148 @@

(function(global){
var PollXBlockI18N = {
init: function() {


(function (globals) {

var django = globals.django || (globals.django = {});


django.pluralidx = function (count) { return (count == 1) ? 0 : 1; };



/* gettext library */

django.catalog = {
"Answer": "Respuesta",
"Delete": "Eliminar",
"Feedback": "Feedback",
"Image URL": "URL de la imagen",
"Image alternative text": "Texto alternativo de la imagen",
"Question": "Pregunta",
"Results": "Resultados",
"Results gathered from {total} respondent.": [
"Resultados recopilados de {total} persona que respondi\u00f3.",
"Resultados recopilados de {total} personas que respondieron."
],
"Submit": "Enviar",
"This must have an image URL or text, and can have both. If you add an image, you must also provide an alternative text that describes the image in a way that would allow someone to answer the poll if the image did not load.": "Debe tener una URL o texto de la imagen y puede contener ambos. Si agrega una imagen, tambi\u00e9n debe proporcionar un texto alternativo que describa la imagen de manera que permita a alguien responder al sondeo si no se carg\u00f3 la imagen.",
"You can make limited use of Markdown in answer texts, preferably only bold and italics.": "Puede hacer uso limitado del lenguaje Markdown en los textos de respuesta, preferentemente solo en negrita y cursiva.",
"move poll down": "disminuir el sondeo",
"move poll up": "aumentar el sondeo"
};

django.gettext = function (msgid) {
var value = django.catalog[msgid];
if (typeof(value) == 'undefined') {
return msgid;
} else {
return (typeof(value) == 'string') ? value : value[0];
}
};

django.ngettext = function (singular, plural, count) {
var value = django.catalog[singular];
if (typeof(value) == 'undefined') {
return (count == 1) ? singular : plural;
} else {
return value[django.pluralidx(count)];
}
};

django.gettext_noop = function (msgid) { return msgid; };

django.pgettext = function (context, msgid) {
var value = django.gettext(context + '\x04' + msgid);
if (value.indexOf('\x04') != -1) {
value = msgid;
}
return value;
};

django.npgettext = function (context, singular, plural, count) {
var value = django.ngettext(context + '\x04' + singular, context + '\x04' + plural, count);
if (value.indexOf('\x04') != -1) {
value = django.ngettext(singular, plural, count);
}
return value;
};


django.interpolate = function (fmt, obj, named) {
if (named) {
return fmt.replace(/%\(\w+\)s/g, function(match){return String(obj[match.slice(2,-2)])});
} else {
return fmt.replace(/%s/g, function(match){return String(obj.shift())});
}
};


/* formatting library */

django.formats = {
"DATETIME_FORMAT": "j \\d\\e F \\d\\e Y \\a \\l\\a\\s H:i",
"DATETIME_INPUT_FORMATS": [
"%d/%m/%Y %H:%M:%S",
"%d/%m/%Y %H:%M:%S.%f",
"%d/%m/%Y %H:%M",
"%d/%m/%y %H:%M:%S",
"%d/%m/%y %H:%M:%S.%f",
"%d/%m/%y %H:%M",
"%Y-%m-%d %H:%M:%S",
"%Y-%m-%d %H:%M:%S.%f",
"%Y-%m-%d %H:%M",
"%Y-%m-%d"
],
"DATE_FORMAT": "j \\d\\e F \\d\\e Y",
"DATE_INPUT_FORMATS": [
"%d/%m/%Y",
"%d/%m/%y",
"%Y-%m-%d"
],
"DECIMAL_SEPARATOR": ",",
"FIRST_DAY_OF_WEEK": "1",
"MONTH_DAY_FORMAT": "j \\d\\e F",
"NUMBER_GROUPING": "3",
"SHORT_DATETIME_FORMAT": "d/m/Y H:i",
"SHORT_DATE_FORMAT": "d/m/Y",
"THOUSAND_SEPARATOR": ".",
"TIME_FORMAT": "H:i",
"TIME_INPUT_FORMATS": [
"%H:%M:%S",
"%H:%M:%S.%f",
"%H:%M"
],
"YEAR_MONTH_FORMAT": "F \\d\\e Y"
};

django.get_format = function (format_type) {
var value = django.formats[format_type];
if (typeof(value) == 'undefined') {
return format_type;
} else {
return value;
}
};

/* add to global namespace */
globals.pluralidx = django.pluralidx;
globals.gettext = django.gettext;
globals.ngettext = django.ngettext;
globals.gettext_noop = django.gettext_noop;
globals.pgettext = django.pgettext;
globals.npgettext = django.npgettext;
globals.interpolate = django.interpolate;
globals.get_format = django.get_format;

}(this));


}
};
PollXBlockI18N.init();
global.PollXBlockI18N = PollXBlockI18N;
}(this));

0 comments on commit 2c385b9

Please sign in to comment.