def course_reviews(request, course_slug, kq_id=None, ignore_langs=False): course = get_course_if_user_can_view_or_404(course_slug, request) is_enrolled = course.students.filter(id=request.user.id).exists() if not is_enrolled: messages.error(request, _('You are not enrolled in this course')) return HttpResponseRedirect(reverse('course_overview', args=[course_slug])) is_ready, ask_admin, is_outdated = is_course_ready(course) is_teacher = is_teacher_test(request.user, course) if not is_ready and not is_teacher and not request.user.is_staff and not request.user.is_superuser: return render_to_response('courses/no_content.html', { 'course': course, 'is_enrolled': is_enrolled, 'ask_admin': ask_admin, }, context_instance=RequestContext(request)) assignments = course_get_visible_peer_review_assignments(request.user, course) collection = get_db().get_collection('peer_review_submissions') submissions = collection.find({ 'author': request.user.id, 'course': course.id, }, {'kq': True, '_id': False}) submissions = [s['kq'] for s in submissions] user_submissions = [a.id for a in assignments if a.kq.id in submissions] tasks = get_tasks_available_for_user(course, request.user) group = get_group_by_user_and_course(request.user.id, course.id) return render_to_response('peerreview/reviews.html', { 'course': course, 'assignments': assignments, 'user_submissions': user_submissions, 'kq_id': kq_id, 'ignore_langs': ignore_langs, 'is_enrolled': is_enrolled, 'is_ready': is_ready, 'is_outdated': is_outdated, 'can_review': date.today() < course.end_date+timedelta(days=14), 'task_list': tasks[0], 'tasks_done': tasks[1], 'progress': get_course_progress_for_user(course, request.user), 'passed': has_user_passed_course(request.user, course), 'group': group, }, context_instance=RequestContext(request))
def profile_courses(request, id, byid=False): if(not id): if(not request.user.id): return HttpResponseRedirect("/auth/login") user = request.user id = request.user.id else: if byid: user = User.objects.get(pk=id) else: user = User.objects.get(username=id) id = user.id case = _getCase(request,id) courses = get_courses_user_is_enrolled(user) courses_completed = 0 for course in courses: if request.user.is_authenticated(): course.is_enrolled = course.students.filter(id=user.id).exists() course.is_teacher = is_teacher_test(user, course) course.progress = get_course_progress_for_user(course, user) if course.progress == 100: courses_completed +=1 course.has_passed = has_user_passed_course(user, course) else: course.is_enrolled = False course.is_teacher = False return render_to_response('profile/courses.html', { "id":id, "case":case, 'request': request, 'courses': courses, 'courses_completed': courses_completed, "user_view_profile": user, "badges_count": get_db().get_collection('badge').find({"id_user": id}).count() }, context_instance=RequestContext(request))
def courses_by_users(request,id): result = [] try: user = User.objects.get(userprofile__sub=id) for coursestudent in user.coursestudent_set.all(): course = Course.objects.get(id=coursestudent.course_id) current_pill = course.get_user_mark(user) dates_info = get_course_activity_dates_for_user(course, user) course_result = { "id": str(course.id), "progressPercentage" : get_course_progress_for_user(course, user), } if "enrollDate" in dates_info: course_result["firstViewDate"] = dates_info["enrollDate"].isoformat() if "lastViewDate" in dates_info: course_result["lastViewDate"] = dates_info["lastViewDate"].isoformat() if current_pill: course_result["currentPill"] = current_pill.order result.append(course_result) except ObjectDoesNotExist: pass return HttpResponse(simplejson.dumps(result), mimetype='application/json')