polishing map fixes
[wolnelektury.git] / src / club / payment_methods.py
index 9fddff3..4a596e4 100644 (file)
@@ -32,12 +32,13 @@ class PayU(PaymentMethod):
     def __init__(self, pos_id):
         self.pos_id = pos_id
 
-    def invite_widget(self, schedule):
+    def invite_widget(self, schedule, request):
         return render_to_string(
             'club/payment/payu_invite.html',
             {
                 'schedule': schedule,
-            }
+            },
+            request=request
         )
 
     def initiate(self, request, schedule):
@@ -66,7 +67,7 @@ class PayURe(PaymentMethod):
     def initiate(self, request, schedule):
         return reverse('club_payu_rec_payment', args=[schedule.key])
 
-    def invite_widget(self, schedule):
+    def invite_widget(self, schedule, request):
         from . import forms
         pos = POSS[self.pos_id]
         widget_args = {
@@ -89,13 +90,15 @@ class PayURe(PaymentMethod):
         return render_to_string(
             'payu/rec_widget.html',
             {
+                'schedule': schedule,
                 'form': forms.PayUCardTokenForm(),
                 'pos': POSS[self.pos_id],
                 'widget_args': widget_args,
                 'widget_sig': widget_sig,
-            }
+            },
+            request=request
         )
-    
+
     def pay(self, request, schedule):
         # Create order, put it and see what happens next.
         from .models import PayUOrder
@@ -146,22 +149,25 @@ class PayPal(PaymentMethod):
     is_recurring = True
     is_onetime = False
 
-    def invite_widget(self, schedule):
-        return render_to_string(
-            'club/payment/paypal_invite.html',
-            {
-                'schedule': schedule,
-            }
-        )
+    def invite_widget(self, schedule, request):
+        if settings.PAYPAL_ENABLED:
+            return render_to_string(
+                'club/payment/paypal_invite.html',
+                {
+                    'schedule': schedule,
+                },
+                request=request
+            )
+        else:
+            return ''
     
     def initiate(self, request, schedule):
         app = request.GET.get('app')
         return agreement_approval_url(schedule.amount, schedule.key, app=app)
 
     def pay(self, request, schedule):
-        from datetime import date, timedelta, datetime
-        from pytz import utc
-        tomorrow = datetime(*(date.today() + timedelta(2)).timetuple()[:3], tzinfo=utc)
+        from datetime import date, timedelta, datetime, timezone
+        tomorrow = datetime(*(date.today() + timedelta(2)).timetuple()[:3], tzinfo=timezone.utc)
         any_active = False
         for ba in schedule.billingagreement_set.all():
             active = ba.check_agreement()