def course_progress(request, course_slug): course = get_object_or_404(Course, slug=course_slug) unit_list = get_list_or_404(Unit, course=course) units = [] for u in unit_list: unit = { 'id': u.id, 'title': u.title, 'unittype': u.unittype, 'badge_class': unit_badge_classes[u.unittype], } units.append(unit) is_enrolled = course.students.filter(id=request.user.id).exists() if not is_enrolled: return HttpResponseForbidden(_('You are not enrolled in this course')) show_material = show_material_checker(course, request.user) if not show_material: return HttpResponseForbidden(_('You are enrolled in this course but it has not yet begun') + course.start_date.strftime(' (%d / %m / %Y)')) return render_to_response('courses/progress.html', { 'course': course, 'unit_list': units, 'is_enrolled': is_enrolled, #required due course nav templatetag 'show_material': show_material, 'is_teacher': is_teacher_test(request.user, course), }, context_instance=RequestContext(request))
def course_progress(request, course_slug): course = get_object_or_404(Course, slug=course_slug) unit_list = get_list_or_404(Unit, course=course) units = [] for u in unit_list: unit = { 'id': u.id, 'title': u.title, 'unittype': u.unittype, 'badge_class': unit_badge_classes[u.unittype], } units.append(unit) is_enrolled = course.students.filter(id=request.user.id).exists() if not is_enrolled: return HttpResponseForbidden(_('You are not enrolled in this course')) show_material = show_material_checker(course, request.user) if not show_material: return HttpResponseForbidden( _('You are enrolled in this course but it has not yet begun') + course.start_date.strftime(' (%d / %m / %Y)')) return render_to_response( 'courses/progress.html', { 'course': course, 'unit_list': units, 'is_enrolled': is_enrolled, #required due course nav templatetag 'show_material': show_material, 'is_teacher': is_teacher_test(request.user, course), }, context_instance=RequestContext(request))
def course_overview(request, course_slug): course = get_object_or_404(Course, slug=course_slug) show_material = False if request.user.is_authenticated(): is_enrolled = course.students.filter(id=request.user.id).exists() is_teacher = is_teacher_test(request.user, course) if is_enrolled: show_material = show_material_checker(course, request.user) else: is_enrolled = False is_teacher = False if request.method == 'POST': if not is_enrolled: is_member = course.institutions.is_member(request.user) if not is_member: institutions = [i.name for i in course.institutions.all()] error( request, _(u'Unfortunately, this course is only available for ' u'%(institutions)s. Change your e-mail or contact to a ' u'teacher.') % {'institutions': u", ".join(institutions)}) else: course.students.add(request.user) course.save() success( request, _(u'Congratulations, you have successfully enroll in the course %(course)s' ) % {'course': unicode(course)}) else: course.students.remove(request.user) course.save() success( request, _(u'You have successfully unenroll in the course %(course)s') % {'course': unicode(course)}) return HttpResponseRedirect( reverse('course_overview', args=(course.slug, ))) announcements = Announcement.objects.filter( course=course).order_by('datetime').reverse()[:5] return render_to_response('courses/overview.html', { 'course': course, 'is_enrolled': is_enrolled, 'show_material': show_material, 'is_teacher': is_teacher, 'request': request, 'announcements': announcements, }, context_instance=RequestContext(request))
def course_overview(request, course_slug): course = get_object_or_404(Course, slug=course_slug) show_material = False if request.user.is_authenticated(): is_enrolled = course.students.filter(id=request.user.id).exists() is_teacher = is_teacher_test(request.user, course) if is_enrolled: show_material = show_material_checker(course, request.user) else: is_enrolled = False is_teacher = False if request.method == 'POST': if not is_enrolled: is_member = course.institutions.is_member(request.user) if not is_member: institutions = [i.name for i in course.institutions.all()] error(request, _(u'Unfortunately, this course is only available for ' u'%(institutions)s. Change your e-mail or contact to a ' u'teacher.') % {'institutions': u", ".join(institutions)}) else: course.students.add(request.user) course.save() success(request, _(u'Congratulations, you have successfully enroll in the course %(course)s') % {'course': unicode(course)}) else: course.students.remove(request.user) course.save() success(request, _(u'You have successfully unenroll in the course %(course)s') % {'course': unicode(course)}) return HttpResponseRedirect(reverse('course_overview', args=(course.slug, ))) announcements = Announcement.objects.filter(course=course).order_by('datetime').reverse()[:5] return render_to_response('courses/overview.html', { 'course': course, 'is_enrolled': is_enrolled, 'show_material': show_material, 'is_teacher': is_teacher, 'request': request, 'announcements': announcements, }, context_instance=RequestContext(request))