Commit 7433e08d6181cebc6ece07f8e24782f360db9d1b

Authored by Felipe Bormann
1 parent 6fd02a38

finished collecting data from bottom left side

analytics/templates/analytics/general.html
@@ -65,10 +65,7 @@ @@ -65,10 +65,7 @@
65 </section> 65 </section>
66 <section class="bottom-section"> 66 <section class="bottom-section">
67 <div class="chart left-chart"> 67 <div class="chart left-chart">
68 - <div id="date-selector">  
69 - <p>{% trans "Between" %} 20-20-17 {% trans "and" %}  
70 - 20-20-17</p>  
71 - </div> 68 +
72 69
73 <div id="left-data-selector"> 70 <div id="left-data-selector">
74 71
analytics/views.py
@@ -9,6 +9,8 @@ from topics.models import Resource @@ -9,6 +9,8 @@ from topics.models import Resource
9 from users.models import User 9 from users.models import User
10 from django.http import HttpResponse, JsonResponse 10 from django.http import HttpResponse, JsonResponse
11 from log.models import Log 11 from log.models import Log
  12 +import operator
  13 +from django.utils.translation import ugettext_lazy as _
12 14
13 15
14 class GeneralView(generic.TemplateView): 16 class GeneralView(generic.TemplateView):
@@ -94,10 +96,17 @@ def most_accessed_categories(request): @@ -94,10 +96,17 @@ def most_accessed_categories(request):
94 return JsonResponse(categories, safe= False) 96 return JsonResponse(categories, safe= False)
95 97
96 def most_accessed_resource_kind(request): 98 def most_accessed_resource_kind(request):
97 - resources_names = [cls.__name__ for cls in Resource.__subclasses__()]  
98 - print(resources_names)  
99 - resources = {} 99 + resources = Resource.objects.distinct()
100 100
  101 + data = {}
  102 + for resource in resources:
  103 + key = resource.__dict__['_my_subclass']
  104 + if key in data.keys():
  105 + data[key]['count'] = data[key]['count'] + 1
  106 + else:
  107 + data[key] = {'name': key, 'count': 1}
  108 +
  109 + data = sorted(data.values(), key = lambda x: x['count'], reverse= True)
101 mapping = {} 110 mapping = {}
102 mapping['pdffile'] = str(_('PDF File')) 111 mapping['pdffile'] = str(_('PDF File'))
103 mapping['goals'] = str(_('Topic Goals')) 112 mapping['goals'] = str(_('Topic Goals'))
@@ -107,10 +116,9 @@ def most_accessed_resource_kind(request): @@ -107,10 +116,9 @@ def most_accessed_resource_kind(request):
107 mapping['ytvideo'] = str(_('YouTube Video')) 116 mapping['ytvideo'] = str(_('YouTube Video'))
108 mapping['webpage'] = str(_('WebPage')) 117 mapping['webpage'] = str(_('WebPage'))
109 118
110 -  
111 -  
112 -  
113 - return JsonResponse(resources, safe = False) 119 + data = [ {'name': mapping[resource['name']] , 'count': resource['count']} for resource in data]
  120 + data = data[:5]
  121 + return JsonResponse(data, safe=False)
114 122
115 123
116 def most_active_users(request): 124 def most_active_users(request):
topics/views.py
@@ -20,7 +20,6 @@ from subjects.models import Subject @@ -20,7 +20,6 @@ from subjects.models import Subject
20 from .models import Topic, Resource 20 from .models import Topic, Resource
21 from .forms import TopicForm 21 from .forms import TopicForm
22 22
23 -import operator  
24 23
25 class CreateView(LoginRequiredMixin, LogMixin, generic.edit.CreateView): 24 class CreateView(LoginRequiredMixin, LogMixin, generic.edit.CreateView):
26 log_component = 'topic' 25 log_component = 'topic'