Commit c18c7f639bbb52ff086ea8d8547d9729cb20a160

Authored by Felipe Bormann
1 parent e9e67da2

added analytics method to handle amount of comments inside the whole system or c…

…ategory specific case
Showing 2 changed files with 22 additions and 3 deletions   Show diff stats
analytics/urls.py
@@ -13,4 +13,5 @@ urlpatterns = [ @@ -13,4 +13,5 @@ urlpatterns = [
13 url(r'^amount_active_users_per_day/$', views.most_active_users_in_a_month, name="most_active_users_in_a_month"), 13 url(r'^amount_active_users_per_day/$', views.most_active_users_in_a_month, name="most_active_users_in_a_month"),
14 url(r'^get_days_of_the_week_log/$', views.get_days_of_the_week_log, name="get_days_of_the_week_log"), 14 url(r'^get_days_of_the_week_log/$', views.get_days_of_the_week_log, name="get_days_of_the_week_log"),
15 url(r'^get_category_tags/$', views.category_tags, name='get_category_tags'), 15 url(r'^get_category_tags/$', views.category_tags, name='get_category_tags'),
  16 + url(r'^get_comments_count/$', views.get_amount_of_comments, name='get_amount_of_comments'),
16 ] 17 ]
17 \ No newline at end of file 18 \ No newline at end of file
analytics/views.py
@@ -18,7 +18,7 @@ import calendar @@ -18,7 +18,7 @@ import calendar
18 from collections import OrderedDict 18 from collections import OrderedDict
19 19
20 20
21 - 21 +from mural.models import Comment
22 22
23 23
24 def most_used_tags(request): 24 def most_used_tags(request):
@@ -192,7 +192,7 @@ def get_days_of_the_week_log(request): @@ -192,7 +192,7 @@ def get_days_of_the_week_log(request):
192 192
193 params = request.GET 193 params = request.GET
194 date = params['date'] 194 date = params['date']
195 - date = datetime.strptime( date, '%m/%d/%Y',) 195 + date = datetime.strptime( date, '%m/%d/%Y')
196 days = get_days_of_the_week(date) 196 days = get_days_of_the_week(date)
197 data = activity_in_timestamp(days, params = params) 197 data = activity_in_timestamp(days, params = params)
198 #mapping of number to days 198 #mapping of number to days
@@ -239,4 +239,22 @@ def most_tags_inside_category(category_id): @@ -239,4 +239,22 @@ def most_tags_inside_category(category_id):
239 else: 239 else:
240 data[tag.name] = {'name': tag.name} 240 data[tag.name] = {'name': tag.name}
241 data[tag.name]['count'] = resources_count 241 data[tag.name]['count'] = resources_count
242 - return data  
243 \ No newline at end of file 242 \ No newline at end of file
  243 + return data
  244 +
  245 +
  246 +def get_amount_of_comments(request):
  247 + params = request.GET
  248 + init_date = params.get('init_date')
  249 + end_date = params.get('end_date')
  250 + init_date = datetime.strptime( init_date, '%m/%d/%Y')
  251 + end_date = datetime.strptime(end_time, '%m/%d/%Y')
  252 + day_count = (end_date - init_date).days + 1
  253 + data = {}
  254 + for i in range(day_count):
  255 + single_day = init_date + timedelta(i)
  256 + if params.get('category_id'):
  257 + category_id = int(params['category_id'])
  258 + data[single_day] = Mural.objects.filter(space__id = category_id, create_date = single_day).count()
  259 + else:
  260 + data[single_day] = Comment.objects.filter(create_date = single_day).count()
  261 + return JsonResponse(data, safe=False)
244 \ No newline at end of file 262 \ No newline at end of file