This repository has been archived by the owner on Jan 31, 2018. It is now read-only.
/
forms.py
50 lines (39 loc) · 1.66 KB
/
forms.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
from django import forms
from fjord.feedback.models import Product
class OccurrencesComparisonForm(forms.Form):
"""Form for denoting parameters for the Occurrences Comparison report"""
product = forms.CharField()
first_version = forms.CharField(required=False)
first_search_term = forms.CharField(required=False)
first_start_date = forms.DateField(help_text='yyyy-mm-dd', required=False)
first_end_date = forms.DateField(help_text='yyyy-mm-dd', required=False)
second_version = forms.CharField(required=False)
second_search_term = forms.CharField(required=False)
second_start_date = forms.DateField(required=False, help_text='yyyy-mm-dd')
second_end_date = forms.DateField(required=False, help_text='yyyy-mm-dd')
def clean(self):
cleaned_data = super(OccurrencesComparisonForm, self).clean()
# User must specify at least one of version, search term or
# start date for the first set otherwise the form is invalid.
required_values = [
cleaned_data.get(key, '') for key in
('first_version', 'first_search_term', 'first_start_date')]
if not any(required_values):
raise forms.ValidationError(
'Must specify at least one of version, search term or start '
'date for first set.')
return cleaned_data
class ProductsUpdateForm(forms.ModelForm):
class Meta:
model = Product
fields = [
'enabled',
'display_name',
'db_name',
'slug',
'on_dashboard',
'on_picker',
'browser',
'browser_data_browser',
'notes'
]