Commit 28c271f1c0ef92401abdee0b6c4baa229a5af085
1 parent
fa8acea4
Exists in
master
and in
3 other branches
errors for simple fields are working but not between them
Showing
1 changed file
with
36 additions
and
14 deletions
Show diff stats
subjects/forms.py
... | ... | @@ -56,31 +56,53 @@ class CreateSubjectForm(forms.ModelForm): |
56 | 56 | |
57 | 57 | return self.instance |
58 | 58 | |
59 | - # def clean(self): | |
60 | - # cleaned_data = super(CreateSubjectForm, self).clean() | |
61 | - # print("este") | |
62 | - # if cleaned_data['subscribe_begin'] > cleaned_data['end_date']: | |
63 | - # self._errors['subscribe_begin'] = [_('Subscribe period should be between course time')] | |
64 | - | |
65 | - # return ValueError | |
66 | - | |
67 | - # return cleaned_data | |
59 | + def clean(self): | |
60 | + cleaned_data = super(CreateSubjectForm, self).clean() | |
61 | + subscribe_begin = cleaned_data.get('subscribe_begin') | |
62 | + end_date = cleaned_data.get('end_date') | |
63 | + if subscribe_begin and end_date: | |
64 | + | |
65 | + if subscribe_begin > end_date: | |
66 | + self._errors['subscribe_begin'] = [_('Subscribe period should be between course time')] | |
67 | + return ValueError | |
68 | + | |
69 | + if cleaned_data['init_date'] > cleaned_data['end_date']: | |
70 | + self._errors['init_date'] = [_('This date must be before end date of the Subject')] | |
71 | + return ValueError | |
72 | + return cleaned_data | |
68 | 73 | |
69 | 74 | def clean_subscribe_begin(self): |
70 | 75 | subscribe_begin = self.cleaned_data['subscribe_begin'] |
71 | - end_date = self.cleaned_data['end_date'] | |
72 | 76 | |
73 | 77 | if subscribe_begin < datetime.datetime.today().date(): |
74 | 78 | self._errors['subscribe_begin'] = [_('this date must be today or after')] |
79 | + return ValueError | |
80 | + | |
81 | + return subscribe_begin | |
82 | + def clean_init_date(self): | |
83 | + init_date = self.cleaned_data['init_date'] | |
84 | + | |
75 | 85 | |
86 | + if init_date < datetime.datetime.today().date(): | |
87 | + self._errors['init_date'] = [_('this date must be today or after')] | |
76 | 88 | return ValueError |
89 | + return init_date | |
77 | 90 | |
78 | - if subscribe_begin > end_date: | |
79 | - self._errors['subscribe_begin'] = [_('Subscribe period should be between course time')] | |
91 | + def clean_end_date(self): | |
92 | + end_date = self.cleaned_data['end_date'] | |
80 | 93 | |
94 | + if end_date < datetime.datetime.today().date(): | |
95 | + self._errors['end_date'] = [_('this date must be today or after')] | |
81 | 96 | return ValueError |
82 | - | |
83 | - return subscribe_begin | |
97 | + return end_date | |
98 | + | |
99 | + def clean_subscribe_end(self): | |
100 | + subscribe_end = self.cleaned_data['subscribe_end'] | |
101 | + | |
102 | + if subscribe_end < datetime.datetime.today().date(): | |
103 | + self._errors['subscribe_end'] = [_('this date must be today or after')] | |
104 | + return ValueError | |
105 | + return subscribe_end | |
84 | 106 | |
85 | 107 | class CreateTagForm(forms.ModelForm): |
86 | 108 | class Meta: | ... | ... |