-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
#
from hashlib import sha256
from django.conf import settings
updateable = False
def initiate(self, request, schedule):
- return reverse('club_dummy_payment', args=[schedule.key])
+ raise NotImplementedError
class PayU(PaymentMethod):
expiration_reliable = True
slug = 'payu'
name = 'PayU'
- template_name = 'club/payment/payu.html'
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):
class PayURe(PaymentMethod):
slug = 'payu-re'
name = 'PayU recurring'
- template_name = 'club/payment/payu-re.html'
is_recurring = True
expiration_reliable = True
cancellable = True
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 = {
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
class PayPal(PaymentMethod):
slug = 'paypal'
name = 'PayPal'
- template_name = 'club/payment/paypal.html'
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()