Commit 81e658afac1425b8117fc93505608c222940b2af
1 parent
3be7ec9d
Exists in
master
and in
3 other branches
end_date and init_date of reportForm created
Showing
2 changed files
with
14 additions
and
1 deletions
Show diff stats
reports/forms.py
... | ... | @@ -20,6 +20,18 @@ class CreateInteractionReportForm(forms.Form): |
20 | 20 | |
21 | 21 | initial = kwargs['initial'] |
22 | 22 | topics = list(initial['topic']) |
23 | - | |
23 | + self.subject = initial['subject'] #so we can check date cleaned data | |
24 | 24 | self.fields['topic'].choices = [(topic.id, topic.name) for topic in topics] |
25 | 25 | self.fields['topic'].choices.append((_("All"), _("All"))) |
26 | + | |
27 | + def clean_init_date(self): | |
28 | + init_date = self.cleaned_data.get('init_date') | |
29 | + if init_date < self.subject.init_date: | |
30 | + self._errors['init_date'] = [_('This date should be right or after ' + str(self.subject.init_date) + ', which is when the subject started. ')] | |
31 | + return init_date | |
32 | + | |
33 | + def clean_end_date(self): | |
34 | + end_date = self.cleaned_data.get('init_date') | |
35 | + if end_date > self.subject.init_date: | |
36 | + self._errors['end_date'] = [_('This date should be right or before ' + str(self.subject.init_date) + ', which is when the subject finishes. ')] | |
37 | + return end_date | |
26 | 38 | \ No newline at end of file | ... | ... |
reports/views.py
... | ... | @@ -30,6 +30,7 @@ class ReportView(LoginRequiredMixin, generic.FormView): |
30 | 30 | params = self.request.GET |
31 | 31 | subject = Subject.objects.get(id=params['subject_id']) |
32 | 32 | topics = subject.topic_subject.all() |
33 | + initial['subject'] = subject | |
33 | 34 | initial['topic'] = topics |
34 | 35 | initial['end_date'] = date.today() |
35 | 36 | return initial | ... | ... |