assignment: Prevent unhandled error when fields not provided
This typically happens when a bot is submitting the form. This should be a validation error rather than an unhandled exception.
This commit is contained in:
parent
cf359b6a64
commit
05c7ed6647
1 changed files with 6 additions and 5 deletions
|
@ -63,10 +63,11 @@ class AssignmentForm(forms.ModelForm):
|
||||||
]
|
]
|
||||||
|
|
||||||
def clean_period_ends(self):
|
def clean_period_ends(self):
|
||||||
if 'period_begins' in self.cleaned_data and 'period_ends' in self.cleaned_data and self.cleaned_data['period_begins'] and self.cleaned_data['period_ends'] and self.cleaned_data['period_begins'] > self.cleaned_data['period_ends']:
|
period_begins = self.cleaned_data.get('period_begins')
|
||||||
|
period_ends = self.cleaned_data.get('period_ends')
|
||||||
|
period_end_type = self.cleaned_data.get('period_end_type')
|
||||||
|
if period_begins and period_ends and period_begins > period_ends:
|
||||||
raise ValidationError('End of period is before start')
|
raise ValidationError('End of period is before start')
|
||||||
|
if period_end_type == 'a specific past date' and not period_ends:
|
||||||
if self.cleaned_data['period_end_type'] == 'a specific past date' and not self.cleaned_data['period_ends']:
|
|
||||||
raise ValidationError('This field is required')
|
raise ValidationError('This field is required')
|
||||||
|
return period_ends
|
||||||
return self.cleaned_data['period_ends']
|
|
||||||
|
|
Loading…
Reference in a new issue