2ebe4e58de84f327f0d82ce2ff9ab1d05216dd7c
[wolnelektury.git] / src / club / forms.py
1 # This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
2 # Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
3 #
4 from decimal import Decimal
5 from django import forms
6 from newsletter.forms import NewsletterForm
7 from . import models
8 from .payu.forms import CardTokenForm
9
10
11 class ScheduleForm(NewsletterForm, forms.ModelForm):
12     class Meta:
13         model = models.Schedule
14         fields = ['monthly', 'amount', 'email']
15         widgets = {
16             'amount': forms.HiddenInput,
17             'monthly': forms.HiddenInput,
18         }
19
20     def clean_amount(self):
21         value = self.cleaned_data['amount']
22         club = models.Club.objects.first()
23         if club and value < club.min_amount:
24             raise forms.ValidationError('Minimalna kwota to %d zł.' % club.min_amount)
25         return value
26
27
28 class PayUCardTokenForm(CardTokenForm):
29     def get_queryset(self, view):
30         return view.get_schedule().payucardtoken_set