Adds event logging
This commit is contained in:
1 parent
e8a08e545b
commit
b98686c726
4 files changed
+68
-2
No files matched your search
+7
-1
@@ -1,3 +1,9 @@
|
||||
from apps.kassa.models import KassaEvent
|
||||
from django.contrib import admin
|
||||
|
||||
# Register your models here.
|
||||
|
||||
class KassaEventAdmin(admin.ModelAdmin):
|
||||
list_display = ['id', 'user_phone_number', 'user_inside_id', 'event', 'created']
|
||||
list_filter = ['event']
|
||||
|
||||
admin.site.register(KassaEvent, KassaEventAdmin)
|
||||
@@ -0,0 +1,25 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.db import models, migrations
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name='KassaEvent',
|
||||
fields=[
|
||||
('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
|
||||
('event', models.TextField(max_length=255, choices=[('new_card_membership', 'Added new card membership (no user yet)'), ('update_card', 'Updated user card number'), ('add_or_renew', 'Added or renewed membership user membership')])),
|
||||
('card_number', models.IntegerField(null=True, blank=True)),
|
||||
('user_inside_id', models.IntegerField(null=True, blank=True)),
|
||||
('user_phone_number', models.TextField(max_length=100, null=True, blank=True)),
|
||||
('created', models.DateTimeField(auto_now_add=True)),
|
||||
('updated', models.DateTimeField(auto_now=True)),
|
||||
],
|
||||
),
|
||||
]
|
||||
+18
-1
@@ -1,3 +1,20 @@
|
||||
from __future__ import unicode_literals
|
||||
from django.db import models
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
|
||||
# Create your models here.
|
||||
|
||||
class KassaEvent(models.Model):
|
||||
NEW_CARD_MEMBERSHIP = 'new_card_membership'
|
||||
UPDATE_CARD = 'update_card'
|
||||
ADD_OR_RENEW = 'add_or_renew'
|
||||
EVENT_CHOICES = (
|
||||
(NEW_CARD_MEMBERSHIP, _('Added new card membership (no user yet)')),
|
||||
(UPDATE_CARD, _('Updated user card number')),
|
||||
(ADD_OR_RENEW, _('Added or renewed membership user membership')),
|
||||
)
|
||||
event = models.TextField(max_length=255, choices=EVENT_CHOICES)
|
||||
card_number = models.IntegerField(null=True, blank=True)
|
||||
user_inside_id = models.IntegerField(null=True, blank=True)
|
||||
user_phone_number = models.TextField(max_length=100, null=True, blank=True)
|
||||
created = models.DateTimeField(auto_now_add=True)
|
||||
updated = models.DateTimeField(auto_now=True)
|
||||
@@ -1,6 +1,7 @@
|
||||
# coding: utf-8
|
||||
from __future__ import unicode_literals
|
||||
import json
|
||||
from apps.kassa.models import KassaEvent
|
||||
|
||||
from django.conf import settings
|
||||
from django.contrib.auth.decorators import login_required
|
||||
@@ -90,6 +91,7 @@ def register_card_and_membership(request):
|
||||
|
||||
post_data = json.loads(request.body)
|
||||
action = post_data.get('action') # new_card_membership, update_card, add_or_renew
|
||||
# TODO: multiple actions (to allow renewal only)
|
||||
user_id = post_data.get('user_id')
|
||||
|
||||
response = inside_update_card(
|
||||
@@ -101,6 +103,13 @@ def register_card_and_membership(request):
|
||||
if response.status_code != 200:
|
||||
return JsonResponse(response.json(), status=response.status_code)
|
||||
|
||||
KassaEvent.objects.create(
|
||||
event=KassaEvent.UPDATE_CARD,
|
||||
user_inside_id=user_id,
|
||||
user_phone_number=post_data.get('phone_number'),
|
||||
card_number=post_data.get('card_number')
|
||||
)
|
||||
|
||||
# card_response = response.json()
|
||||
|
||||
# Send activation notification (link) to user by SMS
|
||||
@@ -108,10 +117,19 @@ def register_card_and_membership(request):
|
||||
card = response.json()['card']
|
||||
# FIXME: could be async
|
||||
tekstmelding_new_membership_card(card_number=card['card_number'], phone_number=card['owner_phone_number'])
|
||||
KassaEvent.objects.create(
|
||||
event=KassaEvent.NEW_CARD_MEMBERSHIP,
|
||||
card_number=card['card_number'],
|
||||
user_phone_number=card['owner_phone_number']
|
||||
)
|
||||
|
||||
# Add initial or renew membership
|
||||
elif action == 'add_or_renew':
|
||||
response = inside_update_membership(user_id, post_data.get('purchased'))
|
||||
KassaEvent.objects.create(
|
||||
event=KassaEvent.ADD_OR_RENEW,
|
||||
user_inside_id=user_id
|
||||
)
|
||||
|
||||
return JsonResponse(response.json(), status=response.status_code)
|
||||
|
||||
Reference in new issue
Block a user