From eeaed75d54286766f18a1a0a519aadf51c56e015 Mon Sep 17 00:00:00 2001 From: Nikolai R Kristiansen Date: Tue, 18 Aug 2015 22:12:41 +0200 Subject: [PATCH] Adds renewal only event, fixes date logic --- .../migrations/0004_auto_20150818_2211.py | 19 +++++++++++++++++++ apps/kassa/models.py | 4 +++- apps/kassa/views.py | 11 ++++++++--- static/app/scripts/app.js | 2 +- static/dist/scripts/app.js | 2 +- 5 files changed, 32 insertions(+), 6 deletions(-) create mode 100644 apps/kassa/migrations/0004_auto_20150818_2211.py diff --git a/apps/kassa/migrations/0004_auto_20150818_2211.py b/apps/kassa/migrations/0004_auto_20150818_2211.py new file mode 100644 index 0000000..39a234a --- /dev/null +++ b/apps/kassa/migrations/0004_auto_20150818_2211.py @@ -0,0 +1,19 @@ +# -*- coding: utf-8 -*- +from __future__ import unicode_literals + +from django.db import models, migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('kassa', '0003_auto_20150812_1530'), + ] + + operations = [ + migrations.AlterField( + model_name='kassaevent', + name='event', + field=models.CharField(max_length=255, choices=[('new_card_membership', 'Added new card membership (no user yet)'), ('sms_card_notify', 'Notified phone number about activation'), ('update_card', 'Updated user card number'), ('add_or_renew', 'Added or renewed user membership'), ('renew_only', 'Renewed user membership')]), + ), + ] diff --git a/apps/kassa/models.py b/apps/kassa/models.py index 171ed5f..2490229 100644 --- a/apps/kassa/models.py +++ b/apps/kassa/models.py @@ -8,11 +8,13 @@ class KassaEvent(models.Model): SMS_CARD_NOTIFY = 'sms_card_notify' UPDATE_CARD = 'update_card' ADD_OR_RENEW = 'add_or_renew' + RENEW_ONLY = 'renew_only' EVENT_CHOICES = ( (NEW_CARD_MEMBERSHIP, _('Added new card membership (no user yet)')), (SMS_CARD_NOTIFY, _('Notified phone number about activation')), (UPDATE_CARD, _('Updated user card number')), - (ADD_OR_RENEW, _('Added or renewed membership user membership')), + (ADD_OR_RENEW, _('Added or renewed user membership')), + (RENEW_ONLY, _('Renewed user membership')), ) event = models.CharField(max_length=255, choices=EVENT_CHOICES) card_number = models.IntegerField(null=True, blank=True) diff --git a/apps/kassa/views.py b/apps/kassa/views.py index c0686a7..b4630a4 100644 --- a/apps/kassa/views.py +++ b/apps/kassa/views.py @@ -155,14 +155,19 @@ def renew_membership(request): return JsonResponse({'error': 'Only method POST supported'}) post_data = json.loads(request.body) + user_id = post_data.get('user_id') + + response = inside_update_membership(user_id, purchased=post_data.get('purchased')) + KassaEvent.objects.create( + event=KassaEvent.RENEW_ONLY, + user_inside_id=user_id + ) - response = inside_update_membership(post_data.get('user_id'), purchased=post_data.get('purchased')) - # TODO: log event return JsonResponse(response.json(), status=response.status_code) def stats_card_sales(request): - sale_events = [KassaEvent.ADD_OR_RENEW, KassaEvent.NEW_CARD_MEMBERSHIP] + sale_events = [KassaEvent.ADD_OR_RENEW, KassaEvent.NEW_CARD_MEMBERSHIP, KassaEvent.RENEW_ONLY] # TODO filter by start HTTP param start_date = timezone.datetime(year=2015, month=8, day=1) diff --git a/static/app/scripts/app.js b/static/app/scripts/app.js index a075de9..0bc3a84 100644 --- a/static/app/scripts/app.js +++ b/static/app/scripts/app.js @@ -169,7 +169,7 @@ function update_submit_button() { _dom.registerSubmitButton.prop('disabled', true); } function updateMemberShipButton(user) { - var today_plus_one_month = moment().subtract(1, 'month').format('YYYY-MM-DD'); + var today_plus_one_month = moment().add(1, 'month').format('YYYY-MM-DD'); /* Existing member with upcoming expiry and card */ if(user && user.is_member === '1' && user.expires <= today_plus_one_month && user.card_number_active !== '') { _dom.membershipSubmitButton.prop('disabled', false); diff --git a/static/dist/scripts/app.js b/static/dist/scripts/app.js index a075de9..0bc3a84 100644 --- a/static/dist/scripts/app.js +++ b/static/dist/scripts/app.js @@ -169,7 +169,7 @@ function update_submit_button() { _dom.registerSubmitButton.prop('disabled', true); } function updateMemberShipButton(user) { - var today_plus_one_month = moment().subtract(1, 'month').format('YYYY-MM-DD'); + var today_plus_one_month = moment().add(1, 'month').format('YYYY-MM-DD'); /* Existing member with upcoming expiry and card */ if(user && user.is_member === '1' && user.expires <= today_plus_one_month && user.card_number_active !== '') { _dom.membershipSubmitButton.prop('disabled', false);