コード例 #1
0
ファイル: __init__.py プロジェクト: wannaphong/blockpy-server
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
コード例 #2
0
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
コード例 #3
0
ファイル: courses.py プロジェクト: awfssv/Blockpy-Server
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)
コード例 #4
0
ファイル: courses.py プロジェクト: awfssv/Blockpy-Server
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)
コード例 #5
0
ファイル: courses.py プロジェクト: awfssv/Blockpy-Server
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)
コード例 #6
0
ファイル: courses.py プロジェクト: awfssv/Blockpy-Server
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)