X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/1076830cbd3a839d1f332100bf3ac6b1fb24c86a..9c2555ad140dca1c09cde628bd22aac811e05b7e:/src/funding/forms.py diff --git a/src/funding/forms.py b/src/funding/forms.py index f56c08776..e055faf93 100644 --- a/src/funding/forms.py +++ b/src/funding/forms.py @@ -4,14 +4,18 @@ from django import forms from django.utils import formats from django.utils.safestring import mark_safe -from django.utils.translation import ugettext_lazy as _, ugettext, get_language +from django.utils.translation import gettext_lazy as _, gettext, get_language from newsletter.forms import NewsletterForm +from club.payment_methods import PayU from .models import Funding from .widgets import PerksAmountWidget from . import app_settings +payment_method = PayU(app_settings.PAYU_POS) + + class FundingForm(NewsletterForm): required_css_class = 'required' @@ -32,6 +36,7 @@ adres e-mail zostanie wykorzystany także w celu przesyłania newslettera Wolnyc def __init__(self, request, offer, *args, **kwargs): self.offer = offer self.user = request.user if request.user.is_authenticated else None + self.client_ip = request.META['REMOTE_ADDR'] super(FundingForm, self).__init__(*args, **kwargs) self.fields['amount'].widget.form_instance = self @@ -41,13 +46,13 @@ adres e-mail zostanie wykorzystany także w celu przesyłania newslettera Wolnyc if isinstance(min_amount, float): min_amount = formats.number_format(min_amount, 2) raise forms.ValidationError( - ugettext("The minimum amount is %(amount)s PLN.") % { + gettext("The minimum amount is %(amount)s PLN.") % { 'amount': min_amount}) return self.cleaned_data['amount'] def clean(self): if not self.offer.is_current(): - raise forms.ValidationError(ugettext("This offer is out of date.")) + raise forms.ValidationError(gettext("This offer is out of date.")) return self.cleaned_data def save(self): @@ -59,6 +64,8 @@ adres e-mail zostanie wykorzystany także w celu przesyłania newslettera Wolnyc amount=self.cleaned_data['amount'], language_code=get_language(), user=self.user, + pos_id=payment_method.pos_id, + customer_ip=self.client_ip, ) funding.perks.set(funding.offer.get_perks(funding.amount)) return funding