Skip to content

Commit

Permalink
Merge pull request #63 from Elthan/feature-50-statistics-semester
Browse files Browse the repository at this point in the history
Feature #50 - Added option to filter on date in the admin statistics page.
  • Loading branch information
torgeirl committed Aug 13, 2018
2 parents 904251f + 2673265 commit e3c27f6
Show file tree
Hide file tree
Showing 25 changed files with 1,044 additions and 376 deletions.
Binary file modified trix/trix_admin/locale/nb/LC_MESSAGES/django.mo
Binary file not shown.
53 changes: 34 additions & 19 deletions trix/trix_admin/locale/nb/LC_MESSAGES/django.po
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: trix_admin\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-08-06 13:12+0200\n"
"POT-Creation-Date: 2018-08-12 14:47+0200\n"
"PO-Revision-Date: 2015-01-08 12:35+0100\n"
"Last-Translator: Espen Angell Kristiansen <post@espenak.net>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
Expand Down Expand Up @@ -120,22 +120,34 @@ msgstr "Antall oppgaver:"
msgid "Download csv file"
msgstr "Last ned csv fil"

#: trix/trix_admin/templates/trix_admin/statistics.django.html:92
#: trix/trix_admin/views/statistics.py:148
#: trix/trix_admin/templates/trix_admin/statistics.django.html:71
msgid "From date"
msgstr "Fra dato"

#: trix/trix_admin/templates/trix_admin/statistics.django.html:83
msgid "To date"
msgstr "Til dato"

#: trix/trix_admin/templates/trix_admin/statistics.django.html:95
msgid "Filter"
msgstr "Filtrer"

#: trix/trix_admin/templates/trix_admin/statistics.django.html:151
#: trix/trix_admin/views/statistics.py:176
msgid "Completed by their own"
msgstr "Løst på egenhånd"

#: trix/trix_admin/templates/trix_admin/statistics.django.html:98
#: trix/trix_admin/views/statistics.py:155
#: trix/trix_admin/templates/trix_admin/statistics.django.html:157
#: trix/trix_admin/views/statistics.py:183
msgid "Completed with help"
msgstr "Løst med hjelp"

#: trix/trix_admin/templates/trix_admin/statistics.django.html:104
#: trix/trix_admin/views/statistics.py:159
#: trix/trix_admin/templates/trix_admin/statistics.django.html:163
#: trix/trix_admin/views/statistics.py:187
msgid "Not completed"
msgstr "Ikke løst"

#: trix/trix_admin/templates/trix_admin/statistics.django.html:110
#: trix/trix_admin/templates/trix_admin/statistics.django.html:169
msgid "There was no assignments matching the chosen tag"
msgstr "Det fantes ingen oppgaver som er merket med valgte tag"

Expand Down Expand Up @@ -215,40 +227,43 @@ msgstr "Skriv inn taggen du vil fjerne fra valgte oppgaver"
msgid "Select a course"
msgstr "Velg et kurs"

#: trix/trix_admin/views/statistics.py:137
#: trix/trix_admin/views/statistics.py:165
msgid ""
"Simple statistics showing percentage share of how the assignments where "
"solved"
msgstr "Enkel statistikk som viser prosentvis hvordan oppgavene er løst"

#: trix/trix_admin/views/statistics.py:139
#: trix/trix_admin/views/statistics.py:167
msgid "Total number of users"
msgstr "Totalt antall brukere"

#: trix/trix_admin/views/statistics.py:141
#: trix/trix_admin/views/statistics.py:169
msgid "Assignment title"
msgstr "Oppgavetittel"

#: trix/trix_admin/views/statistics.py:141
#: trix/trix_admin/views/statistics.py:169
msgid "Percentage"
msgstr "Prosent"

#: trix/trix_admin/views/statistics.py:141
#: trix/trix_admin/views/statistics.py:169
msgid "Number"
msgstr "Antall"

#: trix/trix_admin/views/statistics.py:208
#: trix/trix_admin/views/statistics.py:253
msgid "Title"
msgstr "Tittel"

#: trix/trix_admin/views/statistics.py:209
#: trix/trix_admin/views/statistics.py:254
msgid "ID"
msgstr "ID"

#: trix/trix_admin/views/statistics.py:255
msgid "Date created"
msgstr "Dato opprettet"

#: trix/trix_admin/views/statistics.py:210
#: trix/trix_admin/views/statistics.py:256
msgid "Last updated"
msgstr "Sist oppdatert"

#: trix/trix_admin/views/statistics.py:239
msgid "Number of assignments"
msgstr "Antall oppgaver"
#~ msgid "Submit"
#~ msgstr "Legg til"
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@
{% load static %}

{% block title-pre %}{% trans "Trix" %} - {% endblock title-pre %}
{% block jsimports %}
<script src="{% static 'trix_student/dist/vendor/js/ui-bootstrap.min.js' %}" type="text/javascript"></script>
<script src="{% static 'trix_student/dist/vendor/js/bootstrap-datetimepicker.min.js' %}" type="text/javascript"></script>
{% endblock %}
{% block styles %}
{{ block.super }}
<link href='{% static "trix_student/dist/css/styles.css" %}' rel="stylesheet">
Expand Down
67 changes: 63 additions & 4 deletions trix/trix_admin/templates/trix_admin/statistics.django.html
Original file line number Diff line number Diff line change
Expand Up @@ -57,9 +57,62 @@ <h1>{% trans "Aggregated statistics on how the assignments where solved" %}</h1>
{% trans "Download csv file" %}
</a></li>
{% endif %}

</ul>
</div>
<div class="trix-date-container">
<form method="get" action="">
{% if request.GET.ordering %}
<input type="hidden" name="ordering" value="{{ request.GET.ordering }}" />
{% endif %}
{% if request.GET.tags %}
<input type="hidden" name="tags" value="{{ request.GET.tags }}" />
{% endif %}
<div class='col-md-3'>
<label for="from">{% trans "From date" %}</label>
<div class="form-group">
<div class='input-group date' id='datetimepicker'>
<input type='text' name="from" class="form-control"
value="{% if from_date %}{{from_date}}{% endif %}" />
<span class="input-group-addon">
<span class="fas fa-calendar"></span>
</span>
</div>
</div>
</div>
<div class='col-md-3'>
<label for="to">{% trans "To date" %}</label>
<div class="form-group">
<div class='input-group date' id='datetimepicker2'>
<input type='text' name="to" class="form-control"
value="{% if to_date %}{{to_date}}{% endif %}" />
<span class="input-group-addon">
<span class="fas fa-calendar"></span>
</span>
</div>
</div>
</div>
<div class="trix-date-button">
<input type="submit" class="btn btn-default" value="{% trans 'Filter' %}" />
</div>
</form>
</div>
<script type="text/javascript">
$(function () {
$('#datetimepicker').datetimepicker({
format: 'YYYY-MM-DD'
});
$('#datetimepicker2').datetimepicker({
format: 'YYYY-MM-DD',
useCurrent: false //Important! See issue #1075
});
$("#datetimepicker").on("dp.change", function (e) {
$('#datetimepicker2').data("DateTimePicker").minDate(e.date);
});
$("#datetimepicker2").on("dp.change", function (e) {
$('#datetimepicker').data("DateTimePicker").maxDate(e.date);
});
});
</script>
</div>
<div class="trix-div-sort-buttons">
{% for name, order in selectable_sort_list %}
Expand All @@ -85,21 +138,27 @@ <h1>{% trans "Aggregated statistics on how the assignments where solved" %}</h1>
{% for assignment in assignment_list %}
<div class="assignment-info">
<h2>{{ assignment }}</h2>
<span class="btn-group">
{% for tag in assignment.tags.all %}
<button class="btn btn-default btn-xs" disabled>{{ tag.tag }}</button>
{% endfor %}
</span>
<p>{{ assignment.id }}</p>
</div>
<div class="progress-info">
{% compute_and_set_stats_for_assignment assignment 'bymyself' user_count as bymyself %}
{% compute_and_set_stats_for_assignment assignment 'bymyself' user_count from_date to_date as bymyself %}
<p class="progress-element">
{% trans "Completed by their own" %} {{ bymyself.percent|floatformat:2 }}% ({{ bymyself.count }})
{% include "trix_admin/include/progress_bar.django.html" with percent=bymyself.percent style='success' %}
</p>

{% compute_and_set_stats_for_assignment assignment 'withhelp' user_count as withhelp %}
{% compute_and_set_stats_for_assignment assignment 'withhelp' user_count from_date to_date as withhelp %}
<p class="progress-element">
{% trans "Completed with help" %} {{ withhelp.percent|floatformat:2 }}% ({{ withhelp.count }})
{% include "trix_admin/include/progress_bar.django.html" with percent=withhelp.percent style='warning'%}
</p>

{% compute_and_set_stats_for_assignment assignment 'notsolved' user_count as notsolved %}
{% compute_and_set_stats_for_assignment assignment 'notsolved' user_count from_date to_date as notsolved %}
<p class="progress-element">
{% trans "Not completed" %} {{ notsolved.percent|floatformat:2 }}% ({{ notsolved.count }})
{% include "trix_admin/include/progress_bar.django.html" with percent=notsolved.percent style='info'%}
Expand Down
6 changes: 4 additions & 2 deletions trix/trix_admin/templatetags/trix_admin_tags.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,10 @@


@register.simple_tag
def compute_and_set_stats_for_assignment(assignment, howsolved_filter, user_count):
return compute_stats_for_assignment(assignment, howsolved_filter, user_count)
def compute_and_set_stats_for_assignment(assignment, howsolved_filter, user_count,
from_date=None, to_date=None):
return compute_stats_for_assignment(assignment, howsolved_filter, user_count,
from_date, to_date)


@register.filter
Expand Down

0 comments on commit e3c27f6

Please sign in to comment.