def assignment_submit(assignments_id):
    """
    Student submit assignment
    :param assignments_id:
    :return:
    """
    assignment = Assignment.get_by_id(assignments_id)
    submit = Submition.get_submit(
        user_session(session['user'], session['type']).id, assignments_id)
    if request.method == "POST":
        content = request.form['content']
        if assignment.type == 'group':
            team_id = user_session(session['user'], session['type']).team_id
            team = Team.get_by_id(team_id)
            team_members = team.get_members()
            for student in team_members:
                submit = Submition.get_submit(student.id, assignments_id)
                submit.change_content(content)
        else:
            submit.change_content(content)
        return redirect(
            url_for('assignment_controller.view_assignments',
                    assignments_id=assignments_id))

    return render_template('stud-submit.html',
                           user=user_session(session['user'], session['type']),
                           assignment=assignment,
                           submit=submit)
示例#2
0
def edit_team(team_id):
    """
    Return team_form.html with team basing on given team_id
    POST: Edit team with given values in request.form['name'] and redirect user to list-teams definition.
    :param team_id: team id in database
    """
    team = Team.get_by_id(team_id)
    if request.method == 'POST':
        team.name = request.form['name']
        team.edit_team()
        flash('Team was edited')
        return redirect(url_for('team_controller.list_teams'))
    return render_template('team_form.html',
                           user=user_session(session['user'], session['type']),
                           team=team)
def grade_user_assignments(username):
    """
    Grade assignment of user if you are mentor
    :param username:
    :return:
    """
    if request.method == "POST":

        if request.form['grade_user'] == 'grade':
            assignment_id = request.form['assignment']
            student_id = request.form['id']
            assignment = Assignment.get_by_id(assignment_id)
            student = Student.get_by_id(student_id)
            student_submit = Submition.get_submit(student_id, assignment_id)
            return render_template('grade_user_assignments.html',
                                   user=user_session(session['user'],
                                                     session['type']),
                                   student=student,
                                   assignment=assignment,
                                   student_submit=student_submit)
        elif request.form['grade_user'] == 'Save':
            submit_id = request.form['submit_id']
            new_grade = request.form['new_grade']
            assignment_id = request.form['assignment_id']
            assignment = Assignment.get_by_id(assignment_id)
            submit = Submition.get_by_id(submit_id)
            if assignment.type == 'group':
                team_id = Student.get_by_id(submit.student_id).team_id
                team = Team.get_by_id(team_id)
                team_members = team.get_members()
                for student in team_members:
                    submit = Submition.get_submit(student.id, assignment_id)
                    submit.update_grade(new_grade)
            else:
                submit.update_grade(new_grade)
            return redirect(
                url_for('assignment_controller.grade_assignment',
                        assignmentID=assignment_id))
    return render_template('404.html',
                           user=user_session(session['user'], session['type']))
示例#4
0
def delete_team(team_id):
    """Delete from database team by given id in team_id"""
    team = Team.get_by_id(team_id)
    team.delete_team()
    flash('Team was deleted')
    return redirect(url_for('team_controller.list_teams'))