def clean_class_password(self): if 'class_id' in self.cleaned_data: cid = self.cleaned_data['class_id'].upper() course = Course.objects.get(pk=class_id_converter.to_num(cid)) if course.password != self.cleaned_data['class_password']: raise forms.ValidationError('Password is incorrect.') return self.cleaned_data['class_password']
def clean_class_id(self): cid = self.cleaned_data['class_id'].upper() if not cid.isalnum(): raise forms.ValidationError('The class ID should have letters and numbers only.') try: Course.objects.get(pk=class_id_converter.to_num(cid)) except Course.DoesNotExist: raise forms.ValidationError('There is no class with this ID. Double-check your value.') return self.cleaned_data['class_id']
def join(request): if request.method == 'POST': form = JoinCourseForm(request.POST) if form.is_valid(): cid = form.cleaned_data['class_id'].upper() course = Course.objects.get(pk=class_id_converter.to_num(cid)) if course.instructor.id == request.user.id: messages.error(request, "You're already teaching this class!") else: new_enrollment = Student.objects.create(profile=request.user.get_profile(), course=course) new_enrollment.save() return HttpResponseRedirect('/home/') else: form = JoinCourseForm() return render_to_response('join.html', { 'form': form, }, context_instance=RequestContext(request))