X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/fd1a9915dd65789cccf27041a1f01cd4077273fc..f0c1ca86983a56a80796a10499033304dd3a8c0e:/src/club/payment_methods.py diff --git a/src/club/payment_methods.py b/src/club/payment_methods.py index 9fddff3ff..98c138d8b 100644 --- a/src/club/payment_methods.py +++ b/src/club/payment_methods.py @@ -1,5 +1,5 @@ -# 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 @@ -19,7 +19,7 @@ class PaymentMethod(object): updateable = False def initiate(self, request, schedule): - return reverse('club_dummy_payment', args=[schedule.key]) + raise NotImplementedError class PayU(PaymentMethod): @@ -27,17 +27,17 @@ 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): @@ -54,7 +54,6 @@ class PayU(PaymentMethod): class PayURe(PaymentMethod): slug = 'payu-re' name = 'PayU recurring' - template_name = 'club/payment/payu-re.html' is_recurring = True expiration_reliable = True cancellable = True @@ -66,7 +65,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 +88,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 @@ -142,26 +143,28 @@ class PayURe(PaymentMethod): 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()