diff --git a/webpage/templates/webpages/estatisticas.html b/webpage/templates/webpages/estatisticas.html
deleted file mode 100644
index f5d0c73..0000000
--- a/webpage/templates/webpages/estatisticas.html
+++ /dev/null
@@ -1,104 +0,0 @@
-{% extends "webpages/view.html" %}
-
-{% load static i18n pagination permissions_tags subject_counter %}
-{% load django_bootstrap_breadcrumbs %}
-
-{% block javascript%}
- {{ block.super }}
-
-
-{% endblock%}
-
-{% block breadcrumbs %}
- {{ block.super }}
- {% trans 'Estatisticas' as bread %}
- {% breadcrumb bread webpage%}
-{% endblock %}
-
-{% block content %}
- {% if messages %}
- {% for message in messages %}
-
- {% endfor %}
- {% endif %}
-
-
-
-
-
-
-
{{title_table}}
-
-
-
-
-
-
-
-{% endblock %}
diff --git a/webpage/templates/webpages/relatorios.html b/webpage/templates/webpages/relatorios.html
new file mode 100644
index 0000000..044eb7c
--- /dev/null
+++ b/webpage/templates/webpages/relatorios.html
@@ -0,0 +1,129 @@
+{% extends "webpages/view.html" %}
+
+{% load static i18n pagination permissions_tags subject_counter %}
+{% load django_bootstrap_breadcrumbs %}
+
+{% block javascript%}
+ {{ block.super }}
+
+
+{% endblock%}
+
+{% block breadcrumbs %}
+ {{ block.super }}
+ {% trans 'Reports' as bread %}
+ {% breadcrumb bread webpage%}
+{% endblock %}
+
+{% block content %}
+ {% if messages %}
+ {% for message in messages %}
+
+ {% endfor %}
+ {% endif %}
+
+
+
+
+
+
+{% endblock %}
diff --git a/webpage/templates/webpages/view.html b/webpage/templates/webpages/view.html
index 1b2de44..5d585d8 100644
--- a/webpage/templates/webpages/view.html
+++ b/webpage/templates/webpages/view.html
@@ -54,11 +54,5 @@
{{ webpage.content }}
{% endautoescape %}
-
-
{% endblock %}
diff --git a/webpage/views.py b/webpage/views.py
index 84d8d2c..d83ceef 100644
--- a/webpage/views.py
+++ b/webpage/views.py
@@ -426,7 +426,7 @@ class StatisticsView(LoginRequiredMixin, LogMixin, generic.DetailView):
login_url = reverse_lazy("users:login")
redirect_field_name = 'next'
model = Webpage
- template_name = 'webpages/estatisticas.html'
+ template_name = 'webpages/relatorios.html'
def dispatch(self, request, *args, **kwargs):
slug = self.kwargs.get('slug', '')
@@ -456,7 +456,7 @@ class StatisticsView(LoginRequiredMixin, LogMixin, generic.DetailView):
super(StatisticsView, self).createLog(self.request.user, self.log_component, self.log_action, self.log_resource, self.log_context)
- context['title'] = _('Webpage Statistics')
+ context['title'] = _('Webpage Reports')
slug = self.kwargs.get('slug')
webpage = get_object_or_404(Webpage, slug = slug)
@@ -464,31 +464,66 @@ class StatisticsView(LoginRequiredMixin, LogMixin, generic.DetailView):
parameter = self.request.GET.get('col','')
alunos = webpage.students.all()
- visualizou = Log.objects.filter(context__contains={'webpage_id':webpage.id},resource="webpage",action="view",user_email__in=(aluno.email for aluno in alunos)).distinct("user_email")
+ vis_ou = Log.objects.filter(context__contains={'webpage_id':webpage.id},resource="webpage",action="view",user_email__in=(aluno.email for aluno in alunos))
+ did,n_did,history = str(_("Users who viewed")),str(_("Users who did not viewed")),str(_("History"))
re = []
- c_visualizou = visualizou.count()
- did,n_did = str(_("Did")),str(_("Did not"))
- re.append(['Webpage',did,n_did])
- re.append(['View',c_visualizou, alunos.count() - c_visualizou])
+ data = []
+ column = []
+ column.append([str(_("User")),"string"])
+ column.append([str(_("Group")),"string"])
+
+ if parameter == did:
+ from django.db.models import Count, Max
+ views_user = vis_ou.values("user_email").annotate(views=Count("user_email"))
+ date_last = vis_ou.values("user_email").annotate(last=Max("datetime"))
+ column.append([str(_("Number of views")),"string"])
+ column.append([str(_("Date of last view")),"date"])
+ for i in range(0,len(views_user)):
+ data.append([str(alunos.get(email=views_user[i].get("user_email"))),
+ ", ".join([str(x) for x in webpage.topic.subject.group_subject.filter(participants__email=views_user[i].get("user_email"))]),
+ views_user[i].get("views"),date_last.get(user_email=views_user[i].get("user_email")).get("last")])
+ elif parameter == n_did:
+ not_view = alunos.exclude(email__in=[log.user_email for log in vis_ou.distinct("user_email")])
+ for alun in not_view:
+ data.append([str(alun),", ".join([str(x) for x in webpage.topic.subject.group_subject.filter(participants__email=alun.email)])])
+
+ else:
+ column.append([str(_("Action")),"string"])
+ column.append([str(_("Date of action")),"date"])
+ for log_al in vis_ou.order_by("datetime"):
+ data.append([str(alunos.get(email=log_al.user_email)),
+ ", ".join([str(x) for x in webpage.topic.subject.group_subject.filter(participants__email=log_al.user_email)]),
+ log_al.action,log_al.datetime])
+
+
+ c_visualizou = vis_ou.distinct("user_email").count()
+ re.append([str(_('Webpage')),did,n_did])
+ re.append([str(_('View')),c_visualizou, alunos.count() - c_visualizou])
context['topic'] = webpage.topic
context['subject'] = webpage.topic.subject
context['db_data'] = re
context['title_chart'] = _('Students viewing the web conference')
context['title_vAxis'] = _('Quantity')
- data = []
- if not parameter == n_did:
- for a in visualizou:
- data.append([str(alunos.get(email=a.user_email)),a.user_email,a.action,a.datetime])
-
- if not parameter == did:
- alunos = alunos.exclude(email__in=(log.user_email for log in visualizou))
- for a in alunos:
- data.append([str(a),a.email,None,None])
-
+ # data = []
+ # if not parameter == n_did:
+ # for a in vis_ou.distinct("user_email"):
+ # data.append([str(alunos.get(email=a.user_email)),a.user_email,a.action,a.datetime])
+ #
+ # if not parameter == did:
+ # alunos = alunos.exclude(email__in=(log.user_email for log in vis_ou.distinct("user_email")))
+ # for a in alunos:
+ # data.append([str(a),a.email,None,None])
+ print (column, "column\n\n")
+ context["column"] = column
+ print (data, "data\n\n")
context["history"] = data
- context["title_table"] = _("History")
+ context["title_table"] = history
+ context["n_did_table"] = n_did
+ context["out_history"] = False
if parameter == did:
context["title_table"] = did
+ context["out_history"] = True
elif parameter == n_did:
context["title_table"] = n_did
+ context["out_history"] = True
return context
--
libgit2 0.21.2