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 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:
... ...