- self.answer = answer
- self.fields['points'].widget.attrs['max'] = answer.assignment.max_points
-
- def clean_points(self):
- points = self.cleaned_data['points']
- if points > self.answer.assignment.max_points:
- raise forms.ValidationError('Too many points for this assignment')
- if points < 0:
- raise forms.ValidationError('Points cannot be negative')
- return points
+ self.fields['answer_id'].initial = answer.id
+ points_field = self.fields['points']
+ points_field.label = mark_safe(criterion.form_label())
+ points_field.help_text = '(max %s)' % criterion.max_points
+ points_field.min_value = Decimal(0)
+ points_field.max_value = Decimal(criterion.max_points)
+ points_field.widget.attrs['max'] = criterion.max_points