Exemple #1
0
def course_members(request, slug):
    course = get_object_or_404(Course, slug=slug)

    course_member = CourseMember(course=course, start=datetime.today())
    if request.method == "POST":
        form = CourseMemberCreateForm(course, request.POST, instance=course_member)
        if form.is_valid():
            course_member = form.save(commit=False)
            if form.cleaned_data["price"] is not None and form.cleaned_data["expense_group"] is None:
                course_member.create_individual_expense_group(form.cleaned_data["price"])
            else:
                course_member.expense_group = form.cleaned_data["expense_group"]
            course_member.save()
            return HttpResponseRedirect(form.instance.get_absolute_url())
    else:
        form = CourseMemberCreateForm(course, instance=course_member)

    return render_to_response(
        "courses/course_member_list.html",
        {"course": course, "member_list": course.coursemember_set.all(), "create_member": form},
        context_instance=RequestContext(request),
    )
Exemple #2
0
 def testUpdate(self):
     course = Course.objects.get(pk=1)
     member = CourseMember(course=Course.objects.get(pk=1),
                           student=Student.objects.get(pk=1),
                           start='2008-01-01',
                           expense_group=course.expensegroup_set.get(pk=1))
     member.save()
     response = self.client.get(member.get_absolute_url())
     eq_(200, response.status_code)
     
     response = self.client.post(member.get_absolute_url(), {
                 'student':'1', 'start':'2008-01-01', 'end':'2008-12-31', 'expense_group':'1',
                 'testresult_set-TOTAL_FORMS':'1', 'testresult_set-INITIAL_FORMS':'0',
                 'coursememberassessment_set-TOTAL_FORMS':'1', 'coursememberassessment_set-INITIAL_FORMS':'0',
                 'testresult_set-0-test':'1', 'testresult_set-0-points':'100', 'testresult_set-0-date':'2008-01-01',
                 'coursememberassessment_set-0-description':'xxx', 'coursememberassessment_set-0-date':'2008-01-01',
                 })
     self.assertRedirects(response, member.get_absolute_url())
     member = CourseMember.objects.get(pk=member.pk)
     ok_(member.end is not None)
     
     eq_(1, member.testresult_set.count())
     eq_(1, member.coursememberassessment_set.count())