Adds card sale stats

This commit is contained in:
nikolark committed 2015-08-10 20:50:36 +02:00
1 parent a07181e29f
commit 616082ed7c
2 files changed
+13 -1

No files matched your search

+2 -1
View File
@@ -1,6 +1,6 @@
from django.conf.urls import url
from apps.kassa.views import register, inside_user_api, inside_card_api, check_phone_number, \
register_card_and_membership
register_card_and_membership, stats_card_sales
urlpatterns = [
url(r'^$', register, name='register'),
@@ -8,4 +8,5 @@ urlpatterns = [
url(r'^check-phonenumber/$', check_phone_number, name='check-phone-number'),
url(r'^inside/card/$', inside_card_api, name='inside-card-number-api'),
url(r'^register-card-membership/$', register_card_and_membership, name='register-card-and-membership'),
url(r'^stats/card-sales/$', stats_card_sales, name='stats-card-sales')
]
+11
View File
@@ -1,5 +1,6 @@
# coding: utf-8
from __future__ import unicode_literals
from itertools import groupby
import json
from apps.kassa.models import KassaEvent
@@ -142,3 +143,13 @@ def register_card_and_membership(request):
return JsonResponse(response.json(), status=response.status_code)
def stats_card_sales(request):
sale_events = [KassaEvent.ADD_OR_RENEW, KassaEvent.NEW_CARD_MEMBERSHIP]
# TODO filter by start HTTP param
events = KassaEvent.objects.filter(event__in=sale_events).values_list('created')
grouped = []
for key, values in groupby(events, key=lambda row: row[0].date()):
grouped.append({'date': key.isoformat(), 'sales': len(list(values))})
return JsonResponse({'memberships': grouped})