Adds renewal only event, fixes date logic

This commit is contained in:
nikolark committed 2015-08-18 22:12:41 +02:00
1 parent 91fc24c430
commit eeaed75d54
5 files changed
+32 -6

No files matched your search

@@ -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')]),
),
]
+3 -1
View File
@@ -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)
+8 -3
View File
@@ -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)
+1 -1
View File
@@ -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);
+1 -1
View File
@@ -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);