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,31 +56,53 @@ class CreateSubjectForm(forms.ModelForm): | ||
56 | 56 | ||
57 | return self.instance | 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 | def clean_subscribe_begin(self): | 74 | def clean_subscribe_begin(self): |
70 | subscribe_begin = self.cleaned_data['subscribe_begin'] | 75 | subscribe_begin = self.cleaned_data['subscribe_begin'] |
71 | - end_date = self.cleaned_data['end_date'] | ||
72 | 76 | ||
73 | if subscribe_begin < datetime.datetime.today().date(): | 77 | if subscribe_begin < datetime.datetime.today().date(): |
74 | self._errors['subscribe_begin'] = [_('this date must be today or after')] | 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 | return ValueError | 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 | return ValueError | 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 | class CreateTagForm(forms.ModelForm): | 107 | class CreateTagForm(forms.ModelForm): |
86 | class Meta: | 108 | class Meta: |