Added projected year count and weekly average in home screen
This commit is contained in:
parent
2680e485cd
commit
81d3376d7c
3 changed files with 32 additions and 13 deletions
|
@ -16,6 +16,10 @@
|
||||||
<div class="card-panel grey lighten-2">
|
<div class="card-panel grey lighten-2">
|
||||||
<h5 class="center">{% trans "Arrows shot this year:" %}</h5>
|
<h5 class="center">{% trans "Arrows shot this year:" %}</h5>
|
||||||
<p class="center"><strong style="font-size: 2.7rem">{{ yearArrows }}</strong></p>
|
<p class="center"><strong style="font-size: 2.7rem">{{ yearArrows }}</strong></p>
|
||||||
|
<h6 class="center">{% trans "Projected number of arrows at the end of the year:" %}</h6>
|
||||||
|
<p class="center"><strong style="font-size: 2rem">{{ projectedYearArrows }}</strong></p>
|
||||||
|
<h6 class="center">{% trans "Weekly average:" %}</h6>
|
||||||
|
<p class="center"><strong style="font-size: 2rem">{{ weeklyAverage }}</strong></p>
|
||||||
</div>
|
</div>
|
||||||
{% if diffTarget is not False %}
|
{% if diffTarget is not False %}
|
||||||
<div class="card-panel lighten-2 {% if diffTarget < 0 %}red{% elif diffTarget is 0 %}yellow
|
<div class="card-panel lighten-2 {% if diffTarget < 0 %}red{% elif diffTarget is 0 %}yellow
|
||||||
|
|
|
@ -36,11 +36,15 @@ def index(request):
|
||||||
.aggregate(s=Sum('count'))
|
.aggregate(s=Sum('count'))
|
||||||
yearArrows = yearArrows['s'] if yearArrows['s'] is not None else 0
|
yearArrows = yearArrows['s'] if yearArrows['s'] is not None else 0
|
||||||
|
|
||||||
|
day_number = now.timetuple().tm_yday
|
||||||
|
week_number = now.isocalendar()[1]
|
||||||
|
days_this_year = (date(now.year + 1, 1, 1) - \
|
||||||
|
date(now.year, 1, 1)).days
|
||||||
|
|
||||||
diff_target = False
|
diff_target = False
|
||||||
try:
|
try:
|
||||||
target = Target.objects.get(user=request.user).target
|
target = Target.objects.get(user=request.user).target
|
||||||
days_this_year = (date(now.year + 1, 1, 1) - date(now.year, 1, 1)).days
|
diff_target = round(yearArrows - (day_number / days_this_year) * \
|
||||||
diff_target = round(yearArrows - (now.timetuple().tm_yday / days_this_year) * \
|
|
||||||
target)
|
target)
|
||||||
except Target.DoesNotExist:
|
except Target.DoesNotExist:
|
||||||
pass
|
pass
|
||||||
|
@ -59,7 +63,10 @@ def index(request):
|
||||||
'yearArrows': yearArrows,
|
'yearArrows': yearArrows,
|
||||||
'monthArrows': 0 if monthArrows['s'] is None else monthArrows['s'],
|
'monthArrows': 0 if monthArrows['s'] is None else monthArrows['s'],
|
||||||
'weekArrows': 0 if weekArrows['s'] is None else weekArrows['s'],
|
'weekArrows': 0 if weekArrows['s'] is None else weekArrows['s'],
|
||||||
'diffTarget': diff_target
|
'diffTarget': diff_target,
|
||||||
|
'weeklyAverage': round(yearArrows / week_number, 2),
|
||||||
|
'projectedYearArrows': math.floor(yearArrows * days_this_year /
|
||||||
|
day_number)
|
||||||
}
|
}
|
||||||
return render(request, 'index.html', context)
|
return render(request, 'index.html', context)
|
||||||
else:
|
else:
|
||||||
|
|
|
@ -8,7 +8,7 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: Arrowcounter\n"
|
"Project-Id-Version: Arrowcounter\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2019-08-06 14:44+0200\n"
|
"POT-Creation-Date: 2019-08-09 14:25+0200\n"
|
||||||
"PO-Revision-Date: 2019-07-27 13:00+0200\n"
|
"PO-Revision-Date: 2019-07-27 13:00+0200\n"
|
||||||
"Last-Translator: Claudio Maggioni <maggicl@kolabnow.ch>\n"
|
"Last-Translator: Claudio Maggioni <maggicl@kolabnow.ch>\n"
|
||||||
"Language-Team: Claudio Maggioni <maggicl@kolabnow.ch>\n"
|
"Language-Team: Claudio Maggioni <maggicl@kolabnow.ch>\n"
|
||||||
|
@ -130,15 +130,23 @@ msgstr "Home"
|
||||||
msgid "Arrows shot this year:"
|
msgid "Arrows shot this year:"
|
||||||
msgstr "Frecce tirate quest'anno:"
|
msgstr "Frecce tirate quest'anno:"
|
||||||
|
|
||||||
#: counter/templates/index.html:23
|
#: counter/templates/index.html:19
|
||||||
|
msgid "Projected number of arrows at the end of the year:"
|
||||||
|
msgstr "Totale frecce proiettato alla fine dell'anno:"
|
||||||
|
|
||||||
|
#: counter/templates/index.html:21
|
||||||
|
msgid "Weekly average:"
|
||||||
|
msgstr "Media settimanale:"
|
||||||
|
|
||||||
|
#: counter/templates/index.html:27
|
||||||
msgid "Difference with target:"
|
msgid "Difference with target:"
|
||||||
msgstr "Differenza rispetto all'obiettivo:"
|
msgstr "Differenza rispetto all'obiettivo:"
|
||||||
|
|
||||||
#: counter/templates/index.html:28
|
#: counter/templates/index.html:32
|
||||||
msgid "Arrows shot this month:"
|
msgid "Arrows shot this month:"
|
||||||
msgstr "Frecce tirate questo mese:"
|
msgstr "Frecce tirate questo mese:"
|
||||||
|
|
||||||
#: counter/templates/index.html:32
|
#: counter/templates/index.html:36
|
||||||
msgid "Arrows shot this week:"
|
msgid "Arrows shot this week:"
|
||||||
msgstr "Frecce tirate questa settimana:"
|
msgstr "Frecce tirate questa settimana:"
|
||||||
|
|
||||||
|
@ -185,27 +193,27 @@ msgstr "Frecce tirate quest'anno"
|
||||||
msgid "Remove"
|
msgid "Remove"
|
||||||
msgstr "Rimuovi"
|
msgstr "Rimuovi"
|
||||||
|
|
||||||
#: counter/views.py:127
|
#: counter/views.py:134
|
||||||
msgid "page is negative or 0"
|
msgid "page is negative or 0"
|
||||||
msgstr "pagina negativa o uguale a 0"
|
msgstr "pagina negativa o uguale a 0"
|
||||||
|
|
||||||
#: counter/views.py:221
|
#: counter/views.py:228
|
||||||
msgid "ArrowCount instance not found or from different user"
|
msgid "ArrowCount instance not found or from different user"
|
||||||
msgstr "istanza ArrowCount non trovata o appartenente ad altro utente"
|
msgstr "istanza ArrowCount non trovata o appartenente ad altro utente"
|
||||||
|
|
||||||
#: counter/views.py:233
|
#: counter/views.py:240
|
||||||
msgid "mode not valid"
|
msgid "mode not valid"
|
||||||
msgstr "campo 'mode' non valido"
|
msgstr "campo 'mode' non valido"
|
||||||
|
|
||||||
#: counter/views.py:242
|
#: counter/views.py:249
|
||||||
msgid "value field is not a number"
|
msgid "value field is not a number"
|
||||||
msgstr "il campo 'value' non è un numero"
|
msgstr "il campo 'value' non è un numero"
|
||||||
|
|
||||||
#: counter/views.py:258
|
#: counter/views.py:265
|
||||||
msgid "count is negative or 0"
|
msgid "count is negative or 0"
|
||||||
msgstr "count è negativo o uguale a 0"
|
msgstr "count è negativo o uguale a 0"
|
||||||
|
|
||||||
#: counter/views.py:266
|
#: counter/views.py:273
|
||||||
msgid "count too big"
|
msgid "count too big"
|
||||||
msgstr "conteggio troppo alto"
|
msgstr "conteggio troppo alto"
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue