self.referer = referer
super().__init__(*args, **kwargs)
club = models.Club.objects.first()
+ if self.instance.is_custom_amount():
+ self.fields['custom_amount'].initial = int(self.instance.amount)
if club is not None:
self.fields['custom_amount'].widget.attrs['min'] = club.min_amount
return state
def save(self, *args, **kwargs):
- self.instance.source = self.referer
+ if self.referer is not None:
+ self.instance.source = self.referer
return super().save(*args, **kwargs)
model = models.Schedule
fields = [
'first_name', 'last_name',
- 'email', 'phone',
- 'postal',
- 'postal_code', 'postal_town', 'postal_country',
+ 'email',
]
widgets = {
'amount': forms.HiddenInput,
def __init__(self, **kwargs):
super().__init__(**kwargs)
- self.fields['first_name'].required = True
- self.fields['last_name'].required = True
- self.fields['phone'].required = True
-
self.consent = []
for c in models.Consent.objects.filter(active=True).order_by('order'):
key = f'consent{c.id}'
- self.fields[key] = forms.BooleanField(
- label=c.text,
- required=c.required
- )
+ if not c.required:
+ self.fields[key] = forms.BooleanField(
+ label=c.text,
+ required=c.required
+ )
self.consent.append((
c, key, (lambda k: lambda: self[k])(key)
))