| 123456789101112131415161718192021 |
- from django import forms
-
- from oscar.core.loading import get_class
- GeneratorRepository = get_class('dashboard.reports.utils', 'GeneratorRepository')
-
-
- class ReportForm(forms.Form):
- generators = GeneratorRepository().get_report_generators()
-
- type_choices = []
- for generator in generators:
- type_choices.append((generator.code, generator.description))
- report_type = forms.ChoiceField(widget=forms.Select(), choices=type_choices)
- date_from = forms.DateField()
- date_to = forms.DateField()
- download = forms.BooleanField(required=False)
-
- def clean(self):
- if 'date_from' in self.cleaned_data and 'date_to' in self.cleaned_data and self.cleaned_data['date_from'] > self.cleaned_data['date_to']:
- raise forms.ValidationError("Your start date must be before your end date")
- return self.cleaned_data
|