def index(request): # retrieve all courses, where the user is a participant and that are not new courses = list( set( Course.objects.filter(participants=request.user).exclude( state="new"))) voted_courses = list(set(Course.objects.filter(voters=request.user))) due_courses = list( set( Course.objects.filter( participants=request.user, state='in_evaluation').exclude(voters=request.user))) sorter = lambda course: (list(STUDENT_STATES_ORDERED.keys()).index( course.student_state), course.vote_end_date, course.name) courses.sort(key=sorter) semesters = Semester.objects.all() semester_list = [ dict(semester_name=semester.name, id=semester.id, is_active_semester=semester.is_active_semester, courses=[ course for course in courses if course.semester_id == semester.id ]) for semester in semesters ] template_data = dict( semester_list=semester_list, voted_courses=voted_courses, due_courses=due_courses, can_download_grades=request.user.can_download_grades, ) return render(request, "student_index.html", template_data)
def index(request): # retrieve all courses, where the user is a participant and that are not new courses = list(set(Course.objects.filter(participants=request.user).exclude(state="new"))) voted_courses = list(set(Course.objects.filter(voters=request.user))) due_courses = list(set(Course.objects.filter(participants=request.user, state='inEvaluation').exclude(voters=request.user))) sorter = lambda course: (STUDENT_STATES_ORDERED.keys().index(course.student_state), course.vote_end_date, course.name) courses.sort(key=sorter) semesters = Semester.objects.all() semester_list = [dict(semester_name=semester.name, id=semester.id, courses=[course for course in courses if course.semester_id == semester.id]) for semester in semesters] return render(request, "student_index.html", dict(semester_list=semester_list, voted_courses=voted_courses, due_courses=due_courses))
def studentstatename(state): return STUDENT_STATES_ORDERED.get(state)