Change donation form
[wolnelektury.git] / src / club / views.py
index 1ae16ce..a55f284 100644 (file)
@@ -4,7 +4,7 @@
 from django.conf import settings
 from django.contrib.auth.decorators import login_required, permission_required
 from django.db.models import Sum
-from django.http import HttpResponse, HttpResponseRedirect
+from django.http import HttpResponse, HttpResponseRedirect, JsonResponse
 from django.shortcuts import get_object_or_404, render
 from django.urls import reverse
 from django.utils.decorators import method_decorator
@@ -59,6 +59,17 @@ class DonationStep2(UpdateView):
         return c
 
 
+def set_monthly(request, key):
+    schedule = get_object_or_404(models.Schedule, payed_at=None, key=key)
+    if request.POST:
+        schedule.monthly = True
+        schedule.save(update_fields=['monthly'])
+    return JsonResponse({
+        "amount": schedule.amount,
+        "monthly": schedule.monthly,
+    })
+    
+
 class JoinView(CreateView):
     form_class = forms.DonationStep1Form
     template_name = 'club/donation_step1.html'
@@ -254,12 +265,15 @@ def member_verify(request):
 @permission_required('club.schedule_view')
 def receipt(request):
     email = request.POST.get('email')
-    year = int(request.POST.get('year'))
+    try:
+        year = int(request.POST.get('year'))
+    except:
+        return HttpResponse('no content')
 
     receipt = models.PayUOrder.generate_receipt(email, year)
     if receipt:
         content, optout, payments = receipt
-    if not content:
+    else:
         return HttpResponse('no content')
     return HttpResponse(
         content,