Source code for payments.forms

from django import forms
from django.utils.translation import gettext as _

from payments.models import BankAccount, Payment
from payments.widgets import SignatureWidget


[docs]class BankAccountForm(forms.ModelForm): """Custom admin form for BankAccount model to add the widget for the signature.""" direct_debit = forms.BooleanField( required=False, label=_("I want to use this account for direct debits") )
[docs] class Meta: fields = ( "initials", "last_name", "iban", "bic", "signature", "valid_from", "mandate_no", "owner", ) model = BankAccount
[docs]class BankAccountUserRevokeForm(forms.ModelForm): """Custom form for members to revoke their bank account."""
[docs] def is_valid(self): return super().is_valid() and self.instance.can_be_revoked
[docs] class Meta: fields = ("valid_until",) model = BankAccount
[docs]class BankAccountAdminForm(forms.ModelForm): """Custom admin form for BankAccount model to add the widget for the signature."""
[docs] class Meta: fields = "__all__" model = BankAccount widgets = { "signature": SignatureWidget(), }
[docs]class PaymentCreateForm(forms.Form): """Custom form to create a payment by a user.""" app_label = forms.CharField(max_length=255, widget=forms.HiddenInput()) model_name = forms.CharField(max_length=255, widget=forms.HiddenInput()) payable = forms.CharField(max_length=255, widget=forms.HiddenInput()) next = forms.CharField(max_length=255, widget=forms.HiddenInput())
[docs] class Meta: fields = "__all__"
[docs]class BatchPaymentInlineAdminForm(forms.ModelForm): """Custom admin form for Payments model for the Batch inlines to add remove from batch option.""" remove_batch = forms.BooleanField( required=False, label=_("Remove payment from batch") )
[docs] class Meta: fields = ( "topic", "paid_by", "amount", "created_at", "notes", ) model = Payment