Commit 28c271f1c0ef92401abdee0b6c4baa229a5af085

Authored by Felipe Henrique de Almeida Bormann
1 parent fa8acea4

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: