def load_user(): if current_user.is_authenticated: g.user = current_user if 'lti_course' in session: g.course = Course.by_id(session['lti_course']) else: g.user = None
def load_user(): if current_user.is_authenticated(): g.user = current_user if 'lti_course' in session: g.course = Course.by_id(session['lti_course']) else: g.user = None
def view_assignments(course_id): #TODO: ensure in course course = Course.by_id(course_id) assignments = Assignment.by_course(course_id) groups = AssignmentGroup.by_course(course_id) return render_template('courses/view_assignments.html', assignments=assignments, groups=groups, course=course, course_id=course_id)
def submissions_filter(course_id): ''' List all the users in the course ''' is_grader = g.user.is_grader(int(course_id)) if not is_grader: return "You are not an instructor or TA in this course!" course_id = int(course_id) course = Course.by_id(course_id) students = natsorted(course.get_students(), key=lambda r: r.name()) assignments = natsorted([a for a, m in course.get_submitted_assignments()], key=lambda r: r.name) criteria = request.values.get("criteria", "none") search_key = int(request.values.get("search_key", "-1")) submissions = [] if criteria == "student": all_subs = Submission.by_student(search_key, course_id) all_subs = {s[0].assignment_id: s for s in all_subs} submissions = [all_subs.get(assignment.id, (None, None, assignment)) for assignment in assignments] elif criteria == "assignment": all_subs = Submission.by_assignment(search_key, course_id) all_subs = {s[0].user_id: s for s in all_subs} submissions = [all_subs.get(student.id, (None, student, None)) for student in students] return render_template('courses/submissions_filter.html', course_id=course_id, assignments=assignments, students=students, submissions= submissions, criteria = criteria, search_key = search_key, is_instructor=is_grader)
def manage_users(course_id): ''' List all the users in the course ''' is_instructor = g.user.is_instructor(int(course_id)) students = Course.by_id(int(course_id)).get_users() return render_template('courses/manage_users.html', students=students, course_id=course_id, is_instructor=is_instructor)
def submissions_grid(course_id): ''' List all the users in the course ''' course_id = int(course_id) is_instructor = g.user.is_instructor(course_id) if not is_instructor: return "You are not an instructor!" course = Course.by_id(course_id) students = course.get_students() assignments = natsorted(course.get_submitted_assignments(), key=lambda r: r[0].name) grouped_assignments = defaultdict(list) for assig_pair in assignments: assignment, membership = assig_pair grouped_assignments[membership.assignment_group_id].append(assignment) assignment_groups = course.get_assignment_groups() submissions = { (s.assignment_id, s.user_id) :s for s in course.get_submissions()} return render_template('courses/submissions_grid.html', course_id=course_id, students=students, submissions=submissions, assignment_groups= assignment_groups, grouped_assignments= grouped_assignments, is_instructor=is_instructor)