Esempio n. 1
0
    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']
Esempio n. 2
0
    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']
Esempio n. 3
0
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))