|
|
|
@ -27,8 +27,14 @@ class BaseDateFilter(forms.Form): |
|
|
|
date_end = forms.DateField(label=_(u'Дата окончания'), input_formats=['%Y-%m-%d', '%d.%m.%Y'], required=False) |
|
|
|
date_end = forms.DateField(label=_(u'Дата окончания'), input_formats=['%Y-%m-%d', '%d.%m.%Y'], required=False) |
|
|
|
|
|
|
|
|
|
|
|
def clean(self): |
|
|
|
def clean(self): |
|
|
|
if not self.cleaned_data['date_begin'] and self.cleaned_data['date_end']: |
|
|
|
date_begin = self.cleaned_data['date_begin'] |
|
|
|
self.cleaned_data['date_begin'] = self.cleaned_data['date_end'] - timedelta(days=14) |
|
|
|
date_end = self.cleaned_data['date_end'] |
|
|
|
|
|
|
|
if not date_begin and date_end: |
|
|
|
|
|
|
|
self.cleaned_data['date_begin'] = date_end - timedelta(days=14) |
|
|
|
|
|
|
|
elif date_begin and date_end and date_begin >= date_end: |
|
|
|
|
|
|
|
raise forms.ValidationError( |
|
|
|
|
|
|
|
_(u'Дата начала должна быть меньше даты окончания.'), |
|
|
|
|
|
|
|
code='invalid') |
|
|
|
return self.cleaned_data |
|
|
|
return self.cleaned_data |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -70,10 +76,10 @@ class EventsParamsFilter(forms.Form): |
|
|
|
tag = forms.TypedMultipleChoiceField(label=_(u'Тег'), required=False, coerce=int) |
|
|
|
tag = forms.TypedMultipleChoiceField(label=_(u'Тег'), required=False, coerce=int) |
|
|
|
|
|
|
|
|
|
|
|
def __init__(self, *args, **kwargs): |
|
|
|
def __init__(self, *args, **kwargs): |
|
|
|
country_choices = kwargs.pop('country_choices') |
|
|
|
country_choices = kwargs.pop('country_choices', []) |
|
|
|
city_choices = kwargs.pop('city_choices') |
|
|
|
city_choices = kwargs.pop('city_choices', []) |
|
|
|
theme_choices = kwargs.pop('theme_choices') |
|
|
|
theme_choices = kwargs.pop('theme_choices', []) |
|
|
|
tag_choices = kwargs.pop('tag_choices') |
|
|
|
tag_choices = kwargs.pop('tag_choices', []) |
|
|
|
|
|
|
|
|
|
|
|
super(EventsParamsFilter, self).__init__(*args, **kwargs) |
|
|
|
super(EventsParamsFilter, self).__init__(*args, **kwargs) |
|
|
|
|
|
|
|
|
|
|
|
|