| 12345678910111213141516171819202122232425262728293031323334 |
- from django import forms
- from django.utils.translation import ugettext_lazy as _
-
- 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,
- label=_("Report Type"),
- help_text=_("Only the offer and order"
- " reports use the selected"
- " date range"))
-
- date_from = forms.DateField(label=_("Date from"))
- date_to = forms.DateField(label=_("Date to"),
- help_text=_("The report is inclusive of this"
- " date"))
- download = forms.BooleanField(label=_("Download"), 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
|